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
@@ -0,0 +1,40 @@
1
+ import {
2
+ context,
3
+ createContextKey
4
+ } from "@opentelemetry/api";
5
+ import { getRPCMetadata, RPCType } from "@opentelemetry/core";
6
+ const SPAN_HANDLE_KEY = createContextKey("apitally-span-handle");
7
+ const REQUEST_RECORD_KEY = createContextKey("apitally-request-record");
8
+ const CONSUMER_HOLDER_KEY = createContextKey("apitally-consumer-holder");
9
+ const RPC_REQUEST_RECORD_KEY = /* @__PURE__ */ Symbol.for("apitally.rpcRequestRecord");
10
+ function withRequestHolders(baseContext, spanHandle, record, consumerHolder) {
11
+ return baseContext.setValue(SPAN_HANDLE_KEY, spanHandle).setValue(REQUEST_RECORD_KEY, record).setValue(CONSUMER_HOLDER_KEY, consumerHolder);
12
+ }
13
+ function attachRequestRecordToRpcMetadata(rpcMetadata, record) {
14
+ if (rpcMetadata) {
15
+ rpcMetadata[RPC_REQUEST_RECORD_KEY] = record;
16
+ }
17
+ }
18
+ function getServerSpan(activeContext = context.active()) {
19
+ const spanHandle = activeContext.getValue(SPAN_HANDLE_KEY);
20
+ const rpcMetadata = getRPCMetadata(activeContext);
21
+ return spanHandle?.span ?? (rpcMetadata?.type === RPCType.HTTP && rpcMetadata[RPC_REQUEST_RECORD_KEY] ? rpcMetadata.span : void 0);
22
+ }
23
+ function getRequestRecord(activeContext = context.active()) {
24
+ const rpcMetadata = getRPCMetadata(activeContext);
25
+ return activeContext.getValue(REQUEST_RECORD_KEY) ?? rpcMetadata?.[RPC_REQUEST_RECORD_KEY];
26
+ }
27
+ function getConsumerHolder(activeContext = context.active()) {
28
+ return activeContext.getValue(CONSUMER_HOLDER_KEY);
29
+ }
30
+ export {
31
+ CONSUMER_HOLDER_KEY,
32
+ REQUEST_RECORD_KEY,
33
+ SPAN_HANDLE_KEY,
34
+ attachRequestRecordToRpcMetadata,
35
+ getConsumerHolder,
36
+ getRequestRecord,
37
+ getServerSpan,
38
+ withRequestHolders
39
+ };
40
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/context.ts"],"sourcesContent":["import {\n type Attributes,\n type Context,\n context,\n createContextKey,\n type Span,\n} from \"@opentelemetry/api\";\nimport { getRPCMetadata, type RPCMetadata, RPCType } from \"@opentelemetry/core\";\nimport type { ValidationErrorDetail } from \"./validationErrors.js\";\n\n// Write sites resolve the request's SERVER span through this handle: under a child\n// span, the active span is not the SERVER span, and OTel has no public upward walk.\nexport interface SpanHandle {\n span?: Span;\n // This set-once reference preserves lifecycle ownership if span later changes.\n ownSpan?: Span;\n}\n\nexport interface ConsumerHolder {\n identifier?: string;\n name?: string;\n group?: string;\n}\n\n// Requests dropped for these reasons are still counted in request metrics,\n// except preflight and websocket requests, which are never recorded.\nexport type RequestDropReason = \"excluded\" | \"method\" | \"scheme\" | \"sampled-out\";\n\n// Transport attributes are applied to exported spans last and used for metrics,\n// so transport values take precedence.\nexport interface RequestRecord {\n attributes: Attributes;\n serverSpanId?: string;\n // Transport-measured request duration, set at completion; the duration\n // histogram records it independent of span timing.\n durationSeconds?: number;\n dropReason?: RequestDropReason;\n // Error state for the validation and server error events; it exists\n // independently of the SERVER span and of the drop decision.\n exception?: unknown;\n validationErrors?: ValidationErrorDetail[];\n}\n\nexport const SPAN_HANDLE_KEY = createContextKey(\"apitally-span-handle\");\nexport const REQUEST_RECORD_KEY = createContextKey(\"apitally-request-record\");\nexport const CONSUMER_HOLDER_KEY = createContextKey(\"apitally-consumer-holder\");\n\nconst RPC_REQUEST_RECORD_KEY = Symbol.for(\"apitally.rpcRequestRecord\");\n\ntype RPCMetadataWithRequestRecord = RPCMetadata & {\n [RPC_REQUEST_RECORD_KEY]?: RequestRecord;\n};\n\n// Mutable holders carry changing request state because OTel contexts are immutable.\nexport function withRequestHolders(\n baseContext: Context,\n spanHandle: SpanHandle,\n record: RequestRecord,\n consumerHolder: ConsumerHolder,\n): Context {\n return baseContext\n .setValue(SPAN_HANDLE_KEY, spanHandle)\n .setValue(REQUEST_RECORD_KEY, record)\n .setValue(CONSUMER_HOLDER_KEY, consumerHolder);\n}\n\nexport function attachRequestRecordToRpcMetadata(\n rpcMetadata: RPCMetadata | undefined,\n record: RequestRecord,\n): void {\n if (rpcMetadata) {\n (rpcMetadata as RPCMetadataWithRequestRecord)[RPC_REQUEST_RECORD_KEY] = record;\n }\n}\n\nexport function getServerSpan(activeContext: Context = context.active()): Span | undefined {\n const spanHandle = activeContext.getValue(SPAN_HANDLE_KEY) as SpanHandle | undefined;\n const rpcMetadata = getRPCMetadata(activeContext) as RPCMetadataWithRequestRecord | undefined;\n return (\n spanHandle?.span ??\n (rpcMetadata?.type === RPCType.HTTP && rpcMetadata[RPC_REQUEST_RECORD_KEY]\n ? rpcMetadata.span\n : undefined)\n );\n}\n\nexport function getRequestRecord(\n activeContext: Context = context.active(),\n): RequestRecord | undefined {\n const rpcMetadata = getRPCMetadata(activeContext) as RPCMetadataWithRequestRecord | undefined;\n return (\n (activeContext.getValue(REQUEST_RECORD_KEY) as RequestRecord | undefined) ??\n rpcMetadata?.[RPC_REQUEST_RECORD_KEY]\n );\n}\n\nexport function getConsumerHolder(\n activeContext: Context = context.active(),\n): ConsumerHolder | undefined {\n return activeContext.getValue(CONSUMER_HOLDER_KEY) as ConsumerHolder | undefined;\n}\n"],"mappings":"AAAA;AAAA,EAGE;AAAA,EACA;AAAA,OAEK;AACP,SAAS,gBAAkC,eAAe;AAoCnD,MAAM,kBAAkB,iBAAiB,sBAAsB;AAC/D,MAAM,qBAAqB,iBAAiB,yBAAyB;AACrE,MAAM,sBAAsB,iBAAiB,0BAA0B;AAE9E,MAAM,yBAAyB,uBAAO,IAAI,2BAA2B;AAO9D,SAAS,mBACd,aACA,YACA,QACA,gBACS;AACT,SAAO,YACJ,SAAS,iBAAiB,UAAU,EACpC,SAAS,oBAAoB,MAAM,EACnC,SAAS,qBAAqB,cAAc;AACjD;AAEO,SAAS,iCACd,aACA,QACM;AACN,MAAI,aAAa;AACf,IAAC,YAA6C,sBAAsB,IAAI;AAAA,EAC1E;AACF;AAEO,SAAS,cAAc,gBAAyB,QAAQ,OAAO,GAAqB;AACzF,QAAM,aAAa,cAAc,SAAS,eAAe;AACzD,QAAM,cAAc,eAAe,aAAa;AAChD,SACE,YAAY,SACX,aAAa,SAAS,QAAQ,QAAQ,YAAY,sBAAsB,IACrE,YAAY,OACZ;AAER;AAEO,SAAS,iBACd,gBAAyB,QAAQ,OAAO,GACb;AAC3B,QAAM,cAAc,eAAe,aAAa;AAChD,SACG,cAAc,SAAS,kBAAkB,KAC1C,cAAc,sBAAsB;AAExC;AAEO,SAAS,kBACd,gBAAyB,QAAQ,OAAO,GACZ;AAC5B,SAAO,cAAc,SAAS,mBAAmB;AACnD;","names":[]}
@@ -18,12 +18,21 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var elysia_exports = {};
20
20
  __export(elysia_exports, {
21
- apitallyPlugin: () => import_plugin.apitallyPlugin
21
+ apitallyPlugin: () => apitallyPlugin,
22
+ useApitally: () => useApitally
22
23
  });
23
24
  module.exports = __toCommonJS(elysia_exports);
24
- var import_plugin = require('./plugin.cjs');
25
+ var import_elysia = require("elysia");
26
+ var import_middleware = require('./middleware.cjs');
27
+ function apitallyPlugin(options) {
28
+ return (0, import_middleware.createElysiaPlugin)(import_elysia.Elysia, options);
29
+ }
30
+ function useApitally(app, options) {
31
+ (0, import_middleware.installElysiaIntegration)(app, options);
32
+ }
25
33
  // Annotate the CommonJS export names for ESM import in node:
26
34
  0 && (module.exports = {
27
- apitallyPlugin
35
+ apitallyPlugin,
36
+ useApitally
28
37
  });
29
38
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/elysia/index.ts"],"sourcesContent":["export type { ApitallyConfig, ApitallyConsumer } from \"../common/types.js\";\nexport { apitallyPlugin } from \"./plugin.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;AACA;;;;;oBAA+B;","names":[]}
1
+ {"version":3,"sources":["../../src/elysia/index.ts"],"sourcesContent":["import { type AnyElysia, Elysia } from \"elysia\";\nimport type { ApitallyOptions } from \"../config.js\";\nimport { createElysiaPlugin, installElysiaIntegration } from \"./middleware.js\";\n\nexport type { ApitallyOptions };\n\nexport function apitallyPlugin(options?: ApitallyOptions): Elysia {\n return createElysiaPlugin(Elysia, options) as Elysia;\n}\n\n// Setup stays synchronous; activation begins on the first request.\nexport function useApitally(app: AnyElysia, options?: ApitallyOptions): void {\n installElysiaIntegration(app, options);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAuC;AAEvC,wBAA6D;AAItD,SAAS,eAAe,SAAmC;AAChE,aAAO,sCAAmB,sBAAQ,OAAO;AAC3C;AAGO,SAAS,YAAY,KAAgB,SAAiC;AAC3E,kDAAyB,KAAK,OAAO;AACvC;","names":[]}
@@ -1,17 +1,9 @@
1
- export { ApitallyConfig, ApitallyConsumer } from '../common/types.cjs';
2
- export { apitallyPlugin } from './plugin.cjs';
3
- import '../common/logging.cjs';
4
- import 'winston';
5
- import '../common/requestLogger.cjs';
6
- import 'node:buffer';
7
- import 'node:http';
8
- import '../common/spanCollector.cjs';
1
+ import { Elysia, AnyElysia } from 'elysia';
2
+ import { ApitallyOptions } from '../config.cjs';
3
+ import '@opentelemetry/sdk-logs';
9
4
  import '@opentelemetry/sdk-trace-base';
10
- import '../common/tempGzipFile.cjs';
11
- import 'elysia';
12
- import '../common/client.cjs';
13
- import '../common/consumerRegistry.cjs';
14
- import '../common/requestCounter.cjs';
15
- import '../common/serverErrorCounter.cjs';
16
- import '../common/validationErrorCounter.cjs';
17
- import '../common/response.cjs';
5
+
6
+ declare function apitallyPlugin(options?: ApitallyOptions): Elysia;
7
+ declare function useApitally(app: AnyElysia, options?: ApitallyOptions): void;
8
+
9
+ export { ApitallyOptions, apitallyPlugin, useApitally };
@@ -1,17 +1,9 @@
1
- export { ApitallyConfig, ApitallyConsumer } from '../common/types.js';
2
- export { apitallyPlugin } from './plugin.js';
3
- import '../common/logging.js';
4
- import 'winston';
5
- import '../common/requestLogger.js';
6
- import 'node:buffer';
7
- import 'node:http';
8
- import '../common/spanCollector.js';
1
+ import { Elysia, AnyElysia } from 'elysia';
2
+ import { ApitallyOptions } from '../config.js';
3
+ import '@opentelemetry/sdk-logs';
9
4
  import '@opentelemetry/sdk-trace-base';
10
- import '../common/tempGzipFile.js';
11
- import 'elysia';
12
- import '../common/client.js';
13
- import '../common/consumerRegistry.js';
14
- import '../common/requestCounter.js';
15
- import '../common/serverErrorCounter.js';
16
- import '../common/validationErrorCounter.js';
17
- import '../common/response.js';
5
+
6
+ declare function apitallyPlugin(options?: ApitallyOptions): Elysia;
7
+ declare function useApitally(app: AnyElysia, options?: ApitallyOptions): void;
8
+
9
+ export { ApitallyOptions, apitallyPlugin, useApitally };
@@ -1,5 +1,13 @@
1
- import { apitallyPlugin } from "./plugin.js";
1
+ import { Elysia } from "elysia";
2
+ import { createElysiaPlugin, installElysiaIntegration } from "./middleware.js";
3
+ function apitallyPlugin(options) {
4
+ return createElysiaPlugin(Elysia, options);
5
+ }
6
+ function useApitally(app, options) {
7
+ installElysiaIntegration(app, options);
8
+ }
2
9
  export {
3
- apitallyPlugin
10
+ apitallyPlugin,
11
+ useApitally
4
12
  };
5
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/elysia/index.ts"],"sourcesContent":["export type { ApitallyConfig, ApitallyConsumer } from \"../common/types.js\";\nexport { apitallyPlugin } from \"./plugin.js\";\n"],"mappings":"AACA,SAASA,sBAAsB;","names":["apitallyPlugin"]}
1
+ {"version":3,"sources":["../../src/elysia/index.ts"],"sourcesContent":["import { type AnyElysia, Elysia } from \"elysia\";\nimport type { ApitallyOptions } from \"../config.js\";\nimport { createElysiaPlugin, installElysiaIntegration } from \"./middleware.js\";\n\nexport type { ApitallyOptions };\n\nexport function apitallyPlugin(options?: ApitallyOptions): Elysia {\n return createElysiaPlugin(Elysia, options) as Elysia;\n}\n\n// Setup stays synchronous; activation begins on the first request.\nexport function useApitally(app: AnyElysia, options?: ApitallyOptions): void {\n installElysiaIntegration(app, options);\n}\n"],"mappings":"AAAA,SAAyB,cAAc;AAEvC,SAAS,oBAAoB,gCAAgC;AAItD,SAAS,eAAe,SAAmC;AAChE,SAAO,mBAAmB,QAAQ,OAAO;AAC3C;AAGO,SAAS,YAAY,KAAgB,SAAiC;AAC3E,2BAAyB,KAAK,OAAO;AACvC;","names":[]}
@@ -0,0 +1,261 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var middleware_exports = {};
20
+ __export(middleware_exports, {
21
+ createElysiaPlugin: () => createElysiaPlugin,
22
+ installElysiaIntegration: () => installElysiaIntegration
23
+ });
24
+ module.exports = __toCommonJS(middleware_exports);
25
+ var import_api = require("@opentelemetry/api");
26
+ var import_activation = require('../activation.cjs');
27
+ var import_config = require('../config.cjs');
28
+ var import_exceptions = require('../exceptions.cjs');
29
+ var import_logger = require('../logger.cjs');
30
+ var import_packageVersion = require('../packageVersion.cjs');
31
+ var import_requestObservation = require('../requestObservation.cjs');
32
+ var import_requestObservationWeb = require('../requestObservationWeb.cjs');
33
+ var import_validationErrors = require('../validationErrors.cjs');
34
+ var import_routes = require('./routes.cjs');
35
+ const INSTALL_MARKER = /* @__PURE__ */ Symbol.for("apitally.elysiaInstall");
36
+ const PLUGIN_NAME = "apitally";
37
+ const TRACER_NAME = "apitally.elysia";
38
+ function createElysiaPlugin(ElysiaClass, options) {
39
+ (0, import_activation.configure)(options);
40
+ let app;
41
+ (0, import_activation.registerStartupEventInfo)({
42
+ framework: "elysia",
43
+ frameworkVersion: (0, import_packageVersion.resolvePackageVersion)("elysia"),
44
+ resolvePaths: () => app ? (0, import_routes.resolveStartupPaths)(app) : []
45
+ });
46
+ return buildElysiaPlugin(ElysiaClass, (startedApp) => {
47
+ app = startedApp;
48
+ });
49
+ }
50
+ function installElysiaIntegration(app, options) {
51
+ (0, import_activation.configure)(options);
52
+ const markedApp = app;
53
+ if (markedApp[INSTALL_MARKER] === true) {
54
+ return;
55
+ }
56
+ if (app.routes.length > 0) {
57
+ (0, import_logger.logWarning)(
58
+ "useApitally() was called after routes were registered on the Elysia app, so Apitally was not installed. To resolve this, call useApitally() immediately after creating the app, before registering routes or plugins that contain routes."
59
+ );
60
+ return;
61
+ }
62
+ markedApp[INSTALL_MARKER] = true;
63
+ (0, import_activation.registerStartupEventInfo)({
64
+ framework: "elysia",
65
+ frameworkVersion: (0, import_packageVersion.resolvePackageVersion)("elysia"),
66
+ resolvePaths: () => (0, import_routes.resolveStartupPaths)(app)
67
+ });
68
+ const ElysiaClass = app.constructor;
69
+ app.use(buildElysiaPlugin(ElysiaClass));
70
+ }
71
+ function buildElysiaPlugin(ElysiaClass, recordStartedApp) {
72
+ const observations = /* @__PURE__ */ new WeakMap();
73
+ const plugin = new ElysiaClass({ name: PLUGIN_NAME });
74
+ let startedApp;
75
+ plugin.wrap(
76
+ ((dispatcher, request) => function(...args) {
77
+ let observation;
78
+ try {
79
+ (0, import_activation.activate)();
80
+ if (!(0, import_activation.isActivated)() || (0, import_requestObservationWeb.isWebSocketUpgrade)(request)) {
81
+ return dispatcher.apply(this, args);
82
+ }
83
+ const started = (0, import_requestObservationWeb.startWebRequestObservation)({
84
+ request,
85
+ tracerName: TRACER_NAME,
86
+ clientAddress: startedApp?.server?.requestIP(request)?.address
87
+ });
88
+ observation = {
89
+ ...started.observation,
90
+ requestContext: started.requestContext,
91
+ requestBodyCompletion: (0, import_requestObservationWeb.captureWebRequestBody)(
92
+ request,
93
+ started.observation.requestBodyCapture
94
+ )
95
+ };
96
+ observations.set(request, observation);
97
+ } catch (error) {
98
+ (0, import_logger.logWarning)(`Error in the Apitally Elysia middleware: ${String(error)}`);
99
+ return dispatcher.apply(this, args);
100
+ }
101
+ let result;
102
+ try {
103
+ result = import_api.context.with(observation.requestContext, () => dispatcher.apply(this, args));
104
+ } catch (error) {
105
+ finalizeFailedRequestObservation(observations, request, error);
106
+ throw error;
107
+ }
108
+ if (typeof result?.then === "function") {
109
+ return Promise.resolve(result).then(
110
+ (response) => observeResponse(observations, request, response),
111
+ (error) => {
112
+ finalizeFailedRequestObservation(observations, request, error);
113
+ throw error;
114
+ }
115
+ );
116
+ }
117
+ return observeResponse(observations, request, result);
118
+ })
119
+ );
120
+ plugin.onStart((app) => {
121
+ startedApp = app;
122
+ recordStartedApp?.(app);
123
+ if (app.config.aot === false) {
124
+ (0, import_logger.logWarning)(
125
+ "Apitally does not observe requests on an Elysia app with aot: false. To resolve this, remove the aot: false option."
126
+ );
127
+ }
128
+ });
129
+ plugin.onTransform({ as: "global" }, ({ request, route }) => {
130
+ try {
131
+ const observation = observations.get(request);
132
+ if (observation && typeof route === "string" && route.length > 0) {
133
+ observation.route = route;
134
+ }
135
+ } catch (error) {
136
+ (0, import_logger.logDebug)(`Error recording the matched Elysia route: ${String(error)}`);
137
+ }
138
+ });
139
+ plugin.onError({ as: "global" }, ({ request, route, error }) => {
140
+ try {
141
+ const observation = observations.get(request);
142
+ if (!observation) {
143
+ return;
144
+ }
145
+ if (typeof route === "string" && route.length > 0) {
146
+ observation.route = route;
147
+ }
148
+ observation.error = error;
149
+ const { code, all, type } = error;
150
+ if (code === "VALIDATION") {
151
+ observation.requestRecord.validationErrors = (0, import_validationErrors.formatIssues)(all, (0, import_validationErrors.normalizeSource)(type));
152
+ }
153
+ } catch (hookError) {
154
+ (0, import_logger.logDebug)(`Error recording an Elysia error: ${String(hookError)}`);
155
+ }
156
+ });
157
+ plugin.onStop(() => {
158
+ (0, import_activation.flushTelemetry)().catch((error) => {
159
+ (0, import_logger.logWarning)(`Error flushing Apitally telemetry: ${String(error)}`);
160
+ });
161
+ });
162
+ return plugin;
163
+ }
164
+ function observeResponse(observations, request, response) {
165
+ const observation = observations.get(request);
166
+ if (!observation) {
167
+ return response;
168
+ }
169
+ observations.delete(request);
170
+ const statusCode = response.status;
171
+ if (observation.route === void 0 && statusCode !== 404) {
172
+ (0, import_logger.logWarning)(
173
+ "A request matched a route registered before the Apitally plugin was applied, so it is exported without a route template and is not counted in the request metrics. To resolve this, apply the Apitally plugin immediately after creating the app, before registering routes."
174
+ );
175
+ }
176
+ let responseHeaders = response.headers;
177
+ try {
178
+ responseHeaders = new Headers(response.headers);
179
+ const shouldAddContentType = shouldAddBunErrorContentType(observation, responseHeaders);
180
+ if (shouldAddContentType) {
181
+ responseHeaders.set("content-type", "text/plain;charset=utf-8");
182
+ }
183
+ if (observation.error !== void 0 && statusCode >= 500) {
184
+ import_api.context.with(observation.requestContext, () => (0, import_exceptions.captureException)(observation.error));
185
+ }
186
+ const captured = (0, import_requestObservationWeb.captureWebResponse)(
187
+ response,
188
+ (0, import_config.getConfig)().captureResponseBody && observation.requestRecord.dropReason === void 0
189
+ );
190
+ captured.completion.then(async (completion) => {
191
+ await observation.requestBodyCompletion;
192
+ (0, import_requestObservation.finalizeRequestObservation)({
193
+ observation,
194
+ completedAtMillis: completion.completedAtMillis,
195
+ statusCode,
196
+ route: observation.route,
197
+ requestHeaders: observation.requestHeaders,
198
+ responseHeaders,
199
+ capturedRequestBody: observation.requestBodyCapture,
200
+ capturedResponseBody: completion
201
+ });
202
+ }).catch((error) => {
203
+ (0, import_logger.logWarning)(`Error in the Apitally Elysia middleware: ${String(error)}`);
204
+ });
205
+ if (!shouldAddContentType) {
206
+ return captured.response;
207
+ }
208
+ return new Response(captured.response.body, {
209
+ status: captured.response.status,
210
+ statusText: captured.response.statusText,
211
+ headers: responseHeaders
212
+ });
213
+ } catch (error) {
214
+ const completedAtMillis = performance.now();
215
+ (0, import_logger.logWarning)(`Error in the Apitally Elysia middleware: ${String(error)}`);
216
+ observation.requestBodyCompletion.then(
217
+ () => (0, import_requestObservation.finalizeRequestObservation)({
218
+ observation,
219
+ completedAtMillis,
220
+ statusCode,
221
+ route: observation.route,
222
+ requestHeaders: observation.requestHeaders,
223
+ responseHeaders,
224
+ capturedRequestBody: observation.requestBodyCapture
225
+ })
226
+ ).catch((completionError) => {
227
+ (0, import_logger.logWarning)(`Error in the Apitally Elysia middleware: ${String(completionError)}`);
228
+ });
229
+ return response;
230
+ }
231
+ }
232
+ function shouldAddBunErrorContentType(observation, responseHeaders) {
233
+ if (typeof process.versions.bun !== "string" || responseHeaders.has("content-type")) {
234
+ return false;
235
+ }
236
+ const errorCode = observation.error?.code;
237
+ return errorCode === "NOT_FOUND" || errorCode === "VALIDATION";
238
+ }
239
+ function finalizeFailedRequestObservation(observations, request, error) {
240
+ const observation = observations.get(request);
241
+ if (!observation) {
242
+ return;
243
+ }
244
+ observations.delete(request);
245
+ try {
246
+ (0, import_requestObservation.finalizeRequestObservationWithError)({
247
+ requestRecord: observation.requestRecord,
248
+ spanHandle: observation.spanHandle,
249
+ error,
250
+ durationSeconds: (performance.now() - observation.startTimeMillis) / 1e3
251
+ });
252
+ } catch (finalizeError) {
253
+ (0, import_logger.logWarning)(`Error in the Apitally Elysia middleware: ${String(finalizeError)}`);
254
+ }
255
+ }
256
+ // Annotate the CommonJS export names for ESM import in node:
257
+ 0 && (module.exports = {
258
+ createElysiaPlugin,
259
+ installElysiaIntegration
260
+ });
261
+ //# sourceMappingURL=middleware.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/elysia/middleware.ts"],"sourcesContent":["import { type Context, context } from \"@opentelemetry/api\";\nimport type { AnyElysia } from \"elysia\";\nimport {\n activate,\n configure,\n flushTelemetry,\n isActivated,\n registerStartupEventInfo,\n} from \"../activation.js\";\nimport type { ApitallyOptions } from \"../config.js\";\nimport { getConfig } from \"../config.js\";\nimport { captureException } from \"../exceptions.js\";\nimport { logDebug, logWarning } from \"../logger.js\";\nimport { resolvePackageVersion } from \"../packageVersion.js\";\nimport {\n finalizeRequestObservation,\n finalizeRequestObservationWithError,\n} from \"../requestObservation.js\";\nimport {\n captureWebRequestBody,\n captureWebResponse,\n isWebSocketUpgrade,\n startWebRequestObservation,\n type WebRequestObservation,\n} from \"../requestObservationWeb.js\";\nimport { formatIssues, normalizeSource } from \"../validationErrors.js\";\nimport { resolveStartupPaths } from \"./routes.js\";\n\nconst INSTALL_MARKER = Symbol.for(\"apitally.elysiaInstall\");\nconst PLUGIN_NAME = \"apitally\";\nconst TRACER_NAME = \"apitally.elysia\";\n\ninterface ElysiaConstructor {\n new (config?: { name?: string }): AnyElysia;\n}\n\ntype ElysiaDispatcher = (this: unknown, ...args: unknown[]) => Response | Promise<Response>;\ntype ElysiaWrap = Parameters<AnyElysia[\"wrap\"]>[0];\n\ninterface ElysiaRequestObservation extends WebRequestObservation {\n requestContext: Context;\n requestBodyCompletion: Promise<void>;\n route?: string;\n error?: unknown;\n}\n\nexport function createElysiaPlugin(\n ElysiaClass: ElysiaConstructor,\n options?: ApitallyOptions,\n): AnyElysia {\n configure(options);\n let app: AnyElysia | undefined;\n registerStartupEventInfo({\n framework: \"elysia\",\n frameworkVersion: resolvePackageVersion(\"elysia\"),\n resolvePaths: () => (app ? resolveStartupPaths(app) : []),\n });\n return buildElysiaPlugin(ElysiaClass, (startedApp) => {\n app = startedApp;\n });\n}\n\nexport function installElysiaIntegration(app: AnyElysia, options?: ApitallyOptions): void {\n configure(options);\n const markedApp = app as unknown as Record<symbol, boolean | undefined>;\n if (markedApp[INSTALL_MARKER] === true) {\n return;\n }\n if (app.routes.length > 0) {\n logWarning(\n \"useApitally() was called after routes were registered on the Elysia app, so Apitally was not installed. To resolve this, call useApitally() immediately after creating the app, before registering routes or plugins that contain routes.\",\n );\n return;\n }\n markedApp[INSTALL_MARKER] = true;\n registerStartupEventInfo({\n framework: \"elysia\",\n frameworkVersion: resolvePackageVersion(\"elysia\"),\n resolvePaths: () => resolveStartupPaths(app),\n });\n const ElysiaClass = app.constructor as ElysiaConstructor;\n app.use(buildElysiaPlugin(ElysiaClass));\n}\n\nfunction buildElysiaPlugin(\n ElysiaClass: ElysiaConstructor,\n recordStartedApp?: (app: AnyElysia) => void,\n): AnyElysia {\n const observations = new WeakMap<Request, ElysiaRequestObservation>();\n const plugin = new ElysiaClass({ name: PLUGIN_NAME });\n let startedApp: AnyElysia | undefined;\n\n plugin.wrap(\n ((dispatcher: ElysiaDispatcher, request: Request) =>\n function (this: unknown, ...args: unknown[]): Response | Promise<Response> {\n let observation: ElysiaRequestObservation;\n try {\n activate();\n if (!isActivated() || isWebSocketUpgrade(request)) {\n return dispatcher.apply(this, args);\n }\n const started = startWebRequestObservation({\n request,\n tracerName: TRACER_NAME,\n clientAddress: startedApp?.server?.requestIP(request)?.address,\n });\n observation = {\n ...started.observation,\n requestContext: started.requestContext,\n requestBodyCompletion: captureWebRequestBody(\n request,\n started.observation.requestBodyCapture,\n ),\n };\n observations.set(request, observation);\n } catch (error) {\n logWarning(`Error in the Apitally Elysia middleware: ${String(error)}`);\n return dispatcher.apply(this, args);\n }\n\n let result: Response | Promise<Response>;\n try {\n result = context.with(observation.requestContext, () => dispatcher.apply(this, args));\n } catch (error) {\n finalizeFailedRequestObservation(observations, request, error);\n throw error;\n }\n if (typeof (result as PromiseLike<Response>)?.then === \"function\") {\n return Promise.resolve(result).then(\n (response) => observeResponse(observations, request, response),\n (error: unknown) => {\n finalizeFailedRequestObservation(observations, request, error);\n throw error;\n },\n );\n }\n return observeResponse(observations, request, result as Response);\n }) as unknown as ElysiaWrap,\n );\n\n plugin.onStart((app) => {\n startedApp = app;\n recordStartedApp?.(app);\n // Elysia's dynamic handler for aot: false never applies plugin wrap() functions.\n if (app.config.aot === false) {\n logWarning(\n \"Apitally does not observe requests on an Elysia app with aot: false. To resolve this, remove the aot: false option.\",\n );\n }\n });\n plugin.onTransform({ as: \"global\" }, ({ request, route }) => {\n try {\n const observation = observations.get(request);\n if (observation && typeof route === \"string\" && route.length > 0) {\n observation.route = route;\n }\n } catch (error) {\n logDebug(`Error recording the matched Elysia route: ${String(error)}`);\n }\n });\n plugin.onError({ as: \"global\" }, ({ request, route, error }) => {\n try {\n const observation = observations.get(request);\n if (!observation) {\n return;\n }\n if (typeof route === \"string\" && route.length > 0) {\n observation.route = route;\n }\n observation.error = error;\n const { code, all, type } = error as { code?: unknown; all?: unknown; type?: unknown };\n if (code === \"VALIDATION\") {\n observation.requestRecord.validationErrors = formatIssues(all, normalizeSource(type));\n }\n } catch (hookError) {\n logDebug(`Error recording an Elysia error: ${String(hookError)}`);\n }\n });\n plugin.onStop(() => {\n flushTelemetry().catch((error: unknown) => {\n logWarning(`Error flushing Apitally telemetry: ${String(error)}`);\n });\n });\n\n return plugin;\n}\n\nfunction observeResponse(\n observations: WeakMap<Request, ElysiaRequestObservation>,\n request: Request,\n response: Response,\n): Response {\n const observation = observations.get(request);\n if (!observation) {\n return response;\n }\n observations.delete(request);\n const statusCode = response.status;\n // A non-404 response without a recorded route matched a route registered\n // before the plugin was applied; the plugin cannot detect this at setup.\n if (observation.route === undefined && statusCode !== 404) {\n logWarning(\n \"A request matched a route registered before the Apitally plugin was applied, so it is exported without a route template and is not counted in the request metrics. To resolve this, apply the Apitally plugin immediately after creating the app, before registering routes.\",\n );\n }\n let responseHeaders = response.headers;\n try {\n responseHeaders = new Headers(response.headers);\n const shouldAddContentType = shouldAddBunErrorContentType(observation, responseHeaders);\n if (shouldAddContentType) {\n responseHeaders.set(\"content-type\", \"text/plain;charset=utf-8\");\n }\n if (observation.error !== undefined && statusCode >= 500) {\n context.with(observation.requestContext, () => captureException(observation.error));\n }\n const captured = captureWebResponse(\n response,\n getConfig().captureResponseBody && observation.requestRecord.dropReason === undefined,\n );\n captured.completion\n .then(async (completion) => {\n await observation.requestBodyCompletion;\n finalizeRequestObservation({\n observation,\n completedAtMillis: completion.completedAtMillis,\n statusCode,\n route: observation.route,\n requestHeaders: observation.requestHeaders,\n responseHeaders,\n capturedRequestBody: observation.requestBodyCapture,\n capturedResponseBody: completion,\n });\n })\n .catch((error: unknown) => {\n logWarning(`Error in the Apitally Elysia middleware: ${String(error)}`);\n });\n if (!shouldAddContentType) {\n return captured.response;\n }\n // Bun adds this header after .wrap(); retain it when replacing the body stream.\n return new Response(captured.response.body, {\n status: captured.response.status,\n statusText: captured.response.statusText,\n headers: responseHeaders,\n });\n } catch (error) {\n const completedAtMillis = performance.now();\n logWarning(`Error in the Apitally Elysia middleware: ${String(error)}`);\n observation.requestBodyCompletion\n .then(() =>\n finalizeRequestObservation({\n observation,\n completedAtMillis,\n statusCode,\n route: observation.route,\n requestHeaders: observation.requestHeaders,\n responseHeaders,\n capturedRequestBody: observation.requestBodyCapture,\n }),\n )\n .catch((completionError: unknown) => {\n logWarning(`Error in the Apitally Elysia middleware: ${String(completionError)}`);\n });\n return response;\n }\n}\n\nfunction shouldAddBunErrorContentType(\n observation: ElysiaRequestObservation,\n responseHeaders: Headers,\n): boolean {\n if (\n typeof (process.versions as { bun?: unknown }).bun !== \"string\" ||\n responseHeaders.has(\"content-type\")\n ) {\n return false;\n }\n const errorCode = (observation.error as { code?: unknown } | undefined)?.code;\n return errorCode === \"NOT_FOUND\" || errorCode === \"VALIDATION\";\n}\n\nfunction finalizeFailedRequestObservation(\n observations: WeakMap<Request, ElysiaRequestObservation>,\n request: Request,\n error: unknown,\n): void {\n const observation = observations.get(request);\n if (!observation) {\n return;\n }\n observations.delete(request);\n try {\n finalizeRequestObservationWithError({\n requestRecord: observation.requestRecord,\n spanHandle: observation.spanHandle,\n error,\n durationSeconds: (performance.now() - observation.startTimeMillis) / 1000,\n });\n } catch (finalizeError) {\n logWarning(`Error in the Apitally Elysia middleware: ${String(finalizeError)}`);\n }\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,14 @@
1
+ import { AnyElysia } from 'elysia';
2
+ import { ApitallyOptions } from '../config.cjs';
3
+ import '@opentelemetry/sdk-logs';
4
+ import '@opentelemetry/sdk-trace-base';
5
+
6
+ interface ElysiaConstructor {
7
+ new (config?: {
8
+ name?: string;
9
+ }): AnyElysia;
10
+ }
11
+ declare function createElysiaPlugin(ElysiaClass: ElysiaConstructor, options?: ApitallyOptions): AnyElysia;
12
+ declare function installElysiaIntegration(app: AnyElysia, options?: ApitallyOptions): void;
13
+
14
+ export { createElysiaPlugin, installElysiaIntegration };
@@ -0,0 +1,14 @@
1
+ import { AnyElysia } from 'elysia';
2
+ import { ApitallyOptions } from '../config.js';
3
+ import '@opentelemetry/sdk-logs';
4
+ import '@opentelemetry/sdk-trace-base';
5
+
6
+ interface ElysiaConstructor {
7
+ new (config?: {
8
+ name?: string;
9
+ }): AnyElysia;
10
+ }
11
+ declare function createElysiaPlugin(ElysiaClass: ElysiaConstructor, options?: ApitallyOptions): AnyElysia;
12
+ declare function installElysiaIntegration(app: AnyElysia, options?: ApitallyOptions): void;
13
+
14
+ export { createElysiaPlugin, installElysiaIntegration };