@factset/frontgate-js-sdk 7.0.0 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/CHANGELOG.md +1029 -792
  2. package/dist/lib/esnext/FrontgateClient.js +0 -1
  3. package/dist/lib/esnext/authentication/CookieTokenAuthenticationFactors.js +0 -1
  4. package/dist/lib/esnext/authentication/index.js +0 -1
  5. package/dist/lib/esnext/authentication/util/ChallengeResolver.js +0 -1
  6. package/dist/lib/esnext/authentication/util/SecretGenerator.js +0 -1
  7. package/dist/lib/esnext/authentication/util/index.js +0 -1
  8. package/dist/lib/esnext/common/errors.js +0 -1
  9. package/dist/lib/esnext/common/functions.js +0 -1
  10. package/dist/lib/esnext/common/interfaces/PtlMessage.js +0 -1
  11. package/dist/lib/esnext/common/interfaces/index.js +0 -1
  12. package/dist/lib/esnext/common/interfaces/result/HTTPProxyRequestResult.js +0 -1
  13. package/dist/lib/esnext/common/interfaces/result/HighLevelRequestResult.js +0 -1
  14. package/dist/lib/esnext/common/interfaces/result/RequestResult.js +0 -1
  15. package/dist/lib/esnext/common/types/Quality.js +0 -1
  16. package/dist/lib/esnext/common/types/RequestQuality.js +0 -1
  17. package/dist/lib/esnext/common/types/index.js +0 -1
  18. package/dist/lib/esnext/compat/index.js +0 -1
  19. package/dist/lib/esnext/connection/index.js +0 -1
  20. package/dist/lib/esnext/connection/util/Compressor.js +0 -1
  21. package/dist/lib/esnext/connection/util/functions.js +0 -1
  22. package/dist/lib/esnext/index.js +0 -1
  23. package/dist/lib/esnext/logger/AbstractLogger.js +0 -1
  24. package/dist/lib/esnext/logger/ConsoleLogger.js +0 -1
  25. package/dist/lib/esnext/logger/LoggerHelper.js +0 -1
  26. package/dist/lib/esnext/logger/LoggerInterface.js +0 -1
  27. package/dist/lib/esnext/logger/NullLogger.js +0 -1
  28. package/dist/lib/esnext/logger/WinstonLogger.js +0 -1
  29. package/dist/lib/esnext/logger/index.js +0 -1
  30. package/dist/lib/esnext/message/index.js +0 -1
  31. package/dist/lib/esnext/message/interfaces/HTTPProxyRequestOptions.js +0 -1
  32. package/dist/lib/esnext/message/interfaces/HighLevelRequestMethod.js +0 -1
  33. package/dist/lib/esnext/message/interfaces/HighLevelRequestOptions.js +0 -1
  34. package/dist/lib/esnext/message/interfaces/index.js +0 -1
  35. package/dist/lib/esnext/message/request/AbstractMdg2Request.js +0 -1
  36. package/dist/lib/esnext/message/request/AuthenticationByTokenRequest.js +0 -1
  37. package/dist/lib/esnext/message/request/AuthenticationRequest.js +0 -1
  38. package/dist/lib/esnext/message/request/AuthenticationTokenRequest.js +0 -1
  39. package/dist/lib/esnext/message/request/CancelSubscriptionRequest.js +0 -1
  40. package/dist/lib/esnext/message/request/ConfigurationRequest.js +0 -1
  41. package/dist/lib/esnext/message/request/HTTPProxyRequest.js +0 -1
  42. package/dist/lib/esnext/message/request/HighLevelRequest.js +0 -1
  43. package/dist/lib/esnext/message/request/PingRequest.js +0 -1
  44. package/dist/lib/esnext/message/request/TransportLayerClientRequestHeader.js +0 -1
  45. package/dist/lib/esnext/message/request/index.js +0 -1
  46. package/dist/lib/esnext/message/request/raw/RawRequest.js +0 -1
  47. package/dist/lib/esnext/message/request/raw/example/CreateNotationSearchRequest.js +0 -1
  48. package/dist/lib/esnext/message/request/raw/index.js +0 -1
  49. package/dist/lib/esnext/message/response/AuthenticationResponse.js +0 -1
  50. package/dist/lib/esnext/message/response/AuthenticationTokenResponse.js +0 -1
  51. package/dist/lib/esnext/message/response/ConfigurationResponse.js +0 -1
  52. package/dist/lib/esnext/message/response/DisconnectionMessage.js +0 -1
  53. package/dist/lib/esnext/message/response/ErrorResponse.js +0 -1
  54. package/dist/lib/esnext/message/response/HTTPProxyResponse.js +0 -1
  55. package/dist/lib/esnext/message/response/HighLevelResponse.js +0 -1
  56. package/dist/lib/esnext/message/response/Mdg2Response.js +0 -1
  57. package/dist/lib/esnext/message/response/PingResponse.js +0 -1
  58. package/dist/lib/esnext/message/response/index.js +0 -1
  59. package/dist/lib/esnext/message/types/Time.js +0 -1
  60. package/dist/lib/esnext/message/types/TransportLayerClientRequestHeaderFlag.js +0 -1
  61. package/dist/lib/esnext/message/types/index.js +0 -1
  62. package/dist/lib/esnext/message/update/HighLevelUpdate.js +0 -1
  63. package/dist/lib/esnext/message/update/index.js +0 -1
  64. package/dist/lib/esnext/mixins/AuthTokenRequestMixin.js +0 -1
  65. package/dist/lib/esnext/mixins/EndpointRequestMixin.js +0 -1
  66. package/dist/lib/esnext/mixins/HTTPProxyRequestMixin.js +0 -1
  67. package/dist/lib/esnext/mixins/LoggerMixin.js +0 -1
  68. package/dist/lib/esnext/mixins/MessageCompressorMixin.js +0 -1
  69. package/dist/lib/esnext/mixins/OpenTelemetryMixin.js +0 -1
  70. package/dist/lib/esnext/mixins/PingMixin.js +0 -1
  71. package/dist/lib/esnext/mixins/ReconnectMixin.js +0 -1
  72. package/dist/lib/esnext/mixins/RemoteLoggerMixin.js +0 -1
  73. package/dist/lib/esnext/mixins/RequestMixin.js +0 -1
  74. package/dist/lib/esnext/mixins/auth/AppAuthMixin.js +0 -1
  75. package/dist/lib/esnext/mixins/auth/CookieTokenAuthMixin.js +0 -1
  76. package/dist/lib/esnext/mixins/auth/FetchAuthenticationMixin.js +1 -2
  77. package/dist/lib/esnext/mixins/auth/SessionAuthMixin.js +0 -1
  78. package/dist/lib/esnext/mixins/auth/TokenAuthMixin.js +0 -1
  79. package/dist/lib/esnext/mixins/auth/UserCredentialAuthMixin.js +0 -1
  80. package/dist/lib/esnext/mixins/auth/UserPasswordAuthMixin.js +0 -1
  81. package/dist/lib/esnext/mixins/auth/index.js +0 -1
  82. package/dist/lib/esnext/mixins/connection/FrontgateWSMixin.js +0 -1
  83. package/dist/lib/esnext/mixins/connection/index.js +0 -1
  84. package/dist/lib/esnext/mixins/index.js +0 -1
  85. package/dist/lib/esnext/mixins/subscription/DataObserver.js +0 -1
  86. package/dist/lib/esnext/mixins/subscription/EndpointSubscriptionMixin.js +149 -123
  87. package/dist/lib/esnext/mixins/subscription/RawSubscriptionMixin.js +0 -1
  88. package/dist/lib/esnext/mixins/subscription/index.js +0 -1
  89. package/dist/lib/esnext/util/functions.js +0 -1
  90. package/dist/lib/esnext/version.js +1 -2
  91. package/dist/lib/node/FrontgateClient.js +0 -1
  92. package/dist/lib/node/authentication/CookieTokenAuthenticationFactors.js +0 -1
  93. package/dist/lib/node/authentication/index.js +0 -1
  94. package/dist/lib/node/authentication/util/ChallengeResolver.js +0 -1
  95. package/dist/lib/node/authentication/util/SecretGenerator.js +0 -1
  96. package/dist/lib/node/authentication/util/index.js +0 -1
  97. package/dist/lib/node/common/errors.js +0 -1
  98. package/dist/lib/node/common/functions.js +0 -1
  99. package/dist/lib/node/common/interfaces/PtlMessage.js +0 -1
  100. package/dist/lib/node/common/interfaces/index.js +0 -1
  101. package/dist/lib/node/common/interfaces/result/HTTPProxyRequestResult.js +0 -1
  102. package/dist/lib/node/common/interfaces/result/HighLevelRequestResult.js +0 -1
  103. package/dist/lib/node/common/interfaces/result/RequestResult.js +0 -1
  104. package/dist/lib/node/common/types/Quality.js +0 -1
  105. package/dist/lib/node/common/types/RequestQuality.js +0 -1
  106. package/dist/lib/node/common/types/index.js +0 -1
  107. package/dist/lib/node/compat/index.js +0 -1
  108. package/dist/lib/node/connection/index.js +0 -1
  109. package/dist/lib/node/connection/util/Compressor.js +0 -1
  110. package/dist/lib/node/connection/util/functions.js +0 -1
  111. package/dist/lib/node/index.js +0 -1
  112. package/dist/lib/node/logger/AbstractLogger.js +0 -1
  113. package/dist/lib/node/logger/ConsoleLogger.js +0 -1
  114. package/dist/lib/node/logger/LoggerHelper.js +0 -1
  115. package/dist/lib/node/logger/LoggerInterface.js +0 -1
  116. package/dist/lib/node/logger/NullLogger.js +0 -1
  117. package/dist/lib/node/logger/WinstonLogger.js +0 -1
  118. package/dist/lib/node/logger/index.js +0 -1
  119. package/dist/lib/node/message/index.js +0 -1
  120. package/dist/lib/node/message/interfaces/HTTPProxyRequestOptions.js +0 -1
  121. package/dist/lib/node/message/interfaces/HighLevelRequestMethod.js +0 -1
  122. package/dist/lib/node/message/interfaces/HighLevelRequestOptions.js +0 -1
  123. package/dist/lib/node/message/interfaces/index.js +0 -1
  124. package/dist/lib/node/message/request/AbstractMdg2Request.js +0 -1
  125. package/dist/lib/node/message/request/AuthenticationByTokenRequest.js +0 -1
  126. package/dist/lib/node/message/request/AuthenticationRequest.js +0 -1
  127. package/dist/lib/node/message/request/AuthenticationTokenRequest.js +0 -1
  128. package/dist/lib/node/message/request/CancelSubscriptionRequest.js +0 -1
  129. package/dist/lib/node/message/request/ConfigurationRequest.js +0 -1
  130. package/dist/lib/node/message/request/HTTPProxyRequest.js +0 -1
  131. package/dist/lib/node/message/request/HighLevelRequest.js +0 -1
  132. package/dist/lib/node/message/request/PingRequest.js +0 -1
  133. package/dist/lib/node/message/request/TransportLayerClientRequestHeader.js +0 -1
  134. package/dist/lib/node/message/request/index.js +0 -1
  135. package/dist/lib/node/message/request/raw/RawRequest.js +0 -1
  136. package/dist/lib/node/message/request/raw/example/CreateNotationSearchRequest.js +0 -1
  137. package/dist/lib/node/message/request/raw/index.js +0 -1
  138. package/dist/lib/node/message/response/AuthenticationResponse.js +0 -1
  139. package/dist/lib/node/message/response/AuthenticationTokenResponse.js +0 -1
  140. package/dist/lib/node/message/response/ConfigurationResponse.js +0 -1
  141. package/dist/lib/node/message/response/DisconnectionMessage.js +0 -1
  142. package/dist/lib/node/message/response/ErrorResponse.js +0 -1
  143. package/dist/lib/node/message/response/HTTPProxyResponse.js +0 -1
  144. package/dist/lib/node/message/response/HighLevelResponse.js +0 -1
  145. package/dist/lib/node/message/response/Mdg2Response.js +0 -1
  146. package/dist/lib/node/message/response/PingResponse.js +0 -1
  147. package/dist/lib/node/message/response/index.js +0 -1
  148. package/dist/lib/node/message/types/Time.js +0 -1
  149. package/dist/lib/node/message/types/TransportLayerClientRequestHeaderFlag.js +0 -1
  150. package/dist/lib/node/message/types/index.js +0 -1
  151. package/dist/lib/node/message/update/HighLevelUpdate.js +0 -1
  152. package/dist/lib/node/message/update/index.js +0 -1
  153. package/dist/lib/node/mixins/AuthTokenRequestMixin.js +0 -1
  154. package/dist/lib/node/mixins/EndpointRequestMixin.js +0 -1
  155. package/dist/lib/node/mixins/HTTPProxyRequestMixin.js +0 -1
  156. package/dist/lib/node/mixins/LoggerMixin.js +0 -1
  157. package/dist/lib/node/mixins/MessageCompressorMixin.js +0 -1
  158. package/dist/lib/node/mixins/OpenTelemetryMixin.js +0 -1
  159. package/dist/lib/node/mixins/PingMixin.js +0 -1
  160. package/dist/lib/node/mixins/ReconnectMixin.js +0 -1
  161. package/dist/lib/node/mixins/RemoteLoggerMixin.js +0 -1
  162. package/dist/lib/node/mixins/RequestMixin.js +0 -1
  163. package/dist/lib/node/mixins/auth/AppAuthMixin.js +0 -1
  164. package/dist/lib/node/mixins/auth/CookieTokenAuthMixin.js +0 -1
  165. package/dist/lib/node/mixins/auth/FetchAuthenticationMixin.js +1 -2
  166. package/dist/lib/node/mixins/auth/SessionAuthMixin.js +0 -1
  167. package/dist/lib/node/mixins/auth/TokenAuthMixin.js +0 -1
  168. package/dist/lib/node/mixins/auth/UserCredentialAuthMixin.js +0 -1
  169. package/dist/lib/node/mixins/auth/UserPasswordAuthMixin.js +0 -1
  170. package/dist/lib/node/mixins/auth/index.js +0 -1
  171. package/dist/lib/node/mixins/connection/FrontgateWSMixin.js +0 -1
  172. package/dist/lib/node/mixins/connection/index.js +0 -1
  173. package/dist/lib/node/mixins/index.js +0 -1
  174. package/dist/lib/node/mixins/subscription/DataObserver.js +0 -1
  175. package/dist/lib/node/mixins/subscription/EndpointSubscriptionMixin.js +149 -123
  176. package/dist/lib/node/mixins/subscription/RawSubscriptionMixin.js +0 -1
  177. package/dist/lib/node/mixins/subscription/index.js +0 -1
  178. package/dist/lib/node/util/functions.js +0 -1
  179. package/dist/lib/node/version.js +1 -2
  180. package/dist/lib/types/mixins/AuthTokenRequestMixin.d.ts +2 -2
  181. package/dist/lib/types/mixins/EndpointRequestMixin.d.ts +3 -3
  182. package/dist/lib/types/mixins/HTTPProxyRequestMixin.d.ts +2 -2
  183. package/dist/lib/types/mixins/LoggerMixin.d.ts +2 -2
  184. package/dist/lib/types/mixins/MessageCompressorMixin.d.ts +3 -3
  185. package/dist/lib/types/mixins/OpenTelemetryMixin.d.ts +3 -3
  186. package/dist/lib/types/mixins/PingMixin.d.ts +2 -2
  187. package/dist/lib/types/mixins/ReconnectMixin.d.ts +5 -5
  188. package/dist/lib/types/mixins/RemoteLoggerMixin.d.ts +2 -2
  189. package/dist/lib/types/mixins/RequestMixin.d.ts +2 -2
  190. package/dist/lib/types/mixins/auth/AppAuthMixin.d.ts +8 -8
  191. package/dist/lib/types/mixins/auth/CookieTokenAuthMixin.d.ts +2 -2
  192. package/dist/lib/types/mixins/auth/FetchAuthenticationMixin.d.ts +28 -27
  193. package/dist/lib/types/mixins/auth/SessionAuthMixin.d.ts +32 -32
  194. package/dist/lib/types/mixins/auth/TokenAuthMixin.d.ts +4 -4
  195. package/dist/lib/types/mixins/auth/UserCredentialAuthMixin.d.ts +8 -8
  196. package/dist/lib/types/mixins/auth/UserPasswordAuthMixin.d.ts +8 -8
  197. package/dist/lib/types/mixins/connection/FrontgateWSMixin.d.ts +21 -21
  198. package/dist/lib/types/mixins/subscription/EndpointSubscriptionMixin.d.ts +5 -6
  199. package/dist/lib/types/mixins/subscription/RawSubscriptionMixin.d.ts +4 -4
  200. package/dist/lib/umd/mdg2.client.min.umd.js +1 -1
  201. package/dist/lib/umd/mdg2.client.umd.js +208 -186
  202. package/package.json +26 -23
  203. package/dist/lib/esnext/FrontgateClient.js.map +0 -1
  204. package/dist/lib/esnext/authentication/CookieTokenAuthenticationFactors.js.map +0 -1
  205. package/dist/lib/esnext/authentication/index.js.map +0 -1
  206. package/dist/lib/esnext/authentication/util/ChallengeResolver.js.map +0 -1
  207. package/dist/lib/esnext/authentication/util/SecretGenerator.js.map +0 -1
  208. package/dist/lib/esnext/authentication/util/index.js.map +0 -1
  209. package/dist/lib/esnext/common/errors.js.map +0 -1
  210. package/dist/lib/esnext/common/functions.js.map +0 -1
  211. package/dist/lib/esnext/common/interfaces/PtlMessage.js.map +0 -1
  212. package/dist/lib/esnext/common/interfaces/index.js.map +0 -1
  213. package/dist/lib/esnext/common/interfaces/result/HTTPProxyRequestResult.js.map +0 -1
  214. package/dist/lib/esnext/common/interfaces/result/HighLevelRequestResult.js.map +0 -1
  215. package/dist/lib/esnext/common/interfaces/result/RequestResult.js.map +0 -1
  216. package/dist/lib/esnext/common/types/Quality.js.map +0 -1
  217. package/dist/lib/esnext/common/types/RequestQuality.js.map +0 -1
  218. package/dist/lib/esnext/common/types/index.js.map +0 -1
  219. package/dist/lib/esnext/compat/index.js.map +0 -1
  220. package/dist/lib/esnext/connection/index.js.map +0 -1
  221. package/dist/lib/esnext/connection/util/Compressor.js.map +0 -1
  222. package/dist/lib/esnext/connection/util/functions.js.map +0 -1
  223. package/dist/lib/esnext/index.js.map +0 -1
  224. package/dist/lib/esnext/logger/AbstractLogger.js.map +0 -1
  225. package/dist/lib/esnext/logger/ConsoleLogger.js.map +0 -1
  226. package/dist/lib/esnext/logger/LoggerHelper.js.map +0 -1
  227. package/dist/lib/esnext/logger/LoggerInterface.js.map +0 -1
  228. package/dist/lib/esnext/logger/NullLogger.js.map +0 -1
  229. package/dist/lib/esnext/logger/WinstonLogger.js.map +0 -1
  230. package/dist/lib/esnext/logger/index.js.map +0 -1
  231. package/dist/lib/esnext/message/index.js.map +0 -1
  232. package/dist/lib/esnext/message/interfaces/HTTPProxyRequestOptions.js.map +0 -1
  233. package/dist/lib/esnext/message/interfaces/HighLevelRequestMethod.js.map +0 -1
  234. package/dist/lib/esnext/message/interfaces/HighLevelRequestOptions.js.map +0 -1
  235. package/dist/lib/esnext/message/interfaces/index.js.map +0 -1
  236. package/dist/lib/esnext/message/request/AbstractMdg2Request.js.map +0 -1
  237. package/dist/lib/esnext/message/request/AuthenticationByTokenRequest.js.map +0 -1
  238. package/dist/lib/esnext/message/request/AuthenticationRequest.js.map +0 -1
  239. package/dist/lib/esnext/message/request/AuthenticationTokenRequest.js.map +0 -1
  240. package/dist/lib/esnext/message/request/CancelSubscriptionRequest.js.map +0 -1
  241. package/dist/lib/esnext/message/request/ConfigurationRequest.js.map +0 -1
  242. package/dist/lib/esnext/message/request/HTTPProxyRequest.js.map +0 -1
  243. package/dist/lib/esnext/message/request/HighLevelRequest.js.map +0 -1
  244. package/dist/lib/esnext/message/request/PingRequest.js.map +0 -1
  245. package/dist/lib/esnext/message/request/TransportLayerClientRequestHeader.js.map +0 -1
  246. package/dist/lib/esnext/message/request/index.js.map +0 -1
  247. package/dist/lib/esnext/message/request/raw/RawRequest.js.map +0 -1
  248. package/dist/lib/esnext/message/request/raw/example/CreateNotationSearchRequest.js.map +0 -1
  249. package/dist/lib/esnext/message/request/raw/index.js.map +0 -1
  250. package/dist/lib/esnext/message/response/AuthenticationResponse.js.map +0 -1
  251. package/dist/lib/esnext/message/response/AuthenticationTokenResponse.js.map +0 -1
  252. package/dist/lib/esnext/message/response/ConfigurationResponse.js.map +0 -1
  253. package/dist/lib/esnext/message/response/DisconnectionMessage.js.map +0 -1
  254. package/dist/lib/esnext/message/response/ErrorResponse.js.map +0 -1
  255. package/dist/lib/esnext/message/response/HTTPProxyResponse.js.map +0 -1
  256. package/dist/lib/esnext/message/response/HighLevelResponse.js.map +0 -1
  257. package/dist/lib/esnext/message/response/Mdg2Response.js.map +0 -1
  258. package/dist/lib/esnext/message/response/PingResponse.js.map +0 -1
  259. package/dist/lib/esnext/message/response/index.js.map +0 -1
  260. package/dist/lib/esnext/message/types/Time.js.map +0 -1
  261. package/dist/lib/esnext/message/types/TransportLayerClientRequestHeaderFlag.js.map +0 -1
  262. package/dist/lib/esnext/message/types/index.js.map +0 -1
  263. package/dist/lib/esnext/message/update/HighLevelUpdate.js.map +0 -1
  264. package/dist/lib/esnext/message/update/index.js.map +0 -1
  265. package/dist/lib/esnext/mixins/AuthTokenRequestMixin.js.map +0 -1
  266. package/dist/lib/esnext/mixins/EndpointRequestMixin.js.map +0 -1
  267. package/dist/lib/esnext/mixins/HTTPProxyRequestMixin.js.map +0 -1
  268. package/dist/lib/esnext/mixins/LoggerMixin.js.map +0 -1
  269. package/dist/lib/esnext/mixins/MessageCompressorMixin.js.map +0 -1
  270. package/dist/lib/esnext/mixins/OpenTelemetryMixin.js.map +0 -1
  271. package/dist/lib/esnext/mixins/PingMixin.js.map +0 -1
  272. package/dist/lib/esnext/mixins/ReconnectMixin.js.map +0 -1
  273. package/dist/lib/esnext/mixins/RemoteLoggerMixin.js.map +0 -1
  274. package/dist/lib/esnext/mixins/RequestMixin.js.map +0 -1
  275. package/dist/lib/esnext/mixins/auth/AppAuthMixin.js.map +0 -1
  276. package/dist/lib/esnext/mixins/auth/CookieTokenAuthMixin.js.map +0 -1
  277. package/dist/lib/esnext/mixins/auth/FetchAuthenticationMixin.js.map +0 -1
  278. package/dist/lib/esnext/mixins/auth/SessionAuthMixin.js.map +0 -1
  279. package/dist/lib/esnext/mixins/auth/TokenAuthMixin.js.map +0 -1
  280. package/dist/lib/esnext/mixins/auth/UserCredentialAuthMixin.js.map +0 -1
  281. package/dist/lib/esnext/mixins/auth/UserPasswordAuthMixin.js.map +0 -1
  282. package/dist/lib/esnext/mixins/auth/index.js.map +0 -1
  283. package/dist/lib/esnext/mixins/connection/FrontgateWSMixin.js.map +0 -1
  284. package/dist/lib/esnext/mixins/connection/index.js.map +0 -1
  285. package/dist/lib/esnext/mixins/index.js.map +0 -1
  286. package/dist/lib/esnext/mixins/subscription/DataObserver.js.map +0 -1
  287. package/dist/lib/esnext/mixins/subscription/EndpointSubscriptionMixin.js.map +0 -1
  288. package/dist/lib/esnext/mixins/subscription/RawSubscriptionMixin.js.map +0 -1
  289. package/dist/lib/esnext/mixins/subscription/index.js.map +0 -1
  290. package/dist/lib/esnext/util/functions.js.map +0 -1
  291. package/dist/lib/esnext/version.js.map +0 -1
  292. package/dist/lib/node/FrontgateClient.js.map +0 -1
  293. package/dist/lib/node/authentication/CookieTokenAuthenticationFactors.js.map +0 -1
  294. package/dist/lib/node/authentication/index.js.map +0 -1
  295. package/dist/lib/node/authentication/util/ChallengeResolver.js.map +0 -1
  296. package/dist/lib/node/authentication/util/SecretGenerator.js.map +0 -1
  297. package/dist/lib/node/authentication/util/index.js.map +0 -1
  298. package/dist/lib/node/common/errors.js.map +0 -1
  299. package/dist/lib/node/common/functions.js.map +0 -1
  300. package/dist/lib/node/common/interfaces/PtlMessage.js.map +0 -1
  301. package/dist/lib/node/common/interfaces/index.js.map +0 -1
  302. package/dist/lib/node/common/interfaces/result/HTTPProxyRequestResult.js.map +0 -1
  303. package/dist/lib/node/common/interfaces/result/HighLevelRequestResult.js.map +0 -1
  304. package/dist/lib/node/common/interfaces/result/RequestResult.js.map +0 -1
  305. package/dist/lib/node/common/types/Quality.js.map +0 -1
  306. package/dist/lib/node/common/types/RequestQuality.js.map +0 -1
  307. package/dist/lib/node/common/types/index.js.map +0 -1
  308. package/dist/lib/node/compat/index.js.map +0 -1
  309. package/dist/lib/node/connection/index.js.map +0 -1
  310. package/dist/lib/node/connection/util/Compressor.js.map +0 -1
  311. package/dist/lib/node/connection/util/functions.js.map +0 -1
  312. package/dist/lib/node/index.js.map +0 -1
  313. package/dist/lib/node/logger/AbstractLogger.js.map +0 -1
  314. package/dist/lib/node/logger/ConsoleLogger.js.map +0 -1
  315. package/dist/lib/node/logger/LoggerHelper.js.map +0 -1
  316. package/dist/lib/node/logger/LoggerInterface.js.map +0 -1
  317. package/dist/lib/node/logger/NullLogger.js.map +0 -1
  318. package/dist/lib/node/logger/WinstonLogger.js.map +0 -1
  319. package/dist/lib/node/logger/index.js.map +0 -1
  320. package/dist/lib/node/message/index.js.map +0 -1
  321. package/dist/lib/node/message/interfaces/HTTPProxyRequestOptions.js.map +0 -1
  322. package/dist/lib/node/message/interfaces/HighLevelRequestMethod.js.map +0 -1
  323. package/dist/lib/node/message/interfaces/HighLevelRequestOptions.js.map +0 -1
  324. package/dist/lib/node/message/interfaces/index.js.map +0 -1
  325. package/dist/lib/node/message/request/AbstractMdg2Request.js.map +0 -1
  326. package/dist/lib/node/message/request/AuthenticationByTokenRequest.js.map +0 -1
  327. package/dist/lib/node/message/request/AuthenticationRequest.js.map +0 -1
  328. package/dist/lib/node/message/request/AuthenticationTokenRequest.js.map +0 -1
  329. package/dist/lib/node/message/request/CancelSubscriptionRequest.js.map +0 -1
  330. package/dist/lib/node/message/request/ConfigurationRequest.js.map +0 -1
  331. package/dist/lib/node/message/request/HTTPProxyRequest.js.map +0 -1
  332. package/dist/lib/node/message/request/HighLevelRequest.js.map +0 -1
  333. package/dist/lib/node/message/request/PingRequest.js.map +0 -1
  334. package/dist/lib/node/message/request/TransportLayerClientRequestHeader.js.map +0 -1
  335. package/dist/lib/node/message/request/index.js.map +0 -1
  336. package/dist/lib/node/message/request/raw/RawRequest.js.map +0 -1
  337. package/dist/lib/node/message/request/raw/example/CreateNotationSearchRequest.js.map +0 -1
  338. package/dist/lib/node/message/request/raw/index.js.map +0 -1
  339. package/dist/lib/node/message/response/AuthenticationResponse.js.map +0 -1
  340. package/dist/lib/node/message/response/AuthenticationTokenResponse.js.map +0 -1
  341. package/dist/lib/node/message/response/ConfigurationResponse.js.map +0 -1
  342. package/dist/lib/node/message/response/DisconnectionMessage.js.map +0 -1
  343. package/dist/lib/node/message/response/ErrorResponse.js.map +0 -1
  344. package/dist/lib/node/message/response/HTTPProxyResponse.js.map +0 -1
  345. package/dist/lib/node/message/response/HighLevelResponse.js.map +0 -1
  346. package/dist/lib/node/message/response/Mdg2Response.js.map +0 -1
  347. package/dist/lib/node/message/response/PingResponse.js.map +0 -1
  348. package/dist/lib/node/message/response/index.js.map +0 -1
  349. package/dist/lib/node/message/types/Time.js.map +0 -1
  350. package/dist/lib/node/message/types/TransportLayerClientRequestHeaderFlag.js.map +0 -1
  351. package/dist/lib/node/message/types/index.js.map +0 -1
  352. package/dist/lib/node/message/update/HighLevelUpdate.js.map +0 -1
  353. package/dist/lib/node/message/update/index.js.map +0 -1
  354. package/dist/lib/node/mixins/AuthTokenRequestMixin.js.map +0 -1
  355. package/dist/lib/node/mixins/EndpointRequestMixin.js.map +0 -1
  356. package/dist/lib/node/mixins/HTTPProxyRequestMixin.js.map +0 -1
  357. package/dist/lib/node/mixins/LoggerMixin.js.map +0 -1
  358. package/dist/lib/node/mixins/MessageCompressorMixin.js.map +0 -1
  359. package/dist/lib/node/mixins/OpenTelemetryMixin.js.map +0 -1
  360. package/dist/lib/node/mixins/PingMixin.js.map +0 -1
  361. package/dist/lib/node/mixins/ReconnectMixin.js.map +0 -1
  362. package/dist/lib/node/mixins/RemoteLoggerMixin.js.map +0 -1
  363. package/dist/lib/node/mixins/RequestMixin.js.map +0 -1
  364. package/dist/lib/node/mixins/auth/AppAuthMixin.js.map +0 -1
  365. package/dist/lib/node/mixins/auth/CookieTokenAuthMixin.js.map +0 -1
  366. package/dist/lib/node/mixins/auth/FetchAuthenticationMixin.js.map +0 -1
  367. package/dist/lib/node/mixins/auth/SessionAuthMixin.js.map +0 -1
  368. package/dist/lib/node/mixins/auth/TokenAuthMixin.js.map +0 -1
  369. package/dist/lib/node/mixins/auth/UserCredentialAuthMixin.js.map +0 -1
  370. package/dist/lib/node/mixins/auth/UserPasswordAuthMixin.js.map +0 -1
  371. package/dist/lib/node/mixins/auth/index.js.map +0 -1
  372. package/dist/lib/node/mixins/connection/FrontgateWSMixin.js.map +0 -1
  373. package/dist/lib/node/mixins/connection/index.js.map +0 -1
  374. package/dist/lib/node/mixins/index.js.map +0 -1
  375. package/dist/lib/node/mixins/subscription/DataObserver.js.map +0 -1
  376. package/dist/lib/node/mixins/subscription/EndpointSubscriptionMixin.js.map +0 -1
  377. package/dist/lib/node/mixins/subscription/RawSubscriptionMixin.js.map +0 -1
  378. package/dist/lib/node/mixins/subscription/index.js.map +0 -1
  379. package/dist/lib/node/util/functions.js.map +0 -1
  380. package/dist/lib/node/version.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  (function(global2, factory) {
2
2
  typeof exports === "object" && typeof module !== "undefined" ? factory(exports) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.fdsg = {}));
3
- })(this, function(exports2) {
3
+ })(this, (function(exports2) {
4
4
  "use strict";
5
5
  function getDefaultExportFromCjs(x2) {
6
6
  return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, "default") ? x2["default"] : x2;
@@ -175,7 +175,7 @@
175
175
  function timeToMilliseconds(time) {
176
176
  return time.toString().slice(0, -3);
177
177
  }
178
- const PACKAGE_JSON = { version: "7.0.0", package: "@factset/frontgate-js-sdk" };
178
+ const PACKAGE_JSON = { version: "7.0.1", package: "@factset/frontgate-js-sdk" };
179
179
  function getClientInformation() {
180
180
  const navigator2 = getNavigator();
181
181
  return {
@@ -1563,7 +1563,7 @@
1563
1563
  x = (x & 61680) >> 4 | (x & 3855) << 4;
1564
1564
  rev[i] = ((x & 65280) >> 8 | (x & 255) << 8) >> 1;
1565
1565
  }
1566
- var hMap = function(cd, mb, r) {
1566
+ var hMap = (function(cd, mb, r) {
1567
1567
  var s = cd.length;
1568
1568
  var i2 = 0;
1569
1569
  var l = new u16(mb);
@@ -1598,7 +1598,7 @@
1598
1598
  }
1599
1599
  }
1600
1600
  return co;
1601
- };
1601
+ });
1602
1602
  var flt = new u8(288);
1603
1603
  for (var i = 0; i < 144; ++i)
1604
1604
  flt[i] = 8;
@@ -2162,7 +2162,7 @@
2162
2162
  err(6, "invalid zlib data: " + (d[1] & 32 ? "need" : "unexpected") + " dictionary");
2163
2163
  return (d[1] >> 3 & 4) + 2;
2164
2164
  };
2165
- var Deflate = /* @__PURE__ */ function() {
2165
+ var Deflate = /* @__PURE__ */ (function() {
2166
2166
  function Deflate2(opts, cb) {
2167
2167
  if (typeof opts == "function")
2168
2168
  cb = opts, opts = {};
@@ -2218,8 +2218,8 @@
2218
2218
  this.s.w = this.s.i, this.s.i -= 2;
2219
2219
  };
2220
2220
  return Deflate2;
2221
- }();
2222
- var Inflate = /* @__PURE__ */ function() {
2221
+ })();
2222
+ var Inflate = /* @__PURE__ */ (function() {
2223
2223
  function Inflate2(opts, cb) {
2224
2224
  if (typeof opts == "function")
2225
2225
  cb = opts, opts = {};
@@ -2255,8 +2255,8 @@
2255
2255
  this.e(chunk), this.c(final);
2256
2256
  };
2257
2257
  return Inflate2;
2258
- }();
2259
- var Zlib = /* @__PURE__ */ function() {
2258
+ })();
2259
+ var Zlib = /* @__PURE__ */ (function() {
2260
2260
  function Zlib2(opts, cb) {
2261
2261
  this.c = adler();
2262
2262
  this.v = 1;
@@ -2278,8 +2278,8 @@
2278
2278
  Deflate.prototype.flush.call(this);
2279
2279
  };
2280
2280
  return Zlib2;
2281
- }();
2282
- var Unzlib = /* @__PURE__ */ function() {
2281
+ })();
2282
+ var Unzlib = /* @__PURE__ */ (function() {
2283
2283
  function Unzlib2(opts, cb) {
2284
2284
  Inflate.call(this, opts, cb);
2285
2285
  this.v = opts && opts.dictionary ? 2 : 1;
@@ -2299,7 +2299,7 @@
2299
2299
  Inflate.prototype.c.call(this, final);
2300
2300
  };
2301
2301
  return Unzlib2;
2302
- }();
2302
+ })();
2303
2303
  var te = typeof TextEncoder != "undefined" && /* @__PURE__ */ new TextEncoder();
2304
2304
  var td = typeof TextDecoder != "undefined" && /* @__PURE__ */ new TextDecoder();
2305
2305
  var tds = 0;
@@ -2472,16 +2472,26 @@
2472
2472
  const config = { ...originalConfig };
2473
2473
  return class extends Base {
2474
2474
  #subscriptions = /* @__PURE__ */ new Map();
2475
+ #subscriptionCounts = /* @__PURE__ */ new Map();
2476
+ #inFlights = /* @__PURE__ */ new Map();
2475
2477
  async observeEndpoint(method, path, data, requestOptions) {
2476
2478
  const key = `${method}:${path}:${JSON.stringify(data)}:${JSON.stringify(requestOptions ?? {})}`;
2479
+ if (this.#inFlights.has(key)) {
2480
+ const inFlightPromise = this.#inFlights.get(key);
2481
+ this.log(LogLevel.INFO, `Catching inflight subscription for ${key}`);
2482
+ const subscriptionCount = this.#subscriptionCounts.get(key) ?? 0;
2483
+ this.#subscriptionCounts.set(key, subscriptionCount + 1);
2484
+ return inFlightPromise;
2485
+ }
2477
2486
  const timeOutInMs = config.timeout ?? this.defaultTimeoutInMs;
2478
2487
  const resubscribeTimeout = config.subscriptionResubscribeTimeout ?? 1e3;
2479
2488
  if (this.#subscriptions.has(key)) {
2480
2489
  const subscription = this.#subscriptions.get(key);
2490
+ const subscriptionCount = this.#subscriptionCounts.get(key) ?? 0;
2481
2491
  if (subscription) {
2482
- subscription.count++;
2492
+ this.#subscriptionCounts.set(key, subscriptionCount + 1);
2483
2493
  this.log(LogLevel.INFO, `Reusing existing subscription for ${key}`);
2484
- return subscription.observer;
2494
+ return subscription;
2485
2495
  }
2486
2496
  }
2487
2497
  this.log(LogLevel.INFO, `Creating new subscription for ${key}`);
@@ -2492,146 +2502,158 @@
2492
2502
  callbackType: "job",
2493
2503
  callbackId: ""
2494
2504
  };
2495
- await this.hooks.callHook("frontgateConnection:sendMessage", subscriptionMsg);
2496
2505
  const promise = new Promise((resolve, reject) => {
2497
- this.hooks.hookOnce(`frontgateConnection:response:${subscriptionMsg.callbackId}`, (response) => {
2498
- if (!response.Message.includes("HighLevelResponse")) {
2499
- this.log(LogLevel.ERROR, `Unexpected response: ${response.Message}`);
2500
- reject(new ErrorResponse(JSON.stringify(response)));
2501
- return;
2502
- }
2503
- let hlResponseData;
2504
- try {
2505
- hlResponseData = JSON.parse(response.body.value);
2506
- } catch (e) {
2507
- this.log(LogLevel.ERROR, `Failed to parse response: ${response.body.value}`);
2508
- this.log(LogLevel.ERROR, e);
2509
- reject(e);
2510
- return;
2511
- }
2512
- const observer = new FrontgateClientEndpointDataObserver(response.header.id_job, hlResponseData);
2513
- let removeMessageUpdateHook = this.hooks.hook(`frontgateConnection:response:${subscriptionMsg.callbackId}`, (update) => {
2514
- if (!update.Message.includes("HighLevelUpdate")) {
2515
- if (update.Message.includes("SubscriptionLoss")) {
2516
- this.log(LogLevel.DEBUG, `Received: ${update.Message}`);
2517
- setTimeout(() => {
2518
- void resubscribe();
2519
- }, addRandomnessToTime(resubscribeTimeout));
2520
- removeMessageUpdateHook();
2521
- return;
2522
- }
2506
+ this.hooks.callHook("frontgateConnection:sendMessage", subscriptionMsg).then(() => {
2507
+ this.hooks.hookOnce(`frontgateConnection:response:${subscriptionMsg.callbackId}`, (response) => {
2508
+ if (!response.Message.includes("HighLevelResponse")) {
2523
2509
  this.log(LogLevel.ERROR, `Unexpected response: ${response.Message}`);
2524
- observer.pushError(new ErrorResponse(JSON.stringify(update)));
2525
- removeMessageUpdateHook();
2510
+ reject(new ErrorResponse(JSON.stringify(response)));
2526
2511
  return;
2527
2512
  }
2528
- let hlUpdate;
2513
+ let hlResponseData;
2529
2514
  try {
2530
- hlUpdate = new HighLevelUpdate(update);
2515
+ hlResponseData = JSON.parse(response.body.value);
2531
2516
  } catch (e) {
2532
- this.log(LogLevel.ERROR, `Failed to parse response: ${update.body.value}`);
2533
- observer.pushError(e);
2517
+ this.log(LogLevel.ERROR, `Failed to parse response: ${response.body.value}`);
2518
+ this.log(LogLevel.ERROR, e);
2519
+ reject(e);
2534
2520
  return;
2535
2521
  }
2536
- observer.pushPatchData(hlUpdate.data);
2537
- });
2538
- const resubscribe = async () => {
2539
- removeMessageUpdateHook();
2540
- this.log(LogLevel.INFO, `Resubscribing to ${key} due to reconnect`);
2541
- await this.hooks.callHook("frontgateConnection:sendMessage", subscriptionMsg);
2542
- const resubscribePromise = new Promise((res, rej) => {
2543
- this.hooks.hookOnce(`frontgateConnection:response:${subscriptionMsg.callbackId}`, (resp) => {
2544
- if (!response.Message.includes("HighLevelResponse")) {
2545
- const err2 = new ErrorResponse(resp);
2546
- this.log(LogLevel.ERROR, `Unexpected response: ${resp.Message}`);
2522
+ const observer = new FrontgateClientEndpointDataObserver(response.header.id_job, hlResponseData);
2523
+ let removeMessageUpdateHook = this.hooks.hook(`frontgateConnection:response:${subscriptionMsg.callbackId}`, (update) => {
2524
+ if (!update.Message.includes("HighLevelUpdate")) {
2525
+ if (update.Message.includes("SubscriptionLoss")) {
2526
+ this.log(LogLevel.DEBUG, `Received: ${update.Message}`);
2527
+ setTimeout(() => {
2528
+ void resubscribe();
2529
+ }, addRandomnessToTime(resubscribeTimeout));
2547
2530
  removeMessageUpdateHook();
2548
- rej(err2);
2549
2531
  return;
2550
2532
  }
2551
- this.log(LogLevel.INFO, `Resubscribed to ${key} with ${resp.header.id_job}`);
2552
- observer.idJob = resp.header.id_job;
2553
- removeMessageUpdateHook = this.hooks.hook(`frontgateConnection:response:${resp.header.id_job}`, (update) => {
2554
- if (!update.Message.includes("HighLevelUpdate")) {
2555
- if (update.Message.includes("SubscriptionLoss")) {
2556
- this.log(LogLevel.DEBUG, `Received: ${update.Message}`);
2557
- setTimeout(() => {
2558
- void resubscribe();
2559
- }, addRandomnessToTime(resubscribeTimeout));
2560
- return;
2561
- }
2562
- this.log(LogLevel.ERROR, `Unexpected response: ${update.Message}`);
2563
- const err2 = new ErrorResponse(update);
2564
- observer.pushError(err2);
2565
- return;
2566
- }
2567
- let hlUpdate;
2568
- try {
2569
- hlUpdate = new HighLevelUpdate(update);
2570
- } catch (e) {
2571
- this.log(LogLevel.ERROR, `Failed to parse response: ${update.body.value}`);
2572
- observer.pushError(e);
2533
+ this.log(LogLevel.ERROR, `Unexpected response: ${response.Message}`);
2534
+ observer.pushError(new ErrorResponse(JSON.stringify(update)));
2535
+ removeMessageUpdateHook();
2536
+ return;
2537
+ }
2538
+ let hlUpdate;
2539
+ try {
2540
+ hlUpdate = new HighLevelUpdate(update);
2541
+ } catch (e) {
2542
+ this.log(LogLevel.ERROR, `Failed to parse response: ${update.body.value}`);
2543
+ observer.pushError(e);
2544
+ return;
2545
+ }
2546
+ observer.pushPatchData(hlUpdate.data);
2547
+ });
2548
+ const resubscribe = async () => {
2549
+ removeMessageUpdateHook();
2550
+ this.log(LogLevel.INFO, `Resubscribing to ${key} due to reconnect`);
2551
+ await this.hooks.callHook("frontgateConnection:sendMessage", subscriptionMsg);
2552
+ const resubscribePromise = new Promise((res, rej) => {
2553
+ this.hooks.hookOnce(`frontgateConnection:response:${subscriptionMsg.callbackId}`, (resp) => {
2554
+ if (!response.Message.includes("HighLevelResponse")) {
2555
+ const err2 = new ErrorResponse(resp);
2556
+ this.log(LogLevel.ERROR, `Unexpected response: ${resp.Message}`);
2557
+ removeMessageUpdateHook();
2558
+ rej(err2);
2573
2559
  return;
2574
2560
  }
2575
- observer.unsubscribe = () => {
2576
- const subscription = this.#subscriptions.get(key);
2577
- if (subscription) {
2578
- subscription.count--;
2579
- if (subscription.count > 0) {
2580
- this.log(LogLevel.INFO, `Not unsubscribing from ${key} as there are still ${subscription.count} subscribers`);
2561
+ this.log(LogLevel.INFO, `Resubscribed to ${key} with ${resp.header.id_job}`);
2562
+ observer.idJob = resp.header.id_job;
2563
+ removeMessageUpdateHook = this.hooks.hook(`frontgateConnection:response:${resp.header.id_job}`, (update) => {
2564
+ if (!update.Message.includes("HighLevelUpdate")) {
2565
+ if (update.Message.includes("SubscriptionLoss")) {
2566
+ this.log(LogLevel.DEBUG, `Received: ${update.Message}`);
2567
+ setTimeout(() => {
2568
+ void resubscribe();
2569
+ }, addRandomnessToTime(resubscribeTimeout));
2581
2570
  return;
2582
2571
  }
2583
- this.#subscriptions.delete(key);
2572
+ this.log(LogLevel.ERROR, `Unexpected response: ${update.Message}`);
2573
+ const err2 = new ErrorResponse(update);
2574
+ observer.pushError(err2);
2575
+ return;
2584
2576
  }
2585
- this.log(LogLevel.INFO, `Unsubscribing from ${key}`);
2586
- const cancelationRequest = new CancelSubscriptionRequest(observer.idJob);
2587
- const unsubscribeMsg = {
2588
- message: cancelationRequest.getPtlMessage(),
2589
- callbackType: "job",
2590
- callbackId: ""
2577
+ let hlUpdate;
2578
+ try {
2579
+ hlUpdate = new HighLevelUpdate(update);
2580
+ } catch (e) {
2581
+ this.log(LogLevel.ERROR, `Failed to parse response: ${update.body.value}`);
2582
+ observer.pushError(e);
2583
+ return;
2584
+ }
2585
+ observer.unsubscribe = () => {
2586
+ const subscription = this.#subscriptions.get(key);
2587
+ if (subscription) {
2588
+ const subcounts = this.#subscriptionCounts.get(key) ?? 0;
2589
+ this.#subscriptionCounts.set(key, subcounts - 1);
2590
+ if (subcounts - 1 > 0) {
2591
+ this.log(LogLevel.INFO, `Not unsubscribing from ${key} as there are still ${subcounts} subscribers`);
2592
+ return;
2593
+ }
2594
+ this.#subscriptions.delete(key);
2595
+ this.#subscriptionCounts.delete(key);
2596
+ }
2597
+ this.log(LogLevel.INFO, `Unsubscribing from ${key}`);
2598
+ const cancelationRequest = new CancelSubscriptionRequest(observer.idJob);
2599
+ const unsubscribeMsg = {
2600
+ message: cancelationRequest.getPtlMessage(),
2601
+ callbackType: "job",
2602
+ callbackId: ""
2603
+ };
2604
+ void this.hooks.callHook("frontgateConnection:sendMessage", unsubscribeMsg);
2605
+ removeMessageUpdateHook();
2606
+ removeReconnectHook();
2591
2607
  };
2592
- void this.hooks.callHook("frontgateConnection:sendMessage", unsubscribeMsg);
2593
- removeMessageUpdateHook();
2594
- removeReconnectHook();
2595
- };
2596
- observer.pushPatchData(hlUpdate.data);
2608
+ observer.pushPatchData(hlUpdate.data);
2609
+ });
2610
+ res();
2597
2611
  });
2598
- res();
2599
2612
  });
2600
- });
2601
- try {
2602
- await useTimeout(timeOutInMs, "Request timeout reached", resubscribePromise);
2603
- } catch (e) {
2604
- observer.pushError(new ErrorResponse({ Message: "Reconnect failed", Error: e }));
2605
- }
2606
- };
2607
- const removeReconnectHook = this.hooks.hook("reconnect:success", resubscribe);
2608
- observer.unsubscribe = () => {
2609
- const subscription = this.#subscriptions.get(key);
2610
- if (subscription) {
2611
- subscription.count--;
2612
- if (subscription.count > 0) {
2613
- this.log(LogLevel.INFO, `Not unsubscribing from ${key} as there are still ${subscription.count} subscribers`);
2614
- return;
2613
+ try {
2614
+ await useTimeout(timeOutInMs, "Request timeout reached", resubscribePromise);
2615
+ } catch (e) {
2616
+ observer.pushError(new ErrorResponse({ Message: "Reconnect failed", Error: e }));
2615
2617
  }
2616
- this.#subscriptions.delete(key);
2617
- }
2618
- this.log(LogLevel.INFO, `Unsubscribing from ${key}`);
2619
- const cancelationRequest = new CancelSubscriptionRequest(observer.idJob);
2620
- const unsubscribeMsg = {
2621
- message: cancelationRequest.getPtlMessage(),
2622
- callbackType: "job",
2623
- callbackId: ""
2624
2618
  };
2625
- void this.hooks.callHook("frontgateConnection:sendMessage", unsubscribeMsg);
2626
- removeMessageUpdateHook();
2627
- removeReconnectHook();
2628
- };
2629
- this.#subscriptions.set(key, { observer, count: 1 });
2630
- resolve(observer);
2619
+ const removeReconnectHook = this.hooks.hook("reconnect:success", resubscribe);
2620
+ observer.unsubscribe = () => {
2621
+ const subscription = this.#subscriptions.get(key);
2622
+ if (subscription) {
2623
+ const subcounts = this.#subscriptionCounts.get(key) ?? 0;
2624
+ this.#subscriptionCounts.set(key, subcounts - 1);
2625
+ if (subcounts - 1 > 0) {
2626
+ this.log(LogLevel.INFO, `Not unsubscribing from ${key} as there are still ${subcounts} subscribers`);
2627
+ return;
2628
+ }
2629
+ this.#subscriptions.delete(key);
2630
+ this.#subscriptionCounts.delete(key);
2631
+ }
2632
+ this.log(LogLevel.INFO, `Unsubscribing from ${key}`);
2633
+ const cancelationRequest = new CancelSubscriptionRequest(observer.idJob);
2634
+ const unsubscribeMsg = {
2635
+ message: cancelationRequest.getPtlMessage(),
2636
+ callbackType: "job",
2637
+ callbackId: ""
2638
+ };
2639
+ void this.hooks.callHook("frontgateConnection:sendMessage", unsubscribeMsg);
2640
+ removeMessageUpdateHook();
2641
+ removeReconnectHook();
2642
+ };
2643
+ this.#subscriptions.set(key, observer);
2644
+ const currentSubscounts = this.#subscriptionCounts.get(key) ?? 0;
2645
+ this.#subscriptionCounts.set(key, currentSubscounts + 1);
2646
+ this.#inFlights.delete(key);
2647
+ resolve(observer);
2648
+ });
2649
+ }).catch((e) => {
2650
+ reject(e);
2631
2651
  });
2632
2652
  });
2633
2653
  const rejectReason = `Request timeout reached (${timeOutInMs} ms) for ${subscriptionMsg.message.Message}`;
2634
- return useTimeout(timeOutInMs, rejectReason, promise);
2654
+ const wrappedTimeoutPromise = useTimeout(timeOutInMs, rejectReason, promise);
2655
+ this.#inFlights.set(key, wrappedTimeoutPromise);
2656
+ return wrappedTimeoutPromise;
2635
2657
  }
2636
2658
  };
2637
2659
  };
@@ -2976,7 +2998,7 @@
2976
2998
  void this.hooks.callHook("frontgateConnection:setIdUser", ID_USER_AUTHENTICATED);
2977
2999
  this.log(LogLevel.DEBUG, "Fetching connection configuration");
2978
3000
  const fetchConfig = await this.#fetchConnectionConfiguration();
2979
- this.log(LogLevel.DEBUG, "Connection configuration received", config);
3001
+ this.log(LogLevel.DEBUG, "Connection configuration received", fetchConfig);
2980
3002
  settings.url = fetchConfig.url;
2981
3003
  if (fetchConfig.authtenticationType === "token" && fetchConfig.authenticationToken) {
2982
3004
  this.#token = fetchConfig.authenticationToken;
@@ -3249,7 +3271,7 @@
3249
3271
  };
3250
3272
  var DiagComponentLogger = (
3251
3273
  /** @class */
3252
- function() {
3274
+ (function() {
3253
3275
  function DiagComponentLogger2(props) {
3254
3276
  this._namespace = props.namespace || "DiagComponentLogger";
3255
3277
  }
@@ -3289,7 +3311,7 @@
3289
3311
  return logProxy("verbose", this._namespace, args);
3290
3312
  };
3291
3313
  return DiagComponentLogger2;
3292
- }()
3314
+ })()
3293
3315
  );
3294
3316
  function logProxy(funcName, namespace, args) {
3295
3317
  var logger2 = getGlobal("diag");
@@ -3361,7 +3383,7 @@
3361
3383
  var API_NAME$4 = "diag";
3362
3384
  var DiagAPI = (
3363
3385
  /** @class */
3364
- function() {
3386
+ (function() {
3365
3387
  function DiagAPI2() {
3366
3388
  function _logProxy(funcName) {
3367
3389
  return function() {
@@ -3420,7 +3442,7 @@
3420
3442
  return this._instance;
3421
3443
  };
3422
3444
  return DiagAPI2;
3423
- }()
3445
+ })()
3424
3446
  );
3425
3447
  var __read$2 = function(o, n) {
3426
3448
  var m = typeof Symbol === "function" && o[Symbol.iterator];
@@ -3452,7 +3474,7 @@
3452
3474
  };
3453
3475
  var BaggageImpl = (
3454
3476
  /** @class */
3455
- function() {
3477
+ (function() {
3456
3478
  function BaggageImpl2(entries) {
3457
3479
  this._entries = entries ? new Map(entries) : /* @__PURE__ */ new Map();
3458
3480
  }
@@ -3506,7 +3528,7 @@
3506
3528
  return new BaggageImpl2();
3507
3529
  };
3508
3530
  return BaggageImpl2;
3509
- }()
3531
+ })()
3510
3532
  );
3511
3533
  DiagAPI.instance();
3512
3534
  function createBaggage(entries) {
@@ -3520,7 +3542,7 @@
3520
3542
  }
3521
3543
  var BaseContext = (
3522
3544
  /** @class */
3523
- /* @__PURE__ */ function() {
3545
+ /* @__PURE__ */ (function() {
3524
3546
  function BaseContext2(parentContext) {
3525
3547
  var self2 = this;
3526
3548
  self2._currentContext = parentContext ? new Map(parentContext) : /* @__PURE__ */ new Map();
@@ -3539,10 +3561,10 @@
3539
3561
  };
3540
3562
  }
3541
3563
  return BaseContext2;
3542
- }()
3564
+ })()
3543
3565
  );
3544
3566
  var ROOT_CONTEXT = new BaseContext();
3545
- var __extends = /* @__PURE__ */ function() {
3567
+ var __extends = /* @__PURE__ */ (function() {
3546
3568
  var extendStatics = function(d, b) {
3547
3569
  extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
3548
3570
  d2.__proto__ = b2;
@@ -3560,10 +3582,10 @@
3560
3582
  }
3561
3583
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
3562
3584
  };
3563
- }();
3585
+ })();
3564
3586
  var NoopMeter = (
3565
3587
  /** @class */
3566
- function() {
3588
+ (function() {
3567
3589
  function NoopMeter2() {
3568
3590
  }
3569
3591
  NoopMeter2.prototype.createGauge = function(_name, _options) {
@@ -3592,19 +3614,19 @@
3592
3614
  NoopMeter2.prototype.removeBatchObservableCallback = function(_callback) {
3593
3615
  };
3594
3616
  return NoopMeter2;
3595
- }()
3617
+ })()
3596
3618
  );
3597
3619
  var NoopMetric = (
3598
3620
  /** @class */
3599
- /* @__PURE__ */ function() {
3621
+ /* @__PURE__ */ (function() {
3600
3622
  function NoopMetric2() {
3601
3623
  }
3602
3624
  return NoopMetric2;
3603
- }()
3625
+ })()
3604
3626
  );
3605
3627
  var NoopCounterMetric = (
3606
3628
  /** @class */
3607
- function(_super) {
3629
+ (function(_super) {
3608
3630
  __extends(NoopCounterMetric2, _super);
3609
3631
  function NoopCounterMetric2() {
3610
3632
  return _super !== null && _super.apply(this, arguments) || this;
@@ -3612,11 +3634,11 @@
3612
3634
  NoopCounterMetric2.prototype.add = function(_value, _attributes) {
3613
3635
  };
3614
3636
  return NoopCounterMetric2;
3615
- }(NoopMetric)
3637
+ })(NoopMetric)
3616
3638
  );
3617
3639
  var NoopUpDownCounterMetric = (
3618
3640
  /** @class */
3619
- function(_super) {
3641
+ (function(_super) {
3620
3642
  __extends(NoopUpDownCounterMetric2, _super);
3621
3643
  function NoopUpDownCounterMetric2() {
3622
3644
  return _super !== null && _super.apply(this, arguments) || this;
@@ -3624,11 +3646,11 @@
3624
3646
  NoopUpDownCounterMetric2.prototype.add = function(_value, _attributes) {
3625
3647
  };
3626
3648
  return NoopUpDownCounterMetric2;
3627
- }(NoopMetric)
3649
+ })(NoopMetric)
3628
3650
  );
3629
3651
  var NoopGaugeMetric = (
3630
3652
  /** @class */
3631
- function(_super) {
3653
+ (function(_super) {
3632
3654
  __extends(NoopGaugeMetric2, _super);
3633
3655
  function NoopGaugeMetric2() {
3634
3656
  return _super !== null && _super.apply(this, arguments) || this;
@@ -3636,11 +3658,11 @@
3636
3658
  NoopGaugeMetric2.prototype.record = function(_value, _attributes) {
3637
3659
  };
3638
3660
  return NoopGaugeMetric2;
3639
- }(NoopMetric)
3661
+ })(NoopMetric)
3640
3662
  );
3641
3663
  var NoopHistogramMetric = (
3642
3664
  /** @class */
3643
- function(_super) {
3665
+ (function(_super) {
3644
3666
  __extends(NoopHistogramMetric2, _super);
3645
3667
  function NoopHistogramMetric2() {
3646
3668
  return _super !== null && _super.apply(this, arguments) || this;
@@ -3648,11 +3670,11 @@
3648
3670
  NoopHistogramMetric2.prototype.record = function(_value, _attributes) {
3649
3671
  };
3650
3672
  return NoopHistogramMetric2;
3651
- }(NoopMetric)
3673
+ })(NoopMetric)
3652
3674
  );
3653
3675
  var NoopObservableMetric = (
3654
3676
  /** @class */
3655
- function() {
3677
+ (function() {
3656
3678
  function NoopObservableMetric2() {
3657
3679
  }
3658
3680
  NoopObservableMetric2.prototype.addCallback = function(_callback) {
@@ -3660,37 +3682,37 @@
3660
3682
  NoopObservableMetric2.prototype.removeCallback = function(_callback) {
3661
3683
  };
3662
3684
  return NoopObservableMetric2;
3663
- }()
3685
+ })()
3664
3686
  );
3665
3687
  var NoopObservableCounterMetric = (
3666
3688
  /** @class */
3667
- function(_super) {
3689
+ (function(_super) {
3668
3690
  __extends(NoopObservableCounterMetric2, _super);
3669
3691
  function NoopObservableCounterMetric2() {
3670
3692
  return _super !== null && _super.apply(this, arguments) || this;
3671
3693
  }
3672
3694
  return NoopObservableCounterMetric2;
3673
- }(NoopObservableMetric)
3695
+ })(NoopObservableMetric)
3674
3696
  );
3675
3697
  var NoopObservableGaugeMetric = (
3676
3698
  /** @class */
3677
- function(_super) {
3699
+ (function(_super) {
3678
3700
  __extends(NoopObservableGaugeMetric2, _super);
3679
3701
  function NoopObservableGaugeMetric2() {
3680
3702
  return _super !== null && _super.apply(this, arguments) || this;
3681
3703
  }
3682
3704
  return NoopObservableGaugeMetric2;
3683
- }(NoopObservableMetric)
3705
+ })(NoopObservableMetric)
3684
3706
  );
3685
3707
  var NoopObservableUpDownCounterMetric = (
3686
3708
  /** @class */
3687
- function(_super) {
3709
+ (function(_super) {
3688
3710
  __extends(NoopObservableUpDownCounterMetric2, _super);
3689
3711
  function NoopObservableUpDownCounterMetric2() {
3690
3712
  return _super !== null && _super.apply(this, arguments) || this;
3691
3713
  }
3692
3714
  return NoopObservableUpDownCounterMetric2;
3693
- }(NoopObservableMetric)
3715
+ })(NoopObservableMetric)
3694
3716
  );
3695
3717
  var NOOP_METER = new NoopMeter();
3696
3718
  var NOOP_COUNTER_METRIC = new NoopCounterMetric();
@@ -3750,7 +3772,7 @@
3750
3772
  };
3751
3773
  var NoopContextManager = (
3752
3774
  /** @class */
3753
- function() {
3775
+ (function() {
3754
3776
  function NoopContextManager2() {
3755
3777
  }
3756
3778
  NoopContextManager2.prototype.active = function() {
@@ -3773,7 +3795,7 @@
3773
3795
  return this;
3774
3796
  };
3775
3797
  return NoopContextManager2;
3776
- }()
3798
+ })()
3777
3799
  );
3778
3800
  var __read = function(o, n) {
3779
3801
  var m = typeof Symbol === "function" && o[Symbol.iterator];
@@ -3805,7 +3827,7 @@
3805
3827
  var NOOP_CONTEXT_MANAGER = new NoopContextManager();
3806
3828
  var ContextAPI = (
3807
3829
  /** @class */
3808
- function() {
3830
+ (function() {
3809
3831
  function ContextAPI2() {
3810
3832
  }
3811
3833
  ContextAPI2.getInstance = function() {
@@ -3839,7 +3861,7 @@
3839
3861
  unregisterGlobal(API_NAME$3, DiagAPI.instance());
3840
3862
  };
3841
3863
  return ContextAPI2;
3842
- }()
3864
+ })()
3843
3865
  );
3844
3866
  var TraceFlags;
3845
3867
  (function(TraceFlags2) {
@@ -3855,7 +3877,7 @@
3855
3877
  };
3856
3878
  var NonRecordingSpan = (
3857
3879
  /** @class */
3858
- function() {
3880
+ (function() {
3859
3881
  function NonRecordingSpan2(_spanContext) {
3860
3882
  if (_spanContext === void 0) {
3861
3883
  _spanContext = INVALID_SPAN_CONTEXT;
@@ -3894,7 +3916,7 @@
3894
3916
  NonRecordingSpan2.prototype.recordException = function(_exception, _time) {
3895
3917
  };
3896
3918
  return NonRecordingSpan2;
3897
- }()
3919
+ })()
3898
3920
  );
3899
3921
  var SPAN_KEY = createContextKey("OpenTelemetry Context Key SPAN");
3900
3922
  function getSpan(context) {
@@ -3933,7 +3955,7 @@
3933
3955
  var contextApi = ContextAPI.getInstance();
3934
3956
  var NoopTracer = (
3935
3957
  /** @class */
3936
- function() {
3958
+ (function() {
3937
3959
  function NoopTracer2() {
3938
3960
  }
3939
3961
  NoopTracer2.prototype.startSpan = function(name, options, context) {
@@ -3973,7 +3995,7 @@
3973
3995
  return contextApi.with(contextWithSpanSet, fn, void 0, span);
3974
3996
  };
3975
3997
  return NoopTracer2;
3976
- }()
3998
+ })()
3977
3999
  );
3978
4000
  function isSpanContext(spanContext) {
3979
4001
  return typeof spanContext === "object" && typeof spanContext["spanId"] === "string" && typeof spanContext["traceId"] === "string" && typeof spanContext["traceFlags"] === "number";
@@ -3981,7 +4003,7 @@
3981
4003
  var NOOP_TRACER = new NoopTracer();
3982
4004
  var ProxyTracer = (
3983
4005
  /** @class */
3984
- function() {
4006
+ (function() {
3985
4007
  function ProxyTracer2(_provider, name, version, options) {
3986
4008
  this._provider = _provider;
3987
4009
  this.name = name;
@@ -4007,23 +4029,23 @@
4007
4029
  return this._delegate;
4008
4030
  };
4009
4031
  return ProxyTracer2;
4010
- }()
4032
+ })()
4011
4033
  );
4012
4034
  var NoopTracerProvider = (
4013
4035
  /** @class */
4014
- function() {
4036
+ (function() {
4015
4037
  function NoopTracerProvider2() {
4016
4038
  }
4017
4039
  NoopTracerProvider2.prototype.getTracer = function(_name, _version, _options) {
4018
4040
  return new NoopTracer();
4019
4041
  };
4020
4042
  return NoopTracerProvider2;
4021
- }()
4043
+ })()
4022
4044
  );
4023
4045
  var NOOP_TRACER_PROVIDER = new NoopTracerProvider();
4024
4046
  var ProxyTracerProvider = (
4025
4047
  /** @class */
4026
- function() {
4048
+ (function() {
4027
4049
  function ProxyTracerProvider2() {
4028
4050
  }
4029
4051
  ProxyTracerProvider2.prototype.getTracer = function(name, version, options) {
@@ -4042,26 +4064,26 @@
4042
4064
  return (_a2 = this._delegate) === null || _a2 === void 0 ? void 0 : _a2.getTracer(name, version, options);
4043
4065
  };
4044
4066
  return ProxyTracerProvider2;
4045
- }()
4067
+ })()
4046
4068
  );
4047
4069
  ContextAPI.getInstance();
4048
4070
  DiagAPI.instance();
4049
4071
  var NoopMeterProvider = (
4050
4072
  /** @class */
4051
- function() {
4073
+ (function() {
4052
4074
  function NoopMeterProvider2() {
4053
4075
  }
4054
4076
  NoopMeterProvider2.prototype.getMeter = function(_name, _version, _options) {
4055
4077
  return NOOP_METER;
4056
4078
  };
4057
4079
  return NoopMeterProvider2;
4058
- }()
4080
+ })()
4059
4081
  );
4060
4082
  var NOOP_METER_PROVIDER = new NoopMeterProvider();
4061
4083
  var API_NAME$2 = "metrics";
4062
4084
  var MetricsAPI = (
4063
4085
  /** @class */
4064
- function() {
4086
+ (function() {
4065
4087
  function MetricsAPI2() {
4066
4088
  }
4067
4089
  MetricsAPI2.getInstance = function() {
@@ -4083,12 +4105,12 @@
4083
4105
  unregisterGlobal(API_NAME$2, DiagAPI.instance());
4084
4106
  };
4085
4107
  return MetricsAPI2;
4086
- }()
4108
+ })()
4087
4109
  );
4088
4110
  MetricsAPI.getInstance();
4089
4111
  var NoopTextMapPropagator = (
4090
4112
  /** @class */
4091
- function() {
4113
+ (function() {
4092
4114
  function NoopTextMapPropagator2() {
4093
4115
  }
4094
4116
  NoopTextMapPropagator2.prototype.inject = function(_context, _carrier) {
@@ -4100,7 +4122,7 @@
4100
4122
  return [];
4101
4123
  };
4102
4124
  return NoopTextMapPropagator2;
4103
- }()
4125
+ })()
4104
4126
  );
4105
4127
  var BAGGAGE_KEY = createContextKey("OpenTelemetry Baggage Key");
4106
4128
  function getBaggage(context) {
@@ -4119,7 +4141,7 @@
4119
4141
  var NOOP_TEXT_MAP_PROPAGATOR = new NoopTextMapPropagator();
4120
4142
  var PropagationAPI = (
4121
4143
  /** @class */
4122
- function() {
4144
+ (function() {
4123
4145
  function PropagationAPI2() {
4124
4146
  this.createBaggage = createBaggage;
4125
4147
  this.getBaggage = getBaggage;
@@ -4158,13 +4180,13 @@
4158
4180
  return getGlobal(API_NAME$1) || NOOP_TEXT_MAP_PROPAGATOR;
4159
4181
  };
4160
4182
  return PropagationAPI2;
4161
- }()
4183
+ })()
4162
4184
  );
4163
4185
  PropagationAPI.getInstance();
4164
4186
  var API_NAME = "trace";
4165
4187
  var TraceAPI = (
4166
4188
  /** @class */
4167
- function() {
4189
+ (function() {
4168
4190
  function TraceAPI2() {
4169
4191
  this._proxyTracerProvider = new ProxyTracerProvider();
4170
4192
  this.wrapSpanContext = wrapSpanContext;
@@ -4200,7 +4222,7 @@
4200
4222
  this._proxyTracerProvider = new ProxyTracerProvider();
4201
4223
  };
4202
4224
  return TraceAPI2;
4203
- }()
4225
+ })()
4204
4226
  );
4205
4227
  var trace = TraceAPI.getInstance();
4206
4228
  const openTelemetry = () => {
@@ -4805,4 +4827,4 @@
4805
4827
  exports2.useTimeout = useTimeout;
4806
4828
  exports2.wsConnection = wsConnection;
4807
4829
  Object.defineProperty(exports2, Symbol.toStringTag, { value: "Module" });
4808
- });
4830
+ }));