@vibesdotdev/logging 0.0.1

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 (393) hide show
  1. package/README.md +80 -0
  2. package/SPEC.md +65 -0
  3. package/dist/audit/audit.descriptor.d.ts +11 -0
  4. package/dist/audit/audit.descriptor.d.ts.map +1 -0
  5. package/dist/audit/audit.descriptor.js +40 -0
  6. package/dist/audit/audit.descriptor.js.map +1 -0
  7. package/dist/audit/audit.storage.schema.d.ts +79 -0
  8. package/dist/audit/audit.storage.schema.d.ts.map +1 -0
  9. package/dist/audit/audit.storage.schema.js +33 -0
  10. package/dist/audit/audit.storage.schema.js.map +1 -0
  11. package/dist/audit/index.d.ts +2 -0
  12. package/dist/audit/index.d.ts.map +1 -0
  13. package/dist/audit/index.js +2 -0
  14. package/dist/audit/index.js.map +1 -0
  15. package/dist/cli/logs.descriptor.d.ts +9 -0
  16. package/dist/cli/logs.descriptor.d.ts.map +1 -0
  17. package/dist/cli/logs.descriptor.js +16 -0
  18. package/dist/cli/logs.descriptor.js.map +1 -0
  19. package/dist/cli/logs.list.descriptor.d.ts +9 -0
  20. package/dist/cli/logs.list.descriptor.d.ts.map +1 -0
  21. package/dist/cli/logs.list.descriptor.js +23 -0
  22. package/dist/cli/logs.list.descriptor.js.map +1 -0
  23. package/dist/cli/logs.list.impl.d.ts +13 -0
  24. package/dist/cli/logs.list.impl.d.ts.map +1 -0
  25. package/dist/cli/logs.list.impl.js +81 -0
  26. package/dist/cli/logs.list.impl.js.map +1 -0
  27. package/dist/cli/logs.rotate.descriptor.d.ts +9 -0
  28. package/dist/cli/logs.rotate.descriptor.d.ts.map +1 -0
  29. package/dist/cli/logs.rotate.descriptor.js +34 -0
  30. package/dist/cli/logs.rotate.descriptor.js.map +1 -0
  31. package/dist/cli/logs.rotate.impl.d.ts +17 -0
  32. package/dist/cli/logs.rotate.impl.d.ts.map +1 -0
  33. package/dist/cli/logs.rotate.impl.js +48 -0
  34. package/dist/cli/logs.rotate.impl.js.map +1 -0
  35. package/dist/cli/logs.search.descriptor.d.ts +9 -0
  36. package/dist/cli/logs.search.descriptor.d.ts.map +1 -0
  37. package/dist/cli/logs.search.descriptor.js +55 -0
  38. package/dist/cli/logs.search.descriptor.js.map +1 -0
  39. package/dist/cli/logs.search.impl.d.ts +22 -0
  40. package/dist/cli/logs.search.impl.d.ts.map +1 -0
  41. package/dist/cli/logs.search.impl.js +145 -0
  42. package/dist/cli/logs.search.impl.js.map +1 -0
  43. package/dist/cli/logs.tail.descriptor.d.ts +9 -0
  44. package/dist/cli/logs.tail.descriptor.d.ts.map +1 -0
  45. package/dist/cli/logs.tail.descriptor.js +43 -0
  46. package/dist/cli/logs.tail.descriptor.js.map +1 -0
  47. package/dist/cli/logs.tail.impl.d.ts +19 -0
  48. package/dist/cli/logs.tail.impl.d.ts.map +1 -0
  49. package/dist/cli/logs.tail.impl.js +78 -0
  50. package/dist/cli/logs.tail.impl.js.map +1 -0
  51. package/dist/cli/logs.view.descriptor.d.ts +9 -0
  52. package/dist/cli/logs.view.descriptor.d.ts.map +1 -0
  53. package/dist/cli/logs.view.descriptor.js +51 -0
  54. package/dist/cli/logs.view.descriptor.js.map +1 -0
  55. package/dist/cli/logs.view.impl.d.ts +21 -0
  56. package/dist/cli/logs.view.impl.d.ts.map +1 -0
  57. package/dist/cli/logs.view.impl.js +85 -0
  58. package/dist/cli/logs.view.impl.js.map +1 -0
  59. package/dist/cli/types.d.ts +57 -0
  60. package/dist/cli/types.d.ts.map +1 -0
  61. package/dist/cli/types.js +9 -0
  62. package/dist/cli/types.js.map +1 -0
  63. package/dist/contexts/audit.d.ts +34 -0
  64. package/dist/contexts/audit.d.ts.map +1 -0
  65. package/dist/contexts/audit.js +13 -0
  66. package/dist/contexts/audit.js.map +1 -0
  67. package/dist/contexts/fallback-logger.d.ts +3 -0
  68. package/dist/contexts/fallback-logger.d.ts.map +1 -0
  69. package/dist/contexts/fallback-logger.js +67 -0
  70. package/dist/contexts/fallback-logger.js.map +1 -0
  71. package/dist/contexts/index.d.ts +8 -0
  72. package/dist/contexts/index.d.ts.map +1 -0
  73. package/dist/contexts/index.js +9 -0
  74. package/dist/contexts/index.js.map +1 -0
  75. package/dist/contexts/logger.d.ts +26 -0
  76. package/dist/contexts/logger.d.ts.map +1 -0
  77. package/dist/contexts/logger.js +88 -0
  78. package/dist/contexts/logger.js.map +1 -0
  79. package/dist/core/index.d.ts +9 -0
  80. package/dist/core/index.d.ts.map +1 -0
  81. package/dist/core/index.js +10 -0
  82. package/dist/core/index.js.map +1 -0
  83. package/dist/core/logger.d.ts +3 -0
  84. package/dist/core/logger.d.ts.map +1 -0
  85. package/dist/core/logger.js +118 -0
  86. package/dist/core/logger.js.map +1 -0
  87. package/dist/core/namespace.d.ts +69 -0
  88. package/dist/core/namespace.d.ts.map +1 -0
  89. package/dist/core/namespace.js +136 -0
  90. package/dist/core/namespace.js.map +1 -0
  91. package/dist/core/parsing.d.ts +3 -0
  92. package/dist/core/parsing.d.ts.map +1 -0
  93. package/dist/core/parsing.js +25 -0
  94. package/dist/core/parsing.js.map +1 -0
  95. package/dist/core/types.d.ts +69 -0
  96. package/dist/core/types.d.ts.map +1 -0
  97. package/dist/core/types.js +7 -0
  98. package/dist/core/types.js.map +1 -0
  99. package/dist/docs/levels.docs.descriptor.d.ts +4 -0
  100. package/dist/docs/levels.docs.descriptor.d.ts.map +1 -0
  101. package/dist/docs/levels.docs.descriptor.js +342 -0
  102. package/dist/docs/levels.docs.descriptor.js.map +1 -0
  103. package/dist/docs/structured.docs.descriptor.d.ts +4 -0
  104. package/dist/docs/structured.docs.descriptor.d.ts.map +1 -0
  105. package/dist/docs/structured.docs.descriptor.js +442 -0
  106. package/dist/docs/structured.docs.descriptor.js.map +1 -0
  107. package/dist/docs/transports.docs.descriptor.d.ts +4 -0
  108. package/dist/docs/transports.docs.descriptor.d.ts.map +1 -0
  109. package/dist/docs/transports.docs.descriptor.js +426 -0
  110. package/dist/docs/transports.docs.descriptor.js.map +1 -0
  111. package/dist/formatters/index.d.ts +7 -0
  112. package/dist/formatters/index.d.ts.map +1 -0
  113. package/dist/formatters/index.js +8 -0
  114. package/dist/formatters/index.js.map +1 -0
  115. package/dist/formatters/json/json.formatters.descriptor.d.ts +9 -0
  116. package/dist/formatters/json/json.formatters.descriptor.d.ts.map +1 -0
  117. package/dist/formatters/json/json.formatters.descriptor.js +22 -0
  118. package/dist/formatters/json/json.formatters.descriptor.js.map +1 -0
  119. package/dist/formatters/json/json.impl.d.ts +22 -0
  120. package/dist/formatters/json/json.impl.d.ts.map +1 -0
  121. package/dist/formatters/json/json.impl.js +32 -0
  122. package/dist/formatters/json/json.impl.js.map +1 -0
  123. package/dist/formatters/json5/json5.descriptor.d.ts +9 -0
  124. package/dist/formatters/json5/json5.descriptor.d.ts.map +1 -0
  125. package/dist/formatters/json5/json5.descriptor.js +22 -0
  126. package/dist/formatters/json5/json5.descriptor.js.map +1 -0
  127. package/dist/formatters/json5/json5.impl.d.ts +23 -0
  128. package/dist/formatters/json5/json5.impl.d.ts.map +1 -0
  129. package/dist/formatters/json5/json5.impl.js +34 -0
  130. package/dist/formatters/json5/json5.impl.js.map +1 -0
  131. package/dist/formatters/jsonl/jsonl.descriptor.d.ts +10 -0
  132. package/dist/formatters/jsonl/jsonl.descriptor.d.ts.map +1 -0
  133. package/dist/formatters/jsonl/jsonl.descriptor.js +23 -0
  134. package/dist/formatters/jsonl/jsonl.descriptor.js.map +1 -0
  135. package/dist/formatters/jsonl/jsonl.impl.d.ts +21 -0
  136. package/dist/formatters/jsonl/jsonl.impl.d.ts.map +1 -0
  137. package/dist/formatters/jsonl/jsonl.impl.js +30 -0
  138. package/dist/formatters/jsonl/jsonl.impl.js.map +1 -0
  139. package/dist/formatters/pretty/pretty.descriptor.d.ts +9 -0
  140. package/dist/formatters/pretty/pretty.descriptor.d.ts.map +1 -0
  141. package/dist/formatters/pretty/pretty.descriptor.js +23 -0
  142. package/dist/formatters/pretty/pretty.descriptor.js.map +1 -0
  143. package/dist/formatters/pretty/pretty.impl.cli.d.ts +23 -0
  144. package/dist/formatters/pretty/pretty.impl.cli.d.ts.map +1 -0
  145. package/dist/formatters/pretty/pretty.impl.cli.js +81 -0
  146. package/dist/formatters/pretty/pretty.impl.cli.js.map +1 -0
  147. package/dist/index.d.ts +67 -0
  148. package/dist/index.d.ts.map +1 -0
  149. package/dist/index.js +97 -0
  150. package/dist/index.js.map +1 -0
  151. package/dist/kinds/audit.d.ts +85 -0
  152. package/dist/kinds/audit.d.ts.map +1 -0
  153. package/dist/kinds/audit.js +71 -0
  154. package/dist/kinds/audit.js.map +1 -0
  155. package/dist/kinds/contexts.d.ts +21 -0
  156. package/dist/kinds/contexts.d.ts.map +1 -0
  157. package/dist/kinds/contexts.js +8 -0
  158. package/dist/kinds/contexts.js.map +1 -0
  159. package/dist/kinds/formatter.d.ts +42 -0
  160. package/dist/kinds/formatter.d.ts.map +1 -0
  161. package/dist/kinds/formatter.js +69 -0
  162. package/dist/kinds/formatter.js.map +1 -0
  163. package/dist/kinds/index.d.ts +13 -0
  164. package/dist/kinds/index.d.ts.map +1 -0
  165. package/dist/kinds/index.js +13 -0
  166. package/dist/kinds/index.js.map +1 -0
  167. package/dist/kinds/logger.contracts.d.ts +16 -0
  168. package/dist/kinds/logger.contracts.d.ts.map +1 -0
  169. package/dist/kinds/logger.contracts.js +9 -0
  170. package/dist/kinds/logger.contracts.js.map +1 -0
  171. package/dist/kinds/logger.d.ts +15 -0
  172. package/dist/kinds/logger.d.ts.map +1 -0
  173. package/dist/kinds/logger.impl.d.ts +40 -0
  174. package/dist/kinds/logger.impl.d.ts.map +1 -0
  175. package/dist/kinds/logger.impl.js +139 -0
  176. package/dist/kinds/logger.impl.js.map +1 -0
  177. package/dist/kinds/logger.js +28 -0
  178. package/dist/kinds/logger.js.map +1 -0
  179. package/dist/kinds/logger.utils.d.ts +15 -0
  180. package/dist/kinds/logger.utils.d.ts.map +1 -0
  181. package/dist/kinds/logger.utils.js +55 -0
  182. package/dist/kinds/logger.utils.js.map +1 -0
  183. package/dist/kinds/output.contracts.d.ts +50 -0
  184. package/dist/kinds/output.contracts.d.ts.map +1 -0
  185. package/dist/kinds/output.contracts.js +10 -0
  186. package/dist/kinds/output.contracts.js.map +1 -0
  187. package/dist/kinds/output.d.ts +20 -0
  188. package/dist/kinds/output.d.ts.map +1 -0
  189. package/dist/kinds/output.impl.d.ts +22 -0
  190. package/dist/kinds/output.impl.d.ts.map +1 -0
  191. package/dist/kinds/output.impl.js +84 -0
  192. package/dist/kinds/output.impl.js.map +1 -0
  193. package/dist/kinds/output.js +29 -0
  194. package/dist/kinds/output.js.map +1 -0
  195. package/dist/kinds/output.types.d.ts +92 -0
  196. package/dist/kinds/output.types.d.ts.map +1 -0
  197. package/dist/kinds/output.types.js +7 -0
  198. package/dist/kinds/output.types.js.map +1 -0
  199. package/dist/kinds/sink.d.ts +40 -0
  200. package/dist/kinds/sink.d.ts.map +1 -0
  201. package/dist/kinds/sink.js +61 -0
  202. package/dist/kinds/sink.js.map +1 -0
  203. package/dist/logger.context.descriptor.d.ts +21 -0
  204. package/dist/logger.context.descriptor.d.ts.map +1 -0
  205. package/dist/logger.context.descriptor.js +12 -0
  206. package/dist/logger.context.descriptor.js.map +1 -0
  207. package/dist/logging.cli.plugin.d.ts +20 -0
  208. package/dist/logging.cli.plugin.d.ts.map +1 -0
  209. package/dist/logging.cli.plugin.js +39 -0
  210. package/dist/logging.cli.plugin.js.map +1 -0
  211. package/dist/logging.plugin.d.ts +16 -0
  212. package/dist/logging.plugin.d.ts.map +1 -0
  213. package/dist/logging.plugin.js +83 -0
  214. package/dist/logging.plugin.js.map +1 -0
  215. package/dist/outputs/index.d.ts +7 -0
  216. package/dist/outputs/index.d.ts.map +1 -0
  217. package/dist/outputs/index.js +8 -0
  218. package/dist/outputs/index.js.map +1 -0
  219. package/dist/outputs/remote/remote.descriptor.d.ts +10 -0
  220. package/dist/outputs/remote/remote.descriptor.d.ts.map +1 -0
  221. package/dist/outputs/remote/remote.descriptor.js +24 -0
  222. package/dist/outputs/remote/remote.descriptor.js.map +1 -0
  223. package/dist/outputs/remote/remote.impl.d.ts +50 -0
  224. package/dist/outputs/remote/remote.impl.d.ts.map +1 -0
  225. package/dist/outputs/remote/remote.impl.js +178 -0
  226. package/dist/outputs/remote/remote.impl.js.map +1 -0
  227. package/dist/outputs.context.descriptor.d.ts +19 -0
  228. package/dist/outputs.context.descriptor.d.ts.map +1 -0
  229. package/dist/outputs.context.descriptor.js +9 -0
  230. package/dist/outputs.context.descriptor.js.map +1 -0
  231. package/dist/outputs.context.impl.d.ts +9 -0
  232. package/dist/outputs.context.impl.d.ts.map +1 -0
  233. package/dist/outputs.context.impl.js +18 -0
  234. package/dist/outputs.context.impl.js.map +1 -0
  235. package/dist/paths.d.ts +8 -0
  236. package/dist/paths.d.ts.map +1 -0
  237. package/dist/paths.js +10 -0
  238. package/dist/paths.js.map +1 -0
  239. package/dist/schemas/audit.d.ts +133 -0
  240. package/dist/schemas/audit.d.ts.map +1 -0
  241. package/dist/schemas/audit.js +80 -0
  242. package/dist/schemas/audit.js.map +1 -0
  243. package/dist/schemas/entry.d.ts +74 -0
  244. package/dist/schemas/entry.d.ts.map +1 -0
  245. package/dist/schemas/entry.js +62 -0
  246. package/dist/schemas/entry.js.map +1 -0
  247. package/dist/schemas/formatter.d.ts +46 -0
  248. package/dist/schemas/formatter.d.ts.map +1 -0
  249. package/dist/schemas/formatter.js +31 -0
  250. package/dist/schemas/formatter.js.map +1 -0
  251. package/dist/schemas/index.d.ts +12 -0
  252. package/dist/schemas/index.d.ts.map +1 -0
  253. package/dist/schemas/index.js +18 -0
  254. package/dist/schemas/index.js.map +1 -0
  255. package/dist/schemas/logger.d.ts +48 -0
  256. package/dist/schemas/logger.d.ts.map +1 -0
  257. package/dist/schemas/logger.js +27 -0
  258. package/dist/schemas/logger.js.map +1 -0
  259. package/dist/schemas/output.d.ts +68 -0
  260. package/dist/schemas/output.d.ts.map +1 -0
  261. package/dist/schemas/output.js +48 -0
  262. package/dist/schemas/output.js.map +1 -0
  263. package/dist/schemas/sink.d.ts +52 -0
  264. package/dist/schemas/sink.d.ts.map +1 -0
  265. package/dist/schemas/sink.js +30 -0
  266. package/dist/schemas/sink.js.map +1 -0
  267. package/dist/sinks/buffer/buffer.descriptor.d.ts +4 -0
  268. package/dist/sinks/buffer/buffer.descriptor.d.ts.map +1 -0
  269. package/dist/sinks/buffer/buffer.descriptor.js +11 -0
  270. package/dist/sinks/buffer/buffer.descriptor.js.map +1 -0
  271. package/dist/sinks/buffer/buffer.impl.cli.d.ts +21 -0
  272. package/dist/sinks/buffer/buffer.impl.cli.d.ts.map +1 -0
  273. package/dist/sinks/buffer/buffer.impl.cli.js +34 -0
  274. package/dist/sinks/buffer/buffer.impl.cli.js.map +1 -0
  275. package/dist/sinks/console/console.descriptor.d.ts +10 -0
  276. package/dist/sinks/console/console.descriptor.d.ts.map +1 -0
  277. package/dist/sinks/console/console.descriptor.js +17 -0
  278. package/dist/sinks/console/console.descriptor.js.map +1 -0
  279. package/dist/sinks/console/console.impl.browser.d.ts +21 -0
  280. package/dist/sinks/console/console.impl.browser.d.ts.map +1 -0
  281. package/dist/sinks/console/console.impl.browser.js +57 -0
  282. package/dist/sinks/console/console.impl.browser.js.map +1 -0
  283. package/dist/sinks/console/console.impl.cli.d.ts +21 -0
  284. package/dist/sinks/console/console.impl.cli.d.ts.map +1 -0
  285. package/dist/sinks/console/console.impl.cli.js +57 -0
  286. package/dist/sinks/console/console.impl.cli.js.map +1 -0
  287. package/dist/sinks/index.d.ts +8 -0
  288. package/dist/sinks/index.d.ts.map +1 -0
  289. package/dist/sinks/index.js +8 -0
  290. package/dist/sinks/index.js.map +1 -0
  291. package/dist/sinks/memory/memory.descriptor.d.ts +10 -0
  292. package/dist/sinks/memory/memory.descriptor.d.ts.map +1 -0
  293. package/dist/sinks/memory/memory.descriptor.js +17 -0
  294. package/dist/sinks/memory/memory.descriptor.js.map +1 -0
  295. package/dist/sinks/memory/memory.impl.d.ts +50 -0
  296. package/dist/sinks/memory/memory.impl.d.ts.map +1 -0
  297. package/dist/sinks/memory/memory.impl.js +88 -0
  298. package/dist/sinks/memory/memory.impl.js.map +1 -0
  299. package/dist/sinks/stdout/stdout.descriptor.d.ts +4 -0
  300. package/dist/sinks/stdout/stdout.descriptor.d.ts.map +1 -0
  301. package/dist/sinks/stdout/stdout.descriptor.js +11 -0
  302. package/dist/sinks/stdout/stdout.descriptor.js.map +1 -0
  303. package/dist/sinks/stdout/stdout.impl.cli.d.ts +10 -0
  304. package/dist/sinks/stdout/stdout.impl.cli.d.ts.map +1 -0
  305. package/dist/sinks/stdout/stdout.impl.cli.js +21 -0
  306. package/dist/sinks/stdout/stdout.impl.cli.js.map +1 -0
  307. package/dist/sinks.context.descriptor.d.ts +19 -0
  308. package/dist/sinks.context.descriptor.d.ts.map +1 -0
  309. package/dist/sinks.context.descriptor.js +9 -0
  310. package/dist/sinks.context.descriptor.js.map +1 -0
  311. package/dist/sinks.context.impl.d.ts +9 -0
  312. package/dist/sinks.context.impl.d.ts.map +1 -0
  313. package/dist/sinks.context.impl.js +18 -0
  314. package/dist/sinks.context.impl.js.map +1 -0
  315. package/package.json +331 -0
  316. package/src/audit/audit.descriptor.ts +45 -0
  317. package/src/audit/audit.storage.schema.ts +57 -0
  318. package/src/audit/index.ts +8 -0
  319. package/src/cli/logs.descriptor.ts +19 -0
  320. package/src/cli/logs.list.descriptor.ts +28 -0
  321. package/src/cli/logs.list.impl.ts +93 -0
  322. package/src/cli/logs.rotate.descriptor.ts +40 -0
  323. package/src/cli/logs.rotate.impl.ts +61 -0
  324. package/src/cli/logs.search.descriptor.ts +61 -0
  325. package/src/cli/logs.search.impl.ts +173 -0
  326. package/src/cli/logs.tail.descriptor.ts +49 -0
  327. package/src/cli/logs.tail.impl.ts +105 -0
  328. package/src/cli/logs.view.descriptor.ts +57 -0
  329. package/src/cli/logs.view.impl.ts +108 -0
  330. package/src/cli/types.ts +59 -0
  331. package/src/contexts/audit.ts +36 -0
  332. package/src/contexts/fallback-logger.ts +80 -0
  333. package/src/contexts/index.ts +23 -0
  334. package/src/contexts/logger.ts +119 -0
  335. package/src/core/index.ts +32 -0
  336. package/src/core/logger.ts +150 -0
  337. package/src/core/namespace.ts +195 -0
  338. package/src/core/parsing.ts +21 -0
  339. package/src/core/types.ts +82 -0
  340. package/src/docs/levels.docs.descriptor.ts +344 -0
  341. package/src/docs/structured.docs.descriptor.ts +444 -0
  342. package/src/docs/transports.docs.descriptor.ts +428 -0
  343. package/src/formatters/index.ts +6 -0
  344. package/src/formatters/json/json.formatters.descriptor.ts +25 -0
  345. package/src/formatters/json/json.impl.ts +41 -0
  346. package/src/formatters/json5/json5.descriptor.ts +25 -0
  347. package/src/formatters/json5/json5.impl.ts +43 -0
  348. package/src/formatters/jsonl/jsonl.descriptor.ts +26 -0
  349. package/src/formatters/jsonl/jsonl.impl.ts +39 -0
  350. package/src/formatters/pretty/pretty.descriptor.ts +26 -0
  351. package/src/formatters/pretty/pretty.impl.cli.ts +101 -0
  352. package/src/index.ts +190 -0
  353. package/src/kinds/audit.ts +169 -0
  354. package/src/kinds/contexts.ts +22 -0
  355. package/src/kinds/formatter.ts +117 -0
  356. package/src/kinds/index.ts +25 -0
  357. package/src/kinds/logger.contracts.ts +17 -0
  358. package/src/kinds/logger.impl.ts +206 -0
  359. package/src/kinds/logger.ts +46 -0
  360. package/src/kinds/logger.utils.ts +91 -0
  361. package/src/kinds/output.contracts.ts +54 -0
  362. package/src/kinds/output.impl.ts +118 -0
  363. package/src/kinds/output.ts +59 -0
  364. package/src/kinds/output.types.ts +105 -0
  365. package/src/kinds/sink.ts +100 -0
  366. package/src/logger.context.descriptor.ts +13 -0
  367. package/src/logging.cli.plugin.ts +43 -0
  368. package/src/logging.plugin.ts +93 -0
  369. package/src/outputs/index.ts +6 -0
  370. package/src/outputs/remote/remote.descriptor.ts +27 -0
  371. package/src/outputs/remote/remote.impl.ts +218 -0
  372. package/src/outputs.context.descriptor.ts +10 -0
  373. package/src/outputs.context.impl.ts +30 -0
  374. package/src/paths.ts +10 -0
  375. package/src/schemas/audit.ts +98 -0
  376. package/src/schemas/entry.ts +88 -0
  377. package/src/schemas/formatter.ts +37 -0
  378. package/src/schemas/index.ts +80 -0
  379. package/src/schemas/logger.ts +38 -0
  380. package/src/schemas/output.ts +62 -0
  381. package/src/schemas/sink.ts +39 -0
  382. package/src/sinks/buffer/buffer.descriptor.ts +13 -0
  383. package/src/sinks/buffer/buffer.impl.cli.ts +49 -0
  384. package/src/sinks/console/console.descriptor.ts +20 -0
  385. package/src/sinks/console/console.impl.browser.ts +69 -0
  386. package/src/sinks/console/console.impl.cli.ts +71 -0
  387. package/src/sinks/index.ts +8 -0
  388. package/src/sinks/memory/memory.descriptor.ts +20 -0
  389. package/src/sinks/memory/memory.impl.ts +119 -0
  390. package/src/sinks/stdout/stdout.descriptor.ts +13 -0
  391. package/src/sinks/stdout/stdout.impl.cli.ts +27 -0
  392. package/src/sinks.context.descriptor.ts +10 -0
  393. package/src/sinks.context.impl.ts +30 -0
@@ -0,0 +1,426 @@
1
+ const descriptor = {
2
+ kind: 'docs/topic',
3
+ id: 'logging.transports',
4
+ title: 'Logging Transports',
5
+ summary: 'Transport layers including console, file, and remote outputs',
6
+ body: {
7
+ type: 'markdown',
8
+ sourceType: 'raw',
9
+ source: `---
10
+ title: Logging Transports
11
+ summary: Transport layers including console, file, and remote outputs
12
+ tags: [logging, transports, console, file, remote, outputs]
13
+ parent: logging
14
+ order: 2
15
+ surfaces: [cli, web, in-app]
16
+ hardware: [consumer, cloud]
17
+ ---
18
+
19
+ # Logging Transports
20
+
21
+ Transports (called "sinks" and "outputs" in the logging system) determine where log entries are written. The \`logging/sink\` and \`logging/output\` runtime kinds provide multiple transport options.
22
+
23
+ ## Transport Types
24
+
25
+ ### Console Sink
26
+
27
+ Writes to stdout/stderr:
28
+
29
+ \`\`\`ts
30
+ import { logger } from '@vibesdotdev/logging';
31
+
32
+ logger.info('Console output');
33
+ // [INFO] [app] Console output
34
+ \`\`\`
35
+
36
+ **Configuration:**
37
+ - Default for CLI and browser
38
+ - Uses pretty formatter by default
39
+ - Color-coded output
40
+
41
+ **Use cases:**
42
+ - Development debugging
43
+ - CLI applications
44
+ - Browser console
45
+
46
+ ### File Output
47
+
48
+ Writes to log files:
49
+
50
+ \`\`\`ts
51
+ import { getVibesRuntime } from '@vibesdotdev/runtime';
52
+
53
+ const runtime = getVibesRuntime();
54
+
55
+ await runtime.registerPlugin(loggingPlugin({
56
+ outputs: [{
57
+ type: 'file',
58
+ path: './logs/app.log',
59
+ format: 'jsonl',
60
+ maxSize: '10MB',
61
+ maxFiles: 5
62
+ }]
63
+ }));
64
+ \`\`\`
65
+
66
+ **Features:**
67
+ - Automatic rotation
68
+ - Compression of old files
69
+ - Timestamp-based naming
70
+
71
+ **Use cases:**
72
+ - Production logging
73
+ - Audit trails
74
+ - Long-term storage
75
+
76
+ ### Memory Sink
77
+
78
+ Buffers logs in memory:
79
+
80
+ \`\`\`ts
81
+ import { memorySinkPlugin } from '@vibesdotdev/logging';
82
+
83
+ await runtime.registerPlugin(memorySinkPlugin({
84
+ maxSize: 1000, // Keep last 1000 entries
85
+ flushOn: 'error' // Auto-flush on error level
86
+ }));
87
+ \`\`\`
88
+
89
+ **Use cases:**
90
+ - Testing
91
+ - Debug sessions
92
+ - Temporary buffering
93
+
94
+ ### Buffer Sink
95
+
96
+ Circular buffer with flush capability:
97
+
98
+ \`\`\`ts
99
+ import { bufferSinkPlugin } from '@vibesdotdev/logging';
100
+
101
+ await runtime.registerPlugin(bufferSinkPlugin({
102
+ capacity: 500,
103
+ flushInterval: 60_000 // Flush every minute
104
+ }));
105
+ \`\`\`
106
+
107
+ **Use cases:**
108
+ - Batch processing
109
+ - Network optimization
110
+ - Error context capture
111
+
112
+ ### Remote Output
113
+
114
+ Sends logs to remote service:
115
+
116
+ \`\`\`ts
117
+ import { remoteOutputPlugin } from '@vibesdotdev/logging';
118
+
119
+ await runtime.registerPlugin(remoteOutputPlugin({
120
+ endpoint: 'https://logs.vibes.dev/ingest',
121
+ apiKey: process.env.LOGS_API_KEY,
122
+ batchSize: 100,
123
+ flushInterval: 5_000
124
+ }));
125
+ \`\`\`
126
+
127
+ **Features:**
128
+ - Batched delivery
129
+ - Retry on failure
130
+ - Compression
131
+
132
+ **Use cases:**
133
+ - Centralized logging
134
+ - Log aggregation services
135
+ - Multi-app correlation
136
+
137
+ ## Configuring Transports
138
+
139
+ ### Multiple Transports
140
+
141
+ \`\`\`ts
142
+ import { loggingPlugin } from '@vibesdotdev/logging';
143
+
144
+ await runtime.registerPlugin(loggingPlugin({
145
+ sinks: ['console', 'memory'],
146
+ outputs: [{
147
+ type: 'file',
148
+ path: './logs/app.log'
149
+ }, {
150
+ type: 'remote',
151
+ endpoint: 'https://logs.vibes.dev/ingest'
152
+ }]
153
+ }));
154
+ \`\`\`
155
+
156
+ **Log flow:**
157
+ \`\`\`
158
+ Logger → Console (immediate)
159
+ → Memory (buffer)
160
+ → File (batched)
161
+ → Remote (batched, compressed)
162
+ \`\`\`
163
+
164
+ ### Transport Selection by Environment
165
+
166
+ \`\`\`ts
167
+ const loggingConfig = {
168
+ development: {
169
+ sinks: ['console'],
170
+ level: 'debug'
171
+ },
172
+ production: {
173
+ sinks: ['console', 'memory'],
174
+ outputs: [
175
+ { type: 'file', path: '/var/log/app.log' },
176
+ { type: 'remote', endpoint: 'https://logs.vibes.dev' }
177
+ ],
178
+ level: 'info'
179
+ }
180
+ };
181
+
182
+ const env = process.env.NODE_ENV || 'development';
183
+ await runtime.registerPlugin(loggingPlugin(loggingConfig[env]));
184
+ \`\`\`
185
+
186
+ ### Transport Selection by Hardware
187
+
188
+ \`\`\`ts
189
+ const loggingConfig = {
190
+ consumer: {
191
+ sinks: ['console'],
192
+ outputs: [{ type: 'file', path: '~/.logs/app.log' }]
193
+ },
194
+ cloud: {
195
+ sinks: ['stdout'],
196
+ outputs: [{ type: 'remote', endpoint: 'https://logs.vibes.dev' }]
197
+ }
198
+ };
199
+
200
+ const hardware = runtime.scope.hardware;
201
+ await runtime.registerPlugin(loggingPlugin(loggingConfig[hardware]));
202
+ \`\`\`
203
+
204
+ ## Formatter Integration
205
+
206
+ Transports use formatters to format log entries:
207
+
208
+ ### Pretty Formatter (Console)
209
+
210
+ \`\`\`ts
211
+ [INFO] [app:server] Server started on port 3000
212
+ \`\`\`
213
+
214
+ **Features:**
215
+ - Color-coded levels
216
+ - Human-readable timestamps
217
+ - Indented context objects
218
+
219
+ ### JSON Formatter
220
+
221
+ \`\`\`json
222
+ {"level":"info","namespace":"app:server","message":"Server started","port":3000,"timestamp":"2024-01-01T00:00:00.000Z"}
223
+ \`\`\`
224
+
225
+ **Features:**
226
+ - Machine-parseable
227
+ - Structured data
228
+ - Log aggregation friendly
229
+
230
+ ### JSONL Formatter
231
+
232
+ \`\`\`
233
+ {"level":"info",...}
234
+ {"level":"error",...}
235
+ {"level":"warn",...}
236
+ \`\`\`
237
+
238
+ **Features:**
239
+ - One JSON per line
240
+ - Easy streaming
241
+ - Efficient storage
242
+
243
+ ## Transport Configuration
244
+
245
+ ### Console Sink
246
+
247
+ \`\`\`ts
248
+ import { consoleSinkPlugin } from '@vibesdotdev/logging';
249
+
250
+ await runtime.registerPlugin(consoleSinkPlugin({
251
+ stderrThreshold: 'warn', // warn/error to stderr
252
+ colors: true, // ANSI colors
253
+ timestamp: true // Include timestamps
254
+ }));
255
+ \`\`\`
256
+
257
+ ### File Output
258
+
259
+ \`\`\`ts
260
+ import { fileOutputPlugin } from '@vibesdotdev/logging';
261
+
262
+ await runtime.registerPlugin(fileOutputPlugin({
263
+ path: './logs/app.log',
264
+ format: 'jsonl',
265
+ rotation: {
266
+ strategy: 'size',
267
+ maxSize: '10MB',
268
+ maxFiles: 5,
269
+ compress: true
270
+ },
271
+ schedule: {
272
+ type: 'daily',
273
+ time: '00:00' // Rotate at midnight
274
+ }
275
+ }));
276
+ \`\`\`
277
+
278
+ ### Remote Output
279
+
280
+ \`\`\`ts
281
+ import { remoteOutputPlugin } from '@vibesdotdev/logging';
282
+
283
+ await runtime.registerPlugin(remoteOutputPlugin({
284
+ endpoint: 'https://logs.vibes.dev/ingest',
285
+ method: 'POST',
286
+ headers: {
287
+ 'Authorization': \`Bearer \${process.env.LOGS_API_KEY}\`,
288
+ 'Content-Type': 'application/json'
289
+ },
290
+ batch: {
291
+ maxSize: 100,
292
+ maxWait: 5_000
293
+ },
294
+ retry: {
295
+ maxAttempts: 3,
296
+ backoff: 'exponential',
297
+ initialDelay: 1_000
298
+ },
299
+ compression: 'gzip'
300
+ }));
301
+ \`\`\`
302
+
303
+ ## Transport Lifecycle
304
+
305
+ ### Initialization
306
+
307
+ \`\`\`ts
308
+ const transport = await runtime.query('logging/sink')
309
+ .filter(d => d.id === 'console')
310
+ .resolve();
311
+
312
+ await transport.ensureReady();
313
+ \`\`\`
314
+
315
+ ### Flushing
316
+
317
+ \`\`\`ts
318
+ // Flush buffered logs
319
+ await transport.flush();
320
+
321
+ // Or auto-flush on interval
322
+ await runtime.registerPlugin(bufferSinkPlugin({
323
+ flushInterval: 60_000 // 1 minute
324
+ }));
325
+ \`\`\`
326
+
327
+ ### Cleanup
328
+
329
+ \`\`\`ts
330
+ // Close transport and release resources
331
+ await transport.close();
332
+ \`\`\`
333
+
334
+ ## Transport Resolution
335
+
336
+ ### Query by ID
337
+
338
+ \`\`\`ts
339
+ const consoleSink = await runtime.query('logging/sink')
340
+ .filter(d => d.id === 'console')
341
+ .resolve();
342
+ \`\`\`
343
+
344
+ ### Query by Hardware
345
+
346
+ \`\`\`ts
347
+ const sink = await runtime.query('logging/sink')
348
+ .forHardware('consumer')
349
+ .resolve();
350
+ \`\`\`
351
+
352
+ ### List All Transports
353
+
354
+ \`\`\`ts
355
+ const sinks = runtime.query('logging/sink').descriptors();
356
+ const outputs = runtime.query('logging/output').descriptors();
357
+
358
+ console.log('Available sinks:', sinks.map(s => s.id));
359
+ console.log('Available outputs:', outputs.map(o => o.id));
360
+ \`\`\`
361
+
362
+ ## Custom Transport
363
+
364
+ \`\`\`ts
365
+ import { createRuntimePlugin } from '@vibesdotdev/runtime';
366
+ import type { SinkImplementation } from '@vibesdotdev/logging';
367
+
368
+ class CustomSink implements SinkImplementation {
369
+ constructor(private config: CustomConfig) {}
370
+
371
+ emit(entry: LogEntry): void {
372
+ // Custom transport logic
373
+ console.log('Custom:', entry);
374
+ }
375
+
376
+ async flush(): Promise<void> {
377
+ // Flush buffered entries
378
+ }
379
+
380
+ async close(): Promise<void> {
381
+ // Cleanup resources
382
+ }
383
+ }
384
+
385
+ const descriptor: SinkDescriptor = {
386
+ kind: 'logging/sink',
387
+ id: 'logging.sink.custom',
388
+ title: 'Custom Sink'
389
+ };
390
+
391
+ export const customSinkPlugin = createRuntimePlugin({
392
+ id: 'custom-sink',
393
+ kinds: [{
394
+ id: 'logging/sink',
395
+ descriptorSchema: SinkDescriptorSchema,
396
+ defaultImplementation: CustomSink
397
+ }],
398
+ descriptors: [descriptor]
399
+ });
400
+ \`\`\`
401
+
402
+ ## Transport Best Practices
403
+
404
+ 1. **Use appropriate transports** — Console for dev, file/remote for prod
405
+ 2. **Configure rotation** — Prevent disk exhaustion
406
+ 3. **Batch remote sends** — Reduce network overhead
407
+ 4. **Handle failures gracefully** — Don't crash on log failures
408
+ 5. **Sanitize sensitive data** — Remove PII before sending
409
+ 6. **Monitor transport health** — Alert on delivery failures
410
+
411
+ :::card{title="See also"}
412
+ - [\`logging.levels\`](logging.levels) — Log levels
413
+ - [\`logging.structured\`](logging.structured) — Structured logging
414
+ - [\`config.environment\`](config.environment) — Environment configuration
415
+ :::
416
+ `
417
+ },
418
+ parent: 'logging',
419
+ order: 2,
420
+ tags: ['logging', 'transports', 'console', 'file', 'remote', 'outputs'],
421
+ surfaces: ['cli', 'web', 'in-app'],
422
+ hardware: ['consumer', 'cloud'],
423
+ enabled: true
424
+ };
425
+ export default descriptor;
426
+ //# sourceMappingURL=transports.docs.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transports.docs.descriptor.js","sourceRoot":"","sources":["../../src/docs/transports.docs.descriptor.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAwB;IACvC,IAAI,EAAE,YAAY;IAClB,EAAE,EAAE,oBAAoB;IACxB,KAAK,EAAE,oBAAoB;IAC3B,OAAO,EAAE,8DAA8D;IACvE,IAAI,EAAE;QACL,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuZT;KACC;IACD,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC;IACvE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC;IAClC,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;IAC/B,OAAO,EAAE,IAAI;CACb,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Logging Formatters
3
+ *
4
+ * Descriptors and implementations are autoloaded by the runtime.
5
+ * No public types to export — formatter interfaces live in kinds/formatter.
6
+ */
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/formatters/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * Logging Formatters
4
+ *
5
+ * Descriptors and implementations are autoloaded by the runtime.
6
+ * No public types to export — formatter interfaces live in kinds/formatter.
7
+ */
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/formatters/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * JSON Formatter Descriptor
3
+ *
4
+ * Formats log entries as pretty-printed JSON.
5
+ */
6
+ import type { FormatterDescriptor } from '../../schemas/formatter.ts';
7
+ export declare const jsonFormatterDescriptor: FormatterDescriptor;
8
+ export default jsonFormatterDescriptor;
9
+ //# sourceMappingURL=json.formatters.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.formatters.descriptor.d.ts","sourceRoot":"","sources":["../../../src/formatters/json/json.formatters.descriptor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,eAAO,MAAM,uBAAuB,EAAE,mBAcrC,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * JSON Formatter Descriptor
3
+ *
4
+ * Formats log entries as pretty-printed JSON.
5
+ */
6
+ export const jsonFormatterDescriptor = {
7
+ kind: 'logging/formatter',
8
+ id: 'json',
9
+ name: 'JSON Formatter',
10
+ description: 'Formats log entries as indented JSON',
11
+ tags: ['readable', 'debug'],
12
+ format: 'json',
13
+ options: {
14
+ indent: 2,
15
+ includeTimestamp: true,
16
+ includeNamespace: true,
17
+ includeLevel: true,
18
+ colors: false
19
+ }
20
+ };
21
+ export default jsonFormatterDescriptor;
22
+ //# sourceMappingURL=json.formatters.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.formatters.descriptor.js","sourceRoot":"","sources":["../../../src/formatters/json/json.formatters.descriptor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,CAAC,MAAM,uBAAuB,GAAwB;IAC3D,IAAI,EAAE,mBAAmB;IACzB,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,sCAAsC;IACnD,IAAI,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,MAAM;IACd,OAAO,EAAE;QACR,MAAM,EAAE,CAAC;QACT,gBAAgB,EAAE,IAAI;QACtB,gBAAgB,EAAE,IAAI;QACtB,YAAY,EAAE,IAAI;QAClB,MAAM,EAAE,KAAK;KACb;CACD,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * JSON Formatter Implementation
3
+ *
4
+ * Pretty-printed JSON with configurable indentation.
5
+ */
6
+ import type { FormatterImplementation, FormatterContext } from '../../kinds/formatter.ts';
7
+ import type { FormatterDescriptor } from '../../schemas/formatter.ts';
8
+ import type { RuntimeLogEntry } from '../../schemas/entry.ts';
9
+ /**
10
+ * JSON formatter - indented JSON for readability.
11
+ */
12
+ export default class JsonFormatter implements FormatterImplementation {
13
+ readonly id: string;
14
+ readonly descriptor: FormatterDescriptor;
15
+ private readonly indent;
16
+ constructor(descriptor: FormatterDescriptor, _context: FormatterContext);
17
+ format(entry: RuntimeLogEntry): string;
18
+ parse(formatted: string): RuntimeLogEntry;
19
+ formatBatch(entries: RuntimeLogEntry[]): string;
20
+ parseBatch(formatted: string): RuntimeLogEntry[];
21
+ }
22
+ //# sourceMappingURL=json.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.impl.d.ts","sourceRoot":"","sources":["../../../src/formatters/json/json.impl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,uBAAuB;IACpE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,gBAAgB;IAMvE,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM;IAItC,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe;IAIzC,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,MAAM;IAI/C,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE;CAIhD"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * JSON Formatter Implementation
3
+ *
4
+ * Pretty-printed JSON with configurable indentation.
5
+ */
6
+ /**
7
+ * JSON formatter - indented JSON for readability.
8
+ */
9
+ export default class JsonFormatter {
10
+ id;
11
+ descriptor;
12
+ indent;
13
+ constructor(descriptor, _context) {
14
+ this.id = descriptor.id;
15
+ this.descriptor = descriptor;
16
+ this.indent = descriptor.options?.indent ?? 2;
17
+ }
18
+ format(entry) {
19
+ return JSON.stringify(entry, null, this.indent);
20
+ }
21
+ parse(formatted) {
22
+ return JSON.parse(formatted);
23
+ }
24
+ formatBatch(entries) {
25
+ return JSON.stringify(entries, null, this.indent);
26
+ }
27
+ parseBatch(formatted) {
28
+ const parsed = JSON.parse(formatted);
29
+ return Array.isArray(parsed) ? parsed : [parsed];
30
+ }
31
+ }
32
+ //# sourceMappingURL=json.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.impl.js","sourceRoot":"","sources":["../../../src/formatters/json/json.impl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IACxB,EAAE,CAAS;IACX,UAAU,CAAsB;IACxB,MAAM,CAAS;IAEhC,YAAY,UAA+B,EAAE,QAA0B;QACtE,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,KAAsB;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,SAAiB;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAoB,CAAC;IACjD,CAAC;IAED,WAAW,CAAC,OAA0B;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,UAAU,CAAC,SAAiB;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;CACD"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * JSON5 Formatter Descriptor
3
+ *
4
+ * Formats log entries as JSON5 (human-readable JSON with comments).
5
+ */
6
+ import type { FormatterDescriptor } from '../../schemas/formatter.ts';
7
+ export declare const json5FormatterDescriptor: FormatterDescriptor;
8
+ export default json5FormatterDescriptor;
9
+ //# sourceMappingURL=json5.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json5.descriptor.d.ts","sourceRoot":"","sources":["../../../src/formatters/json5/json5.descriptor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,eAAO,MAAM,wBAAwB,EAAE,mBActC,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * JSON5 Formatter Descriptor
3
+ *
4
+ * Formats log entries as JSON5 (human-readable JSON with comments).
5
+ */
6
+ export const json5FormatterDescriptor = {
7
+ kind: 'logging/formatter',
8
+ id: 'json5',
9
+ name: 'JSON5 Formatter',
10
+ description: 'Formats log entries as JSON5 for human readability',
11
+ tags: ['readable', 'config'],
12
+ format: 'json5',
13
+ options: {
14
+ indent: 2,
15
+ includeTimestamp: true,
16
+ includeNamespace: true,
17
+ includeLevel: true,
18
+ colors: false
19
+ }
20
+ };
21
+ export default json5FormatterDescriptor;
22
+ //# sourceMappingURL=json5.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json5.descriptor.js","sourceRoot":"","sources":["../../../src/formatters/json5/json5.descriptor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,CAAC,MAAM,wBAAwB,GAAwB;IAC5D,IAAI,EAAE,mBAAmB;IACzB,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,oDAAoD;IACjE,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;IAC5B,MAAM,EAAE,OAAO;IACf,OAAO,EAAE;QACR,MAAM,EAAE,CAAC;QACT,gBAAgB,EAAE,IAAI;QACtB,gBAAgB,EAAE,IAAI;QACtB,YAAY,EAAE,IAAI;QAClB,MAAM,EAAE,KAAK;KACb;CACD,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * JSON5 Formatter Implementation
3
+ *
4
+ * Uses JSON5 for human-readable output with comments support.
5
+ * Note: For serialization, we use standard JSON since JSON5 is a superset.
6
+ */
7
+ import type { FormatterImplementation, FormatterContext } from '../../kinds/formatter.ts';
8
+ import type { FormatterDescriptor } from '../../schemas/formatter.ts';
9
+ import type { RuntimeLogEntry } from '../../schemas/entry.ts';
10
+ /**
11
+ * JSON5 formatter - human-readable JSON.
12
+ */
13
+ export default class Json5Formatter implements FormatterImplementation {
14
+ readonly id: string;
15
+ readonly descriptor: FormatterDescriptor;
16
+ private readonly indent;
17
+ constructor(descriptor: FormatterDescriptor, _context: FormatterContext);
18
+ format(entry: RuntimeLogEntry): string;
19
+ parse(formatted: string): RuntimeLogEntry;
20
+ formatBatch(entries: RuntimeLogEntry[]): string;
21
+ parseBatch(formatted: string): RuntimeLogEntry[];
22
+ }
23
+ //# sourceMappingURL=json5.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json5.impl.d.ts","sourceRoot":"","sources":["../../../src/formatters/json5/json5.impl.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,YAAW,uBAAuB;IACrE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,gBAAgB;IAMvE,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM;IAItC,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe;IAIzC,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,MAAM;IAI/C,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE;CAIhD"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * JSON5 Formatter Implementation
3
+ *
4
+ * Uses JSON5 for human-readable output with comments support.
5
+ * Note: For serialization, we use standard JSON since JSON5 is a superset.
6
+ */
7
+ import JSON5 from 'json5';
8
+ /**
9
+ * JSON5 formatter - human-readable JSON.
10
+ */
11
+ export default class Json5Formatter {
12
+ id;
13
+ descriptor;
14
+ indent;
15
+ constructor(descriptor, _context) {
16
+ this.id = descriptor.id;
17
+ this.descriptor = descriptor;
18
+ this.indent = descriptor.options?.indent ?? 2;
19
+ }
20
+ format(entry) {
21
+ return JSON5.stringify(entry, null, this.indent);
22
+ }
23
+ parse(formatted) {
24
+ return JSON5.parse(formatted);
25
+ }
26
+ formatBatch(entries) {
27
+ return JSON5.stringify(entries, null, this.indent);
28
+ }
29
+ parseBatch(formatted) {
30
+ const parsed = JSON5.parse(formatted);
31
+ return Array.isArray(parsed) ? parsed : [parsed];
32
+ }
33
+ }
34
+ //# sourceMappingURL=json5.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json5.impl.js","sourceRoot":"","sources":["../../../src/formatters/json5/json5.impl.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IACzB,EAAE,CAAS;IACX,UAAU,CAAsB;IACxB,MAAM,CAAS;IAEhC,YAAY,UAA+B,EAAE,QAA0B;QACtE,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,KAAsB;QAC5B,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,SAAiB;QACtB,OAAO,KAAK,CAAC,KAAK,CAAC,SAAS,CAAoB,CAAC;IAClD,CAAC;IAED,WAAW,CAAC,OAA0B;QACrC,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,UAAU,CAAC,SAAiB;QAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;CACD"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * JSONL Formatter Descriptor
3
+ *
4
+ * Formats log entries as newline-delimited JSON.
5
+ * Default formatter for file outputs.
6
+ */
7
+ import type { FormatterDescriptor } from '../../schemas/formatter.ts';
8
+ export declare const jsonlFormatterDescriptor: FormatterDescriptor;
9
+ export default jsonlFormatterDescriptor;
10
+ //# sourceMappingURL=jsonl.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonl.descriptor.d.ts","sourceRoot":"","sources":["../../../src/formatters/jsonl/jsonl.descriptor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,eAAO,MAAM,wBAAwB,EAAE,mBActC,CAAC;AAEF,eAAe,wBAAwB,CAAC"}