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
  }
@@ -4907,7 +4955,8 @@ var ALLOWED_CONTENT_TYPES = [
4907
4955
  "application/json",
4908
4956
  "application/problem+json",
4909
4957
  "application/vnd.api+json",
4910
- "text/plain"
4958
+ "text/plain",
4959
+ "text/html"
4911
4960
  ];
4912
4961
  var EXCLUDE_PATH_PATTERNS = [
4913
4962
  /\/_?healthz?$/i,
@@ -5733,8 +5782,11 @@ function captureLog(level, args) {
5733
5782
  }
5734
5783
  __name(captureLog, "captureLog");
5735
5784
 
5736
- // src/loggers/utils.ts
5785
+ // src/loggers/hapi.ts
5737
5786
  var import_node_util2 = require("util");
5787
+
5788
+ // src/loggers/utils.ts
5789
+ var import_node_util3 = require("util");
5738
5790
  function formatMessage(message, ...args) {
5739
5791
  return [
5740
5792
  message,
@@ -5751,7 +5803,7 @@ function formatArg(arg) {
5751
5803
  return arg.trim();
5752
5804
  }
5753
5805
  if (arg instanceof Error) {
5754
- return (0, import_node_util2.format)(arg).trim();
5806
+ return (0, import_node_util3.format)(arg).trim();
5755
5807
  }
5756
5808
  if (arg === void 0 || arg === null || isEmptyObject(arg)) {
5757
5809
  return "";
@@ -5759,7 +5811,7 @@ function formatArg(arg) {
5759
5811
  try {
5760
5812
  return JSON.stringify(arg);
5761
5813
  } catch {
5762
- return (0, import_node_util2.format)(arg).trim();
5814
+ return (0, import_node_util3.format)(arg).trim();
5763
5815
  }
5764
5816
  }
5765
5817
  __name(formatArg, "formatArg");
@@ -5844,18 +5896,23 @@ var logLevelMap = {
5844
5896
  };
5845
5897
  async function patchPinoLogger(logger, logsContext) {
5846
5898
  try {
5847
- const pino = await Promise.resolve().then(() => __toESM(require_pino(), 1));
5848
- if (!(pino.default.symbols.streamSym in logger)) {
5849
- return;
5899
+ const symbols = [
5900
+ ...Object.getOwnPropertySymbols(logger),
5901
+ ...Object.getOwnPropertySymbols(Object.getPrototypeOf(logger))
5902
+ ];
5903
+ const streamSym = symbols.find((sym) => sym.toString() === "Symbol(pino.stream)");
5904
+ const messageKeySym = symbols.find((sym) => sym.toString() === "Symbol(pino.messageKey)");
5905
+ if (!streamSym || !messageKeySym) {
5906
+ return false;
5850
5907
  }
5851
5908
  if (!(originalStreamSym in logger)) {
5852
- logger[originalStreamSym] = logger[pino.default.symbols.streamSym];
5909
+ logger[originalStreamSym] = logger[streamSym];
5853
5910
  }
5854
5911
  const originalStream = logger[originalStreamSym];
5855
5912
  if (originalStream) {
5856
- const messageKey = logger[pino.default.symbols.messageKeySym];
5857
- const captureStream = new ApitallyLogCaptureStream(logsContext, messageKey);
5858
- logger[pino.default.symbols.streamSym] = pino.default.multistream([
5913
+ const pino = await Promise.resolve().then(() => __toESM(require_pino(), 1));
5914
+ const captureStream = new ApitallyLogCaptureStream(logsContext, logger[messageKeySym]);
5915
+ logger[streamSym] = pino.default.multistream([
5859
5916
  {
5860
5917
  level: 0,
5861
5918
  stream: originalStream
@@ -5868,7 +5925,9 @@ async function patchPinoLogger(logger, logsContext) {
5868
5925
  levels: logger.levels
5869
5926
  });
5870
5927
  }
5928
+ return true;
5871
5929
  } catch {
5930
+ return false;
5872
5931
  }
5873
5932
  }
5874
5933
  __name(patchPinoLogger, "patchPinoLogger");
@@ -5899,8 +5958,8 @@ var ApitallyLogCaptureStream = (_a2 = class {
5899
5958
  return;
5900
5959
  }
5901
5960
  try {
5902
- const message = obj[this.messageKey];
5903
- const rest = removeKeys(obj, [
5961
+ let message = obj[this.messageKey];
5962
+ const ignoreKeys = [
5904
5963
  "hostname",
5905
5964
  "level",
5906
5965
  this.messageKey,
@@ -5909,7 +5968,13 @@ var ApitallyLogCaptureStream = (_a2 = class {
5909
5968
  "reqId",
5910
5969
  "req",
5911
5970
  "res"
5912
- ]);
5971
+ ];
5972
+ if (!message && "data" in obj && "tags" in obj) {
5973
+ message = obj.data;
5974
+ ignoreKeys.push("data");
5975
+ ignoreKeys.push("tags");
5976
+ }
5977
+ const rest = removeKeys(obj, ignoreKeys);
5913
5978
  const formattedMessage = formatMessage(message, rest);
5914
5979
  if (formattedMessage) {
5915
5980
  logs.push({