apitally 0.20.0 → 0.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/README.md +28 -0
  2. package/dist/adonisjs/configure.cjs +6 -1
  3. package/dist/adonisjs/configure.cjs.map +1 -1
  4. package/dist/adonisjs/configure.js +6 -1
  5. package/dist/adonisjs/configure.js.map +1 -1
  6. package/dist/adonisjs/index.cjs +6 -1
  7. package/dist/adonisjs/index.cjs.map +1 -1
  8. package/dist/adonisjs/index.js +6 -1
  9. package/dist/adonisjs/index.js.map +1 -1
  10. package/dist/adonisjs/middleware.cjs.map +1 -1
  11. package/dist/adonisjs/middleware.js.map +1 -1
  12. package/dist/adonisjs/provider.cjs +90 -25
  13. package/dist/adonisjs/provider.cjs.map +1 -1
  14. package/dist/adonisjs/provider.js +90 -25
  15. package/dist/adonisjs/provider.js.map +1 -1
  16. package/dist/adonisjs/stubs/config/apitally.stub +9 -0
  17. package/dist/common/client.cjs +2 -1
  18. package/dist/common/client.cjs.map +1 -1
  19. package/dist/common/client.js +2 -1
  20. package/dist/common/client.js.map +1 -1
  21. package/dist/common/requestLogger.cjs +2 -1
  22. package/dist/common/requestLogger.cjs.map +1 -1
  23. package/dist/common/requestLogger.js +2 -1
  24. package/dist/common/requestLogger.js.map +1 -1
  25. package/dist/elysia/index.cjs +8 -4
  26. package/dist/elysia/index.cjs.map +1 -1
  27. package/dist/elysia/index.js +8 -4
  28. package/dist/elysia/index.js.map +1 -1
  29. package/dist/elysia/plugin.cjs +8 -4
  30. package/dist/elysia/plugin.cjs.map +1 -1
  31. package/dist/elysia/plugin.d.cts +3 -0
  32. package/dist/elysia/plugin.d.ts +3 -0
  33. package/dist/elysia/plugin.js +8 -4
  34. package/dist/elysia/plugin.js.map +1 -1
  35. package/dist/express/index.cjs +90 -25
  36. package/dist/express/index.cjs.map +1 -1
  37. package/dist/express/index.js +90 -25
  38. package/dist/express/index.js.map +1 -1
  39. package/dist/express/middleware.cjs +90 -25
  40. package/dist/express/middleware.cjs.map +1 -1
  41. package/dist/express/middleware.js +90 -25
  42. package/dist/express/middleware.js.map +1 -1
  43. package/dist/fastify/index.cjs +90 -25
  44. package/dist/fastify/index.cjs.map +1 -1
  45. package/dist/fastify/index.js +90 -25
  46. package/dist/fastify/index.js.map +1 -1
  47. package/dist/fastify/plugin.cjs +90 -25
  48. package/dist/fastify/plugin.cjs.map +1 -1
  49. package/dist/fastify/plugin.js +90 -25
  50. package/dist/fastify/plugin.js.map +1 -1
  51. package/dist/h3/index.cjs +8 -4
  52. package/dist/h3/index.cjs.map +1 -1
  53. package/dist/h3/index.js +8 -4
  54. package/dist/h3/index.js.map +1 -1
  55. package/dist/h3/plugin.cjs +8 -4
  56. package/dist/h3/plugin.cjs.map +1 -1
  57. package/dist/h3/plugin.js +8 -4
  58. package/dist/h3/plugin.js.map +1 -1
  59. package/dist/hapi/index.cjs +6182 -0
  60. package/dist/hapi/index.cjs.map +1 -0
  61. package/dist/hapi/index.d.cts +9 -0
  62. package/dist/hapi/index.d.ts +9 -0
  63. package/dist/hapi/index.js +6172 -0
  64. package/dist/hapi/index.js.map +1 -0
  65. package/dist/hapi/plugin.cjs +6179 -0
  66. package/dist/hapi/plugin.cjs.map +1 -0
  67. package/dist/hapi/plugin.d.cts +36 -0
  68. package/dist/hapi/plugin.d.ts +36 -0
  69. package/dist/hapi/plugin.js +6172 -0
  70. package/dist/hapi/plugin.js.map +1 -0
  71. package/dist/hapi/utils.cjs +98 -0
  72. package/dist/hapi/utils.cjs.map +1 -0
  73. package/dist/hapi/utils.d.cts +14 -0
  74. package/dist/hapi/utils.d.ts +14 -0
  75. package/dist/hapi/utils.js +77 -0
  76. package/dist/hapi/utils.js.map +1 -0
  77. package/dist/hono/index.cjs +8 -4
  78. package/dist/hono/index.cjs.map +1 -1
  79. package/dist/hono/index.js +8 -4
  80. package/dist/hono/index.js.map +1 -1
  81. package/dist/hono/middleware.cjs +8 -4
  82. package/dist/hono/middleware.cjs.map +1 -1
  83. package/dist/hono/middleware.js +8 -4
  84. package/dist/hono/middleware.js.map +1 -1
  85. package/dist/koa/index.cjs +8 -4
  86. package/dist/koa/index.cjs.map +1 -1
  87. package/dist/koa/index.js +8 -4
  88. package/dist/koa/index.js.map +1 -1
  89. package/dist/koa/middleware.cjs +8 -4
  90. package/dist/koa/middleware.cjs.map +1 -1
  91. package/dist/koa/middleware.js +8 -4
  92. package/dist/koa/middleware.js.map +1 -1
  93. package/dist/loggers/hapi.cjs +54 -0
  94. package/dist/loggers/hapi.cjs.map +1 -0
  95. package/dist/loggers/hapi.d.cts +10 -0
  96. package/dist/loggers/hapi.d.ts +10 -0
  97. package/dist/loggers/hapi.js +31 -0
  98. package/dist/loggers/hapi.js.map +1 -0
  99. package/dist/loggers/index.cjs +118 -30
  100. package/dist/loggers/index.cjs.map +1 -1
  101. package/dist/loggers/index.d.cts +2 -0
  102. package/dist/loggers/index.d.ts +2 -0
  103. package/dist/loggers/index.js +117 -30
  104. package/dist/loggers/index.js.map +1 -1
  105. package/dist/loggers/pino.cjs +76 -15
  106. package/dist/loggers/pino.cjs.map +1 -1
  107. package/dist/loggers/pino.d.cts +1 -1
  108. package/dist/loggers/pino.d.ts +1 -1
  109. package/dist/loggers/pino.js +76 -15
  110. package/dist/loggers/pino.js.map +1 -1
  111. package/dist/nestjs/index.cjs +98 -26
  112. package/dist/nestjs/index.cjs.map +1 -1
  113. package/dist/nestjs/index.js +96 -25
  114. package/dist/nestjs/index.js.map +1 -1
  115. package/package.json +24 -4
@@ -1246,11 +1246,31 @@ var require_time = __commonJS({
1246
1246
  var epochTime = /* @__PURE__ */ __name(() => `,"time":${Date.now()}`, "epochTime");
1247
1247
  var unixTime = /* @__PURE__ */ __name(() => `,"time":${Math.round(Date.now() / 1e3)}`, "unixTime");
1248
1248
  var isoTime = /* @__PURE__ */ __name(() => `,"time":"${new Date(Date.now()).toISOString()}"`, "isoTime");
1249
+ var NS_PER_MS = 1000000n;
1250
+ var NS_PER_SEC = 1000000000n;
1251
+ var startWallTimeNs = BigInt(Date.now()) * NS_PER_MS;
1252
+ var startHrTime = process.hrtime.bigint();
1253
+ var isoTimeNano = /* @__PURE__ */ __name(() => {
1254
+ const elapsedNs = process.hrtime.bigint() - startHrTime;
1255
+ const currentTimeNs = startWallTimeNs + elapsedNs;
1256
+ const secondsSinceEpoch = currentTimeNs / NS_PER_SEC;
1257
+ const nanosWithinSecond = currentTimeNs % NS_PER_SEC;
1258
+ const msSinceEpoch = Number(secondsSinceEpoch * 1000n + nanosWithinSecond / 1000000n);
1259
+ const date = new Date(msSinceEpoch);
1260
+ const year = date.getUTCFullYear();
1261
+ const month = (date.getUTCMonth() + 1).toString().padStart(2, "0");
1262
+ const day = date.getUTCDate().toString().padStart(2, "0");
1263
+ const hours = date.getUTCHours().toString().padStart(2, "0");
1264
+ const minutes = date.getUTCMinutes().toString().padStart(2, "0");
1265
+ const seconds = date.getUTCSeconds().toString().padStart(2, "0");
1266
+ return `,"time":"${year}-${month}-${day}T${hours}:${minutes}:${seconds}.${nanosWithinSecond.toString().padStart(9, "0")}Z"`;
1267
+ }, "isoTimeNano");
1249
1268
  module2.exports = {
1250
1269
  nullTime,
1251
1270
  epochTime,
1252
1271
  unixTime,
1253
- isoTime
1272
+ isoTime,
1273
+ isoTimeNano
1254
1274
  };
1255
1275
  }
1256
1276
  });
@@ -1267,8 +1287,8 @@ var require_quick_format_unescaped = __commonJS({
1267
1287
  }
1268
1288
  }
1269
1289
  __name(tryStringify, "tryStringify");
1270
- module2.exports = format4;
1271
- function format4(f, args, opts) {
1290
+ module2.exports = format5;
1291
+ function format5(f, args, opts) {
1272
1292
  var ss = opts && opts.stringify || tryStringify;
1273
1293
  var offset = 1;
1274
1294
  if (typeof f === "object" && f !== null) {
@@ -1359,7 +1379,7 @@ var require_quick_format_unescaped = __commonJS({
1359
1379
  }
1360
1380
  return str;
1361
1381
  }
1362
- __name(format4, "format");
1382
+ __name(format5, "format");
1363
1383
  }
1364
1384
  });
1365
1385
 
@@ -2834,13 +2854,25 @@ var require_transport = __commonJS({
2834
2854
  var require_tools = __commonJS({
2835
2855
  "node_modules/pino/lib/tools.js"(exports2, module2) {
2836
2856
  "use strict";
2837
- var format4 = require_quick_format_unescaped();
2857
+ var diagChan = require("diagnostics_channel");
2858
+ var format5 = require_quick_format_unescaped();
2838
2859
  var { mapHttpRequest, mapHttpResponse } = require_pino_std_serializers();
2839
2860
  var SonicBoom = require_sonic_boom();
2840
2861
  var onExit = require_on_exit_leak_free();
2841
2862
  var { lsCacheSym, chindingsSym, writeSym, serializersSym, formatOptsSym, endSym, stringifiersSym, stringifySym, stringifySafeSym, wildcardFirstSym, nestedKeySym, formattersSym, messageKeySym, errorKeySym, nestedKeyStrSym, msgPrefixSym } = require_symbols();
2842
2863
  var { isMainThread } = require("worker_threads");
2843
2864
  var transport = require_transport();
2865
+ var asJsonChan;
2866
+ if (typeof diagChan.tracingChannel === "function") {
2867
+ asJsonChan = diagChan.tracingChannel("pino_asJson");
2868
+ } else {
2869
+ asJsonChan = {
2870
+ hasSubscribers: false,
2871
+ traceSync(fn, store, thisArg, ...args) {
2872
+ return fn.call(thisArg, ...args);
2873
+ }
2874
+ };
2875
+ }
2844
2876
  function noop() {
2845
2877
  }
2846
2878
  __name(noop, "noop");
@@ -2871,13 +2903,13 @@ var require_tools = __commonJS({
2871
2903
  if (typeof this[msgPrefixSym] === "string" && msg !== void 0 && msg !== null) {
2872
2904
  msg = this[msgPrefixSym] + msg;
2873
2905
  }
2874
- this[writeSym](o, format4(msg, formatParams, this[formatOptsSym]), level);
2906
+ this[writeSym](o, format5(msg, formatParams, this[formatOptsSym]), level);
2875
2907
  } else {
2876
2908
  let msg = o === void 0 ? n.shift() : o;
2877
2909
  if (typeof this[msgPrefixSym] === "string" && msg !== void 0 && msg !== null) {
2878
2910
  msg = this[msgPrefixSym] + msg;
2879
2911
  }
2880
- this[writeSym](null, format4(msg, n, this[formatOptsSym]), level);
2912
+ this[writeSym](null, format5(msg, n, this[formatOptsSym]), level);
2881
2913
  }
2882
2914
  }
2883
2915
  __name(LOG, "LOG");
@@ -2909,6 +2941,17 @@ var require_tools = __commonJS({
2909
2941
  }
2910
2942
  __name(asString, "asString");
2911
2943
  function asJson(obj, msg, num, time) {
2944
+ if (asJsonChan.hasSubscribers === false) {
2945
+ return _asJson.call(this, obj, msg, num, time);
2946
+ }
2947
+ const store = {
2948
+ instance: this,
2949
+ arguments
2950
+ };
2951
+ return asJsonChan.traceSync(_asJson, store, this, obj, msg, num, time);
2952
+ }
2953
+ __name(asJson, "asJson");
2954
+ function _asJson(obj, msg, num, time) {
2912
2955
  const stringify2 = this[stringifySym];
2913
2956
  const stringifySafe = this[stringifySafeSym];
2914
2957
  const stringifiers = this[stringifiersSym];
@@ -2989,7 +3032,7 @@ var require_tools = __commonJS({
2989
3032
  return data + propStr + msgStr + end;
2990
3033
  }
2991
3034
  }
2992
- __name(asJson, "asJson");
3035
+ __name(_asJson, "_asJson");
2993
3036
  function asChindings(instance, bindings) {
2994
3037
  let value;
2995
3038
  let data = instance[chindingsSym];
@@ -3376,7 +3419,7 @@ var require_meta = __commonJS({
3376
3419
  "node_modules/pino/lib/meta.js"(exports2, module2) {
3377
3420
  "use strict";
3378
3421
  module2.exports = {
3379
- version: "9.9.0"
3422
+ version: "9.11.0"
3380
3423
  };
3381
3424
  }
3382
3425
  });
@@ -3417,6 +3460,9 @@ var require_proto = __commonJS({
3417
3460
  get msgPrefix() {
3418
3461
  return this[msgPrefixSym];
3419
3462
  },
3463
+ get [Symbol.toStringTag]() {
3464
+ return "Pino";
3465
+ },
3420
3466
  [lsCacheSym]: initialLsCache,
3421
3467
  [writeSym]: write,
3422
3468
  [asJsonSym]: asJson,
@@ -3480,8 +3526,10 @@ var require_proto = __commonJS({
3480
3526
  instance[msgPrefixSym] = (this[msgPrefixSym] || "") + options.msgPrefix;
3481
3527
  }
3482
3528
  instance[chindingsSym] = asChindings(instance, bindings2);
3483
- const childLevel = options.level || this.level;
3484
- instance[setLevelSym](childLevel);
3529
+ if (options.level !== void 0 && options.level !== this.level || options.hasOwnProperty("customLevels")) {
3530
+ const childLevel = options.level || this.level;
3531
+ instance[setLevelSym](childLevel);
3532
+ }
3485
3533
  this.onChild(instance);
3486
3534
  return instance;
3487
3535
  }
@@ -4905,7 +4953,8 @@ var ALLOWED_CONTENT_TYPES = [
4905
4953
  "application/json",
4906
4954
  "application/problem+json",
4907
4955
  "application/vnd.api+json",
4908
- "text/plain"
4956
+ "text/plain",
4957
+ "text/html"
4909
4958
  ];
4910
4959
  var EXCLUDE_PATH_PATTERNS = [
4911
4960
  /\/_?healthz?$/i,
@@ -5731,8 +5780,11 @@ function captureLog(level, args) {
5731
5780
  }
5732
5781
  __name(captureLog, "captureLog");
5733
5782
 
5734
- // src/loggers/utils.ts
5783
+ // src/loggers/hapi.ts
5735
5784
  var import_node_util2 = require("util");
5785
+
5786
+ // src/loggers/utils.ts
5787
+ var import_node_util3 = require("util");
5736
5788
  function formatMessage(message, ...args) {
5737
5789
  return [
5738
5790
  message,
@@ -5749,7 +5801,7 @@ function formatArg(arg) {
5749
5801
  return arg.trim();
5750
5802
  }
5751
5803
  if (arg instanceof Error) {
5752
- return (0, import_node_util2.format)(arg).trim();
5804
+ return (0, import_node_util3.format)(arg).trim();
5753
5805
  }
5754
5806
  if (arg === void 0 || arg === null || isEmptyObject(arg)) {
5755
5807
  return "";
@@ -5757,7 +5809,7 @@ function formatArg(arg) {
5757
5809
  try {
5758
5810
  return JSON.stringify(arg);
5759
5811
  } catch {
5760
- return (0, import_node_util2.format)(arg).trim();
5812
+ return (0, import_node_util3.format)(arg).trim();
5761
5813
  }
5762
5814
  }
5763
5815
  __name(formatArg, "formatArg");
@@ -5842,18 +5894,23 @@ var logLevelMap = {
5842
5894
  };
5843
5895
  async function patchPinoLogger(logger, logsContext) {
5844
5896
  try {
5845
- const pino = await Promise.resolve().then(() => __toESM(require_pino(), 1));
5846
- if (!(pino.default.symbols.streamSym in logger)) {
5847
- return;
5897
+ const symbols = [
5898
+ ...Object.getOwnPropertySymbols(logger),
5899
+ ...Object.getOwnPropertySymbols(Object.getPrototypeOf(logger))
5900
+ ];
5901
+ const streamSym = symbols.find((sym) => sym.toString() === "Symbol(pino.stream)");
5902
+ const messageKeySym = symbols.find((sym) => sym.toString() === "Symbol(pino.messageKey)");
5903
+ if (!streamSym || !messageKeySym) {
5904
+ return false;
5848
5905
  }
5849
5906
  if (!(originalStreamSym in logger)) {
5850
- logger[originalStreamSym] = logger[pino.default.symbols.streamSym];
5907
+ logger[originalStreamSym] = logger[streamSym];
5851
5908
  }
5852
5909
  const originalStream = logger[originalStreamSym];
5853
5910
  if (originalStream) {
5854
- const messageKey = logger[pino.default.symbols.messageKeySym];
5855
- const captureStream = new ApitallyLogCaptureStream(logsContext, messageKey);
5856
- logger[pino.default.symbols.streamSym] = pino.default.multistream([
5911
+ const pino = await Promise.resolve().then(() => __toESM(require_pino(), 1));
5912
+ const captureStream = new ApitallyLogCaptureStream(logsContext, logger[messageKeySym]);
5913
+ logger[streamSym] = pino.default.multistream([
5857
5914
  {
5858
5915
  level: 0,
5859
5916
  stream: originalStream
@@ -5866,7 +5923,9 @@ async function patchPinoLogger(logger, logsContext) {
5866
5923
  levels: logger.levels
5867
5924
  });
5868
5925
  }
5926
+ return true;
5869
5927
  } catch {
5928
+ return false;
5870
5929
  }
5871
5930
  }
5872
5931
  __name(patchPinoLogger, "patchPinoLogger");
@@ -5897,8 +5956,8 @@ var ApitallyLogCaptureStream = (_a2 = class {
5897
5956
  return;
5898
5957
  }
5899
5958
  try {
5900
- const message = obj[this.messageKey];
5901
- const rest = removeKeys(obj, [
5959
+ let message = obj[this.messageKey];
5960
+ const ignoreKeys = [
5902
5961
  "hostname",
5903
5962
  "level",
5904
5963
  this.messageKey,
@@ -5907,7 +5966,13 @@ var ApitallyLogCaptureStream = (_a2 = class {
5907
5966
  "reqId",
5908
5967
  "req",
5909
5968
  "res"
5910
- ]);
5969
+ ];
5970
+ if (!message && "data" in obj && "tags" in obj) {
5971
+ message = obj.data;
5972
+ ignoreKeys.push("data");
5973
+ ignoreKeys.push("tags");
5974
+ }
5975
+ const rest = removeKeys(obj, ignoreKeys);
5911
5976
  const formattedMessage = formatMessage(message, rest);
5912
5977
  if (formattedMessage) {
5913
5978
  logs.push({