apitally 0.20.0 → 0.21.0

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 (104) hide show
  1. package/README.md +28 -0
  2. package/dist/adonisjs/middleware.cjs.map +1 -1
  3. package/dist/adonisjs/middleware.js.map +1 -1
  4. package/dist/adonisjs/provider.cjs +37 -20
  5. package/dist/adonisjs/provider.cjs.map +1 -1
  6. package/dist/adonisjs/provider.js +37 -20
  7. package/dist/adonisjs/provider.js.map +1 -1
  8. package/dist/common/client.cjs +2 -1
  9. package/dist/common/client.cjs.map +1 -1
  10. package/dist/common/client.js +2 -1
  11. package/dist/common/client.js.map +1 -1
  12. package/dist/common/requestLogger.cjs +2 -1
  13. package/dist/common/requestLogger.cjs.map +1 -1
  14. package/dist/common/requestLogger.js +2 -1
  15. package/dist/common/requestLogger.js.map +1 -1
  16. package/dist/elysia/index.cjs +8 -4
  17. package/dist/elysia/index.cjs.map +1 -1
  18. package/dist/elysia/index.js +8 -4
  19. package/dist/elysia/index.js.map +1 -1
  20. package/dist/elysia/plugin.cjs +8 -4
  21. package/dist/elysia/plugin.cjs.map +1 -1
  22. package/dist/elysia/plugin.js +8 -4
  23. package/dist/elysia/plugin.js.map +1 -1
  24. package/dist/express/index.cjs +37 -20
  25. package/dist/express/index.cjs.map +1 -1
  26. package/dist/express/index.js +37 -20
  27. package/dist/express/index.js.map +1 -1
  28. package/dist/express/middleware.cjs +37 -20
  29. package/dist/express/middleware.cjs.map +1 -1
  30. package/dist/express/middleware.js +37 -20
  31. package/dist/express/middleware.js.map +1 -1
  32. package/dist/fastify/index.cjs +37 -20
  33. package/dist/fastify/index.cjs.map +1 -1
  34. package/dist/fastify/index.js +37 -20
  35. package/dist/fastify/index.js.map +1 -1
  36. package/dist/fastify/plugin.cjs +37 -20
  37. package/dist/fastify/plugin.cjs.map +1 -1
  38. package/dist/fastify/plugin.js +37 -20
  39. package/dist/fastify/plugin.js.map +1 -1
  40. package/dist/h3/index.cjs +8 -4
  41. package/dist/h3/index.cjs.map +1 -1
  42. package/dist/h3/index.js +8 -4
  43. package/dist/h3/index.js.map +1 -1
  44. package/dist/h3/plugin.cjs +8 -4
  45. package/dist/h3/plugin.cjs.map +1 -1
  46. package/dist/h3/plugin.js +8 -4
  47. package/dist/h3/plugin.js.map +1 -1
  48. package/dist/hapi/index.cjs +6134 -0
  49. package/dist/hapi/index.cjs.map +1 -0
  50. package/dist/hapi/index.d.cts +9 -0
  51. package/dist/hapi/index.d.ts +9 -0
  52. package/dist/hapi/index.js +6124 -0
  53. package/dist/hapi/index.js.map +1 -0
  54. package/dist/hapi/plugin.cjs +6131 -0
  55. package/dist/hapi/plugin.cjs.map +1 -0
  56. package/dist/hapi/plugin.d.cts +36 -0
  57. package/dist/hapi/plugin.d.ts +36 -0
  58. package/dist/hapi/plugin.js +6124 -0
  59. package/dist/hapi/plugin.js.map +1 -0
  60. package/dist/hapi/utils.cjs +98 -0
  61. package/dist/hapi/utils.cjs.map +1 -0
  62. package/dist/hapi/utils.d.cts +14 -0
  63. package/dist/hapi/utils.d.ts +14 -0
  64. package/dist/hapi/utils.js +77 -0
  65. package/dist/hapi/utils.js.map +1 -0
  66. package/dist/hono/index.cjs +8 -4
  67. package/dist/hono/index.cjs.map +1 -1
  68. package/dist/hono/index.js +8 -4
  69. package/dist/hono/index.js.map +1 -1
  70. package/dist/hono/middleware.cjs +8 -4
  71. package/dist/hono/middleware.cjs.map +1 -1
  72. package/dist/hono/middleware.js +8 -4
  73. package/dist/hono/middleware.js.map +1 -1
  74. package/dist/koa/index.cjs +8 -4
  75. package/dist/koa/index.cjs.map +1 -1
  76. package/dist/koa/index.js +8 -4
  77. package/dist/koa/index.js.map +1 -1
  78. package/dist/koa/middleware.cjs +8 -4
  79. package/dist/koa/middleware.cjs.map +1 -1
  80. package/dist/koa/middleware.js +8 -4
  81. package/dist/koa/middleware.js.map +1 -1
  82. package/dist/loggers/hapi.cjs +54 -0
  83. package/dist/loggers/hapi.cjs.map +1 -0
  84. package/dist/loggers/hapi.d.cts +10 -0
  85. package/dist/loggers/hapi.d.ts +10 -0
  86. package/dist/loggers/hapi.js +31 -0
  87. package/dist/loggers/hapi.js.map +1 -0
  88. package/dist/loggers/index.cjs +65 -25
  89. package/dist/loggers/index.cjs.map +1 -1
  90. package/dist/loggers/index.d.cts +2 -0
  91. package/dist/loggers/index.d.ts +2 -0
  92. package/dist/loggers/index.js +64 -25
  93. package/dist/loggers/index.js.map +1 -1
  94. package/dist/loggers/pino.cjs +23 -10
  95. package/dist/loggers/pino.cjs.map +1 -1
  96. package/dist/loggers/pino.d.cts +1 -1
  97. package/dist/loggers/pino.d.ts +1 -1
  98. package/dist/loggers/pino.js +23 -10
  99. package/dist/loggers/pino.js.map +1 -1
  100. package/dist/nestjs/index.cjs +45 -21
  101. package/dist/nestjs/index.cjs.map +1 -1
  102. package/dist/nestjs/index.js +43 -20
  103. package/dist/nestjs/index.js.map +1 -1
  104. package/package.json +21 -2
@@ -1,4 +1,5 @@
1
1
  export { patchConsole } from './console.cjs';
2
+ export { handleHapiRequestEvent } from './hapi.cjs';
2
3
  export { patchNestLogger } from './nestjs.cjs';
3
4
  export { patchPinoLogger } from './pino.cjs';
4
5
  export { patchWinston } from './winston.cjs';
@@ -7,3 +8,4 @@ import '../common/requestLogger.cjs';
7
8
  import 'node:buffer';
8
9
  import 'node:http';
9
10
  import '../common/tempGzipFile.cjs';
11
+ import '@hapi/hapi';
@@ -1,4 +1,5 @@
1
1
  export { patchConsole } from './console.js';
2
+ export { handleHapiRequestEvent } from './hapi.js';
2
3
  export { patchNestLogger } from './nestjs.js';
3
4
  export { patchPinoLogger } from './pino.js';
4
5
  export { patchWinston } from './winston.js';
@@ -7,3 +8,4 @@ import '../common/requestLogger.js';
7
8
  import 'node:buffer';
8
9
  import 'node:http';
9
10
  import '../common/tempGzipFile.js';
11
+ import '@hapi/hapi';
@@ -1265,8 +1265,8 @@ var require_quick_format_unescaped = __commonJS({
1265
1265
  }
1266
1266
  }
1267
1267
  __name(tryStringify, "tryStringify");
1268
- module.exports = format3;
1269
- function format3(f, args, opts) {
1268
+ module.exports = format4;
1269
+ function format4(f, args, opts) {
1270
1270
  var ss = opts && opts.stringify || tryStringify;
1271
1271
  var offset = 1;
1272
1272
  if (typeof f === "object" && f !== null) {
@@ -1357,7 +1357,7 @@ var require_quick_format_unescaped = __commonJS({
1357
1357
  }
1358
1358
  return str;
1359
1359
  }
1360
- __name(format3, "format");
1360
+ __name(format4, "format");
1361
1361
  }
1362
1362
  });
1363
1363
 
@@ -2832,7 +2832,7 @@ var require_transport = __commonJS({
2832
2832
  var require_tools = __commonJS({
2833
2833
  "node_modules/pino/lib/tools.js"(exports, module) {
2834
2834
  "use strict";
2835
- var format3 = require_quick_format_unescaped();
2835
+ var format4 = require_quick_format_unescaped();
2836
2836
  var { mapHttpRequest, mapHttpResponse } = require_pino_std_serializers();
2837
2837
  var SonicBoom = require_sonic_boom();
2838
2838
  var onExit = require_on_exit_leak_free();
@@ -2869,13 +2869,13 @@ var require_tools = __commonJS({
2869
2869
  if (typeof this[msgPrefixSym] === "string" && msg !== void 0 && msg !== null) {
2870
2870
  msg = this[msgPrefixSym] + msg;
2871
2871
  }
2872
- this[writeSym](o, format3(msg, formatParams, this[formatOptsSym]), level);
2872
+ this[writeSym](o, format4(msg, formatParams, this[formatOptsSym]), level);
2873
2873
  } else {
2874
2874
  let msg = o === void 0 ? n.shift() : o;
2875
2875
  if (typeof this[msgPrefixSym] === "string" && msg !== void 0 && msg !== null) {
2876
2876
  msg = this[msgPrefixSym] + msg;
2877
2877
  }
2878
- this[writeSym](null, format3(msg, n, this[formatOptsSym]), level);
2878
+ this[writeSym](null, format4(msg, n, this[formatOptsSym]), level);
2879
2879
  }
2880
2880
  }
2881
2881
  __name(LOG, "LOG");
@@ -4563,8 +4563,33 @@ function captureLog(level, args) {
4563
4563
  }
4564
4564
  __name(captureLog, "captureLog");
4565
4565
 
4566
- // src/loggers/utils.ts
4566
+ // src/loggers/hapi.ts
4567
4567
  import { format as format2 } from "util";
4568
+ var MAX_BUFFER_SIZE2 = 1e3;
4569
+ var VALID_LOG_LEVELS = /* @__PURE__ */ new Set([
4570
+ "trace",
4571
+ "debug",
4572
+ "info",
4573
+ "warn",
4574
+ "warning",
4575
+ "error",
4576
+ "fatal"
4577
+ ]);
4578
+ function handleHapiRequestEvent(event, logsContext) {
4579
+ const logs = logsContext.getStore();
4580
+ if (!logs || logs.length >= MAX_BUFFER_SIZE2) {
4581
+ return;
4582
+ }
4583
+ logs.push({
4584
+ timestamp: Number(event.timestamp) / 1e3,
4585
+ level: event.tags.find((tag) => VALID_LOG_LEVELS.has(tag.toLowerCase())) || "log",
4586
+ message: format2(event.data)
4587
+ });
4588
+ }
4589
+ __name(handleHapiRequestEvent, "handleHapiRequestEvent");
4590
+
4591
+ // src/loggers/utils.ts
4592
+ import { format as format3 } from "util";
4568
4593
  function formatMessage(message, ...args) {
4569
4594
  return [
4570
4595
  message,
@@ -4581,7 +4606,7 @@ function formatArg(arg) {
4581
4606
  return arg.trim();
4582
4607
  }
4583
4608
  if (arg instanceof Error) {
4584
- return format2(arg).trim();
4609
+ return format3(arg).trim();
4585
4610
  }
4586
4611
  if (arg === void 0 || arg === null || isEmptyObject(arg)) {
4587
4612
  return "";
@@ -4589,7 +4614,7 @@ function formatArg(arg) {
4589
4614
  try {
4590
4615
  return JSON.stringify(arg);
4591
4616
  } catch {
4592
- return format2(arg).trim();
4617
+ return format3(arg).trim();
4593
4618
  }
4594
4619
  }
4595
4620
  __name(formatArg, "formatArg");
@@ -4599,7 +4624,7 @@ function isEmptyObject(obj) {
4599
4624
  __name(isEmptyObject, "isEmptyObject");
4600
4625
 
4601
4626
  // src/loggers/nestjs.ts
4602
- var MAX_BUFFER_SIZE2 = 1e3;
4627
+ var MAX_BUFFER_SIZE3 = 1e3;
4603
4628
  var isPatched2 = false;
4604
4629
  var globalLogsContext2;
4605
4630
  async function patchNestLogger(logsContext) {
@@ -4650,7 +4675,7 @@ async function patchNestLogger(logsContext) {
4650
4675
  __name(patchNestLogger, "patchNestLogger");
4651
4676
  function captureLog2(level, args, context) {
4652
4677
  const logs = globalLogsContext2 == null ? void 0 : globalLogsContext2.getStore();
4653
- if (logs && logs.length < MAX_BUFFER_SIZE2) {
4678
+ if (logs && logs.length < MAX_BUFFER_SIZE3) {
4654
4679
  logs.push({
4655
4680
  timestamp: Date.now() / 1e3,
4656
4681
  logger: context,
@@ -4662,7 +4687,7 @@ function captureLog2(level, args, context) {
4662
4687
  __name(captureLog2, "captureLog");
4663
4688
 
4664
4689
  // src/loggers/pino.ts
4665
- var MAX_BUFFER_SIZE3 = 1e3;
4690
+ var MAX_BUFFER_SIZE4 = 1e3;
4666
4691
  var originalStreamSym = Symbol.for("apitally.originalStream");
4667
4692
  var logLevelMap = {
4668
4693
  10: "trace",
@@ -4674,18 +4699,23 @@ var logLevelMap = {
4674
4699
  };
4675
4700
  async function patchPinoLogger(logger, logsContext) {
4676
4701
  try {
4677
- const pino = await Promise.resolve().then(() => __toESM(require_pino(), 1));
4678
- if (!(pino.default.symbols.streamSym in logger)) {
4679
- return;
4702
+ const symbols = [
4703
+ ...Object.getOwnPropertySymbols(logger),
4704
+ ...Object.getOwnPropertySymbols(Object.getPrototypeOf(logger))
4705
+ ];
4706
+ const streamSym = symbols.find((sym) => sym.toString() === "Symbol(pino.stream)");
4707
+ const messageKeySym = symbols.find((sym) => sym.toString() === "Symbol(pino.messageKey)");
4708
+ if (!streamSym || !messageKeySym) {
4709
+ return false;
4680
4710
  }
4681
4711
  if (!(originalStreamSym in logger)) {
4682
- logger[originalStreamSym] = logger[pino.default.symbols.streamSym];
4712
+ logger[originalStreamSym] = logger[streamSym];
4683
4713
  }
4684
4714
  const originalStream = logger[originalStreamSym];
4685
4715
  if (originalStream) {
4686
- const messageKey = logger[pino.default.symbols.messageKeySym];
4687
- const captureStream = new ApitallyLogCaptureStream(logsContext, messageKey);
4688
- logger[pino.default.symbols.streamSym] = pino.default.multistream([
4716
+ const pino = await Promise.resolve().then(() => __toESM(require_pino(), 1));
4717
+ const captureStream = new ApitallyLogCaptureStream(logsContext, logger[messageKeySym]);
4718
+ logger[streamSym] = pino.default.multistream([
4689
4719
  {
4690
4720
  level: 0,
4691
4721
  stream: originalStream
@@ -4698,7 +4728,9 @@ async function patchPinoLogger(logger, logsContext) {
4698
4728
  levels: logger.levels
4699
4729
  });
4700
4730
  }
4731
+ return true;
4701
4732
  } catch {
4733
+ return false;
4702
4734
  }
4703
4735
  }
4704
4736
  __name(patchPinoLogger, "patchPinoLogger");
@@ -4716,7 +4748,7 @@ var ApitallyLogCaptureStream = (_a = class {
4716
4748
  }
4717
4749
  write(msg) {
4718
4750
  const logs = this.logsContext.getStore();
4719
- if (!logs || !msg || logs.length >= MAX_BUFFER_SIZE3) {
4751
+ if (!logs || !msg || logs.length >= MAX_BUFFER_SIZE4) {
4720
4752
  return;
4721
4753
  }
4722
4754
  let obj;
@@ -4729,8 +4761,8 @@ var ApitallyLogCaptureStream = (_a = class {
4729
4761
  return;
4730
4762
  }
4731
4763
  try {
4732
- const message = obj[this.messageKey];
4733
- const rest = removeKeys(obj, [
4764
+ let message = obj[this.messageKey];
4765
+ const ignoreKeys = [
4734
4766
  "hostname",
4735
4767
  "level",
4736
4768
  this.messageKey,
@@ -4739,7 +4771,13 @@ var ApitallyLogCaptureStream = (_a = class {
4739
4771
  "reqId",
4740
4772
  "req",
4741
4773
  "res"
4742
- ]);
4774
+ ];
4775
+ if (!message && "data" in obj && "tags" in obj) {
4776
+ message = obj.data;
4777
+ ignoreKeys.push("data");
4778
+ ignoreKeys.push("tags");
4779
+ }
4780
+ const rest = removeKeys(obj, ignoreKeys);
4743
4781
  const formattedMessage = formatMessage(message, rest);
4744
4782
  if (formattedMessage) {
4745
4783
  logs.push({
@@ -4760,7 +4798,7 @@ var ApitallyLogCaptureStream = (_a = class {
4760
4798
  }, __name(_a, "ApitallyLogCaptureStream"), _a);
4761
4799
 
4762
4800
  // src/loggers/winston.ts
4763
- var MAX_BUFFER_SIZE4 = 1e3;
4801
+ var MAX_BUFFER_SIZE5 = 1e3;
4764
4802
  var isPatched3 = false;
4765
4803
  var globalLogsContext3;
4766
4804
  async function patchWinston(logsContext) {
@@ -4785,7 +4823,7 @@ async function patchWinston(logsContext) {
4785
4823
  __name(patchWinston, "patchWinston");
4786
4824
  function captureLog3(info) {
4787
4825
  const logs = globalLogsContext3 == null ? void 0 : globalLogsContext3.getStore();
4788
- if (!logs || !info || logs.length >= MAX_BUFFER_SIZE4) {
4826
+ if (!logs || !info || logs.length >= MAX_BUFFER_SIZE5) {
4789
4827
  return;
4790
4828
  }
4791
4829
  try {
@@ -4818,6 +4856,7 @@ function parseTimestamp(timestamp) {
4818
4856
  }
4819
4857
  __name(parseTimestamp, "parseTimestamp");
4820
4858
  export {
4859
+ handleHapiRequestEvent,
4821
4860
  patchConsole,
4822
4861
  patchNestLogger,
4823
4862
  patchPinoLogger,