lograil 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/LICENSE +21 -0
  3. package/README.md +40 -0
  4. package/dist/cjs/context/async-context.browser.d.ts +16 -0
  5. package/dist/cjs/context/async-context.browser.d.ts.map +1 -0
  6. package/dist/cjs/context/async-context.browser.js +29 -0
  7. package/dist/cjs/context/async-context.browser.js.map +1 -0
  8. package/dist/cjs/context/async-context.d.ts +10 -0
  9. package/dist/cjs/context/async-context.d.ts.map +1 -0
  10. package/dist/cjs/context/async-context.js +37 -0
  11. package/dist/cjs/context/async-context.js.map +1 -0
  12. package/dist/cjs/context/context.d.ts +33 -0
  13. package/dist/cjs/context/context.d.ts.map +1 -0
  14. package/dist/cjs/context/context.js +57 -0
  15. package/dist/cjs/context/context.js.map +1 -0
  16. package/dist/cjs/context/index.d.ts +3 -0
  17. package/dist/cjs/context/index.d.ts.map +1 -0
  18. package/dist/cjs/context/index.js +19 -0
  19. package/dist/cjs/context/index.js.map +1 -0
  20. package/dist/cjs/core/entry.d.ts +30 -0
  21. package/dist/cjs/core/entry.d.ts.map +1 -0
  22. package/dist/cjs/core/entry.js +37 -0
  23. package/dist/cjs/core/entry.js.map +1 -0
  24. package/dist/cjs/core/index.d.ts +7 -0
  25. package/dist/cjs/core/index.d.ts.map +1 -0
  26. package/dist/cjs/core/index.js +24 -0
  27. package/dist/cjs/core/index.js.map +1 -0
  28. package/dist/cjs/core/level.d.ts +12 -0
  29. package/dist/cjs/core/level.d.ts.map +1 -0
  30. package/dist/cjs/core/level.js +31 -0
  31. package/dist/cjs/core/level.js.map +1 -0
  32. package/dist/cjs/core/logger.d.ts +271 -0
  33. package/dist/cjs/core/logger.d.ts.map +1 -0
  34. package/dist/cjs/core/logger.js +751 -0
  35. package/dist/cjs/core/logger.js.map +1 -0
  36. package/dist/cjs/core/printf.d.ts +34 -0
  37. package/dist/cjs/core/printf.d.ts.map +1 -0
  38. package/dist/cjs/core/printf.js +133 -0
  39. package/dist/cjs/core/printf.js.map +1 -0
  40. package/dist/cjs/index.d.ts +40 -0
  41. package/dist/cjs/index.d.ts.map +1 -0
  42. package/dist/cjs/index.js +56 -0
  43. package/dist/cjs/index.js.map +1 -0
  44. package/dist/cjs/package.json +1 -0
  45. package/dist/cjs/pipeline/filter.d.ts +10 -0
  46. package/dist/cjs/pipeline/filter.d.ts.map +1 -0
  47. package/dist/cjs/pipeline/filter.js +16 -0
  48. package/dist/cjs/pipeline/filter.js.map +1 -0
  49. package/dist/cjs/pipeline/formatter.d.ts +19 -0
  50. package/dist/cjs/pipeline/formatter.d.ts.map +1 -0
  51. package/dist/cjs/pipeline/formatter.js +183 -0
  52. package/dist/cjs/pipeline/formatter.js.map +1 -0
  53. package/dist/cjs/pipeline/index.d.ts +6 -0
  54. package/dist/cjs/pipeline/index.d.ts.map +1 -0
  55. package/dist/cjs/pipeline/index.js +22 -0
  56. package/dist/cjs/pipeline/index.js.map +1 -0
  57. package/dist/cjs/pipeline/pipeline.d.ts +45 -0
  58. package/dist/cjs/pipeline/pipeline.d.ts.map +1 -0
  59. package/dist/cjs/pipeline/pipeline.js +80 -0
  60. package/dist/cjs/pipeline/pipeline.js.map +1 -0
  61. package/dist/cjs/pipeline/processor.d.ts +67 -0
  62. package/dist/cjs/pipeline/processor.d.ts.map +1 -0
  63. package/dist/cjs/pipeline/processor.js +284 -0
  64. package/dist/cjs/pipeline/processor.js.map +1 -0
  65. package/dist/cjs/pipeline/sampler.d.ts +45 -0
  66. package/dist/cjs/pipeline/sampler.d.ts.map +1 -0
  67. package/dist/cjs/pipeline/sampler.js +62 -0
  68. package/dist/cjs/pipeline/sampler.js.map +1 -0
  69. package/dist/cjs/plugin/index.d.ts +4 -0
  70. package/dist/cjs/plugin/index.d.ts.map +1 -0
  71. package/dist/cjs/plugin/index.js +20 -0
  72. package/dist/cjs/plugin/index.js.map +1 -0
  73. package/dist/cjs/plugin/manager.d.ts +38 -0
  74. package/dist/cjs/plugin/manager.d.ts.map +1 -0
  75. package/dist/cjs/plugin/manager.js +79 -0
  76. package/dist/cjs/plugin/manager.js.map +1 -0
  77. package/dist/cjs/plugin/otel-trace.d.ts +19 -0
  78. package/dist/cjs/plugin/otel-trace.d.ts.map +1 -0
  79. package/dist/cjs/plugin/otel-trace.js +91 -0
  80. package/dist/cjs/plugin/otel-trace.js.map +1 -0
  81. package/dist/cjs/plugin/plugin.d.ts +41 -0
  82. package/dist/cjs/plugin/plugin.d.ts.map +1 -0
  83. package/dist/cjs/plugin/plugin.js +3 -0
  84. package/dist/cjs/plugin/plugin.js.map +1 -0
  85. package/dist/cjs/runtime/adapter.d.ts +81 -0
  86. package/dist/cjs/runtime/adapter.d.ts.map +1 -0
  87. package/dist/cjs/runtime/adapter.js +3 -0
  88. package/dist/cjs/runtime/adapter.js.map +1 -0
  89. package/dist/cjs/runtime/defaults.d.ts +27 -0
  90. package/dist/cjs/runtime/defaults.d.ts.map +1 -0
  91. package/dist/cjs/runtime/defaults.js +30 -0
  92. package/dist/cjs/runtime/defaults.js.map +1 -0
  93. package/dist/cjs/runtime/electron-binding.browser.d.ts +10 -0
  94. package/dist/cjs/runtime/electron-binding.browser.d.ts.map +1 -0
  95. package/dist/cjs/runtime/electron-binding.browser.js +18 -0
  96. package/dist/cjs/runtime/electron-binding.browser.js.map +1 -0
  97. package/dist/cjs/runtime/electron-binding.d.ts +24 -0
  98. package/dist/cjs/runtime/electron-binding.d.ts.map +1 -0
  99. package/dist/cjs/runtime/electron-binding.js +49 -0
  100. package/dist/cjs/runtime/electron-binding.js.map +1 -0
  101. package/dist/cjs/runtime/electron-lifecycle.d.ts +17 -0
  102. package/dist/cjs/runtime/electron-lifecycle.d.ts.map +1 -0
  103. package/dist/cjs/runtime/electron-lifecycle.js +47 -0
  104. package/dist/cjs/runtime/electron-lifecycle.js.map +1 -0
  105. package/dist/cjs/runtime/electron-main.d.ts +24 -0
  106. package/dist/cjs/runtime/electron-main.d.ts.map +1 -0
  107. package/dist/cjs/runtime/electron-main.js +102 -0
  108. package/dist/cjs/runtime/electron-main.js.map +1 -0
  109. package/dist/cjs/runtime/electron-renderer.d.ts +26 -0
  110. package/dist/cjs/runtime/electron-renderer.d.ts.map +1 -0
  111. package/dist/cjs/runtime/electron-renderer.js +33 -0
  112. package/dist/cjs/runtime/electron-renderer.js.map +1 -0
  113. package/dist/cjs/runtime/electron.d.ts +20 -0
  114. package/dist/cjs/runtime/electron.d.ts.map +1 -0
  115. package/dist/cjs/runtime/electron.js +27 -0
  116. package/dist/cjs/runtime/electron.js.map +1 -0
  117. package/dist/cjs/runtime/index.d.ts +21 -0
  118. package/dist/cjs/runtime/index.d.ts.map +1 -0
  119. package/dist/cjs/runtime/index.js +41 -0
  120. package/dist/cjs/runtime/index.js.map +1 -0
  121. package/dist/cjs/runtime/node.d.ts +27 -0
  122. package/dist/cjs/runtime/node.d.ts.map +1 -0
  123. package/dist/cjs/runtime/node.js +126 -0
  124. package/dist/cjs/runtime/node.js.map +1 -0
  125. package/dist/cjs/runtime/process-lifecycle.d.ts +13 -0
  126. package/dist/cjs/runtime/process-lifecycle.d.ts.map +1 -0
  127. package/dist/cjs/runtime/process-lifecycle.js +80 -0
  128. package/dist/cjs/runtime/process-lifecycle.js.map +1 -0
  129. package/dist/cjs/runtime/web-lifecycle.d.ts +13 -0
  130. package/dist/cjs/runtime/web-lifecycle.d.ts.map +1 -0
  131. package/dist/cjs/runtime/web-lifecycle.js +39 -0
  132. package/dist/cjs/runtime/web-lifecycle.js.map +1 -0
  133. package/dist/cjs/runtime/web.d.ts +14 -0
  134. package/dist/cjs/runtime/web.d.ts.map +1 -0
  135. package/dist/cjs/runtime/web.js +61 -0
  136. package/dist/cjs/runtime/web.js.map +1 -0
  137. package/dist/cjs/shims/index.browser.d.ts +26 -0
  138. package/dist/cjs/shims/index.browser.d.ts.map +1 -0
  139. package/dist/cjs/shims/index.browser.js +67 -0
  140. package/dist/cjs/shims/index.browser.js.map +1 -0
  141. package/dist/cjs/shims/index.d.ts +15 -0
  142. package/dist/cjs/shims/index.d.ts.map +1 -0
  143. package/dist/cjs/shims/index.js +39 -0
  144. package/dist/cjs/shims/index.js.map +1 -0
  145. package/dist/cjs/transport/cluster-ipc.d.ts +36 -0
  146. package/dist/cjs/transport/cluster-ipc.d.ts.map +1 -0
  147. package/dist/cjs/transport/cluster-ipc.js +76 -0
  148. package/dist/cjs/transport/cluster-ipc.js.map +1 -0
  149. package/dist/cjs/transport/console.d.ts +28 -0
  150. package/dist/cjs/transport/console.d.ts.map +1 -0
  151. package/dist/cjs/transport/console.js +48 -0
  152. package/dist/cjs/transport/console.js.map +1 -0
  153. package/dist/cjs/transport/electron-ipc.d.ts +69 -0
  154. package/dist/cjs/transport/electron-ipc.d.ts.map +1 -0
  155. package/dist/cjs/transport/electron-ipc.js +153 -0
  156. package/dist/cjs/transport/electron-ipc.js.map +1 -0
  157. package/dist/cjs/transport/file.d.ts +190 -0
  158. package/dist/cjs/transport/file.d.ts.map +1 -0
  159. package/dist/cjs/transport/file.js +666 -0
  160. package/dist/cjs/transport/file.js.map +1 -0
  161. package/dist/cjs/transport/index.d.ts +9 -0
  162. package/dist/cjs/transport/index.d.ts.map +1 -0
  163. package/dist/cjs/transport/index.js +25 -0
  164. package/dist/cjs/transport/index.js.map +1 -0
  165. package/dist/cjs/transport/live.d.ts +72 -0
  166. package/dist/cjs/transport/live.d.ts.map +1 -0
  167. package/dist/cjs/transport/live.js +104 -0
  168. package/dist/cjs/transport/live.js.map +1 -0
  169. package/dist/cjs/transport/otlp.d.ts +97 -0
  170. package/dist/cjs/transport/otlp.d.ts.map +1 -0
  171. package/dist/cjs/transport/otlp.js +194 -0
  172. package/dist/cjs/transport/otlp.js.map +1 -0
  173. package/dist/cjs/transport/rotating-file.d.ts +67 -0
  174. package/dist/cjs/transport/rotating-file.d.ts.map +1 -0
  175. package/dist/cjs/transport/rotating-file.js +179 -0
  176. package/dist/cjs/transport/rotating-file.js.map +1 -0
  177. package/dist/cjs/transport/transport.d.ts +35 -0
  178. package/dist/cjs/transport/transport.d.ts.map +1 -0
  179. package/dist/cjs/transport/transport.js +3 -0
  180. package/dist/cjs/transport/transport.js.map +1 -0
  181. package/dist/cjs/transport/worker-ipc.d.ts +43 -0
  182. package/dist/cjs/transport/worker-ipc.d.ts.map +1 -0
  183. package/dist/cjs/transport/worker-ipc.js +106 -0
  184. package/dist/cjs/transport/worker-ipc.js.map +1 -0
  185. package/dist/cjs/types.d.ts +72 -0
  186. package/dist/cjs/types.d.ts.map +1 -0
  187. package/dist/cjs/types.js +45 -0
  188. package/dist/cjs/types.js.map +1 -0
  189. package/dist/esm/context/async-context.browser.d.ts +16 -0
  190. package/dist/esm/context/async-context.browser.d.ts.map +1 -0
  191. package/dist/esm/context/async-context.browser.js +25 -0
  192. package/dist/esm/context/async-context.browser.js.map +1 -0
  193. package/dist/esm/context/async-context.d.ts +10 -0
  194. package/dist/esm/context/async-context.d.ts.map +1 -0
  195. package/dist/esm/context/async-context.js +33 -0
  196. package/dist/esm/context/async-context.js.map +1 -0
  197. package/dist/esm/context/context.d.ts +33 -0
  198. package/dist/esm/context/context.d.ts.map +1 -0
  199. package/dist/esm/context/context.js +52 -0
  200. package/dist/esm/context/context.js.map +1 -0
  201. package/dist/esm/context/index.d.ts +3 -0
  202. package/dist/esm/context/index.d.ts.map +1 -0
  203. package/dist/esm/context/index.js +3 -0
  204. package/dist/esm/context/index.js.map +1 -0
  205. package/dist/esm/core/entry.d.ts +30 -0
  206. package/dist/esm/core/entry.d.ts.map +1 -0
  207. package/dist/esm/core/entry.js +34 -0
  208. package/dist/esm/core/entry.js.map +1 -0
  209. package/dist/esm/core/index.d.ts +7 -0
  210. package/dist/esm/core/index.d.ts.map +1 -0
  211. package/dist/esm/core/index.js +6 -0
  212. package/dist/esm/core/index.js.map +1 -0
  213. package/dist/esm/core/level.d.ts +12 -0
  214. package/dist/esm/core/level.d.ts.map +1 -0
  215. package/dist/esm/core/level.js +25 -0
  216. package/dist/esm/core/level.js.map +1 -0
  217. package/dist/esm/core/logger.d.ts +271 -0
  218. package/dist/esm/core/logger.d.ts.map +1 -0
  219. package/dist/esm/core/logger.js +747 -0
  220. package/dist/esm/core/logger.js.map +1 -0
  221. package/dist/esm/core/printf.d.ts +34 -0
  222. package/dist/esm/core/printf.d.ts.map +1 -0
  223. package/dist/esm/core/printf.js +129 -0
  224. package/dist/esm/core/printf.js.map +1 -0
  225. package/dist/esm/index.d.ts +40 -0
  226. package/dist/esm/index.d.ts.map +1 -0
  227. package/dist/esm/index.js +38 -0
  228. package/dist/esm/index.js.map +1 -0
  229. package/dist/esm/pipeline/filter.d.ts +10 -0
  230. package/dist/esm/pipeline/filter.d.ts.map +1 -0
  231. package/dist/esm/pipeline/filter.js +11 -0
  232. package/dist/esm/pipeline/filter.js.map +1 -0
  233. package/dist/esm/pipeline/formatter.d.ts +19 -0
  234. package/dist/esm/pipeline/formatter.d.ts.map +1 -0
  235. package/dist/esm/pipeline/formatter.js +179 -0
  236. package/dist/esm/pipeline/formatter.js.map +1 -0
  237. package/dist/esm/pipeline/index.d.ts +6 -0
  238. package/dist/esm/pipeline/index.d.ts.map +1 -0
  239. package/dist/esm/pipeline/index.js +6 -0
  240. package/dist/esm/pipeline/index.js.map +1 -0
  241. package/dist/esm/pipeline/pipeline.d.ts +45 -0
  242. package/dist/esm/pipeline/pipeline.d.ts.map +1 -0
  243. package/dist/esm/pipeline/pipeline.js +76 -0
  244. package/dist/esm/pipeline/pipeline.js.map +1 -0
  245. package/dist/esm/pipeline/processor.d.ts +67 -0
  246. package/dist/esm/pipeline/processor.d.ts.map +1 -0
  247. package/dist/esm/pipeline/processor.js +277 -0
  248. package/dist/esm/pipeline/processor.js.map +1 -0
  249. package/dist/esm/pipeline/sampler.d.ts +45 -0
  250. package/dist/esm/pipeline/sampler.d.ts.map +1 -0
  251. package/dist/esm/pipeline/sampler.js +59 -0
  252. package/dist/esm/pipeline/sampler.js.map +1 -0
  253. package/dist/esm/plugin/index.d.ts +4 -0
  254. package/dist/esm/plugin/index.d.ts.map +1 -0
  255. package/dist/esm/plugin/index.js +4 -0
  256. package/dist/esm/plugin/index.js.map +1 -0
  257. package/dist/esm/plugin/manager.d.ts +38 -0
  258. package/dist/esm/plugin/manager.d.ts.map +1 -0
  259. package/dist/esm/plugin/manager.js +75 -0
  260. package/dist/esm/plugin/manager.js.map +1 -0
  261. package/dist/esm/plugin/otel-trace.d.ts +19 -0
  262. package/dist/esm/plugin/otel-trace.d.ts.map +1 -0
  263. package/dist/esm/plugin/otel-trace.js +55 -0
  264. package/dist/esm/plugin/otel-trace.js.map +1 -0
  265. package/dist/esm/plugin/plugin.d.ts +41 -0
  266. package/dist/esm/plugin/plugin.d.ts.map +1 -0
  267. package/dist/esm/plugin/plugin.js +2 -0
  268. package/dist/esm/plugin/plugin.js.map +1 -0
  269. package/dist/esm/runtime/adapter.d.ts +81 -0
  270. package/dist/esm/runtime/adapter.d.ts.map +1 -0
  271. package/dist/esm/runtime/adapter.js +2 -0
  272. package/dist/esm/runtime/adapter.js.map +1 -0
  273. package/dist/esm/runtime/defaults.d.ts +27 -0
  274. package/dist/esm/runtime/defaults.d.ts.map +1 -0
  275. package/dist/esm/runtime/defaults.js +27 -0
  276. package/dist/esm/runtime/defaults.js.map +1 -0
  277. package/dist/esm/runtime/electron-binding.browser.d.ts +10 -0
  278. package/dist/esm/runtime/electron-binding.browser.d.ts.map +1 -0
  279. package/dist/esm/runtime/electron-binding.browser.js +13 -0
  280. package/dist/esm/runtime/electron-binding.browser.js.map +1 -0
  281. package/dist/esm/runtime/electron-binding.d.ts +24 -0
  282. package/dist/esm/runtime/electron-binding.d.ts.map +1 -0
  283. package/dist/esm/runtime/electron-binding.js +44 -0
  284. package/dist/esm/runtime/electron-binding.js.map +1 -0
  285. package/dist/esm/runtime/electron-lifecycle.d.ts +17 -0
  286. package/dist/esm/runtime/electron-lifecycle.d.ts.map +1 -0
  287. package/dist/esm/runtime/electron-lifecycle.js +44 -0
  288. package/dist/esm/runtime/electron-lifecycle.js.map +1 -0
  289. package/dist/esm/runtime/electron-main.d.ts +24 -0
  290. package/dist/esm/runtime/electron-main.d.ts.map +1 -0
  291. package/dist/esm/runtime/electron-main.js +99 -0
  292. package/dist/esm/runtime/electron-main.js.map +1 -0
  293. package/dist/esm/runtime/electron-renderer.d.ts +26 -0
  294. package/dist/esm/runtime/electron-renderer.d.ts.map +1 -0
  295. package/dist/esm/runtime/electron-renderer.js +30 -0
  296. package/dist/esm/runtime/electron-renderer.js.map +1 -0
  297. package/dist/esm/runtime/electron.d.ts +20 -0
  298. package/dist/esm/runtime/electron.d.ts.map +1 -0
  299. package/dist/esm/runtime/electron.js +21 -0
  300. package/dist/esm/runtime/electron.js.map +1 -0
  301. package/dist/esm/runtime/index.d.ts +21 -0
  302. package/dist/esm/runtime/index.d.ts.map +1 -0
  303. package/dist/esm/runtime/index.js +29 -0
  304. package/dist/esm/runtime/index.js.map +1 -0
  305. package/dist/esm/runtime/node.d.ts +27 -0
  306. package/dist/esm/runtime/node.d.ts.map +1 -0
  307. package/dist/esm/runtime/node.js +123 -0
  308. package/dist/esm/runtime/node.js.map +1 -0
  309. package/dist/esm/runtime/process-lifecycle.d.ts +13 -0
  310. package/dist/esm/runtime/process-lifecycle.d.ts.map +1 -0
  311. package/dist/esm/runtime/process-lifecycle.js +77 -0
  312. package/dist/esm/runtime/process-lifecycle.js.map +1 -0
  313. package/dist/esm/runtime/web-lifecycle.d.ts +13 -0
  314. package/dist/esm/runtime/web-lifecycle.d.ts.map +1 -0
  315. package/dist/esm/runtime/web-lifecycle.js +36 -0
  316. package/dist/esm/runtime/web-lifecycle.js.map +1 -0
  317. package/dist/esm/runtime/web.d.ts +14 -0
  318. package/dist/esm/runtime/web.d.ts.map +1 -0
  319. package/dist/esm/runtime/web.js +58 -0
  320. package/dist/esm/runtime/web.js.map +1 -0
  321. package/dist/esm/shims/index.browser.d.ts +26 -0
  322. package/dist/esm/shims/index.browser.d.ts.map +1 -0
  323. package/dist/esm/shims/index.browser.js +54 -0
  324. package/dist/esm/shims/index.browser.js.map +1 -0
  325. package/dist/esm/shims/index.d.ts +15 -0
  326. package/dist/esm/shims/index.d.ts.map +1 -0
  327. package/dist/esm/shims/index.js +22 -0
  328. package/dist/esm/shims/index.js.map +1 -0
  329. package/dist/esm/transport/cluster-ipc.d.ts +36 -0
  330. package/dist/esm/transport/cluster-ipc.d.ts.map +1 -0
  331. package/dist/esm/transport/cluster-ipc.js +71 -0
  332. package/dist/esm/transport/cluster-ipc.js.map +1 -0
  333. package/dist/esm/transport/console.d.ts +28 -0
  334. package/dist/esm/transport/console.d.ts.map +1 -0
  335. package/dist/esm/transport/console.js +44 -0
  336. package/dist/esm/transport/console.js.map +1 -0
  337. package/dist/esm/transport/electron-ipc.d.ts +69 -0
  338. package/dist/esm/transport/electron-ipc.d.ts.map +1 -0
  339. package/dist/esm/transport/electron-ipc.js +146 -0
  340. package/dist/esm/transport/electron-ipc.js.map +1 -0
  341. package/dist/esm/transport/file.d.ts +190 -0
  342. package/dist/esm/transport/file.d.ts.map +1 -0
  343. package/dist/esm/transport/file.js +662 -0
  344. package/dist/esm/transport/file.js.map +1 -0
  345. package/dist/esm/transport/index.d.ts +9 -0
  346. package/dist/esm/transport/index.d.ts.map +1 -0
  347. package/dist/esm/transport/index.js +9 -0
  348. package/dist/esm/transport/index.js.map +1 -0
  349. package/dist/esm/transport/live.d.ts +72 -0
  350. package/dist/esm/transport/live.d.ts.map +1 -0
  351. package/dist/esm/transport/live.js +100 -0
  352. package/dist/esm/transport/live.js.map +1 -0
  353. package/dist/esm/transport/otlp.d.ts +97 -0
  354. package/dist/esm/transport/otlp.d.ts.map +1 -0
  355. package/dist/esm/transport/otlp.js +190 -0
  356. package/dist/esm/transport/otlp.js.map +1 -0
  357. package/dist/esm/transport/rotating-file.d.ts +67 -0
  358. package/dist/esm/transport/rotating-file.d.ts.map +1 -0
  359. package/dist/esm/transport/rotating-file.js +175 -0
  360. package/dist/esm/transport/rotating-file.js.map +1 -0
  361. package/dist/esm/transport/transport.d.ts +35 -0
  362. package/dist/esm/transport/transport.d.ts.map +1 -0
  363. package/dist/esm/transport/transport.js +2 -0
  364. package/dist/esm/transport/transport.js.map +1 -0
  365. package/dist/esm/transport/worker-ipc.d.ts +43 -0
  366. package/dist/esm/transport/worker-ipc.d.ts.map +1 -0
  367. package/dist/esm/transport/worker-ipc.js +101 -0
  368. package/dist/esm/transport/worker-ipc.js.map +1 -0
  369. package/dist/esm/types.d.ts +72 -0
  370. package/dist/esm/types.d.ts.map +1 -0
  371. package/dist/esm/types.js +39 -0
  372. package/dist/esm/types.js.map +1 -0
  373. package/package.json +128 -0
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createElectronLifecycle = createElectronLifecycle;
4
+ const electron_binding_js_1 = require("./electron-binding.js");
5
+ const process_lifecycle_js_1 = require("./process-lifecycle.js");
6
+ /**
7
+ * Electron **main process** lifecycle hooks.
8
+ *
9
+ * GUI-driven termination goes through the Electron `app` event surface
10
+ * (`before-quit` / `will-quit`) rather than Node's `process` events, which do
11
+ * not fire on a normal window close. We flush pending entries on those events,
12
+ * mirroring the existing Node `beforeExit` semantics (fire-and-forget, bounded
13
+ * by the logger's flush timeout). When `app` is unavailable (e.g. a plain Node
14
+ * host, or a test runtime), we fall back to the process-based hooks so the
15
+ * behaviour degrades gracefully.
16
+ *
17
+ * Uncaught-error handling stays on `process` (`uncaughtException` /
18
+ * `unhandledRejection`) — those are still the right surface inside Electron.
19
+ */
20
+ function createElectronLifecycle() {
21
+ const app = (0, electron_binding_js_1.getElectronApp)();
22
+ const nodeFallback = () => (0, process_lifecycle_js_1.createProcessLifecycle)();
23
+ return {
24
+ onFlushBeforeExit(cb) {
25
+ if (!app)
26
+ return nodeFallback().onFlushBeforeExit(cb);
27
+ // `before-quit` fires first and covers the normal close path; `will-quit`
28
+ // covers the final teardown so a slow first flush still drains.
29
+ const onBeforeQuit = () => {
30
+ void cb();
31
+ };
32
+ const onWillQuit = () => {
33
+ void cb();
34
+ };
35
+ app.on('before-quit', onBeforeQuit);
36
+ app.on('will-quit', onWillQuit);
37
+ return () => {
38
+ app.removeListener('before-quit', onBeforeQuit);
39
+ app.removeListener('will-quit', onWillQuit);
40
+ };
41
+ },
42
+ onUncaughtError(cb) {
43
+ return nodeFallback().onUncaughtError?.(cb) ?? (() => { });
44
+ },
45
+ };
46
+ }
47
+ //# sourceMappingURL=electron-lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electron-lifecycle.js","sourceRoot":"","sources":["../../../src/runtime/electron-lifecycle.ts"],"names":[],"mappings":";;AAkBA,0DA4BC;AA7CD,+DAAuD;AACvD,iEAAgE;AAEhE;;;;;;;;;;;;;GAaG;AACH,SAAgB,uBAAuB;IACrC,MAAM,GAAG,GAAG,IAAA,oCAAc,GAAE,CAAC;IAC7B,MAAM,YAAY,GAAG,GAAmB,EAAE,CAAC,IAAA,6CAAsB,GAAE,CAAC;IAEpE,OAAO;QACL,iBAAiB,CAAC,EAAE;YAClB,IAAI,CAAC,GAAG;gBAAE,OAAO,YAAY,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAEtD,0EAA0E;YAC1E,gEAAgE;YAChE,MAAM,YAAY,GAAG,GAAS,EAAE;gBAC9B,KAAK,EAAE,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,MAAM,UAAU,GAAG,GAAS,EAAE;gBAC5B,KAAK,EAAE,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,GAAG,CAAC,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YACpC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAChC,OAAO,GAAG,EAAE;gBACV,GAAG,CAAC,cAAc,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;gBAChD,GAAG,CAAC,cAAc,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAC9C,CAAC,CAAC;QACJ,CAAC;QAED,eAAe,CAAC,EAAE;YAChB,OAAO,YAAY,EAAE,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC5D,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { RuntimeAdapter } from './adapter.js';
2
+ import type { RotateTimeOptions } from '../transport/file.js';
3
+ export interface ElectronMainRuntimeOptions {
4
+ /** Forwarded to the main/renderer `FileTransport` (mode `rotate-time`). */
5
+ fileTransportOptions?: Partial<Omit<RotateTimeOptions, 'mode'>>;
6
+ /** Disable the file transport entirely (console only). */
7
+ disableFile?: boolean;
8
+ /**
9
+ * Listen for renderer entries over IPC and write them to the dedicated
10
+ * `renderer.{date}.log` file (default `true`). Main-process entries
11
+ * go to `main.{date}.log`. By default both land under the app's `logs`
12
+ * directory (`app.getPath('logs')`); pass `fileTransportOptions: { dir }`
13
+ * to place them elsewhere.
14
+ */
15
+ receiveFromRenderer?: boolean;
16
+ }
17
+ /**
18
+ * Electron **main process** runtime. Owns the filesystem, so by default it
19
+ * persists logs to a rotating file (unless `disableFile`) in addition to the
20
+ * console, and (by default) receives renderer entries over IPC so that all
21
+ * logs — including those produced in renderers — are written here.
22
+ */
23
+ export declare function createElectronMainRuntime(options?: ElectronMainRuntimeOptions): RuntimeAdapter;
24
+ //# sourceMappingURL=electron-main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electron-main.d.ts","sourceRoot":"","sources":["../../../src/runtime/electron-main.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAS9D,MAAM,WAAW,0BAA0B;IACzC,2EAA2E;IAC3E,oBAAoB,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;IAChE,0DAA0D;IAC1D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAyBD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,0BAA+B,GACvC,cAAc,CAkEhB"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createElectronMainRuntime = createElectronMainRuntime;
4
+ const console_js_1 = require("../transport/console.js");
5
+ const file_js_1 = require("../transport/file.js");
6
+ const electron_ipc_js_1 = require("../transport/electron-ipc.js");
7
+ const electron_binding_js_1 = require("./electron-binding.js");
8
+ const electron_lifecycle_js_1 = require("./electron-lifecycle.js");
9
+ const index_js_1 = require("../shims/index.js");
10
+ const index_js_2 = require("../shims/index.js");
11
+ const defaults_js_1 = require("./defaults.js");
12
+ /**
13
+ * Log directory for the Electron main runtime. Prefers Electron's dedicated
14
+ * `logs` path (e.g. `<userData>/logs`, already namespaced by the app name so
15
+ * multiple apps never collide), falling back to `<appData>/Logs` and finally
16
+ * the OS temp dir if Electron is unavailable or `app` is not ready.
17
+ */
18
+ function defaultElectronLogDir() {
19
+ const app = (0, electron_binding_js_1.getElectronApp)();
20
+ if (app?.getPath) {
21
+ try {
22
+ return app.getPath('logs');
23
+ }
24
+ catch {
25
+ /* app not ready yet — try the next fallback */
26
+ }
27
+ try {
28
+ return (0, index_js_2.join)(app.getPath('appData'), 'Logs');
29
+ }
30
+ catch {
31
+ /* ignore */
32
+ }
33
+ }
34
+ return (0, index_js_1.tmpdir)();
35
+ }
36
+ /**
37
+ * Electron **main process** runtime. Owns the filesystem, so by default it
38
+ * persists logs to a rotating file (unless `disableFile`) in addition to the
39
+ * console, and (by default) receives renderer entries over IPC so that all
40
+ * logs — including those produced in renderers — are written here.
41
+ */
42
+ function createElectronMainRuntime(options = {}) {
43
+ const pid = typeof process !== 'undefined' ? process.pid : undefined;
44
+ const receiveFromRenderer = options.receiveFromRenderer ?? true;
45
+ const runtime = {
46
+ name: 'electron',
47
+ processType: 'main',
48
+ now: () => Date.now(),
49
+ pid: () => pid,
50
+ hasFileSystem: () => true,
51
+ defaultTransports: () => {
52
+ const transports = [new console_js_1.ConsoleTransport()];
53
+ if (!options.disableFile) {
54
+ const dir = defaultElectronLogDir();
55
+ transports.push(new file_js_1.FileTransport({
56
+ mode: 'rotate-time',
57
+ unit: 'day',
58
+ appName: 'main',
59
+ dir,
60
+ // Disk-safety defaults so a zero-config logger never eats the
61
+ // disk; explicit `fileTransportOptions` values win.
62
+ ...defaults_js_1.DEFAULT_FILE_CAPS,
63
+ // Main-process entries only: renderer entries are routed to the
64
+ // dedicated renderer log file below.
65
+ filter: (entry) => entry.metadata?.[electron_ipc_js_1.RENDERER_PROCESS_MARKER] !== 'renderer',
66
+ ...options.fileTransportOptions,
67
+ }));
68
+ if (receiveFromRenderer) {
69
+ transports.push(new file_js_1.FileTransport({
70
+ mode: 'rotate-time',
71
+ unit: 'day',
72
+ appName: 'renderer',
73
+ dir,
74
+ // Disk-safety defaults so a zero-config logger never eats the
75
+ // disk; explicit `fileTransportOptions` values win.
76
+ ...defaults_js_1.DEFAULT_FILE_CAPS,
77
+ // Renderer entries only.
78
+ filter: (entry) => entry.metadata?.[electron_ipc_js_1.RENDERER_PROCESS_MARKER] === 'renderer',
79
+ ...options.fileTransportOptions,
80
+ }));
81
+ }
82
+ }
83
+ return transports;
84
+ },
85
+ lifecycle: (0, electron_lifecycle_js_1.createElectronLifecycle)(),
86
+ };
87
+ if (receiveFromRenderer) {
88
+ runtime.attachReceiver = (ingest) => {
89
+ try {
90
+ return (0, electron_ipc_js_1.registerIpcReceiver)(ingest, {
91
+ onLevelCommand: (level) => runtime.onLevelCommand?.(level),
92
+ });
93
+ }
94
+ catch {
95
+ // `electron` not available (e.g. tests) — degrade to a no-op.
96
+ return () => { };
97
+ }
98
+ };
99
+ }
100
+ return runtime;
101
+ }
102
+ //# sourceMappingURL=electron-main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electron-main.js","sourceRoot":"","sources":["../../../src/runtime/electron-main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { RuntimeAdapter } from './adapter.js';
2
+ import type { IpcRenderer } from 'electron';
3
+ export interface ElectronRendererRuntimeOptions {
4
+ /**
5
+ * Forward entries to the main process over IPC so they are written there
6
+ * (default `true`). Disable to keep renderer logs local only.
7
+ */
8
+ forwardToMain?: boolean;
9
+ /** Override the IPC channel used to reach the main process. */
10
+ channel?: string;
11
+ /**
12
+ * Injected IPC sender. Required when the renderer cannot reach
13
+ * `require('electron')` (e.g. `nodeIntegration: false` +
14
+ * `contextIsolation: true`) — pass the `ipcRenderer` obtained from a preload
15
+ * bridge. Without it the transport falls back to `require('electron')`, which
16
+ * is unavailable in that locked-down setup.
17
+ */
18
+ ipcRenderer?: Pick<IpcRenderer, 'send'>;
19
+ }
20
+ /**
21
+ * Electron **renderer process** runtime. Renderers have no filesystem access,
22
+ * so by default they forward entries to the main process (which persists
23
+ * them) while still logging to the local console for devtools visibility.
24
+ */
25
+ export declare function createElectronRendererRuntime(options?: ElectronRendererRuntimeOptions): RuntimeAdapter;
26
+ //# sourceMappingURL=electron-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electron-renderer.d.ts","sourceRoot":"","sources":["../../../src/runtime/electron-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAK5C,MAAM,WAAW,8BAA8B;IAC7C;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;CACzC;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,GAAE,8BAAmC,GAC3C,cAAc,CAuBhB"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createElectronRendererRuntime = createElectronRendererRuntime;
4
+ const console_js_1 = require("../transport/console.js");
5
+ const electron_ipc_js_1 = require("../transport/electron-ipc.js");
6
+ const web_lifecycle_js_1 = require("./web-lifecycle.js");
7
+ /**
8
+ * Electron **renderer process** runtime. Renderers have no filesystem access,
9
+ * so by default they forward entries to the main process (which persists
10
+ * them) while still logging to the local console for devtools visibility.
11
+ */
12
+ function createElectronRendererRuntime(options = {}) {
13
+ const forwardToMain = options.forwardToMain ?? true;
14
+ return {
15
+ name: 'electron',
16
+ processType: 'renderer',
17
+ now: () => Date.now(),
18
+ pid: () => undefined,
19
+ hasFileSystem: () => false,
20
+ defaultTransports: () => {
21
+ const transports = [new console_js_1.ConsoleTransport()];
22
+ if (forwardToMain) {
23
+ transports.push(new electron_ipc_js_1.ElectronIpcTransport({
24
+ channel: options.channel,
25
+ ipcRenderer: options.ipcRenderer,
26
+ }));
27
+ }
28
+ return transports;
29
+ },
30
+ lifecycle: (0, web_lifecycle_js_1.createWebLifecycle)(),
31
+ };
32
+ }
33
+ //# sourceMappingURL=electron-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electron-renderer.js","sourceRoot":"","sources":["../../../src/runtime/electron-renderer.ts"],"names":[],"mappings":";;AA8BA,sEAyBC;AApDD,wDAA2D;AAC3D,kEAAoE;AACpE,yDAAwD;AAoBxD;;;;GAIG;AACH,SAAgB,6BAA6B,CAC3C,UAA0C,EAAE;IAE5C,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC;IAEpD,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,UAAU;QACvB,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QACrB,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS;QACpB,aAAa,EAAE,GAAG,EAAE,CAAC,KAAK;QAC1B,iBAAiB,EAAE,GAAG,EAAE;YACtB,MAAM,UAAU,GAAgB,CAAC,IAAI,6BAAgB,EAAE,CAAC,CAAC;YACzD,IAAI,aAAa,EAAE,CAAC;gBAClB,UAAU,CAAC,IAAI,CACb,IAAI,sCAAoB,CAAC;oBACvB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,WAAW,EAAE,OAAO,CAAC,WAAW;iBACjC,CAAC,CACH,CAAC;YACJ,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,SAAS,EAAE,IAAA,qCAAkB,GAAE;KAChC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { RuntimeAdapter } from './adapter.js';
2
+ import type { ElectronMainRuntimeOptions } from './electron-main.js';
3
+ import type { ElectronRendererRuntimeOptions } from './electron-renderer.js';
4
+ export { createElectronMainRuntime } from './electron-main.js';
5
+ export type { ElectronMainRuntimeOptions } from './electron-main.js';
6
+ export { createElectronRendererRuntime } from './electron-renderer.js';
7
+ export type { ElectronRendererRuntimeOptions } from './electron-renderer.js';
8
+ /**
9
+ * Options accepted by {@link createElectronRuntime}. This is the union of the
10
+ * main and renderer runtime options; only the relevant subset is used after
11
+ * the process type is detected.
12
+ */
13
+ export type ElectronRuntimeOptions = ElectronMainRuntimeOptions & ElectronRendererRuntimeOptions;
14
+ /**
15
+ * Auto-detect whether we run in the Electron main or renderer process and
16
+ * return the matching runtime. Prefer the explicit {@link createElectronMainRuntime}
17
+ * / {@link createElectronRendererRuntime} when the process type is known.
18
+ */
19
+ export declare function createElectronRuntime(options?: ElectronRuntimeOptions): RuntimeAdapter;
20
+ //# sourceMappingURL=electron.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electron.d.ts","sourceRoot":"","sources":["../../../src/runtime/electron.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAErE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAE7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,YAAY,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,YAAY,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAE7E;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,0BAA0B,GAAG,8BAA8B,CAAC;AAWjG;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,sBAA2B,GAAG,cAAc,CAI1F"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createElectronRendererRuntime = exports.createElectronMainRuntime = void 0;
4
+ exports.createElectronRuntime = createElectronRuntime;
5
+ const electron_main_js_1 = require("./electron-main.js");
6
+ const electron_renderer_js_1 = require("./electron-renderer.js");
7
+ var electron_main_js_2 = require("./electron-main.js");
8
+ Object.defineProperty(exports, "createElectronMainRuntime", { enumerable: true, get: function () { return electron_main_js_2.createElectronMainRuntime; } });
9
+ var electron_renderer_js_2 = require("./electron-renderer.js");
10
+ Object.defineProperty(exports, "createElectronRendererRuntime", { enumerable: true, get: function () { return electron_renderer_js_2.createElectronRendererRuntime; } });
11
+ function isMainProcess() {
12
+ // An Electron renderer explicitly reports `process.type === 'renderer'`.
13
+ // The main process may report `'browser'` *or* `undefined`, so anything
14
+ // that is not explicitly a renderer is treated as main.
15
+ return (typeof process === 'undefined' || process.type !== 'renderer');
16
+ }
17
+ /**
18
+ * Auto-detect whether we run in the Electron main or renderer process and
19
+ * return the matching runtime. Prefer the explicit {@link createElectronMainRuntime}
20
+ * / {@link createElectronRendererRuntime} when the process type is known.
21
+ */
22
+ function createElectronRuntime(options = {}) {
23
+ return isMainProcess()
24
+ ? (0, electron_main_js_1.createElectronMainRuntime)(options)
25
+ : (0, electron_renderer_js_1.createElectronRendererRuntime)(options);
26
+ }
27
+ //# sourceMappingURL=electron.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electron.js","sourceRoot":"","sources":["../../../src/runtime/electron.ts"],"names":[],"mappings":";;;AAgCA,sDAIC;AAnCD,yDAA+D;AAE/D,iEAAuE;AAGvE,uDAA+D;AAAtD,6HAAA,yBAAyB,OAAA;AAElC,+DAAuE;AAA9D,qIAAA,6BAA6B,OAAA;AAUtC,SAAS,aAAa;IACpB,yEAAyE;IACzE,wEAAwE;IACxE,wDAAwD;IACxD,OAAO,CACL,OAAO,OAAO,KAAK,WAAW,IAAK,OAAwC,CAAC,IAAI,KAAK,UAAU,CAChG,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,UAAkC,EAAE;IACxE,OAAO,aAAa,EAAE;QACpB,CAAC,CAAC,IAAA,4CAAyB,EAAC,OAAO,CAAC;QACpC,CAAC,CAAC,IAAA,oDAA6B,EAAC,OAAO,CAAC,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { RuntimeAdapter } from './adapter.js';
2
+ import type { NodeRuntimeOptions } from './node.js';
3
+ import type { ElectronRuntimeOptions } from './electron.js';
4
+ export type RuntimeOptions = ElectronRuntimeOptions & NodeRuntimeOptions;
5
+ /**
6
+ * Auto-detect the current runtime:
7
+ * - Electron main / renderer when `process.versions.electron` exists;
8
+ * - Plain Node.js when a Node process is present (has filesystem + pid);
9
+ * - Web (browser) otherwise.
10
+ *
11
+ * `ElectronRuntimeOptions`/`NodeRuntimeOptions` (e.g. `appName`, `fileTransportOptions`) are
12
+ * forwarded to the matching adapter.
13
+ */
14
+ export declare function detectRuntime(options?: RuntimeOptions): RuntimeAdapter;
15
+ export type { RuntimeAdapter, RuntimeName, ElectronProcessType, IngestFn } from './adapter.js';
16
+ export { createWebRuntime } from './web.js';
17
+ export { createNodeRuntime } from './node.js';
18
+ export { createElectronRuntime, createElectronMainRuntime, createElectronRendererRuntime, } from './electron.js';
19
+ export type { ElectronRuntimeOptions, ElectronMainRuntimeOptions, ElectronRendererRuntimeOptions, } from './electron.js';
20
+ export { ElectronIpcTransport, registerIpcReceiver, LOGRAIL_CHANNEL, } from '../transport/electron-ipc.js';
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAG5D,MAAM,MAAM,cAAc,GAAG,sBAAsB,GAAG,kBAAkB,CAAC;AAEzE;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,cAAmB,GAAG,cAAc,CAa1E;AAED,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,sBAAsB,EACtB,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,GAChB,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LOGRAIL_CHANNEL = exports.registerIpcReceiver = exports.ElectronIpcTransport = exports.createElectronRendererRuntime = exports.createElectronMainRuntime = exports.createElectronRuntime = exports.createNodeRuntime = exports.createWebRuntime = void 0;
4
+ exports.detectRuntime = detectRuntime;
5
+ const web_js_1 = require("./web.js");
6
+ const node_js_1 = require("./node.js");
7
+ const electron_js_1 = require("./electron.js");
8
+ /**
9
+ * Auto-detect the current runtime:
10
+ * - Electron main / renderer when `process.versions.electron` exists;
11
+ * - Plain Node.js when a Node process is present (has filesystem + pid);
12
+ * - Web (browser) otherwise.
13
+ *
14
+ * `ElectronRuntimeOptions`/`NodeRuntimeOptions` (e.g. `appName`, `fileTransportOptions`) are
15
+ * forwarded to the matching adapter.
16
+ */
17
+ function detectRuntime(options = {}) {
18
+ const versions = (typeof process !== 'undefined'
19
+ ? process.versions
20
+ : undefined) ?? {};
21
+ if (versions.electron) {
22
+ return (0, electron_js_1.createElectronRuntime)(options);
23
+ }
24
+ if (versions.node) {
25
+ return (0, node_js_1.createNodeRuntime)(options);
26
+ }
27
+ return (0, web_js_1.createWebRuntime)();
28
+ }
29
+ var web_js_2 = require("./web.js");
30
+ Object.defineProperty(exports, "createWebRuntime", { enumerable: true, get: function () { return web_js_2.createWebRuntime; } });
31
+ var node_js_2 = require("./node.js");
32
+ Object.defineProperty(exports, "createNodeRuntime", { enumerable: true, get: function () { return node_js_2.createNodeRuntime; } });
33
+ var electron_js_2 = require("./electron.js");
34
+ Object.defineProperty(exports, "createElectronRuntime", { enumerable: true, get: function () { return electron_js_2.createElectronRuntime; } });
35
+ Object.defineProperty(exports, "createElectronMainRuntime", { enumerable: true, get: function () { return electron_js_2.createElectronMainRuntime; } });
36
+ Object.defineProperty(exports, "createElectronRendererRuntime", { enumerable: true, get: function () { return electron_js_2.createElectronRendererRuntime; } });
37
+ var electron_ipc_js_1 = require("../transport/electron-ipc.js");
38
+ Object.defineProperty(exports, "ElectronIpcTransport", { enumerable: true, get: function () { return electron_ipc_js_1.ElectronIpcTransport; } });
39
+ Object.defineProperty(exports, "registerIpcReceiver", { enumerable: true, get: function () { return electron_ipc_js_1.registerIpcReceiver; } });
40
+ Object.defineProperty(exports, "LOGRAIL_CHANNEL", { enumerable: true, get: function () { return electron_ipc_js_1.LOGRAIL_CHANNEL; } });
41
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/index.ts"],"names":[],"mappings":";;;AAkBA,sCAaC;AA9BD,qCAA4C;AAE5C,uCAA8C;AAE9C,+CAAsD;AAItD;;;;;;;;GAQG;AACH,SAAgB,aAAa,CAAC,UAA0B,EAAE;IACxD,MAAM,QAAQ,GACZ,CAAC,OAAO,OAAO,KAAK,WAAW;QAC7B,CAAC,CAAE,OAA0E,CAAC,QAAQ;QACtF,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAEvB,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,IAAA,mCAAqB,EAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,IAAA,2BAAiB,EAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,IAAA,yBAAgB,GAAE,CAAC;AAC5B,CAAC;AAGD,mCAA4C;AAAnC,0GAAA,gBAAgB,OAAA;AACzB,qCAA8C;AAArC,4GAAA,iBAAiB,OAAA;AAC1B,6CAIuB;AAHrB,oHAAA,qBAAqB,OAAA;AACrB,wHAAA,yBAAyB,OAAA;AACzB,4HAAA,6BAA6B,OAAA;AAO/B,gEAIsC;AAHpC,uHAAA,oBAAoB,OAAA;AACpB,sHAAA,mBAAmB,OAAA;AACnB,kHAAA,eAAe,OAAA"}
@@ -0,0 +1,27 @@
1
+ import type { RotateTimeOptions } from '../transport/file.js';
2
+ import type { RuntimeAdapter } from './adapter.js';
3
+ export interface NodeRuntimeOptions {
4
+ /** Application name; embedded in the log file name (required). */
5
+ appName?: string;
6
+ /** Forwarded to the default `FileTransport` (mode `rotate-time`). */
7
+ fileTransportOptions?: Partial<Omit<RotateTimeOptions, 'mode'>>;
8
+ /** Disable the file transport entirely (console only). */
9
+ disableFile?: boolean;
10
+ }
11
+ /**
12
+ * Plain Node.js runtime (CLI / server / worker). Has both a process id and
13
+ * filesystem access, so by default it persists logs to a time-rotated file
14
+ * (in addition to the console). Pass `disableFile` to opt out, or
15
+ * `appName` / `fileTransportOptions` to customize. `appName` is required for
16
+ * the file transport; if omitted it is inferred from the launched script and
17
+ * throws if it cannot be determined.
18
+ *
19
+ * **Cluster support.** When running inside `node:cluster`, the runtime
20
+ * automatically detects whether the current process is a worker or the
21
+ * primary. Workers disable the file transport and send entries to the
22
+ * primary via `process.send()` (the `ClusterIpcTransport`). The primary
23
+ * receives those entries and feeds them into the logger — no manual
24
+ * `registerClusterReceiver` call is needed.
25
+ */
26
+ export declare function createNodeRuntime(options?: NodeRuntimeOptions): RuntimeAdapter;
27
+ //# sourceMappingURL=node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/runtime/node.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAI9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAsBnD,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,oBAAoB,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;IAChE,0DAA0D;IAC1D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAyCD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,GAAG,cAAc,CA0DlF"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createNodeRuntime = createNodeRuntime;
4
+ const console_js_1 = require("../transport/console.js");
5
+ const file_js_1 = require("../transport/file.js");
6
+ const cluster_ipc_js_1 = require("../transport/cluster-ipc.js");
7
+ const worker_ipc_js_1 = require("../transport/worker-ipc.js");
8
+ const process_lifecycle_js_1 = require("./process-lifecycle.js");
9
+ const index_js_1 = require("../shims/index.js");
10
+ const index_js_2 = require("../shims/index.js");
11
+ const index_js_3 = require("../shims/index.js");
12
+ const defaults_js_1 = require("./defaults.js");
13
+ /**
14
+ * Detect whether the current context is a Node worker_threads worker.
15
+ * Uses `typeof` on `globalThis.parentPort` — safe in all environments.
16
+ */
17
+ function isNodeWorkerThread() {
18
+ try {
19
+ return (typeof globalThis.parentPort?.postMessage ===
20
+ 'function');
21
+ }
22
+ catch {
23
+ return false;
24
+ }
25
+ }
26
+ /** Derive an application name from the invoked script when none is given. */
27
+ function inferAppName() {
28
+ try {
29
+ const p = process.argv[1];
30
+ if (p)
31
+ return (0, index_js_2.basename)(p).replace(/\.[^.]+$/, '');
32
+ }
33
+ catch {
34
+ /* ignore */
35
+ }
36
+ return undefined;
37
+ }
38
+ /**
39
+ * Lifecycle hooks for cluster workers. Flushes on `disconnect` (the primary
40
+ * closed the IPC channel) and on `beforeExit` / signals.
41
+ */
42
+ function createClusterWorkerLifecycle() {
43
+ const lc = (0, process_lifecycle_js_1.createProcessLifecycle)();
44
+ return {
45
+ onFlushBeforeExit(cb) {
46
+ const detachProcess = lc.onFlushBeforeExit(cb);
47
+ const proc = process;
48
+ const onDisconnect = () => {
49
+ void cb();
50
+ };
51
+ proc.on?.('disconnect', onDisconnect);
52
+ return () => {
53
+ detachProcess();
54
+ proc.removeListener?.('disconnect', onDisconnect);
55
+ };
56
+ },
57
+ onUncaughtError: lc.onUncaughtError,
58
+ };
59
+ }
60
+ /**
61
+ * Plain Node.js runtime (CLI / server / worker). Has both a process id and
62
+ * filesystem access, so by default it persists logs to a time-rotated file
63
+ * (in addition to the console). Pass `disableFile` to opt out, or
64
+ * `appName` / `fileTransportOptions` to customize. `appName` is required for
65
+ * the file transport; if omitted it is inferred from the launched script and
66
+ * throws if it cannot be determined.
67
+ *
68
+ * **Cluster support.** When running inside `node:cluster`, the runtime
69
+ * automatically detects whether the current process is a worker or the
70
+ * primary. Workers disable the file transport and send entries to the
71
+ * primary via `process.send()` (the `ClusterIpcTransport`). The primary
72
+ * receives those entries and feeds them into the logger — no manual
73
+ * `registerClusterReceiver` call is needed.
74
+ */
75
+ function createNodeRuntime(options = {}) {
76
+ const pid = typeof process !== 'undefined' ? process.pid : undefined;
77
+ const worker = (0, index_js_3.isClusterWorker)();
78
+ // ── Cluster worker: no file, send to primary via IPC ──
79
+ if (worker) {
80
+ return {
81
+ name: 'node',
82
+ now: () => Date.now(),
83
+ pid: () => pid,
84
+ hasFileSystem: () => false,
85
+ defaultTransports: () => [new console_js_1.ConsoleTransport(), new cluster_ipc_js_1.ClusterIpcTransport()],
86
+ lifecycle: createClusterWorkerLifecycle(),
87
+ };
88
+ }
89
+ // ── Node worker_threads worker: no file, send to parent via postMessage ──
90
+ if (isNodeWorkerThread()) {
91
+ return {
92
+ name: 'node',
93
+ now: () => Date.now(),
94
+ pid: () => pid,
95
+ hasFileSystem: () => false,
96
+ defaultTransports: () => [new console_js_1.ConsoleTransport(), new worker_ipc_js_1.WorkerIpcTransport()],
97
+ lifecycle: createClusterWorkerLifecycle(), // reuse: flush on disconnect/exit
98
+ };
99
+ }
100
+ // ── Primary or non-cluster: console + file (default) ──
101
+ const transports = [new console_js_1.ConsoleTransport()];
102
+ if (!options.disableFile) {
103
+ const appName = options.appName ?? inferAppName();
104
+ if (!appName) {
105
+ throw new Error('Node runtime requires an "appName" (or a determinable script path) for the file transport');
106
+ }
107
+ transports.push(new file_js_1.FileTransport({
108
+ mode: 'rotate-time',
109
+ unit: 'day',
110
+ appName,
111
+ dir: (0, index_js_1.tmpdir)(),
112
+ ...defaults_js_1.DEFAULT_FILE_CAPS,
113
+ ...options.fileTransportOptions,
114
+ }));
115
+ }
116
+ return {
117
+ name: 'node',
118
+ now: () => Date.now(),
119
+ pid: () => pid,
120
+ hasFileSystem: () => !options.disableFile,
121
+ defaultTransports: () => transports,
122
+ attachReceiver: (ingest) => (0, cluster_ipc_js_1.registerClusterReceiver)(ingest),
123
+ lifecycle: (0, process_lifecycle_js_1.createProcessLifecycle)(),
124
+ };
125
+ }
126
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/runtime/node.ts"],"names":[],"mappings":";;AA2FA,8CA0DC;AApJD,wDAA2D;AAE3D,kDAAqD;AACrD,gEAA2F;AAC3F,8DAAgE;AAEhE,iEAAgE;AAChE,gDAA2C;AAC3C,gDAA6C;AAC7C,gDAAoD;AACpD,+CAAkD;AAElD;;;GAGG;AACH,SAAS,kBAAkB;IACzB,IAAI,CAAC;QACH,OAAO,CACL,OAAQ,UAAwD,CAAC,UAAU,EAAE,WAAW;YACxF,UAAU,CACX,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAWD,6EAA6E;AAC7E,SAAS,YAAY;IACnB,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC;YAAE,OAAO,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,SAAS,4BAA4B;IACnC,MAAM,EAAE,GAAG,IAAA,6CAAsB,GAAE,CAAC;IACpC,OAAO;QACL,iBAAiB,CAAC,EAA8B;YAC9C,MAAM,aAAa,GAAG,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,OAGZ,CAAC;YACF,MAAM,YAAY,GAAG,GAAS,EAAE;gBAC9B,KAAK,EAAE,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,IAAI,CAAC,EAAE,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YACtC,OAAO,GAAG,EAAE;gBACV,aAAa,EAAE,CAAC;gBAChB,IAAI,CAAC,cAAc,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YACpD,CAAC,CAAC;QACJ,CAAC;QACD,eAAe,EAAE,EAAE,CAAC,eAE2C;KAChE,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,iBAAiB,CAAC,UAA8B,EAAE;IAChE,MAAM,GAAG,GAAG,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,MAAM,MAAM,GAAG,IAAA,0BAAe,GAAE,CAAC;IAEjC,yDAAyD;IACzD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACrB,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG;YACd,aAAa,EAAE,GAAG,EAAE,CAAC,KAAK;YAC1B,iBAAiB,EAAE,GAAgB,EAAE,CAAC,CAAC,IAAI,6BAAgB,EAAE,EAAE,IAAI,oCAAmB,EAAE,CAAC;YACzF,SAAS,EAAE,4BAA4B,EAAE;SAC1C,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,IAAI,kBAAkB,EAAE,EAAE,CAAC;QACzB,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACrB,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG;YACd,aAAa,EAAE,GAAG,EAAE,CAAC,KAAK;YAC1B,iBAAiB,EAAE,GAAgB,EAAE,CAAC,CAAC,IAAI,6BAAgB,EAAE,EAAE,IAAI,kCAAkB,EAAE,CAAC;YACxF,SAAS,EAAE,4BAA4B,EAAE,EAAE,kCAAkC;SAC9E,CAAC;IACJ,CAAC;IAED,yDAAyD;IACzD,MAAM,UAAU,GAAgB,CAAC,IAAI,6BAAgB,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,YAAY,EAAE,CAAC;QAClD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAC;QACJ,CAAC;QACD,UAAU,CAAC,IAAI,CACb,IAAI,uBAAa,CAAC;YAChB,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,KAAK;YACX,OAAO;YACP,GAAG,EAAE,IAAA,iBAAM,GAAE;YACb,GAAG,+BAAiB;YACpB,GAAG,OAAO,CAAC,oBAAoB;SAChC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QACrB,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG;QACd,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW;QACzC,iBAAiB,EAAE,GAAG,EAAE,CAAC,UAAU;QACnC,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,wCAAuB,EAAC,MAAM,CAAC;QAC3D,SAAS,EAAE,IAAA,6CAAsB,GAAE;KACpC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { LifecycleHooks } from './adapter.js';
2
+ /**
3
+ * Lifecycle hooks backed by the Node/Electron `process` event surface. Shared
4
+ * by the Node runtime and both Electron process types — they all expose the
5
+ * same `process` events.
6
+ *
7
+ * The flush callback is supplied by the logger; this module only decides
8
+ * *when* to call it and owns the `process.exit()` that follows a signal or a
9
+ * fatal, uncaught crash. It never touches `window`, so it is safe to import in
10
+ * any runtime (the `process` probe just returns `undefined` where absent).
11
+ */
12
+ export declare function createProcessLifecycle(): LifecycleHooks;
13
+ //# sourceMappingURL=process-lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/runtime/process-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAgBnD;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,IAAI,cAAc,CA2DvD"}