@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
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Browser Error Capture
3
+ *
4
+ * Records client-side errors from SvelteKit error boundaries through the
5
+ * handed logger, and keeps the most recent ones in a ring buffer on the handed
6
+ * runtime's browser host storage (`runtime/browser-host`).
7
+ */
8
+ import * as z from 'zod/v4';
9
+ import { type RuntimeRef } from '@vibesdotdev/kernel';
10
+ import type { Logger } from '../core/types.ts';
11
+ /** The browser host storage key of the error ring buffer; `read-errors.ts` reads the same key. */
12
+ export declare const ERROR_RING_BUFFER_KEY = "vibes:error-log";
13
+ /** The ring buffer keeps this many newest events. */
14
+ export declare const ERROR_RING_BUFFER_SIZE = 100;
15
+ /**
16
+ * Error telemetry event structure
17
+ */
18
+ export interface ErrorTelemetryEvent {
19
+ /** ISO timestamp */
20
+ timestamp: string;
21
+ /** Host version from the handed runtime, or 'unknown' */
22
+ version: string;
23
+ /** Current route */
24
+ route: string;
25
+ /** Error message */
26
+ message: string;
27
+ /** Error stack trace */
28
+ stack?: string;
29
+ /** HTTP status code if from error boundary */
30
+ status?: number;
31
+ /** Error source. Earlier releases also persisted global handler sources. */
32
+ source: 'sveltekit' | 'window.onerror' | 'unhandledrejection';
33
+ }
34
+ /** The stored ring buffer: a JSON array of `ErrorTelemetryEvent`. Shared with `read-errors.ts`. */
35
+ export declare const ErrorRingBufferSchema: z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<any, string>>, z.ZodArray<z.ZodObject<{
36
+ timestamp: z.ZodString;
37
+ version: z.ZodString;
38
+ route: z.ZodString;
39
+ message: z.ZodString;
40
+ stack: z.ZodOptional<z.ZodString>;
41
+ status: z.ZodOptional<z.ZodNumber>;
42
+ source: z.ZodEnum<{
43
+ sveltekit: "sveltekit";
44
+ "window.onerror": "window.onerror";
45
+ unhandledrejection: "unhandledrejection";
46
+ }>;
47
+ }, z.core.$strip>>>;
48
+ /** What a SvelteKit `+error.svelte` boundary reports. */
49
+ export declare const SvelteKitErrorSchema: z.ZodObject<{
50
+ status: z.ZodNumber;
51
+ message: z.ZodString;
52
+ route: z.ZodString;
53
+ stack: z.ZodOptional<z.ZodString>;
54
+ }, z.core.$strip>;
55
+ export type SvelteKitError = z.input<typeof SvelteKitErrorSchema>;
56
+ /** The handed runtime surface error capture reads: its browser host and host version. */
57
+ export type ErrorCaptureRuntime = Pick<RuntimeRef, 'hasKind' | 'query' | 'localEnvironment'>;
58
+ /**
59
+ * Capture an error from a SvelteKit `+error.svelte` boundary. The event is
60
+ * always recorded through the handed logger first. It is then appended to the
61
+ * ring buffer (`vibes:error-log`, newest 100) on the handed runtime's browser
62
+ * host; a host with no browser host refuses `UNAVAILABLE browser-host-unavailable`.
63
+ * A storage refusal (quota, private mode) is reported through the logger.
64
+ */
65
+ export declare function captureSvelteKitError(runtime: ErrorCaptureRuntime, logger: Logger, error: SvelteKitError): Promise<void>;
66
+ //# sourceMappingURL=capture-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture-error.d.ts","sourceRoot":"","sources":["../../src/browser/capture-error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAkD,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAI/C,kGAAkG;AAClG,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,qDAAqD;AACrD,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,MAAM,EAAE,WAAW,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;CAC9D;AAaD,mGAAmG;AACnG,eAAO,MAAM,qBAAqB;;;;;;;;;;;;mBAKQ,CAAC;AAE3C,yDAAyD;AACzD,eAAO,MAAM,oBAAoB;;;;;iBAK/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAIlE,yFAAyF;AACzF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,GAAG,kBAAkB,CAAC,CAAC;AAY7F;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB9H"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Browser Error Capture
3
+ *
4
+ * Records client-side errors from SvelteKit error boundaries through the
5
+ * handed logger, and keeps the most recent ones in a ring buffer on the handed
6
+ * runtime's browser host storage (`runtime/browser-host`).
7
+ */
8
+ import * as z from 'zod/v4';
9
+ import { getRuntimeBrowserHost } from '@vibesdotdev/kernel';
10
+ import { attempt } from "../core/outcome.js";
11
+ import { createFieldsReadSchema, RedactedLogValueSchema } from "../core/redact.js";
12
+ /** The browser host storage key of the error ring buffer; `read-errors.ts` reads the same key. */
13
+ export const ERROR_RING_BUFFER_KEY = 'vibes:error-log';
14
+ /** The ring buffer keeps this many newest events. */
15
+ export const ERROR_RING_BUFFER_SIZE = 100;
16
+ /** The persisted ring-buffer entry, parsed where it is read back from storage. */
17
+ const ErrorTelemetryEventSchema = z.object({
18
+ timestamp: z.string(),
19
+ version: z.string(),
20
+ route: z.string(),
21
+ message: z.string(),
22
+ stack: z.string().optional(),
23
+ status: z.number().optional(),
24
+ source: z.enum(['sveltekit', 'window.onerror', 'unhandledrejection'])
25
+ });
26
+ /** The stored ring buffer: a JSON array of `ErrorTelemetryEvent`. Shared with `read-errors.ts`. */
27
+ export const ErrorRingBufferSchema = z.string().transform((raw, context) => {
28
+ const parsed = attempt(() => JSON.parse(raw));
29
+ if (!parsed.failed)
30
+ return parsed.value;
31
+ context.addIssue({ code: 'custom', message: parsed.cause instanceof Error ? parsed.cause.message : 'The stored ring buffer is not JSON.' });
32
+ return z.NEVER;
33
+ }).pipe(ErrorTelemetryEventSchema.array());
34
+ /** What a SvelteKit `+error.svelte` boundary reports. */
35
+ export const SvelteKitErrorSchema = z.object({
36
+ status: z.number(),
37
+ message: z.string(),
38
+ route: z.string(),
39
+ stack: z.string().optional()
40
+ });
41
+ const SvelteKitErrorFieldsSchema = createFieldsReadSchema(['status', 'message', 'route', 'stack']);
42
+ /** The stored ring buffer; a malformed one is reported and replaced. */
43
+ function readRingBuffer(storage, logger) {
44
+ const raw = storage.getItem(ERROR_RING_BUFFER_KEY);
45
+ if (raw === null)
46
+ return [];
47
+ const stored = ErrorRingBufferSchema.safeParse(raw);
48
+ if (stored.success)
49
+ return stored.data;
50
+ logger.warn('Replacing a malformed browser error ring buffer.', { key: ERROR_RING_BUFFER_KEY, issues: stored.error.issues.map(issue => issue.message) });
51
+ return [];
52
+ }
53
+ /**
54
+ * Capture an error from a SvelteKit `+error.svelte` boundary. The event is
55
+ * always recorded through the handed logger first. It is then appended to the
56
+ * ring buffer (`vibes:error-log`, newest 100) on the handed runtime's browser
57
+ * host; a host with no browser host refuses `UNAVAILABLE browser-host-unavailable`.
58
+ * A storage refusal (quota, private mode) is reported through the logger.
59
+ */
60
+ export async function captureSvelteKitError(runtime, logger, error) {
61
+ // Each field is read once inside a guard and walked before it is validated, so a hostile error refuses with a
62
+ // typed, value-free `ZodError`, never with what a getter or Proxy trap threw.
63
+ const input = SvelteKitErrorSchema.parse(RedactedLogValueSchema.parse(SvelteKitErrorFieldsSchema.parse(error)));
64
+ const event = {
65
+ timestamp: new Date().toISOString(),
66
+ version: runtime.localEnvironment.hostVersion?.() ?? 'unknown',
67
+ route: input.route,
68
+ message: input.message,
69
+ stack: input.stack,
70
+ status: input.status,
71
+ source: 'sveltekit'
72
+ };
73
+ logger.error(`SvelteKit error boundary: ${event.message}`, { ...event });
74
+ const { storage } = await getRuntimeBrowserHost(runtime);
75
+ const stored = attempt(() => {
76
+ const buffer = [...readRingBuffer(storage, logger), event].slice(-ERROR_RING_BUFFER_SIZE);
77
+ storage.setItem(ERROR_RING_BUFFER_KEY, JSON.stringify(buffer));
78
+ });
79
+ if (stored.failed)
80
+ logger.warn('The browser error ring buffer refused the captured event.', { key: ERROR_RING_BUFFER_KEY, error: stored.cause });
81
+ }
82
+ //# sourceMappingURL=capture-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture-error.js","sourceRoot":"","sources":["../../src/browser/capture-error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAA4C,MAAM,qBAAqB,CAAC;AAEtG,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEnF,kGAAkG;AAClG,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AACvD,qDAAqD;AACrD,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAsB1C,kFAAkF;AAClF,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;CACrE,CAA0C,CAAC;AAE5C,mGAAmG;AACnG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;IAC1E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC;IACxC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qCAAqC,EAAE,CAAC,CAAC;IAC5I,OAAO,CAAC,CAAC,KAAK,CAAC;AAChB,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC,CAAC;AAE3C,yDAAyD;AACzD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAGH,MAAM,0BAA0B,GAAG,sBAAsB,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAKnG,wEAAwE;AACxE,SAAS,cAAc,CAAC,OAAsC,EAAE,MAAc;IAC7E,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACnD,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACpD,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC;IACvC,MAAM,CAAC,IAAI,CAAC,kDAAkD,EAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACzJ,OAAO,EAAE,CAAC;AACX,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAA4B,EAAE,MAAc,EAAE,KAAqB;IAC9G,8GAA8G;IAC9G,8EAA8E;IAC9E,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,sBAAsB,CAAC,KAAK,CAAC,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChH,MAAM,KAAK,GAAwB;QAClC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,IAAI,SAAS;QAC9D,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,WAAW;KACnB,CAAC;IACF,MAAM,CAAC,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IACzE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,MAAM,MAAM,GAAG,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC;QAC1F,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,2DAA2D,EAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AAClJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @vibesdotdev/logging/browser
3
+ *
4
+ * Browser-optimized logging sinks for vibes logging.
5
+ */
6
+ export { default as loggingBrowserPlugin, loggingBrowserPlugin as default } from './logging-browser.plugin.ts';
7
+ export { browserSinkDescriptor } from './sinks/browser/browser.browser.descriptor.ts';
8
+ export { default as BrowserSink } from './sinks/browser/browser.impl.browser.ts';
9
+ export { captureSvelteKitError, type SvelteKitError, type ErrorCaptureRuntime, type ErrorTelemetryEvent } from './capture-error.ts';
10
+ export { readRecentBrowserErrors, ReadRecentBrowserErrorsOptionsSchema, type ReadRecentBrowserErrorsOptions, type ErrorReadRuntime } from './read-errors.ts';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,oBAAoB,IAAI,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAG/G,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAGtF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAGjF,OAAO,EAAE,qBAAqB,EAAE,KAAK,cAAc,EAAE,KAAK,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGpI,OAAO,EAAE,uBAAuB,EAAE,oCAAoC,EAAE,KAAK,8BAA8B,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @vibesdotdev/logging/browser
3
+ *
4
+ * Browser-optimized logging sinks for vibes logging.
5
+ */
6
+ // Plugin
7
+ export { default as loggingBrowserPlugin, loggingBrowserPlugin as default } from "./logging-browser.plugin.js";
8
+ // Sink descriptors
9
+ export { browserSinkDescriptor } from "./sinks/browser/browser.browser.descriptor.js";
10
+ // Implementation (for direct use / testing)
11
+ export { default as BrowserSink } from "./sinks/browser/browser.impl.browser.js";
12
+ // SvelteKit error boundary capture
13
+ export { captureSvelteKitError } from "./capture-error.js";
14
+ // Recent captured errors, read back from the ring buffer
15
+ export { readRecentBrowserErrors, ReadRecentBrowserErrorsOptionsSchema } from "./read-errors.js";
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,SAAS;AACT,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,oBAAoB,IAAI,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAE/G,mBAAmB;AACnB,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAEtF,4CAA4C;AAC5C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAEjF,mCAAmC;AACnC,OAAO,EAAE,qBAAqB,EAA2E,MAAM,oBAAoB,CAAC;AAEpI,yDAAyD;AACzD,OAAO,EAAE,uBAAuB,EAAE,oCAAoC,EAA8D,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Logging Browser Plugin
3
+ *
4
+ * Registers browser-optimized logging sinks with the runtime.
5
+ * Browser environments only (uses localStorage, window, console CSS).
6
+ */
7
+ export declare const loggingBrowserPlugin: import("@vibesdotdev/kernel").RuntimePlugin;
8
+ export default loggingBrowserPlugin;
9
+ //# sourceMappingURL=logging-browser.plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging-browser.plugin.d.ts","sourceRoot":"","sources":["../../src/browser/logging-browser.plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,eAAO,MAAM,oBAAoB,6CAiB/B,CAAC;AAEH,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Logging Browser Plugin
3
+ *
4
+ * Registers browser-optimized logging sinks with the runtime.
5
+ * Browser environments only (uses localStorage, window, console CSS).
6
+ */
7
+ import { createRuntimePlugin, getRuntimeBrowserHost, getRuntimeConsole } from '@vibesdotdev/kernel';
8
+ // Descriptors
9
+ import browserSinkDescriptor from "./sinks/browser/browser.browser.descriptor.js";
10
+ export const loggingBrowserPlugin = createRuntimePlugin({
11
+ id: '@vibesdotdev/logging/browser',
12
+ name: 'Logging Browser',
13
+ description: 'Browser-optimized logging sinks with localStorage buffering and styled console output.',
14
+ dependencies: ['logging'],
15
+ descriptors: [browserSinkDescriptor],
16
+ onRegister: async (runtime) => {
17
+ // Register loader for browser sink implementation
18
+ runtime.registerLoader('logging/sink', browserSinkDescriptor.id, async () => {
19
+ await getRuntimeBrowserHost(runtime);
20
+ await getRuntimeConsole(runtime);
21
+ return { impl: (await import("./sinks/browser/browser.impl.browser.js")).default };
22
+ });
23
+ }
24
+ });
25
+ export default loggingBrowserPlugin;
26
+ //# sourceMappingURL=logging-browser.plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging-browser.plugin.js","sourceRoot":"","sources":["../../src/browser/logging-browser.plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEpG,cAAc;AACd,OAAO,qBAAqB,MAAM,+CAA+C,CAAC;AAElF,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;IACvD,EAAE,EAAE,8BAA8B;IAClC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACV,wFAAwF;IACzF,YAAY,EAAE,CAAC,SAAS,CAAC;IAEzB,WAAW,EAAE,CAAC,qBAAqB,CAAC;IAEpC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7B,kDAAkD;QAClD,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,qBAAqB,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACjC,OAAO,EAAE,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,yCAAyC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACpF,CAAC,CAAC,CAAC;IACJ,CAAC;CACD,CAAC,CAAC;AAEH,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from './logging-browser.plugin.ts';
2
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/browser/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from "./logging-browser.plugin.js";
2
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/browser/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Browser Error Reader
3
+ *
4
+ * Reads the recent errors `captureSvelteKitError` keeps in the ring buffer on
5
+ * the handed runtime's browser host storage (`runtime/browser-host`). The
6
+ * reader never writes: a malformed buffer reads as empty and is left for the
7
+ * next capture to report and replace.
8
+ */
9
+ import * as z from 'zod/v4';
10
+ import { type RuntimeRef } from '@vibesdotdev/kernel';
11
+ import { type ErrorTelemetryEvent } from './capture-error.ts';
12
+ /** How many recent errors to read, and from when. */
13
+ export declare const ReadRecentBrowserErrorsOptionsSchema: z.ZodObject<{
14
+ limit: z.ZodDefault<z.ZodNumber>;
15
+ since: z.ZodOptional<z.ZodISODateTime>;
16
+ }, z.core.$strip>;
17
+ export type ReadRecentBrowserErrorsOptions = z.input<typeof ReadRecentBrowserErrorsOptionsSchema>;
18
+ /** The handed runtime surface the reader needs: its browser host. */
19
+ export type ErrorReadRuntime = Pick<RuntimeRef, 'hasKind' | 'query'>;
20
+ /**
21
+ * The newest recorded browser errors, oldest first. A runtime with no browser
22
+ * host refuses `UNAVAILABLE browser-host-unavailable`; an absent, unreadable
23
+ * or malformed buffer reads as no errors.
24
+ */
25
+ export declare function readRecentBrowserErrors(runtime: ErrorReadRuntime, options?: ReadRecentBrowserErrorsOptions): Promise<ErrorTelemetryEvent[]>;
26
+ //# sourceMappingURL=read-errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-errors.d.ts","sourceRoot":"","sources":["../../src/browser/read-errors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAyB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,EAAwE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEpI,qDAAqD;AACrD,eAAO,MAAM,oCAAoC;;;iBAK/C,CAAC;AACH,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAC;AAElG,qEAAqE;AACrE,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC;AAErE;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,GAAE,8BAAmC,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAUrJ"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Browser Error Reader
3
+ *
4
+ * Reads the recent errors `captureSvelteKitError` keeps in the ring buffer on
5
+ * the handed runtime's browser host storage (`runtime/browser-host`). The
6
+ * reader never writes: a malformed buffer reads as empty and is left for the
7
+ * next capture to report and replace.
8
+ */
9
+ import * as z from 'zod/v4';
10
+ import { getRuntimeBrowserHost } from '@vibesdotdev/kernel';
11
+ import { attempt } from "../core/outcome.js";
12
+ import { ERROR_RING_BUFFER_KEY, ERROR_RING_BUFFER_SIZE, ErrorRingBufferSchema } from "./capture-error.js";
13
+ /** How many recent errors to read, and from when. */
14
+ export const ReadRecentBrowserErrorsOptionsSchema = z.object({
15
+ /** The newest N events, at most the ring buffer's size. Default 20. */
16
+ limit: z.number().int().positive().max(ERROR_RING_BUFFER_SIZE).default(20),
17
+ /** Only events at or after this ISO timestamp. */
18
+ since: z.iso.datetime().optional()
19
+ });
20
+ /**
21
+ * The newest recorded browser errors, oldest first. A runtime with no browser
22
+ * host refuses `UNAVAILABLE browser-host-unavailable`; an absent, unreadable
23
+ * or malformed buffer reads as no errors.
24
+ */
25
+ export async function readRecentBrowserErrors(runtime, options = {}) {
26
+ const { limit, since } = ReadRecentBrowserErrorsOptionsSchema.parse(options);
27
+ const { storage } = await getRuntimeBrowserHost(runtime);
28
+ const raw = attempt(() => storage.getItem(ERROR_RING_BUFFER_KEY));
29
+ if (raw.failed || raw.value === null)
30
+ return [];
31
+ const stored = ErrorRingBufferSchema.safeParse(raw.value);
32
+ if (!stored.success)
33
+ return [];
34
+ const floor = since === undefined ? undefined : Date.parse(since);
35
+ const events = floor === undefined ? stored.data : stored.data.filter(event => Date.parse(event.timestamp) >= floor);
36
+ return events.slice(-limit);
37
+ }
38
+ //# sourceMappingURL=read-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-errors.js","sourceRoot":"","sources":["../../src/browser/read-errors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAmB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,qBAAqB,EAA4B,MAAM,oBAAoB,CAAC;AAEpI,qDAAqD;AACrD,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5D,uEAAuE;IACvE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1E,kDAAkD;IAClD,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAMH;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,OAAyB,EAAE,UAA0C,EAAE;IACpH,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,oCAAoC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7E,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAClE,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC;IACrH,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Browser Sink Descriptor
3
+ *
4
+ * Browser-optimized sink with localStorage buffering and styled console output.
5
+ * Provides persistence across page reloads and batched log delivery.
6
+ */
7
+ import type { SinkDescriptor } from '@vibesdotdev/logging/schemas/sink';
8
+ export declare const browserSinkDescriptor: SinkDescriptor;
9
+ export default browserSinkDescriptor;
10
+ //# sourceMappingURL=browser.browser.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.browser.descriptor.d.ts","sourceRoot":"","sources":["../../../../src/browser/sinks/browser/browser.browser.descriptor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAExE,eAAO,MAAM,qBAAqB,EAAE,cAcnC,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Browser Sink Descriptor
3
+ *
4
+ * Browser-optimized sink with localStorage buffering and styled console output.
5
+ * Provides persistence across page reloads and batched log delivery.
6
+ */
7
+ export const browserSinkDescriptor = {
8
+ kind: 'logging/sink',
9
+ id: 'browser',
10
+ name: 'Browser Sink',
11
+ description: 'Browser-optimized logging with localStorage buffering and styled console output',
12
+ tags: ['browser', 'persistent'],
13
+ requiredContext: ['runtime/browser-host', 'runtime/stdio'],
14
+ async: true,
15
+ batching: {
16
+ enabled: true,
17
+ maxSize: 100,
18
+ maxWait: 5000 // 5 seconds
19
+ },
20
+ formats: ['jsonl', 'pretty']
21
+ };
22
+ export default browserSinkDescriptor;
23
+ //# sourceMappingURL=browser.browser.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.browser.descriptor.js","sourceRoot":"","sources":["../../../../src/browser/sinks/browser/browser.browser.descriptor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACpD,IAAI,EAAE,cAAc;IACpB,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,iFAAiF;IAC9F,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;IAC/B,eAAe,EAAE,CAAC,sBAAsB,EAAE,eAAe,CAAC;IAC1D,KAAK,EAAE,IAAI;IACX,QAAQ,EAAE;QACT,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,GAAG;QACZ,OAAO,EAAE,IAAI,CAAC,YAAY;KAC1B;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;CAC5B,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Browser Sink Implementation
3
+ *
4
+ * Browser-optimized sink with:
5
+ * - localStorage buffering for persistence across reloads
6
+ * - Styled console output using CSS
7
+ * - Batched writes for performance
8
+ * - Automatic cleanup on page unload
9
+ */
10
+ import type { SinkImplementation, SinkContext } from '@vibesdotdev/logging/kinds/sink';
11
+ import type { SinkDescriptor } from '@vibesdotdev/logging/schemas/sink';
12
+ import { type RuntimeLogEntry } from '@vibesdotdev/logging/schemas/entry';
13
+ import * as z from 'zod/v4';
14
+ import { type RuntimeBrowserHost, type RuntimeConsole } from '@vibesdotdev/kernel';
15
+ /**
16
+ * The most recent browser storage failure the sink absorbed. Storage failures
17
+ * never break logging (console output continues, accepted entries stay in
18
+ * memory), so they are recorded here instead of thrown: `read`/`remove`/`write`
19
+ * carry the host's refusal as `cause`; `malformed` carries the parse issues of
20
+ * a stored buffer that is not valid wire entries.
21
+ */
22
+ export type BrowserStorageFailure = {
23
+ readonly operation: 'read' | 'remove' | 'write';
24
+ readonly key: string;
25
+ readonly cause: unknown;
26
+ } | {
27
+ readonly operation: 'malformed';
28
+ readonly key: string;
29
+ readonly cause: z.ZodError;
30
+ };
31
+ export interface BrowserSinkContext extends SinkContext {
32
+ readonly 'runtime/browser-host': RuntimeBrowserHost;
33
+ readonly 'runtime/stdio': RuntimeConsole;
34
+ }
35
+ /**
36
+ * Browser sink - optimized for browser environments with:
37
+ * - Styled console output with color-coded namespaces
38
+ * - localStorage buffering for persistence
39
+ * - Batched writes and automatic cleanup
40
+ */
41
+ export default class BrowserSink implements SinkImplementation {
42
+ readonly id: string;
43
+ readonly descriptor: SinkDescriptor;
44
+ private readonly config;
45
+ private buffer;
46
+ /** The one-shot persist pending for the current buffer (lifecycle-owned, RC07). */
47
+ private flushDisposer;
48
+ /** Batched persistence delay; unset when batching is off. */
49
+ private readonly batchWaitMs;
50
+ private readonly runtime;
51
+ private readonly browser;
52
+ private readonly console;
53
+ private unsubscribeUnload;
54
+ private closed;
55
+ private lastStorageFailure;
56
+ constructor(descriptor: SinkDescriptor, context: BrowserSinkContext);
57
+ emit(entry: RuntimeLogEntry): void;
58
+ private schedulePersist;
59
+ flush(): Promise<void>;
60
+ close(): Promise<void>;
61
+ /**
62
+ * Absorb a storage failure observably: record it for {@link storageFailure}
63
+ * and report it once on the handed console when it is a new kind of failure,
64
+ * so a refused or full storage is never silent and never floods the console.
65
+ */
66
+ private recordStorageFailure;
67
+ /**
68
+ * The latest absorbed storage failure, or `null` when none was recorded. A
69
+ * later successful write clears a `write` failure. See {@link BrowserStorageFailure}.
70
+ */
71
+ storageFailure(): BrowserStorageFailure | null;
72
+ /**
73
+ * Valid persisted wire entries. An absent buffer (or disabled storage) is
74
+ * empty; a refused read or a malformed buffer is also empty and is recorded
75
+ * on {@link storageFailure}.
76
+ */
77
+ getBufferedEntries(): RuntimeLogEntry[];
78
+ clearBuffer(): void;
79
+ private writeToConsole;
80
+ private persistBuffer;
81
+ private restoreBuffer;
82
+ }
83
+ //# sourceMappingURL=browser.impl.browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.impl.browser.d.ts","sourceRoot":"","sources":["../../../../src/browser/sinks/browser/browser.impl.browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACvF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAyB,KAAK,eAAe,EAAiB,MAAM,oCAAoC,CAAC;AAChH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAI5B,OAAO,EAAmD,KAAK,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAkDpI;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAC9B;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAClG;IAAE,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAA;CAAE,CAAC;AAEzF,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACtD,QAAQ,CAAC,sBAAsB,EAAE,kBAAkB,CAAC;IACpD,QAAQ,CAAC,eAAe,EAAE,cAAc,CAAC;CACzC;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,YAAW,kBAAkB;IAC7D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IACjE,OAAO,CAAC,MAAM,CAAyB;IACvC,mFAAmF;IACnF,OAAO,CAAC,aAAa,CAAyB;IAC9C,6DAA6D;IAC7D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,kBAAkB,CAAsC;gBAEpD,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,kBAAkB;IAoBnE,IAAI,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAgBlC,OAAO,CAAC,eAAe;IAajB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAW5B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;;OAGG;IACH,cAAc,IAAI,qBAAqB,GAAG,IAAI;IAI9C;;;;OAIG;IACH,kBAAkB,IAAI,eAAe,EAAE;IAevC,WAAW,IAAI,IAAI;IASnB,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,aAAa;CAUrB"}