logixia 1.13.3 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/README.md +117 -44
  2. package/dist/async-context-B05ArHgM.mjs +134 -0
  3. package/dist/async-context-B05ArHgM.mjs.map +1 -0
  4. package/dist/async-context-DTQgi8f7.js +150 -0
  5. package/dist/async-context-DTQgi8f7.js.map +1 -0
  6. package/dist/{azure-monitor.transport-CHnjVRF-.mjs → azure-monitor.transport-BPbgjATu.mjs} +27 -15
  7. package/dist/azure-monitor.transport-BPbgjATu.mjs.map +1 -0
  8. package/dist/{azure-monitor.transport-BDFO4F-i.d.ts → azure-monitor.transport-C7kYyZUW.d.mts} +3 -6
  9. package/dist/azure-monitor.transport-C7kYyZUW.d.mts.map +1 -0
  10. package/dist/{azure-monitor.transport-CrvfHd9C.js → azure-monitor.transport-CwbOLZHB.js} +32 -20
  11. package/dist/azure-monitor.transport-CwbOLZHB.js.map +1 -0
  12. package/dist/{azure-monitor.transport-D5wQEH04.d.mts → azure-monitor.transport-DV03Z5P4.d.ts} +3 -6
  13. package/dist/azure-monitor.transport-DV03Z5P4.d.ts.map +1 -0
  14. package/dist/azure.d.mts +1 -2
  15. package/dist/azure.d.ts +1 -2
  16. package/dist/azure.js +3 -6
  17. package/dist/azure.mjs +1 -6
  18. package/dist/{batch-buffer-PGvSgbmd.mjs → batch-buffer-0fgLmIPn.mjs} +21 -7
  19. package/dist/batch-buffer-0fgLmIPn.mjs.map +1 -0
  20. package/dist/{batch-buffer-BY-mRWIK.js → batch-buffer-DT4gdXmf.js} +53 -40
  21. package/dist/batch-buffer-DT4gdXmf.js.map +1 -0
  22. package/dist/browser.d.mts +52 -23
  23. package/dist/browser.d.mts.map +1 -1
  24. package/dist/browser.d.ts +52 -23
  25. package/dist/browser.d.ts.map +1 -1
  26. package/dist/browser.js +460 -62
  27. package/dist/browser.js.map +1 -1
  28. package/dist/browser.mjs +461 -65
  29. package/dist/browser.mjs.map +1 -1
  30. package/dist/{nestjs-extras-ImbuDhs1.mjs → builder-D70z6kjj.mjs} +279 -965
  31. package/dist/builder-D70z6kjj.mjs.map +1 -0
  32. package/dist/{nestjs-extras-DnJ6vrIC.js → builder-M7NoaugM.js} +421 -1177
  33. package/dist/builder-M7NoaugM.js.map +1 -0
  34. package/dist/cli/index.js +86 -67
  35. package/dist/cloudwatch.d.mts +1 -2
  36. package/dist/cloudwatch.d.ts +1 -2
  37. package/dist/cloudwatch.js +3 -7
  38. package/dist/cloudwatch.mjs +1 -7
  39. package/dist/{cloudwatch.transport-BO1ahxw-.js → cloudwatch.transport-B2wKQFF7.js} +61 -36
  40. package/dist/cloudwatch.transport-B2wKQFF7.js.map +1 -0
  41. package/dist/{cloudwatch.transport-DZ6ies7g.mjs → cloudwatch.transport-BTvYfLs9.mjs} +54 -28
  42. package/dist/cloudwatch.transport-BTvYfLs9.mjs.map +1 -0
  43. package/dist/{cloudwatch.transport-B00st6Xv.d.ts → cloudwatch.transport-Bf7L4I59.d.ts} +2 -6
  44. package/dist/cloudwatch.transport-Bf7L4I59.d.ts.map +1 -0
  45. package/dist/{cloudwatch.transport-Blc7Gtxt.d.mts → cloudwatch.transport-Rj4yTpRn.d.mts} +2 -6
  46. package/dist/cloudwatch.transport-Rj4yTpRn.d.mts.map +1 -0
  47. package/dist/{coerce.utils-Cu6IUTgX.mjs → coerce.utils-B_rEudCn.mjs} +3 -4
  48. package/dist/{coerce.utils-Cu6IUTgX.mjs.map → coerce.utils-B_rEudCn.mjs.map} +1 -1
  49. package/dist/{coerce.utils-B-LilukN.js → coerce.utils-C1C5sIX0.js} +8 -10
  50. package/dist/{coerce.utils-B-LilukN.js.map → coerce.utils-C1C5sIX0.js.map} +1 -1
  51. package/dist/correlation.d.mts +13 -16
  52. package/dist/correlation.d.mts.map +1 -1
  53. package/dist/correlation.d.ts +13 -16
  54. package/dist/correlation.d.ts.map +1 -1
  55. package/dist/correlation.js +58 -9
  56. package/dist/correlation.js.map +1 -1
  57. package/dist/correlation.mjs +56 -6
  58. package/dist/correlation.mjs.map +1 -1
  59. package/dist/{entry-fields-BJkuPnIg.mjs → entry-fields-CGuvT2R0.mjs} +5 -6
  60. package/dist/entry-fields-CGuvT2R0.mjs.map +1 -0
  61. package/dist/{entry-fields-BvOLFlJ4.js → entry-fields-RLd1jCoR.js} +10 -12
  62. package/dist/entry-fields-RLd1jCoR.js.map +1 -0
  63. package/dist/gcp.d.mts +1 -2
  64. package/dist/gcp.d.ts +1 -2
  65. package/dist/gcp.js +3 -7
  66. package/dist/gcp.mjs +1 -7
  67. package/dist/{gcp.transport-m4fVw0b1.d.ts → gcp.transport-C5D72b1g.d.mts} +3 -6
  68. package/dist/gcp.transport-C5D72b1g.d.mts.map +1 -0
  69. package/dist/{gcp.transport-zzNyIoih.d.mts → gcp.transport-CFQfdAOK.d.ts} +3 -6
  70. package/dist/gcp.transport-CFQfdAOK.d.ts.map +1 -0
  71. package/dist/{gcp.transport-DBX5TPIy.mjs → gcp.transport-CGKopAhQ.mjs} +55 -16
  72. package/dist/gcp.transport-CGKopAhQ.mjs.map +1 -0
  73. package/dist/{gcp.transport-CHV8MGgz.js → gcp.transport-KZe9hCAR.js} +60 -22
  74. package/dist/gcp.transport-KZe9hCAR.js.map +1 -0
  75. package/dist/{index-nZEeCr3X.d.ts → index-DwozbmB4.d.ts} +3 -8
  76. package/dist/index-DwozbmB4.d.ts.map +1 -0
  77. package/dist/{index-BPwEisy4.d.mts → index-xqaJtAZn.d.mts} +3 -8
  78. package/dist/index-xqaJtAZn.d.mts.map +1 -0
  79. package/dist/index.d.mts +141 -203
  80. package/dist/index.d.mts.map +1 -1
  81. package/dist/index.d.ts +140 -202
  82. package/dist/index.d.ts.map +1 -1
  83. package/dist/index.js +196 -381
  84. package/dist/index.js.map +1 -1
  85. package/dist/index.mjs +145 -294
  86. package/dist/index.mjs.map +1 -1
  87. package/dist/internal-log-b0Vp4qrB.js +183 -0
  88. package/dist/internal-log-b0Vp4qrB.js.map +1 -0
  89. package/dist/internal-log-uCSd1PMc.mjs +142 -0
  90. package/dist/internal-log-uCSd1PMc.mjs.map +1 -0
  91. package/dist/logitron-logger-D2B75Oc7.d.ts +365 -0
  92. package/dist/logitron-logger-D2B75Oc7.d.ts.map +1 -0
  93. package/dist/logitron-logger-oEd6wNhf.d.mts +365 -0
  94. package/dist/logitron-logger-oEd6wNhf.d.mts.map +1 -0
  95. package/dist/middleware.d.mts +10 -12
  96. package/dist/middleware.d.mts.map +1 -1
  97. package/dist/middleware.d.ts +10 -12
  98. package/dist/middleware.d.ts.map +1 -1
  99. package/dist/middleware.js +16 -47
  100. package/dist/middleware.js.map +1 -1
  101. package/dist/middleware.mjs +13 -45
  102. package/dist/middleware.mjs.map +1 -1
  103. package/dist/nest.d.mts +467 -10
  104. package/dist/nest.d.mts.map +1 -1
  105. package/dist/nest.d.ts +467 -10
  106. package/dist/nest.d.ts.map +1 -1
  107. package/dist/nest.js +889 -43
  108. package/dist/nest.js.map +1 -0
  109. package/dist/nest.mjs +850 -9
  110. package/dist/nest.mjs.map +1 -0
  111. package/dist/{trace.utils-CvXgaiQT.mjs → request-trace-C_fvIDv4.mjs} +44 -9
  112. package/dist/request-trace-C_fvIDv4.mjs.map +1 -0
  113. package/dist/{trace.utils-DpBOLDtq.js → request-trace-wTJdKp6-.js} +121 -77
  114. package/dist/request-trace-wTJdKp6-.js.map +1 -0
  115. package/dist/rolldown-runtime-D3PmRqjj.mjs +4 -0
  116. package/dist/{safe-stringify-DJ66tW5I.mjs → safe-stringify-BMRl3EX3.mjs} +3 -4
  117. package/dist/safe-stringify-BMRl3EX3.mjs.map +1 -0
  118. package/dist/{safe-stringify-DWo3aZp_.js → safe-stringify-DLz1Kz3o.js} +23 -25
  119. package/dist/safe-stringify-DLz1Kz3o.js.map +1 -0
  120. package/dist/{search-CHUZPl0h.d.ts → search-BH33XhuU.d.mts} +2 -22
  121. package/dist/search-BH33XhuU.d.mts.map +1 -0
  122. package/dist/{search-DjXSn6v5.mjs → search-CWMVYC-R.mjs} +34 -41
  123. package/dist/search-CWMVYC-R.mjs.map +1 -0
  124. package/dist/{search-BfBzDIT9.d.mts → search-CazwyX5Z.d.ts} +2 -22
  125. package/dist/search-CazwyX5Z.d.ts.map +1 -0
  126. package/dist/{search-B0MH1SJJ.js → search-DUfWuzFP.js} +64 -71
  127. package/dist/search-DUfWuzFP.js.map +1 -0
  128. package/dist/search.d.mts +2 -4
  129. package/dist/search.d.ts +2 -4
  130. package/dist/search.js +3 -4
  131. package/dist/search.mjs +1 -4
  132. package/dist/secret-config-BegMLkYl.mjs +209 -0
  133. package/dist/secret-config-BegMLkYl.mjs.map +1 -0
  134. package/dist/secret-config-CBZBs0p1.js +271 -0
  135. package/dist/secret-config-CBZBs0p1.js.map +1 -0
  136. package/dist/slack.transport-Ce96JBDk.mjs +824 -0
  137. package/dist/slack.transport-Ce96JBDk.mjs.map +1 -0
  138. package/dist/slack.transport-Dlx3xvb7.js +847 -0
  139. package/dist/slack.transport-Dlx3xvb7.js.map +1 -0
  140. package/dist/slack.transport-DrirgDNy.d.ts +159 -0
  141. package/dist/slack.transport-DrirgDNy.d.ts.map +1 -0
  142. package/dist/slack.transport-DxHOXlLu.d.mts +159 -0
  143. package/dist/slack.transport-DxHOXlLu.d.mts.map +1 -0
  144. package/dist/testing.d.mts +3 -8
  145. package/dist/testing.d.mts.map +1 -1
  146. package/dist/testing.d.ts +3 -8
  147. package/dist/testing.d.ts.map +1 -1
  148. package/dist/testing.js +3 -4
  149. package/dist/testing.js.map +1 -1
  150. package/dist/testing.mjs +2 -3
  151. package/dist/testing.mjs.map +1 -1
  152. package/dist/{transport.manager-Crau3Rle.js → transport.manager-DkcEOlqV.js} +331 -234
  153. package/dist/transport.manager-DkcEOlqV.js.map +1 -0
  154. package/dist/{transport.manager-CpdVHEGP.mjs → transport.manager-eZ_EeC00.mjs} +274 -178
  155. package/dist/transport.manager-eZ_EeC00.mjs.map +1 -0
  156. package/dist/{transport.types-CtNr3D7S.d.mts → transport.types-BJVL1QQl.d.mts} +5 -4
  157. package/dist/transport.types-BJVL1QQl.d.mts.map +1 -0
  158. package/dist/{transport.types-DqVLZTyf.d.ts → transport.types-BJVL1QQl.d.ts} +5 -4
  159. package/dist/transport.types-BJVL1QQl.d.ts.map +1 -0
  160. package/dist/transports.d.mts +32 -41
  161. package/dist/transports.d.mts.map +1 -1
  162. package/dist/transports.d.ts +32 -41
  163. package/dist/transports.d.ts.map +1 -1
  164. package/dist/transports.js +12 -12
  165. package/dist/transports.mjs +7 -12
  166. package/dist/worker-entry.js +337 -87
  167. package/dist/worker.d.mts +1 -2
  168. package/dist/worker.d.ts +1 -2
  169. package/dist/worker.js +3 -4
  170. package/dist/worker.mjs +1 -4
  171. package/dist/{worker.transport-Bj-i0P9V.d.ts → worker.transport-BuPwBi3d.d.ts} +2 -6
  172. package/dist/worker.transport-BuPwBi3d.d.ts.map +1 -0
  173. package/dist/{worker.transport-JP8YHBuU.js → worker.transport-C6GNl_r2.js} +44 -14
  174. package/dist/worker.transport-C6GNl_r2.js.map +1 -0
  175. package/dist/{worker.transport-otwhJ_Et.mjs → worker.transport-DLVA4y2e.mjs} +39 -9
  176. package/dist/worker.transport-DLVA4y2e.mjs.map +1 -0
  177. package/dist/{worker.transport-Bgv9heDI.d.mts → worker.transport-hJay1wxA.d.mts} +2 -6
  178. package/dist/worker.transport-hJay1wxA.d.mts.map +1 -0
  179. package/package.json +36 -19
  180. package/dist/async-context-BzJrbfQs.mjs +0 -72
  181. package/dist/async-context-BzJrbfQs.mjs.map +0 -1
  182. package/dist/async-context-DyQQYq3I.js +0 -92
  183. package/dist/async-context-DyQQYq3I.js.map +0 -1
  184. package/dist/azure-monitor.transport-BDFO4F-i.d.ts.map +0 -1
  185. package/dist/azure-monitor.transport-CHnjVRF-.mjs.map +0 -1
  186. package/dist/azure-monitor.transport-CrvfHd9C.js.map +0 -1
  187. package/dist/azure-monitor.transport-D5wQEH04.d.mts.map +0 -1
  188. package/dist/batch-buffer-BY-mRWIK.js.map +0 -1
  189. package/dist/batch-buffer-PGvSgbmd.mjs.map +0 -1
  190. package/dist/chunk-DLSkYcPk.mjs +0 -7
  191. package/dist/chunk-nOFOJqeH.js +0 -30
  192. package/dist/cloudwatch.transport-B00st6Xv.d.ts.map +0 -1
  193. package/dist/cloudwatch.transport-BO1ahxw-.js.map +0 -1
  194. package/dist/cloudwatch.transport-Blc7Gtxt.d.mts.map +0 -1
  195. package/dist/cloudwatch.transport-DZ6ies7g.mjs.map +0 -1
  196. package/dist/entry-fields-BJkuPnIg.mjs.map +0 -1
  197. package/dist/entry-fields-BvOLFlJ4.js.map +0 -1
  198. package/dist/gcp.transport-CHV8MGgz.js.map +0 -1
  199. package/dist/gcp.transport-DBX5TPIy.mjs.map +0 -1
  200. package/dist/gcp.transport-m4fVw0b1.d.ts.map +0 -1
  201. package/dist/gcp.transport-zzNyIoih.d.mts.map +0 -1
  202. package/dist/index-BPwEisy4.d.mts.map +0 -1
  203. package/dist/index-nZEeCr3X.d.ts.map +0 -1
  204. package/dist/internal-log-BUJYMZbE.js +0 -70
  205. package/dist/internal-log-BUJYMZbE.js.map +0 -1
  206. package/dist/internal-log-Cm8SOWSV.mjs +0 -52
  207. package/dist/internal-log-Cm8SOWSV.mjs.map +0 -1
  208. package/dist/nestjs-extras-DnJ6vrIC.js.map +0 -1
  209. package/dist/nestjs-extras-ImbuDhs1.mjs.map +0 -1
  210. package/dist/nestjs-extras-OkC796py.d.mts +0 -725
  211. package/dist/nestjs-extras-OkC796py.d.mts.map +0 -1
  212. package/dist/nestjs-extras-mKrHE9S6.d.ts +0 -725
  213. package/dist/nestjs-extras-mKrHE9S6.d.ts.map +0 -1
  214. package/dist/safe-stringify-DJ66tW5I.mjs.map +0 -1
  215. package/dist/safe-stringify-DWo3aZp_.js.map +0 -1
  216. package/dist/search-B0MH1SJJ.js.map +0 -1
  217. package/dist/search-BfBzDIT9.d.mts.map +0 -1
  218. package/dist/search-CHUZPl0h.d.ts.map +0 -1
  219. package/dist/search-DjXSn6v5.mjs.map +0 -1
  220. package/dist/trace.utils-CvXgaiQT.mjs.map +0 -1
  221. package/dist/trace.utils-DpBOLDtq.js.map +0 -1
  222. package/dist/transport.manager-CpdVHEGP.mjs.map +0 -1
  223. package/dist/transport.manager-Crau3Rle.js.map +0 -1
  224. package/dist/transport.types-CtNr3D7S.d.mts.map +0 -1
  225. package/dist/transport.types-DqVLZTyf.d.ts.map +0 -1
  226. package/dist/worker.transport-Bgv9heDI.d.mts.map +0 -1
  227. package/dist/worker.transport-Bj-i0P9V.d.ts.map +0 -1
  228. package/dist/worker.transport-JP8YHBuU.js.map +0 -1
  229. package/dist/worker.transport-otwhJ_Et.mjs.map +0 -1
@@ -1,4 +1,4 @@
1
- //#region rolldown:runtime
1
+ // \0rolldown/runtime.js
2
2
  var __create = Object.create;
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -15,26 +15,19 @@ var __copyProps = (to, from, except, desc) => {
15
15
  }
16
16
  return to;
17
17
  };
18
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
18
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
19
19
  value: mod,
20
20
  enumerable: true
21
21
  }) : target, mod));
22
-
23
- //#endregion
24
22
  let node_worker_threads = require("node:worker_threads");
25
- node_worker_threads = __toESM(node_worker_threads);
26
23
  let node_fs = require("node:fs");
27
24
  node_fs = __toESM(node_fs);
28
25
  let node_path = require("node:path");
29
26
  node_path = __toESM(node_path);
30
27
  let node_stream_promises = require("node:stream/promises");
31
- node_stream_promises = __toESM(node_stream_promises);
32
28
  let node_util = require("node:util");
33
- node_util = __toESM(node_util);
34
29
  let node_zlib = require("node:zlib");
35
- node_zlib = __toESM(node_zlib);
36
-
37
- //#region src/utils/coerce.utils.ts
30
+ // src/utils/coerce.utils.ts
38
31
  /**
39
32
  * Defensive value coercion helpers for Logixia.
40
33
  *
@@ -68,9 +61,7 @@ function safeToString(value) {
68
61
  } catch {}
69
62
  return `[${((_constructor = value.constructor) === null || _constructor === void 0 ? void 0 : _constructor.name) ?? "object"}]`;
70
63
  }
71
-
72
- //#endregion
73
- //#region src/utils/safe-stringify.ts
64
+ // src/utils/safe-stringify.ts
74
65
  /** Build a JSONPath like `$["a"][0]["b"]` for a decycle pointer. */
75
66
  function jsonPath(parts) {
76
67
  let path = "$";
@@ -154,9 +145,7 @@ function stringifyForLog(value) {
154
145
  }
155
146
  }
156
147
  }
157
-
158
- //#endregion
159
- //#region src/utils/sanitize.utils.ts
148
+ // src/utils/sanitize.utils.ts
160
149
  /**
161
150
  * Control-character stripping for text-mode log output.
162
151
  *
@@ -172,11 +161,9 @@ const VISIBLE_ESCAPES = {
172
161
  function stripControlChars(value) {
173
162
  return value.replace(CONTROL_CHARS_RE, (ch) => VISIBLE_ESCAPES[ch] ?? "");
174
163
  }
175
-
176
- //#endregion
177
- //#region src/transports/entry-fields.ts
164
+ // src/transports/entry-fields.ts
178
165
  const PAYLOAD_PREFIX = "data_";
179
- const UNSAFE_KEYS = new Set(["__proto__"]);
166
+ const UNSAFE_KEYS = /* @__PURE__ */ new Set(["__proto__"]);
180
167
  /**
181
168
  * Copies `core` and then the user payload into one object. The core fields stay
182
169
  * authoritative: a payload key that matches a core key (even one whose value is
@@ -188,7 +175,7 @@ const UNSAFE_KEYS = new Set(["__proto__"]);
188
175
  function mergeCoreFields(core, data, extraReserved = []) {
189
176
  const merged = { ...core };
190
177
  if (!data) return merged;
191
- const reserved = new Set([...Object.keys(core), ...extraReserved]);
178
+ const reserved = /* @__PURE__ */ new Set([...Object.keys(core), ...extraReserved]);
192
179
  const payloadKeys = new Set(Object.keys(data));
193
180
  for (const key of payloadKeys) {
194
181
  if (UNSAFE_KEYS.has(key)) continue;
@@ -200,9 +187,7 @@ function mergeCoreFields(core, data, extraReserved = []) {
200
187
  }
201
188
  return merged;
202
189
  }
203
-
204
- //#endregion
205
- //#region src/transports/console.transport.ts
190
+ // src/transports/console.transport.ts
206
191
  /**
207
192
  * Writes log entries to stdout (info/debug/verbose) and stderr (error/warn).
208
193
  *
@@ -212,26 +197,6 @@ function mergeCoreFields(core, data, extraReserved = []) {
212
197
  * transports: { console: { format: 'json' } }
213
198
  */
214
199
  var ConsoleTransport = class ConsoleTransport {
215
- static #_ = this.COLORS = new Map([
216
- ["black", "\x1B[30m"],
217
- ["red", "\x1B[31m"],
218
- ["green", "\x1B[32m"],
219
- ["yellow", "\x1B[33m"],
220
- ["blue", "\x1B[34m"],
221
- ["magenta", "\x1B[35m"],
222
- ["cyan", "\x1B[36m"],
223
- ["white", "\x1B[37m"],
224
- ["gray", "\x1B[90m"],
225
- ["grey", "\x1B[90m"],
226
- ["brightred", "\x1B[91m"],
227
- ["brightgreen", "\x1B[92m"],
228
- ["brightyellow", "\x1B[93m"],
229
- ["brightblue", "\x1B[94m"],
230
- ["brightmagenta", "\x1B[95m"],
231
- ["brightcyan", "\x1B[96m"],
232
- ["brightwhite", "\x1B[97m"],
233
- ["reset", "\x1B[0m"]
234
- ]);
235
200
  static sanitize(value) {
236
201
  return stripControlChars(safeToString(value));
237
202
  }
@@ -300,10 +265,28 @@ var ConsoleTransport = class ConsoleTransport {
300
265
  close() {
301
266
  return Promise.resolve();
302
267
  }
268
+ static #_ = () => this.COLORS = /* @__PURE__ */ new Map([
269
+ ["black", "\x1B[30m"],
270
+ ["red", "\x1B[31m"],
271
+ ["green", "\x1B[32m"],
272
+ ["yellow", "\x1B[33m"],
273
+ ["blue", "\x1B[34m"],
274
+ ["magenta", "\x1B[35m"],
275
+ ["cyan", "\x1B[36m"],
276
+ ["white", "\x1B[37m"],
277
+ ["gray", "\x1B[90m"],
278
+ ["grey", "\x1B[90m"],
279
+ ["brightred", "\x1B[91m"],
280
+ ["brightgreen", "\x1B[92m"],
281
+ ["brightyellow", "\x1B[93m"],
282
+ ["brightblue", "\x1B[94m"],
283
+ ["brightmagenta", "\x1B[95m"],
284
+ ["brightcyan", "\x1B[96m"],
285
+ ["brightwhite", "\x1B[97m"],
286
+ ["reset", "\x1B[0m"]
287
+ ]);
303
288
  };
304
-
305
- //#endregion
306
- //#region src/utils/internal-log.ts
289
+ // src/utils/internal-log.ts
307
290
  /**
308
291
  * Internal logging helpers for use within the logixia library itself.
309
292
  *
@@ -322,14 +305,26 @@ var ConsoleTransport = class ConsoleTransport {
322
305
  * behavior was previously unreliable because the value was frozen at load.
323
306
  */
324
307
  function isSilent() {
325
- return process.env.LOGIXIA_SILENT_INTERNAL === "1";
308
+ var _process$env;
309
+ if (typeof process !== "undefined" && ((_process$env = process.env) === null || _process$env === void 0 ? void 0 : _process$env.LOGIXIA_SILENT_INTERNAL) === "1") return true;
310
+ const flag = globalThis["LOGIXIA_SILENT_INTERNAL"];
311
+ return flag === "1" || flag === 1 || flag === true;
312
+ }
313
+ /**
314
+ * Write a line to stderr, falling back to the matching console method where
315
+ * `process` is unavailable (browsers, Cloudflare Workers, Deno without Node compat).
316
+ */
317
+ function writeLine(method, line) {
318
+ var _process$stderr;
319
+ if (typeof process !== "undefined" && typeof ((_process$stderr = process.stderr) === null || _process$stderr === void 0 ? void 0 : _process$stderr.write) === "function") process.stderr.write(`${line}\n`);
320
+ else if (typeof console !== "undefined" && typeof console[method] === "function") console[method](line);
326
321
  }
327
322
  /**
328
323
  * Emit an internal warning to stderr.
329
324
  * Use when something is misconfigured but logixia can continue operating.
330
325
  */
331
326
  function internalWarn(message) {
332
- if (!isSilent()) process.stderr.write(`[logixia:warn] ${message}\n`);
327
+ if (!isSilent()) writeLine("warn", `[logixia:warn] ${message}`);
333
328
  }
334
329
  /**
335
330
  * Emit an internal error to stderr.
@@ -340,12 +335,10 @@ function internalError(message, error) {
340
335
  let errStr = "";
341
336
  if (error instanceof Error) errStr = ` — ${error.message}`;
342
337
  else if (error != null) errStr = ` — ${String(error)}`;
343
- process.stderr.write(`[logixia:error] ${message}${errStr}\n`);
338
+ writeLine("error", `[logixia:error] ${message}${errStr}`);
344
339
  }
345
340
  }
346
-
347
- //#endregion
348
- //#region src/transports/buffer-cap.ts
341
+ // src/transports/buffer-cap.ts
349
342
  const DEFAULT_BUFFER_CAP = 1e4;
350
343
  const DROP_WARN_INTERVAL_MS$1 = 5e3;
351
344
  /**
@@ -361,8 +354,10 @@ var BufferCap = class {
361
354
  this.dropped = 0;
362
355
  this.lastWarning = 0;
363
356
  let max = fallback;
364
- if (requested !== void 0) if (Number.isInteger(requested) && requested >= 1) max = requested;
365
- else internalWarn(`${name}: maxBufferSize ${String(requested)} is not a positive integer; using ${fallback}`);
357
+ if (requested !== void 0) {
358
+ if (Number.isInteger(requested) && requested >= 1) max = requested;
359
+ else internalWarn(`${name}: maxBufferSize ${String(requested)} is not a positive integer; using ${fallback}`);
360
+ }
366
361
  this.max = Math.max(max, batchSize);
367
362
  }
368
363
  /** Drops the oldest items beyond the cap, in place. */
@@ -384,9 +379,256 @@ var BufferCap = class {
384
379
  this.lastWarning = now;
385
380
  }
386
381
  };
387
-
388
- //#endregion
389
- //#region src/transports/database.transport.ts
382
+ // src/utils/sensitive-names.ts
383
+ /**
384
+ * The one list of sensitive names. Log redaction (redact.utils), the HTTP logger
385
+ * middleware and transport secret handling (transports/secret-config) all read it,
386
+ * so the lists cannot drift. No imports: safe from any module, including browser code.
387
+ */
388
+ /** Field names redacted by name, wherever they appear in logged data. */
389
+ const SENSITIVE_KEY_NAMES = [
390
+ "password",
391
+ "passwd",
392
+ "secret",
393
+ "token",
394
+ "apiKey",
395
+ "api_key",
396
+ "accessToken",
397
+ "access_token",
398
+ "refreshToken",
399
+ "refresh_token",
400
+ "authorization",
401
+ "credentials",
402
+ "privateKey",
403
+ "private_key",
404
+ "clientSecret",
405
+ "client_secret",
406
+ "cookie",
407
+ "set-cookie",
408
+ "x-api-key",
409
+ "session",
410
+ "proxy-authorization",
411
+ "x-auth-token",
412
+ "x-access-token",
413
+ "aws_secret_access_key",
414
+ "awsSecretAccessKey",
415
+ "secretAccessKey"
416
+ ];
417
+ /**
418
+ * Extra names that only mean "secret" inside transport configuration, where
419
+ * short words like `key` or `signature` are credentials, not log fields.
420
+ */
421
+ const TRANSPORT_CONFIG_SECRET_NAMES = [
422
+ "writeKey",
423
+ "apiSecret",
424
+ "connectionString",
425
+ "sessionToken",
426
+ "passphrase",
427
+ "signature",
428
+ "pwd",
429
+ "pfx",
430
+ "cert",
431
+ "key",
432
+ "auth"
433
+ ];
434
+ /** Query-string parameters whose values are never logged. */
435
+ const DEFAULT_REDACT_QUERY_PARAMS = [
436
+ "token",
437
+ "access_token",
438
+ "refresh_token",
439
+ "code",
440
+ "password",
441
+ "secret",
442
+ "api_key",
443
+ "apikey",
444
+ "key",
445
+ "signature",
446
+ "sig",
447
+ "auth"
448
+ ];
449
+ // src/transports/secret-config.ts
450
+ /**
451
+ * Keeps credentials out of serialized transport output and error text.
452
+ *
453
+ * `protectSecrets()` replaces each listed field with a non-enumerable accessor backed
454
+ * by a WeakMap, whether or not the field is assigned yet, so later assignments (a
455
+ * connection opened on first write, a refreshed token) stay hidden too. It also
456
+ * installs `toJSON()` and a Node inspect hook returning a redacted view: scalar
457
+ * fields stay for debugging, secret-looking keys become '[REDACTED]', URLs lose
458
+ * userinfo, query and fragment. No Node imports, so browser bundles can use it.
459
+ */
460
+ const REDACTED = "[REDACTED]";
461
+ const INSPECT_CUSTOM = Symbol.for("nodejs.util.inspect.custom");
462
+ const MAX_DEPTH = 4;
463
+ const MIN_SECRET_LENGTH = 4;
464
+ const SCHEME_PREFIX = /^[a-z][a-z0-9+.-]*:\/\//i;
465
+ /** `scheme://userinfo@`: userinfo runs to the LAST `@` before the path, so `p@ss` is covered. */
466
+ const USERINFO = /(\b[a-z][a-z0-9+.-]*:\/\/)[^\s/?#]*@/gi;
467
+ function normalizeName(name) {
468
+ return name.toLowerCase().replaceAll("-", "").replaceAll("_", "");
469
+ }
470
+ const SECRET_NAMES = [...SENSITIVE_KEY_NAMES, ...TRANSPORT_CONFIG_SECRET_NAMES].map(normalizeName);
471
+ const QUERY_NAMES = new Set(DEFAULT_REDACT_QUERY_PARAMS.map(normalizeName));
472
+ /** Exact match for short names (`key`, `pfx`), suffix match for longer ones (`azureClientSecret`). */
473
+ function isSecretKey(key) {
474
+ const name = normalizeName(key);
475
+ return SECRET_NAMES.some((n) => name === n || n.length >= 5 && name.endsWith(n));
476
+ }
477
+ function isUrlKey(key) {
478
+ return /url|uri|endpoint|href/i.test(key);
479
+ }
480
+ function isPlainObject(value) {
481
+ const proto = Object.getPrototypeOf(value);
482
+ return proto === Object.prototype || proto === null;
483
+ }
484
+ function safeDecode(value) {
485
+ try {
486
+ return decodeURIComponent(value.replaceAll("+", " "));
487
+ } catch {
488
+ return value;
489
+ }
490
+ }
491
+ /** Absolute URL: `scheme://host` only. Relative or unparseable: path kept, query and fragment cut. */
492
+ function redactUrl(raw) {
493
+ if (typeof raw !== "string") return `${raw.protocol}//${raw.host}`;
494
+ if (SCHEME_PREFIX.test(raw)) try {
495
+ const url = new URL(raw);
496
+ return `${url.protocol}//${url.host}`;
497
+ } catch {
498
+ return REDACTED;
499
+ }
500
+ return raw.split(/[?#]/, 1)[0] ?? "";
501
+ }
502
+ function redactHeaders(headers) {
503
+ if (!headers || typeof headers !== "object") return headers;
504
+ return Object.fromEntries(Object.keys(headers).map((name) => [name, REDACTED]));
505
+ }
506
+ /** Redacted deep copy of a config-like value. Never throws, never returns a secret. */
507
+ function redactConfig(value, depth = 0, key = "") {
508
+ var _value$constructor;
509
+ if (value === null || value === void 0) return value;
510
+ if (typeof value === "string") return SCHEME_PREFIX.test(value) || isUrlKey(key) ? redactUrl(value) : value;
511
+ if (typeof value === "number" || typeof value === "boolean") return value;
512
+ if (typeof value === "function") return "[Function]";
513
+ if (typeof value !== "object") return "[Unserializable]";
514
+ if (typeof URL !== "undefined" && value instanceof URL) return redactUrl(value);
515
+ if (Array.isArray(value)) return depth >= MAX_DEPTH ? "[Array]" : value.map((v) => redactConfig(v, depth + 1, key));
516
+ if (!isPlainObject(value) || depth >= MAX_DEPTH) return `[${((_value$constructor = value.constructor) === null || _value$constructor === void 0 ? void 0 : _value$constructor.name) ?? "Object"}]`;
517
+ const out = {};
518
+ for (const [name, inner] of Object.entries(value)) if (isSecretKey(name)) out[name] = inner === void 0 ? void 0 : REDACTED;
519
+ else if (name.toLowerCase() === "headers") out[name] = redactHeaders(inner);
520
+ else out[name] = redactConfig(inner, depth + 1, name);
521
+ return out;
522
+ }
523
+ const hiddenKeys = /* @__PURE__ */ new WeakMap();
524
+ const hiddenValues = /* @__PURE__ */ new WeakMap();
525
+ function viewOf(target) {
526
+ var _target$constructor;
527
+ const hidden = hiddenKeys.get(target) ?? /* @__PURE__ */ new Set();
528
+ const values = hiddenValues.get(target);
529
+ const view = { class: (_target$constructor = target.constructor) === null || _target$constructor === void 0 ? void 0 : _target$constructor.name };
530
+ for (const key of /* @__PURE__ */ new Set([...Object.keys(target), ...hidden])) {
531
+ const inner = hidden.has(key) ? values === null || values === void 0 ? void 0 : values.get(key) : target[key];
532
+ if (isSecretKey(key)) view[key] = inner === void 0 ? void 0 : REDACTED;
533
+ else if (key.toLowerCase() === "headers") view[key] = redactHeaders(inner);
534
+ else if (inner !== null && typeof inner === "object" && !hidden.has(key) && !(inner instanceof URL)) view[key] = "[Object]";
535
+ else if (hidden.has(key) && typeof inner === "string" && !isUrlKey(key)) view[key] = REDACTED;
536
+ else view[key] = redactConfig(inner, 0, key);
537
+ }
538
+ return view;
539
+ }
540
+ /**
541
+ * Hides `keys` on `target` (assigned or not yet) and gives it a redacted `toJSON()` /
542
+ * inspect view. Fields stay readable and writable. Safe to call more than once.
543
+ * Throws when the target cannot carry the protection (frozen or sealed), instead of
544
+ * silently leaving the secret enumerable.
545
+ */
546
+ function protectSecrets(target, keys) {
547
+ if (!Object.isExtensible(target)) {
548
+ var _target$constructor2;
549
+ throw new TypeError(`protectSecrets: ${((_target$constructor2 = target.constructor) === null || _target$constructor2 === void 0 ? void 0 : _target$constructor2.name) ?? "object"} is not extensible`);
550
+ }
551
+ let hidden = hiddenKeys.get(target);
552
+ let values = hiddenValues.get(target);
553
+ if (!hidden || !values) {
554
+ hidden = /* @__PURE__ */ new Set();
555
+ values = /* @__PURE__ */ new Map();
556
+ hiddenKeys.set(target, hidden);
557
+ hiddenValues.set(target, values);
558
+ const view = () => viewOf(target);
559
+ Object.defineProperty(target, "toJSON", {
560
+ value: view,
561
+ enumerable: false,
562
+ configurable: true
563
+ });
564
+ Object.defineProperty(target, INSPECT_CUSTOM, {
565
+ value: view,
566
+ enumerable: false,
567
+ configurable: true
568
+ });
569
+ }
570
+ const store = values;
571
+ for (const key of keys) {
572
+ if (hidden.has(key)) continue;
573
+ const desc = Object.getOwnPropertyDescriptor(target, key);
574
+ if (desc && !desc.configurable) throw new TypeError(`protectSecrets: "${key}" is not configurable`);
575
+ if (desc && "value" in desc) store.set(key, desc.value);
576
+ hidden.add(key);
577
+ Object.defineProperty(target, key, {
578
+ enumerable: false,
579
+ configurable: true,
580
+ get: () => store.get(key),
581
+ set: (next) => void store.set(key, next)
582
+ });
583
+ }
584
+ }
585
+ /** The raw, decoded and percent-encoded spellings of a secret. */
586
+ function variantsOf(secret) {
587
+ return [
588
+ secret,
589
+ safeDecode(secret),
590
+ encodeURIComponent(secret),
591
+ encodeURI(secret)
592
+ ];
593
+ }
594
+ /** Secret parts of a URL string: the password and the values of sensitive query parameters. */
595
+ function urlSecrets(raw) {
596
+ const text = typeof raw === "string" ? raw : raw.href;
597
+ const out = [];
598
+ const userinfo = new RegExp(USERINFO.source, "i").exec(text);
599
+ if (userinfo) {
600
+ const info = text.slice(userinfo[1].length, userinfo.index + userinfo[0].length - 1);
601
+ const colon = info.indexOf(":");
602
+ if (colon !== -1) out.push(info.slice(colon + 1));
603
+ }
604
+ const queryStart = text.indexOf("?");
605
+ if (queryStart !== -1) {
606
+ const query = text.slice(queryStart + 1).split("#", 1)[0] ?? "";
607
+ for (const pair of query.split("&")) {
608
+ const eq = pair.indexOf("=");
609
+ if (eq > 0 && QUERY_NAMES.has(normalizeName(safeDecode(pair.slice(0, eq))))) out.push(pair.slice(eq + 1));
610
+ }
611
+ }
612
+ return out.flatMap(variantsOf);
613
+ }
614
+ /** Replaces URL userinfo and every spelling of the given secret values in `text`. */
615
+ function scrubSecrets(text, secrets) {
616
+ let out = text.replace(USERINFO, `$1${REDACTED}@`);
617
+ const all = new Set(secrets.flatMap((s) => s && s.length >= MIN_SECRET_LENGTH ? variantsOf(s) : []));
618
+ for (const secret of [...all].sort((a, b) => b.length - a.length)) if (secret.length >= MIN_SECRET_LENGTH) out = out.split(secret).join(REDACTED);
619
+ return out;
620
+ }
621
+ /** Scrubs message, stack and the cause chain of `err` in place; returns it. */
622
+ function scrubError(err, secrets, depth = 0) {
623
+ if (!(err instanceof Error) || depth > 3) return err;
624
+ try {
625
+ err.message = scrubSecrets(err.message, secrets);
626
+ if (err.stack) err.stack = scrubSecrets(err.stack, secrets);
627
+ scrubError(err.cause, secrets, depth + 1);
628
+ } catch {}
629
+ return err;
630
+ }
631
+ // src/transports/database.transport.ts
390
632
  /**
391
633
  * Validates that a SQL identifier (table/index name) contains only safe characters.
392
634
  * Prevents SQL injection via user-supplied table names.
@@ -409,7 +651,7 @@ const PG_DATA_CLASSES = [
409
651
  "23",
410
652
  "54"
411
653
  ];
412
- const MYSQL_DATA_CODES = new Set([
654
+ const MYSQL_DATA_CODES = /* @__PURE__ */ new Set([
413
655
  "ER_DATA_TOO_LONG",
414
656
  "ER_TRUNCATED_WRONG_VALUE",
415
657
  "ER_TRUNCATED_WRONG_VALUE_FOR_FIELD",
@@ -419,7 +661,7 @@ const MYSQL_DATA_CODES = new Set([
419
661
  "ER_INVALID_JSON_TEXT",
420
662
  "ER_INVALID_CHARACTER_STRING"
421
663
  ]);
422
- const MYSQL_DATA_ERRNOS = new Set([
664
+ const MYSQL_DATA_ERRNOS = /* @__PURE__ */ new Set([
423
665
  1048,
424
666
  1062,
425
667
  1264,
@@ -428,12 +670,12 @@ const MYSQL_DATA_ERRNOS = new Set([
428
670
  1406,
429
671
  3140
430
672
  ]);
431
- const SQLITE_DATA_CODES = new Set([
673
+ const SQLITE_DATA_CODES = /* @__PURE__ */ new Set([
432
674
  "SQLITE_CONSTRAINT",
433
675
  "SQLITE_TOOBIG",
434
676
  "SQLITE_MISMATCH"
435
677
  ]);
436
- const MONGO_DATA_CODES = new Set([
678
+ const MONGO_DATA_CODES = /* @__PURE__ */ new Set([
437
679
  2,
438
680
  121,
439
681
  10334,
@@ -495,6 +737,7 @@ var DatabaseTransport = class {
495
737
  this.name = "database";
496
738
  this.batch = [];
497
739
  this.isConnected = false;
740
+ protectSecrets(this, ["config", "connection"]);
498
741
  this.batchSize = config.batchSize || 100;
499
742
  this.flushInterval = config.flushInterval || 5e3;
500
743
  this.cap = new BufferCap("DatabaseTransport", config.maxBufferSize, this.batchSize);
@@ -502,6 +745,14 @@ var DatabaseTransport = class {
502
745
  if (config.table) validateSqlIdentifier(config.table, "table");
503
746
  this.setupFlushTimer();
504
747
  }
748
+ secretValues() {
749
+ const { connectionString, password } = this.config;
750
+ return [
751
+ connectionString,
752
+ password,
753
+ ...connectionString ? urlSecrets(connectionString) : []
754
+ ];
755
+ }
505
756
  async write(entry) {
506
757
  if (!this.isConnected) await this.connect();
507
758
  this.addToBatch(entry);
@@ -562,6 +813,13 @@ var DatabaseTransport = class {
562
813
  this.cap.enforce(this.batch);
563
814
  }
564
815
  async writeEntries(entries) {
816
+ try {
817
+ await this.writeEntriesUnscrubbed(entries);
818
+ } catch (error) {
819
+ throw scrubError(error, this.secretValues());
820
+ }
821
+ }
822
+ async writeEntriesUnscrubbed(entries) {
565
823
  switch (this.config.type) {
566
824
  case "mongodb":
567
825
  await this.flushToMongoDB(entries);
@@ -640,13 +898,12 @@ var DatabaseTransport = class {
640
898
  case "mysql":
641
899
  await this.connectMySQL();
642
900
  break;
643
- case "sqlite":
644
- await this.connectSQLite();
645
- break;
901
+ case "sqlite": await this.connectSQLite();
646
902
  }
647
903
  this.isConnected = true;
648
904
  } catch (error) {
649
905
  this.isConnected = false;
906
+ scrubError(error, this.secretValues());
650
907
  throw new Error(`Database connection failed: ${error}`, { cause: error });
651
908
  }
652
909
  }
@@ -655,7 +912,8 @@ var DatabaseTransport = class {
655
912
  const { MongoClient } = await import("mongodb").catch(() => {
656
913
  throw new Error("MongoDB driver not installed. Run: npm install mongodb");
657
914
  });
658
- this.connection = new MongoClient(this.config.connectionString || `mongodb://${this.config.host}:${this.config.port}/${this.config.database}`);
915
+ const connectionString = this.config.connectionString || `mongodb://${this.config.host}:${this.config.port}/${this.config.database}`;
916
+ this.connection = new MongoClient(connectionString);
659
917
  await this.connection.connect();
660
918
  await this.connection.db(this.config.database).admin().ping();
661
919
  } catch (error) {
@@ -767,12 +1025,13 @@ var DatabaseTransport = class {
767
1025
  entry.environment
768
1026
  ].map((value, column) => stripNul(column === 3 ? stripJsonNulEscape(value) : value))), POSTGRES_ROWS_PER_INSERT);
769
1027
  const insertChunk = async (rows) => {
1028
+ const placeholders = rows.map((_, i) => {
1029
+ return `(${Array.from({ length: POSTGRES_COLUMNS }, (_unused, c) => `$${i * POSTGRES_COLUMNS + c + 1}`).join(", ")})`;
1030
+ }).join(", ");
770
1031
  const query = `
771
1032
  INSERT INTO ${tableName}
772
1033
  (timestamp, level, message, payload, context, trace_id, app_name, environment)
773
- VALUES ${rows.map((_, i) => {
774
- return `(${Array.from({ length: POSTGRES_COLUMNS }, (_unused, c) => `$${i * POSTGRES_COLUMNS + c + 1}`).join(", ")})`;
775
- }).join(", ")}
1034
+ VALUES ${placeholders}
776
1035
  `;
777
1036
  await this.connection.query(query, rows.flat());
778
1037
  };
@@ -936,9 +1195,7 @@ var DatabaseTransport = class {
936
1195
  case "mysql":
937
1196
  await this.connection.end();
938
1197
  break;
939
- case "sqlite":
940
- await this.connection.close();
941
- break;
1198
+ case "sqlite": await this.connection.close();
942
1199
  }
943
1200
  this.isConnected = false;
944
1201
  }
@@ -979,9 +1236,7 @@ var DatabaseTransport = class {
979
1236
  }
980
1237
  }
981
1238
  };
982
-
983
- //#endregion
984
- //#region src/transports/file.transport.ts
1239
+ // src/transports/file.transport.ts
985
1240
  const appendFile = (0, node_util.promisify)(node_fs.appendFile);
986
1241
  const rename = (0, node_util.promisify)(node_fs.rename);
987
1242
  const unlink = (0, node_util.promisify)(node_fs.unlink);
@@ -1244,7 +1499,6 @@ var FileTransport = class {
1244
1499
  csvField(entry.traceId),
1245
1500
  csvField(stringifyForLog(entry.data || {}))
1246
1501
  ].join(",");
1247
- case "text":
1248
1502
  default: return `${entry.timestamp.toISOString()} [${stripControlChars(safeToString(entry.level)).toUpperCase()}] ${stripControlChars(safeToString(entry.message))}${entry.data ? " " + stringifyForLog(entry.data) : ""}`;
1249
1503
  }
1250
1504
  }
@@ -1270,22 +1524,22 @@ var FileTransport = class {
1270
1524
  await this.append(content);
1271
1525
  return;
1272
1526
  }
1273
- let chunk$1 = "";
1527
+ let chunk = "";
1274
1528
  let chunkBytes = 0;
1275
1529
  for (const entry of entries) {
1276
1530
  const line = this.formatEntry(entry) + "\n";
1277
1531
  const lineBytes = Buffer.byteLength(line);
1278
1532
  const used = this.bytesWritten + chunkBytes;
1279
1533
  if (used > 0 && used + lineBytes > this.maxBytes) {
1280
- if (chunk$1) await this.append(chunk$1, chunkBytes);
1281
- chunk$1 = "";
1534
+ if (chunk) await this.append(chunk, chunkBytes);
1535
+ chunk = "";
1282
1536
  chunkBytes = 0;
1283
1537
  await this.rotateFile();
1284
1538
  }
1285
- chunk$1 += line;
1539
+ chunk += line;
1286
1540
  chunkBytes += lineBytes;
1287
1541
  }
1288
- if (chunk$1) await this.append(chunk$1, chunkBytes);
1542
+ if (chunk) await this.append(chunk, chunkBytes);
1289
1543
  }
1290
1544
  async append(content, bytes = Buffer.byteLength(content)) {
1291
1545
  await appendFile(this.currentFilePath, content, { mode: this.fileMode });
@@ -1314,7 +1568,7 @@ var FileTransport = class {
1314
1568
  }
1315
1569
  parseInterval(interval) {
1316
1570
  const match = /^(\d{1,6})([hdwmy])$/i.exec(interval.trim());
1317
- if (!match) return 1440 * 60 * 1e3;
1571
+ if (!match) return 864e5;
1318
1572
  const value = Number.parseInt(match[1] || "1", 10);
1319
1573
  switch ((match[2] || "h").toLowerCase()) {
1320
1574
  case "h": return value * 60 * 60 * 1e3;
@@ -1429,9 +1683,7 @@ var FileTransport = class {
1429
1683
  this.reportDropped(0);
1430
1684
  }
1431
1685
  };
1432
-
1433
- //#endregion
1434
- //#region src/transports/worker-entry.ts
1686
+ // src/transports/worker-entry.ts
1435
1687
  const port = node_worker_threads.parentPort;
1436
1688
  if (!port) throw new Error("worker-entry must run inside a worker thread");
1437
1689
  const { transportType, transportConfig } = node_worker_threads.workerData;
@@ -1489,5 +1741,3 @@ port.on("message", (msg) => {
1489
1741
  queue = queue.then(() => handle(msg));
1490
1742
  });
1491
1743
  port.postMessage({ type: "ready" });
1492
-
1493
- //#endregion
package/dist/worker.d.mts CHANGED
@@ -1,3 +1,2 @@
1
- import "./transport.types-CtNr3D7S.mjs";
2
- import { n as WorkerTransportConfig, t as WorkerTransport } from "./worker.transport-Bgv9heDI.mjs";
1
+ import { n as WorkerTransportConfig, t as WorkerTransport } from "./worker.transport-hJay1wxA.mjs";
3
2
  export { WorkerTransport, WorkerTransportConfig };
package/dist/worker.d.ts CHANGED
@@ -1,3 +1,2 @@
1
- import "./transport.types-DqVLZTyf.js";
2
- import { n as WorkerTransportConfig, t as WorkerTransport } from "./worker.transport-Bj-i0P9V.js";
1
+ import { n as WorkerTransportConfig, t as WorkerTransport } from "./worker.transport-BuPwBi3d.js";
3
2
  export { WorkerTransport, WorkerTransportConfig };
package/dist/worker.js CHANGED
@@ -1,4 +1,3 @@
1
- require('./internal-log-BUJYMZbE.js');
2
- const require_worker_transport = require('./worker.transport-JP8YHBuU.js');
3
-
4
- exports.WorkerTransport = require_worker_transport.WorkerTransport;
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_worker_transport = require("./worker.transport-C6GNl_r2.js");
3
+ exports.WorkerTransport = require_worker_transport.WorkerTransport;
package/dist/worker.mjs CHANGED
@@ -1,4 +1 @@
1
- import "./internal-log-Cm8SOWSV.mjs";
2
- import { t as WorkerTransport } from "./worker.transport-otwhJ_Et.mjs";
3
-
4
- export { WorkerTransport };
1
+ export { t as WorkerTransport } from "./worker.transport-DLVA4y2e.mjs";