@vibesdotdev/logging 0.0.1 → 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 (700) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +89 -54
  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 +311 -228
  589. package/SPEC.md +0 -65
  590. package/dist/contexts/audit.d.ts +0 -34
  591. package/dist/contexts/audit.d.ts.map +0 -1
  592. package/dist/contexts/audit.js +0 -13
  593. package/dist/contexts/audit.js.map +0 -1
  594. package/dist/formatters/index.d.ts +0 -7
  595. package/dist/formatters/index.d.ts.map +0 -1
  596. package/dist/formatters/index.js +0 -8
  597. package/dist/formatters/index.js.map +0 -1
  598. package/dist/formatters/pretty/pretty.impl.cli.d.ts.map +0 -1
  599. package/dist/formatters/pretty/pretty.impl.cli.js.map +0 -1
  600. package/dist/kinds/logger.contracts.d.ts +0 -16
  601. package/dist/kinds/logger.contracts.d.ts.map +0 -1
  602. package/dist/kinds/logger.contracts.js +0 -9
  603. package/dist/kinds/logger.contracts.js.map +0 -1
  604. package/dist/kinds/output.contracts.d.ts +0 -50
  605. package/dist/kinds/output.contracts.d.ts.map +0 -1
  606. package/dist/kinds/output.contracts.js +0 -10
  607. package/dist/kinds/output.contracts.js.map +0 -1
  608. package/dist/logging.cli.plugin.d.ts.map +0 -1
  609. package/dist/logging.cli.plugin.js +0 -39
  610. package/dist/logging.cli.plugin.js.map +0 -1
  611. package/dist/outputs/index.d.ts +0 -7
  612. package/dist/outputs/index.d.ts.map +0 -1
  613. package/dist/outputs/index.js +0 -8
  614. package/dist/outputs/index.js.map +0 -1
  615. package/dist/sinks/buffer/buffer.impl.cli.d.ts.map +0 -1
  616. package/dist/sinks/buffer/buffer.impl.cli.js +0 -34
  617. package/dist/sinks/buffer/buffer.impl.cli.js.map +0 -1
  618. package/dist/sinks/console/console.impl.cli.d.ts.map +0 -1
  619. package/dist/sinks/console/console.impl.cli.js.map +0 -1
  620. package/dist/sinks/stdout/stdout.impl.cli.d.ts.map +0 -1
  621. package/dist/sinks/stdout/stdout.impl.cli.js +0 -21
  622. package/dist/sinks/stdout/stdout.impl.cli.js.map +0 -1
  623. package/src/audit/audit.descriptor.ts +0 -45
  624. package/src/audit/audit.storage.schema.ts +0 -57
  625. package/src/audit/index.ts +0 -8
  626. package/src/cli/logs.descriptor.ts +0 -19
  627. package/src/cli/logs.list.descriptor.ts +0 -28
  628. package/src/cli/logs.list.impl.ts +0 -93
  629. package/src/cli/logs.rotate.descriptor.ts +0 -40
  630. package/src/cli/logs.rotate.impl.ts +0 -61
  631. package/src/cli/logs.search.descriptor.ts +0 -61
  632. package/src/cli/logs.search.impl.ts +0 -173
  633. package/src/cli/logs.tail.descriptor.ts +0 -49
  634. package/src/cli/logs.tail.impl.ts +0 -105
  635. package/src/cli/logs.view.descriptor.ts +0 -57
  636. package/src/cli/logs.view.impl.ts +0 -108
  637. package/src/cli/types.ts +0 -59
  638. package/src/contexts/audit.ts +0 -36
  639. package/src/contexts/fallback-logger.ts +0 -80
  640. package/src/contexts/index.ts +0 -23
  641. package/src/contexts/logger.ts +0 -119
  642. package/src/core/index.ts +0 -32
  643. package/src/core/logger.ts +0 -150
  644. package/src/core/namespace.ts +0 -195
  645. package/src/core/parsing.ts +0 -21
  646. package/src/core/types.ts +0 -82
  647. package/src/docs/levels.docs.descriptor.ts +0 -344
  648. package/src/docs/structured.docs.descriptor.ts +0 -444
  649. package/src/docs/transports.docs.descriptor.ts +0 -428
  650. package/src/formatters/index.ts +0 -6
  651. package/src/formatters/json/json.formatters.descriptor.ts +0 -25
  652. package/src/formatters/json/json.impl.ts +0 -41
  653. package/src/formatters/json5/json5.descriptor.ts +0 -25
  654. package/src/formatters/json5/json5.impl.ts +0 -43
  655. package/src/formatters/jsonl/jsonl.descriptor.ts +0 -26
  656. package/src/formatters/jsonl/jsonl.impl.ts +0 -39
  657. package/src/formatters/pretty/pretty.descriptor.ts +0 -26
  658. package/src/formatters/pretty/pretty.impl.cli.ts +0 -101
  659. package/src/index.ts +0 -190
  660. package/src/kinds/audit.ts +0 -169
  661. package/src/kinds/contexts.ts +0 -22
  662. package/src/kinds/formatter.ts +0 -117
  663. package/src/kinds/index.ts +0 -25
  664. package/src/kinds/logger.contracts.ts +0 -17
  665. package/src/kinds/logger.impl.ts +0 -206
  666. package/src/kinds/logger.ts +0 -46
  667. package/src/kinds/logger.utils.ts +0 -91
  668. package/src/kinds/output.contracts.ts +0 -54
  669. package/src/kinds/output.impl.ts +0 -118
  670. package/src/kinds/output.ts +0 -59
  671. package/src/kinds/output.types.ts +0 -105
  672. package/src/kinds/sink.ts +0 -100
  673. package/src/logger.context.descriptor.ts +0 -13
  674. package/src/logging.cli.plugin.ts +0 -43
  675. package/src/logging.plugin.ts +0 -93
  676. package/src/outputs/index.ts +0 -6
  677. package/src/outputs/remote/remote.descriptor.ts +0 -27
  678. package/src/outputs/remote/remote.impl.ts +0 -218
  679. package/src/outputs.context.descriptor.ts +0 -10
  680. package/src/outputs.context.impl.ts +0 -30
  681. package/src/paths.ts +0 -10
  682. package/src/schemas/audit.ts +0 -98
  683. package/src/schemas/entry.ts +0 -88
  684. package/src/schemas/formatter.ts +0 -37
  685. package/src/schemas/index.ts +0 -80
  686. package/src/schemas/logger.ts +0 -38
  687. package/src/schemas/output.ts +0 -62
  688. package/src/schemas/sink.ts +0 -39
  689. package/src/sinks/buffer/buffer.descriptor.ts +0 -13
  690. package/src/sinks/buffer/buffer.impl.cli.ts +0 -49
  691. package/src/sinks/console/console.descriptor.ts +0 -20
  692. package/src/sinks/console/console.impl.browser.ts +0 -69
  693. package/src/sinks/console/console.impl.cli.ts +0 -71
  694. package/src/sinks/index.ts +0 -8
  695. package/src/sinks/memory/memory.descriptor.ts +0 -20
  696. package/src/sinks/memory/memory.impl.ts +0 -119
  697. package/src/sinks/stdout/stdout.descriptor.ts +0 -13
  698. package/src/sinks/stdout/stdout.impl.cli.ts +0 -27
  699. package/src/sinks.context.descriptor.ts +0 -10
  700. package/src/sinks.context.impl.ts +0 -30
package/dist/host.d.ts ADDED
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @vibesdotdev/logging/host
3
+ *
4
+ * The portable contract host packages implement (C092). It carries the
5
+ * descriptors, schemas and types a host's file outputs, sinks and audit
6
+ * loggers need, plus the portable pieces they compose (the JSONL formatter,
7
+ * audit entry shaping, the fallback logger, the captured logging config and
8
+ * resource tracking). It holds no host code: no `node:`/`bun:` import and no
9
+ * `Bun` global. `./host-files` is its base implementation over a host's file
10
+ * primitives; each runtime-environment host registers it with its own.
11
+ */
12
+ export { FILE_OUTPUT_ID, type FileOutputDescriptor, type FileOutputImplementation, type AppendedFileRotation, type AppendedFileRotationPolicy } from './kinds/file-output.ts';
13
+ export type { OutputImplementation, OutputBackendFactory, OutputContext, OutputReadOptions, OutputTailOptions, TailHandle, OutputStats } from './kinds/output.types.ts';
14
+ export { DefaultOutputImplementation } from './kinds/output.impl.ts';
15
+ export type { SinkImplementation, SinkContext } from './kinds/sink.ts';
16
+ export type { FormatterImplementation } from './kinds/formatter.ts';
17
+ export { buildAuditEntry, type AuditImplementation, type AuditContext, type AuditLogInput, type AuditQueryOptions } from './kinds/audit.ts';
18
+ export { fileOutputDescriptor } from './outputs/file/file.outputs.descriptor.ts';
19
+ export { fileSinkDescriptor } from './sinks/file/file.sinks.descriptor.ts';
20
+ export { default as stdoutCaptureOutputDescriptor } from './stdout-capture/stdout-capture.output.descriptor.ts';
21
+ export { ALL_AUDIT_DESCRIPTORS } from './audit/audit.descriptor.ts';
22
+ export { auditRetentionJobDescriptor } from './audit/audit-retention.job.descriptor.ts';
23
+ export { AuditRetentionJob } from './audit/audit-retention.job.impl.ts';
24
+ export { OutputDescriptorSchema, type OutputDescriptor, type OutputRotation, type OutputBuffering } from './schemas/output.ts';
25
+ export { resolveOutputRotation, resolveOutputBuffering } from './schemas/output-defaults.ts';
26
+ export { resolveFileOutputRotation } from './config/file-rotation.ts';
27
+ export { SinkDescriptorSchema, type SinkDescriptor } from './schemas/sink.ts';
28
+ export { RuntimeLogEntrySchema, type RuntimeLogEntry, type LogContext } from './schemas/entry.ts';
29
+ export { AuditDescriptorSchema, AuditEntrySchema, auditSeverityMeets, type AuditDescriptor, type AuditEntry, type AuditSeverity } from './schemas/audit.ts';
30
+ export { default as JsonlFormatter } from './formatters/jsonl/jsonl.impl.ts';
31
+ export { default as jsonlFormatterDescriptor } from './formatters/jsonl/jsonl.descriptor.ts';
32
+ export { createFallbackLogger } from './contexts/fallback-logger.ts';
33
+ export { LoggedErrorSchema, type LoggedError } from './core/redact.ts';
34
+ export { trackLoggingResource, untrackLoggingResource } from './core/output-resources.ts';
35
+ export { captureLoggingConfig, getCapturedLoggingConfig } from './config/load-config.ts';
36
+ export { parseSize, parseDuration } from './core/parsing.ts';
37
+ export { attempt, attemptSync, isMissingPath, type Attempt, type Failure } from './core/attempt.ts';
38
+ //# sourceMappingURL=host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EACN,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EACX,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACvE,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EACN,eAAe,EACf,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,sDAAsD,CAAC;AAChH,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAGxE,OAAO,EAAE,sBAAsB,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC/H,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EACN,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/host.js ADDED
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @vibesdotdev/logging/host
3
+ *
4
+ * The portable contract host packages implement (C092). It carries the
5
+ * descriptors, schemas and types a host's file outputs, sinks and audit
6
+ * loggers need, plus the portable pieces they compose (the JSONL formatter,
7
+ * audit entry shaping, the fallback logger, the captured logging config and
8
+ * resource tracking). It holds no host code: no `node:`/`bun:` import and no
9
+ * `Bun` global. `./host-files` is its base implementation over a host's file
10
+ * primitives; each runtime-environment host registers it with its own.
11
+ */
12
+ // Typed file-output contract
13
+ export { FILE_OUTPUT_ID } from "./kinds/file-output.js";
14
+ export { DefaultOutputImplementation } from "./kinds/output.impl.js";
15
+ export { buildAuditEntry } from "./kinds/audit.js";
16
+ // Descriptors
17
+ export { fileOutputDescriptor } from "./outputs/file/file.outputs.descriptor.js";
18
+ export { fileSinkDescriptor } from "./sinks/file/file.sinks.descriptor.js";
19
+ export { default as stdoutCaptureOutputDescriptor } from "./stdout-capture/stdout-capture.output.descriptor.js";
20
+ export { ALL_AUDIT_DESCRIPTORS } from "./audit/audit.descriptor.js";
21
+ export { auditRetentionJobDescriptor } from "./audit/audit-retention.job.descriptor.js";
22
+ export { AuditRetentionJob } from "./audit/audit-retention.job.impl.js";
23
+ // Schemas and rotation defaults
24
+ export { OutputDescriptorSchema } from "./schemas/output.js";
25
+ export { resolveOutputRotation, resolveOutputBuffering } from "./schemas/output-defaults.js";
26
+ export { resolveFileOutputRotation } from "./config/file-rotation.js";
27
+ export { SinkDescriptorSchema } from "./schemas/sink.js";
28
+ export { RuntimeLogEntrySchema } from "./schemas/entry.js";
29
+ export { AuditDescriptorSchema, AuditEntrySchema, auditSeverityMeets } from "./schemas/audit.js";
30
+ // Portable pieces a host composes
31
+ export { default as JsonlFormatter } from "./formatters/jsonl/jsonl.impl.js";
32
+ export { default as jsonlFormatterDescriptor } from "./formatters/jsonl/jsonl.descriptor.js";
33
+ export { createFallbackLogger } from "./contexts/fallback-logger.js";
34
+ export { LoggedErrorSchema } from "./core/redact.js";
35
+ export { trackLoggingResource, untrackLoggingResource } from "./core/output-resources.js";
36
+ export { captureLoggingConfig, getCapturedLoggingConfig } from "./config/load-config.js";
37
+ export { parseSize, parseDuration } from "./core/parsing.js";
38
+ export { attempt, attemptSync, isMissingPath } from "./core/attempt.js";
39
+ //# sourceMappingURL=host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,6BAA6B;AAC7B,OAAO,EACN,cAAc,EAKd,MAAM,wBAAwB,CAAC;AAYhC,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAGrE,OAAO,EACN,eAAe,EAKf,MAAM,kBAAkB,CAAC;AAE1B,cAAc;AACd,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,sDAAsD,CAAC;AAChH,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,gCAAgC;AAChC,OAAO,EAAE,sBAAsB,EAAoE,MAAM,qBAAqB,CAAC;AAC/H,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAuB,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAyC,MAAM,oBAAoB,CAAC;AAClG,OAAO,EACN,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAIlB,MAAM,oBAAoB,CAAC;AAE5B,kCAAkC;AAClC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAoB,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAA8B,MAAM,mBAAmB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -22,14 +22,18 @@
22
22
  * export default descriptor;
23
23
  * ```
24
24
  *
25
- * 2. Get the logger from runtime:
25
+ * 2. Get the logger by descriptor id (same string as `descriptor.id`):
26
26
  * ```ts
27
- * import { getLogger } from '@vibesdotdev/logging';
27
+ * import { getLogger, initializeLoggers } from '@vibesdotdev/logging';
28
28
  *
29
- * const logger = getLogger('myapp');
29
+ * // `runtime` is the runtime your host booted and handed to this code. After its
30
+ * // plugins register (plugins-core / app bootstrap calls this):
31
+ * await initializeLoggers(runtime);
32
+ *
33
+ * const logger = getLogger('myapp', runtime);
30
34
  * logger.info('Application started', { version: '1.0.0' });
31
35
  *
32
- * // Child loggers
36
+ * // Child loggers — use .child(), not getLogger('myapp:database')
33
37
  * const dbLogger = logger.child('database');
34
38
  * dbLogger.debug('Connected to database');
35
39
  * ```
@@ -44,24 +48,31 @@
44
48
  * action: 'login',
45
49
  * actor: { id: 'user-123', type: 'user' },
46
50
  * outcome: 'success'
47
- * });
51
+ * }, runtime);
48
52
  * ```
49
53
  *
50
54
  * @module
51
55
  */
52
- export { default as loggingPlugin } from './logging.plugin';
56
+ export { default as loggingPlugin } from './logging.plugin.ts';
57
+ export { loggingStdoutCapturePlugin } from './stdout-capture.plugin.ts';
58
+ export { REDACTED, FUNCTION_MARKER, SecretValue, isSecretKey, CREDENTIAL_KEY_WORDS, SecretValueSchema, RedactedLogValueSchema, secret, LoggedErrorSchema, type LoggedError } from './core/redact.ts';
59
+ export { RedactedEndpointSchema, UNPARSEABLE_ENDPOINT, UNSCRUBBABLE_FAILURE_MESSAGE, SUBSTRING_FRAGMENT_MIN_LENGTH, CREDENTIAL_QUERY_PARAMETER_NAMES, createEndpointFailureSchema, createEndpointTextSchema, UNSCRUBBABLE_TEXT } from './core/endpoint.ts';
60
+ export { NormalizedLogContextSchema, LogMethodSchema, PerformanceFailureSchema, type LogMethod, type PerformanceFailureMethod } from './core/normalize.ts';
61
+ export { acquireStdoutCapture, StdoutCaptureOptionsSchema, type StdoutCaptureOptions, type StdoutCaptureHandle } from './stdout-capture.ts';
62
+ export { rotateAppendedFile } from './rotation/rotate-appended-file.ts';
63
+ export { readRotationMaxAge, readRotationPolicy } from './rotation/rotation-policy.ts';
53
64
  export type { Logger, Runtime, RuntimeLoggerOptions, RuntimeLoggerConfig } from './core/types.ts';
54
65
  export type { LoggerChildOptions } from './schemas/index.ts';
55
- export declare const logger: import("./index.ts").LoggerImplementation;
56
- export { parseNamespaceSettings, parseNamespaceSettingsFromEnv, shouldLog, updateNamespaceSettings, getNamespaceSettings, defaultNamespaceSettings, type NamespaceSettings, type NamespaceSelector, type NamespaceSelectors } from './core/namespace.ts';
57
- export { LogLevelSchema, type LogLevel, LOG_LEVEL_ORDER, LogContextSchema, type LogContext, LoggerChildOptionsSchema, RuntimeLogEntrySchema, type RuntimeLogEntry, type RequestLogContext, type JobLogContext, type PerformanceTracker, type PerformanceTrackerParams, SinkDescriptorSchema, type SinkDescriptor, type SinkFormat, type SinkBatching, FormatterDescriptorSchema, type FormatterDescriptor, type FormatterOptions, OutputDescriptorSchema, type OutputDescriptor, type OutputRotation, type OutputBuffering, type OutputStorage, AuditDescriptorSchema, type AuditDescriptor, AuditEntrySchema, type AuditEntry, type AuditCategory, type AuditSeverity, type AuditOutcome, type AuditActor, type AuditTarget, LoggerDescriptorSchema, type LoggerDescriptor, type LoggerRuntime } from './schemas/index.ts';
66
+ export { parseNamespaceSettings, parseNamespaceSettingsFromEnv, shouldLog, updateNamespaceSettings, updateNamespaceSettingsFromRuntime, getNamespaceSettings, defaultNamespaceSettings, type NamespaceSettings, type NamespaceSelector, type NamespaceSelectors } from './core/namespace.ts';
67
+ export { LogLevelSchema, type LogLevel, LOG_LEVEL_ORDER, LogContextSchema, type LogContext, LoggerChildOptionsSchema, RuntimeLogEntrySchema, type RuntimeLogEntry, type RequestLogContext, type JobLogContext, type PerformanceTracker, type PerformanceTrackerParams, SinkDescriptorSchema, type SinkDescriptor, type SinkFormat, type SinkBatching, FormatterDescriptorSchema, type FormatterDescriptor, type FormatterOptions, OutputDescriptorSchema, type OutputDescriptor, type OutputRotation, type OutputBuffering, type OutputStorage, type OutputRetentionBySurface, OutputRetentionBySurfaceSchema, DEFAULT_FILE_OUTPUT_ROTATION, DEFAULT_FILE_OUTPUT_BUFFERING, DEFAULT_ROTATED_FILE_CLEANUP_INTERVAL_MS, DEFAULT_AUDIT_RETENTION_INTERVAL_MS, resolveOutputRotation, resolveOutputBuffering, type ResolveOutputRotationOptions, AuditDescriptorSchema, type AuditDescriptor, AuditEntrySchema, type AuditEntry, type AuditCategory, type AuditSeverity, type AuditOutcome, type AuditActor, type AuditTarget, LoggerDescriptorSchema, type LoggerDescriptor, type LoggerRuntime } from './schemas/index.ts';
58
68
  export { sinkKind, type SinkImplementation, type SinkContext } from './kinds/sink.ts';
59
69
  export { formatterKind, type FormatterImplementation, type FormatterContext } from './kinds/formatter.ts';
60
- export { outputKind, type OutputImplementation, type OutputContext, type OutputReadOptions, type OutputTailOptions, type TailHandle, type OutputStats } from './kinds/output.ts';
61
- export { auditKind, type AuditImplementation, type AuditContext, type AuditLogInput, type AuditQueryOptions } from './kinds/audit.ts';
70
+ export { outputKind, type OutputImplementation, type OutputBackendFactory, type OutputContext, type OutputReadOptions, type OutputTailOptions, type TailHandle, type OutputStats } from './kinds/output.ts';
71
+ export { FILE_OUTPUT_ID, type FileOutputDescriptor, type FileOutputImplementation, type AppendedFileRotation, type AppendedFileRotationPolicy } from './kinds/file-output.ts';
72
+ export { auditKind, type AuditImplementation, type AuditContext, type AuditLogInput, type AuditQueryOptions, auditLog, buildAuditEntry, emitAuditEntry, redactAuditContext } from './kinds/audit.ts';
62
73
  export { loggerKind } from './kinds/logger.ts';
63
- export { type LoggerImplementation, type LoggerContext } from './kinds/logger.impl';
64
- export { configureLoggerContext, createLoggerContextProvider, getLoggerContext, setLoggerContext, getLogger, getDefaultLogger, registerLogger, initializeLoggers, type LoggerContextConfig, type LoggerContextProvider, type RuntimeLogger, type AuditContextConfig, type AuditContextProvider } from './contexts/index.ts';
74
+ export { type LoggerImplementation, type LoggerContext } from './kinds/logger.impl.ts';
75
+ export { configureLoggerContext, createLoggerContextProvider, getLoggerContext, setLoggerContext, getLogger, getDefaultLogger, registerLogger, initializeLoggers, LoggerContextConfigSchema, type LoggerContextConfig, type LoggerContextProvider, type RuntimeLogger } from './contexts/index.ts';
65
76
  export { type MemorySinkQueryOptions } from './sinks/index.ts';
66
77
  export { AuditEntryStorageSchema, type AuditEntryStorage, type AuditRetentionPolicy, DEFAULT_RETENTION_POLICIES, type AuditStorageConfig, defaultAuditStorageConfig } from './audit/index.ts';
67
78
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAGH,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAG5D,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAGlG,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAa7D,eAAO,MAAM,MAAM,2CAAqB,CAAC;AAGzC,OAAO,EACN,sBAAsB,EACtB,6BAA6B,EAC7B,SAAS,EACT,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAEN,cAAc,EACd,KAAK,QAAQ,EACb,eAAe,EACf,gBAAgB,EAChB,KAAK,UAAU,EACf,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAE7B,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,YAAY,EAEjB,yBAAyB,EACzB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EAErB,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,aAAa,EAElB,qBAAqB,EACrB,KAAK,eAAe,EACpB,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,WAAW,EAEhB,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,QAAQ,EAAE,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EACN,aAAa,EACb,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,UAAU,EACV,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,SAAS,EACT,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpF,OAAO,EAEN,sBAAsB,EACtB,2BAA2B,EAC3B,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAElB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG/D,OAAO,EACN,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,kBAAkB,EACvB,yBAAyB,EACzB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -22,14 +22,18 @@
22
22
  * export default descriptor;
23
23
  * ```
24
24
  *
25
- * 2. Get the logger from runtime:
25
+ * 2. Get the logger by descriptor id (same string as `descriptor.id`):
26
26
  * ```ts
27
- * import { getLogger } from '@vibesdotdev/logging';
27
+ * import { getLogger, initializeLoggers } from '@vibesdotdev/logging';
28
28
  *
29
- * const logger = getLogger('myapp');
29
+ * // `runtime` is the runtime your host booted and handed to this code. After its
30
+ * // plugins register (plugins-core / app bootstrap calls this):
31
+ * await initializeLoggers(runtime);
32
+ *
33
+ * const logger = getLogger('myapp', runtime);
30
34
  * logger.info('Application started', { version: '1.0.0' });
31
35
  *
32
- * // Child loggers
36
+ * // Child loggers — use .child(), not getLogger('myapp:database')
33
37
  * const dbLogger = logger.child('database');
34
38
  * dbLogger.debug('Connected to database');
35
39
  * ```
@@ -44,27 +48,26 @@
44
48
  * action: 'login',
45
49
  * actor: { id: 'user-123', type: 'user' },
46
50
  * outcome: 'success'
47
- * });
51
+ * }, runtime);
48
52
  * ```
49
53
  *
50
54
  * @module
51
55
  */
52
56
  // Plugin
53
- export { default as loggingPlugin } from './logging.plugin.js';
54
- /**
55
- * Default logger instance.
56
- * For most server-side code, use this directly.
57
- *
58
- * @example
59
- * ```ts
60
- * import { logger } from '@vibesdotdev/logging';
61
- * logger.info('Server started');
62
- * ```
63
- */
64
- import { getDefaultLogger } from "./contexts/logger.js";
65
- export const logger = getDefaultLogger();
57
+ export { default as loggingPlugin } from "./logging.plugin.js";
58
+ export { loggingStdoutCapturePlugin } from "./stdout-capture.plugin.js";
59
+ // Redaction and structured errors: every entry context passes through them.
60
+ export { REDACTED, FUNCTION_MARKER, SecretValue, isSecretKey, CREDENTIAL_KEY_WORDS, SecretValueSchema, RedactedLogValueSchema, secret, LoggedErrorSchema } from "./core/redact.js";
61
+ export { RedactedEndpointSchema, UNPARSEABLE_ENDPOINT, UNSCRUBBABLE_FAILURE_MESSAGE, SUBSTRING_FRAGMENT_MIN_LENGTH, CREDENTIAL_QUERY_PARAMETER_NAMES, createEndpointFailureSchema, createEndpointTextSchema, UNSCRUBBABLE_TEXT } from "./core/endpoint.js";
62
+ export { NormalizedLogContextSchema, LogMethodSchema, PerformanceFailureSchema } from "./core/normalize.js";
63
+ // Stdout diagnostic capture resolves through the selected host and sink.
64
+ export { acquireStdoutCapture, StdoutCaptureOptionsSchema } from "./stdout-capture.js";
65
+ // Rotation of files another process appends to: the named policy from the
66
+ // logging config manifest, applied by the selected host's typed file output.
67
+ export { rotateAppendedFile } from "./rotation/rotate-appended-file.js";
68
+ export { readRotationMaxAge, readRotationPolicy } from "./rotation/rotation-policy.js";
66
69
  // Namespace utilities
67
- export { parseNamespaceSettings, parseNamespaceSettingsFromEnv, shouldLog, updateNamespaceSettings, getNamespaceSettings, defaultNamespaceSettings } from "./core/namespace.js";
70
+ export { parseNamespaceSettings, parseNamespaceSettingsFromEnv, shouldLog, updateNamespaceSettings, updateNamespaceSettingsFromRuntime, getNamespaceSettings, defaultNamespaceSettings } from "./core/namespace.js";
68
71
  // Schemas
69
72
  export {
70
73
  // Entry types
@@ -74,7 +77,7 @@ SinkDescriptorSchema,
74
77
  // Formatter schemas
75
78
  FormatterDescriptorSchema,
76
79
  // Output schemas
77
- OutputDescriptorSchema,
80
+ OutputDescriptorSchema, OutputRetentionBySurfaceSchema, DEFAULT_FILE_OUTPUT_ROTATION, DEFAULT_FILE_OUTPUT_BUFFERING, DEFAULT_ROTATED_FILE_CLEANUP_INTERVAL_MS, DEFAULT_AUDIT_RETENTION_INTERVAL_MS, resolveOutputRotation, resolveOutputBuffering,
78
81
  // Audit schemas
79
82
  AuditDescriptorSchema, AuditEntrySchema,
80
83
  // Logger schemas
@@ -83,13 +86,14 @@ LoggerDescriptorSchema } from "./schemas/index.js";
83
86
  export { sinkKind } from "./kinds/sink.js";
84
87
  export { formatterKind } from "./kinds/formatter.js";
85
88
  export { outputKind } from "./kinds/output.js";
86
- export { auditKind } from "./kinds/audit.js";
89
+ export { FILE_OUTPUT_ID } from "./kinds/file-output.js";
90
+ export { auditKind, auditLog, buildAuditEntry, emitAuditEntry, redactAuditContext } from "./kinds/audit.js";
87
91
  export { loggerKind } from "./kinds/logger.js";
88
- export {} from './kinds/logger.impl.js';
92
+ export {} from "./kinds/logger.impl.js";
89
93
  // Context providers
90
94
  export {
91
95
  // Logger context
92
- configureLoggerContext, createLoggerContextProvider, getLoggerContext, setLoggerContext, getLogger, getDefaultLogger, registerLogger, initializeLoggers } from "./contexts/index.js";
96
+ configureLoggerContext, createLoggerContextProvider, getLoggerContext, setLoggerContext, getLogger, getDefaultLogger, registerLogger, initializeLoggers, LoggerContextConfigSchema } from "./contexts/index.js";
93
97
  // Sinks (types only — implementations autoloaded by runtime)
94
98
  export {} from "./sinks/index.js";
95
99
  // Audit (storage schemas only — implementations autoloaded by runtime)
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAEH,SAAS;AACT,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAQ5D;;;;;;;;;GASG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,MAAM,CAAC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;AAEzC,sBAAsB;AACtB,OAAO,EACN,sBAAsB,EACtB,6BAA6B,EAC7B,SAAS,EACT,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EAIxB,MAAM,qBAAqB,CAAC;AAE7B,UAAU;AACV,OAAO;AACN,cAAc;AACd,cAAc,EAEd,eAAe,EACf,gBAAgB,EAEhB,wBAAwB,EACxB,qBAAqB;AAMrB,eAAe;AACf,oBAAoB;AAIpB,oBAAoB;AACpB,yBAAyB;AAGzB,iBAAiB;AACjB,sBAAsB;AAKtB,gBAAgB;AAChB,qBAAqB,EAErB,gBAAgB;AAOhB,iBAAiB;AACjB,sBAAsB,EAGtB,MAAM,oBAAoB,CAAC;AAE5B,QAAQ;AACR,OAAO,EAAE,QAAQ,EAA6C,MAAM,iBAAiB,CAAC;AACtF,OAAO,EACN,aAAa,EAGb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,UAAU,EAOV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,SAAS,EAKT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAiD,MAAM,qBAAqB,CAAC;AAEpF,oBAAoB;AACpB,OAAO;AACN,iBAAiB;AACjB,sBAAsB,EACtB,2BAA2B,EAC3B,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EAOjB,MAAM,qBAAqB,CAAC;AAE7B,6DAA6D;AAC7D,OAAO,EAA+B,MAAM,kBAAkB,CAAC;AAE/D,uEAAuE;AACvE,OAAO,EACN,uBAAuB,EAGvB,0BAA0B,EAE1B,yBAAyB,EACzB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAEH,SAAS;AACT,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAExE,4EAA4E;AAC5E,OAAO,EACN,QAAQ,EACR,eAAe,EACf,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,MAAM,EACN,iBAAiB,EAEjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACN,sBAAsB,EACtB,oBAAoB,EACpB,4BAA4B,EAC5B,6BAA6B,EAC7B,gCAAgC,EAChC,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB,EACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,0BAA0B,EAAE,eAAe,EAAE,wBAAwB,EAAiD,MAAM,qBAAqB,CAAC;AAE3J,yEAAyE;AACzE,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAuD,MAAM,qBAAqB,CAAC;AAE5I,0EAA0E;AAC1E,6EAA6E;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAQvF,sBAAsB;AACtB,OAAO,EACN,sBAAsB,EACtB,6BAA6B,EAC7B,SAAS,EACT,uBAAuB,EACvB,kCAAkC,EAClC,oBAAoB,EACpB,wBAAwB,EAIxB,MAAM,qBAAqB,CAAC;AAE7B,UAAU;AACV,OAAO;AACN,cAAc;AACd,cAAc,EAEd,eAAe,EACf,gBAAgB,EAEhB,wBAAwB,EACxB,qBAAqB;AAMrB,eAAe;AACf,oBAAoB;AAIpB,oBAAoB;AACpB,yBAAyB;AAGzB,iBAAiB;AACjB,sBAAsB,EAMtB,8BAA8B,EAC9B,4BAA4B,EAC5B,6BAA6B,EAC7B,wCAAwC,EACxC,mCAAmC,EACnC,qBAAqB,EACrB,sBAAsB;AAEtB,gBAAgB;AAChB,qBAAqB,EAErB,gBAAgB;AAOhB,iBAAiB;AACjB,sBAAsB,EAGtB,MAAM,oBAAoB,CAAC;AAE5B,QAAQ;AACR,OAAO,EAAE,QAAQ,EAA6C,MAAM,iBAAiB,CAAC;AACtF,OAAO,EACN,aAAa,EAGb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,UAAU,EAQV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,cAAc,EAKd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,SAAS,EAKT,QAAQ,EACR,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAiD,MAAM,wBAAwB,CAAC;AAEvF,oBAAoB;AACpB,OAAO;AACN,iBAAiB;AACjB,sBAAsB,EACtB,2BAA2B,EAC3B,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EAIzB,MAAM,qBAAqB,CAAC;AAE7B,6DAA6D;AAC7D,OAAO,EAA+B,MAAM,kBAAkB,CAAC;AAE/D,uEAAuE;AACvE,OAAO,EACN,uBAAuB,EAGvB,0BAA0B,EAE1B,yBAAyB,EACzB,MAAM,kBAAkB,CAAC"}
@@ -3,7 +3,9 @@
3
3
  *
4
4
  * Audit loggers capture compliance and security events.
5
5
  */
6
- import type { RuntimeKindDescriptor, KindContext } from '@vibesdotdev/runtime/schemas/kind';
6
+ import type { RuntimeKindDescriptor, KindContext } from '@vibesdotdev/kernel/schemas/kind';
7
+ import { type RuntimeRef } from '@vibesdotdev/kernel';
8
+ import type { LogContext } from '../schemas/entry.ts';
7
9
  import { type AuditDescriptor, type AuditEntry, type AuditCategory, type AuditSeverity, type AuditOutcome, type AuditActor, type AuditTarget } from '../schemas/audit.ts';
8
10
  /**
9
11
  * Input for logging an audit event.
@@ -22,7 +24,7 @@ export interface AuditLogInput {
22
24
  /** Event outcome */
23
25
  outcome: AuditOutcome;
24
26
  /** Additional context */
25
- context?: Record<string, unknown>;
27
+ context?: LogContext;
26
28
  /** Error details */
27
29
  error?: string;
28
30
  }
@@ -60,22 +62,52 @@ export interface AuditImplementation {
60
62
  log(input: AuditLogInput): Promise<AuditEntry>;
61
63
  /** Query audit entries (if supported) */
62
64
  query?(options: AuditQueryOptions): Promise<AuditEntry[]>;
65
+ /** Enforce category retention policy (file-backed implementations) */
66
+ enforceRetention?(): Promise<{
67
+ deleted: number;
68
+ archived: number;
69
+ retentionDays: number;
70
+ }>;
63
71
  }
64
72
  /**
65
73
  * Context provided to audit implementations.
66
74
  */
67
75
  export interface AuditContext extends KindContext {
68
- /** Runtime reference */
69
- readonly runtime: unknown;
70
- /** Workspace path for storage */
71
- readonly workspacePath?: string;
76
+ /**
77
+ * An explicitly requested workspace context. Portable implementations need
78
+ * no workspace; relative file destinations require the descriptor-injected
79
+ * root and refuse when it was not supplied.
80
+ */
81
+ readonly 'runtime/workspace-path'?: string;
72
82
  }
83
+ /** Apply the logging owner's recursive key and value redaction to audit context. */
84
+ export declare function redactAuditContext(context: LogContext | undefined): LogContext | undefined;
85
+ /**
86
+ * Build a fully-formed, redacted audit entry from an input.
87
+ *
88
+ * Single source of truth for entry shaping (id/timestamp generation + context
89
+ * redaction). Surfaces that need the entry value (e.g. to forward it onward)
90
+ * call this; surfaces that only emit use {@link auditLog}. The input is read
91
+ * once, through guards, and refuses typed and value-free (see `buildRedactedAuditEntry`).
92
+ */
93
+ export declare function buildAuditEntry(input: AuditLogInput): AuditEntry;
94
+ /**
95
+ * Write an audit entry through the handed host's stderr provider. The entry is
96
+ * read once and shaped exactly as `buildAuditEntry` shapes an input (its
97
+ * context through the emitted-context redaction, every other field through the
98
+ * redaction walk) before it is validated, so a caller-built entry cannot bypass
99
+ * redaction, and a value that cannot be read refuses with a typed, value-free
100
+ * `ZodError`, never with what the value threw.
101
+ */
102
+ export declare function emitAuditEntry(entry: AuditEntry, runtime: RuntimeRef): Promise<void>;
103
+ /** Build a redacted entry and await its emission through the handed Runtime. */
104
+ export declare function auditLog(input: AuditLogInput, runtime: RuntimeRef): Promise<void>;
73
105
  /**
74
106
  * Audit kind definition for runtime registration.
75
107
  */
76
108
  export declare const auditKind: RuntimeKindDescriptor<AuditDescriptor, AuditImplementation, AuditContext>;
77
- declare module '@vibesdotdev/runtime/schemas/kind-types' {
78
- interface KindTypeMap {
109
+ declare global {
110
+ interface VibesKindTypeMap {
79
111
  'logging/audit': {
80
112
  descriptor: AuditDescriptor;
81
113
  impl: AuditImplementation;
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/kinds/audit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAqB,MAAM,mCAAmC,CAAC;AAE/G,OAAO,EAEN,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,MAAM,qBAAqB,CAAC;AAE7B;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,qBAAqB;IACrB,QAAQ,EAAE,aAAa,CAAC;IACxB,qBAAqB;IACrB,QAAQ,EAAE,aAAa,CAAC;IACxB,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,KAAK,EAAE,UAAU,CAAC;IAClB,mCAAmC;IACnC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,oBAAoB;IACpB,OAAO,EAAE,YAAY,CAAC;IACtB,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,yBAAyB;IACzB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IACnC,yBAAyB;IACzB,GAAG,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/C,yCAAyC;IACzC,KAAK,CAAC,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;CAC1D;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,WAAW;IAChD,wBAAwB;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,iCAAiC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CAChC;AAkED;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,qBAAqB,CAAC,eAAe,EAAE,mBAAmB,EAAE,YAAY,CAO9F,CAAC;AAEH,OAAO,QAAQ,yCAAyC,CAAC;IACxD,UAAU,WAAW;QACpB,eAAe,EAAE;YAAE,UAAU,EAAE,eAAe,CAAC;YAAC,IAAI,EAAE,mBAAmB,CAAA;SAAE,CAAC;KAC5E;CACD"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/kinds/audit.ts"],"names":[],"mappings":"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"}
@@ -3,46 +3,107 @@
3
3
  *
4
4
  * Audit loggers capture compliance and security events.
5
5
  */
6
- import { AuditDescriptorSchema } from "../schemas/audit.js";
6
+ import { CapabilityError, getRuntimeStdio } from '@vibesdotdev/kernel';
7
+ import * as z from 'zod/v4';
8
+ import { NormalizedLogContextSchema, EmittedLogContextSchema } from "../core/normalize.js";
9
+ import { createFieldsReadSchema, RedactedLogValueSchema } from "../core/redact.js";
10
+ import { AuditDescriptorSchema, AuditEntrySchema, auditSeverityMeets } from "../schemas/audit.js";
7
11
  /**
8
12
  * Default audit implementation - logs to stderr.
9
13
  * Used when no specific implementation is registered.
10
14
  */
11
15
  class DefaultAuditImplementation {
16
+ runtime;
12
17
  id;
13
18
  descriptor;
14
- constructor(descriptor, _context) {
19
+ constructor(descriptor, context) {
20
+ this.runtime = context.runtime;
15
21
  this.id = descriptor.id;
16
- this.descriptor = descriptor;
22
+ this.descriptor = AuditDescriptorSchema.parse(descriptor);
17
23
  }
18
24
  async log(input) {
19
- const entry = {
20
- id: crypto.randomUUID(),
21
- timestamp: new Date().toISOString(),
22
- category: input.category,
23
- severity: input.severity,
24
- action: input.action,
25
- actor: input.actor,
26
- target: input.target,
27
- outcome: input.outcome,
28
- context: input.context,
29
- error: input.error
30
- };
31
- // Default: log to stderr to avoid stdout pollution (critical for MCP stdio)
32
- console.error(`[AUDIT] ${JSON.stringify(entry)}`);
25
+ const entry = buildAuditEntry(input);
26
+ // Below the descriptor's minimum severity the entry is shaped and returned, never written.
27
+ if (auditSeverityMeets(entry.severity, this.descriptor.severity))
28
+ await emitAuditEntry(entry, this.runtime);
33
29
  return entry;
34
30
  }
35
31
  }
32
+ /** Apply the logging owner's recursive key and value redaction to audit context. */
33
+ export function redactAuditContext(context) {
34
+ return context === undefined ? undefined : NormalizedLogContextSchema.parse(context);
35
+ }
36
+ /** The fields an audit input carries; an entry adds its `id` and `timestamp`. */
37
+ const AUDIT_INPUT_FIELDS = ['category', 'severity', 'action', 'actor', 'target', 'outcome', 'context', 'error'];
38
+ const AuditInputFieldsSchema = createFieldsReadSchema(AUDIT_INPUT_FIELDS);
39
+ const AuditEntryFieldsSchema = createFieldsReadSchema(['id', 'timestamp', ...AUDIT_INPUT_FIELDS]);
40
+ /**
41
+ * The one shaping of a caller's audit value. Each top-level field is read once
42
+ * inside the guard; the entry's `context` passes through the emitted-context
43
+ * redaction (an Error as the context is described, a hostile nested value
44
+ * described in place); every other field is snapshotted through the redaction
45
+ * walk (each nested field read once, secret keys and `secret()` values
46
+ * replaced); and only then is the entry validated. A value that cannot be read
47
+ * (a getter, a Proxy trap, a revoked Proxy, the whole input or any field) or
48
+ * that is not the declared shape refuses with a typed, value-free `ZodError`:
49
+ * never with what the value threw, and nothing is written.
50
+ */
51
+ function buildRedactedAuditEntry(fields, stamp) {
52
+ const { context, ...rest } = fields;
53
+ const snapshot = RedactedLogValueSchema.parse({ ...rest, ...stamp });
54
+ const redactedContext = context === undefined ? undefined : EmittedLogContextSchema.parse(context);
55
+ const entry = AuditEntrySchema.parse({ ...AuditSnapshotSchema.parse(snapshot), context: redactedContext });
56
+ // The entry keeps the context snapshot itself: the record schema's copy would drop an own `__proto__` field.
57
+ if (redactedContext !== undefined)
58
+ entry.context = redactedContext;
59
+ return entry;
60
+ }
61
+ /** The walked snapshot of an audit value's non-context fields: a plain record (the walk of a plain record). */
62
+ const AuditSnapshotSchema = z.record(z.string(), z.unknown());
63
+ /**
64
+ * Build a fully-formed, redacted audit entry from an input.
65
+ *
66
+ * Single source of truth for entry shaping (id/timestamp generation + context
67
+ * redaction). Surfaces that need the entry value (e.g. to forward it onward)
68
+ * call this; surfaces that only emit use {@link auditLog}. The input is read
69
+ * once, through guards, and refuses typed and value-free (see `buildRedactedAuditEntry`).
70
+ */
71
+ export function buildAuditEntry(input) {
72
+ return buildRedactedAuditEntry(AuditInputFieldsSchema.parse(input), { id: crypto.randomUUID(), timestamp: new Date().toISOString() });
73
+ }
74
+ /**
75
+ * Write an audit entry through the handed host's stderr provider. The entry is
76
+ * read once and shaped exactly as `buildAuditEntry` shapes an input (its
77
+ * context through the emitted-context redaction, every other field through the
78
+ * redaction walk) before it is validated, so a caller-built entry cannot bypass
79
+ * redaction, and a value that cannot be read refuses with a typed, value-free
80
+ * `ZodError`, never with what the value threw.
81
+ */
82
+ export async function emitAuditEntry(entry, runtime) {
83
+ if (!runtime)
84
+ throw new CapabilityError('Audit emission requires a handed Runtime.', 'INVALID_INPUT', {
85
+ reason: 'audit-runtime-missing', retryable: false
86
+ });
87
+ const { id, timestamp, ...fields } = AuditEntryFieldsSchema.parse(entry);
88
+ const redacted = buildRedactedAuditEntry(fields, { id, timestamp });
89
+ const stdio = await getRuntimeStdio(runtime);
90
+ stdio.write('stderr', '[AUDIT] ' + JSON.stringify(redacted) + '\n');
91
+ }
92
+ /** Build a redacted entry and await its emission through the handed Runtime. */
93
+ export async function auditLog(input, runtime) {
94
+ await emitAuditEntry(buildAuditEntry(input), runtime);
95
+ }
36
96
  /**
37
97
  * Audit kind resolution logic.
38
98
  * Selects audit logger based on category and hardware.
39
99
  */
40
100
  function resolveAudit(candidates, scope, _context) {
101
+ if (!candidates.every((candidate) => AuditDescriptorSchema.safeParse(candidate).success)) {
102
+ throw new CapabilityError('Logging kind received an invalid registered descriptor.', 'INVALID_INPUT', { reason: 'logging-descriptor-invalid' });
103
+ }
41
104
  const typed = candidates;
42
105
  if (typed.length === 0)
43
106
  return undefined;
44
- if (typed.length === 1)
45
- return typed[0];
46
107
  const hardware = scope.hardware;
47
108
  // Filter by hardware compatibility
48
109
  const matching = typed.filter((d) => {
@@ -66,6 +127,7 @@ export const auditKind = {
66
127
  descriptorSchema: AuditDescriptorSchema,
67
128
  defaultImplementation: DefaultAuditImplementation,
68
129
  resolve: resolveAudit,
69
- contexts: ['runtime/workspace-path']
130
+ isEligible: (descriptor, _requestedScope, executionScope) => !descriptor.hardware?.length || descriptor.hardware.includes(executionScope.hardware),
131
+ contexts: []
70
132
  };
71
133
  //# sourceMappingURL=audit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/kinds/audit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACN,qBAAqB,EAQrB,MAAM,qBAAqB,CAAC;AAuE7B;;;GAGG;AACH,MAAM,0BAA0B;IACtB,EAAE,CAAS;IACX,UAAU,CAAkB;IAErC,YAAY,UAA6B,EAAE,QAAsB;QAChE,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,UAA6B,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAoB;QAC7B,MAAM,KAAK,GAAe;YACzB,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;YACvB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;SAClB,CAAC;QAEF,4EAA4E;QAC5E,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAElD,OAAO,KAAK,CAAC;IACd,CAAC;CACD;AAED;;;GAGG;AACH,SAAS,YAAY,CACpB,UAA+B,EAC/B,KAAmB,EACnB,QAAqB;IAErB,MAAM,KAAK,GAAG,UAA+B,CAAC;IAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAExC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAEhC,mCAAmC;IACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACnC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACxD,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE5C,6CAA6C;IAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5C,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GACrB;IACC,EAAE,EAAE,eAAe;IACnB,gBAAgB,EAAE,qBAAqB;IACvC,qBAAqB,EAAE,0BAA0B;IACjD,OAAO,EAAE,YAAY;IACrB,QAAQ,EAAE,CAAC,wBAAwB,CAAC;CACpC,CAAC"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/kinds/audit.ts"],"names":[],"mappings":"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"}
@@ -4,18 +4,19 @@
4
4
  * Shared context interfaces to avoid circular dependencies.
5
5
  * This file contains only type definitions - no implementations.
6
6
  */
7
- import type { KindContext } from '@vibesdotdev/runtime/schemas/kind';
7
+ import type { KindContext } from '@vibesdotdev/kernel/schemas/kind';
8
8
  import type { SinkImplementation } from './sink.ts';
9
9
  import type { OutputImplementation } from './output.ts';
10
10
  /**
11
11
  * Context provided to logger implementations.
12
12
  */
13
13
  export interface LoggerContext extends KindContext {
14
- /** Runtime reference */
15
- readonly runtime: unknown;
16
14
  /** Available sinks for this logger */
17
15
  readonly sinks?: Map<string, SinkImplementation> | SinkImplementation[];
18
16
  /** Available outputs for this logger */
19
17
  readonly outputs?: Map<string, OutputImplementation> | OutputImplementation[];
18
+ /** Explicit Runtime context requests use the same owning port types. */
19
+ readonly 'logging/sinks'?: Map<string, SinkImplementation> | SinkImplementation[];
20
+ readonly 'logging/outputs'?: Map<string, OutputImplementation> | OutputImplementation[];
20
21
  }
21
22
  //# sourceMappingURL=contexts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contexts.d.ts","sourceRoot":"","sources":["../../src/kinds/contexts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,WAAW;IACjD,wBAAwB;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,sCAAsC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,kBAAkB,EAAE,CAAC;IACxE,wCAAwC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,oBAAoB,EAAE,CAAC;CAC9E"}
1
+ {"version":3,"file":"contexts.d.ts","sourceRoot":"","sources":["../../src/kinds/contexts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,WAAW;IACjD,sCAAsC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,kBAAkB,EAAE,CAAC;IACxE,wCAAwC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,oBAAoB,EAAE,CAAC;IAC9E,wEAAwE;IACxE,QAAQ,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,kBAAkB,EAAE,CAAC;IAClF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,oBAAoB,EAAE,CAAC;CACxF"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * The typed file-output contract (C092).
3
+ *
4
+ * The `logging/output` descriptor with id `file` is the file-storage backend a
5
+ * host package implements (`@vibesdotdev/host-node/logging`).
6
+ * Callers resolve it by id with these generics and call its required methods:
7
+ * no `instanceof`, no optional-method presence checks.
8
+ */
9
+ import type { OutputDescriptor } from '../schemas/output.ts';
10
+ import type { OutputContext, OutputImplementation } from './output.types.ts';
11
+ /** The `logging/output` id of the file-storage backend. */
12
+ export declare const FILE_OUTPUT_ID = "file";
13
+ /** A file-storage output descriptor: the `file` backend or a named stream it creates. */
14
+ export type FileOutputDescriptor = OutputDescriptor & {
15
+ readonly storage: 'file';
16
+ };
17
+ export interface AppendedFileRotationPolicy {
18
+ /** Rotate once the active file reaches this many bytes. */
19
+ maxSizeBytes: number;
20
+ /** Archives kept: `<path>.1` … `<path>.<maxFiles>`. */
21
+ maxFiles: number;
22
+ }
23
+ export interface AppendedFileRotation {
24
+ rotated: boolean;
25
+ /** Size of the active file when rotation copied it. */
26
+ previousSize?: number;
27
+ }
28
+ /** What a host's file output provides. Every member is required. */
29
+ export interface FileOutputImplementation extends OutputImplementation {
30
+ /**
31
+ * Create a separately configured file stream with the same contract, on
32
+ * the stream context of the Runtime that selected this backend.
33
+ */
34
+ create(descriptor: OutputDescriptor, namedContext: OutputContext): Promise<FileOutputImplementation>;
35
+ /** Write a raw line, in write order. */
36
+ writeLine(line: string): Promise<void>;
37
+ /**
38
+ * Admit a line now and write it once it is classified: `null` writes
39
+ * nothing. Disposal joins every admitted line.
40
+ */
41
+ writeReservedLine(line: Promise<string | null>): Promise<void>;
42
+ /** Close the active file, archive it and bound the archives; `archived` is `null` when there was no active file. */
43
+ rotate(): Promise<{
44
+ archived: string | null;
45
+ }>;
46
+ /** Enforce rotation retention without rotating the active file. */
47
+ enforceRetention(): Promise<{
48
+ removed: number;
49
+ }>;
50
+ /**
51
+ * Copy-truncate rotation for a file another process appends to through an
52
+ * inherited `O_APPEND` descriptor.
53
+ */
54
+ rotateAppendedFile(path: string, policy: AppendedFileRotationPolicy): Promise<AppendedFileRotation>;
55
+ }
56
+ //# sourceMappingURL=file-output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-output.d.ts","sourceRoot":"","sources":["../../src/kinds/file-output.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE7E,2DAA2D;AAC3D,eAAO,MAAM,cAAc,SAAS,CAAC;AAErC,yFAAyF;AACzF,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnF,MAAM,WAAW,0BAA0B;IAC1C,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,oEAAoE;AACpE,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IACrE;;;OAGG;IACH,MAAM,CAAC,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACrG,wCAAwC;IACxC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC;;;OAGG;IACH,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,oHAAoH;IACpH,MAAM,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAC/C,mEAAmE;IACnE,gBAAgB,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD;;;OAGG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACpG"}