apitally 0.25.8 → 1.0.0-beta.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 (555) hide show
  1. package/README.md +228 -178
  2. package/dist/activation.cjs +393 -0
  3. package/dist/activation.cjs.map +1 -0
  4. package/dist/activation.d.cts +42 -0
  5. package/dist/activation.d.ts +42 -0
  6. package/dist/activation.js +383 -0
  7. package/dist/activation.js.map +1 -0
  8. package/dist/adonisjs/configure.cjs +86 -30
  9. package/dist/adonisjs/configure.cjs.map +1 -1
  10. package/dist/adonisjs/configure.d.cts +0 -4
  11. package/dist/adonisjs/configure.d.ts +0 -4
  12. package/dist/adonisjs/configure.js +83 -29
  13. package/dist/adonisjs/configure.js.map +1 -1
  14. package/dist/adonisjs/index.cjs +38 -21
  15. package/dist/adonisjs/index.cjs.map +1 -1
  16. package/dist/adonisjs/index.d.cts +5 -14
  17. package/dist/adonisjs/index.d.ts +5 -14
  18. package/dist/adonisjs/index.js +39 -18
  19. package/dist/adonisjs/index.js.map +1 -1
  20. package/dist/adonisjs/middleware.cjs +43 -109
  21. package/dist/adonisjs/middleware.cjs.map +1 -1
  22. package/dist/adonisjs/middleware.d.cts +1 -16
  23. package/dist/adonisjs/middleware.d.ts +1 -16
  24. package/dist/adonisjs/middleware.js +43 -110
  25. package/dist/adonisjs/middleware.js.map +1 -1
  26. package/dist/adonisjs/provider.cjs +19 -87
  27. package/dist/adonisjs/provider.cjs.map +1 -1
  28. package/dist/adonisjs/provider.d.cts +0 -22
  29. package/dist/adonisjs/provider.d.ts +0 -22
  30. package/dist/adonisjs/provider.js +19 -88
  31. package/dist/adonisjs/provider.js.map +1 -1
  32. package/dist/adonisjs/stubs/config/apitally.stub +11 -15
  33. package/dist/bodyCapture.cjs +128 -0
  34. package/dist/bodyCapture.cjs.map +1 -0
  35. package/dist/bodyCapture.d.cts +31 -0
  36. package/dist/bodyCapture.d.ts +31 -0
  37. package/dist/bodyCapture.js +101 -0
  38. package/dist/bodyCapture.js.map +1 -0
  39. package/dist/config.cjs +227 -0
  40. package/dist/config.cjs.map +1 -0
  41. package/dist/config.d.cts +45 -0
  42. package/dist/config.d.ts +45 -0
  43. package/dist/config.js +192 -0
  44. package/dist/config.js.map +1 -0
  45. package/dist/consumer.cjs +98 -0
  46. package/dist/consumer.cjs.map +1 -0
  47. package/dist/consumer.d.cts +15 -0
  48. package/dist/consumer.d.ts +15 -0
  49. package/dist/consumer.js +78 -0
  50. package/dist/consumer.js.map +1 -0
  51. package/dist/context.cjs +68 -0
  52. package/dist/context.cjs.map +1 -0
  53. package/dist/context.d.cts +33 -0
  54. package/dist/context.d.ts +33 -0
  55. package/dist/context.js +40 -0
  56. package/dist/context.js.map +1 -0
  57. package/dist/elysia/index.cjs +12 -3
  58. package/dist/elysia/index.cjs.map +1 -1
  59. package/dist/elysia/index.d.cts +8 -16
  60. package/dist/elysia/index.d.ts +8 -16
  61. package/dist/elysia/index.js +10 -2
  62. package/dist/elysia/index.js.map +1 -1
  63. package/dist/elysia/middleware.cjs +261 -0
  64. package/dist/elysia/middleware.cjs.map +1 -0
  65. package/dist/elysia/middleware.d.cts +14 -0
  66. package/dist/elysia/middleware.d.ts +14 -0
  67. package/dist/elysia/middleware.js +250 -0
  68. package/dist/elysia/middleware.js.map +1 -0
  69. package/dist/{otel/index.cjs → elysia/routes.cjs} +16 -7
  70. package/dist/elysia/routes.cjs.map +1 -0
  71. package/dist/elysia/routes.d.cts +7 -0
  72. package/dist/elysia/routes.d.ts +7 -0
  73. package/dist/elysia/routes.js +14 -0
  74. package/dist/elysia/routes.js.map +1 -0
  75. package/dist/exceptions.cjs +81 -0
  76. package/dist/exceptions.cjs.map +1 -0
  77. package/dist/exceptions.d.cts +7 -0
  78. package/dist/exceptions.d.ts +7 -0
  79. package/dist/exceptions.js +55 -0
  80. package/dist/exceptions.js.map +1 -0
  81. package/dist/exportSerialization.cjs +56 -0
  82. package/dist/exportSerialization.cjs.map +1 -0
  83. package/dist/exportSerialization.d.cts +7 -0
  84. package/dist/exportSerialization.d.ts +7 -0
  85. package/dist/exportSerialization.js +32 -0
  86. package/dist/exportSerialization.js.map +1 -0
  87. package/dist/exportWorker.cjs +305 -0
  88. package/dist/exportWorker.cjs.map +1 -0
  89. package/dist/exportWorker.d.cts +46 -0
  90. package/dist/exportWorker.d.ts +46 -0
  91. package/dist/exportWorker.js +279 -0
  92. package/dist/exportWorker.js.map +1 -0
  93. package/dist/express/index.cjs +9 -4
  94. package/dist/express/index.cjs.map +1 -1
  95. package/dist/express/index.d.cts +7 -10
  96. package/dist/express/index.d.ts +7 -10
  97. package/dist/express/index.js +8 -2
  98. package/dist/express/index.js.map +1 -1
  99. package/dist/express/install.cjs +45 -0
  100. package/dist/express/install.cjs.map +1 -0
  101. package/dist/express/install.d.cts +10 -0
  102. package/dist/express/install.d.ts +10 -0
  103. package/dist/express/install.js +21 -0
  104. package/dist/express/install.js.map +1 -0
  105. package/dist/express/middleware.cjs +87 -331
  106. package/dist/express/middleware.cjs.map +1 -1
  107. package/dist/express/middleware.d.cts +3 -21
  108. package/dist/express/middleware.d.ts +3 -21
  109. package/dist/express/middleware.js +91 -327
  110. package/dist/express/middleware.js.map +1 -1
  111. package/dist/express/register.cjs +20 -0
  112. package/dist/express/register.cjs.map +1 -0
  113. package/dist/express/register.d.cts +2 -0
  114. package/dist/express/register.d.ts +2 -0
  115. package/dist/express/register.js +19 -0
  116. package/dist/express/register.js.map +1 -0
  117. package/dist/express/routes.cjs +429 -0
  118. package/dist/express/routes.cjs.map +1 -0
  119. package/dist/express/routes.d.cts +14 -0
  120. package/dist/express/routes.d.ts +14 -0
  121. package/dist/express/routes.js +401 -0
  122. package/dist/express/routes.js.map +1 -0
  123. package/dist/fastify/index.cjs +10 -5
  124. package/dist/fastify/index.cjs.map +1 -1
  125. package/dist/fastify/index.d.cts +7 -11
  126. package/dist/fastify/index.d.ts +7 -11
  127. package/dist/fastify/index.js +9 -3
  128. package/dist/fastify/index.js.map +1 -1
  129. package/dist/{loggers/index.cjs → fastify/install.cjs} +17 -19
  130. package/dist/fastify/install.cjs.map +1 -0
  131. package/dist/fastify/install.d.cts +10 -0
  132. package/dist/fastify/install.d.ts +10 -0
  133. package/dist/fastify/install.js +15 -0
  134. package/dist/fastify/install.js.map +1 -0
  135. package/dist/fastify/middleware.cjs +135 -0
  136. package/dist/fastify/middleware.cjs.map +1 -0
  137. package/dist/fastify/middleware.d.cts +7 -0
  138. package/dist/fastify/middleware.d.ts +7 -0
  139. package/dist/fastify/middleware.js +114 -0
  140. package/dist/fastify/middleware.js.map +1 -0
  141. package/dist/{common/paramValidation.cjs → fastify/routes.cjs} +15 -17
  142. package/dist/fastify/routes.cjs.map +1 -0
  143. package/dist/fastify/routes.d.cts +8 -0
  144. package/dist/fastify/routes.d.ts +8 -0
  145. package/dist/fastify/routes.js +14 -0
  146. package/dist/fastify/routes.js.map +1 -0
  147. package/dist/h3/index.cjs +28 -4
  148. package/dist/h3/index.cjs.map +1 -1
  149. package/dist/h3/index.d.cts +8 -10
  150. package/dist/h3/index.d.ts +8 -10
  151. package/dist/h3/index.js +26 -2
  152. package/dist/h3/index.js.map +1 -1
  153. package/dist/h3/middleware.cjs +210 -0
  154. package/dist/h3/middleware.cjs.map +1 -0
  155. package/dist/h3/middleware.d.cts +5 -0
  156. package/dist/h3/middleware.d.ts +5 -0
  157. package/dist/h3/middleware.js +194 -0
  158. package/dist/h3/middleware.js.map +1 -0
  159. package/dist/h3/routes.cjs +66 -0
  160. package/dist/h3/routes.cjs.map +1 -0
  161. package/dist/h3/routes.d.cts +8 -0
  162. package/dist/h3/routes.d.ts +8 -0
  163. package/dist/h3/routes.js +41 -0
  164. package/dist/h3/routes.js.map +1 -0
  165. package/dist/hapi/index.cjs +15 -4
  166. package/dist/hapi/index.cjs.map +1 -1
  167. package/dist/hapi/index.d.cts +8 -10
  168. package/dist/hapi/index.d.ts +8 -10
  169. package/dist/hapi/index.js +13 -2
  170. package/dist/hapi/index.js.map +1 -1
  171. package/dist/{loggers/hapi.cjs → hapi/install.cjs} +20 -26
  172. package/dist/hapi/install.cjs.map +1 -0
  173. package/dist/hapi/install.d.cts +8 -0
  174. package/dist/hapi/install.d.ts +8 -0
  175. package/dist/hapi/install.js +22 -0
  176. package/dist/hapi/install.js.map +1 -0
  177. package/dist/hapi/middleware.cjs +158 -0
  178. package/dist/hapi/middleware.cjs.map +1 -0
  179. package/dist/hapi/middleware.d.cts +5 -0
  180. package/dist/hapi/middleware.d.ts +5 -0
  181. package/dist/hapi/middleware.js +137 -0
  182. package/dist/hapi/middleware.js.map +1 -0
  183. package/dist/{common/logging.cjs → hapi/routes.cjs} +14 -17
  184. package/dist/hapi/routes.cjs.map +1 -0
  185. package/dist/hapi/routes.d.cts +8 -0
  186. package/dist/hapi/routes.d.ts +8 -0
  187. package/dist/hapi/routes.js +12 -0
  188. package/dist/hapi/routes.js.map +1 -0
  189. package/dist/hono/index.cjs +13 -3
  190. package/dist/hono/index.cjs.map +1 -1
  191. package/dist/hono/index.d.cts +7 -10
  192. package/dist/hono/index.d.ts +7 -10
  193. package/dist/hono/index.js +13 -2
  194. package/dist/hono/index.js.map +1 -1
  195. package/dist/hono/middleware.cjs +219 -127
  196. package/dist/hono/middleware.cjs.map +1 -1
  197. package/dist/hono/middleware.d.cts +3 -18
  198. package/dist/hono/middleware.d.ts +3 -18
  199. package/dist/hono/middleware.js +229 -126
  200. package/dist/hono/middleware.js.map +1 -1
  201. package/dist/hono/routes.cjs +74 -0
  202. package/dist/hono/routes.cjs.map +1 -0
  203. package/dist/hono/routes.d.cts +8 -0
  204. package/dist/hono/routes.d.ts +8 -0
  205. package/dist/hono/routes.js +49 -0
  206. package/dist/hono/routes.js.map +1 -0
  207. package/dist/index.cjs +108 -0
  208. package/dist/index.cjs.map +1 -1
  209. package/dist/index.d.cts +29 -1
  210. package/dist/index.d.ts +29 -1
  211. package/dist/index.js +77 -0
  212. package/dist/index.js.map +1 -1
  213. package/dist/koa/index.cjs +13 -3
  214. package/dist/koa/index.cjs.map +1 -1
  215. package/dist/koa/index.d.cts +7 -10
  216. package/dist/koa/index.d.ts +7 -10
  217. package/dist/koa/index.js +13 -2
  218. package/dist/koa/index.js.map +1 -1
  219. package/dist/koa/middleware.cjs +85 -184
  220. package/dist/koa/middleware.cjs.map +1 -1
  221. package/dist/koa/middleware.d.cts +3 -13
  222. package/dist/koa/middleware.d.ts +3 -13
  223. package/dist/koa/middleware.js +88 -183
  224. package/dist/koa/middleware.js.map +1 -1
  225. package/dist/koa/routes.cjs +71 -0
  226. package/dist/koa/routes.cjs.map +1 -0
  227. package/dist/koa/routes.d.cts +8 -0
  228. package/dist/koa/routes.d.ts +8 -0
  229. package/dist/koa/routes.js +46 -0
  230. package/dist/koa/routes.js.map +1 -0
  231. package/dist/logCapture.cjs +417 -0
  232. package/dist/logCapture.cjs.map +1 -0
  233. package/dist/logCapture.d.cts +18 -0
  234. package/dist/logCapture.d.ts +18 -0
  235. package/dist/logCapture.js +390 -0
  236. package/dist/logCapture.js.map +1 -0
  237. package/dist/logRecordExporter.cjs +51 -0
  238. package/dist/logRecordExporter.cjs.map +1 -0
  239. package/dist/logRecordExporter.d.cts +14 -0
  240. package/dist/logRecordExporter.d.ts +14 -0
  241. package/dist/logRecordExporter.js +27 -0
  242. package/dist/logRecordExporter.js.map +1 -0
  243. package/dist/logRecordProcessor.cjs +137 -0
  244. package/dist/logRecordProcessor.cjs.map +1 -0
  245. package/dist/logRecordProcessor.d.cts +27 -0
  246. package/dist/logRecordProcessor.d.ts +27 -0
  247. package/dist/logRecordProcessor.js +113 -0
  248. package/dist/logRecordProcessor.js.map +1 -0
  249. package/dist/logger.cjs +62 -0
  250. package/dist/logger.cjs.map +1 -0
  251. package/dist/logger.d.cts +7 -0
  252. package/dist/logger.d.ts +7 -0
  253. package/dist/logger.js +34 -0
  254. package/dist/logger.js.map +1 -0
  255. package/dist/metrics.cjs +171 -0
  256. package/dist/metrics.cjs.map +1 -0
  257. package/dist/metrics.d.cts +26 -0
  258. package/dist/metrics.d.ts +26 -0
  259. package/dist/metrics.js +153 -0
  260. package/dist/metrics.js.map +1 -0
  261. package/dist/nestjs/index.cjs +81 -71
  262. package/dist/nestjs/index.cjs.map +1 -1
  263. package/dist/nestjs/index.d.cts +4 -11
  264. package/dist/nestjs/index.d.ts +4 -11
  265. package/dist/nestjs/index.js +81 -61
  266. package/dist/nestjs/index.js.map +1 -1
  267. package/dist/packageVersion.cjs +67 -0
  268. package/dist/packageVersion.cjs.map +1 -0
  269. package/dist/packageVersion.d.cts +5 -0
  270. package/dist/packageVersion.d.ts +5 -0
  271. package/dist/packageVersion.js +39 -0
  272. package/dist/packageVersion.js.map +1 -0
  273. package/dist/providers.cjs +149 -0
  274. package/dist/providers.cjs.map +1 -0
  275. package/dist/providers.d.cts +15 -0
  276. package/dist/providers.d.ts +15 -0
  277. package/dist/providers.js +136 -0
  278. package/dist/providers.js.map +1 -0
  279. package/dist/redaction.cjs +116 -0
  280. package/dist/redaction.cjs.map +1 -0
  281. package/dist/redaction.d.cts +17 -0
  282. package/dist/redaction.d.ts +17 -0
  283. package/dist/redaction.js +98 -0
  284. package/dist/redaction.js.map +1 -0
  285. package/dist/{common/packageVersions.cjs → requestAttributes.cjs} +21 -19
  286. package/dist/requestAttributes.cjs.map +1 -0
  287. package/dist/requestAttributes.d.cts +10 -0
  288. package/dist/requestAttributes.d.ts +10 -0
  289. package/dist/requestAttributes.js +22 -0
  290. package/dist/requestAttributes.js.map +1 -0
  291. package/dist/requestObservation.cjs +246 -0
  292. package/dist/requestObservation.cjs.map +1 -0
  293. package/dist/requestObservation.d.cts +62 -0
  294. package/dist/requestObservation.d.ts +62 -0
  295. package/dist/requestObservation.js +226 -0
  296. package/dist/requestObservation.js.map +1 -0
  297. package/dist/requestObservationNode.cjs +193 -0
  298. package/dist/requestObservationNode.cjs.map +1 -0
  299. package/dist/requestObservationNode.d.cts +31 -0
  300. package/dist/requestObservationNode.d.ts +31 -0
  301. package/dist/requestObservationNode.js +170 -0
  302. package/dist/requestObservationNode.js.map +1 -0
  303. package/dist/requestObservationWeb.cjs +202 -0
  304. package/dist/requestObservationWeb.cjs.map +1 -0
  305. package/dist/requestObservationWeb.d.cts +34 -0
  306. package/dist/requestObservationWeb.d.ts +34 -0
  307. package/dist/requestObservationWeb.js +182 -0
  308. package/dist/requestObservationWeb.js.map +1 -0
  309. package/dist/sentry.cjs +103 -0
  310. package/dist/sentry.cjs.map +1 -0
  311. package/dist/sentry.d.cts +3 -0
  312. package/dist/sentry.d.ts +3 -0
  313. package/dist/sentry.js +79 -0
  314. package/dist/sentry.js.map +1 -0
  315. package/dist/serverErrors.cjs +118 -0
  316. package/dist/serverErrors.cjs.map +1 -0
  317. package/dist/serverErrors.d.cts +8 -0
  318. package/dist/serverErrors.d.ts +8 -0
  319. package/dist/serverErrors.js +91 -0
  320. package/dist/serverErrors.js.map +1 -0
  321. package/dist/spanExporter.cjs +217 -0
  322. package/dist/spanExporter.cjs.map +1 -0
  323. package/dist/spanExporter.d.cts +34 -0
  324. package/dist/spanExporter.d.ts +34 -0
  325. package/dist/spanExporter.js +193 -0
  326. package/dist/spanExporter.js.map +1 -0
  327. package/dist/spanProcessor.cjs +535 -0
  328. package/dist/spanProcessor.cjs.map +1 -0
  329. package/dist/spanProcessor.d.cts +70 -0
  330. package/dist/spanProcessor.d.ts +70 -0
  331. package/dist/spanProcessor.js +513 -0
  332. package/dist/spanProcessor.js.map +1 -0
  333. package/dist/spool.cjs +314 -0
  334. package/dist/spool.cjs.map +1 -0
  335. package/dist/spool.d.cts +49 -0
  336. package/dist/spool.d.ts +49 -0
  337. package/dist/spool.js +297 -0
  338. package/dist/spool.js.map +1 -0
  339. package/dist/startup.cjs +98 -0
  340. package/dist/startup.cjs.map +1 -0
  341. package/dist/startup.d.cts +15 -0
  342. package/dist/startup.d.ts +15 -0
  343. package/dist/startup.js +73 -0
  344. package/dist/startup.js.map +1 -0
  345. package/dist/tracing.cjs +116 -0
  346. package/dist/tracing.cjs.map +1 -0
  347. package/dist/tracing.d.cts +5 -0
  348. package/dist/tracing.d.ts +5 -0
  349. package/dist/tracing.js +96 -0
  350. package/dist/tracing.js.map +1 -0
  351. package/dist/validationErrors.cjs +229 -0
  352. package/dist/validationErrors.cjs.map +1 -0
  353. package/dist/validationErrors.d.cts +21 -0
  354. package/dist/validationErrors.d.ts +21 -0
  355. package/dist/validationErrors.js +195 -0
  356. package/dist/validationErrors.js.map +1 -0
  357. package/package.json +113 -154
  358. package/dist/common/client.cjs +0 -335
  359. package/dist/common/client.cjs.map +0 -1
  360. package/dist/common/client.d.cts +0 -50
  361. package/dist/common/client.d.ts +0 -50
  362. package/dist/common/client.js +0 -302
  363. package/dist/common/client.js.map +0 -1
  364. package/dist/common/consumerRegistry.cjs +0 -86
  365. package/dist/common/consumerRegistry.cjs.map +0 -1
  366. package/dist/common/consumerRegistry.d.cts +0 -20
  367. package/dist/common/consumerRegistry.d.ts +0 -20
  368. package/dist/common/consumerRegistry.js +0 -62
  369. package/dist/common/consumerRegistry.js.map +0 -1
  370. package/dist/common/headers.cjs +0 -55
  371. package/dist/common/headers.cjs.map +0 -1
  372. package/dist/common/headers.d.cts +0 -6
  373. package/dist/common/headers.d.ts +0 -6
  374. package/dist/common/headers.js +0 -31
  375. package/dist/common/headers.js.map +0 -1
  376. package/dist/common/instance.cjs +0 -158
  377. package/dist/common/instance.cjs.map +0 -1
  378. package/dist/common/instance.d.cts +0 -4
  379. package/dist/common/instance.d.ts +0 -4
  380. package/dist/common/instance.js +0 -134
  381. package/dist/common/instance.js.map +0 -1
  382. package/dist/common/logging.cjs.map +0 -1
  383. package/dist/common/logging.d.cts +0 -11
  384. package/dist/common/logging.d.ts +0 -11
  385. package/dist/common/logging.js +0 -17
  386. package/dist/common/logging.js.map +0 -1
  387. package/dist/common/packageVersions.cjs.map +0 -1
  388. package/dist/common/packageVersions.d.cts +0 -3
  389. package/dist/common/packageVersions.d.ts +0 -3
  390. package/dist/common/packageVersions.js +0 -21
  391. package/dist/common/packageVersions.js.map +0 -1
  392. package/dist/common/paramValidation.cjs.map +0 -1
  393. package/dist/common/paramValidation.d.cts +0 -4
  394. package/dist/common/paramValidation.d.ts +0 -4
  395. package/dist/common/paramValidation.js +0 -17
  396. package/dist/common/paramValidation.js.map +0 -1
  397. package/dist/common/requestCounter.cjs +0 -114
  398. package/dist/common/requestCounter.cjs.map +0 -1
  399. package/dist/common/requestCounter.d.cts +0 -24
  400. package/dist/common/requestCounter.d.ts +0 -24
  401. package/dist/common/requestCounter.js +0 -91
  402. package/dist/common/requestCounter.js.map +0 -1
  403. package/dist/common/requestLogger.cjs +0 -543
  404. package/dist/common/requestLogger.cjs.map +0 -1
  405. package/dist/common/requestLogger.d.cts +0 -85
  406. package/dist/common/requestLogger.d.ts +0 -85
  407. package/dist/common/requestLogger.js +0 -508
  408. package/dist/common/requestLogger.js.map +0 -1
  409. package/dist/common/resources.cjs +0 -49
  410. package/dist/common/resources.cjs.map +0 -1
  411. package/dist/common/resources.d.cts +0 -6
  412. package/dist/common/resources.d.ts +0 -6
  413. package/dist/common/resources.js +0 -26
  414. package/dist/common/resources.js.map +0 -1
  415. package/dist/common/response.cjs +0 -104
  416. package/dist/common/response.cjs.map +0 -1
  417. package/dist/common/response.d.cts +0 -15
  418. package/dist/common/response.d.ts +0 -15
  419. package/dist/common/response.js +0 -80
  420. package/dist/common/response.js.map +0 -1
  421. package/dist/common/sentry.cjs +0 -56
  422. package/dist/common/sentry.cjs.map +0 -1
  423. package/dist/common/sentry.d.cts +0 -6
  424. package/dist/common/sentry.d.ts +0 -6
  425. package/dist/common/sentry.js +0 -23
  426. package/dist/common/sentry.js.map +0 -1
  427. package/dist/common/serverErrorCounter.cjs +0 -123
  428. package/dist/common/serverErrorCounter.cjs.map +0 -1
  429. package/dist/common/serverErrorCounter.d.cts +0 -23
  430. package/dist/common/serverErrorCounter.d.ts +0 -23
  431. package/dist/common/serverErrorCounter.js +0 -98
  432. package/dist/common/serverErrorCounter.js.map +0 -1
  433. package/dist/common/spanCollector.cjs +0 -201
  434. package/dist/common/spanCollector.cjs.map +0 -1
  435. package/dist/common/spanCollector.d.cts +0 -45
  436. package/dist/common/spanCollector.d.ts +0 -45
  437. package/dist/common/spanCollector.js +0 -177
  438. package/dist/common/spanCollector.js.map +0 -1
  439. package/dist/common/tempGzipFile.cjs +0 -127
  440. package/dist/common/tempGzipFile.cjs.map +0 -1
  441. package/dist/common/tempGzipFile.d.cts +0 -19
  442. package/dist/common/tempGzipFile.d.ts +0 -19
  443. package/dist/common/tempGzipFile.js +0 -103
  444. package/dist/common/tempGzipFile.js.map +0 -1
  445. package/dist/common/types.cjs +0 -17
  446. package/dist/common/types.cjs.map +0 -1
  447. package/dist/common/types.d.cts +0 -95
  448. package/dist/common/types.d.ts +0 -95
  449. package/dist/common/types.js +0 -1
  450. package/dist/common/types.js.map +0 -1
  451. package/dist/common/validationErrorCounter.cjs +0 -79
  452. package/dist/common/validationErrorCounter.cjs.map +0 -1
  453. package/dist/common/validationErrorCounter.d.cts +0 -20
  454. package/dist/common/validationErrorCounter.d.ts +0 -20
  455. package/dist/common/validationErrorCounter.js +0 -56
  456. package/dist/common/validationErrorCounter.js.map +0 -1
  457. package/dist/elysia/plugin.cjs +0 -242
  458. package/dist/elysia/plugin.cjs.map +0 -1
  459. package/dist/elysia/plugin.d.cts +0 -70
  460. package/dist/elysia/plugin.d.ts +0 -70
  461. package/dist/elysia/plugin.js +0 -219
  462. package/dist/elysia/plugin.js.map +0 -1
  463. package/dist/elysia/utils.cjs +0 -77
  464. package/dist/elysia/utils.cjs.map +0 -1
  465. package/dist/elysia/utils.d.cts +0 -14
  466. package/dist/elysia/utils.d.ts +0 -14
  467. package/dist/elysia/utils.js +0 -54
  468. package/dist/elysia/utils.js.map +0 -1
  469. package/dist/express/utils.cjs +0 -217
  470. package/dist/express/utils.cjs.map +0 -1
  471. package/dist/express/utils.d.cts +0 -37
  472. package/dist/express/utils.d.ts +0 -37
  473. package/dist/express/utils.js +0 -189
  474. package/dist/express/utils.js.map +0 -1
  475. package/dist/fastify/plugin.cjs +0 -319
  476. package/dist/fastify/plugin.cjs.map +0 -1
  477. package/dist/fastify/plugin.d.cts +0 -34
  478. package/dist/fastify/plugin.d.ts +0 -34
  479. package/dist/fastify/plugin.js +0 -284
  480. package/dist/fastify/plugin.js.map +0 -1
  481. package/dist/h3/plugin.cjs +0 -183
  482. package/dist/h3/plugin.cjs.map +0 -1
  483. package/dist/h3/plugin.d.cts +0 -27
  484. package/dist/h3/plugin.d.ts +0 -27
  485. package/dist/h3/plugin.js +0 -159
  486. package/dist/h3/plugin.js.map +0 -1
  487. package/dist/h3/utils.cjs +0 -77
  488. package/dist/h3/utils.cjs.map +0 -1
  489. package/dist/h3/utils.d.cts +0 -14
  490. package/dist/h3/utils.d.ts +0 -14
  491. package/dist/h3/utils.js +0 -54
  492. package/dist/h3/utils.js.map +0 -1
  493. package/dist/hapi/plugin.cjs +0 -212
  494. package/dist/hapi/plugin.cjs.map +0 -1
  495. package/dist/hapi/plugin.d.cts +0 -40
  496. package/dist/hapi/plugin.d.ts +0 -40
  497. package/dist/hapi/plugin.js +0 -188
  498. package/dist/hapi/plugin.js.map +0 -1
  499. package/dist/hapi/utils.cjs +0 -77
  500. package/dist/hapi/utils.cjs.map +0 -1
  501. package/dist/hapi/utils.d.cts +0 -16
  502. package/dist/hapi/utils.d.ts +0 -16
  503. package/dist/hapi/utils.js +0 -53
  504. package/dist/hapi/utils.js.map +0 -1
  505. package/dist/hono/utils.cjs +0 -113
  506. package/dist/hono/utils.cjs.map +0 -1
  507. package/dist/hono/utils.d.cts +0 -16
  508. package/dist/hono/utils.d.ts +0 -16
  509. package/dist/hono/utils.js +0 -88
  510. package/dist/hono/utils.js.map +0 -1
  511. package/dist/loggers/console.cjs +0 -67
  512. package/dist/loggers/console.cjs.map +0 -1
  513. package/dist/loggers/console.d.cts +0 -11
  514. package/dist/loggers/console.d.ts +0 -11
  515. package/dist/loggers/console.js +0 -44
  516. package/dist/loggers/console.js.map +0 -1
  517. package/dist/loggers/hapi.cjs.map +0 -1
  518. package/dist/loggers/hapi.d.cts +0 -12
  519. package/dist/loggers/hapi.d.ts +0 -12
  520. package/dist/loggers/hapi.js +0 -29
  521. package/dist/loggers/hapi.js.map +0 -1
  522. package/dist/loggers/index.cjs.map +0 -1
  523. package/dist/loggers/index.d.cts +0 -13
  524. package/dist/loggers/index.d.ts +0 -13
  525. package/dist/loggers/index.js +0 -13
  526. package/dist/loggers/index.js.map +0 -1
  527. package/dist/loggers/nestjs.cjs +0 -104
  528. package/dist/loggers/nestjs.cjs.map +0 -1
  529. package/dist/loggers/nestjs.d.cts +0 -11
  530. package/dist/loggers/nestjs.d.ts +0 -11
  531. package/dist/loggers/nestjs.js +0 -71
  532. package/dist/loggers/nestjs.js.map +0 -1
  533. package/dist/loggers/pino.cjs +0 -152
  534. package/dist/loggers/pino.cjs.map +0 -1
  535. package/dist/loggers/pino.d.cts +0 -11
  536. package/dist/loggers/pino.d.ts +0 -11
  537. package/dist/loggers/pino.js +0 -119
  538. package/dist/loggers/pino.js.map +0 -1
  539. package/dist/loggers/utils.cjs +0 -64
  540. package/dist/loggers/utils.cjs.map +0 -1
  541. package/dist/loggers/utils.d.cts +0 -6
  542. package/dist/loggers/utils.d.ts +0 -6
  543. package/dist/loggers/utils.js +0 -40
  544. package/dist/loggers/utils.js.map +0 -1
  545. package/dist/loggers/winston.cjs +0 -101
  546. package/dist/loggers/winston.cjs.map +0 -1
  547. package/dist/loggers/winston.d.cts +0 -11
  548. package/dist/loggers/winston.d.ts +0 -11
  549. package/dist/loggers/winston.js +0 -68
  550. package/dist/loggers/winston.js.map +0 -1
  551. package/dist/otel/index.cjs.map +0 -1
  552. package/dist/otel/index.d.cts +0 -2
  553. package/dist/otel/index.d.ts +0 -2
  554. package/dist/otel/index.js +0 -5
  555. package/dist/otel/index.js.map +0 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "apitally",
3
- "version": "0.25.8",
4
- "description": "Simple API monitoring & analytics for REST APIs built with Express, Fastify, NestJS, AdonisJS, Hono, H3, Elysia, Hapi, and Koa.",
3
+ "version": "1.0.0-beta.1",
4
+ "description": "Simple API monitoring, analytics and request logging for REST APIs built with AdonisJS, Elysia, Express, Fastify, H3, Hapi, Hono, Koa and NestJS.",
5
5
  "author": "Apitally <hello@apitally.io>",
6
6
  "license": "MIT",
7
7
  "keywords": [
@@ -25,7 +25,8 @@
25
25
  "nestjs",
26
26
  "node",
27
27
  "nodejs",
28
- "plugin",
28
+ "observability",
29
+ "opentelemetry",
29
30
  "rest",
30
31
  "restful"
31
32
  ],
@@ -38,11 +39,21 @@
38
39
  },
39
40
  "homepage": "https://apitally.io",
40
41
  "type": "module",
42
+ "engines": {
43
+ "node": ">=20.6.0",
44
+ "bun": ">=1.1.13"
45
+ },
46
+ "sideEffects": [
47
+ "./dist/express/register.js",
48
+ "./dist/express/register.cjs"
49
+ ],
41
50
  "scripts": {
42
51
  "build": "tsup",
43
- "format": "prettier --write .",
44
- "check": "tsc --noEmit && eslint src tests && prettier --check .",
45
- "test": "vitest"
52
+ "check": "biome check . && tsc --noEmit && knip",
53
+ "check:package": "attw --pack . --profile node16",
54
+ "format": "biome check --write .",
55
+ "test": "vitest run",
56
+ "test:coverage": "vitest run --coverage"
46
57
  },
47
58
  "files": [
48
59
  "dist/",
@@ -50,24 +61,24 @@
50
61
  "README.md"
51
62
  ],
52
63
  "exports": {
53
- "./adonisjs": {
64
+ ".": {
54
65
  "import": {
55
- "types": "./dist/adonisjs/index.d.ts",
56
- "default": "./dist/adonisjs/index.js"
66
+ "types": "./dist/index.d.ts",
67
+ "default": "./dist/index.js"
57
68
  },
58
69
  "require": {
59
- "types": "./dist/adonisjs/index.d.cts",
60
- "default": "./dist/adonisjs/index.cjs"
70
+ "types": "./dist/index.d.cts",
71
+ "default": "./dist/index.cjs"
61
72
  }
62
73
  },
63
- "./adonisjs/middleware": {
74
+ "./adonisjs": {
64
75
  "import": {
65
- "types": "./dist/adonisjs/middleware.d.ts",
66
- "default": "./dist/adonisjs/middleware.js"
76
+ "types": "./dist/adonisjs/index.d.ts",
77
+ "default": "./dist/adonisjs/index.js"
67
78
  },
68
79
  "require": {
69
- "types": "./dist/adonisjs/middleware.d.cts",
70
- "default": "./dist/adonisjs/middleware.cjs"
80
+ "types": "./dist/adonisjs/index.d.cts",
81
+ "default": "./dist/adonisjs/index.cjs"
71
82
  }
72
83
  },
73
84
  "./adonisjs/provider": {
@@ -80,6 +91,16 @@
80
91
  "default": "./dist/adonisjs/provider.cjs"
81
92
  }
82
93
  },
94
+ "./adonisjs/middleware": {
95
+ "import": {
96
+ "types": "./dist/adonisjs/middleware.d.ts",
97
+ "default": "./dist/adonisjs/middleware.js"
98
+ },
99
+ "require": {
100
+ "types": "./dist/adonisjs/middleware.d.cts",
101
+ "default": "./dist/adonisjs/middleware.cjs"
102
+ }
103
+ },
83
104
  "./elysia": {
84
105
  "import": {
85
106
  "types": "./dist/elysia/index.d.ts",
@@ -100,6 +121,16 @@
100
121
  "default": "./dist/express/index.cjs"
101
122
  }
102
123
  },
124
+ "./express/register": {
125
+ "import": {
126
+ "types": "./dist/express/register.d.ts",
127
+ "default": "./dist/express/register.js"
128
+ },
129
+ "require": {
130
+ "types": "./dist/express/register.d.cts",
131
+ "default": "./dist/express/register.cjs"
132
+ }
133
+ },
103
134
  "./fastify": {
104
135
  "import": {
105
136
  "types": "./dist/fastify/index.d.ts",
@@ -160,85 +191,23 @@
160
191
  "default": "./dist/nestjs/index.cjs"
161
192
  }
162
193
  },
163
- "./otel": {
164
- "import": {
165
- "types": "./dist/otel/index.d.ts",
166
- "default": "./dist/otel/index.js"
167
- },
168
- "require": {
169
- "types": "./dist/otel/index.d.cts",
170
- "default": "./dist/otel/index.cjs"
171
- }
172
- },
173
194
  "./package.json": "./package.json"
174
195
  },
175
- "typesVersions": {
176
- "*": {
177
- "adonisjs": [
178
- "./dist/adonisjs/index.d.ts"
179
- ],
180
- "adonisjs/middleware": [
181
- "./dist/adonisjs/middleware.d.ts"
182
- ],
183
- "adonisjs/provider": [
184
- "./dist/adonisjs/provider.d.ts"
185
- ],
186
- "elysia": [
187
- "./dist/elysia/index.d.ts"
188
- ],
189
- "express": [
190
- "./dist/express/index.d.ts"
191
- ],
192
- "fastify": [
193
- "./dist/fastify/index.d.ts"
194
- ],
195
- "h3": [
196
- "./dist/h3/index.d.ts"
197
- ],
198
- "hapi": [
199
- "./dist/hapi/index.d.ts"
200
- ],
201
- "hono": [
202
- "./dist/hono/index.d.ts"
203
- ],
204
- "koa": [
205
- "./dist/koa/index.d.ts"
206
- ],
207
- "nestjs": [
208
- "./dist/nestjs/index.d.ts"
209
- ],
210
- "otel": [
211
- "./dist/otel/index.d.ts"
212
- ]
213
- }
214
- },
215
- "prettier": {
216
- "printWidth": 80
217
- },
218
- "dependencies": {
219
- "@opentelemetry/api": "^1.9.0",
220
- "@opentelemetry/context-async-hooks": "^2.0.0",
221
- "@opentelemetry/sdk-trace-base": "^2.0.0",
222
- "async-lock": "^1",
223
- "fetch-retry": "^6",
224
- "winston": "^3"
225
- },
226
196
  "peerDependencies": {
227
- "@adonisjs/core": "^6 || ^7",
228
- "@hapi/hapi": "^21",
229
- "@nestjs/common": "^9 || ^10 || ^11",
230
- "@nestjs/core": "^9 || ^10 || ^11",
231
- "@nestjs/platform-express": "^9 || ^10 || ^11",
232
- "@nestjs/platform-fastify": "^9 || ^10 || ^11",
233
- "@sentry/node": "^8.1.0 || ^9 || ^10",
234
- "elysia": "^1",
235
- "express": "^4 || ^5",
236
- "fastify": "^4 || ^5",
237
- "fastify-plugin": "^4 || ^5",
238
- "h3": "^2",
239
- "hono": "^4",
240
- "koa": "^2 || ^3",
241
- "pino": "^8 || ^9 || ^10"
197
+ "@adonisjs/core": ">=6.3 <8",
198
+ "@hapi/hapi": ">=21 <22",
199
+ "@nestjs/common": ">=10 <13",
200
+ "@nestjs/core": ">=10 <13",
201
+ "@opentelemetry/api": ">=1.9.0 <2",
202
+ "@sentry/node": ">=7",
203
+ "elysia": ">=1.1 <2",
204
+ "express": ">=4.18.2 <6",
205
+ "fastify": ">=4.10.2 <6",
206
+ "h3": ">=2.0.1-rc.26 <3",
207
+ "hono": ">=4.8.4 <5",
208
+ "koa": ">=2 <4",
209
+ "pino": ">=9.6.0 <11",
210
+ "winston": ">=3.2.0 <4"
242
211
  },
243
212
  "peerDependenciesMeta": {
244
213
  "@adonisjs/core": {
@@ -253,12 +222,6 @@
253
222
  "@nestjs/core": {
254
223
  "optional": true
255
224
  },
256
- "@nestjs/platform-express": {
257
- "optional": true
258
- },
259
- "@nestjs/platform-fastify": {
260
- "optional": true
261
- },
262
225
  "@sentry/node": {
263
226
  "optional": true
264
227
  },
@@ -271,9 +234,6 @@
271
234
  "fastify": {
272
235
  "optional": true
273
236
  },
274
- "fastify-plugin": {
275
- "optional": true
276
- },
277
237
  "h3": {
278
238
  "optional": true
279
239
  },
@@ -285,64 +245,63 @@
285
245
  },
286
246
  "pino": {
287
247
  "optional": true
248
+ },
249
+ "winston": {
250
+ "optional": true
288
251
  }
289
252
  },
290
- "overrides": {
291
- "@arethetypeswrong/cli": {
292
- "fflate": "0.8.2"
293
- }
253
+ "dependencies": {
254
+ "@opentelemetry/api-logs": "0.222.0",
255
+ "@opentelemetry/context-async-hooks": "2.11.0",
256
+ "@opentelemetry/core": "2.11.0",
257
+ "@opentelemetry/instrumentation-undici": "0.32.0",
258
+ "@opentelemetry/otlp-transformer": "0.222.0",
259
+ "@opentelemetry/resources": "2.11.0",
260
+ "@opentelemetry/sdk-logs": "0.222.0",
261
+ "@opentelemetry/sdk-metrics": "2.11.0",
262
+ "@opentelemetry/sdk-trace-base": "2.11.0",
263
+ "@opentelemetry/sdk-trace-node": "2.11.0",
264
+ "undici": "^6.27.0"
294
265
  },
295
266
  "devDependencies": {
296
- "@adonisjs/core": "^7.0.0",
297
- "@arethetypeswrong/cli": "^0.18.2",
298
- "@eslint/js": "^9.29.0",
299
- "@hapi/hapi": "^21.4.3",
300
- "@hono/zod-validator": "^0.9.0",
301
- "@koa/router": "^13.1.0",
302
- "@nestjs/common": "^11.0.0",
303
- "@nestjs/core": "^11.0.0",
304
- "@nestjs/platform-express": "^11.0.0",
305
- "@nestjs/platform-fastify": "^11.0.0",
306
- "@nestjs/testing": "^11.0.0",
307
- "@sentry/node": "^10.0.0",
308
- "@sinclair/typebox": "^0.34.41",
309
- "@swc/core": "^1.3.104",
310
- "@types/async-lock": "^1.4.2",
311
- "@types/express": "^5.0.3",
312
- "@types/koa": "^3.0.0",
313
- "@types/koa__router": "^12.0.4",
314
- "@types/koa-bodyparser": "^4.3.12",
315
- "@types/koa-route": "^3.2.8",
267
+ "@adonisjs/assembler": "^8.4.0",
268
+ "@adonisjs/core": "^7.3.5",
269
+ "@arethetypeswrong/cli": "^0.18.5",
270
+ "@biomejs/biome": "^2.5.4",
271
+ "@hapi/hapi": "^21.4.10",
272
+ "@koa/bodyparser": "^6.1.0",
273
+ "@koa/router": "^15.7.0",
274
+ "@nestjs/common": "^12.0.0",
275
+ "@nestjs/core": "^12.0.0",
276
+ "@nestjs/platform-express": "^12.0.0",
277
+ "@nestjs/platform-fastify": "^12.0.0",
278
+ "@opentelemetry/api": "^1.9.1",
279
+ "@poppinss/cliui": "^6.8.1",
280
+ "@sentry/node": "^10.67.0",
281
+ "@types/compression": "^1.8.1",
282
+ "@types/express": "^5.0.6",
283
+ "@types/koa": "^3.0.3",
284
+ "@types/koa-route": "^3.2.9",
316
285
  "@types/node": "^24.0.0",
317
- "@types/supertest": "^6.0.0",
318
- "@vinejs/vine": "^2.1.0 || ^3.0.1 || ^4.0.0",
319
- "@vitest/coverage-v8": "^3.0.0",
320
- "celebrate": "^15.0.3",
321
- "class-transformer": "^0.5.1",
322
- "class-validator": "^0.15.0",
323
- "copyfiles": "^2.4.1",
324
- "elysia": "^1.3.7",
286
+ "@types/supertest": "^7.2.1",
287
+ "@vitest/coverage-v8": "^5.0.0",
288
+ "compression": "^1.8.1",
289
+ "elysia": "^1.4.29",
325
290
  "esbuild-fix-imports-plugin": "^1.0.23",
326
- "eslint": "^9.0.0",
327
- "express": "^5.1.0",
328
- "express-validator": "^7.2.1",
329
- "fastify": "^5.0.0",
330
- "fastify-plugin": "^5.0.1",
331
- "globals": "^17.0.0",
332
- "h3": "2.0.1-rc.25",
333
- "hono": "^4.6.5",
334
- "koa": "^3.0.0",
335
- "koa-bodyparser": "^4.4.1",
336
- "koa-route": "^4.0.0",
337
- "nock": "^14.0.0",
338
- "pino-http": "^11.0.0",
339
- "prettier": "^3.1.0",
340
- "supertest": "^7.0.0",
341
- "tsup": "^8.1.0",
342
- "typescript": "^5.2.2",
343
- "typescript-eslint": "^8.34.0",
344
- "unplugin-swc": "^1.5.1",
345
- "vitest": "^3.0.0",
346
- "zod": "^3.23.8"
291
+ "express": "^5.2.1",
292
+ "fastify": "^5.11.0",
293
+ "h3": "2.0.1-rc.31",
294
+ "hono": "^4.12.31",
295
+ "knip": "^6.29.0",
296
+ "koa": "^3.2.1",
297
+ "koa-route": "^4.0.1",
298
+ "pino": "^10.3.1",
299
+ "reflect-metadata": "^0.2.2",
300
+ "rxjs": "^7.8.2",
301
+ "supertest": "^7.2.2",
302
+ "tsup": "^8.5.1",
303
+ "typescript": "^5.9.3",
304
+ "vitest": "^5.0.0",
305
+ "winston": "^3.19.0"
347
306
  }
348
307
  }
@@ -1,335 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
10
- var __export = (target, all) => {
11
- for (var name in all)
12
- __defProp(target, name, { get: all[name], enumerable: true });
13
- };
14
- var __copyProps = (to, from, except, desc) => {
15
- if (from && typeof from === "object" || typeof from === "function") {
16
- for (let key of __getOwnPropNames(from))
17
- if (!__hasOwnProp.call(to, key) && key !== except)
18
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
- }
20
- return to;
21
- };
22
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
- // If the importer is in node compatibility mode or this is not an ESM
24
- // file that has been converted to a CommonJS file using a Babel-
25
- // compatible transform (i.e. "__esModule" has not been set), then set
26
- // "default" to the CommonJS "module.exports" for node compatibility.
27
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
28
- mod
29
- ));
30
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
31
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
32
- var client_exports = {};
33
- __export(client_exports, {
34
- ApitallyClient: () => ApitallyClient
35
- });
36
- module.exports = __toCommonJS(client_exports);
37
- var import_fetch_retry = __toESM(require("fetch-retry"), 1);
38
- var import_node_crypto = require("node:crypto");
39
- var import_consumerRegistry = require('./consumerRegistry.cjs');
40
- var import_instance = require('./instance.cjs');
41
- var import_logging = require('./logging.cjs');
42
- var import_paramValidation = require('./paramValidation.cjs');
43
- var import_requestCounter = require('./requestCounter.cjs');
44
- var import_requestLogger = require('./requestLogger.cjs');
45
- var import_resources = require('./resources.cjs');
46
- var import_serverErrorCounter = require('./serverErrorCounter.cjs');
47
- var import_spanCollector = require('./spanCollector.cjs');
48
- var import_validationErrorCounter = require('./validationErrorCounter.cjs');
49
- var _a;
50
- const SYNC_INTERVAL = 6e4;
51
- const INITIAL_SYNC_INTERVAL = 1e4;
52
- const INITIAL_SYNC_INTERVAL_DURATION = 36e5;
53
- const MAX_QUEUE_TIME = 36e5;
54
- let HTTPError = (_a = class extends Error {
55
- response;
56
- constructor(response) {
57
- const reason = response.status ? `status code ${response.status}` : "an unknown error";
58
- super(`Request failed with ${reason}`);
59
- this.response = response;
60
- }
61
- }, __name(_a, "HTTPError"), _a);
62
- const _ApitallyClient = class _ApitallyClient {
63
- clientId;
64
- env;
65
- instanceUuid;
66
- syncDataQueue;
67
- syncIntervalId;
68
- startupData;
69
- startupDataSent = false;
70
- enabled = true;
71
- requestCounter;
72
- requestLogger;
73
- spanCollector;
74
- validationErrorCounter;
75
- serverErrorCounter;
76
- consumerRegistry;
77
- logger;
78
- constructor({ clientId, env = "dev", requestLogging, requestLoggingConfig, logger }) {
79
- if (_ApitallyClient.instance) {
80
- throw new Error("Apitally client is already initialized");
81
- }
82
- this.logger = logger ?? (0, import_logging.getLogger)();
83
- if (!(0, import_paramValidation.isValidClientId)(clientId)) {
84
- this.logger.error(`Invalid Apitally client ID '${clientId}' (expecting hexadecimal UUID format)`);
85
- this.enabled = false;
86
- }
87
- if (!(0, import_paramValidation.isValidEnv)(env)) {
88
- this.logger.error(`Invalid Apitally env '${env}' (expecting 1-32 alphanumeric characters and hyphens only)`);
89
- this.enabled = false;
90
- }
91
- if (requestLoggingConfig && !requestLogging) {
92
- console.warn("requestLoggingConfig is deprecated, use requestLogging instead.");
93
- }
94
- _ApitallyClient.instance = this;
95
- this.clientId = clientId;
96
- this.env = env;
97
- this.instanceUuid = (0, import_instance.getOrCreateInstanceUuid)(clientId, env);
98
- this.syncDataQueue = [];
99
- this.requestCounter = new import_requestCounter.RequestCounter();
100
- this.requestLogger = new import_requestLogger.RequestLogger(requestLogging ?? requestLoggingConfig);
101
- this.spanCollector = new import_spanCollector.SpanCollector(this.enabled && this.requestLogger.enabled && this.requestLogger.config.captureTraces);
102
- this.validationErrorCounter = new import_validationErrorCounter.ValidationErrorCounter();
103
- this.serverErrorCounter = new import_serverErrorCounter.ServerErrorCounter();
104
- this.consumerRegistry = new import_consumerRegistry.ConsumerRegistry();
105
- this.handleShutdown = this.handleShutdown.bind(this);
106
- }
107
- static getInstance() {
108
- if (!_ApitallyClient.instance) {
109
- throw new Error("Apitally client is not initialized");
110
- }
111
- return _ApitallyClient.instance;
112
- }
113
- isEnabled() {
114
- return this.enabled;
115
- }
116
- static async shutdown() {
117
- if (_ApitallyClient.instance) {
118
- await _ApitallyClient.instance.handleShutdown();
119
- }
120
- }
121
- async handleShutdown() {
122
- this.enabled = false;
123
- this.stopSync();
124
- await this.sendSyncData();
125
- await this.sendLogData();
126
- await this.spanCollector.shutdown();
127
- await this.requestLogger.close();
128
- _ApitallyClient.instance = void 0;
129
- }
130
- getHubUrlPrefix() {
131
- const baseURL = process.env.APITALLY_HUB_BASE_URL || "https://hub.apitally.io";
132
- const version = "v2";
133
- return `${baseURL}/${version}/${this.clientId}/${this.env}/`;
134
- }
135
- async sendData(url, payload) {
136
- const fetchWithRetry = (0, import_fetch_retry.default)(fetch, {
137
- retries: 3,
138
- retryDelay: 1e3,
139
- retryOn: [
140
- 408,
141
- 429,
142
- 500,
143
- 502,
144
- 503,
145
- 504
146
- ]
147
- });
148
- const response = await fetchWithRetry(this.getHubUrlPrefix() + url, {
149
- method: "POST",
150
- body: JSON.stringify(payload),
151
- headers: {
152
- "Content-Type": "application/json"
153
- }
154
- });
155
- if (!response.ok) {
156
- throw new HTTPError(response);
157
- }
158
- }
159
- startSync() {
160
- if (!this.enabled) {
161
- return;
162
- }
163
- this.sync();
164
- this.syncIntervalId = setInterval(() => {
165
- this.sync();
166
- }, INITIAL_SYNC_INTERVAL);
167
- setTimeout(() => {
168
- if (this.syncIntervalId) {
169
- clearInterval(this.syncIntervalId);
170
- this.syncIntervalId = setInterval(() => {
171
- this.sync();
172
- }, SYNC_INTERVAL);
173
- }
174
- }, INITIAL_SYNC_INTERVAL_DURATION);
175
- }
176
- async sync() {
177
- try {
178
- const promises = [
179
- this.sendSyncData(),
180
- this.sendLogData()
181
- ];
182
- if (!this.startupDataSent) {
183
- promises.push(this.sendStartupData());
184
- }
185
- await Promise.all(promises);
186
- } catch (error) {
187
- this.logger.error("Error while syncing with Apitally Hub", {
188
- error
189
- });
190
- }
191
- }
192
- stopSync() {
193
- if (this.syncIntervalId) {
194
- clearInterval(this.syncIntervalId);
195
- this.syncIntervalId = void 0;
196
- }
197
- }
198
- setStartupData(data) {
199
- this.startupData = data;
200
- this.startupDataSent = false;
201
- }
202
- async sendStartupData() {
203
- if (this.startupData) {
204
- this.logger.debug("Sending startup data to Apitally Hub");
205
- const payload = {
206
- instance_uuid: this.instanceUuid,
207
- message_uuid: (0, import_node_crypto.randomUUID)(),
208
- ...this.startupData
209
- };
210
- try {
211
- await this.sendData("startup", payload);
212
- this.startupDataSent = true;
213
- } catch (error) {
214
- const handled = this.handleHubError(error);
215
- if (!handled) {
216
- this.logger.error(error.message);
217
- this.logger.debug("Error while sending startup data to Apitally Hub (will retry)", {
218
- error
219
- });
220
- }
221
- }
222
- }
223
- }
224
- async sendSyncData() {
225
- this.logger.debug("Synchronizing data with Apitally Hub");
226
- const newPayload = {
227
- timestamp: Date.now() / 1e3,
228
- instance_uuid: this.instanceUuid,
229
- message_uuid: (0, import_node_crypto.randomUUID)(),
230
- requests: this.requestCounter.getAndResetRequests(),
231
- validation_errors: this.validationErrorCounter.getAndResetValidationErrors(),
232
- server_errors: this.serverErrorCounter.getAndResetServerErrors(),
233
- consumers: this.consumerRegistry.getAndResetUpdatedConsumers(),
234
- resources: (0, import_resources.getCpuMemoryUsage)()
235
- };
236
- this.syncDataQueue.push(newPayload);
237
- let i = 0;
238
- while (this.syncDataQueue.length > 0) {
239
- const payload = this.syncDataQueue.shift();
240
- if (payload) {
241
- try {
242
- if (Date.now() - payload.timestamp * 1e3 <= MAX_QUEUE_TIME) {
243
- if (i > 0) {
244
- await this.randomDelay();
245
- }
246
- await this.sendData("sync", payload);
247
- i += 1;
248
- }
249
- } catch (error) {
250
- const handled = this.handleHubError(error);
251
- if (!handled) {
252
- this.logger.debug("Error while synchronizing data with Apitally Hub (will retry)", {
253
- error
254
- });
255
- this.syncDataQueue.push(payload);
256
- break;
257
- }
258
- }
259
- }
260
- }
261
- }
262
- async sendLogData() {
263
- this.logger.debug("Sending request log data to Apitally Hub");
264
- await this.requestLogger.rotateFile();
265
- const fetchWithRetry = (0, import_fetch_retry.default)(fetch, {
266
- retries: 3,
267
- retryDelay: 1e3,
268
- retryOn: [
269
- 408,
270
- 429,
271
- 500,
272
- 502,
273
- 503,
274
- 504
275
- ]
276
- });
277
- let i = 0;
278
- let logFile;
279
- while (logFile = this.requestLogger.getFile()) {
280
- if (i > 0) {
281
- await this.randomDelay();
282
- }
283
- try {
284
- const response = await fetchWithRetry(`${this.getHubUrlPrefix()}log?uuid=${logFile.uuid}`, {
285
- method: "POST",
286
- body: await logFile.getContent()
287
- });
288
- if (response.status === 402 && response.headers.has("Retry-After")) {
289
- const retryAfter = parseInt(response.headers.get("Retry-After") ?? "0");
290
- if (retryAfter > 0) {
291
- this.requestLogger.suspendUntil = Date.now() + retryAfter * 1e3;
292
- this.requestLogger.clear();
293
- return;
294
- }
295
- }
296
- if (!response.ok) {
297
- throw new HTTPError(response);
298
- }
299
- logFile.delete();
300
- } catch (error) {
301
- this.requestLogger.retryFileLater(logFile);
302
- break;
303
- }
304
- i++;
305
- if (i >= 10) break;
306
- }
307
- }
308
- handleHubError(error) {
309
- if (error instanceof HTTPError) {
310
- if (error.response.status === 404) {
311
- this.logger.error(`Invalid Apitally client ID: '${this.clientId}'`);
312
- this.enabled = false;
313
- this.stopSync();
314
- return true;
315
- }
316
- if (error.response.status === 422) {
317
- this.logger.error("Received validation error from Apitally Hub");
318
- return true;
319
- }
320
- }
321
- return false;
322
- }
323
- async randomDelay() {
324
- const delay = 100 + Math.random() * 400;
325
- await new Promise((resolve) => setTimeout(resolve, delay));
326
- }
327
- };
328
- __name(_ApitallyClient, "ApitallyClient");
329
- __publicField(_ApitallyClient, "instance");
330
- let ApitallyClient = _ApitallyClient;
331
- // Annotate the CommonJS export names for ESM import in node:
332
- 0 && (module.exports = {
333
- ApitallyClient
334
- });
335
- //# sourceMappingURL=client.cjs.map