@multiplayer-app/session-recorder-common 1.0.0 → 1.0.1-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/dist/esm/SessionRecorderIdGenerator.js +1 -1
  2. package/dist/esm/SessionRecorderIdGenerator.js.map +1 -1
  3. package/dist/esm/SessionRecorderJsonTraceSerializer.d.ts.map +1 -1
  4. package/dist/esm/SessionRecorderJsonTraceSerializer.js +75 -7
  5. package/dist/esm/SessionRecorderJsonTraceSerializer.js.map +1 -1
  6. package/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js +1 -1
  7. package/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js.map +1 -1
  8. package/dist/esm/{constants.base.d.ts → constants/constants.base.d.ts} +14 -0
  9. package/dist/esm/constants/constants.base.d.ts.map +1 -0
  10. package/dist/esm/{constants.base.js → constants/constants.base.js} +14 -0
  11. package/dist/esm/constants/constants.base.js.map +1 -0
  12. package/dist/esm/constants/constants.browser.d.ts.map +1 -0
  13. package/dist/esm/constants/constants.browser.js.map +1 -0
  14. package/dist/esm/constants/constants.node.d.ts.map +1 -0
  15. package/dist/esm/constants/constants.node.js.map +1 -0
  16. package/dist/esm/exporters/SessionRecorderBrowserTraceExporter.d.ts +31 -0
  17. package/dist/esm/exporters/SessionRecorderBrowserTraceExporter.d.ts.map +1 -0
  18. package/dist/esm/exporters/SessionRecorderBrowserTraceExporter.js +220 -0
  19. package/dist/esm/exporters/SessionRecorderBrowserTraceExporter.js.map +1 -0
  20. package/dist/esm/exporters/SessionRecorderGrpcLogsExporter.d.ts +22 -0
  21. package/dist/esm/exporters/SessionRecorderGrpcLogsExporter.d.ts.map +1 -0
  22. package/dist/esm/exporters/SessionRecorderGrpcLogsExporter.js +51 -0
  23. package/dist/esm/exporters/SessionRecorderGrpcLogsExporter.js.map +1 -0
  24. package/dist/esm/exporters/SessionRecorderGrpcTraceExporter.d.ts +22 -0
  25. package/dist/esm/exporters/SessionRecorderGrpcTraceExporter.d.ts.map +1 -0
  26. package/dist/esm/exporters/SessionRecorderGrpcTraceExporter.js +48 -0
  27. package/dist/esm/exporters/SessionRecorderGrpcTraceExporter.js.map +1 -0
  28. package/dist/esm/exporters/SessionRecorderHttpLogsExporter.d.ts +20 -0
  29. package/dist/esm/exporters/SessionRecorderHttpLogsExporter.d.ts.map +1 -0
  30. package/dist/esm/exporters/SessionRecorderHttpLogsExporter.js +50 -0
  31. package/dist/esm/exporters/SessionRecorderHttpLogsExporter.js.map +1 -0
  32. package/dist/esm/exporters/SessionRecorderHttpTraceExporter.d.ts +25 -0
  33. package/dist/esm/exporters/SessionRecorderHttpTraceExporter.d.ts.map +1 -0
  34. package/dist/esm/exporters/SessionRecorderHttpTraceExporter.js +56 -0
  35. package/dist/esm/exporters/SessionRecorderHttpTraceExporter.js.map +1 -0
  36. package/dist/esm/exporters/SessionRecorderLogsExporterWrapper.d.ts +13 -0
  37. package/dist/esm/exporters/SessionRecorderLogsExporterWrapper.d.ts.map +1 -0
  38. package/dist/esm/exporters/SessionRecorderLogsExporterWrapper.js +25 -0
  39. package/dist/esm/exporters/SessionRecorderLogsExporterWrapper.js.map +1 -0
  40. package/dist/esm/exporters/SessionRecorderTraceExporterWrapper.d.ts +13 -0
  41. package/dist/esm/exporters/SessionRecorderTraceExporterWrapper.d.ts.map +1 -0
  42. package/dist/esm/exporters/SessionRecorderTraceExporterWrapper.js +24 -0
  43. package/dist/esm/exporters/SessionRecorderTraceExporterWrapper.js.map +1 -0
  44. package/dist/esm/exporters/index-browser.d.ts +2 -0
  45. package/dist/esm/exporters/index-browser.d.ts.map +1 -0
  46. package/dist/esm/exporters/index-browser.js +2 -0
  47. package/dist/esm/exporters/index-browser.js.map +1 -0
  48. package/dist/esm/exporters/index-node.d.ts +7 -0
  49. package/dist/esm/exporters/index-node.d.ts.map +1 -0
  50. package/dist/esm/exporters/index-node.js +7 -0
  51. package/dist/esm/exporters/index-node.js.map +1 -0
  52. package/dist/esm/exporters/index.d.ts +8 -0
  53. package/dist/esm/exporters/index.d.ts.map +1 -0
  54. package/dist/esm/exporters/index.js +8 -0
  55. package/dist/esm/exporters/index.js.map +1 -0
  56. package/dist/esm/index-browser.d.ts +2 -2
  57. package/dist/esm/index-browser.d.ts.map +1 -1
  58. package/dist/esm/index-browser.js +2 -2
  59. package/dist/esm/index-browser.js.map +1 -1
  60. package/dist/esm/index-node.d.ts +3 -2
  61. package/dist/esm/index-node.d.ts.map +1 -1
  62. package/dist/esm/index-node.js +3 -2
  63. package/dist/esm/index-node.js.map +1 -1
  64. package/dist/esm/index.d.ts +3 -4
  65. package/dist/esm/index.d.ts.map +1 -1
  66. package/dist/esm/index.js +3 -4
  67. package/dist/esm/index.js.map +1 -1
  68. package/dist/esm/instrumentations/SessionRecorderHttpInstrumentationHooksNode.d.ts.map +1 -0
  69. package/dist/esm/{SessionRecorderHttpInstrumentationHooksNode.js → instrumentations/SessionRecorderHttpInstrumentationHooksNode.js} +3 -3
  70. package/dist/esm/instrumentations/SessionRecorderHttpInstrumentationHooksNode.js.map +1 -0
  71. package/dist/esm/instrumentations/index-node.d.ts +2 -0
  72. package/dist/esm/instrumentations/index-node.d.ts.map +1 -0
  73. package/dist/esm/instrumentations/index-node.js +2 -0
  74. package/dist/esm/instrumentations/index-node.js.map +1 -0
  75. package/dist/esm/sdk/mask.js +1 -1
  76. package/dist/esm/sdk/mask.js.map +1 -1
  77. package/dist/esm/sdk/save-continuous-deb-session.js +1 -1
  78. package/dist/esm/sdk/save-continuous-deb-session.js.map +1 -1
  79. package/dist/esm/sdk/set-attribute.js +1 -1
  80. package/dist/esm/sdk/set-attribute.js.map +1 -1
  81. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  82. package/dist/esnext/SessionRecorderIdGenerator.js +1 -1
  83. package/dist/esnext/SessionRecorderIdGenerator.js.map +1 -1
  84. package/dist/esnext/SessionRecorderJsonTraceSerializer.d.ts.map +1 -1
  85. package/dist/esnext/SessionRecorderJsonTraceSerializer.js +47 -7
  86. package/dist/esnext/SessionRecorderJsonTraceSerializer.js.map +1 -1
  87. package/dist/esnext/SessionRecorderTraceIdRatioBasedSampler.js +1 -1
  88. package/dist/esnext/SessionRecorderTraceIdRatioBasedSampler.js.map +1 -1
  89. package/dist/{src → esnext/constants}/constants.base.d.ts +14 -0
  90. package/dist/esnext/constants/constants.base.d.ts.map +1 -0
  91. package/dist/esnext/{constants.base.js → constants/constants.base.js} +14 -0
  92. package/dist/esnext/constants/constants.base.js.map +1 -0
  93. package/dist/esnext/constants/constants.browser.d.ts.map +1 -0
  94. package/dist/esnext/constants/constants.browser.js.map +1 -0
  95. package/dist/esnext/constants/constants.node.d.ts.map +1 -0
  96. package/dist/esnext/constants/constants.node.js.map +1 -0
  97. package/dist/esnext/exporters/SessionRecorderBrowserTraceExporter.d.ts +31 -0
  98. package/dist/esnext/exporters/SessionRecorderBrowserTraceExporter.d.ts.map +1 -0
  99. package/dist/esnext/exporters/SessionRecorderBrowserTraceExporter.js +159 -0
  100. package/dist/esnext/exporters/SessionRecorderBrowserTraceExporter.js.map +1 -0
  101. package/dist/esnext/exporters/SessionRecorderGrpcLogsExporter.d.ts +22 -0
  102. package/dist/esnext/exporters/SessionRecorderGrpcLogsExporter.d.ts.map +1 -0
  103. package/dist/esnext/exporters/SessionRecorderGrpcLogsExporter.js +33 -0
  104. package/dist/esnext/exporters/SessionRecorderGrpcLogsExporter.js.map +1 -0
  105. package/dist/esnext/exporters/SessionRecorderGrpcTraceExporter.d.ts +22 -0
  106. package/dist/esnext/exporters/SessionRecorderGrpcTraceExporter.d.ts.map +1 -0
  107. package/dist/esnext/exporters/SessionRecorderGrpcTraceExporter.js +30 -0
  108. package/dist/esnext/exporters/SessionRecorderGrpcTraceExporter.js.map +1 -0
  109. package/dist/esnext/exporters/SessionRecorderHttpLogsExporter.d.ts +20 -0
  110. package/dist/esnext/exporters/SessionRecorderHttpLogsExporter.d.ts.map +1 -0
  111. package/dist/esnext/exporters/SessionRecorderHttpLogsExporter.js +32 -0
  112. package/dist/esnext/exporters/SessionRecorderHttpLogsExporter.js.map +1 -0
  113. package/dist/esnext/exporters/SessionRecorderHttpTraceExporter.d.ts +25 -0
  114. package/dist/esnext/exporters/SessionRecorderHttpTraceExporter.d.ts.map +1 -0
  115. package/dist/esnext/exporters/SessionRecorderHttpTraceExporter.js +38 -0
  116. package/dist/esnext/exporters/SessionRecorderHttpTraceExporter.js.map +1 -0
  117. package/dist/esnext/exporters/SessionRecorderLogsExporterWrapper.d.ts +13 -0
  118. package/dist/esnext/exporters/SessionRecorderLogsExporterWrapper.d.ts.map +1 -0
  119. package/dist/esnext/exporters/SessionRecorderLogsExporterWrapper.js +23 -0
  120. package/dist/esnext/exporters/SessionRecorderLogsExporterWrapper.js.map +1 -0
  121. package/dist/esnext/exporters/SessionRecorderTraceExporterWrapper.d.ts +13 -0
  122. package/dist/esnext/exporters/SessionRecorderTraceExporterWrapper.d.ts.map +1 -0
  123. package/dist/esnext/exporters/SessionRecorderTraceExporterWrapper.js +22 -0
  124. package/dist/esnext/exporters/SessionRecorderTraceExporterWrapper.js.map +1 -0
  125. package/dist/esnext/exporters/index-browser.d.ts +2 -0
  126. package/dist/esnext/exporters/index-browser.d.ts.map +1 -0
  127. package/dist/esnext/exporters/index-browser.js +2 -0
  128. package/dist/esnext/exporters/index-browser.js.map +1 -0
  129. package/dist/esnext/exporters/index-node.d.ts +7 -0
  130. package/dist/esnext/exporters/index-node.d.ts.map +1 -0
  131. package/dist/esnext/exporters/index-node.js +7 -0
  132. package/dist/esnext/exporters/index-node.js.map +1 -0
  133. package/dist/esnext/exporters/index.d.ts +8 -0
  134. package/dist/esnext/exporters/index.d.ts.map +1 -0
  135. package/dist/esnext/exporters/index.js +8 -0
  136. package/dist/esnext/exporters/index.js.map +1 -0
  137. package/dist/esnext/index-browser.d.ts +2 -2
  138. package/dist/esnext/index-browser.d.ts.map +1 -1
  139. package/dist/esnext/index-browser.js +2 -2
  140. package/dist/esnext/index-browser.js.map +1 -1
  141. package/dist/esnext/index-node.d.ts +3 -2
  142. package/dist/esnext/index-node.d.ts.map +1 -1
  143. package/dist/esnext/index-node.js +3 -2
  144. package/dist/esnext/index-node.js.map +1 -1
  145. package/dist/esnext/index.d.ts +3 -4
  146. package/dist/esnext/index.d.ts.map +1 -1
  147. package/dist/esnext/index.js +3 -4
  148. package/dist/esnext/index.js.map +1 -1
  149. package/dist/esnext/instrumentations/SessionRecorderHttpInstrumentationHooksNode.d.ts.map +1 -0
  150. package/dist/esnext/{SessionRecorderHttpInstrumentationHooksNode.js → instrumentations/SessionRecorderHttpInstrumentationHooksNode.js} +3 -3
  151. package/dist/esnext/instrumentations/SessionRecorderHttpInstrumentationHooksNode.js.map +1 -0
  152. package/dist/esnext/instrumentations/index-node.d.ts +2 -0
  153. package/dist/esnext/instrumentations/index-node.d.ts.map +1 -0
  154. package/dist/esnext/instrumentations/index-node.js +2 -0
  155. package/dist/esnext/instrumentations/index-node.js.map +1 -0
  156. package/dist/esnext/sdk/mask.js +1 -1
  157. package/dist/esnext/sdk/mask.js.map +1 -1
  158. package/dist/esnext/sdk/save-continuous-deb-session.js +1 -1
  159. package/dist/esnext/sdk/save-continuous-deb-session.js.map +1 -1
  160. package/dist/esnext/sdk/set-attribute.js +1 -1
  161. package/dist/esnext/sdk/set-attribute.js.map +1 -1
  162. package/dist/esnext/tsconfig.esnext.tsbuildinfo +1 -1
  163. package/dist/src/SessionRecorderIdGenerator.js +1 -1
  164. package/dist/src/SessionRecorderIdGenerator.js.map +1 -1
  165. package/dist/src/SessionRecorderJsonTraceSerializer.d.ts.map +1 -1
  166. package/dist/src/SessionRecorderJsonTraceSerializer.js +47 -7
  167. package/dist/src/SessionRecorderJsonTraceSerializer.js.map +1 -1
  168. package/dist/src/SessionRecorderTraceIdRatioBasedSampler.js +1 -1
  169. package/dist/src/SessionRecorderTraceIdRatioBasedSampler.js.map +1 -1
  170. package/dist/{esnext → src/constants}/constants.base.d.ts +14 -0
  171. package/dist/src/constants/constants.base.d.ts.map +1 -0
  172. package/dist/src/{constants.base.js → constants/constants.base.js} +15 -1
  173. package/dist/src/constants/constants.base.js.map +1 -0
  174. package/dist/src/constants/constants.browser.d.ts.map +1 -0
  175. package/dist/src/constants/constants.browser.js.map +1 -0
  176. package/dist/src/constants/constants.node.d.ts.map +1 -0
  177. package/dist/src/constants/constants.node.js.map +1 -0
  178. package/dist/src/exporters/SessionRecorderBrowserTraceExporter.d.ts +31 -0
  179. package/dist/src/exporters/SessionRecorderBrowserTraceExporter.d.ts.map +1 -0
  180. package/dist/src/exporters/SessionRecorderBrowserTraceExporter.js +163 -0
  181. package/dist/src/exporters/SessionRecorderBrowserTraceExporter.js.map +1 -0
  182. package/dist/src/exporters/SessionRecorderGrpcLogsExporter.d.ts +22 -0
  183. package/dist/src/exporters/SessionRecorderGrpcLogsExporter.d.ts.map +1 -0
  184. package/dist/src/exporters/SessionRecorderGrpcLogsExporter.js +37 -0
  185. package/dist/src/exporters/SessionRecorderGrpcLogsExporter.js.map +1 -0
  186. package/dist/src/exporters/SessionRecorderGrpcTraceExporter.d.ts +22 -0
  187. package/dist/src/exporters/SessionRecorderGrpcTraceExporter.d.ts.map +1 -0
  188. package/dist/src/exporters/SessionRecorderGrpcTraceExporter.js +34 -0
  189. package/dist/src/exporters/SessionRecorderGrpcTraceExporter.js.map +1 -0
  190. package/dist/src/exporters/SessionRecorderHttpLogsExporter.d.ts +20 -0
  191. package/dist/src/exporters/SessionRecorderHttpLogsExporter.d.ts.map +1 -0
  192. package/dist/src/exporters/SessionRecorderHttpLogsExporter.js +36 -0
  193. package/dist/src/exporters/SessionRecorderHttpLogsExporter.js.map +1 -0
  194. package/dist/src/exporters/SessionRecorderHttpTraceExporter.d.ts +25 -0
  195. package/dist/src/exporters/SessionRecorderHttpTraceExporter.d.ts.map +1 -0
  196. package/dist/src/exporters/SessionRecorderHttpTraceExporter.js +42 -0
  197. package/dist/src/exporters/SessionRecorderHttpTraceExporter.js.map +1 -0
  198. package/dist/src/exporters/SessionRecorderLogsExporterWrapper.d.ts +13 -0
  199. package/dist/src/exporters/SessionRecorderLogsExporterWrapper.d.ts.map +1 -0
  200. package/dist/src/exporters/SessionRecorderLogsExporterWrapper.js +27 -0
  201. package/dist/src/exporters/SessionRecorderLogsExporterWrapper.js.map +1 -0
  202. package/dist/src/exporters/SessionRecorderTraceExporterWrapper.d.ts +13 -0
  203. package/dist/src/exporters/SessionRecorderTraceExporterWrapper.d.ts.map +1 -0
  204. package/dist/src/exporters/SessionRecorderTraceExporterWrapper.js +26 -0
  205. package/dist/src/exporters/SessionRecorderTraceExporterWrapper.js.map +1 -0
  206. package/dist/src/exporters/index-browser.d.ts +2 -0
  207. package/dist/src/exporters/index-browser.d.ts.map +1 -0
  208. package/dist/src/exporters/index-browser.js +18 -0
  209. package/dist/src/exporters/index-browser.js.map +1 -0
  210. package/dist/src/exporters/index-node.d.ts +7 -0
  211. package/dist/src/exporters/index-node.d.ts.map +1 -0
  212. package/dist/src/exporters/index-node.js +23 -0
  213. package/dist/src/exporters/index-node.js.map +1 -0
  214. package/dist/src/exporters/index.d.ts +8 -0
  215. package/dist/src/exporters/index.d.ts.map +1 -0
  216. package/dist/src/exporters/index.js +24 -0
  217. package/dist/src/exporters/index.js.map +1 -0
  218. package/dist/src/index-browser.d.ts +2 -2
  219. package/dist/src/index-browser.d.ts.map +1 -1
  220. package/dist/src/index-browser.js +3 -4
  221. package/dist/src/index-browser.js.map +1 -1
  222. package/dist/src/index-node.d.ts +3 -2
  223. package/dist/src/index-node.d.ts.map +1 -1
  224. package/dist/src/index-node.js +3 -2
  225. package/dist/src/index-node.js.map +1 -1
  226. package/dist/src/index.d.ts +3 -4
  227. package/dist/src/index.d.ts.map +1 -1
  228. package/dist/src/index.js +4 -8
  229. package/dist/src/index.js.map +1 -1
  230. package/dist/src/instrumentations/SessionRecorderHttpInstrumentationHooksNode.d.ts.map +1 -0
  231. package/dist/src/{SessionRecorderHttpInstrumentationHooksNode.js → instrumentations/SessionRecorderHttpInstrumentationHooksNode.js} +3 -3
  232. package/dist/src/instrumentations/SessionRecorderHttpInstrumentationHooksNode.js.map +1 -0
  233. package/dist/src/instrumentations/index-node.d.ts +2 -0
  234. package/dist/src/instrumentations/index-node.d.ts.map +1 -0
  235. package/dist/src/instrumentations/index-node.js +18 -0
  236. package/dist/src/instrumentations/index-node.js.map +1 -0
  237. package/dist/src/sdk/mask.js +1 -1
  238. package/dist/src/sdk/mask.js.map +1 -1
  239. package/dist/src/sdk/save-continuous-deb-session.js +1 -1
  240. package/dist/src/sdk/save-continuous-deb-session.js.map +1 -1
  241. package/dist/src/sdk/set-attribute.js +1 -1
  242. package/dist/src/sdk/set-attribute.js.map +1 -1
  243. package/package.json +10 -4
  244. package/src/SessionRecorderIdGenerator.ts +1 -1
  245. package/src/SessionRecorderJsonTraceSerializer.ts +48 -8
  246. package/src/SessionRecorderTraceIdRatioBasedSampler.ts +1 -1
  247. package/src/{constants.base.ts → constants/constants.base.ts} +19 -0
  248. package/src/exporters/SessionRecorderBrowserTraceExporter.ts +212 -0
  249. package/src/exporters/SessionRecorderGrpcLogsExporter.ts +52 -0
  250. package/src/exporters/SessionRecorderGrpcTraceExporter.ts +50 -0
  251. package/src/exporters/SessionRecorderHttpLogsExporter.ts +58 -0
  252. package/src/exporters/SessionRecorderHttpTraceExporter.ts +65 -0
  253. package/src/exporters/SessionRecorderLogsExporterWrapper.ts +36 -0
  254. package/src/exporters/SessionRecorderTraceExporterWrapper.ts +36 -0
  255. package/src/exporters/index-browser.ts +1 -0
  256. package/src/exporters/index-node.ts +6 -0
  257. package/src/exporters/index.ts +7 -0
  258. package/src/index-browser.ts +2 -2
  259. package/src/index-node.ts +3 -2
  260. package/src/index.ts +3 -4
  261. package/src/{SessionRecorderHttpInstrumentationHooksNode.ts → instrumentations/SessionRecorderHttpInstrumentationHooksNode.ts} +3 -3
  262. package/src/instrumentations/index-node.ts +1 -0
  263. package/src/sdk/mask.ts +1 -1
  264. package/src/sdk/save-continuous-deb-session.ts +1 -1
  265. package/src/sdk/set-attribute.ts +1 -1
  266. package/dist/esm/SessionRecorderHttpInstrumentationHooksNode.d.ts.map +0 -1
  267. package/dist/esm/SessionRecorderHttpInstrumentationHooksNode.js.map +0 -1
  268. package/dist/esm/SessionRecorderHttpTraceExporterBrowser.d.ts +0 -26
  269. package/dist/esm/SessionRecorderHttpTraceExporterBrowser.d.ts.map +0 -1
  270. package/dist/esm/SessionRecorderHttpTraceExporterBrowser.js +0 -116
  271. package/dist/esm/SessionRecorderHttpTraceExporterBrowser.js.map +0 -1
  272. package/dist/esm/constants.base.d.ts.map +0 -1
  273. package/dist/esm/constants.base.js.map +0 -1
  274. package/dist/esm/constants.browser.d.ts.map +0 -1
  275. package/dist/esm/constants.browser.js.map +0 -1
  276. package/dist/esm/constants.node.d.ts.map +0 -1
  277. package/dist/esm/constants.node.js.map +0 -1
  278. package/dist/esnext/SessionRecorderHttpInstrumentationHooksNode.d.ts.map +0 -1
  279. package/dist/esnext/SessionRecorderHttpInstrumentationHooksNode.js.map +0 -1
  280. package/dist/esnext/SessionRecorderHttpTraceExporterBrowser.d.ts +0 -26
  281. package/dist/esnext/SessionRecorderHttpTraceExporterBrowser.d.ts.map +0 -1
  282. package/dist/esnext/SessionRecorderHttpTraceExporterBrowser.js +0 -82
  283. package/dist/esnext/SessionRecorderHttpTraceExporterBrowser.js.map +0 -1
  284. package/dist/esnext/constants.base.d.ts.map +0 -1
  285. package/dist/esnext/constants.base.js.map +0 -1
  286. package/dist/esnext/constants.browser.d.ts.map +0 -1
  287. package/dist/esnext/constants.browser.js.map +0 -1
  288. package/dist/esnext/constants.node.d.ts.map +0 -1
  289. package/dist/esnext/constants.node.js.map +0 -1
  290. package/dist/src/SessionRecorderHttpInstrumentationHooksNode.d.ts.map +0 -1
  291. package/dist/src/SessionRecorderHttpInstrumentationHooksNode.js.map +0 -1
  292. package/dist/src/SessionRecorderHttpTraceExporterBrowser.d.ts +0 -26
  293. package/dist/src/SessionRecorderHttpTraceExporterBrowser.d.ts.map +0 -1
  294. package/dist/src/SessionRecorderHttpTraceExporterBrowser.js +0 -86
  295. package/dist/src/SessionRecorderHttpTraceExporterBrowser.js.map +0 -1
  296. package/dist/src/constants.base.d.ts.map +0 -1
  297. package/dist/src/constants.base.js.map +0 -1
  298. package/dist/src/constants.browser.d.ts.map +0 -1
  299. package/dist/src/constants.browser.js.map +0 -1
  300. package/dist/src/constants.node.d.ts.map +0 -1
  301. package/dist/src/constants.node.js.map +0 -1
  302. package/src/SessionRecorderHttpTraceExporterBrowser.ts +0 -123
  303. /package/dist/esm/{constants.browser.d.ts → constants/constants.browser.d.ts} +0 -0
  304. /package/dist/esm/{constants.browser.js → constants/constants.browser.js} +0 -0
  305. /package/dist/esm/{constants.node.d.ts → constants/constants.node.d.ts} +0 -0
  306. /package/dist/esm/{constants.node.js → constants/constants.node.js} +0 -0
  307. /package/dist/esm/{SessionRecorderHttpInstrumentationHooksNode.d.ts → instrumentations/SessionRecorderHttpInstrumentationHooksNode.d.ts} +0 -0
  308. /package/dist/esnext/{constants.browser.d.ts → constants/constants.browser.d.ts} +0 -0
  309. /package/dist/esnext/{constants.browser.js → constants/constants.browser.js} +0 -0
  310. /package/dist/esnext/{constants.node.d.ts → constants/constants.node.d.ts} +0 -0
  311. /package/dist/esnext/{constants.node.js → constants/constants.node.js} +0 -0
  312. /package/dist/esnext/{SessionRecorderHttpInstrumentationHooksNode.d.ts → instrumentations/SessionRecorderHttpInstrumentationHooksNode.d.ts} +0 -0
  313. /package/dist/src/{constants.browser.d.ts → constants/constants.browser.d.ts} +0 -0
  314. /package/dist/src/{constants.browser.js → constants/constants.browser.js} +0 -0
  315. /package/dist/src/{constants.node.d.ts → constants/constants.node.d.ts} +0 -0
  316. /package/dist/src/{constants.node.js → constants/constants.node.js} +0 -0
  317. /package/dist/src/{SessionRecorderHttpInstrumentationHooksNode.d.ts → instrumentations/SessionRecorderHttpInstrumentationHooksNode.d.ts} +0 -0
  318. /package/src/{constants.browser.ts → constants/constants.browser.ts} +0 -0
  319. /package/src/{constants.node.ts → constants/constants.node.ts} +0 -0
@@ -0,0 +1,50 @@
1
+ import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-proto'
2
+ import {
3
+ MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_GRPC_URL,
4
+ MULTIPLAYER_TRACE_DEBUG_PREFIX,
5
+ MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX,
6
+ } from '../constants/constants.base'
7
+
8
+ export interface SessionRecorderGrpcTraceExporterConfig {
9
+ /** The URL to send traces to. Defaults to MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_GRPC_URL */
10
+ url?: string
11
+ /** API key for authentication. Required. */
12
+ apiKey: string
13
+ /** Timeout for gRPC requests in milliseconds. Defaults to 30000 */
14
+ timeoutMillis?: number
15
+ }
16
+
17
+ /**
18
+ * gRPC trace exporter for Session Recorder
19
+ * Exports traces via gRPC to Multiplayer's OTLP endpoint
20
+ * Only exports spans with trace IDs starting with Multiplayer prefixes
21
+ * Note: API key authentication may need to be handled at the gRPC client level
22
+ */
23
+ export class SessionRecorderGrpcTraceExporter extends OTLPTraceExporter {
24
+ constructor(config: SessionRecorderGrpcTraceExporterConfig) {
25
+ const {
26
+ url = MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_GRPC_URL,
27
+ timeoutMillis = 30000,
28
+ } = config
29
+
30
+ super({
31
+ url,
32
+ timeoutMillis,
33
+ })
34
+ }
35
+
36
+ override export(spans: any[], resultCallback: (result: { code: number }) => void): void {
37
+ const filteredSpans = spans.filter(span => {
38
+ const traceId = span.spanContext().traceId
39
+ return traceId.startsWith(MULTIPLAYER_TRACE_DEBUG_PREFIX) ||
40
+ traceId.startsWith(MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX)
41
+ })
42
+
43
+ if (filteredSpans.length === 0) {
44
+ resultCallback({ code: 0 })
45
+ return
46
+ }
47
+
48
+ super.export(filteredSpans, resultCallback)
49
+ }
50
+ }
@@ -0,0 +1,58 @@
1
+ import { OTLPLogExporter } from '@opentelemetry/exporter-logs-otlp-http'
2
+ import {
3
+ MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_HTTP_URL,
4
+ MULTIPLAYER_TRACE_DEBUG_PREFIX,
5
+ MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX,
6
+ } from '../constants/constants.base'
7
+
8
+ export interface SessionRecorderHttpLogsExporterConfig {
9
+ /** The URL to send logs to. Defaults to MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_HTTP_URL */
10
+ url?: string
11
+ /** API key for authentication. Required. */
12
+ apiKey: string
13
+ /** Timeout for HTTP requests in milliseconds. Defaults to 30000 */
14
+ timeoutMillis?: number
15
+ /** Whether to keep the connection alive. Defaults to true */
16
+ keepAlive?: boolean
17
+ /** Maximum number of concurrent requests. Defaults to 20 */
18
+ concurrencyLimit?: number
19
+ }
20
+
21
+ export class SessionRecorderHttpLogsExporter extends OTLPLogExporter {
22
+ constructor(config: SessionRecorderHttpLogsExporterConfig) {
23
+ const {
24
+ url = MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_HTTP_URL,
25
+ apiKey,
26
+ timeoutMillis = 30000,
27
+ keepAlive = true,
28
+ concurrencyLimit = 20,
29
+ } = config
30
+
31
+ super({
32
+ url,
33
+ headers: {
34
+ 'Content-Type': 'application/x-protobuf',
35
+ 'User-Agent': '@multiplayer-app/session-recorder-common/1.0.0',
36
+ 'authorization': apiKey,
37
+ },
38
+ timeoutMillis,
39
+ keepAlive,
40
+ concurrencyLimit,
41
+ })
42
+ }
43
+
44
+ override export(logs: any[], resultCallback: (result: { code: number }) => void): void {
45
+ const filteredLogs = logs.filter(log => {
46
+ const traceId = log.spanContext?.traceId || log.traceId
47
+ return traceId && (traceId.startsWith(MULTIPLAYER_TRACE_DEBUG_PREFIX) ||
48
+ traceId.startsWith(MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX))
49
+ })
50
+
51
+ if (filteredLogs.length === 0) {
52
+ resultCallback({ code: 0 })
53
+ return
54
+ }
55
+
56
+ super.export(filteredLogs, resultCallback)
57
+ }
58
+ }
@@ -0,0 +1,65 @@
1
+ import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http'
2
+ import {
3
+ MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_HTTP_URL,
4
+ MULTIPLAYER_TRACE_DEBUG_PREFIX,
5
+ MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX,
6
+ } from '../constants/constants.base'
7
+
8
+ export interface SessionRecorderHttpTraceExporterConfig {
9
+ /** The URL to send traces to. Defaults to MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_HTTP_URL */
10
+ url?: string
11
+ /** API key for authentication. Required. */
12
+ apiKey: string
13
+ /** Timeout for HTTP requests in milliseconds. Defaults to 30000 */
14
+ timeoutMillis?: number
15
+ /** Whether to keep the connection alive. Defaults to true */
16
+ keepAlive?: boolean
17
+ /** Maximum number of concurrent requests. Defaults to 20 */
18
+ concurrencyLimit?: number
19
+ }
20
+
21
+ /**
22
+ * HTTP trace exporter for Session Recorder
23
+ * Exports traces via HTTP to Multiplayer's OTLP endpoint
24
+ * Only exports spans with trace IDs starting with Multiplayer prefixes
25
+ */
26
+ export class SessionRecorderHttpTraceExporter extends OTLPTraceExporter {
27
+ constructor(config: SessionRecorderHttpTraceExporterConfig) {
28
+ const {
29
+ url = MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_HTTP_URL,
30
+ apiKey,
31
+ timeoutMillis = 30000,
32
+ keepAlive = true,
33
+ concurrencyLimit = 20,
34
+ } = config
35
+
36
+ super({
37
+ url,
38
+ headers: {
39
+ 'Content-Type': 'application/x-protobuf',
40
+ 'User-Agent': '@multiplayer-app/session-recorder-common/1.0.0',
41
+ 'authorization': apiKey,
42
+ },
43
+ timeoutMillis,
44
+ keepAlive,
45
+ concurrencyLimit,
46
+ })
47
+ }
48
+
49
+ override export(spans: any[], resultCallback: (result: { code: number }) => void): void {
50
+ // Filter spans to only include those with Multiplayer trace prefixes
51
+ const filteredSpans = spans.filter(span => {
52
+ const traceId = span.spanContext().traceId
53
+ return traceId.startsWith(MULTIPLAYER_TRACE_DEBUG_PREFIX) ||
54
+ traceId.startsWith(MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX)
55
+ })
56
+
57
+ // Only proceed if there are filtered spans
58
+ if (filteredSpans.length === 0) {
59
+ resultCallback({ code: 0 })
60
+ return
61
+ }
62
+
63
+ super.export(filteredSpans, resultCallback)
64
+ }
65
+ }
@@ -0,0 +1,36 @@
1
+ import { SdkLogRecord, LogRecordExporter } from '@opentelemetry/sdk-logs'
2
+ import {
3
+ MULTIPLAYER_TRACE_DEBUG_PREFIX,
4
+ MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX,
5
+ } from '../constants/constants.base'
6
+
7
+ export interface SessionRecorderLogsExporterWrapperConfig {
8
+ exporter: LogRecordExporter
9
+ }
10
+
11
+ export class SessionRecorderLogsExporterWrapper implements LogRecordExporter {
12
+ private readonly exporter: LogRecordExporter
13
+
14
+ constructor(config: SessionRecorderLogsExporterWrapperConfig) {
15
+ this.exporter = config.exporter
16
+ }
17
+
18
+ export(logs: SdkLogRecord[], resultCallback: (result: { code: number }) => void): void {
19
+ const filteredLogs = logs.filter(log => {
20
+ const traceId = log.spanContext?.traceId
21
+ return !traceId || (!traceId.startsWith(MULTIPLAYER_TRACE_DEBUG_PREFIX) &&
22
+ !traceId.startsWith(MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX))
23
+ })
24
+
25
+ if (filteredLogs.length === 0) {
26
+ resultCallback({ code: 0 })
27
+ return
28
+ }
29
+
30
+ this.exporter.export(filteredLogs, resultCallback)
31
+ }
32
+
33
+ shutdown(): Promise<void> {
34
+ return this.exporter.shutdown()
35
+ }
36
+ }
@@ -0,0 +1,36 @@
1
+ import { ReadableSpan, SpanExporter } from '@opentelemetry/sdk-trace-base'
2
+ import {
3
+ MULTIPLAYER_TRACE_DEBUG_PREFIX,
4
+ MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX,
5
+ } from '../constants/constants.base'
6
+
7
+ export interface SessionRecorderTraceExporterWrapperConfig {
8
+ exporter: SpanExporter
9
+ }
10
+
11
+ export class SessionRecorderTraceExporterWrapper implements SpanExporter {
12
+ private readonly exporter: SpanExporter
13
+
14
+ constructor(config: SessionRecorderTraceExporterWrapperConfig) {
15
+ this.exporter = config.exporter
16
+ }
17
+
18
+ export(spans: ReadableSpan[], resultCallback: (result: { code: number }) => void): void {
19
+ const filteredSpans = spans.filter(span => {
20
+ const traceId = span.spanContext().traceId
21
+ return !traceId.startsWith(MULTIPLAYER_TRACE_DEBUG_PREFIX) &&
22
+ !traceId.startsWith(MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX)
23
+ })
24
+
25
+ if (filteredSpans.length === 0) {
26
+ resultCallback({ code: 0 })
27
+ return
28
+ }
29
+
30
+ this.exporter.export(filteredSpans, resultCallback)
31
+ }
32
+
33
+ shutdown(): Promise<void> {
34
+ return this.exporter.shutdown()
35
+ }
36
+ }
@@ -0,0 +1 @@
1
+ export * from './SessionRecorderBrowserTraceExporter'
@@ -0,0 +1,6 @@
1
+ export * from './SessionRecorderHttpTraceExporter'
2
+ export * from './SessionRecorderHttpLogsExporter'
3
+ export * from './SessionRecorderGrpcTraceExporter'
4
+ export * from './SessionRecorderGrpcLogsExporter'
5
+ export * from './SessionRecorderTraceExporterWrapper'
6
+ export * from './SessionRecorderLogsExporterWrapper'
@@ -0,0 +1,7 @@
1
+ export * from './SessionRecorderHttpTraceExporter'
2
+ export * from './SessionRecorderHttpLogsExporter'
3
+ export * from './SessionRecorderGrpcTraceExporter'
4
+ export * from './SessionRecorderGrpcLogsExporter'
5
+ export * from './SessionRecorderBrowserTraceExporter'
6
+ export * from './SessionRecorderTraceExporterWrapper'
7
+ export * from './SessionRecorderLogsExporterWrapper'
@@ -1,7 +1,7 @@
1
- export * from './constants.browser'
2
- export { SessionRecorderHttpTraceExporterBrowser } from './SessionRecorderHttpTraceExporterBrowser'
1
+ export * from './constants/constants.browser'
3
2
  export { SessionRecorderIdGenerator } from './SessionRecorderIdGenerator'
4
3
  export { SessionRecorderJsonTraceSerializer } from './SessionRecorderJsonTraceSerializer'
5
4
  export { SessionRecorderTraceIdRatioBasedSampler } from './SessionRecorderTraceIdRatioBasedSampler'
6
5
  export * as SessionRecorderSdk from './sdk'
7
6
  export * from './type'
7
+ export * from './exporters/index-browser'
package/src/index-node.ts CHANGED
@@ -1,7 +1,8 @@
1
- export * from './constants.node'
2
- export { SessionRecorderHttpInstrumentationHooksNode } from './SessionRecorderHttpInstrumentationHooksNode'
1
+ export * from './constants/constants.node'
2
+ export { SessionRecorderHttpInstrumentationHooksNode } from './instrumentations/SessionRecorderHttpInstrumentationHooksNode'
3
3
  export { SessionRecorderIdGenerator } from './SessionRecorderIdGenerator'
4
4
  export { SessionRecorderJsonTraceSerializer } from './SessionRecorderJsonTraceSerializer'
5
5
  export { SessionRecorderTraceIdRatioBasedSampler } from './SessionRecorderTraceIdRatioBasedSampler'
6
6
  export * as SessionRecorderSdk from './sdk'
7
7
  export * from './type'
8
+ export * from './exporters/index-node'
package/src/index.ts CHANGED
@@ -1,8 +1,7 @@
1
- export * from './constants.node'
2
- export { SessionRecorderHttpTraceExporterBrowser } from './SessionRecorderHttpTraceExporterBrowser'
3
- export { SessionRecorderHttpInstrumentationHooksNode } from './SessionRecorderHttpInstrumentationHooksNode'
1
+ export * from './constants/constants.node'
4
2
  export { SessionRecorderIdGenerator } from './SessionRecorderIdGenerator'
5
- export { SessionRecorderJsonTraceSerializer } from './SessionRecorderJsonTraceSerializer'
6
3
  export { SessionRecorderTraceIdRatioBasedSampler } from './SessionRecorderTraceIdRatioBasedSampler'
7
4
  export * as SessionRecorderSdk from './sdk'
8
5
  export * from './type'
6
+ export * from './exporters'
7
+ export * from './instrumentations/index-node'
@@ -14,16 +14,16 @@ import {
14
14
  ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY_ENCODING,
15
15
  MULTIPLAYER_TRACE_DEBUG_PREFIX,
16
16
  MULTIPLAYER_TRACE_DOC_PREFIX,
17
- } from './constants.node'
17
+ } from '../constants/constants.node'
18
18
  import {
19
19
  mask,
20
20
  schemify,
21
21
  isGzip,
22
- } from './sdk'
22
+ } from '../sdk'
23
23
  import {
24
24
  sensitiveFields,
25
25
  sensitiveHeaders,
26
- } from './sdk/mask'
26
+ } from '../sdk/mask'
27
27
 
28
28
  interface HttpResponseHookOptions {
29
29
  maxPayloadSizeBytes?: number
@@ -0,0 +1 @@
1
+ export * from './SessionRecorderHttpInstrumentationHooksNode'
package/src/sdk/mask.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Span } from '@opentelemetry/api'
2
- import { MASK_PLACEHOLDER } from '../constants.base'
2
+ import { MASK_PLACEHOLDER } from '../constants/constants.base'
3
3
 
4
4
  const MAX_DEPTH = 8
5
5
  export const sensitiveFields: string[] = [
@@ -2,7 +2,7 @@ import { context, trace } from '@opentelemetry/api'
2
2
  import {
3
3
  ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE,
4
4
  ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE_REASON,
5
- } from '../constants.base'
5
+ } from '../constants/constants.base'
6
6
  /**
7
7
  * @description Set auto save attribute to span
8
8
  * @param {String} reason
@@ -13,7 +13,7 @@ import {
13
13
  ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE,
14
14
  ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE,
15
15
  ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY,
16
- } from '../constants.base'
16
+ } from '../constants/constants.base'
17
17
  import mask, { sensitiveFields, sensitiveHeaders } from './mask'
18
18
 
19
19
  /**
@@ -1 +0,0 @@
1
- {"version":3,"file":"SessionRecorderHttpInstrumentationHooksNode.d.ts","sourceRoot":"","sources":["../../src/SessionRecorderHttpInstrumentationHooksNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,aAAa,EACd,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAqB9C,UAAU,uBAAuB;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAE9B,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,KAAK,GAAG,CAAA;IACxC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,KAAK,GAAG,CAAA;IAE3C,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAE1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B;AAED,UAAU,sBAAsB;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAEhC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAE9B,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,KAAK,GAAG,CAAA;IACxC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,KAAK,GAAG,CAAA;IAE3C,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAE1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B;AA0ED,eAAO,MAAM,2CAA2C;6BAC9B,uBAAuB,MAC5C,MAAM,IAAI,EAAE,UAAU,eAAe,GAAG,cAAc;4BAwIlC,sBAAsB,MAC1C,MAAM,IAAI,EAAE,SAAS,aAAa,GAAG,eAAe;CA+FxD,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SessionRecorderHttpInstrumentationHooksNode.js","sourceRoot":"","sources":["../../src/SessionRecorderHttpInstrumentationHooksNode.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n IncomingMessage,\n ServerResponse,\n ClientRequest,\n} from 'http'\nimport * as zlib from 'zlib'\nimport type { Span } from '@opentelemetry/api'\nimport {\n ATTR_MULTIPLAYER_HTTP_REQUEST_BODY,\n ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS,\n ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY,\n ATTR_MULTIPLAYER_HTTP_RESPONSE_HEADERS,\n MULTIPLAYER_MAX_HTTP_REQUEST_RESPONSE_SIZE,\n ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY_ENCODING,\n MULTIPLAYER_TRACE_DEBUG_PREFIX,\n MULTIPLAYER_TRACE_DOC_PREFIX,\n} from './constants.node'\nimport {\n mask,\n schemify,\n isGzip,\n} from './sdk'\nimport {\n sensitiveFields,\n sensitiveHeaders,\n} from './sdk/mask'\n\ninterface HttpResponseHookOptions {\n maxPayloadSizeBytes?: number\n schemifyDocSpanPayload?: boolean\n uncompressPayload?: boolean\n\n captureHeaders?: boolean\n captureBody?: boolean\n\n isMaskBodyEnabled?: boolean\n isMaskHeadersEnabled?: boolean\n\n maskBody?: (arg: any, span: Span) => any\n maskHeaders?: (arg: any, span: Span) => any\n\n maskBodyFieldsList?: string[]\n maskHeadersList?: string[]\n\n headersToInclude?: string[]\n headersToExclude?: string[]\n}\n\ninterface HttpRequestHookOptions {\n maxPayloadSizeBytes?: number\n schemifyDocSpanPayload?: boolean\n\n captureHeaders?: boolean\n captureBody?: boolean\n\n isMaskBodyEnabled?: boolean\n isMaskHeadersEnabled?: boolean\n\n maskBody?: (arg: any, span: Span) => any\n maskHeaders?: (arg: any, span: Span) => any\n\n maskBodyFieldsList?: string[]\n maskHeadersList?: string[]\n\n headersToInclude?: string[]\n headersToExclude?: string[]\n}\n\nconst setDefaultOptions = (\n options: HttpResponseHookOptions | HttpResponseHookOptions,\n): Omit<HttpResponseHookOptions & HttpResponseHookOptions, 'maskBody' | 'maskHeaders'>\n & {\n maskBody: (arg: any, span: Span) => any\n maskHeaders: (arg: any, span: Span) => any\n captureHeaders: boolean,\n captureBody: boolean,\n isMaskBodyEnabled: boolean\n isMaskHeadersEnabled: boolean\n schemifyDocSpanPayload: boolean,\n uncompressPayload: boolean,\n maxPayloadSizeBytes: number\n } => {\n options.captureHeaders = 'captureHeaders' in options\n ? options.captureHeaders\n : true\n options.captureBody = 'captureBody' in options\n ? options.captureBody\n : true\n options.isMaskBodyEnabled = 'isMaskBodyEnabled' in options\n ? options.isMaskBodyEnabled\n : true\n options.isMaskHeadersEnabled = 'isMaskHeadersEnabled' in options\n ? options.isMaskHeadersEnabled\n : true\n options.schemifyDocSpanPayload = 'schemifyDocSpanPayload' in options\n ? options.schemifyDocSpanPayload\n : false\n options.uncompressPayload = 'uncompressPayload' in options\n ? options.uncompressPayload\n : true\n options.maskBody = options.maskBody || mask([\n ...(\n Array.isArray(options.maskBodyFieldsList)\n ? options.maskBodyFieldsList\n : sensitiveFields\n ),\n ...(\n Array.isArray(options.maskHeadersList)\n ? options.maskHeadersList\n : sensitiveHeaders\n ),\n ])\n options.maskHeaders = options.maskHeaders || mask([\n ...(\n Array.isArray(options.maskBodyFieldsList)\n ? options.maskBodyFieldsList\n : sensitiveFields\n ),\n ...(\n Array.isArray(options.maskHeadersList)\n ? options.maskHeadersList\n : sensitiveHeaders\n ),\n ])\n options.maxPayloadSizeBytes = options.maxPayloadSizeBytes || MULTIPLAYER_MAX_HTTP_REQUEST_RESPONSE_SIZE\n\n return options as Omit<HttpResponseHookOptions & HttpResponseHookOptions, 'maskBody' | 'maskHeaders'>\n & {\n maskBody: (arg: any, span: Span) => any\n maskHeaders: (arg: any, span: Span) => any\n captureHeaders: boolean,\n captureBody: boolean,\n isMaskBodyEnabled: boolean,\n isMaskHeadersEnabled: boolean,\n schemifyDocSpanPayload: boolean,\n uncompressPayload: boolean,\n maxPayloadSizeBytes: number\n }\n}\n\nexport const SessionRecorderHttpInstrumentationHooksNode = {\n responseHook: (options: HttpResponseHookOptions = {}) =>\n (span: Span, response: IncomingMessage | ServerResponse) => {\n try {\n const _options = setDefaultOptions(options)\n\n if (!_options.captureBody && !_options.captureHeaders) {\n return\n }\n\n const _response = response as ServerResponse\n const traceId = span.spanContext().traceId\n\n if (_response.setHeader) {\n _response.setHeader('X-Trace-Id', traceId)\n }\n\n const [oldWrite, oldEnd] = [_response.write, _response.end]\n\n const chunks: Buffer[] = []\n\n if (_options.captureBody) {\n (_response.write as unknown) = function (...restArgs: any[]) {\n chunks.push(Buffer.from(restArgs[0]))\n\n // @ts-ignore\n oldWrite.apply(_response, restArgs)\n }\n }\n\n\n // @ts-ignore\n _response.end = async function (...restArgs) {\n if (_options.captureBody && restArgs[0]) {\n chunks.push(Buffer.from(restArgs[0]))\n }\n\n const responseBuffer = Buffer.concat(chunks)\n\n if (\n _options.captureBody\n && responseBuffer.byteLength > 0\n && responseBuffer.byteLength < _options.maxPayloadSizeBytes\n ) {\n let responseBody: string\n let skipResponseBodyModification = false\n\n if (isGzip(responseBuffer)) {\n if (_options.uncompressPayload) {\n const dezippedBuffer = await new Promise((resolve) => zlib\n .gunzip(responseBuffer, function (err, dezipped) {\n if (err) {\n return resolve(Buffer.from(''))\n } else {\n return resolve(dezipped)\n }\n })) as Buffer\n responseBody = dezippedBuffer.toString('utf-8')\n } else {\n span.setAttribute(\n ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY_ENCODING,\n 'gzip',\n )\n\n skipResponseBodyModification = true\n responseBody = responseBuffer.toString('hex')\n }\n } else {\n responseBody = responseBuffer.toString('utf-8')\n }\n\n if (responseBody.length) {\n responseBody = JSON.parse(JSON.stringify(responseBody))\n }\n\n if (!skipResponseBodyModification) {\n if (\n traceId.startsWith(MULTIPLAYER_TRACE_DEBUG_PREFIX)\n && _options.isMaskBodyEnabled\n ) {\n responseBody = _options.maskBody(responseBody, span)\n } else if (\n traceId.startsWith(MULTIPLAYER_TRACE_DOC_PREFIX)\n && _options.schemifyDocSpanPayload\n ) {\n responseBody = schemify(responseBody)\n } else if (typeof responseBody !== 'string') {\n responseBody = JSON.stringify(responseBody)\n }\n }\n\n if (responseBody.length) {\n span.setAttribute(\n ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY,\n responseBody,\n )\n }\n }\n\n if (_options.captureHeaders) {\n let _headers = JSON.parse(JSON.stringify(_response.getHeaders() || {}))\n if (_options.isMaskHeadersEnabled) {\n _headers = _options.maskHeaders(_headers, span)\n }\n\n if (_options.headersToInclude) {\n const filteredHeaders: any = {}\n for (const headerName of _options.headersToInclude) {\n filteredHeaders[headerName] = _headers[headerName]\n }\n _headers = filteredHeaders\n }\n\n if (_options.headersToExclude?.length) {\n for (const headerName of _options.headersToExclude) {\n delete _headers[headerName]\n }\n }\n\n const stringifiedHeaders = JSON.stringify(_headers)\n\n if (stringifiedHeaders?.length) {\n span.setAttribute(\n ATTR_MULTIPLAYER_HTTP_RESPONSE_HEADERS,\n stringifiedHeaders,\n )\n }\n }\n\n\n // @ts-ignore\n return oldEnd.apply(_response, restArgs)\n }\n } catch (error) {\n // eslint-disable-next-line\n console.error('An error occured in multiplayer otlp http responseHook', error)\n }\n },\n requestHook: (options: HttpRequestHookOptions = {}) =>\n (span: Span, request: ClientRequest | IncomingMessage) => {\n try {\n const _options = setDefaultOptions(options)\n\n if (!_options.captureBody && !_options.captureHeaders) {\n return\n }\n\n const traceId = span.spanContext().traceId\n const _request = request as IncomingMessage\n\n if (_options.captureHeaders) {\n let _headers = JSON.parse(JSON.stringify(_request.headers || {}))\n\n if (_options.isMaskHeadersEnabled) {\n _headers = _options.maskHeaders(_headers, span)\n }\n\n if (_options.headersToInclude) {\n const filteredHeaders: any = {}\n for (const headerName of _options.headersToInclude) {\n filteredHeaders[headerName] = _headers[headerName]\n }\n _headers = filteredHeaders\n }\n\n if (_options.headersToExclude?.length) {\n for (const headerName of _options.headersToExclude) {\n delete _headers[headerName]\n }\n }\n\n span.setAttribute(\n ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS,\n JSON.stringify(_headers),\n )\n }\n\n const contentType = _request?.headers?.['content-type']\n if (\n _options.captureBody\n && contentType?.includes('application/json')\n ) {\n let body = ''\n _request.on('data', (chunk) => {\n body += chunk\n })\n _request.on('end', () => {\n try {\n const requestBodySizeBytes = Buffer.byteLength(body, 'utf8')\n\n if (\n requestBodySizeBytes === 0\n || requestBodySizeBytes > _options.maxPayloadSizeBytes\n ) {\n return\n }\n\n let requestBody = body\n if (!requestBody) return\n\n requestBody = JSON.parse(JSON.stringify(requestBody))\n\n if (\n traceId.startsWith(MULTIPLAYER_TRACE_DEBUG_PREFIX)\n && _options.isMaskBodyEnabled\n ) {\n requestBody = _options.maskBody(requestBody, span)\n } else if (\n traceId.startsWith(MULTIPLAYER_TRACE_DOC_PREFIX)\n && _options.schemifyDocSpanPayload\n ) {\n requestBody = schemify(requestBody)\n } else if (typeof requestBody !== 'string') {\n requestBody = JSON.stringify(requestBody)\n }\n\n if (requestBody?.length) {\n span.setAttribute(\n ATTR_MULTIPLAYER_HTTP_REQUEST_BODY,\n requestBody,\n )\n }\n } catch (err) {\n // eslint-disable-next-line\n console.error('[MULTIPLAYER-HTTP-REQ-HOOK] An error occured in multiplayer otlp http requestHook', err)\n }\n })\n }\n\n } catch (error) {\n // eslint-disable-next-line\n console.error('An error occured in multiplayer otlp http requestHook', error)\n }\n },\n}\n"]}
@@ -1,26 +0,0 @@
1
- import { ReadableSpan, SpanExporter } from '@opentelemetry/sdk-trace-base';
2
- import { OTLPExporterConfigBase, OTLPExporterBase } from '@opentelemetry/otlp-exporter-base';
3
- interface SessionRecorderExporterBrowserConfig extends OTLPExporterConfigBase {
4
- apiKey?: string;
5
- usePostMessageFallback?: boolean;
6
- postMessageType?: string;
7
- postMessageTargetOrigin?: string;
8
- }
9
- /**
10
- * Trace Exporters for Web with postMessage fallback
11
- */
12
- export declare class SessionRecorderHttpTraceExporterBrowser extends OTLPExporterBase<ReadableSpan[]> implements SpanExporter {
13
- private usePostMessage;
14
- private readonly postMessageType;
15
- private readonly postMessageTargetOrigin;
16
- private readonly config;
17
- constructor(config?: SessionRecorderExporterBrowserConfig);
18
- export(spans: ReadableSpan[], resultCallback: (result: {
19
- code: number;
20
- }) => void): void;
21
- private exportViaPostMessage;
22
- private _serializeSpan;
23
- getDefaultUrl(config: OTLPExporterConfigBase): string;
24
- }
25
- export {};
26
- //# sourceMappingURL=SessionRecorderHttpTraceExporterBrowser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SessionRecorderHttpTraceExporterBrowser.d.ts","sourceRoot":"","sources":["../../src/SessionRecorderHttpTraceExporterBrowser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,mCAAmC,CAAA;AAK1C,UAAU,oCACR,SAAQ,sBAAsB;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,uBAAuB,CAAC,EAAE,MAAM,CAAA;CACjC;AAED;;GAEG;AACH,qBAAa,uCACX,SAAQ,gBAAgB,CAAC,YAAY,EAAE,CACvC,YAAW,YAAY;IAEvB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAQ;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;gBAEjD,MAAM,GAAE,oCAAyC;IA0BpD,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,IAAI;IAkBhG,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,cAAc;IAyBtB,aAAa,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM;CAGtD"}
@@ -1,116 +0,0 @@
1
- var __extends = (this && this.__extends) || (function () {
2
- var extendStatics = function (d, b) {
3
- extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
- return extendStatics(d, b);
7
- };
8
- return function (d, b) {
9
- if (typeof b !== "function" && b !== null)
10
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
- extendStatics(d, b);
12
- function __() { this.constructor = d; }
13
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
- };
15
- })();
16
- var __assign = (this && this.__assign) || function () {
17
- __assign = Object.assign || function(t) {
18
- for (var s, i = 1, n = arguments.length; i < n; i++) {
19
- s = arguments[i];
20
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
21
- t[p] = s[p];
22
- }
23
- return t;
24
- };
25
- return __assign.apply(this, arguments);
26
- };
27
- import { OTLPExporterBase, } from '@opentelemetry/otlp-exporter-base';
28
- import { createLegacyOtlpBrowserExportDelegate } from '@opentelemetry/otlp-exporter-base/browser-http';
29
- import { SessionRecorderJsonTraceSerializer } from './SessionRecorderJsonTraceSerializer';
30
- import { MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL } from './constants.base';
31
- /**
32
- * Trace Exporters for Web with postMessage fallback
33
- */
34
- var SessionRecorderHttpTraceExporterBrowser = /** @class */ (function (_super) {
35
- __extends(SessionRecorderHttpTraceExporterBrowser, _super);
36
- function SessionRecorderHttpTraceExporterBrowser(config) {
37
- if (config === void 0) { config = {}; }
38
- var _this = this;
39
- var _config = __assign(__assign({}, config), { url: config.url || MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL, headers: __assign(__assign({}, (config.headers || {})), config.apiKey
40
- ? { Authorization: config.apiKey }
41
- : {}) });
42
- _this = _super.call(this, createLegacyOtlpBrowserExportDelegate(_config, SessionRecorderJsonTraceSerializer, 'v1/traces', { 'Content-Type': 'application/json' })) || this;
43
- _this.usePostMessage = false;
44
- _this.config = config;
45
- _this.postMessageType = config.postMessageType || 'MULTIPLAYER_SESSION_DEBUGGER_LIB';
46
- _this.postMessageTargetOrigin = config.postMessageTargetOrigin || '*';
47
- return _this;
48
- }
49
- SessionRecorderHttpTraceExporterBrowser.prototype.export = function (spans, resultCallback) {
50
- var _this = this;
51
- if (this.usePostMessage) {
52
- this.exportViaPostMessage(spans, resultCallback);
53
- return;
54
- }
55
- _super.prototype.export.call(this, spans, function (result) {
56
- if (result.code === 0) {
57
- resultCallback(result);
58
- }
59
- else if (_this.config.usePostMessageFallback) {
60
- _this.usePostMessage = true;
61
- _this.exportViaPostMessage(spans, resultCallback);
62
- }
63
- else {
64
- resultCallback(result);
65
- }
66
- });
67
- };
68
- SessionRecorderHttpTraceExporterBrowser.prototype.exportViaPostMessage = function (spans, resultCallback) {
69
- var _this = this;
70
- if (typeof window === 'undefined') {
71
- resultCallback({ code: 1 });
72
- return;
73
- }
74
- try {
75
- window.postMessage({
76
- action: 'traces',
77
- type: this.postMessageType,
78
- payload: spans.map(function (span) { return _this._serializeSpan(span); }),
79
- }, this.postMessageTargetOrigin);
80
- resultCallback({ code: 0 });
81
- }
82
- catch (e) {
83
- resultCallback({ code: 1 });
84
- }
85
- };
86
- SessionRecorderHttpTraceExporterBrowser.prototype._serializeSpan = function (span) {
87
- return {
88
- _spanContext: span.spanContext(),
89
- name: span.name,
90
- kind: span.kind,
91
- links: span.links,
92
- ended: span.ended,
93
- events: span.events,
94
- status: span.status,
95
- endTime: span.endTime,
96
- startTime: span.startTime,
97
- duration: span.duration,
98
- attributes: span.attributes,
99
- parentSpanId: span.parentSpanId,
100
- instrumentationLibrary: span.instrumentationLibrary,
101
- droppedAttributesCount: span.droppedAttributesCount,
102
- droppedEventsCount: span.droppedEventsCount,
103
- droppedLinksCount: span.droppedLinksCount,
104
- resource: {
105
- attributes: span.resource.attributes,
106
- asyncAttributesPending: span.resource.asyncAttributesPending,
107
- },
108
- };
109
- };
110
- SessionRecorderHttpTraceExporterBrowser.prototype.getDefaultUrl = function (config) {
111
- return config.url || MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL;
112
- };
113
- return SessionRecorderHttpTraceExporterBrowser;
114
- }(OTLPExporterBase));
115
- export { SessionRecorderHttpTraceExporterBrowser };
116
- //# sourceMappingURL=SessionRecorderHttpTraceExporterBrowser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SessionRecorderHttpTraceExporterBrowser.js","sourceRoot":"","sources":["../../src/SessionRecorderHttpTraceExporterBrowser.ts"],"names":[],"mappings":"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","sourcesContent":["import { ReadableSpan, SpanExporter } from '@opentelemetry/sdk-trace-base'\nimport {\n OTLPExporterConfigBase,\n OTLPExporterBase,\n} from '@opentelemetry/otlp-exporter-base'\nimport { createLegacyOtlpBrowserExportDelegate } from '@opentelemetry/otlp-exporter-base/browser-http'\nimport { SessionRecorderJsonTraceSerializer } from './SessionRecorderJsonTraceSerializer'\nimport { MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL } from './constants.base'\n\ninterface SessionRecorderExporterBrowserConfig\n extends OTLPExporterConfigBase {\n apiKey?: string\n usePostMessageFallback?: boolean\n postMessageType?: string\n postMessageTargetOrigin?: string\n}\n\n/**\n * Trace Exporters for Web with postMessage fallback\n */\nexport class SessionRecorderHttpTraceExporterBrowser\n extends OTLPExporterBase<ReadableSpan[]>\n implements SpanExporter {\n\n private usePostMessage: boolean = false\n private readonly postMessageType: string\n private readonly postMessageTargetOrigin: string\n private readonly config: SessionRecorderExporterBrowserConfig\n\n constructor(config: SessionRecorderExporterBrowserConfig = {}) {\n const _config = {\n ...config,\n url: config.url || MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL,\n headers: {\n ...(config.headers || {}),\n ...config.apiKey\n ? { Authorization: config.apiKey }\n : {},\n },\n }\n\n super(\n createLegacyOtlpBrowserExportDelegate(\n _config,\n SessionRecorderJsonTraceSerializer,\n 'v1/traces',\n { 'Content-Type': 'application/json' },\n ),\n )\n\n this.config = config\n this.postMessageType = config.postMessageType || 'MULTIPLAYER_SESSION_DEBUGGER_LIB'\n this.postMessageTargetOrigin = config.postMessageTargetOrigin || '*'\n }\n\n override export(spans: ReadableSpan[], resultCallback: (result: { code: number }) => void): void {\n if (this.usePostMessage) {\n this.exportViaPostMessage(spans, resultCallback)\n return\n }\n\n super.export(spans, (result) => {\n if (result.code === 0) {\n resultCallback(result)\n } else if (this.config.usePostMessageFallback) {\n this.usePostMessage = true\n this.exportViaPostMessage(spans, resultCallback)\n } else {\n resultCallback(result)\n }\n })\n }\n\n private exportViaPostMessage(spans: ReadableSpan[], resultCallback: (result: { code: number }) => void): void {\n if (typeof window === 'undefined') {\n resultCallback({ code: 1 })\n return\n }\n\n try {\n window.postMessage(\n {\n action: 'traces',\n type: this.postMessageType,\n payload: spans.map(span => this._serializeSpan(span)),\n },\n this.postMessageTargetOrigin,\n )\n resultCallback({ code: 0 })\n } catch (e) {\n resultCallback({ code: 1 })\n }\n }\n\n private _serializeSpan(span: ReadableSpan): any {\n return {\n _spanContext: span.spanContext(),\n name: span.name,\n kind: span.kind,\n links: span.links,\n ended: span.ended,\n events: span.events,\n status: span.status,\n endTime: span.endTime,\n startTime: span.startTime,\n duration: span.duration,\n attributes: span.attributes,\n parentSpanId: span.parentSpanId,\n instrumentationLibrary: span.instrumentationLibrary,\n droppedAttributesCount: span.droppedAttributesCount,\n droppedEventsCount: span.droppedEventsCount,\n droppedLinksCount: span.droppedLinksCount,\n resource: {\n attributes: span.resource.attributes,\n asyncAttributesPending: span.resource.asyncAttributesPending,\n },\n }\n }\n\n getDefaultUrl(config: OTLPExporterConfigBase): string {\n return config.url || MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.base.d.ts","sourceRoot":"","sources":["../../src/constants.base.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,WAAW,CAAA;AAEpD,eAAO,MAAM,8BAA8B,WAAW,CAAA;AAEtD,eAAO,MAAM,yCAAyC,WAAW,CAAA;AAEjE,eAAO,MAAM,+CAA+C,KAAK,CAAA;AAEjE,eAAO,MAAM,4CAA4C,0CAA0C,CAAA;AAEnG,eAAO,MAAM,0CAA0C,wCAAwC,CAAA;AAE/F,eAAO,MAAM,4BAA4B,iBAAiB,CAAA;AAE1D,eAAO,MAAM,6BAA6B,6BAA6B,CAAA;AAEvE,eAAO,MAAM,2BAA2B,2BAA2B,CAAA;AAEnE,eAAO,MAAM,4BAA4B,4BAA4B,CAAA;AAErE,eAAO,MAAM,6CAA6C,kCAAkC,CAAA;AAE5F,eAAO,MAAM,oDAAoD,yCAAyC,CAAA;AAE1G,eAAO,MAAM,8BAA8B,8BAA8B,CAAA;AAEzE,eAAO,MAAM,0BAA0B,0BAA0B,CAAA;AAEjE,eAAO,MAAM,+BAA+B,+BAA+B,CAAA;AAE3E,eAAO,MAAM,2BAA2B,2BAA2B,CAAA;AAEnE,eAAO,MAAM,2BAA2B,2BAA2B,CAAA;AAEnE,eAAO,MAAM,gCAAgC,gCAAgC,CAAA;AAE7E,eAAO,MAAM,kCAAkC,kCAAkC,CAAA;AAEjF,eAAO,MAAM,mCAAmC,mCAAmC,CAAA;AAEnF,eAAO,MAAM,qCAAqC,qCAAqC,CAAA;AAEvF,eAAO,MAAM,sCAAsC,sCAAsC,CAAA;AAEzF,eAAO,MAAM,4CAA4C,4CAA4C,CAAA;AAErG,eAAO,MAAM,oCAAoC,oCAAoC,CAAA;AAErF,eAAO,MAAM,6CAA6C,6CAA6C,CAAA;AAEvG,eAAO,MAAM,qCAAqC,qCAAqC,CAAA;AAEvF,eAAO,MAAM,qCAAqC,yCAAyC,CAAA;AAE3F,eAAO,MAAM,8CAA8C,6CAA6C,CAAA;AAExG,eAAO,MAAM,sCAAsC,0CAA0C,CAAA;AAE7F,eAAO,MAAM,uCAAuC,uCAAuC,CAAA;AAE3F,eAAO,MAAM,gDAAgD,gDAAgD,CAAA;AAE7G,eAAO,MAAM,yCAAyC,yCAAyC,CAAA;AAE/F,eAAO,MAAM,gBAAgB,iBAAiB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.base.js","sourceRoot":"","sources":["../../src/constants.base.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,4BAA4B,GAAG,QAAQ,CAAA;AAEpD,MAAM,CAAC,IAAM,8BAA8B,GAAG,QAAQ,CAAA;AAEtD,MAAM,CAAC,IAAM,yCAAyC,GAAG,QAAQ,CAAA;AAEjE,MAAM,CAAC,IAAM,+CAA+C,GAAG,EAAE,CAAA;AAEjE,MAAM,CAAC,IAAM,4CAA4C,GAAG,uCAAuC,CAAA;AAEnG,MAAM,CAAC,IAAM,0CAA0C,GAAG,qCAAqC,CAAA;AAE/F,MAAM,CAAC,IAAM,4BAA4B,GAAG,cAAc,CAAA;AAE1D,MAAM,CAAC,IAAM,6BAA6B,GAAG,0BAA0B,CAAA;AAEvE,MAAM,CAAC,IAAM,2BAA2B,GAAG,wBAAwB,CAAA;AAEnE,MAAM,CAAC,IAAM,4BAA4B,GAAG,yBAAyB,CAAA;AAErE,MAAM,CAAC,IAAM,6CAA6C,GAAG,+BAA+B,CAAA;AAE5F,MAAM,CAAC,IAAM,oDAAoD,GAAG,sCAAsC,CAAA;AAE1G,MAAM,CAAC,IAAM,8BAA8B,GAAG,2BAA2B,CAAA;AAEzE,MAAM,CAAC,IAAM,0BAA0B,GAAG,uBAAuB,CAAA;AAEjE,MAAM,CAAC,IAAM,+BAA+B,GAAG,4BAA4B,CAAA;AAE3E,MAAM,CAAC,IAAM,2BAA2B,GAAG,wBAAwB,CAAA;AAEnE,MAAM,CAAC,IAAM,2BAA2B,GAAG,wBAAwB,CAAA;AAEnE,MAAM,CAAC,IAAM,gCAAgC,GAAG,6BAA6B,CAAA;AAE7E,MAAM,CAAC,IAAM,kCAAkC,GAAG,+BAA+B,CAAA;AAEjF,MAAM,CAAC,IAAM,mCAAmC,GAAG,gCAAgC,CAAA;AAEnF,MAAM,CAAC,IAAM,qCAAqC,GAAG,kCAAkC,CAAA;AAEvF,MAAM,CAAC,IAAM,sCAAsC,GAAG,mCAAmC,CAAA;AAEzF,MAAM,CAAC,IAAM,4CAA4C,GAAG,yCAAyC,CAAA;AAErG,MAAM,CAAC,IAAM,oCAAoC,GAAG,iCAAiC,CAAA;AAErF,MAAM,CAAC,IAAM,6CAA6C,GAAG,0CAA0C,CAAA;AAEvG,MAAM,CAAC,IAAM,qCAAqC,GAAG,kCAAkC,CAAA;AAEvF,MAAM,CAAC,IAAM,qCAAqC,GAAG,sCAAsC,CAAA;AAE3F,MAAM,CAAC,IAAM,8CAA8C,GAAG,0CAA0C,CAAA;AAExG,MAAM,CAAC,IAAM,sCAAsC,GAAG,uCAAuC,CAAA;AAE7F,MAAM,CAAC,IAAM,uCAAuC,GAAG,oCAAoC,CAAA;AAE3F,MAAM,CAAC,IAAM,gDAAgD,GAAG,6CAA6C,CAAA;AAE7G,MAAM,CAAC,IAAM,yCAAyC,GAAG,sCAAsC,CAAA;AAE/F,MAAM,CAAC,IAAM,gBAAgB,GAAG,cAAc,CAAA","sourcesContent":["export const MULTIPLAYER_TRACE_DOC_PREFIX = 'd0cd0c'\n\nexport const MULTIPLAYER_TRACE_DEBUG_PREFIX = 'debdeb'\n\nexport const MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX = 'cdbcdb'\n\nexport const MULTIPLAYER_TRACE_DEBUG_SESSION_SHORT_ID_LENGTH = 16\n\nexport const MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL = 'https://api.multiplayer.app/v1/traces'\n\nexport const MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_URL = 'https://api.multiplayer.app/v1/logs'\n\nexport const MULTIPLAYER_ATTRIBUTE_PREFIX = 'multiplayer.'\n\nexport const ATTR_MULTIPLAYER_WORKSPACE_ID = 'multiplayer.workspace.id'\n\nexport const ATTR_MULTIPLAYER_PROJECT_ID = 'multiplayer.project.id'\n\nexport const ATTR_MULTIPLAYER_PLATFORM_ID = 'multiplayer.platform.id'\n\nexport const ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE = 'multiplayer.session.auto-save'\n\nexport const ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE_REASON = 'multiplayer.session.auto-save.reason'\n\nexport const ATTR_MULTIPLAYER_PLATFORM_NAME = 'multiplayer.platform.name'\n\nexport const ATTR_MULTIPLAYER_CLIENT_ID = 'multiplayer.client.id'\n\nexport const ATTR_MULTIPLAYER_INTEGRATION_ID = 'multiplayer.integration.id'\n\nexport const ATTR_MULTIPLAYER_SESSION_ID = 'multiplayer.session.id'\n\nexport const ATTR_MULTIPLAYER_HTTP_PROXY = 'multiplayer.http.proxy'\n\nexport const ATTR_MULTIPLAYER_HTTP_PROXY_TYPE = 'multiplayer.http.proxy.type'\n\nexport const ATTR_MULTIPLAYER_HTTP_REQUEST_BODY = 'multiplayer.http.request.body'\n\nexport const ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY = 'multiplayer.http.response.body'\n\nexport const ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS = 'multiplayer.http.request.headers'\n\nexport const ATTR_MULTIPLAYER_HTTP_RESPONSE_HEADERS = 'multiplayer.http.response.headers'\n\nexport const ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY_ENCODING = 'multiplayer.http.response.body.encoding'\n\nexport const ATTR_MULTIPLAYER_RPC_REQUEST_MESSAGE = 'multiplayer.rpc.request.message'\n\nexport const ATTR_MULTIPLAYER_RPC_REQUEST_MESSAGE_ENCODING = 'multiplayer.rpc.request.message.encoding'\n\nexport const ATTR_MULTIPLAYER_RPC_RESPONSE_MESSAGE = 'multiplayer.rpc.response.message'\n\nexport const ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE = 'multiplayer.rpc.grpc.request.message'\n\nexport const ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE_ENCODING = 'multiplayer.rpc.request.message.encoding'\n\nexport const ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE = 'multiplayer.rpc.grpc.response.message'\n\nexport const ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY = 'multiplayer.messaging.message.body'\n\nexport const ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY_ENCODING = 'multiplayer.messaging.message.body.encoding'\n\nexport const ATTR_MULTIPLAYER_SESSION_RECORDER_VERSION = 'multiplayer.session-recorder.version'\n\nexport const MASK_PLACEHOLDER = '***MASKED***'\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.browser.d.ts","sourceRoot":"","sources":["../../src/constants.browser.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.browser.js","sourceRoot":"","sources":["../../src/constants.browser.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA","sourcesContent":["export * from './constants.base'\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.node.d.ts","sourceRoot":"","sources":["../../src/constants.node.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAEhC,eAAO,MAAM,0CAA0C,QAE7C,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.node.js","sourceRoot":"","sources":["../../src/constants.node.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAEhC,MAAM,CAAC,IAAM,0CAA0C,GAAG,OAAO,CAAC,GAAG,CAAC,0CAA0C;IAC9G,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC;IAChE,CAAC,CAAC,MAAM,CAAA","sourcesContent":["export * from './constants.base'\n\nexport const MULTIPLAYER_MAX_HTTP_REQUEST_RESPONSE_SIZE = process.env.MULTIPLAYER_MAX_HTTP_REQUEST_RESPONSE_SIZE\n ? Number(process.env.MULTIPLAYER_MAX_HTTP_REQUEST_RESPONSE_SIZE)\n : 500000\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SessionRecorderHttpInstrumentationHooksNode.d.ts","sourceRoot":"","sources":["../../src/SessionRecorderHttpInstrumentationHooksNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,aAAa,EACd,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAqB9C,UAAU,uBAAuB;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAE9B,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,KAAK,GAAG,CAAA;IACxC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,KAAK,GAAG,CAAA;IAE3C,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAE1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B;AAED,UAAU,sBAAsB;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAEhC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAE9B,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,KAAK,GAAG,CAAA;IACxC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,KAAK,GAAG,CAAA;IAE3C,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAE1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B;AA0ED,eAAO,MAAM,2CAA2C;6BAC9B,uBAAuB,MAC5C,MAAM,IAAI,EAAE,UAAU,eAAe,GAAG,cAAc;4BAwIlC,sBAAsB,MAC1C,MAAM,IAAI,EAAE,SAAS,aAAa,GAAG,eAAe;CA+FxD,CAAA"}