@multiplayer-app/session-recorder-common 0.0.12 → 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 (343) hide show
  1. package/dist/esm/SessionRecorderIdGenerator.js +2 -2
  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.d.ts.map +1 -1
  7. package/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js +4 -4
  8. package/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js.map +1 -1
  9. package/dist/esm/{constants.base.d.ts → constants/constants.base.d.ts} +16 -0
  10. package/dist/esm/constants/constants.base.d.ts.map +1 -0
  11. package/dist/esm/{constants.base.js → constants/constants.base.js} +16 -0
  12. package/dist/esm/constants/constants.base.js.map +1 -0
  13. package/dist/esm/constants/constants.browser.d.ts.map +1 -0
  14. package/dist/esm/constants/constants.browser.js.map +1 -0
  15. package/dist/esm/constants/constants.node.d.ts.map +1 -0
  16. package/dist/esm/constants/constants.node.js.map +1 -0
  17. package/dist/esm/exporters/SessionRecorderBrowserTraceExporter.d.ts +31 -0
  18. package/dist/esm/exporters/SessionRecorderBrowserTraceExporter.d.ts.map +1 -0
  19. package/dist/esm/exporters/SessionRecorderBrowserTraceExporter.js +220 -0
  20. package/dist/esm/exporters/SessionRecorderBrowserTraceExporter.js.map +1 -0
  21. package/dist/esm/exporters/SessionRecorderGrpcLogsExporter.d.ts +22 -0
  22. package/dist/esm/exporters/SessionRecorderGrpcLogsExporter.d.ts.map +1 -0
  23. package/dist/esm/exporters/SessionRecorderGrpcLogsExporter.js +51 -0
  24. package/dist/esm/exporters/SessionRecorderGrpcLogsExporter.js.map +1 -0
  25. package/dist/esm/exporters/SessionRecorderGrpcTraceExporter.d.ts +22 -0
  26. package/dist/esm/exporters/SessionRecorderGrpcTraceExporter.d.ts.map +1 -0
  27. package/dist/esm/exporters/SessionRecorderGrpcTraceExporter.js +48 -0
  28. package/dist/esm/exporters/SessionRecorderGrpcTraceExporter.js.map +1 -0
  29. package/dist/esm/exporters/SessionRecorderHttpLogsExporter.d.ts +20 -0
  30. package/dist/esm/exporters/SessionRecorderHttpLogsExporter.d.ts.map +1 -0
  31. package/dist/esm/exporters/SessionRecorderHttpLogsExporter.js +50 -0
  32. package/dist/esm/exporters/SessionRecorderHttpLogsExporter.js.map +1 -0
  33. package/dist/esm/exporters/SessionRecorderHttpTraceExporter.d.ts +25 -0
  34. package/dist/esm/exporters/SessionRecorderHttpTraceExporter.d.ts.map +1 -0
  35. package/dist/esm/exporters/SessionRecorderHttpTraceExporter.js +56 -0
  36. package/dist/esm/exporters/SessionRecorderHttpTraceExporter.js.map +1 -0
  37. package/dist/esm/exporters/SessionRecorderLogsExporterWrapper.d.ts +13 -0
  38. package/dist/esm/exporters/SessionRecorderLogsExporterWrapper.d.ts.map +1 -0
  39. package/dist/esm/exporters/SessionRecorderLogsExporterWrapper.js +25 -0
  40. package/dist/esm/exporters/SessionRecorderLogsExporterWrapper.js.map +1 -0
  41. package/dist/esm/exporters/SessionRecorderTraceExporterWrapper.d.ts +13 -0
  42. package/dist/esm/exporters/SessionRecorderTraceExporterWrapper.d.ts.map +1 -0
  43. package/dist/esm/exporters/SessionRecorderTraceExporterWrapper.js +24 -0
  44. package/dist/esm/exporters/SessionRecorderTraceExporterWrapper.js.map +1 -0
  45. package/dist/esm/exporters/index-browser.d.ts +2 -0
  46. package/dist/esm/exporters/index-browser.d.ts.map +1 -0
  47. package/dist/esm/exporters/index-browser.js +2 -0
  48. package/dist/esm/exporters/index-browser.js.map +1 -0
  49. package/dist/esm/exporters/index-node.d.ts +7 -0
  50. package/dist/esm/exporters/index-node.d.ts.map +1 -0
  51. package/dist/esm/exporters/index-node.js +7 -0
  52. package/dist/esm/exporters/index-node.js.map +1 -0
  53. package/dist/esm/exporters/index.d.ts +8 -0
  54. package/dist/esm/exporters/index.d.ts.map +1 -0
  55. package/dist/esm/exporters/index.js +8 -0
  56. package/dist/esm/exporters/index.js.map +1 -0
  57. package/dist/esm/index-browser.d.ts +2 -2
  58. package/dist/esm/index-browser.d.ts.map +1 -1
  59. package/dist/esm/index-browser.js +2 -2
  60. package/dist/esm/index-browser.js.map +1 -1
  61. package/dist/esm/index-node.d.ts +3 -2
  62. package/dist/esm/index-node.d.ts.map +1 -1
  63. package/dist/esm/index-node.js +3 -2
  64. package/dist/esm/index-node.js.map +1 -1
  65. package/dist/esm/index.d.ts +3 -4
  66. package/dist/esm/index.d.ts.map +1 -1
  67. package/dist/esm/index.js +3 -4
  68. package/dist/esm/index.js.map +1 -1
  69. package/dist/esm/instrumentations/SessionRecorderHttpInstrumentationHooksNode.d.ts.map +1 -0
  70. package/dist/esm/{SessionRecorderHttpInstrumentationHooksNode.js → instrumentations/SessionRecorderHttpInstrumentationHooksNode.js} +3 -6
  71. package/dist/esm/instrumentations/SessionRecorderHttpInstrumentationHooksNode.js.map +1 -0
  72. package/dist/esm/instrumentations/index-node.d.ts +2 -0
  73. package/dist/esm/instrumentations/index-node.d.ts.map +1 -0
  74. package/dist/esm/instrumentations/index-node.js +2 -0
  75. package/dist/esm/instrumentations/index-node.js.map +1 -0
  76. package/dist/esm/sdk/capture-exception.js.map +1 -1
  77. package/dist/esm/sdk/id-generator.js.map +1 -1
  78. package/dist/esm/sdk/mask.js +1 -1
  79. package/dist/esm/sdk/mask.js.map +1 -1
  80. package/dist/esm/sdk/save-continuous-deb-session.d.ts.map +1 -1
  81. package/dist/esm/sdk/save-continuous-deb-session.js +2 -2
  82. package/dist/esm/sdk/save-continuous-deb-session.js.map +1 -1
  83. package/dist/esm/sdk/schemify.d.ts.map +1 -1
  84. package/dist/esm/sdk/schemify.js +0 -1
  85. package/dist/esm/sdk/schemify.js.map +1 -1
  86. package/dist/esm/sdk/set-attribute.js +2 -2
  87. package/dist/esm/sdk/set-attribute.js.map +1 -1
  88. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  89. package/dist/esnext/SessionRecorderIdGenerator.js +2 -2
  90. package/dist/esnext/SessionRecorderIdGenerator.js.map +1 -1
  91. package/dist/esnext/SessionRecorderJsonTraceSerializer.d.ts.map +1 -1
  92. package/dist/esnext/SessionRecorderJsonTraceSerializer.js +47 -7
  93. package/dist/esnext/SessionRecorderJsonTraceSerializer.js.map +1 -1
  94. package/dist/esnext/SessionRecorderTraceIdRatioBasedSampler.d.ts.map +1 -1
  95. package/dist/esnext/SessionRecorderTraceIdRatioBasedSampler.js +4 -4
  96. package/dist/esnext/SessionRecorderTraceIdRatioBasedSampler.js.map +1 -1
  97. package/dist/{src → esnext/constants}/constants.base.d.ts +16 -0
  98. package/dist/esnext/constants/constants.base.d.ts.map +1 -0
  99. package/dist/esnext/{constants.base.js → constants/constants.base.js} +16 -0
  100. package/dist/esnext/constants/constants.base.js.map +1 -0
  101. package/dist/esnext/constants/constants.browser.d.ts.map +1 -0
  102. package/dist/esnext/constants/constants.browser.js.map +1 -0
  103. package/dist/esnext/constants/constants.node.d.ts.map +1 -0
  104. package/dist/esnext/constants/constants.node.js.map +1 -0
  105. package/dist/esnext/exporters/SessionRecorderBrowserTraceExporter.d.ts +31 -0
  106. package/dist/esnext/exporters/SessionRecorderBrowserTraceExporter.d.ts.map +1 -0
  107. package/dist/esnext/exporters/SessionRecorderBrowserTraceExporter.js +159 -0
  108. package/dist/esnext/exporters/SessionRecorderBrowserTraceExporter.js.map +1 -0
  109. package/dist/esnext/exporters/SessionRecorderGrpcLogsExporter.d.ts +22 -0
  110. package/dist/esnext/exporters/SessionRecorderGrpcLogsExporter.d.ts.map +1 -0
  111. package/dist/esnext/exporters/SessionRecorderGrpcLogsExporter.js +33 -0
  112. package/dist/esnext/exporters/SessionRecorderGrpcLogsExporter.js.map +1 -0
  113. package/dist/esnext/exporters/SessionRecorderGrpcTraceExporter.d.ts +22 -0
  114. package/dist/esnext/exporters/SessionRecorderGrpcTraceExporter.d.ts.map +1 -0
  115. package/dist/esnext/exporters/SessionRecorderGrpcTraceExporter.js +30 -0
  116. package/dist/esnext/exporters/SessionRecorderGrpcTraceExporter.js.map +1 -0
  117. package/dist/esnext/exporters/SessionRecorderHttpLogsExporter.d.ts +20 -0
  118. package/dist/esnext/exporters/SessionRecorderHttpLogsExporter.d.ts.map +1 -0
  119. package/dist/esnext/exporters/SessionRecorderHttpLogsExporter.js +32 -0
  120. package/dist/esnext/exporters/SessionRecorderHttpLogsExporter.js.map +1 -0
  121. package/dist/esnext/exporters/SessionRecorderHttpTraceExporter.d.ts +25 -0
  122. package/dist/esnext/exporters/SessionRecorderHttpTraceExporter.d.ts.map +1 -0
  123. package/dist/esnext/exporters/SessionRecorderHttpTraceExporter.js +38 -0
  124. package/dist/esnext/exporters/SessionRecorderHttpTraceExporter.js.map +1 -0
  125. package/dist/esnext/exporters/SessionRecorderLogsExporterWrapper.d.ts +13 -0
  126. package/dist/esnext/exporters/SessionRecorderLogsExporterWrapper.d.ts.map +1 -0
  127. package/dist/esnext/exporters/SessionRecorderLogsExporterWrapper.js +23 -0
  128. package/dist/esnext/exporters/SessionRecorderLogsExporterWrapper.js.map +1 -0
  129. package/dist/esnext/exporters/SessionRecorderTraceExporterWrapper.d.ts +13 -0
  130. package/dist/esnext/exporters/SessionRecorderTraceExporterWrapper.d.ts.map +1 -0
  131. package/dist/esnext/exporters/SessionRecorderTraceExporterWrapper.js +22 -0
  132. package/dist/esnext/exporters/SessionRecorderTraceExporterWrapper.js.map +1 -0
  133. package/dist/esnext/exporters/index-browser.d.ts +2 -0
  134. package/dist/esnext/exporters/index-browser.d.ts.map +1 -0
  135. package/dist/esnext/exporters/index-browser.js +2 -0
  136. package/dist/esnext/exporters/index-browser.js.map +1 -0
  137. package/dist/esnext/exporters/index-node.d.ts +7 -0
  138. package/dist/esnext/exporters/index-node.d.ts.map +1 -0
  139. package/dist/esnext/exporters/index-node.js +7 -0
  140. package/dist/esnext/exporters/index-node.js.map +1 -0
  141. package/dist/esnext/exporters/index.d.ts +8 -0
  142. package/dist/esnext/exporters/index.d.ts.map +1 -0
  143. package/dist/esnext/exporters/index.js +8 -0
  144. package/dist/esnext/exporters/index.js.map +1 -0
  145. package/dist/esnext/index-browser.d.ts +2 -2
  146. package/dist/esnext/index-browser.d.ts.map +1 -1
  147. package/dist/esnext/index-browser.js +2 -2
  148. package/dist/esnext/index-browser.js.map +1 -1
  149. package/dist/esnext/index-node.d.ts +3 -2
  150. package/dist/esnext/index-node.d.ts.map +1 -1
  151. package/dist/esnext/index-node.js +3 -2
  152. package/dist/esnext/index-node.js.map +1 -1
  153. package/dist/esnext/index.d.ts +3 -4
  154. package/dist/esnext/index.d.ts.map +1 -1
  155. package/dist/esnext/index.js +3 -4
  156. package/dist/esnext/index.js.map +1 -1
  157. package/dist/esnext/instrumentations/SessionRecorderHttpInstrumentationHooksNode.d.ts.map +1 -0
  158. package/dist/esnext/{SessionRecorderHttpInstrumentationHooksNode.js → instrumentations/SessionRecorderHttpInstrumentationHooksNode.js} +3 -6
  159. package/dist/esnext/instrumentations/SessionRecorderHttpInstrumentationHooksNode.js.map +1 -0
  160. package/dist/esnext/instrumentations/index-node.d.ts +2 -0
  161. package/dist/esnext/instrumentations/index-node.d.ts.map +1 -0
  162. package/dist/esnext/instrumentations/index-node.js +2 -0
  163. package/dist/esnext/instrumentations/index-node.js.map +1 -0
  164. package/dist/esnext/sdk/capture-exception.js.map +1 -1
  165. package/dist/esnext/sdk/id-generator.js.map +1 -1
  166. package/dist/esnext/sdk/mask.js +1 -1
  167. package/dist/esnext/sdk/mask.js.map +1 -1
  168. package/dist/esnext/sdk/save-continuous-deb-session.d.ts.map +1 -1
  169. package/dist/esnext/sdk/save-continuous-deb-session.js +2 -2
  170. package/dist/esnext/sdk/save-continuous-deb-session.js.map +1 -1
  171. package/dist/esnext/sdk/schemify.d.ts.map +1 -1
  172. package/dist/esnext/sdk/schemify.js +0 -1
  173. package/dist/esnext/sdk/schemify.js.map +1 -1
  174. package/dist/esnext/sdk/set-attribute.js +2 -2
  175. package/dist/esnext/sdk/set-attribute.js.map +1 -1
  176. package/dist/esnext/tsconfig.esnext.tsbuildinfo +1 -1
  177. package/dist/src/SessionRecorderIdGenerator.js +1 -1
  178. package/dist/src/SessionRecorderIdGenerator.js.map +1 -1
  179. package/dist/src/SessionRecorderJsonTraceSerializer.d.ts.map +1 -1
  180. package/dist/src/SessionRecorderJsonTraceSerializer.js +47 -7
  181. package/dist/src/SessionRecorderJsonTraceSerializer.js.map +1 -1
  182. package/dist/src/SessionRecorderTraceIdRatioBasedSampler.d.ts.map +1 -1
  183. package/dist/src/SessionRecorderTraceIdRatioBasedSampler.js +4 -4
  184. package/dist/src/SessionRecorderTraceIdRatioBasedSampler.js.map +1 -1
  185. package/dist/{esnext → src/constants}/constants.base.d.ts +16 -0
  186. package/dist/src/constants/constants.base.d.ts.map +1 -0
  187. package/dist/src/{constants.base.js → constants/constants.base.js} +17 -1
  188. package/dist/src/constants/constants.base.js.map +1 -0
  189. package/dist/src/constants/constants.browser.d.ts.map +1 -0
  190. package/dist/src/constants/constants.browser.js.map +1 -0
  191. package/dist/src/constants/constants.node.d.ts.map +1 -0
  192. package/dist/src/constants/constants.node.js.map +1 -0
  193. package/dist/src/exporters/SessionRecorderBrowserTraceExporter.d.ts +31 -0
  194. package/dist/src/exporters/SessionRecorderBrowserTraceExporter.d.ts.map +1 -0
  195. package/dist/src/exporters/SessionRecorderBrowserTraceExporter.js +163 -0
  196. package/dist/src/exporters/SessionRecorderBrowserTraceExporter.js.map +1 -0
  197. package/dist/src/exporters/SessionRecorderGrpcLogsExporter.d.ts +22 -0
  198. package/dist/src/exporters/SessionRecorderGrpcLogsExporter.d.ts.map +1 -0
  199. package/dist/src/exporters/SessionRecorderGrpcLogsExporter.js +37 -0
  200. package/dist/src/exporters/SessionRecorderGrpcLogsExporter.js.map +1 -0
  201. package/dist/src/exporters/SessionRecorderGrpcTraceExporter.d.ts +22 -0
  202. package/dist/src/exporters/SessionRecorderGrpcTraceExporter.d.ts.map +1 -0
  203. package/dist/src/exporters/SessionRecorderGrpcTraceExporter.js +34 -0
  204. package/dist/src/exporters/SessionRecorderGrpcTraceExporter.js.map +1 -0
  205. package/dist/src/exporters/SessionRecorderHttpLogsExporter.d.ts +20 -0
  206. package/dist/src/exporters/SessionRecorderHttpLogsExporter.d.ts.map +1 -0
  207. package/dist/src/exporters/SessionRecorderHttpLogsExporter.js +36 -0
  208. package/dist/src/exporters/SessionRecorderHttpLogsExporter.js.map +1 -0
  209. package/dist/src/exporters/SessionRecorderHttpTraceExporter.d.ts +25 -0
  210. package/dist/src/exporters/SessionRecorderHttpTraceExporter.d.ts.map +1 -0
  211. package/dist/src/exporters/SessionRecorderHttpTraceExporter.js +42 -0
  212. package/dist/src/exporters/SessionRecorderHttpTraceExporter.js.map +1 -0
  213. package/dist/src/exporters/SessionRecorderLogsExporterWrapper.d.ts +13 -0
  214. package/dist/src/exporters/SessionRecorderLogsExporterWrapper.d.ts.map +1 -0
  215. package/dist/src/exporters/SessionRecorderLogsExporterWrapper.js +27 -0
  216. package/dist/src/exporters/SessionRecorderLogsExporterWrapper.js.map +1 -0
  217. package/dist/src/exporters/SessionRecorderTraceExporterWrapper.d.ts +13 -0
  218. package/dist/src/exporters/SessionRecorderTraceExporterWrapper.d.ts.map +1 -0
  219. package/dist/src/exporters/SessionRecorderTraceExporterWrapper.js +26 -0
  220. package/dist/src/exporters/SessionRecorderTraceExporterWrapper.js.map +1 -0
  221. package/dist/src/exporters/index-browser.d.ts +2 -0
  222. package/dist/src/exporters/index-browser.d.ts.map +1 -0
  223. package/dist/src/exporters/index-browser.js +18 -0
  224. package/dist/src/exporters/index-browser.js.map +1 -0
  225. package/dist/src/exporters/index-node.d.ts +7 -0
  226. package/dist/src/exporters/index-node.d.ts.map +1 -0
  227. package/dist/src/exporters/index-node.js +23 -0
  228. package/dist/src/exporters/index-node.js.map +1 -0
  229. package/dist/src/exporters/index.d.ts +8 -0
  230. package/dist/src/exporters/index.d.ts.map +1 -0
  231. package/dist/src/exporters/index.js +24 -0
  232. package/dist/src/exporters/index.js.map +1 -0
  233. package/dist/src/index-browser.d.ts +2 -2
  234. package/dist/src/index-browser.d.ts.map +1 -1
  235. package/dist/src/index-browser.js +3 -4
  236. package/dist/src/index-browser.js.map +1 -1
  237. package/dist/src/index-node.d.ts +3 -2
  238. package/dist/src/index-node.d.ts.map +1 -1
  239. package/dist/src/index-node.js +3 -2
  240. package/dist/src/index-node.js.map +1 -1
  241. package/dist/src/index.d.ts +3 -4
  242. package/dist/src/index.d.ts.map +1 -1
  243. package/dist/src/index.js +4 -8
  244. package/dist/src/index.js.map +1 -1
  245. package/dist/src/instrumentations/SessionRecorderHttpInstrumentationHooksNode.d.ts.map +1 -0
  246. package/dist/src/{SessionRecorderHttpInstrumentationHooksNode.js → instrumentations/SessionRecorderHttpInstrumentationHooksNode.js} +3 -6
  247. package/dist/src/instrumentations/SessionRecorderHttpInstrumentationHooksNode.js.map +1 -0
  248. package/dist/src/instrumentations/index-node.d.ts +2 -0
  249. package/dist/src/instrumentations/index-node.d.ts.map +1 -0
  250. package/dist/src/instrumentations/index-node.js +18 -0
  251. package/dist/src/instrumentations/index-node.js.map +1 -0
  252. package/dist/src/sdk/capture-exception.js.map +1 -1
  253. package/dist/src/sdk/id-generator.js.map +1 -1
  254. package/dist/src/sdk/mask.js +1 -1
  255. package/dist/src/sdk/mask.js.map +1 -1
  256. package/dist/src/sdk/save-continuous-deb-session.d.ts.map +1 -1
  257. package/dist/src/sdk/save-continuous-deb-session.js +2 -2
  258. package/dist/src/sdk/save-continuous-deb-session.js.map +1 -1
  259. package/dist/src/sdk/schemify.d.ts.map +1 -1
  260. package/dist/src/sdk/schemify.js +0 -1
  261. package/dist/src/sdk/schemify.js.map +1 -1
  262. package/dist/src/sdk/set-attribute.js +1 -1
  263. package/dist/src/sdk/set-attribute.js.map +1 -1
  264. package/package.json +12 -6
  265. package/src/SessionRecorderIdGenerator.ts +2 -2
  266. package/src/SessionRecorderJsonTraceSerializer.ts +48 -8
  267. package/src/SessionRecorderTraceIdRatioBasedSampler.ts +7 -4
  268. package/src/{constants.base.ts → constants/constants.base.ts} +23 -0
  269. package/src/exporters/SessionRecorderBrowserTraceExporter.ts +212 -0
  270. package/src/exporters/SessionRecorderGrpcLogsExporter.ts +52 -0
  271. package/src/exporters/SessionRecorderGrpcTraceExporter.ts +50 -0
  272. package/src/exporters/SessionRecorderHttpLogsExporter.ts +58 -0
  273. package/src/exporters/SessionRecorderHttpTraceExporter.ts +65 -0
  274. package/src/exporters/SessionRecorderLogsExporterWrapper.ts +36 -0
  275. package/src/exporters/SessionRecorderTraceExporterWrapper.ts +36 -0
  276. package/src/exporters/index-browser.ts +1 -0
  277. package/src/exporters/index-node.ts +6 -0
  278. package/src/exporters/index.ts +7 -0
  279. package/src/index-browser.ts +2 -2
  280. package/src/index-node.ts +3 -2
  281. package/src/index.ts +3 -4
  282. package/src/{SessionRecorderHttpInstrumentationHooksNode.ts → instrumentations/SessionRecorderHttpInstrumentationHooksNode.ts} +10 -10
  283. package/src/instrumentations/index-node.ts +1 -0
  284. package/src/sdk/capture-exception.ts +3 -3
  285. package/src/sdk/id-generator.ts +12 -12
  286. package/src/sdk/mask.ts +1 -1
  287. package/src/sdk/save-continuous-deb-session.ts +17 -17
  288. package/src/sdk/schemify.ts +0 -1
  289. package/src/sdk/set-attribute.ts +12 -12
  290. package/dist/esm/SessionRecorderHttpInstrumentationHooksNode.d.ts.map +0 -1
  291. package/dist/esm/SessionRecorderHttpInstrumentationHooksNode.js.map +0 -1
  292. package/dist/esm/SessionRecorderHttpTraceExporterBrowser.d.ts +0 -26
  293. package/dist/esm/SessionRecorderHttpTraceExporterBrowser.d.ts.map +0 -1
  294. package/dist/esm/SessionRecorderHttpTraceExporterBrowser.js +0 -116
  295. package/dist/esm/SessionRecorderHttpTraceExporterBrowser.js.map +0 -1
  296. package/dist/esm/constants.base.d.ts.map +0 -1
  297. package/dist/esm/constants.base.js.map +0 -1
  298. package/dist/esm/constants.browser.d.ts.map +0 -1
  299. package/dist/esm/constants.browser.js.map +0 -1
  300. package/dist/esm/constants.node.d.ts.map +0 -1
  301. package/dist/esm/constants.node.js.map +0 -1
  302. package/dist/esnext/SessionRecorderHttpInstrumentationHooksNode.d.ts.map +0 -1
  303. package/dist/esnext/SessionRecorderHttpInstrumentationHooksNode.js.map +0 -1
  304. package/dist/esnext/SessionRecorderHttpTraceExporterBrowser.d.ts +0 -26
  305. package/dist/esnext/SessionRecorderHttpTraceExporterBrowser.d.ts.map +0 -1
  306. package/dist/esnext/SessionRecorderHttpTraceExporterBrowser.js +0 -82
  307. package/dist/esnext/SessionRecorderHttpTraceExporterBrowser.js.map +0 -1
  308. package/dist/esnext/constants.base.d.ts.map +0 -1
  309. package/dist/esnext/constants.base.js.map +0 -1
  310. package/dist/esnext/constants.browser.d.ts.map +0 -1
  311. package/dist/esnext/constants.browser.js.map +0 -1
  312. package/dist/esnext/constants.node.d.ts.map +0 -1
  313. package/dist/esnext/constants.node.js.map +0 -1
  314. package/dist/src/SessionRecorderHttpInstrumentationHooksNode.d.ts.map +0 -1
  315. package/dist/src/SessionRecorderHttpInstrumentationHooksNode.js.map +0 -1
  316. package/dist/src/SessionRecorderHttpTraceExporterBrowser.d.ts +0 -26
  317. package/dist/src/SessionRecorderHttpTraceExporterBrowser.d.ts.map +0 -1
  318. package/dist/src/SessionRecorderHttpTraceExporterBrowser.js +0 -86
  319. package/dist/src/SessionRecorderHttpTraceExporterBrowser.js.map +0 -1
  320. package/dist/src/constants.base.d.ts.map +0 -1
  321. package/dist/src/constants.base.js.map +0 -1
  322. package/dist/src/constants.browser.d.ts.map +0 -1
  323. package/dist/src/constants.browser.js.map +0 -1
  324. package/dist/src/constants.node.d.ts.map +0 -1
  325. package/dist/src/constants.node.js.map +0 -1
  326. package/src/SessionRecorderHttpTraceExporterBrowser.ts +0 -123
  327. /package/dist/esm/{constants.browser.d.ts → constants/constants.browser.d.ts} +0 -0
  328. /package/dist/esm/{constants.browser.js → constants/constants.browser.js} +0 -0
  329. /package/dist/esm/{constants.node.d.ts → constants/constants.node.d.ts} +0 -0
  330. /package/dist/esm/{constants.node.js → constants/constants.node.js} +0 -0
  331. /package/dist/esm/{SessionRecorderHttpInstrumentationHooksNode.d.ts → instrumentations/SessionRecorderHttpInstrumentationHooksNode.d.ts} +0 -0
  332. /package/dist/esnext/{constants.browser.d.ts → constants/constants.browser.d.ts} +0 -0
  333. /package/dist/esnext/{constants.browser.js → constants/constants.browser.js} +0 -0
  334. /package/dist/esnext/{constants.node.d.ts → constants/constants.node.d.ts} +0 -0
  335. /package/dist/esnext/{constants.node.js → constants/constants.node.js} +0 -0
  336. /package/dist/esnext/{SessionRecorderHttpInstrumentationHooksNode.d.ts → instrumentations/SessionRecorderHttpInstrumentationHooksNode.d.ts} +0 -0
  337. /package/dist/src/{constants.browser.d.ts → constants/constants.browser.d.ts} +0 -0
  338. /package/dist/src/{constants.browser.js → constants/constants.browser.js} +0 -0
  339. /package/dist/src/{constants.node.d.ts → constants/constants.node.d.ts} +0 -0
  340. /package/dist/src/{constants.node.js → constants/constants.node.js} +0 -0
  341. /package/dist/src/{SessionRecorderHttpInstrumentationHooksNode.d.ts → instrumentations/SessionRecorderHttpInstrumentationHooksNode.d.ts} +0 -0
  342. /package/src/{constants.browser.ts → constants/constants.browser.ts} +0 -0
  343. /package/src/{constants.node.ts → constants/constants.node.ts} +0 -0
@@ -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,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,MAAM,4BAA4B,GAAG,QAAQ,CAAA;AAEpD,MAAM,CAAC,MAAM,8BAA8B,GAAG,QAAQ,CAAA;AAEtD,MAAM,CAAC,MAAM,yCAAyC,GAAG,QAAQ,CAAA;AAEjE,MAAM,CAAC,MAAM,+CAA+C,GAAG,EAAE,CAAA;AAEjE,MAAM,CAAC,MAAM,4CAA4C,GAAG,uCAAuC,CAAA;AAEnG,MAAM,CAAC,MAAM,0CAA0C,GAAG,qCAAqC,CAAA;AAE/F,MAAM,CAAC,MAAM,4BAA4B,GAAG,cAAc,CAAA;AAE1D,MAAM,CAAC,MAAM,6BAA6B,GAAG,0BAA0B,CAAA;AAEvE,MAAM,CAAC,MAAM,2BAA2B,GAAG,wBAAwB,CAAA;AAEnE,MAAM,CAAC,MAAM,4BAA4B,GAAG,yBAAyB,CAAA;AAErE,MAAM,CAAC,MAAM,6CAA6C,GAAG,+BAA+B,CAAA;AAE5F,MAAM,CAAC,MAAM,oDAAoD,GAAG,sCAAsC,CAAA;AAE1G,MAAM,CAAC,MAAM,8BAA8B,GAAG,2BAA2B,CAAA;AAEzE,MAAM,CAAC,MAAM,0BAA0B,GAAG,uBAAuB,CAAA;AAEjE,MAAM,CAAC,MAAM,+BAA+B,GAAG,4BAA4B,CAAA;AAE3E,MAAM,CAAC,MAAM,2BAA2B,GAAG,wBAAwB,CAAA;AAEnE,MAAM,CAAC,MAAM,kCAAkC,GAAG,+BAA+B,CAAA;AAEjF,MAAM,CAAC,MAAM,mCAAmC,GAAG,gCAAgC,CAAA;AAEnF,MAAM,CAAC,MAAM,qCAAqC,GAAG,kCAAkC,CAAA;AAEvF,MAAM,CAAC,MAAM,sCAAsC,GAAG,mCAAmC,CAAA;AAEzF,MAAM,CAAC,MAAM,4CAA4C,GAAG,yCAAyC,CAAA;AAErG,MAAM,CAAC,MAAM,oCAAoC,GAAG,iCAAiC,CAAA;AAErF,MAAM,CAAC,MAAM,6CAA6C,GAAG,0CAA0C,CAAA;AAEvG,MAAM,CAAC,MAAM,qCAAqC,GAAG,kCAAkC,CAAA;AAEvF,MAAM,CAAC,MAAM,qCAAqC,GAAG,sCAAsC,CAAA;AAE3F,MAAM,CAAC,MAAM,8CAA8C,GAAG,0CAA0C,CAAA;AAExG,MAAM,CAAC,MAAM,sCAAsC,GAAG,uCAAuC,CAAA;AAE7F,MAAM,CAAC,MAAM,uCAAuC,GAAG,oCAAoC,CAAA;AAE3F,MAAM,CAAC,MAAM,gDAAgD,GAAG,6CAA6C,CAAA;AAE7G,MAAM,CAAC,MAAM,yCAAyC,GAAG,sCAAsC,CAAA;AAE/F,MAAM,CAAC,MAAM,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_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,MAAM,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"}
@@ -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 // eslint-disable-next-line\n // @ts-ignore\n oldWrite.apply(_response, restArgs)\n }\n }\n\n // eslint-disable-next-line\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 // eslint-disable-next-line\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,86 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SessionRecorderHttpTraceExporterBrowser = void 0;
4
- const otlp_exporter_base_1 = require("@opentelemetry/otlp-exporter-base");
5
- const browser_http_1 = require("@opentelemetry/otlp-exporter-base/browser-http");
6
- const SessionRecorderJsonTraceSerializer_1 = require("./SessionRecorderJsonTraceSerializer");
7
- const constants_base_1 = require("./constants.base");
8
- /**
9
- * Trace Exporters for Web with postMessage fallback
10
- */
11
- class SessionRecorderHttpTraceExporterBrowser extends otlp_exporter_base_1.OTLPExporterBase {
12
- constructor(config = {}) {
13
- const _config = Object.assign(Object.assign({}, config), { url: config.url || constants_base_1.MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL, headers: Object.assign(Object.assign({}, (config.headers || {})), config.apiKey
14
- ? { Authorization: config.apiKey }
15
- : {}) });
16
- super((0, browser_http_1.createLegacyOtlpBrowserExportDelegate)(_config, SessionRecorderJsonTraceSerializer_1.SessionRecorderJsonTraceSerializer, 'v1/traces', { 'Content-Type': 'application/json' }));
17
- this.usePostMessage = false;
18
- this.config = config;
19
- this.postMessageType = config.postMessageType || 'MULTIPLAYER_SESSION_DEBUGGER_LIB';
20
- this.postMessageTargetOrigin = config.postMessageTargetOrigin || '*';
21
- }
22
- export(spans, resultCallback) {
23
- if (this.usePostMessage) {
24
- this.exportViaPostMessage(spans, resultCallback);
25
- return;
26
- }
27
- super.export(spans, (result) => {
28
- if (result.code === 0) {
29
- resultCallback(result);
30
- }
31
- else if (this.config.usePostMessageFallback) {
32
- this.usePostMessage = true;
33
- this.exportViaPostMessage(spans, resultCallback);
34
- }
35
- else {
36
- resultCallback(result);
37
- }
38
- });
39
- }
40
- exportViaPostMessage(spans, resultCallback) {
41
- if (typeof window === 'undefined') {
42
- resultCallback({ code: 1 });
43
- return;
44
- }
45
- try {
46
- window.postMessage({
47
- action: 'traces',
48
- type: this.postMessageType,
49
- payload: spans.map(span => this._serializeSpan(span)),
50
- }, this.postMessageTargetOrigin);
51
- resultCallback({ code: 0 });
52
- }
53
- catch (e) {
54
- resultCallback({ code: 1 });
55
- }
56
- }
57
- _serializeSpan(span) {
58
- return {
59
- _spanContext: span.spanContext(),
60
- name: span.name,
61
- kind: span.kind,
62
- links: span.links,
63
- ended: span.ended,
64
- events: span.events,
65
- status: span.status,
66
- endTime: span.endTime,
67
- startTime: span.startTime,
68
- duration: span.duration,
69
- attributes: span.attributes,
70
- parentSpanId: span.parentSpanId,
71
- instrumentationLibrary: span.instrumentationLibrary,
72
- droppedAttributesCount: span.droppedAttributesCount,
73
- droppedEventsCount: span.droppedEventsCount,
74
- droppedLinksCount: span.droppedLinksCount,
75
- resource: {
76
- attributes: span.resource.attributes,
77
- asyncAttributesPending: span.resource.asyncAttributesPending,
78
- },
79
- };
80
- }
81
- getDefaultUrl(config) {
82
- return config.url || constants_base_1.MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL;
83
- }
84
- }
85
- exports.SessionRecorderHttpTraceExporterBrowser = SessionRecorderHttpTraceExporterBrowser;
86
- //# 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,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,QAAA,4BAA4B,GAAG,QAAQ,CAAA;AAEvC,QAAA,8BAA8B,GAAG,QAAQ,CAAA;AAEzC,QAAA,yCAAyC,GAAG,QAAQ,CAAA;AAEpD,QAAA,+CAA+C,GAAG,EAAE,CAAA;AAEpD,QAAA,4CAA4C,GAAG,uCAAuC,CAAA;AAEtF,QAAA,0CAA0C,GAAG,qCAAqC,CAAA;AAElF,QAAA,4BAA4B,GAAG,cAAc,CAAA;AAE7C,QAAA,6BAA6B,GAAG,0BAA0B,CAAA;AAE1D,QAAA,2BAA2B,GAAG,wBAAwB,CAAA;AAEtD,QAAA,4BAA4B,GAAG,yBAAyB,CAAA;AAExD,QAAA,6CAA6C,GAAG,+BAA+B,CAAA;AAE/E,QAAA,oDAAoD,GAAG,sCAAsC,CAAA;AAE7F,QAAA,8BAA8B,GAAG,2BAA2B,CAAA;AAE5D,QAAA,0BAA0B,GAAG,uBAAuB,CAAA;AAEpD,QAAA,+BAA+B,GAAG,4BAA4B,CAAA;AAE9D,QAAA,2BAA2B,GAAG,wBAAwB,CAAA;AAEtD,QAAA,kCAAkC,GAAG,+BAA+B,CAAA;AAEpE,QAAA,mCAAmC,GAAG,gCAAgC,CAAA;AAEtE,QAAA,qCAAqC,GAAG,kCAAkC,CAAA;AAE1E,QAAA,sCAAsC,GAAG,mCAAmC,CAAA;AAE5E,QAAA,4CAA4C,GAAG,yCAAyC,CAAA;AAExF,QAAA,oCAAoC,GAAG,iCAAiC,CAAA;AAExE,QAAA,6CAA6C,GAAG,0CAA0C,CAAA;AAE1F,QAAA,qCAAqC,GAAG,kCAAkC,CAAA;AAE1E,QAAA,qCAAqC,GAAG,sCAAsC,CAAA;AAE9E,QAAA,8CAA8C,GAAG,0CAA0C,CAAA;AAE3F,QAAA,sCAAsC,GAAG,uCAAuC,CAAA;AAEhF,QAAA,uCAAuC,GAAG,oCAAoC,CAAA;AAE9E,QAAA,gDAAgD,GAAG,6CAA6C,CAAA;AAEhG,QAAA,yCAAyC,GAAG,sCAAsC,CAAA;AAElF,QAAA,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_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,mDAAgC","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,mDAAgC;AAEnB,QAAA,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,123 +0,0 @@
1
- import { ReadableSpan, SpanExporter } from '@opentelemetry/sdk-trace-base'
2
- import {
3
- OTLPExporterConfigBase,
4
- OTLPExporterBase,
5
- } from '@opentelemetry/otlp-exporter-base'
6
- import { createLegacyOtlpBrowserExportDelegate } from '@opentelemetry/otlp-exporter-base/browser-http'
7
- import { SessionRecorderJsonTraceSerializer } from './SessionRecorderJsonTraceSerializer'
8
- import { MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL } from './constants.base'
9
-
10
- interface SessionRecorderExporterBrowserConfig
11
- extends OTLPExporterConfigBase {
12
- apiKey?: string
13
- usePostMessageFallback?: boolean
14
- postMessageType?: string
15
- postMessageTargetOrigin?: string
16
- }
17
-
18
- /**
19
- * Trace Exporters for Web with postMessage fallback
20
- */
21
- export class SessionRecorderHttpTraceExporterBrowser
22
- extends OTLPExporterBase<ReadableSpan[]>
23
- implements SpanExporter {
24
-
25
- private usePostMessage: boolean = false
26
- private readonly postMessageType: string
27
- private readonly postMessageTargetOrigin: string
28
- private readonly config: SessionRecorderExporterBrowserConfig
29
-
30
- constructor(config: SessionRecorderExporterBrowserConfig = {}) {
31
- const _config = {
32
- ...config,
33
- url: config.url || MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL,
34
- headers: {
35
- ...(config.headers || {}),
36
- ...config.apiKey
37
- ? { Authorization: config.apiKey }
38
- : {},
39
- },
40
- }
41
-
42
- super(
43
- createLegacyOtlpBrowserExportDelegate(
44
- _config,
45
- SessionRecorderJsonTraceSerializer,
46
- 'v1/traces',
47
- { 'Content-Type': 'application/json' },
48
- ),
49
- )
50
-
51
- this.config = config
52
- this.postMessageType = config.postMessageType || 'MULTIPLAYER_SESSION_DEBUGGER_LIB'
53
- this.postMessageTargetOrigin = config.postMessageTargetOrigin || '*'
54
- }
55
-
56
- override export(spans: ReadableSpan[], resultCallback: (result: { code: number }) => void): void {
57
- if (this.usePostMessage) {
58
- this.exportViaPostMessage(spans, resultCallback)
59
- return
60
- }
61
-
62
- super.export(spans, (result) => {
63
- if (result.code === 0) {
64
- resultCallback(result)
65
- } else if (this.config.usePostMessageFallback) {
66
- this.usePostMessage = true
67
- this.exportViaPostMessage(spans, resultCallback)
68
- } else {
69
- resultCallback(result)
70
- }
71
- })
72
- }
73
-
74
- private exportViaPostMessage(spans: ReadableSpan[], resultCallback: (result: { code: number }) => void): void {
75
- if (typeof window === 'undefined') {
76
- resultCallback({ code: 1 })
77
- return
78
- }
79
-
80
- try {
81
- window.postMessage(
82
- {
83
- action: 'traces',
84
- type: this.postMessageType,
85
- payload: spans.map(span => this._serializeSpan(span)),
86
- },
87
- this.postMessageTargetOrigin,
88
- )
89
- resultCallback({ code: 0 })
90
- } catch (e) {
91
- resultCallback({ code: 1 })
92
- }
93
- }
94
-
95
- private _serializeSpan(span: ReadableSpan): any {
96
- return {
97
- _spanContext: span.spanContext(),
98
- name: span.name,
99
- kind: span.kind,
100
- links: span.links,
101
- ended: span.ended,
102
- events: span.events,
103
- status: span.status,
104
- endTime: span.endTime,
105
- startTime: span.startTime,
106
- duration: span.duration,
107
- attributes: span.attributes,
108
- parentSpanId: span.parentSpanId,
109
- instrumentationLibrary: span.instrumentationLibrary,
110
- droppedAttributesCount: span.droppedAttributesCount,
111
- droppedEventsCount: span.droppedEventsCount,
112
- droppedLinksCount: span.droppedLinksCount,
113
- resource: {
114
- attributes: span.resource.attributes,
115
- asyncAttributesPending: span.resource.asyncAttributesPending,
116
- },
117
- }
118
- }
119
-
120
- getDefaultUrl(config: OTLPExporterConfigBase): string {
121
- return config.url || MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL
122
- }
123
- }