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
@@ -11524,7 +11524,8 @@ var init_requestLogger = __esm({
11524
11524
  "application/json",
11525
11525
  "application/problem+json",
11526
11526
  "application/vnd.api+json",
11527
- "text/plain"
11527
+ "text/plain",
11528
+ "text/html"
11528
11529
  ];
11529
11530
  EXCLUDE_PATH_PATTERNS = [
11530
11531
  /\/_?healthz?$/i,
@@ -12300,8 +12301,16 @@ var init_console = __esm({
12300
12301
  }
12301
12302
  });
12302
12303
 
12303
- // src/loggers/utils.ts
12304
+ // src/loggers/hapi.ts
12304
12305
  import { format as format3 } from "util";
12306
+ var init_hapi = __esm({
12307
+ "src/loggers/hapi.ts"() {
12308
+ "use strict";
12309
+ }
12310
+ });
12311
+
12312
+ // src/loggers/utils.ts
12313
+ import { format as format4 } from "util";
12305
12314
  function formatMessage(message, ...args) {
12306
12315
  return [
12307
12316
  message,
@@ -12316,7 +12325,7 @@ function formatArg(arg) {
12316
12325
  return arg.trim();
12317
12326
  }
12318
12327
  if (arg instanceof Error) {
12319
- return format3(arg).trim();
12328
+ return format4(arg).trim();
12320
12329
  }
12321
12330
  if (arg === void 0 || arg === null || isEmptyObject(arg)) {
12322
12331
  return "";
@@ -12324,7 +12333,7 @@ function formatArg(arg) {
12324
12333
  try {
12325
12334
  return JSON.stringify(arg);
12326
12335
  } catch {
12327
- return format3(arg).trim();
12336
+ return format4(arg).trim();
12328
12337
  }
12329
12338
  }
12330
12339
  function isEmptyObject(obj) {
@@ -13622,11 +13631,31 @@ var require_time = __commonJS({
13622
13631
  var epochTime = /* @__PURE__ */ __name(() => `,"time":${Date.now()}`, "epochTime");
13623
13632
  var unixTime = /* @__PURE__ */ __name(() => `,"time":${Math.round(Date.now() / 1e3)}`, "unixTime");
13624
13633
  var isoTime = /* @__PURE__ */ __name(() => `,"time":"${new Date(Date.now()).toISOString()}"`, "isoTime");
13634
+ var NS_PER_MS = 1000000n;
13635
+ var NS_PER_SEC = 1000000000n;
13636
+ var startWallTimeNs = BigInt(Date.now()) * NS_PER_MS;
13637
+ var startHrTime = process.hrtime.bigint();
13638
+ var isoTimeNano = /* @__PURE__ */ __name(() => {
13639
+ const elapsedNs = process.hrtime.bigint() - startHrTime;
13640
+ const currentTimeNs = startWallTimeNs + elapsedNs;
13641
+ const secondsSinceEpoch = currentTimeNs / NS_PER_SEC;
13642
+ const nanosWithinSecond = currentTimeNs % NS_PER_SEC;
13643
+ const msSinceEpoch = Number(secondsSinceEpoch * 1000n + nanosWithinSecond / 1000000n);
13644
+ const date = new Date(msSinceEpoch);
13645
+ const year = date.getUTCFullYear();
13646
+ const month = (date.getUTCMonth() + 1).toString().padStart(2, "0");
13647
+ const day = date.getUTCDate().toString().padStart(2, "0");
13648
+ const hours = date.getUTCHours().toString().padStart(2, "0");
13649
+ const minutes = date.getUTCMinutes().toString().padStart(2, "0");
13650
+ const seconds = date.getUTCSeconds().toString().padStart(2, "0");
13651
+ return `,"time":"${year}-${month}-${day}T${hours}:${minutes}:${seconds}.${nanosWithinSecond.toString().padStart(9, "0")}Z"`;
13652
+ }, "isoTimeNano");
13625
13653
  module.exports = {
13626
13654
  nullTime,
13627
13655
  epochTime,
13628
13656
  unixTime,
13629
- isoTime
13657
+ isoTime,
13658
+ isoTimeNano
13630
13659
  };
13631
13660
  }
13632
13661
  });
@@ -13643,8 +13672,8 @@ var require_quick_format_unescaped = __commonJS({
13643
13672
  }
13644
13673
  }
13645
13674
  __name(tryStringify, "tryStringify");
13646
- module.exports = format4;
13647
- function format4(f, args, opts) {
13675
+ module.exports = format5;
13676
+ function format5(f, args, opts) {
13648
13677
  var ss = opts && opts.stringify || tryStringify;
13649
13678
  var offset = 1;
13650
13679
  if (typeof f === "object" && f !== null) {
@@ -13735,7 +13764,7 @@ var require_quick_format_unescaped = __commonJS({
13735
13764
  }
13736
13765
  return str;
13737
13766
  }
13738
- __name(format4, "format");
13767
+ __name(format5, "format");
13739
13768
  }
13740
13769
  });
13741
13770
 
@@ -15210,13 +15239,25 @@ var require_transport = __commonJS({
15210
15239
  var require_tools = __commonJS({
15211
15240
  "node_modules/pino/lib/tools.js"(exports, module) {
15212
15241
  "use strict";
15213
- var format4 = require_quick_format_unescaped();
15242
+ var diagChan = __require("diagnostics_channel");
15243
+ var format5 = require_quick_format_unescaped();
15214
15244
  var { mapHttpRequest, mapHttpResponse } = require_pino_std_serializers();
15215
15245
  var SonicBoom = require_sonic_boom();
15216
15246
  var onExit = require_on_exit_leak_free();
15217
15247
  var { lsCacheSym, chindingsSym, writeSym, serializersSym, formatOptsSym, endSym, stringifiersSym, stringifySym, stringifySafeSym, wildcardFirstSym, nestedKeySym, formattersSym, messageKeySym, errorKeySym, nestedKeyStrSym, msgPrefixSym } = require_symbols();
15218
15248
  var { isMainThread } = __require("worker_threads");
15219
15249
  var transport = require_transport();
15250
+ var asJsonChan;
15251
+ if (typeof diagChan.tracingChannel === "function") {
15252
+ asJsonChan = diagChan.tracingChannel("pino_asJson");
15253
+ } else {
15254
+ asJsonChan = {
15255
+ hasSubscribers: false,
15256
+ traceSync(fn, store, thisArg, ...args) {
15257
+ return fn.call(thisArg, ...args);
15258
+ }
15259
+ };
15260
+ }
15220
15261
  function noop() {
15221
15262
  }
15222
15263
  __name(noop, "noop");
@@ -15247,13 +15288,13 @@ var require_tools = __commonJS({
15247
15288
  if (typeof this[msgPrefixSym] === "string" && msg !== void 0 && msg !== null) {
15248
15289
  msg = this[msgPrefixSym] + msg;
15249
15290
  }
15250
- this[writeSym](o, format4(msg, formatParams, this[formatOptsSym]), level);
15291
+ this[writeSym](o, format5(msg, formatParams, this[formatOptsSym]), level);
15251
15292
  } else {
15252
15293
  let msg = o === void 0 ? n.shift() : o;
15253
15294
  if (typeof this[msgPrefixSym] === "string" && msg !== void 0 && msg !== null) {
15254
15295
  msg = this[msgPrefixSym] + msg;
15255
15296
  }
15256
- this[writeSym](null, format4(msg, n, this[formatOptsSym]), level);
15297
+ this[writeSym](null, format5(msg, n, this[formatOptsSym]), level);
15257
15298
  }
15258
15299
  }
15259
15300
  __name(LOG, "LOG");
@@ -15285,6 +15326,17 @@ var require_tools = __commonJS({
15285
15326
  }
15286
15327
  __name(asString, "asString");
15287
15328
  function asJson(obj, msg, num, time) {
15329
+ if (asJsonChan.hasSubscribers === false) {
15330
+ return _asJson.call(this, obj, msg, num, time);
15331
+ }
15332
+ const store = {
15333
+ instance: this,
15334
+ arguments
15335
+ };
15336
+ return asJsonChan.traceSync(_asJson, store, this, obj, msg, num, time);
15337
+ }
15338
+ __name(asJson, "asJson");
15339
+ function _asJson(obj, msg, num, time) {
15288
15340
  const stringify2 = this[stringifySym];
15289
15341
  const stringifySafe = this[stringifySafeSym];
15290
15342
  const stringifiers = this[stringifiersSym];
@@ -15365,7 +15417,7 @@ var require_tools = __commonJS({
15365
15417
  return data + propStr + msgStr + end;
15366
15418
  }
15367
15419
  }
15368
- __name(asJson, "asJson");
15420
+ __name(_asJson, "_asJson");
15369
15421
  function asChindings(instance, bindings) {
15370
15422
  let value;
15371
15423
  let data = instance[chindingsSym];
@@ -15752,7 +15804,7 @@ var require_meta = __commonJS({
15752
15804
  "node_modules/pino/lib/meta.js"(exports, module) {
15753
15805
  "use strict";
15754
15806
  module.exports = {
15755
- version: "9.9.0"
15807
+ version: "9.11.0"
15756
15808
  };
15757
15809
  }
15758
15810
  });
@@ -15793,6 +15845,9 @@ var require_proto = __commonJS({
15793
15845
  get msgPrefix() {
15794
15846
  return this[msgPrefixSym];
15795
15847
  },
15848
+ get [Symbol.toStringTag]() {
15849
+ return "Pino";
15850
+ },
15796
15851
  [lsCacheSym]: initialLsCache,
15797
15852
  [writeSym]: write,
15798
15853
  [asJsonSym]: asJson,
@@ -15856,8 +15911,10 @@ var require_proto = __commonJS({
15856
15911
  instance[msgPrefixSym] = (this[msgPrefixSym] || "") + options.msgPrefix;
15857
15912
  }
15858
15913
  instance[chindingsSym] = asChindings(instance, bindings2);
15859
- const childLevel = options.level || this.level;
15860
- instance[setLevelSym](childLevel);
15914
+ if (options.level !== void 0 && options.level !== this.level || options.hasOwnProperty("customLevels")) {
15915
+ const childLevel = options.level || this.level;
15916
+ instance[setLevelSym](childLevel);
15917
+ }
15861
15918
  this.onChild(instance);
15862
15919
  return instance;
15863
15920
  }
@@ -16904,18 +16961,23 @@ var require_pino = __commonJS({
16904
16961
  // src/loggers/pino.ts
16905
16962
  async function patchPinoLogger(logger, logsContext) {
16906
16963
  try {
16907
- const pino = await Promise.resolve().then(() => __toESM(require_pino(), 1));
16908
- if (!(pino.default.symbols.streamSym in logger)) {
16909
- return;
16964
+ const symbols = [
16965
+ ...Object.getOwnPropertySymbols(logger),
16966
+ ...Object.getOwnPropertySymbols(Object.getPrototypeOf(logger))
16967
+ ];
16968
+ const streamSym = symbols.find((sym) => sym.toString() === "Symbol(pino.stream)");
16969
+ const messageKeySym = symbols.find((sym) => sym.toString() === "Symbol(pino.messageKey)");
16970
+ if (!streamSym || !messageKeySym) {
16971
+ return false;
16910
16972
  }
16911
16973
  if (!(originalStreamSym in logger)) {
16912
- logger[originalStreamSym] = logger[pino.default.symbols.streamSym];
16974
+ logger[originalStreamSym] = logger[streamSym];
16913
16975
  }
16914
16976
  const originalStream = logger[originalStreamSym];
16915
16977
  if (originalStream) {
16916
- const messageKey = logger[pino.default.symbols.messageKeySym];
16917
- const captureStream = new ApitallyLogCaptureStream(logsContext, messageKey);
16918
- logger[pino.default.symbols.streamSym] = pino.default.multistream([
16978
+ const pino = await Promise.resolve().then(() => __toESM(require_pino(), 1));
16979
+ const captureStream = new ApitallyLogCaptureStream(logsContext, logger[messageKeySym]);
16980
+ logger[streamSym] = pino.default.multistream([
16919
16981
  {
16920
16982
  level: 0,
16921
16983
  stream: originalStream
@@ -16928,7 +16990,9 @@ async function patchPinoLogger(logger, logsContext) {
16928
16990
  levels: logger.levels
16929
16991
  });
16930
16992
  }
16993
+ return true;
16931
16994
  } catch {
16995
+ return false;
16932
16996
  }
16933
16997
  }
16934
16998
  function filterLogs(obj, messageKey) {
@@ -16973,8 +17037,8 @@ var init_pino = __esm({
16973
17037
  return;
16974
17038
  }
16975
17039
  try {
16976
- const message = obj[this.messageKey];
16977
- const rest = removeKeys(obj, [
17040
+ let message = obj[this.messageKey];
17041
+ const ignoreKeys = [
16978
17042
  "hostname",
16979
17043
  "level",
16980
17044
  this.messageKey,
@@ -16983,7 +17047,13 @@ var init_pino = __esm({
16983
17047
  "reqId",
16984
17048
  "req",
16985
17049
  "res"
16986
- ]);
17050
+ ];
17051
+ if (!message && "data" in obj && "tags" in obj) {
17052
+ message = obj.data;
17053
+ ignoreKeys.push("data");
17054
+ ignoreKeys.push("tags");
17055
+ }
17056
+ const rest = removeKeys(obj, ignoreKeys);
16987
17057
  const formattedMessage = formatMessage(message, rest);
16988
17058
  if (formattedMessage) {
16989
17059
  logs.push({
@@ -17075,6 +17145,7 @@ var init_loggers = __esm({
17075
17145
  "src/loggers/index.ts"() {
17076
17146
  "use strict";
17077
17147
  init_console();
17148
+ init_hapi();
17078
17149
  init_nestjs();
17079
17150
  init_pino();
17080
17151
  init_winston();