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