@azure/msal-common 16.0.0-beta.0 → 16.0.2

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 (500) hide show
  1. package/dist/account/AccountInfo.mjs +1 -1
  2. package/dist/account/AuthToken.mjs +1 -1
  3. package/dist/account/CcsCredential.mjs +1 -1
  4. package/dist/account/ClientInfo.mjs +1 -1
  5. package/dist/account/TokenClaims.mjs +1 -1
  6. package/dist/authority/Authority.mjs +1 -1
  7. package/dist/authority/AuthorityFactory.mjs +1 -1
  8. package/dist/authority/AuthorityMetadata.mjs +1 -1
  9. package/dist/authority/AuthorityOptions.mjs +1 -1
  10. package/dist/authority/AuthorityType.mjs +1 -1
  11. package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +1 -1
  12. package/dist/authority/CloudInstanceDiscoveryResponse.mjs +1 -1
  13. package/dist/authority/OpenIdConfigResponse.mjs +1 -1
  14. package/dist/authority/ProtocolMode.mjs +1 -1
  15. package/dist/authority/RegionDiscovery.mjs +1 -1
  16. package/dist/cache/CacheManager.mjs +1 -1
  17. package/dist/cache/persistence/TokenCacheContext.mjs +1 -1
  18. package/dist/cache/utils/AccountEntityUtils.mjs +1 -1
  19. package/dist/cache/utils/CacheHelpers.mjs +1 -1
  20. package/dist/client/AuthorizationCodeClient.mjs +1 -1
  21. package/dist/client/RefreshTokenClient.d.ts.map +1 -1
  22. package/dist/client/RefreshTokenClient.mjs +11 -7
  23. package/dist/client/RefreshTokenClient.mjs.map +1 -1
  24. package/dist/client/SilentFlowClient.mjs +1 -1
  25. package/dist/config/ClientConfiguration.mjs +1 -1
  26. package/dist/constants/AADServerParamKeys.mjs +1 -1
  27. package/dist/crypto/ICrypto.mjs +1 -1
  28. package/dist/crypto/JoseHeader.mjs +1 -1
  29. package/dist/crypto/PopTokenGenerator.mjs +1 -1
  30. package/dist/error/AuthError.mjs +1 -1
  31. package/dist/error/AuthErrorCodes.mjs +1 -1
  32. package/dist/error/CacheError.mjs +1 -1
  33. package/dist/error/CacheErrorCodes.mjs +1 -1
  34. package/dist/error/ClientAuthError.mjs +1 -1
  35. package/dist/error/ClientAuthErrorCodes.mjs +1 -1
  36. package/dist/error/ClientConfigurationError.mjs +1 -1
  37. package/dist/error/ClientConfigurationErrorCodes.mjs +1 -1
  38. package/dist/error/InteractionRequiredAuthError.mjs +1 -1
  39. package/dist/error/InteractionRequiredAuthErrorCodes.mjs +1 -1
  40. package/dist/error/JoseHeaderError.mjs +1 -1
  41. package/dist/error/JoseHeaderErrorCodes.mjs +1 -1
  42. package/dist/error/NetworkError.mjs +1 -1
  43. package/dist/error/PlatformBrokerError.mjs +1 -1
  44. package/dist/error/ServerError.mjs +1 -1
  45. package/dist/index-node.mjs +1 -1
  46. package/dist/index.mjs +1 -1
  47. package/dist/logger/Logger.mjs +1 -1
  48. package/dist/network/INetworkModule.mjs +1 -1
  49. package/dist/network/RequestThumbprint.mjs +1 -1
  50. package/dist/network/ThrottlingUtils.mjs +1 -1
  51. package/dist/packageMetadata.d.ts +1 -1
  52. package/dist/packageMetadata.d.ts.map +1 -1
  53. package/dist/packageMetadata.mjs +2 -2
  54. package/dist/protocol/Authorize.mjs +1 -1
  55. package/dist/protocol/Token.mjs +1 -1
  56. package/dist/request/AuthenticationHeaderParser.mjs +1 -1
  57. package/dist/request/BaseAuthRequest.d.ts +63 -20
  58. package/dist/request/BaseAuthRequest.d.ts.map +1 -1
  59. package/dist/request/CommonAuthorizationCodeRequest.d.ts +18 -13
  60. package/dist/request/CommonAuthorizationCodeRequest.d.ts.map +1 -1
  61. package/dist/request/CommonAuthorizationUrlRequest.d.ts +48 -27
  62. package/dist/request/CommonAuthorizationUrlRequest.d.ts.map +1 -1
  63. package/dist/request/CommonEndSessionRequest.d.ts +21 -7
  64. package/dist/request/CommonEndSessionRequest.d.ts.map +1 -1
  65. package/dist/request/CommonRefreshTokenRequest.d.ts +12 -10
  66. package/dist/request/CommonRefreshTokenRequest.d.ts.map +1 -1
  67. package/dist/request/CommonSilentFlowRequest.d.ts +12 -14
  68. package/dist/request/CommonSilentFlowRequest.d.ts.map +1 -1
  69. package/dist/request/RequestParameterBuilder.mjs +1 -1
  70. package/dist/request/ScopeSet.mjs +1 -1
  71. package/dist/response/ResponseHandler.d.ts.map +1 -1
  72. package/dist/response/ResponseHandler.mjs +2 -1
  73. package/dist/response/ResponseHandler.mjs.map +1 -1
  74. package/dist/telemetry/performance/PerformanceClient.mjs +1 -1
  75. package/dist/telemetry/performance/PerformanceEvent.d.ts +3 -1
  76. package/dist/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
  77. package/dist/telemetry/performance/PerformanceEvent.mjs +1 -1
  78. package/dist/telemetry/performance/PerformanceEvent.mjs.map +1 -1
  79. package/dist/telemetry/performance/PerformanceEvents.mjs +1 -1
  80. package/dist/telemetry/performance/StubPerformanceClient.mjs +1 -1
  81. package/dist/telemetry/server/ServerTelemetryManager.mjs +1 -1
  82. package/dist/url/UrlString.mjs +1 -1
  83. package/dist/utils/ClientAssertionUtils.mjs +1 -1
  84. package/dist/utils/Constants.mjs +1 -1
  85. package/dist/utils/FunctionWrappers.mjs +1 -1
  86. package/dist/utils/ProtocolUtils.mjs +1 -1
  87. package/dist/utils/StringUtils.mjs +1 -1
  88. package/dist/utils/TimeUtils.mjs +1 -1
  89. package/dist/utils/UrlUtils.mjs +1 -1
  90. package/dist-browser/account/AccountInfo.d.ts +71 -0
  91. package/dist-browser/account/AccountInfo.d.ts.map +1 -0
  92. package/dist-browser/account/AccountInfo.mjs +85 -0
  93. package/dist-browser/account/AccountInfo.mjs.map +1 -0
  94. package/dist-browser/account/AuthToken.d.ts +24 -0
  95. package/dist-browser/account/AuthToken.d.ts.map +1 -0
  96. package/dist-browser/account/AuthToken.mjs +85 -0
  97. package/dist-browser/account/AuthToken.mjs.map +1 -0
  98. package/dist-browser/account/CcsCredential.d.ts +10 -0
  99. package/dist-browser/account/CcsCredential.d.ts.map +1 -0
  100. package/dist-browser/account/CcsCredential.mjs +13 -0
  101. package/dist-browser/account/CcsCredential.mjs.map +1 -0
  102. package/dist-browser/account/ClientCredentials.d.ts +20 -0
  103. package/dist-browser/account/ClientCredentials.d.ts.map +1 -0
  104. package/dist-browser/account/ClientInfo.d.ts +23 -0
  105. package/dist-browser/account/ClientInfo.d.ts.map +1 -0
  106. package/dist-browser/account/ClientInfo.mjs +44 -0
  107. package/dist-browser/account/ClientInfo.mjs.map +1 -0
  108. package/dist-browser/account/TokenClaims.d.ts +88 -0
  109. package/dist-browser/account/TokenClaims.d.ts.map +1 -0
  110. package/dist-browser/account/TokenClaims.mjs +25 -0
  111. package/dist-browser/account/TokenClaims.mjs.map +1 -0
  112. package/dist-browser/authority/Authority.d.ts +255 -0
  113. package/dist-browser/authority/Authority.d.ts.map +1 -0
  114. package/dist-browser/authority/Authority.mjs +841 -0
  115. package/dist-browser/authority/Authority.mjs.map +1 -0
  116. package/dist-browser/authority/AuthorityFactory.d.ts +23 -0
  117. package/dist-browser/authority/AuthorityFactory.d.ts.map +1 -0
  118. package/dist-browser/authority/AuthorityFactory.mjs +42 -0
  119. package/dist-browser/authority/AuthorityFactory.mjs.map +1 -0
  120. package/dist-browser/authority/AuthorityMetadata.d.ts +44 -0
  121. package/dist-browser/authority/AuthorityMetadata.d.ts.map +1 -0
  122. package/dist-browser/authority/AuthorityMetadata.mjs +146 -0
  123. package/dist-browser/authority/AuthorityMetadata.mjs.map +1 -0
  124. package/dist-browser/authority/AuthorityOptions.d.ts +27 -0
  125. package/dist-browser/authority/AuthorityOptions.d.ts.map +1 -0
  126. package/dist-browser/authority/AuthorityOptions.mjs +23 -0
  127. package/dist-browser/authority/AuthorityOptions.mjs.map +1 -0
  128. package/dist-browser/authority/AuthorityType.d.ts +11 -0
  129. package/dist-browser/authority/AuthorityType.d.ts.map +1 -0
  130. package/dist-browser/authority/AuthorityType.mjs +18 -0
  131. package/dist-browser/authority/AuthorityType.mjs.map +1 -0
  132. package/dist-browser/authority/AzureRegion.d.ts +2 -0
  133. package/dist-browser/authority/AzureRegion.d.ts.map +1 -0
  134. package/dist-browser/authority/AzureRegionConfiguration.d.ts +6 -0
  135. package/dist-browser/authority/AzureRegionConfiguration.d.ts.map +1 -0
  136. package/dist-browser/authority/CloudDiscoveryMetadata.d.ts +6 -0
  137. package/dist-browser/authority/CloudDiscoveryMetadata.d.ts.map +1 -0
  138. package/dist-browser/authority/CloudInstanceDiscoveryErrorResponse.d.ts +14 -0
  139. package/dist-browser/authority/CloudInstanceDiscoveryErrorResponse.d.ts.map +1 -0
  140. package/dist-browser/authority/CloudInstanceDiscoveryErrorResponse.mjs +13 -0
  141. package/dist-browser/authority/CloudInstanceDiscoveryErrorResponse.mjs.map +1 -0
  142. package/dist-browser/authority/CloudInstanceDiscoveryResponse.d.ts +10 -0
  143. package/dist-browser/authority/CloudInstanceDiscoveryResponse.d.ts.map +1 -0
  144. package/dist-browser/authority/CloudInstanceDiscoveryResponse.mjs +13 -0
  145. package/dist-browser/authority/CloudInstanceDiscoveryResponse.mjs.map +1 -0
  146. package/dist-browser/authority/ImdsOptions.d.ts +6 -0
  147. package/dist-browser/authority/ImdsOptions.d.ts.map +1 -0
  148. package/dist-browser/authority/OIDCOptions.d.ts +9 -0
  149. package/dist-browser/authority/OIDCOptions.d.ts.map +1 -0
  150. package/dist-browser/authority/OpenIdConfigResponse.d.ts +12 -0
  151. package/dist-browser/authority/OpenIdConfigResponse.d.ts.map +1 -0
  152. package/dist-browser/authority/OpenIdConfigResponse.mjs +15 -0
  153. package/dist-browser/authority/OpenIdConfigResponse.mjs.map +1 -0
  154. package/dist-browser/authority/ProtocolMode.d.ts +20 -0
  155. package/dist-browser/authority/ProtocolMode.d.ts.map +1 -0
  156. package/dist-browser/authority/ProtocolMode.mjs +27 -0
  157. package/dist-browser/authority/ProtocolMode.mjs.map +1 -0
  158. package/dist-browser/authority/RegionDiscovery.d.ts +33 -0
  159. package/dist-browser/authority/RegionDiscovery.d.ts.map +1 -0
  160. package/dist-browser/authority/RegionDiscovery.mjs +111 -0
  161. package/dist-browser/authority/RegionDiscovery.mjs.map +1 -0
  162. package/dist-browser/authority/RegionDiscoveryMetadata.d.ts +7 -0
  163. package/dist-browser/authority/RegionDiscoveryMetadata.d.ts.map +1 -0
  164. package/dist-browser/broker/nativeBroker/INativeBrokerPlugin.d.ts +17 -0
  165. package/dist-browser/broker/nativeBroker/INativeBrokerPlugin.d.ts.map +1 -0
  166. package/dist-browser/cache/CacheManager.d.ts +478 -0
  167. package/dist-browser/cache/CacheManager.d.ts.map +1 -0
  168. package/dist-browser/cache/CacheManager.mjs +1111 -0
  169. package/dist-browser/cache/CacheManager.mjs.map +1 -0
  170. package/dist-browser/cache/entities/AccessTokenEntity.d.ts +22 -0
  171. package/dist-browser/cache/entities/AccessTokenEntity.d.ts.map +1 -0
  172. package/dist-browser/cache/entities/AccountEntity.d.ts +45 -0
  173. package/dist-browser/cache/entities/AccountEntity.d.ts.map +1 -0
  174. package/dist-browser/cache/entities/AppMetadataEntity.d.ts +12 -0
  175. package/dist-browser/cache/entities/AppMetadataEntity.d.ts.map +1 -0
  176. package/dist-browser/cache/entities/AuthorityMetadataEntity.d.ts +16 -0
  177. package/dist-browser/cache/entities/AuthorityMetadataEntity.d.ts.map +1 -0
  178. package/dist-browser/cache/entities/CacheRecord.d.ts +14 -0
  179. package/dist-browser/cache/entities/CacheRecord.d.ts.map +1 -0
  180. package/dist-browser/cache/entities/CredentialEntity.d.ts +31 -0
  181. package/dist-browser/cache/entities/CredentialEntity.d.ts.map +1 -0
  182. package/dist-browser/cache/entities/IdTokenEntity.d.ts +9 -0
  183. package/dist-browser/cache/entities/IdTokenEntity.d.ts.map +1 -0
  184. package/dist-browser/cache/entities/RefreshTokenEntity.d.ts +8 -0
  185. package/dist-browser/cache/entities/RefreshTokenEntity.d.ts.map +1 -0
  186. package/dist-browser/cache/entities/ServerTelemetryEntity.d.ts +7 -0
  187. package/dist-browser/cache/entities/ServerTelemetryEntity.d.ts.map +1 -0
  188. package/dist-browser/cache/entities/ThrottlingEntity.d.ts +8 -0
  189. package/dist-browser/cache/entities/ThrottlingEntity.d.ts.map +1 -0
  190. package/dist-browser/cache/interface/ICacheManager.d.ts +188 -0
  191. package/dist-browser/cache/interface/ICacheManager.d.ts.map +1 -0
  192. package/dist-browser/cache/interface/ICachePlugin.d.ts +6 -0
  193. package/dist-browser/cache/interface/ICachePlugin.d.ts.map +1 -0
  194. package/dist-browser/cache/interface/ISerializableTokenCache.d.ts +5 -0
  195. package/dist-browser/cache/interface/ISerializableTokenCache.d.ts.map +1 -0
  196. package/dist-browser/cache/persistence/TokenCacheContext.d.ts +24 -0
  197. package/dist-browser/cache/persistence/TokenCacheContext.d.ts.map +1 -0
  198. package/dist-browser/cache/persistence/TokenCacheContext.mjs +30 -0
  199. package/dist-browser/cache/persistence/TokenCacheContext.mjs.map +1 -0
  200. package/dist-browser/cache/utils/AccountEntityUtils.d.ts +53 -0
  201. package/dist-browser/cache/utils/AccountEntityUtils.d.ts.map +1 -0
  202. package/dist-browser/cache/utils/AccountEntityUtils.mjs +192 -0
  203. package/dist-browser/cache/utils/AccountEntityUtils.mjs.map +1 -0
  204. package/dist-browser/cache/utils/CacheHelpers.d.ts +86 -0
  205. package/dist-browser/cache/utils/CacheHelpers.d.ts.map +1 -0
  206. package/dist-browser/cache/utils/CacheHelpers.mjs +267 -0
  207. package/dist-browser/cache/utils/CacheHelpers.mjs.map +1 -0
  208. package/dist-browser/cache/utils/CacheTypes.d.ts +69 -0
  209. package/dist-browser/cache/utils/CacheTypes.d.ts.map +1 -0
  210. package/dist-browser/client/AuthorizationCodeClient.d.ts +64 -0
  211. package/dist-browser/client/AuthorizationCodeClient.d.ts.map +1 -0
  212. package/dist-browser/client/AuthorizationCodeClient.mjs +287 -0
  213. package/dist-browser/client/AuthorizationCodeClient.mjs.map +1 -0
  214. package/dist-browser/client/RefreshTokenClient.d.ts +49 -0
  215. package/dist-browser/client/RefreshTokenClient.d.ts.map +1 -0
  216. package/dist-browser/client/RefreshTokenClient.mjs +254 -0
  217. package/dist-browser/client/RefreshTokenClient.mjs.map +1 -0
  218. package/dist-browser/client/SilentFlowClient.d.ts +35 -0
  219. package/dist-browser/client/SilentFlowClient.d.ts.map +1 -0
  220. package/dist-browser/client/SilentFlowClient.mjs +125 -0
  221. package/dist-browser/client/SilentFlowClient.mjs.map +1 -0
  222. package/dist-browser/config/AppTokenProvider.d.ts +39 -0
  223. package/dist-browser/config/AppTokenProvider.d.ts.map +1 -0
  224. package/dist-browser/config/ClientConfiguration.d.ts +143 -0
  225. package/dist-browser/config/ClientConfiguration.d.ts.map +1 -0
  226. package/dist-browser/config/ClientConfiguration.mjs +107 -0
  227. package/dist-browser/config/ClientConfiguration.mjs.map +1 -0
  228. package/dist-browser/constants/AADServerParamKeys.d.ts +59 -0
  229. package/dist-browser/constants/AADServerParamKeys.d.ts.map +1 -0
  230. package/dist-browser/constants/AADServerParamKeys.mjs +67 -0
  231. package/dist-browser/constants/AADServerParamKeys.mjs.map +1 -0
  232. package/dist-browser/crypto/ICrypto.d.ts +71 -0
  233. package/dist-browser/crypto/ICrypto.d.ts.map +1 -0
  234. package/dist-browser/crypto/ICrypto.mjs +44 -0
  235. package/dist-browser/crypto/ICrypto.mjs.map +1 -0
  236. package/dist-browser/crypto/IGuidGenerator.d.ts +5 -0
  237. package/dist-browser/crypto/IGuidGenerator.d.ts.map +1 -0
  238. package/dist-browser/crypto/JoseHeader.d.ts +23 -0
  239. package/dist-browser/crypto/JoseHeader.d.ts.map +1 -0
  240. package/dist-browser/crypto/JoseHeader.mjs +46 -0
  241. package/dist-browser/crypto/JoseHeader.mjs.map +1 -0
  242. package/dist-browser/crypto/PopTokenGenerator.d.ts +60 -0
  243. package/dist-browser/crypto/PopTokenGenerator.d.ts.map +1 -0
  244. package/dist-browser/crypto/PopTokenGenerator.mjs +87 -0
  245. package/dist-browser/crypto/PopTokenGenerator.mjs.map +1 -0
  246. package/dist-browser/crypto/SignedHttpRequest.d.ts +16 -0
  247. package/dist-browser/crypto/SignedHttpRequest.d.ts.map +1 -0
  248. package/dist-browser/error/AuthError.d.ts +33 -0
  249. package/dist-browser/error/AuthError.d.ts.map +1 -0
  250. package/dist-browser/error/AuthError.mjs +34 -0
  251. package/dist-browser/error/AuthError.mjs.map +1 -0
  252. package/dist-browser/error/AuthErrorCodes.d.ts +6 -0
  253. package/dist-browser/error/AuthErrorCodes.d.ts.map +1 -0
  254. package/dist-browser/error/AuthErrorCodes.mjs +14 -0
  255. package/dist-browser/error/AuthErrorCodes.mjs.map +1 -0
  256. package/dist-browser/error/CacheError.d.ts +23 -0
  257. package/dist-browser/error/CacheError.d.ts.map +1 -0
  258. package/dist-browser/error/CacheError.mjs +45 -0
  259. package/dist-browser/error/CacheError.mjs.map +1 -0
  260. package/dist-browser/error/CacheErrorCodes.d.ts +3 -0
  261. package/dist-browser/error/CacheErrorCodes.d.ts.map +1 -0
  262. package/dist-browser/error/CacheErrorCodes.mjs +11 -0
  263. package/dist-browser/error/CacheErrorCodes.mjs.map +1 -0
  264. package/dist-browser/error/ClientAuthError.d.ts +14 -0
  265. package/dist-browser/error/ClientAuthError.d.ts.map +1 -0
  266. package/dist-browser/error/ClientAuthError.mjs +27 -0
  267. package/dist-browser/error/ClientAuthError.mjs.map +1 -0
  268. package/dist-browser/error/ClientAuthErrorCodes.d.ts +38 -0
  269. package/dist-browser/error/ClientAuthErrorCodes.d.ts.map +1 -0
  270. package/dist-browser/error/ClientAuthErrorCodes.mjs +46 -0
  271. package/dist-browser/error/ClientAuthErrorCodes.mjs.map +1 -0
  272. package/dist-browser/error/ClientConfigurationError.d.ts +11 -0
  273. package/dist-browser/error/ClientConfigurationError.d.ts.map +1 -0
  274. package/dist-browser/error/ClientConfigurationError.mjs +24 -0
  275. package/dist-browser/error/ClientConfigurationError.mjs.map +1 -0
  276. package/dist-browser/error/ClientConfigurationErrorCodes.d.ts +23 -0
  277. package/dist-browser/error/ClientConfigurationErrorCodes.d.ts.map +1 -0
  278. package/dist-browser/error/ClientConfigurationErrorCodes.mjs +31 -0
  279. package/dist-browser/error/ClientConfigurationErrorCodes.mjs.map +1 -0
  280. package/dist-browser/error/InteractionRequiredAuthError.d.ts +48 -0
  281. package/dist-browser/error/InteractionRequiredAuthError.d.ts.map +1 -0
  282. package/dist-browser/error/InteractionRequiredAuthError.mjs +73 -0
  283. package/dist-browser/error/InteractionRequiredAuthError.mjs.map +1 -0
  284. package/dist-browser/error/InteractionRequiredAuthErrorCodes.d.ts +9 -0
  285. package/dist-browser/error/InteractionRequiredAuthErrorCodes.d.ts.map +1 -0
  286. package/dist-browser/error/InteractionRequiredAuthErrorCodes.mjs +19 -0
  287. package/dist-browser/error/InteractionRequiredAuthErrorCodes.mjs.map +1 -0
  288. package/dist-browser/error/JoseHeaderError.d.ts +12 -0
  289. package/dist-browser/error/JoseHeaderError.d.ts.map +1 -0
  290. package/dist-browser/error/JoseHeaderError.mjs +25 -0
  291. package/dist-browser/error/JoseHeaderError.mjs.map +1 -0
  292. package/dist-browser/error/JoseHeaderErrorCodes.d.ts +3 -0
  293. package/dist-browser/error/JoseHeaderErrorCodes.d.ts.map +1 -0
  294. package/dist-browser/error/JoseHeaderErrorCodes.mjs +11 -0
  295. package/dist-browser/error/JoseHeaderErrorCodes.mjs.map +1 -0
  296. package/dist-browser/error/NetworkError.d.ts +19 -0
  297. package/dist-browser/error/NetworkError.d.ts.map +1 -0
  298. package/dist-browser/error/NetworkError.mjs +35 -0
  299. package/dist-browser/error/NetworkError.mjs.map +1 -0
  300. package/dist-browser/error/PlatformBrokerError.d.ts +16 -0
  301. package/dist-browser/error/PlatformBrokerError.d.ts.map +1 -0
  302. package/dist-browser/error/PlatformBrokerError.mjs +49 -0
  303. package/dist-browser/error/PlatformBrokerError.mjs.map +1 -0
  304. package/dist-browser/error/ServerError.d.ts +16 -0
  305. package/dist-browser/error/ServerError.d.ts.map +1 -0
  306. package/dist-browser/error/ServerError.mjs +23 -0
  307. package/dist-browser/error/ServerError.mjs.map +1 -0
  308. package/dist-browser/exports-browser-only.d.ts +11 -0
  309. package/dist-browser/exports-browser-only.d.ts.map +1 -0
  310. package/dist-browser/exports-common.d.ts +86 -0
  311. package/dist-browser/exports-common.d.ts.map +1 -0
  312. package/dist-browser/exports-node-only.d.ts +16 -0
  313. package/dist-browser/exports-node-only.d.ts.map +1 -0
  314. package/dist-browser/index-browser.d.ts +7 -0
  315. package/dist-browser/index-browser.d.ts.map +1 -0
  316. package/dist-browser/index-browser.mjs +78 -0
  317. package/dist-browser/index-browser.mjs.map +1 -0
  318. package/dist-browser/index-node.d.ts +7 -0
  319. package/dist-browser/index-node.d.ts.map +1 -0
  320. package/dist-browser/index.d.ts +12 -0
  321. package/dist-browser/index.d.ts.map +1 -0
  322. package/dist-browser/index.mjs +82 -0
  323. package/dist-browser/index.mjs.map +1 -0
  324. package/dist-browser/log-strings-mapping.json +383 -0
  325. package/dist-browser/logger/Logger.d.ts +119 -0
  326. package/dist-browser/logger/Logger.d.ts.map +1 -0
  327. package/dist-browser/logger/Logger.mjs +278 -0
  328. package/dist-browser/logger/Logger.mjs.map +1 -0
  329. package/dist-browser/network/INetworkModule.d.ts +30 -0
  330. package/dist-browser/network/INetworkModule.d.ts.map +1 -0
  331. package/dist-browser/network/INetworkModule.mjs +20 -0
  332. package/dist-browser/network/INetworkModule.mjs.map +1 -0
  333. package/dist-browser/network/NetworkResponse.d.ts +6 -0
  334. package/dist-browser/network/NetworkResponse.d.ts.map +1 -0
  335. package/dist-browser/network/RequestThumbprint.d.ts +22 -0
  336. package/dist-browser/network/RequestThumbprint.d.ts.map +1 -0
  337. package/dist-browser/network/RequestThumbprint.mjs +24 -0
  338. package/dist-browser/network/RequestThumbprint.mjs.map +1 -0
  339. package/dist-browser/network/ThrottlingUtils.d.ts +43 -0
  340. package/dist-browser/network/ThrottlingUtils.d.ts.map +1 -0
  341. package/dist-browser/network/ThrottlingUtils.mjs +92 -0
  342. package/dist-browser/network/ThrottlingUtils.mjs.map +1 -0
  343. package/dist-browser/packageMetadata.d.ts +3 -0
  344. package/dist-browser/packageMetadata.d.ts.map +1 -0
  345. package/dist-browser/packageMetadata.mjs +8 -0
  346. package/dist-browser/packageMetadata.mjs.map +1 -0
  347. package/dist-browser/protocol/Authorize.d.ts +37 -0
  348. package/dist-browser/protocol/Authorize.d.ts.map +1 -0
  349. package/dist-browser/protocol/Authorize.mjs +237 -0
  350. package/dist-browser/protocol/Authorize.mjs.map +1 -0
  351. package/dist-browser/protocol/Token.d.ts +40 -0
  352. package/dist-browser/protocol/Token.d.ts.map +1 -0
  353. package/dist-browser/protocol/Token.mjs +129 -0
  354. package/dist-browser/protocol/Token.mjs.map +1 -0
  355. package/dist-browser/request/AuthenticationHeaderParser.d.ts +20 -0
  356. package/dist-browser/request/AuthenticationHeaderParser.d.ts.map +1 -0
  357. package/dist-browser/request/AuthenticationHeaderParser.mjs +64 -0
  358. package/dist-browser/request/AuthenticationHeaderParser.mjs.map +1 -0
  359. package/dist-browser/request/BaseAuthRequest.d.ts +95 -0
  360. package/dist-browser/request/BaseAuthRequest.d.ts.map +1 -0
  361. package/dist-browser/request/CommonAuthorizationCodeRequest.d.ts +32 -0
  362. package/dist-browser/request/CommonAuthorizationCodeRequest.d.ts.map +1 -0
  363. package/dist-browser/request/CommonAuthorizationUrlRequest.d.ts +71 -0
  364. package/dist-browser/request/CommonAuthorizationUrlRequest.d.ts.map +1 -0
  365. package/dist-browser/request/CommonEndSessionRequest.d.ts +36 -0
  366. package/dist-browser/request/CommonEndSessionRequest.d.ts.map +1 -0
  367. package/dist-browser/request/CommonRefreshTokenRequest.d.ts +24 -0
  368. package/dist-browser/request/CommonRefreshTokenRequest.d.ts.map +1 -0
  369. package/dist-browser/request/CommonSilentFlowRequest.d.ts +24 -0
  370. package/dist-browser/request/CommonSilentFlowRequest.d.ts.map +1 -0
  371. package/dist-browser/request/NativeRequest.d.ts +20 -0
  372. package/dist-browser/request/NativeRequest.d.ts.map +1 -0
  373. package/dist-browser/request/NativeSignOutRequest.d.ts +6 -0
  374. package/dist-browser/request/NativeSignOutRequest.d.ts.map +1 -0
  375. package/dist-browser/request/RequestParameterBuilder.d.ts +217 -0
  376. package/dist-browser/request/RequestParameterBuilder.d.ts.map +1 -0
  377. package/dist-browser/request/RequestParameterBuilder.mjs +410 -0
  378. package/dist-browser/request/RequestParameterBuilder.mjs.map +1 -0
  379. package/dist-browser/request/ScopeSet.d.ts +83 -0
  380. package/dist-browser/request/ScopeSet.d.ts.map +1 -0
  381. package/dist-browser/request/ScopeSet.mjs +204 -0
  382. package/dist-browser/request/ScopeSet.mjs.map +1 -0
  383. package/dist-browser/request/StoreInCache.d.ts +9 -0
  384. package/dist-browser/request/StoreInCache.d.ts.map +1 -0
  385. package/dist-browser/response/AuthenticationResult.d.ts +42 -0
  386. package/dist-browser/response/AuthenticationResult.d.ts.map +1 -0
  387. package/dist-browser/response/AuthorizationCodePayload.d.ts +14 -0
  388. package/dist-browser/response/AuthorizationCodePayload.d.ts.map +1 -0
  389. package/dist-browser/response/AuthorizeResponse.d.ts +76 -0
  390. package/dist-browser/response/AuthorizeResponse.d.ts.map +1 -0
  391. package/dist-browser/response/DeviceCodeResponse.d.ts +26 -0
  392. package/dist-browser/response/DeviceCodeResponse.d.ts.map +1 -0
  393. package/dist-browser/response/ExternalTokenResponse.d.ts +16 -0
  394. package/dist-browser/response/ExternalTokenResponse.d.ts.map +1 -0
  395. package/dist-browser/response/IMDSBadResponse.d.ts +5 -0
  396. package/dist-browser/response/IMDSBadResponse.d.ts.map +1 -0
  397. package/dist-browser/response/ResponseHandler.d.ts +63 -0
  398. package/dist-browser/response/ResponseHandler.d.ts.map +1 -0
  399. package/dist-browser/response/ResponseHandler.mjs +349 -0
  400. package/dist-browser/response/ResponseHandler.mjs.map +1 -0
  401. package/dist-browser/response/ServerAuthorizationTokenResponse.d.ts +48 -0
  402. package/dist-browser/response/ServerAuthorizationTokenResponse.d.ts.map +1 -0
  403. package/dist-browser/telemetry/performance/IPerformanceClient.d.ts +30 -0
  404. package/dist-browser/telemetry/performance/IPerformanceClient.d.ts.map +1 -0
  405. package/dist-browser/telemetry/performance/IPerformanceMeasurement.d.ts +6 -0
  406. package/dist-browser/telemetry/performance/IPerformanceMeasurement.d.ts.map +1 -0
  407. package/dist-browser/telemetry/performance/PerformanceClient.d.ts +170 -0
  408. package/dist-browser/telemetry/performance/PerformanceClient.d.ts.map +1 -0
  409. package/dist-browser/telemetry/performance/PerformanceClient.mjs +490 -0
  410. package/dist-browser/telemetry/performance/PerformanceClient.mjs.map +1 -0
  411. package/dist-browser/telemetry/performance/PerformanceEvent.d.ts +286 -0
  412. package/dist-browser/telemetry/performance/PerformanceEvent.d.ts.map +1 -0
  413. package/dist-browser/telemetry/performance/PerformanceEvent.mjs +45 -0
  414. package/dist-browser/telemetry/performance/PerformanceEvent.mjs.map +1 -0
  415. package/dist-browser/telemetry/performance/PerformanceEvents.d.ts +66 -0
  416. package/dist-browser/telemetry/performance/PerformanceEvents.d.ts.map +1 -0
  417. package/dist-browser/telemetry/performance/PerformanceEvents.mjs +74 -0
  418. package/dist-browser/telemetry/performance/PerformanceEvents.mjs.map +1 -0
  419. package/dist-browser/telemetry/performance/StubPerformanceClient.d.ts +21 -0
  420. package/dist-browser/telemetry/performance/StubPerformanceClient.d.ts.map +1 -0
  421. package/dist-browser/telemetry/performance/StubPerformanceClient.mjs +59 -0
  422. package/dist-browser/telemetry/performance/StubPerformanceClient.mjs.map +1 -0
  423. package/dist-browser/telemetry/server/ServerTelemetryManager.d.ts +79 -0
  424. package/dist-browser/telemetry/server/ServerTelemetryManager.d.ts.map +1 -0
  425. package/dist-browser/telemetry/server/ServerTelemetryManager.mjs +266 -0
  426. package/dist-browser/telemetry/server/ServerTelemetryManager.mjs.map +1 -0
  427. package/dist-browser/telemetry/server/ServerTelemetryRequest.d.ts +9 -0
  428. package/dist-browser/telemetry/server/ServerTelemetryRequest.d.ts.map +1 -0
  429. package/dist-browser/url/IUri.d.ts +13 -0
  430. package/dist-browser/url/IUri.d.ts.map +1 -0
  431. package/dist-browser/url/UrlString.d.ts +44 -0
  432. package/dist-browser/url/UrlString.d.ts.map +1 -0
  433. package/dist-browser/url/UrlString.mjs +164 -0
  434. package/dist-browser/url/UrlString.mjs.map +1 -0
  435. package/dist-browser/utils/ClientAssertionUtils.d.ts +3 -0
  436. package/dist-browser/utils/ClientAssertionUtils.d.ts.map +1 -0
  437. package/dist-browser/utils/ClientAssertionUtils.mjs +21 -0
  438. package/dist-browser/utils/ClientAssertionUtils.mjs.map +1 -0
  439. package/dist-browser/utils/Constants.d.ts +283 -0
  440. package/dist-browser/utils/Constants.d.ts.map +1 -0
  441. package/dist-browser/utils/Constants.mjs +298 -0
  442. package/dist-browser/utils/Constants.mjs.map +1 -0
  443. package/dist-browser/utils/FunctionWrappers.d.ts +28 -0
  444. package/dist-browser/utils/FunctionWrappers.d.ts.map +1 -0
  445. package/dist-browser/utils/FunctionWrappers.mjs +98 -0
  446. package/dist-browser/utils/FunctionWrappers.mjs.map +1 -0
  447. package/dist-browser/utils/MsalTypes.d.ts +7 -0
  448. package/dist-browser/utils/MsalTypes.d.ts.map +1 -0
  449. package/dist-browser/utils/ProtocolUtils.d.ts +22 -0
  450. package/dist-browser/utils/ProtocolUtils.d.ts.map +1 -0
  451. package/dist-browser/utils/ProtocolUtils.mjs +74 -0
  452. package/dist-browser/utils/ProtocolUtils.mjs.map +1 -0
  453. package/dist-browser/utils/StateTypes.d.ts +15 -0
  454. package/dist-browser/utils/StateTypes.d.ts.map +1 -0
  455. package/dist-browser/utils/StringUtils.d.ts +41 -0
  456. package/dist-browser/utils/StringUtils.d.ts.map +1 -0
  457. package/dist-browser/utils/StringUtils.mjs +100 -0
  458. package/dist-browser/utils/StringUtils.mjs.map +1 -0
  459. package/dist-browser/utils/TimeUtils.d.ts +43 -0
  460. package/dist-browser/utils/TimeUtils.d.ts.map +1 -0
  461. package/dist-browser/utils/TimeUtils.mjs +76 -0
  462. package/dist-browser/utils/TimeUtils.mjs.map +1 -0
  463. package/dist-browser/utils/UrlUtils.d.ts +23 -0
  464. package/dist-browser/utils/UrlUtils.d.ts.map +1 -0
  465. package/dist-browser/utils/UrlUtils.mjs +115 -0
  466. package/dist-browser/utils/UrlUtils.mjs.map +1 -0
  467. package/lib/index-browser.cjs +2 -2
  468. package/lib/{index-node-B7mR4APO.js → index-node-A5mPbLhz.js} +14 -9
  469. package/lib/{index-node-B7mR4APO.js.map → index-node-A5mPbLhz.js.map} +1 -1
  470. package/lib/index-node.cjs +2 -2
  471. package/lib/index.cjs +2 -2
  472. package/lib/types/client/RefreshTokenClient.d.ts.map +1 -1
  473. package/lib/types/packageMetadata.d.ts +1 -1
  474. package/lib/types/packageMetadata.d.ts.map +1 -1
  475. package/lib/types/request/BaseAuthRequest.d.ts +63 -20
  476. package/lib/types/request/BaseAuthRequest.d.ts.map +1 -1
  477. package/lib/types/request/CommonAuthorizationCodeRequest.d.ts +18 -13
  478. package/lib/types/request/CommonAuthorizationCodeRequest.d.ts.map +1 -1
  479. package/lib/types/request/CommonAuthorizationUrlRequest.d.ts +48 -27
  480. package/lib/types/request/CommonAuthorizationUrlRequest.d.ts.map +1 -1
  481. package/lib/types/request/CommonEndSessionRequest.d.ts +21 -7
  482. package/lib/types/request/CommonEndSessionRequest.d.ts.map +1 -1
  483. package/lib/types/request/CommonRefreshTokenRequest.d.ts +12 -10
  484. package/lib/types/request/CommonRefreshTokenRequest.d.ts.map +1 -1
  485. package/lib/types/request/CommonSilentFlowRequest.d.ts +12 -14
  486. package/lib/types/request/CommonSilentFlowRequest.d.ts.map +1 -1
  487. package/lib/types/response/ResponseHandler.d.ts.map +1 -1
  488. package/lib/types/telemetry/performance/PerformanceEvent.d.ts +3 -1
  489. package/lib/types/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
  490. package/package.json +5 -3
  491. package/src/client/RefreshTokenClient.ts +13 -16
  492. package/src/packageMetadata.ts +1 -1
  493. package/src/request/BaseAuthRequest.ts +63 -20
  494. package/src/request/CommonAuthorizationCodeRequest.ts +18 -13
  495. package/src/request/CommonAuthorizationUrlRequest.ts +48 -27
  496. package/src/request/CommonEndSessionRequest.ts +21 -7
  497. package/src/request/CommonRefreshTokenRequest.ts +12 -10
  498. package/src/request/CommonSilentFlowRequest.ts +12 -14
  499. package/src/response/ResponseHandler.ts +5 -0
  500. package/src/telemetry/performance/PerformanceEvent.ts +3 -1
@@ -0,0 +1,349 @@
1
+ /*! @azure/msal-common v16.0.2 2026-01-17 */
2
+ 'use strict';
3
+ import { createClientAuthError } from '../error/ClientAuthError.mjs';
4
+ import { ServerError } from '../error/ServerError.mjs';
5
+ import { ScopeSet } from '../request/ScopeSet.mjs';
6
+ import { isInteractionRequiredError, InteractionRequiredAuthError } from '../error/InteractionRequiredAuthError.mjs';
7
+ import { parseRequestState } from '../utils/ProtocolUtils.mjs';
8
+ import { NOT_AVAILABLE, HTTP_SERVER_ERROR_RANGE_START, HTTP_SERVER_ERROR_RANGE_END, HTTP_CLIENT_ERROR_RANGE_START, HTTP_CLIENT_ERROR_RANGE_END, AuthenticationScheme, THE_FAMILY_ID } from '../utils/Constants.mjs';
9
+ import { PopTokenGenerator } from '../crypto/PopTokenGenerator.mjs';
10
+ import { TokenCacheContext } from '../cache/persistence/TokenCacheContext.mjs';
11
+ import { extractTokenClaims, checkMaxAge, isKmsi } from '../account/AuthToken.mjs';
12
+ import { getTenantIdFromIdTokenClaims } from '../account/TokenClaims.mjs';
13
+ import { updateAccountTenantProfileData, buildTenantProfile } from '../account/AccountInfo.mjs';
14
+ import { createIdTokenEntity, createAccessTokenEntity, createRefreshTokenEntity } from '../cache/utils/CacheHelpers.mjs';
15
+ import { toDateFromSeconds } from '../utils/TimeUtils.mjs';
16
+ import { generateHomeAccountId, getAccountInfo, createAccountEntity } from '../cache/utils/AccountEntityUtils.mjs';
17
+ import { nonceMismatch, authTimeNotFound, invalidCacheEnvironment, keyIdMissing } from '../error/ClientAuthErrorCodes.mjs';
18
+
19
+ /*
20
+ * Copyright (c) Microsoft Corporation. All rights reserved.
21
+ * Licensed under the MIT License.
22
+ */
23
+ /**
24
+ * Class that handles response parsing.
25
+ * @internal
26
+ */
27
+ class ResponseHandler {
28
+ constructor(clientId, cacheStorage, cryptoObj, logger, performanceClient, serializableCache, persistencePlugin) {
29
+ this.clientId = clientId;
30
+ this.cacheStorage = cacheStorage;
31
+ this.cryptoObj = cryptoObj;
32
+ this.logger = logger;
33
+ this.performanceClient = performanceClient;
34
+ this.serializableCache = serializableCache;
35
+ this.persistencePlugin = persistencePlugin;
36
+ }
37
+ /**
38
+ * Function which validates server authorization token response.
39
+ * @param serverResponse
40
+ * @param correlationId
41
+ * @param refreshAccessToken
42
+ */
43
+ validateTokenResponse(serverResponse, correlationId, refreshAccessToken) {
44
+ // Check for error
45
+ if (serverResponse.error ||
46
+ serverResponse.error_description ||
47
+ serverResponse.suberror) {
48
+ const errString = `Error(s): ${serverResponse.error_codes || NOT_AVAILABLE} - Timestamp: ${serverResponse.timestamp || NOT_AVAILABLE} - Description: ${serverResponse.error_description || NOT_AVAILABLE} - Correlation ID: ${serverResponse.correlation_id || NOT_AVAILABLE} - Trace ID: ${serverResponse.trace_id || NOT_AVAILABLE}`;
49
+ const serverErrorNo = serverResponse.error_codes?.length
50
+ ? serverResponse.error_codes[0]
51
+ : undefined;
52
+ const serverError = new ServerError(serverResponse.error, errString, serverResponse.suberror, serverErrorNo, serverResponse.status);
53
+ // check if 500 error
54
+ if (refreshAccessToken &&
55
+ serverResponse.status &&
56
+ serverResponse.status >=
57
+ HTTP_SERVER_ERROR_RANGE_START &&
58
+ serverResponse.status <= HTTP_SERVER_ERROR_RANGE_END) {
59
+ this.logger.warning("16ks7j", correlationId);
60
+ // don't throw an exception, but alert the user via a log that the token was unable to be refreshed
61
+ return;
62
+ // check if 400 error
63
+ }
64
+ else if (refreshAccessToken &&
65
+ serverResponse.status &&
66
+ serverResponse.status >=
67
+ HTTP_CLIENT_ERROR_RANGE_START &&
68
+ serverResponse.status <= HTTP_CLIENT_ERROR_RANGE_END) {
69
+ this.logger.warning("0g61x3", correlationId);
70
+ // don't throw an exception, but alert the user via a log that the token was unable to be refreshed
71
+ return;
72
+ }
73
+ if (isInteractionRequiredError(serverResponse.error, serverResponse.error_description, serverResponse.suberror)) {
74
+ throw new InteractionRequiredAuthError(serverResponse.error, serverResponse.error_description, serverResponse.suberror, serverResponse.timestamp || "", serverResponse.trace_id || "", serverResponse.correlation_id || "", serverResponse.claims || "", serverErrorNo);
75
+ }
76
+ throw serverError;
77
+ }
78
+ }
79
+ /**
80
+ * Returns a constructed token response based on given string. Also manages the cache updates and cleanups.
81
+ * @param serverTokenResponse
82
+ * @param authority
83
+ */
84
+ async handleServerTokenResponse(serverTokenResponse, authority, reqTimestamp, request, authCodePayload, userAssertionHash, handlingRefreshTokenResponse, forceCacheRefreshTokenResponse, serverRequestId) {
85
+ // create an idToken object (not entity)
86
+ let idTokenClaims;
87
+ if (serverTokenResponse.id_token) {
88
+ idTokenClaims = extractTokenClaims(serverTokenResponse.id_token || "", this.cryptoObj.base64Decode);
89
+ // token nonce check (TODO: Add a warning if no nonce is given?)
90
+ if (authCodePayload && authCodePayload.nonce) {
91
+ if (idTokenClaims.nonce !== authCodePayload.nonce) {
92
+ throw createClientAuthError(nonceMismatch);
93
+ }
94
+ }
95
+ // token max_age check
96
+ if (request.maxAge || request.maxAge === 0) {
97
+ const authTime = idTokenClaims.auth_time;
98
+ if (!authTime) {
99
+ throw createClientAuthError(authTimeNotFound);
100
+ }
101
+ checkMaxAge(authTime, request.maxAge);
102
+ }
103
+ }
104
+ // generate homeAccountId
105
+ this.homeAccountIdentifier = generateHomeAccountId(serverTokenResponse.client_info || "", authority.authorityType, this.logger, this.cryptoObj, request.correlationId, idTokenClaims);
106
+ // save the response tokens
107
+ let requestStateObj;
108
+ if (!!authCodePayload && !!authCodePayload.state) {
109
+ requestStateObj = parseRequestState(this.cryptoObj.base64Decode, authCodePayload.state);
110
+ }
111
+ // Add keyId from request to serverTokenResponse if defined
112
+ serverTokenResponse.key_id =
113
+ serverTokenResponse.key_id || request.sshKid || undefined;
114
+ const cacheRecord = this.generateCacheRecord(serverTokenResponse, authority, reqTimestamp, request, idTokenClaims, userAssertionHash, authCodePayload);
115
+ let cacheContext;
116
+ try {
117
+ if (this.persistencePlugin && this.serializableCache) {
118
+ this.logger.verbose("0jbz5k", request.correlationId);
119
+ cacheContext = new TokenCacheContext(this.serializableCache, true);
120
+ await this.persistencePlugin.beforeCacheAccess(cacheContext);
121
+ }
122
+ /*
123
+ * When saving a refreshed tokens to the cache, it is expected that the account that was used is present in the cache.
124
+ * If not present, we should return null, as it's the case that another application called removeAccount in between
125
+ * the calls to getAllAccounts and acquireTokenSilent. We should not overwrite that removal, unless explicitly flagged by
126
+ * the developer, as in the case of refresh token flow used in ADAL Node to MSAL Node migration.
127
+ */
128
+ if (handlingRefreshTokenResponse &&
129
+ !forceCacheRefreshTokenResponse &&
130
+ cacheRecord.account) {
131
+ const key = this.cacheStorage.generateAccountKey(getAccountInfo(cacheRecord.account));
132
+ const account = this.cacheStorage.getAccount(key, request.correlationId);
133
+ if (!account) {
134
+ this.logger.warning("1gmt66", request.correlationId);
135
+ return await ResponseHandler.generateAuthenticationResult(this.cryptoObj, authority, cacheRecord, false, request, this.performanceClient, idTokenClaims, requestStateObj, undefined, serverRequestId);
136
+ }
137
+ }
138
+ await this.cacheStorage.saveCacheRecord(cacheRecord, request.correlationId, isKmsi(idTokenClaims || {}), request.storeInCache);
139
+ }
140
+ finally {
141
+ if (this.persistencePlugin &&
142
+ this.serializableCache &&
143
+ cacheContext) {
144
+ this.logger.verbose("1bh17u", request.correlationId);
145
+ await this.persistencePlugin.afterCacheAccess(cacheContext);
146
+ }
147
+ }
148
+ return ResponseHandler.generateAuthenticationResult(this.cryptoObj, authority, cacheRecord, false, request, this.performanceClient, idTokenClaims, requestStateObj, serverTokenResponse, serverRequestId);
149
+ }
150
+ /**
151
+ * Generates CacheRecord
152
+ * @param serverTokenResponse
153
+ * @param idTokenObj
154
+ * @param authority
155
+ */
156
+ generateCacheRecord(serverTokenResponse, authority, reqTimestamp, request, idTokenClaims, userAssertionHash, authCodePayload) {
157
+ const env = authority.getPreferredCache();
158
+ if (!env) {
159
+ throw createClientAuthError(invalidCacheEnvironment);
160
+ }
161
+ const claimsTenantId = getTenantIdFromIdTokenClaims(idTokenClaims);
162
+ // IdToken: non AAD scenarios can have empty realm
163
+ let cachedIdToken;
164
+ let cachedAccount;
165
+ if (serverTokenResponse.id_token && !!idTokenClaims) {
166
+ cachedIdToken = createIdTokenEntity(this.homeAccountIdentifier, env, serverTokenResponse.id_token, this.clientId, claimsTenantId || "");
167
+ cachedAccount = buildAccountToCache(this.cacheStorage, authority, this.homeAccountIdentifier, this.cryptoObj.base64Decode, request.correlationId, idTokenClaims, serverTokenResponse.client_info, env, claimsTenantId, authCodePayload, undefined, // nativeAccountId
168
+ this.logger);
169
+ }
170
+ // AccessToken
171
+ let cachedAccessToken = null;
172
+ if (serverTokenResponse.access_token) {
173
+ // If scopes not returned in server response, use request scopes
174
+ const responseScopes = serverTokenResponse.scope
175
+ ? ScopeSet.fromString(serverTokenResponse.scope)
176
+ : new ScopeSet(request.scopes || []);
177
+ /*
178
+ * Use timestamp calculated before request
179
+ * Server may return timestamps as strings, parse to numbers if so.
180
+ */
181
+ const expiresIn = (typeof serverTokenResponse.expires_in === "string"
182
+ ? parseInt(serverTokenResponse.expires_in, 10)
183
+ : serverTokenResponse.expires_in) || 0;
184
+ const extExpiresIn = (typeof serverTokenResponse.ext_expires_in === "string"
185
+ ? parseInt(serverTokenResponse.ext_expires_in, 10)
186
+ : serverTokenResponse.ext_expires_in) || 0;
187
+ const refreshIn = (typeof serverTokenResponse.refresh_in === "string"
188
+ ? parseInt(serverTokenResponse.refresh_in, 10)
189
+ : serverTokenResponse.refresh_in) || undefined;
190
+ const tokenExpirationSeconds = reqTimestamp + expiresIn;
191
+ const extendedTokenExpirationSeconds = tokenExpirationSeconds + extExpiresIn;
192
+ const refreshOnSeconds = refreshIn && refreshIn > 0
193
+ ? reqTimestamp + refreshIn
194
+ : undefined;
195
+ // non AAD scenarios can have empty realm
196
+ cachedAccessToken = createAccessTokenEntity(this.homeAccountIdentifier, env, serverTokenResponse.access_token, this.clientId, claimsTenantId || authority.tenant || "", responseScopes.printScopes(), tokenExpirationSeconds, extendedTokenExpirationSeconds, this.cryptoObj.base64Decode, refreshOnSeconds, serverTokenResponse.token_type, userAssertionHash, serverTokenResponse.key_id);
197
+ }
198
+ // refreshToken
199
+ let cachedRefreshToken = null;
200
+ if (serverTokenResponse.refresh_token) {
201
+ let rtExpiresOn;
202
+ if (serverTokenResponse.refresh_token_expires_in) {
203
+ const rtExpiresIn = typeof serverTokenResponse.refresh_token_expires_in ===
204
+ "string"
205
+ ? parseInt(serverTokenResponse.refresh_token_expires_in, 10)
206
+ : serverTokenResponse.refresh_token_expires_in;
207
+ rtExpiresOn = reqTimestamp + rtExpiresIn;
208
+ this.performanceClient?.addFields({ ntwkRtExpiresOnSeconds: rtExpiresOn }, request.correlationId);
209
+ }
210
+ cachedRefreshToken = createRefreshTokenEntity(this.homeAccountIdentifier, env, serverTokenResponse.refresh_token, this.clientId, serverTokenResponse.foci, userAssertionHash, rtExpiresOn);
211
+ }
212
+ // appMetadata
213
+ let cachedAppMetadata = null;
214
+ if (serverTokenResponse.foci) {
215
+ cachedAppMetadata = {
216
+ clientId: this.clientId,
217
+ environment: env,
218
+ familyId: serverTokenResponse.foci,
219
+ };
220
+ }
221
+ return {
222
+ account: cachedAccount,
223
+ idToken: cachedIdToken,
224
+ accessToken: cachedAccessToken,
225
+ refreshToken: cachedRefreshToken,
226
+ appMetadata: cachedAppMetadata,
227
+ };
228
+ }
229
+ /**
230
+ * Creates an @AuthenticationResult from @CacheRecord , @IdToken , and a boolean that states whether or not the result is from cache.
231
+ *
232
+ * Optionally takes a state string that is set as-is in the response.
233
+ *
234
+ * @param cacheRecord
235
+ * @param idTokenObj
236
+ * @param fromTokenCache
237
+ * @param stateString
238
+ */
239
+ static async generateAuthenticationResult(cryptoObj, authority, cacheRecord, fromTokenCache, request, performanceClient, idTokenClaims, requestState, serverTokenResponse, requestId) {
240
+ let accessToken = "";
241
+ let responseScopes = [];
242
+ let expiresOn = null;
243
+ let extExpiresOn;
244
+ let refreshOn;
245
+ let familyId = "";
246
+ if (cacheRecord.accessToken) {
247
+ /*
248
+ * if the request object has `popKid` property, `signPopToken` will be set to false and
249
+ * the token will be returned unsigned
250
+ */
251
+ if (cacheRecord.accessToken.tokenType ===
252
+ AuthenticationScheme.POP &&
253
+ !request.popKid) {
254
+ const popTokenGenerator = new PopTokenGenerator(cryptoObj, performanceClient);
255
+ const { secret, keyId } = cacheRecord.accessToken;
256
+ if (!keyId) {
257
+ throw createClientAuthError(keyIdMissing);
258
+ }
259
+ accessToken = await popTokenGenerator.signPopToken(secret, keyId, request);
260
+ }
261
+ else {
262
+ accessToken = cacheRecord.accessToken.secret;
263
+ }
264
+ responseScopes = ScopeSet.fromString(cacheRecord.accessToken.target).asArray();
265
+ // Access token expiresOn cached in seconds, converting to Date for AuthenticationResult
266
+ expiresOn = toDateFromSeconds(cacheRecord.accessToken.expiresOn);
267
+ extExpiresOn = toDateFromSeconds(cacheRecord.accessToken.extendedExpiresOn);
268
+ if (cacheRecord.accessToken.refreshOn) {
269
+ refreshOn = toDateFromSeconds(cacheRecord.accessToken.refreshOn);
270
+ }
271
+ }
272
+ if (cacheRecord.appMetadata) {
273
+ familyId =
274
+ cacheRecord.appMetadata.familyId === THE_FAMILY_ID
275
+ ? THE_FAMILY_ID
276
+ : "";
277
+ }
278
+ const uid = idTokenClaims?.oid || idTokenClaims?.sub || "";
279
+ const tid = idTokenClaims?.tid || "";
280
+ // for hybrid + native bridge enablement, send back the native account Id
281
+ if (serverTokenResponse?.spa_accountid && !!cacheRecord.account) {
282
+ cacheRecord.account.nativeAccountId =
283
+ serverTokenResponse?.spa_accountid;
284
+ }
285
+ const accountInfo = cacheRecord.account
286
+ ? updateAccountTenantProfileData(getAccountInfo(cacheRecord.account), undefined, // tenantProfile optional
287
+ idTokenClaims, cacheRecord.idToken?.secret)
288
+ : null;
289
+ return {
290
+ authority: authority.canonicalAuthority,
291
+ uniqueId: uid,
292
+ tenantId: tid,
293
+ scopes: responseScopes,
294
+ account: accountInfo,
295
+ idToken: cacheRecord?.idToken?.secret || "",
296
+ idTokenClaims: idTokenClaims || {},
297
+ accessToken: accessToken,
298
+ fromCache: fromTokenCache,
299
+ expiresOn: expiresOn,
300
+ extExpiresOn: extExpiresOn,
301
+ refreshOn: refreshOn,
302
+ correlationId: request.correlationId,
303
+ requestId: requestId || "",
304
+ familyId: familyId,
305
+ tokenType: cacheRecord.accessToken?.tokenType || "",
306
+ state: requestState ? requestState.userRequestState : "",
307
+ cloudGraphHostName: cacheRecord.account?.cloudGraphHostName || "",
308
+ msGraphHost: cacheRecord.account?.msGraphHost || "",
309
+ code: serverTokenResponse?.spa_code,
310
+ fromPlatformBroker: false,
311
+ };
312
+ }
313
+ }
314
+ function buildAccountToCache(cacheStorage, authority, homeAccountId, base64Decode, correlationId, idTokenClaims, clientInfo, environment, claimsTenantId, authCodePayload, nativeAccountId, logger) {
315
+ logger?.verbose("09jz0t", correlationId);
316
+ // Check if base account is already cached
317
+ const accountKeys = cacheStorage.getAccountKeys();
318
+ const baseAccountKey = accountKeys.find((accountKey) => {
319
+ return accountKey.startsWith(homeAccountId);
320
+ });
321
+ let cachedAccount = null;
322
+ if (baseAccountKey) {
323
+ cachedAccount = cacheStorage.getAccount(baseAccountKey, correlationId);
324
+ }
325
+ const baseAccount = cachedAccount ||
326
+ createAccountEntity({
327
+ homeAccountId,
328
+ idTokenClaims,
329
+ clientInfo,
330
+ environment,
331
+ cloudGraphHostName: authCodePayload?.cloud_graph_host_name,
332
+ msGraphHost: authCodePayload?.msgraph_host,
333
+ nativeAccountId: nativeAccountId,
334
+ }, authority, base64Decode);
335
+ const tenantProfiles = baseAccount.tenantProfiles || [];
336
+ const tenantId = claimsTenantId || baseAccount.realm;
337
+ if (tenantId &&
338
+ !tenantProfiles.find((tenantProfile) => {
339
+ return tenantProfile.tenantId === tenantId;
340
+ })) {
341
+ const newTenantProfile = buildTenantProfile(homeAccountId, baseAccount.localAccountId, tenantId, idTokenClaims);
342
+ tenantProfiles.push(newTenantProfile);
343
+ }
344
+ baseAccount.tenantProfiles = tenantProfiles;
345
+ return baseAccount;
346
+ }
347
+
348
+ export { ResponseHandler, buildAccountToCache };
349
+ //# sourceMappingURL=ResponseHandler.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponseHandler.mjs","sources":["../../src/response/ResponseHandler.ts"],"sourcesContent":[null],"names":["Constants.NOT_AVAILABLE","Constants.HTTP_SERVER_ERROR_RANGE_START","Constants.HTTP_SERVER_ERROR_RANGE_END","Constants.HTTP_CLIENT_ERROR_RANGE_START","Constants.HTTP_CLIENT_ERROR_RANGE_END","ClientAuthErrorCodes.nonceMismatch","ClientAuthErrorCodes.authTimeNotFound","AccountEntityUtils.generateHomeAccountId","ProtocolUtils.parseRequestState","AccountEntityUtils.getAccountInfo","ClientAuthErrorCodes.invalidCacheEnvironment","CacheHelpers.createIdTokenEntity","CacheHelpers.createAccessTokenEntity","CacheHelpers.createRefreshTokenEntity","Constants.AuthenticationScheme","ClientAuthErrorCodes.keyIdMissing","TimeUtils.toDateFromSeconds","Constants.THE_FAMILY_ID","AccountEntityUtils.createAccountEntity"],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { AuthenticationScheme } from "../utils/Constants.js";
2
+ /**
3
+ * Deserialized response object from server authorization code request.
4
+ * - token_type: Indicates the token type value. Can be either Bearer or pop.
5
+ * - scope: The scopes that the access_token is valid for.
6
+ * - expires_in: How long the access token is valid (in seconds).
7
+ * - refresh_in: Duration afer which a token should be renewed, regardless of expiration.
8
+ * - ext_expires_in: How long the access token is valid (in seconds) if the server isn't responding.
9
+ * - access_token: The requested access token. The app can use this token to authenticate to the secured resource, such as a web API.
10
+ * - refresh_token: An OAuth 2.0 refresh token. The app can use this token acquire additional access tokens after the current access token expires.
11
+ * - id_token: A JSON Web Token (JWT). The app can decode the segments of this token to request information about the user who signed in.
12
+ * - key_id: A string that uniquely identifies a public key that the request is bound to.
13
+ *
14
+ * In case of error:
15
+ * - error: An error code string that can be used to classify types of errors that occur, and can be used to react to errors.
16
+ * - error_description: A specific error message that can help a developer identify the root cause of an authentication error.
17
+ * - error_codes: A list of STS-specific error codes that can help in diagnostics.
18
+ * - timestamp: The time at which the error occurred.
19
+ * - trace_id: A unique identifier for the request that can help in diagnostics.
20
+ * - correlation_id: A unique identifier for the request that can help in diagnostics across components.
21
+ * - status: the network request's response status
22
+ */
23
+ export type ServerAuthorizationTokenResponse = {
24
+ status?: number;
25
+ token_type?: AuthenticationScheme;
26
+ scope?: string;
27
+ expires_in?: number;
28
+ refresh_in?: number;
29
+ ext_expires_in?: number;
30
+ access_token?: string;
31
+ refresh_token?: string;
32
+ refresh_token_expires_in?: number;
33
+ id_token?: string;
34
+ client_info?: string;
35
+ foci?: string;
36
+ spa_code?: string;
37
+ spa_accountid?: string;
38
+ key_id?: string;
39
+ error?: string;
40
+ error_description?: string;
41
+ error_codes?: Array<string>;
42
+ suberror?: string;
43
+ timestamp?: string;
44
+ trace_id?: string;
45
+ correlation_id?: string;
46
+ claims?: string;
47
+ };
48
+ //# sourceMappingURL=ServerAuthorizationTokenResponse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerAuthorizationTokenResponse.d.ts","sourceRoot":"","sources":["../../src/response/ServerAuthorizationTokenResponse.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,gCAAgC,GAAG;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { PerformanceEvent } from "./PerformanceEvent.js";
2
+ import { AccountInfo } from "../../account/AccountInfo.js";
3
+ export type PerformanceCallbackFunction = (events: PerformanceEvent[]) => void;
4
+ export type InProgressPerformanceEvent = {
5
+ end: (event?: Partial<PerformanceEvent>, error?: unknown, account?: AccountInfo) => PerformanceEvent | null;
6
+ discard: () => void;
7
+ add: (fields: {
8
+ [key: string]: {} | undefined;
9
+ }) => void;
10
+ increment: (fields: {
11
+ [key: string]: number | undefined;
12
+ }) => void;
13
+ event: PerformanceEvent;
14
+ };
15
+ export interface IPerformanceClient {
16
+ startMeasurement(measureName: string, correlationId?: string): InProgressPerformanceEvent;
17
+ endMeasurement(event: PerformanceEvent): PerformanceEvent | null;
18
+ discardMeasurements(correlationId: string): void;
19
+ addFields(fields: {
20
+ [key: string]: {} | undefined;
21
+ }, correlationId: string): void;
22
+ incrementFields(fields: {
23
+ [key: string]: number | undefined;
24
+ }, correlationId: string): void;
25
+ removePerformanceCallback(callbackId: string): boolean;
26
+ addPerformanceCallback(callback: PerformanceCallbackFunction): string;
27
+ emitEvents(events: PerformanceEvent[], correlationId: string): void;
28
+ generateId(): string;
29
+ }
30
+ //# sourceMappingURL=IPerformanceClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPerformanceClient.d.ts","sourceRoot":"","sources":["../../../src/telemetry/performance/IPerformanceClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,MAAM,MAAM,2BAA2B,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,IAAI,CAAC;AAE/E,MAAM,MAAM,0BAA0B,GAAG;IACrC,GAAG,EAAE,CACD,KAAK,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,EACjC,KAAK,CAAC,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,WAAW,KACpB,gBAAgB,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,GAAG,EAAE,CAAC,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,GAAG,SAAS,CAAA;KAAE,KAAK,IAAI,CAAC;IACzD,SAAS,EAAE,CAAC,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;KAAE,KAAK,IAAI,CAAC;IACnE,KAAK,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,MAAM,WAAW,kBAAkB;IAC/B,gBAAgB,CACZ,WAAW,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,MAAM,GACvB,0BAA0B,CAAC;IAC9B,cAAc,CAAC,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,IAAI,CAAC;IACjE,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,SAAS,CACL,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,GAAG,SAAS,CAAA;KAAE,EACzC,aAAa,EAAE,MAAM,GACtB,IAAI,CAAC;IACR,eAAe,CACX,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;KAAE,EAC7C,aAAa,EAAE,MAAM,GACtB,IAAI,CAAC;IACR,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IACvD,sBAAsB,CAAC,QAAQ,EAAE,2BAA2B,GAAG,MAAM,CAAC;IACtE,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACpE,UAAU,IAAI,MAAM,CAAC;CACxB"}
@@ -0,0 +1,6 @@
1
+ export interface IPerformanceMeasurement {
2
+ startMeasurement(): void;
3
+ endMeasurement(): void;
4
+ flushMeasurement(): number | null;
5
+ }
6
+ //# sourceMappingURL=IPerformanceMeasurement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPerformanceMeasurement.d.ts","sourceRoot":"","sources":["../../../src/telemetry/performance/IPerformanceMeasurement.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,uBAAuB;IACpC,gBAAgB,IAAI,IAAI,CAAC;IACzB,cAAc,IAAI,IAAI,CAAC;IACvB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAAC;CACrC"}
@@ -0,0 +1,170 @@
1
+ import { ApplicationTelemetry } from "../../config/ClientConfiguration.js";
2
+ import { Logger } from "../../logger/Logger.js";
3
+ import { InProgressPerformanceEvent, IPerformanceClient, PerformanceCallbackFunction } from "./IPerformanceClient.js";
4
+ import { PerformanceEvent, PerformanceEventContext, PerformanceEventStackedContext } from "./PerformanceEvent.js";
5
+ import { AccountInfo } from "../../account/AccountInfo.js";
6
+ /**
7
+ * Starts context by adding payload to the stack
8
+ * @param event {PerformanceEvent}
9
+ * @param stack {?PerformanceEventStackedContext[]} stack
10
+ */
11
+ export declare function startContext(event: PerformanceEvent, stack?: PerformanceEventStackedContext[]): void;
12
+ /**
13
+ * Ends context by removing payload from the stack and returning parent or self, if stack is empty, payload
14
+ *
15
+ * @param event {PerformanceEvent}
16
+ * @param stack {?PerformanceEventStackedContext[]} stack
17
+ * @param error {?unknown} error
18
+ */
19
+ export declare function endContext(event: PerformanceEvent, stack?: PerformanceEventStackedContext[], error?: unknown): PerformanceEventContext | undefined;
20
+ /**
21
+ * Adds error name and stack trace to the telemetry event
22
+ * @param error {Error}
23
+ * @param logger {Logger}
24
+ * @param event {PerformanceEvent}
25
+ * @param stackMaxSize {number} max error stack size to capture
26
+ */
27
+ export declare function addError(error: unknown, logger: Logger, event: PerformanceEvent, stackMaxSize?: number): void;
28
+ /**
29
+ * Compacts error stack into array by fetching N first entries
30
+ * @param stack {string} error stack
31
+ * @param stackMaxSize {number} max error stack size to capture
32
+ * @returns {string[]}
33
+ */
34
+ export declare function compactStack(stack: string, stackMaxSize: number): string[];
35
+ /**
36
+ * Compacts error stack line by shortening file path
37
+ * Example: https://localhost/msal-common/src/authority/Authority.js:100:1 -> Authority.js:100:1
38
+ * @param line {string} stack line
39
+ * @returns {string}
40
+ */
41
+ export declare function compactStackLine(line: string): string;
42
+ export declare function getAccountType(account?: AccountInfo): "AAD" | "MSA" | "B2C" | undefined;
43
+ export declare abstract class PerformanceClient implements IPerformanceClient {
44
+ protected authority: string;
45
+ protected libraryName: string;
46
+ protected libraryVersion: string;
47
+ protected applicationTelemetry: ApplicationTelemetry;
48
+ protected clientId: string;
49
+ protected logger: Logger;
50
+ protected callbacks: Map<string, PerformanceCallbackFunction>;
51
+ /**
52
+ * Multiple events with the same correlation id.
53
+ * @protected
54
+ * @type {Map<string, PerformanceEvent>}
55
+ */
56
+ protected eventsByCorrelationId: Map<string, PerformanceEvent>;
57
+ protected intFields: Set<string>;
58
+ /**
59
+ * Map of stacked events by correlation id.
60
+ *
61
+ * @protected
62
+ */
63
+ protected eventStack: Map<string, PerformanceEventStackedContext[]>;
64
+ /**
65
+ * Creates an instance of PerformanceClient,
66
+ * an abstract class containing core performance telemetry logic.
67
+ *
68
+ * @constructor
69
+ * @param {string} clientId Client ID of the application
70
+ * @param {string} authority Authority used by the application
71
+ * @param {Logger} logger Logger used by the application
72
+ * @param {string} libraryName Name of the library
73
+ * @param {string} libraryVersion Version of the library
74
+ * @param {ApplicationTelemetry} applicationTelemetry application name and version
75
+ * @param {Set<String>} intFields integer fields to be truncated
76
+ */
77
+ constructor(clientId: string, authority: string, logger: Logger, libraryName: string, libraryVersion: string, applicationTelemetry: ApplicationTelemetry, intFields?: Set<string>);
78
+ /**
79
+ * Generates and returns a unique id, typically a guid.
80
+ *
81
+ * @abstract
82
+ * @returns {string}
83
+ */
84
+ abstract generateId(): string;
85
+ /**
86
+ * Starts measuring performance for a given operation. Returns a function that should be used to end the measurement.
87
+ *
88
+ * @param {PerformanceEvents} measureName
89
+ * @param {?string} [correlationId]
90
+ * @returns {InProgressPerformanceEvent}
91
+ */
92
+ startMeasurement(measureName: string, correlationId?: string): InProgressPerformanceEvent;
93
+ /**
94
+ * Stops measuring the performance for an operation. Should only be called directly by PerformanceClient classes,
95
+ * as consumers should instead use the function returned by startMeasurement.
96
+ * Adds a new field named as "[event name]DurationMs" for sub-measurements, completes and emits an event
97
+ * otherwise.
98
+ *
99
+ * @param {PerformanceEvent} event
100
+ * @param {unknown} error
101
+ * @param {AccountInfo?} account
102
+ * @returns {(PerformanceEvent | null)}
103
+ */
104
+ endMeasurement(event: PerformanceEvent, error?: unknown, account?: AccountInfo): PerformanceEvent | null;
105
+ /**
106
+ * Saves extra information to be emitted when the measurements are flushed
107
+ * @param fields
108
+ * @param correlationId
109
+ */
110
+ addFields(fields: {
111
+ [key: string]: {} | undefined;
112
+ }, correlationId: string): void;
113
+ /**
114
+ * Increment counters to be emitted when the measurements are flushed
115
+ * @param fields {string[]}
116
+ * @param correlationId {string} correlation identifier
117
+ */
118
+ incrementFields(fields: {
119
+ [key: string]: number | undefined;
120
+ }, correlationId: string): void;
121
+ /**
122
+ * Upserts event into event cache.
123
+ * First key is the correlation id, second key is the event id.
124
+ * Allows for events to be grouped by correlation id,
125
+ * and to easily allow for properties on them to be updated.
126
+ *
127
+ * @private
128
+ * @param {PerformanceEvent} event
129
+ */
130
+ protected cacheEventByCorrelationId(event: PerformanceEvent): void;
131
+ /**
132
+ * Removes measurements and aux data for a given correlation id.
133
+ *
134
+ * @param {string} correlationId
135
+ */
136
+ discardMeasurements(correlationId: string): void;
137
+ /**
138
+ * Registers a callback function to receive performance events.
139
+ *
140
+ * @param {PerformanceCallbackFunction} callback
141
+ * @returns {string}
142
+ */
143
+ addPerformanceCallback(callback: PerformanceCallbackFunction): string;
144
+ /**
145
+ * Removes a callback registered with addPerformanceCallback.
146
+ *
147
+ * @param {string} callbackId
148
+ * @returns {boolean}
149
+ */
150
+ removePerformanceCallback(callbackId: string): boolean;
151
+ /**
152
+ * Emits events to all registered callbacks.
153
+ *
154
+ * @param {PerformanceEvent[]} events
155
+ * @param {?string} [correlationId]
156
+ */
157
+ emitEvents(events: PerformanceEvent[], correlationId: string): void;
158
+ /**
159
+ * Enforce truncation of integral fields in performance event.
160
+ * @param {PerformanceEvent} event performance event to update.
161
+ */
162
+ private truncateIntegralFields;
163
+ /**
164
+ * Returns event duration in milliseconds
165
+ * @param startTimeMs {number}
166
+ * @returns {number}
167
+ */
168
+ private getDurationMs;
169
+ }
170
+ //# sourceMappingURL=PerformanceClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerformanceClient.d.ts","sourceRoot":"","sources":["../../../src/telemetry/performance/PerformanceClient.ts"],"names":[],"mappings":"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"}