@azure/msal-common 9.1.0 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +62 -62
  3. package/dist/_virtual/_tslib.js +1 -1
  4. package/dist/account/AuthToken.js +1 -1
  5. package/dist/account/AuthToken.js.map +1 -1
  6. package/dist/account/CcsCredential.js +1 -1
  7. package/dist/account/CcsCredential.js.map +1 -1
  8. package/dist/account/ClientInfo.js +1 -1
  9. package/dist/account/ClientInfo.js.map +1 -1
  10. package/dist/authority/Authority.d.ts +4 -2
  11. package/dist/authority/Authority.d.ts.map +1 -1
  12. package/dist/authority/Authority.js +62 -48
  13. package/dist/authority/Authority.js.map +1 -1
  14. package/dist/authority/AuthorityFactory.d.ts +3 -2
  15. package/dist/authority/AuthorityFactory.d.ts.map +1 -1
  16. package/dist/authority/AuthorityFactory.js +8 -5
  17. package/dist/authority/AuthorityFactory.js.map +1 -1
  18. package/dist/authority/AuthorityMetadata.js +1 -1
  19. package/dist/authority/AuthorityMetadata.js.map +1 -1
  20. package/dist/authority/AuthorityOptions.js +1 -1
  21. package/dist/authority/AuthorityOptions.js.map +1 -1
  22. package/dist/authority/AuthorityType.js +1 -1
  23. package/dist/authority/AuthorityType.js.map +1 -1
  24. package/dist/authority/CloudInstanceDiscoveryErrorResponse.js +1 -1
  25. package/dist/authority/CloudInstanceDiscoveryErrorResponse.js.map +1 -1
  26. package/dist/authority/CloudInstanceDiscoveryResponse.js +1 -1
  27. package/dist/authority/CloudInstanceDiscoveryResponse.js.map +1 -1
  28. package/dist/authority/ImdsOptions.d.ts +0 -1
  29. package/dist/authority/ImdsOptions.d.ts.map +1 -1
  30. package/dist/authority/OpenIdConfigResponse.js +1 -1
  31. package/dist/authority/OpenIdConfigResponse.js.map +1 -1
  32. package/dist/authority/ProtocolMode.js +1 -1
  33. package/dist/authority/ProtocolMode.js.map +1 -1
  34. package/dist/authority/RegionDiscovery.d.ts +5 -2
  35. package/dist/authority/RegionDiscovery.d.ts.map +1 -1
  36. package/dist/authority/RegionDiscovery.js +36 -25
  37. package/dist/authority/RegionDiscovery.js.map +1 -1
  38. package/dist/cache/CacheManager.js +1 -1
  39. package/dist/cache/CacheManager.js.map +1 -1
  40. package/dist/cache/entities/AccessTokenEntity.js +1 -1
  41. package/dist/cache/entities/AccessTokenEntity.js.map +1 -1
  42. package/dist/cache/entities/AccountEntity.js +1 -1
  43. package/dist/cache/entities/AccountEntity.js.map +1 -1
  44. package/dist/cache/entities/AppMetadataEntity.js +1 -1
  45. package/dist/cache/entities/AppMetadataEntity.js.map +1 -1
  46. package/dist/cache/entities/AuthorityMetadataEntity.js +1 -1
  47. package/dist/cache/entities/AuthorityMetadataEntity.js.map +1 -1
  48. package/dist/cache/entities/CacheRecord.js +1 -1
  49. package/dist/cache/entities/CacheRecord.js.map +1 -1
  50. package/dist/cache/entities/CredentialEntity.d.ts +6 -0
  51. package/dist/cache/entities/CredentialEntity.d.ts.map +1 -1
  52. package/dist/cache/entities/CredentialEntity.js +28 -10
  53. package/dist/cache/entities/CredentialEntity.js.map +1 -1
  54. package/dist/cache/entities/IdTokenEntity.js +1 -1
  55. package/dist/cache/entities/IdTokenEntity.js.map +1 -1
  56. package/dist/cache/entities/RefreshTokenEntity.js +1 -1
  57. package/dist/cache/entities/RefreshTokenEntity.js.map +1 -1
  58. package/dist/cache/entities/ServerTelemetryEntity.js +1 -1
  59. package/dist/cache/entities/ServerTelemetryEntity.js.map +1 -1
  60. package/dist/cache/entities/ThrottlingEntity.js +1 -1
  61. package/dist/cache/entities/ThrottlingEntity.js.map +1 -1
  62. package/dist/cache/persistence/TokenCacheContext.js +1 -1
  63. package/dist/cache/persistence/TokenCacheContext.js.map +1 -1
  64. package/dist/client/AuthorizationCodeClient.d.ts +0 -5
  65. package/dist/client/AuthorizationCodeClient.d.ts.map +1 -1
  66. package/dist/client/AuthorizationCodeClient.js +61 -56
  67. package/dist/client/AuthorizationCodeClient.js.map +1 -1
  68. package/dist/client/BaseClient.d.ts +6 -0
  69. package/dist/client/BaseClient.d.ts.map +1 -1
  70. package/dist/client/BaseClient.js +14 -2
  71. package/dist/client/BaseClient.js.map +1 -1
  72. package/dist/client/ClientCredentialClient.d.ts.map +1 -1
  73. package/dist/client/ClientCredentialClient.js +6 -3
  74. package/dist/client/ClientCredentialClient.js.map +1 -1
  75. package/dist/client/DeviceCodeClient.d.ts +5 -0
  76. package/dist/client/DeviceCodeClient.d.ts.map +1 -1
  77. package/dist/client/DeviceCodeClient.js +25 -7
  78. package/dist/client/DeviceCodeClient.js.map +1 -1
  79. package/dist/client/OnBehalfOfClient.d.ts.map +1 -1
  80. package/dist/client/OnBehalfOfClient.js +6 -3
  81. package/dist/client/OnBehalfOfClient.js.map +1 -1
  82. package/dist/client/RefreshTokenClient.d.ts +0 -5
  83. package/dist/client/RefreshTokenClient.d.ts.map +1 -1
  84. package/dist/client/RefreshTokenClient.js +42 -39
  85. package/dist/client/RefreshTokenClient.js.map +1 -1
  86. package/dist/client/SilentFlowClient.js +1 -1
  87. package/dist/client/SilentFlowClient.js.map +1 -1
  88. package/dist/client/UsernamePasswordClient.d.ts.map +1 -1
  89. package/dist/client/UsernamePasswordClient.js +11 -8
  90. package/dist/client/UsernamePasswordClient.js.map +1 -1
  91. package/dist/config/ClientConfiguration.d.ts +0 -1
  92. package/dist/config/ClientConfiguration.d.ts.map +1 -1
  93. package/dist/config/ClientConfiguration.js +2 -3
  94. package/dist/config/ClientConfiguration.js.map +1 -1
  95. package/dist/crypto/ICrypto.js +1 -1
  96. package/dist/crypto/ICrypto.js.map +1 -1
  97. package/dist/crypto/JoseHeader.js +1 -1
  98. package/dist/crypto/JoseHeader.js.map +1 -1
  99. package/dist/crypto/PopTokenGenerator.d.ts +3 -1
  100. package/dist/crypto/PopTokenGenerator.d.ts.map +1 -1
  101. package/dist/crypto/PopTokenGenerator.js +23 -14
  102. package/dist/crypto/PopTokenGenerator.js.map +1 -1
  103. package/dist/error/AuthError.js +1 -1
  104. package/dist/error/AuthError.js.map +1 -1
  105. package/dist/error/ClientAuthError.js +1 -1
  106. package/dist/error/ClientAuthError.js.map +1 -1
  107. package/dist/error/ClientConfigurationError.js +1 -1
  108. package/dist/error/ClientConfigurationError.js.map +1 -1
  109. package/dist/error/InteractionRequiredAuthError.d.ts +19 -1
  110. package/dist/error/InteractionRequiredAuthError.d.ts.map +1 -1
  111. package/dist/error/InteractionRequiredAuthError.js +8 -3
  112. package/dist/error/InteractionRequiredAuthError.js.map +1 -1
  113. package/dist/error/JoseHeaderError.js +1 -1
  114. package/dist/error/JoseHeaderError.js.map +1 -1
  115. package/dist/error/ServerError.js +1 -1
  116. package/dist/error/ServerError.js.map +1 -1
  117. package/dist/index.cjs.js +898 -557
  118. package/dist/index.cjs.js.map +1 -1
  119. package/dist/index.d.ts +2 -2
  120. package/dist/index.d.ts.map +1 -1
  121. package/dist/index.js +2 -2
  122. package/dist/logger/Logger.js +1 -1
  123. package/dist/logger/Logger.js.map +1 -1
  124. package/dist/network/INetworkModule.d.ts +0 -1
  125. package/dist/network/INetworkModule.d.ts.map +1 -1
  126. package/dist/network/INetworkModule.js +1 -1
  127. package/dist/network/INetworkModule.js.map +1 -1
  128. package/dist/network/NetworkManager.js +1 -1
  129. package/dist/network/NetworkManager.js.map +1 -1
  130. package/dist/network/ThrottlingUtils.js +1 -1
  131. package/dist/network/ThrottlingUtils.js.map +1 -1
  132. package/dist/packageMetadata.d.ts +1 -1
  133. package/dist/packageMetadata.d.ts.map +1 -1
  134. package/dist/packageMetadata.js +2 -2
  135. package/dist/packageMetadata.js.map +1 -1
  136. package/dist/request/AuthenticationHeaderParser.js +1 -1
  137. package/dist/request/AuthenticationHeaderParser.js.map +1 -1
  138. package/dist/request/BaseAuthRequest.d.ts +3 -0
  139. package/dist/request/BaseAuthRequest.d.ts.map +1 -1
  140. package/dist/request/CommonAuthorizationCodeRequest.d.ts +4 -4
  141. package/dist/request/CommonAuthorizationCodeRequest.d.ts.map +1 -1
  142. package/dist/request/CommonAuthorizationUrlRequest.d.ts +0 -1
  143. package/dist/request/CommonAuthorizationUrlRequest.d.ts.map +1 -1
  144. package/dist/request/CommonClientCredentialRequest.d.ts +1 -0
  145. package/dist/request/CommonClientCredentialRequest.d.ts.map +1 -1
  146. package/dist/request/CommonDeviceCodeRequest.d.ts +4 -1
  147. package/dist/request/CommonDeviceCodeRequest.d.ts.map +1 -1
  148. package/dist/request/CommonEndSessionRequest.d.ts +1 -0
  149. package/dist/request/CommonEndSessionRequest.d.ts.map +1 -1
  150. package/dist/request/CommonOnBehalfOfRequest.d.ts +1 -0
  151. package/dist/request/CommonOnBehalfOfRequest.d.ts.map +1 -1
  152. package/dist/request/CommonRefreshTokenRequest.d.ts +1 -2
  153. package/dist/request/CommonRefreshTokenRequest.d.ts.map +1 -1
  154. package/dist/request/CommonSilentFlowRequest.d.ts +3 -4
  155. package/dist/request/CommonSilentFlowRequest.d.ts.map +1 -1
  156. package/dist/request/CommonUsernamePasswordRequest.d.ts +1 -0
  157. package/dist/request/CommonUsernamePasswordRequest.d.ts.map +1 -1
  158. package/dist/request/RequestParameterBuilder.d.ts +2 -2
  159. package/dist/request/RequestParameterBuilder.js +6 -6
  160. package/dist/request/RequestParameterBuilder.js.map +1 -1
  161. package/dist/request/RequestValidator.d.ts +1 -1
  162. package/dist/request/RequestValidator.d.ts.map +1 -1
  163. package/dist/request/RequestValidator.js +8 -3
  164. package/dist/request/RequestValidator.js.map +1 -1
  165. package/dist/request/ScopeSet.js +1 -1
  166. package/dist/request/ScopeSet.js.map +1 -1
  167. package/dist/response/ResponseHandler.d.ts +3 -1
  168. package/dist/response/ResponseHandler.d.ts.map +1 -1
  169. package/dist/response/ResponseHandler.js +17 -13
  170. package/dist/response/ResponseHandler.js.map +1 -1
  171. package/dist/response/ServerAuthorizationCodeResponse.d.ts +4 -0
  172. package/dist/response/ServerAuthorizationCodeResponse.d.ts.map +1 -1
  173. package/dist/response/ServerAuthorizationTokenResponse.d.ts +1 -0
  174. package/dist/response/ServerAuthorizationTokenResponse.d.ts.map +1 -1
  175. package/dist/telemetry/performance/IPerformanceClient.d.ts +16 -0
  176. package/dist/telemetry/performance/IPerformanceClient.d.ts.map +1 -1
  177. package/dist/telemetry/performance/PerformanceClient.d.ts +61 -1
  178. package/dist/telemetry/performance/PerformanceClient.d.ts.map +1 -1
  179. package/dist/telemetry/performance/PerformanceClient.js +136 -7
  180. package/dist/telemetry/performance/PerformanceClient.js.map +1 -1
  181. package/dist/telemetry/performance/PerformanceEvent.d.ts +105 -0
  182. package/dist/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
  183. package/dist/telemetry/performance/PerformanceEvent.js +99 -3
  184. package/dist/telemetry/performance/PerformanceEvent.js.map +1 -1
  185. package/dist/telemetry/performance/StubPerformanceClient.d.ts +4 -0
  186. package/dist/telemetry/performance/StubPerformanceClient.d.ts.map +1 -1
  187. package/dist/telemetry/performance/StubPerformanceClient.js +13 -1
  188. package/dist/telemetry/performance/StubPerformanceClient.js.map +1 -1
  189. package/dist/telemetry/server/ServerTelemetryManager.js +1 -1
  190. package/dist/telemetry/server/ServerTelemetryManager.js.map +1 -1
  191. package/dist/url/UrlString.js +1 -1
  192. package/dist/url/UrlString.js.map +1 -1
  193. package/dist/utils/Constants.js +1 -1
  194. package/dist/utils/Constants.js.map +1 -1
  195. package/dist/utils/ProtocolUtils.js +1 -1
  196. package/dist/utils/ProtocolUtils.js.map +1 -1
  197. package/dist/utils/StringUtils.js +1 -1
  198. package/dist/utils/StringUtils.js.map +1 -1
  199. package/dist/utils/TimeUtils.js +1 -1
  200. package/dist/utils/TimeUtils.js.map +1 -1
  201. package/package.json +1 -1
@@ -103,6 +103,91 @@ export declare enum PerformanceEvents {
103
103
  * Time taken for acquiring cached refresh token
104
104
  */
105
105
  RefreshTokenClientAcquireTokenWithCachedRefreshToken = "refreshTokenClientAcquireTokenWithCachedRefreshToken",
106
+ /**
107
+ * acquireTokenByRefreshToken API in RefreshTokenClient (msal-common).
108
+ */
109
+ RefreshTokenClientAcquireTokenByRefreshToken = "refreshTokenClientAcquireTokenByRefreshToken",
110
+ /**
111
+ * Helper function to create token request body in RefreshTokenClient (msal-common).
112
+ */
113
+ RefreshTokenClientCreateTokenRequestBody = "refreshTokenClientCreateTokenRequestBody",
114
+ /**
115
+ * acquireTokenFromCache (msal-browser).
116
+ * Internal API for acquiring token from cache
117
+ */
118
+ AcquireTokenFromCache = "acquireTokenFromCache",
119
+ /**
120
+ * acquireTokenBySilentIframe (msal-browser).
121
+ * Internal API for acquiring token by silent Iframe
122
+ */
123
+ AcquireTokenBySilentIframe = "acquireTokenBySilentIframe",
124
+ /**
125
+ * Internal API for initializing base request in BaseInteractionClient (msal-browser)
126
+ */
127
+ InitializeBaseRequest = "initializeBaseRequest",
128
+ /**
129
+ * Internal API for initializing silent request in SilentCacheClient (msal-browser)
130
+ */
131
+ InitializeSilentRequest = "initializeSilentRequest",
132
+ /**
133
+ * Helper function in SilentIframeClient class (msal-browser).
134
+ */
135
+ SilentIframeClientTokenHelper = "silentIframeClientTokenHelper",
136
+ /**
137
+ * SilentHandler
138
+ */
139
+ SilentHandlerInitiateAuthRequest = "silentHandlerInitiateAuthRequest",
140
+ SilentHandlerMonitorIframeForHash = "silentHandlerMonitorIframeForHash",
141
+ SilentHandlerLoadFrame = "silentHandlerLoadFrame",
142
+ /**
143
+ * Helper functions in StandardInteractionClient class (msal-browser)
144
+ */
145
+ StandardInteractionClientCreateAuthCodeClient = "standardInteractionClientCreateAuthCodeClient",
146
+ StandardInteractionClientGetClientConfiguration = "standardInteractionClientGetClientConfiguration",
147
+ StandardInteractionClientInitializeAuthorizationRequest = "standardInteractionClientInitializeAuthorizationRequest",
148
+ StandardInteractionClientInitializeAuthorizationCodeRequest = "standardInteractionClientInitializeAuthorizationCodeRequest",
149
+ /**
150
+ * getAuthCodeUrl API (msal-browser and msal-node).
151
+ */
152
+ GetAuthCodeUrl = "getAuthCodeUrl",
153
+ /**
154
+ * Functions from InteractionHandler (msal-browser)
155
+ */
156
+ HandleCodeResponseFromServer = "handleCodeResponseFromServer",
157
+ HandleCodeResponseFromHash = "handleCodeResponseFromHash",
158
+ UpdateTokenEndpointAuthority = "updateTokenEndpointAuthority",
159
+ /**
160
+ * APIs in Authorization Code Client (msal-common)
161
+ */
162
+ AuthClientAcquireToken = "authClientAcquireToken",
163
+ AuthClientExecuteTokenRequest = "authClientExecuteTokenRequest",
164
+ AuthClientCreateTokenRequestBody = "authClientCreateTokenRequestBody",
165
+ AuthClientCreateQueryString = "authClientCreateQueryString",
166
+ /**
167
+ * Generate functions in PopTokenGenerator (msal-common)
168
+ */
169
+ PopTokenGenerateCnf = "popTokenGenerateCnf",
170
+ PopTokenGenerateKid = "popTokenGenerateKid",
171
+ /**
172
+ * handleServerTokenResponse API in ResponseHandler (msal-common)
173
+ */
174
+ HandleServerTokenResponse = "handleServerTokenResponse",
175
+ /**
176
+ * Authority functions
177
+ */
178
+ AuthorityFactoryCreateDiscoveredInstance = "authorityFactoryCreateDiscoveredInstance",
179
+ AuthorityResolveEndpointsAsync = "authorityResolveEndpointsAsync",
180
+ AuthorityGetCloudDiscoveryMetadataFromNetwork = "authorityGetCloudDiscoveryMetadataFromNetwork",
181
+ AuthorityUpdateCloudDiscoveryMetadata = "authorityUpdateCloudDiscoveryMetadata",
182
+ AuthorityGetEndpointMetadataFromNetwork = "authorityGetEndpointMetadataFromNetwork",
183
+ AuthorityUpdateEndpointMetadata = "authorityUpdateEndpointMetadata",
184
+ AuthorityUpdateMetadataWithRegionalInformation = "authorityUpdateMetadataWithRegionalInformation",
185
+ /**
186
+ * Region Discovery functions
187
+ */
188
+ RegionDiscoveryDetectRegion = "regionDiscoveryDetectRegion",
189
+ RegionDiscoveryGetRegionFromIMDS = "regionDiscoveryGetRegionFromIMDS",
190
+ RegionDiscoveryGetCurrentVersion = "regionDiscoveryGetCurrentVersion",
106
191
  AcquireTokenByCodeAsync = "acquireTokenByCodeAsync",
107
192
  GetEndpointMetadataFromNetwork = "getEndpointMetadataFromNetwork",
108
193
  GetCloudDiscoveryMetadataFromNetworkMeasurement = "getCloudDiscoveryMetadataFromNetworkMeasurement",
@@ -189,6 +274,7 @@ export declare type StaticFields = {
189
274
  */
190
275
  export declare type Counters = {
191
276
  visibilityChangeCount?: number;
277
+ incompleteSubsCount?: number;
192
278
  };
193
279
  /**
194
280
  * Performance measurement taken by the library, including metadata about the request and application.
@@ -308,5 +394,24 @@ export declare type PerformanceEvent = StaticFields & Counters & {
308
394
  * @type {?string}
309
395
  */
310
396
  requestId?: string;
397
+ /**
398
+ * Cache lookup policy
399
+ *
400
+ * @type {?number}
401
+ */
402
+ cacheLookupPolicy?: number | undefined;
403
+ /**
404
+ * Amount of time spent in the JS queue in milliseconds.
405
+ *
406
+ * @type {?number}
407
+ */
408
+ queuedTimeMs?: number;
409
+ /**
410
+ * Amount of times queued in the JS event queue.
411
+ *
412
+ * @type {?number}
413
+ */
414
+ queuedCount?: number;
311
415
  };
416
+ export declare const IntFields: ReadonlySet<string>;
312
417
  //# sourceMappingURL=PerformanceEvent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PerformanceEvent.d.ts","sourceRoot":"","sources":["../../../src/telemetry/performance/PerformanceEvent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PerformanceEvent.d.ts","sourceRoot":"","sources":["../../../src/telemetry/performance/PerformanceEvent.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v9.1.0 2023-01-18 */
1
+ /*! @azure/msal-common v10.0.0 2023-02-06 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -110,6 +110,91 @@ var PerformanceEvents;
110
110
  * Time taken for acquiring cached refresh token
111
111
  */
112
112
  PerformanceEvents["RefreshTokenClientAcquireTokenWithCachedRefreshToken"] = "refreshTokenClientAcquireTokenWithCachedRefreshToken";
113
+ /**
114
+ * acquireTokenByRefreshToken API in RefreshTokenClient (msal-common).
115
+ */
116
+ PerformanceEvents["RefreshTokenClientAcquireTokenByRefreshToken"] = "refreshTokenClientAcquireTokenByRefreshToken";
117
+ /**
118
+ * Helper function to create token request body in RefreshTokenClient (msal-common).
119
+ */
120
+ PerformanceEvents["RefreshTokenClientCreateTokenRequestBody"] = "refreshTokenClientCreateTokenRequestBody";
121
+ /**
122
+ * acquireTokenFromCache (msal-browser).
123
+ * Internal API for acquiring token from cache
124
+ */
125
+ PerformanceEvents["AcquireTokenFromCache"] = "acquireTokenFromCache";
126
+ /**
127
+ * acquireTokenBySilentIframe (msal-browser).
128
+ * Internal API for acquiring token by silent Iframe
129
+ */
130
+ PerformanceEvents["AcquireTokenBySilentIframe"] = "acquireTokenBySilentIframe";
131
+ /**
132
+ * Internal API for initializing base request in BaseInteractionClient (msal-browser)
133
+ */
134
+ PerformanceEvents["InitializeBaseRequest"] = "initializeBaseRequest";
135
+ /**
136
+ * Internal API for initializing silent request in SilentCacheClient (msal-browser)
137
+ */
138
+ PerformanceEvents["InitializeSilentRequest"] = "initializeSilentRequest";
139
+ /**
140
+ * Helper function in SilentIframeClient class (msal-browser).
141
+ */
142
+ PerformanceEvents["SilentIframeClientTokenHelper"] = "silentIframeClientTokenHelper";
143
+ /**
144
+ * SilentHandler
145
+ */
146
+ PerformanceEvents["SilentHandlerInitiateAuthRequest"] = "silentHandlerInitiateAuthRequest";
147
+ PerformanceEvents["SilentHandlerMonitorIframeForHash"] = "silentHandlerMonitorIframeForHash";
148
+ PerformanceEvents["SilentHandlerLoadFrame"] = "silentHandlerLoadFrame";
149
+ /**
150
+ * Helper functions in StandardInteractionClient class (msal-browser)
151
+ */
152
+ PerformanceEvents["StandardInteractionClientCreateAuthCodeClient"] = "standardInteractionClientCreateAuthCodeClient";
153
+ PerformanceEvents["StandardInteractionClientGetClientConfiguration"] = "standardInteractionClientGetClientConfiguration";
154
+ PerformanceEvents["StandardInteractionClientInitializeAuthorizationRequest"] = "standardInteractionClientInitializeAuthorizationRequest";
155
+ PerformanceEvents["StandardInteractionClientInitializeAuthorizationCodeRequest"] = "standardInteractionClientInitializeAuthorizationCodeRequest";
156
+ /**
157
+ * getAuthCodeUrl API (msal-browser and msal-node).
158
+ */
159
+ PerformanceEvents["GetAuthCodeUrl"] = "getAuthCodeUrl";
160
+ /**
161
+ * Functions from InteractionHandler (msal-browser)
162
+ */
163
+ PerformanceEvents["HandleCodeResponseFromServer"] = "handleCodeResponseFromServer";
164
+ PerformanceEvents["HandleCodeResponseFromHash"] = "handleCodeResponseFromHash";
165
+ PerformanceEvents["UpdateTokenEndpointAuthority"] = "updateTokenEndpointAuthority";
166
+ /**
167
+ * APIs in Authorization Code Client (msal-common)
168
+ */
169
+ PerformanceEvents["AuthClientAcquireToken"] = "authClientAcquireToken";
170
+ PerformanceEvents["AuthClientExecuteTokenRequest"] = "authClientExecuteTokenRequest";
171
+ PerformanceEvents["AuthClientCreateTokenRequestBody"] = "authClientCreateTokenRequestBody";
172
+ PerformanceEvents["AuthClientCreateQueryString"] = "authClientCreateQueryString";
173
+ /**
174
+ * Generate functions in PopTokenGenerator (msal-common)
175
+ */
176
+ PerformanceEvents["PopTokenGenerateCnf"] = "popTokenGenerateCnf";
177
+ PerformanceEvents["PopTokenGenerateKid"] = "popTokenGenerateKid";
178
+ /**
179
+ * handleServerTokenResponse API in ResponseHandler (msal-common)
180
+ */
181
+ PerformanceEvents["HandleServerTokenResponse"] = "handleServerTokenResponse";
182
+ /**
183
+ * Authority functions
184
+ */
185
+ PerformanceEvents["AuthorityFactoryCreateDiscoveredInstance"] = "authorityFactoryCreateDiscoveredInstance";
186
+ PerformanceEvents["AuthorityResolveEndpointsAsync"] = "authorityResolveEndpointsAsync";
187
+ PerformanceEvents["AuthorityGetCloudDiscoveryMetadataFromNetwork"] = "authorityGetCloudDiscoveryMetadataFromNetwork";
188
+ PerformanceEvents["AuthorityUpdateCloudDiscoveryMetadata"] = "authorityUpdateCloudDiscoveryMetadata";
189
+ PerformanceEvents["AuthorityGetEndpointMetadataFromNetwork"] = "authorityGetEndpointMetadataFromNetwork";
190
+ PerformanceEvents["AuthorityUpdateEndpointMetadata"] = "authorityUpdateEndpointMetadata";
191
+ PerformanceEvents["AuthorityUpdateMetadataWithRegionalInformation"] = "authorityUpdateMetadataWithRegionalInformation";
192
+ /**
193
+ * Region Discovery functions
194
+ */
195
+ PerformanceEvents["RegionDiscoveryDetectRegion"] = "regionDiscoveryDetectRegion";
196
+ PerformanceEvents["RegionDiscoveryGetRegionFromIMDS"] = "regionDiscoveryGetRegionFromIMDS";
197
+ PerformanceEvents["RegionDiscoveryGetCurrentVersion"] = "regionDiscoveryGetCurrentVersion";
113
198
  PerformanceEvents["AcquireTokenByCodeAsync"] = "acquireTokenByCodeAsync";
114
199
  PerformanceEvents["GetEndpointMetadataFromNetwork"] = "getEndpointMetadataFromNetwork";
115
200
  PerformanceEvents["GetCloudDiscoveryMetadataFromNetworkMeasurement"] = "getCloudDiscoveryMetadataFromNetworkMeasurement";
@@ -128,7 +213,18 @@ var PerformanceEventStatus;
128
213
  PerformanceEventStatus[PerformanceEventStatus["NotStarted"] = 0] = "NotStarted";
129
214
  PerformanceEventStatus[PerformanceEventStatus["InProgress"] = 1] = "InProgress";
130
215
  PerformanceEventStatus[PerformanceEventStatus["Completed"] = 2] = "Completed";
131
- })(PerformanceEventStatus || (PerformanceEventStatus = {}));
216
+ })(PerformanceEventStatus || (PerformanceEventStatus = {}));
217
+ var IntFields = new Set([
218
+ "accessTokenSize",
219
+ "durationMs",
220
+ "idTokenSize",
221
+ "matsSilentStatus",
222
+ "matsHttpStatus",
223
+ "refreshTokenSize",
224
+ "queuedTimeMs",
225
+ "startTimeMs",
226
+ "status",
227
+ ]);
132
228
 
133
- export { PerformanceEventStatus, PerformanceEvents };
229
+ export { IntFields, PerformanceEventStatus, PerformanceEvents };
134
230
  //# sourceMappingURL=PerformanceEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PerformanceEvent.js","sources":["../../../src/telemetry/performance/PerformanceEvent.ts"],"sourcesContent":["/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\n/**\r\n * Enumeration of operations that are instrumented by have their performance measured by the PerformanceClient.\r\n *\r\n * @export\r\n * @enum {number}\r\n */\r\nexport enum PerformanceEvents {\r\n\r\n /**\r\n * acquireTokenByCode API (msal-browser and msal-node).\r\n * Used to acquire tokens by trading an authorization code against the token endpoint.\r\n */\r\n AcquireTokenByCode = \"acquireTokenByCode\",\r\n\r\n /**\r\n * acquireTokenByRefreshToken API (msal-browser and msal-node).\r\n * Used to renew an access token using a refresh token against the token endpoint.\r\n */\r\n AcquireTokenByRefreshToken = \"acquireTokenByRefreshToken\",\r\n\r\n /**\r\n * acquireTokenSilent API (msal-browser and msal-node).\r\n * Used to silently acquire a new access token (from the cache or the network).\r\n */\r\n AcquireTokenSilent = \"acquireTokenSilent\",\r\n\r\n /**\r\n * acquireTokenSilentAsync (msal-browser).\r\n * Internal API for acquireTokenSilent.\r\n */\r\n AcquireTokenSilentAsync = \"acquireTokenSilentAsync\",\r\n\r\n /**\r\n * acquireTokenPopup (msal-browser).\r\n * Used to acquire a new access token interactively through pop ups\r\n */\r\n AcquireTokenPopup = \"acquireTokenPopup\",\r\n\r\n /**\r\n * getPublicKeyThumbprint API in CryptoOpts class (msal-browser).\r\n * Used to generate a public/private keypair and generate a public key thumbprint for pop requests.\r\n */\r\n CryptoOptsGetPublicKeyThumbprint = \"cryptoOptsGetPublicKeyThumbprint\",\r\n\r\n /**\r\n * signJwt API in CryptoOpts class (msal-browser).\r\n * Used to signed a pop token.\r\n */\r\n CryptoOptsSignJwt = \"cryptoOptsSignJwt\",\r\n\r\n /**\r\n * acquireToken API in the SilentCacheClient class (msal-browser).\r\n * Used to read access tokens from the cache.\r\n */\r\n SilentCacheClientAcquireToken = \"silentCacheClientAcquireToken\",\r\n\r\n /**\r\n * acquireToken API in the SilentIframeClient class (msal-browser).\r\n * Used to acquire a new set of tokens from the authorize endpoint in a hidden iframe.\r\n */\r\n SilentIframeClientAcquireToken = \"silentIframeClientAcquireToken\",\r\n\r\n /**\r\n * acquireToken API in SilentRereshClient (msal-browser).\r\n * Used to acquire a new set of tokens from the token endpoint using a refresh token.\r\n */\r\n SilentRefreshClientAcquireToken = \"silentRefreshClientAcquireToken\",\r\n\r\n /**\r\n * ssoSilent API (msal-browser).\r\n * Used to silently acquire an authorization code and set of tokens using a hidden iframe.\r\n */\r\n SsoSilent = \"ssoSilent\",\r\n\r\n /**\r\n * getDiscoveredAuthority API in StandardInteractionClient class (msal-browser).\r\n * Used to load authority metadata for a request.\r\n */\r\n StandardInteractionClientGetDiscoveredAuthority = \"standardInteractionClientGetDiscoveredAuthority\",\r\n\r\n /**\r\n * acquireToken APIs in msal-browser.\r\n * Used to make an /authorize endpoint call with native brokering enabled.\r\n */\r\n FetchAccountIdWithNativeBroker = \"fetchAccountIdWithNativeBroker\",\r\n\r\n /**\r\n * acquireToken API in NativeInteractionClient class (msal-browser).\r\n * Used to acquire a token from Native component when native brokering is enabled.\r\n */\r\n NativeInteractionClientAcquireToken = \"nativeInteractionClientAcquireToken\",\r\n /**\r\n * Time spent creating default headers for requests to token endpoint\r\n */\r\n BaseClientCreateTokenRequestHeaders = \"baseClientCreateTokenRequestHeaders\",\r\n /**\r\n * Used to measure the time taken for completing embedded-broker handshake (PW-Broker).\r\n */\r\n BrokerHandhshake = \"brokerHandshake\",\r\n /**\r\n * acquireTokenByRefreshToken API in BrokerClientApplication (PW-Broker) .\r\n */\r\n AcquireTokenByRefreshTokenInBroker = \"acquireTokenByRefreshTokenInBroker\",\r\n /**\r\n * Time taken for token acquisition by broker\r\n */\r\n AcquireTokenByBroker = \"acquireTokenByBroker\",\r\n\r\n /**\r\n * Time spent on the network for refresh token acquisition\r\n */\r\n RefreshTokenClientExecuteTokenRequest = \"refreshTokenClientExecuteTokenRequest\",\r\n\r\n /**\r\n * Time taken for acquiring refresh token , records RT size\r\n */\r\n RefreshTokenClientAcquireToken = \"refreshTokenClientAcquireToken\",\r\n\r\n /**\r\n * Time taken for acquiring cached refresh token\r\n */\r\n RefreshTokenClientAcquireTokenWithCachedRefreshToken = \"refreshTokenClientAcquireTokenWithCachedRefreshToken\",\r\n\r\n AcquireTokenByCodeAsync = \"acquireTokenByCodeAsync\",\r\n\r\n GetEndpointMetadataFromNetwork = \"getEndpointMetadataFromNetwork\",\r\n GetCloudDiscoveryMetadataFromNetworkMeasurement = \"getCloudDiscoveryMetadataFromNetworkMeasurement\",\r\n\r\n HandleRedirectPromiseMeasurement= \"handleRedirectPromiseMeasurement\",\r\n\r\n UpdateCloudDiscoveryMetadataMeasurement = \"updateCloudDiscoveryMetadataMeasurement\",\r\n\r\n UsernamePasswordClientAcquireToken = \"usernamePasswordClientAcquireToken\",\r\n\r\n}\r\n\r\n/**\r\n * State of the performance event.\r\n *\r\n * @export\r\n * @enum {number}\r\n */\r\nexport enum PerformanceEventStatus {\r\n NotStarted,\r\n InProgress,\r\n Completed\r\n}\r\n\r\n/**\r\n * Fields whose value will not change throughout a request\r\n */\r\nexport type StaticFields = {\r\n /**\r\n * The Silent Token Cache Lookup Policy\r\n *\r\n * @type {?(number | undefined)}\r\n */\r\n cacheLookupPolicy?: number | undefined,\r\n\r\n /**\r\n * Size of the id token\r\n *\r\n * @type {number}\r\n */\r\n idTokenSize?: number,\r\n\r\n /**\r\n *\r\n * Size of the access token\r\n *\r\n * @type {number}\r\n */\r\n\r\n accessTokenSize?: number,\r\n\r\n /**\r\n *\r\n * Size of the refresh token\r\n *\r\n * @type {number}\r\n */\r\n\r\n refreshTokenSize?: number | undefined,\r\n\r\n /**\r\n * Application name as specified by the app.\r\n *\r\n * @type {?string}\r\n */\r\n appName?: string,\r\n\r\n /**\r\n * Application version as specified by the app.\r\n *\r\n * @type {?string}\r\n */\r\n appVersion?: string,\r\n\r\n /**\r\n * The following are fields that may be emitted in native broker scenarios\r\n */\r\n extensionId?: string,\r\n extensionVersion?: string\r\n matsBrokerVersion?: string;\r\n matsAccountJoinOnStart?: string;\r\n matsAccountJoinOnEnd?: string;\r\n matsDeviceJoin?: string;\r\n matsPromptBehavior?: string;\r\n matsApiErrorCode?: number;\r\n matsUiVisible?: boolean;\r\n matsSilentCode?: number;\r\n matsSilentBiSubCode?: number;\r\n matsSilentMessage?: string;\r\n matsSilentStatus?: number;\r\n matsHttpStatus?: number\r\n matsHttpEventCount?: number;\r\n httpVerToken?: string;\r\n httpVerAuthority?: string;\r\n};\r\n\r\n/**\r\n * Fields whose value may change throughout a request\r\n */\r\nexport type Counters = {\r\n visibilityChangeCount?: number;\r\n};\r\n\r\n/**\r\n * Performance measurement taken by the library, including metadata about the request and application.\r\n *\r\n * @export\r\n * @typedef {PerformanceEvent}\r\n */\r\nexport type PerformanceEvent = StaticFields & Counters & {\r\n /**\r\n * Unique id for the event\r\n *\r\n * @type {string}\r\n */\r\n eventId: string,\r\n\r\n /**\r\n * State of the perforance measure.\r\n *\r\n * @type {PerformanceEventStatus}\r\n */\r\n status: PerformanceEventStatus,\r\n\r\n /**\r\n * Login authority used for the request\r\n *\r\n * @type {string}\r\n */\r\n authority: string,\r\n\r\n /**\r\n * Client id for the application\r\n *\r\n * @type {string}\r\n */\r\n clientId: string\r\n\r\n /**\r\n * Correlation ID used for the request\r\n *\r\n * @type {string}\r\n */\r\n correlationId: string,\r\n\r\n /**\r\n * End-to-end duration in milliseconds.\r\n * @date 3/22/2022 - 3:40:05 PM\r\n *\r\n * @type {number}\r\n */\r\n durationMs?: number,\r\n\r\n /**\r\n * Visibility of the page when the event completed.\r\n * Read from: https://developer.mozilla.org/docs/Web/API/Page_Visibility_API\r\n *\r\n * @type {?(string | null)}\r\n */\r\n endPageVisibility?: string | null,\r\n\r\n /**\r\n * Whether the result was retrieved from the cache.\r\n *\r\n * @type {(boolean | null)}\r\n */\r\n fromCache?: boolean | null,\r\n\r\n /**\r\n * Event name (usually in the form of classNameFunctionName)\r\n *\r\n * @type {PerformanceEvents}\r\n */\r\n name: PerformanceEvents,\r\n\r\n /**\r\n * Visibility of the page when the event completed.\r\n * Read from: https://developer.mozilla.org/docs/Web/API/Page_Visibility_API\r\n *\r\n * @type {?(string | null)}\r\n */\r\n startPageVisibility?: string | null,\r\n\r\n /**\r\n * Unix millisecond timestamp when the event was initiated.\r\n *\r\n * @type {number}\r\n */\r\n startTimeMs: number,\r\n\r\n /**\r\n * Whether or the operation completed successfully.\r\n *\r\n * @type {(boolean | null)}\r\n */\r\n success?: boolean | null,\r\n\r\n /**\r\n * Add specific error code in case of failure\r\n *\r\n * @type {string}\r\n */\r\n errorCode?: string,\r\n\r\n /**\r\n * Add specific sub error code in case of failure\r\n *\r\n * @type {string}\r\n */\r\n subErrorCode?: string,\r\n\r\n /**\r\n * Name of the library used for the operation.\r\n *\r\n * @type {string}\r\n */\r\n libraryName: string,\r\n\r\n /**\r\n * Version of the library used for the operation.\r\n *\r\n * @type {string}\r\n */\r\n libraryVersion: string,\r\n\r\n /**\r\n * Whether the response is from a native component (e.g., WAM)\r\n *\r\n * @type {?boolean}\r\n */\r\n isNativeBroker?: boolean,\r\n\r\n /**\r\n * Request ID returned from the response\r\n *\r\n * @type {?string}\r\n */\r\n requestId?: string\r\n};\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PerformanceEvent.js","sources":["../../../src/telemetry/performance/PerformanceEvent.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Enumeration of operations that are instrumented by have their performance measured by the PerformanceClient.\n *\n * @export\n * @enum {number}\n */\nexport enum PerformanceEvents {\n\n /**\n * acquireTokenByCode API (msal-browser and msal-node).\n * Used to acquire tokens by trading an authorization code against the token endpoint.\n */\n AcquireTokenByCode = \"acquireTokenByCode\",\n\n /**\n * acquireTokenByRefreshToken API (msal-browser and msal-node).\n * Used to renew an access token using a refresh token against the token endpoint.\n */\n AcquireTokenByRefreshToken = \"acquireTokenByRefreshToken\",\n\n /**\n * acquireTokenSilent API (msal-browser and msal-node).\n * Used to silently acquire a new access token (from the cache or the network).\n */\n AcquireTokenSilent = \"acquireTokenSilent\",\n\n /**\n * acquireTokenSilentAsync (msal-browser).\n * Internal API for acquireTokenSilent.\n */\n AcquireTokenSilentAsync = \"acquireTokenSilentAsync\",\n\n /**\n * acquireTokenPopup (msal-browser).\n * Used to acquire a new access token interactively through pop ups\n */\n AcquireTokenPopup = \"acquireTokenPopup\",\n\n /**\n * getPublicKeyThumbprint API in CryptoOpts class (msal-browser).\n * Used to generate a public/private keypair and generate a public key thumbprint for pop requests.\n */\n CryptoOptsGetPublicKeyThumbprint = \"cryptoOptsGetPublicKeyThumbprint\",\n\n /**\n * signJwt API in CryptoOpts class (msal-browser).\n * Used to signed a pop token.\n */\n CryptoOptsSignJwt = \"cryptoOptsSignJwt\",\n\n /**\n * acquireToken API in the SilentCacheClient class (msal-browser).\n * Used to read access tokens from the cache.\n */\n SilentCacheClientAcquireToken = \"silentCacheClientAcquireToken\",\n\n /**\n * acquireToken API in the SilentIframeClient class (msal-browser).\n * Used to acquire a new set of tokens from the authorize endpoint in a hidden iframe.\n */\n SilentIframeClientAcquireToken = \"silentIframeClientAcquireToken\",\n\n /**\n * acquireToken API in SilentRereshClient (msal-browser).\n * Used to acquire a new set of tokens from the token endpoint using a refresh token.\n */\n SilentRefreshClientAcquireToken = \"silentRefreshClientAcquireToken\",\n\n /**\n * ssoSilent API (msal-browser).\n * Used to silently acquire an authorization code and set of tokens using a hidden iframe.\n */\n SsoSilent = \"ssoSilent\",\n\n /**\n * getDiscoveredAuthority API in StandardInteractionClient class (msal-browser).\n * Used to load authority metadata for a request.\n */\n StandardInteractionClientGetDiscoveredAuthority = \"standardInteractionClientGetDiscoveredAuthority\",\n\n /**\n * acquireToken APIs in msal-browser.\n * Used to make an /authorize endpoint call with native brokering enabled.\n */\n FetchAccountIdWithNativeBroker = \"fetchAccountIdWithNativeBroker\",\n\n /**\n * acquireToken API in NativeInteractionClient class (msal-browser).\n * Used to acquire a token from Native component when native brokering is enabled.\n */\n NativeInteractionClientAcquireToken = \"nativeInteractionClientAcquireToken\",\n /**\n * Time spent creating default headers for requests to token endpoint\n */\n BaseClientCreateTokenRequestHeaders = \"baseClientCreateTokenRequestHeaders\",\n /**\n * Used to measure the time taken for completing embedded-broker handshake (PW-Broker).\n */\n BrokerHandhshake = \"brokerHandshake\",\n /**\n * acquireTokenByRefreshToken API in BrokerClientApplication (PW-Broker) .\n */\n AcquireTokenByRefreshTokenInBroker = \"acquireTokenByRefreshTokenInBroker\",\n /**\n * Time taken for token acquisition by broker\n */\n AcquireTokenByBroker = \"acquireTokenByBroker\",\n\n /**\n * Time spent on the network for refresh token acquisition\n */\n RefreshTokenClientExecuteTokenRequest = \"refreshTokenClientExecuteTokenRequest\",\n\n /**\n * Time taken for acquiring refresh token , records RT size\n */\n RefreshTokenClientAcquireToken = \"refreshTokenClientAcquireToken\",\n\n /**\n * Time taken for acquiring cached refresh token\n */\n RefreshTokenClientAcquireTokenWithCachedRefreshToken = \"refreshTokenClientAcquireTokenWithCachedRefreshToken\",\n\n /**\n * acquireTokenByRefreshToken API in RefreshTokenClient (msal-common).\n */\n RefreshTokenClientAcquireTokenByRefreshToken = \"refreshTokenClientAcquireTokenByRefreshToken\",\n\n /**\n * Helper function to create token request body in RefreshTokenClient (msal-common).\n */\n RefreshTokenClientCreateTokenRequestBody = \"refreshTokenClientCreateTokenRequestBody\",\n\n /**\n * acquireTokenFromCache (msal-browser).\n * Internal API for acquiring token from cache\n */\n AcquireTokenFromCache = \"acquireTokenFromCache\",\n\n /**\n * acquireTokenBySilentIframe (msal-browser).\n * Internal API for acquiring token by silent Iframe\n */\n AcquireTokenBySilentIframe = \"acquireTokenBySilentIframe\",\n\n /**\n * Internal API for initializing base request in BaseInteractionClient (msal-browser)\n */\n InitializeBaseRequest = \"initializeBaseRequest\",\n\n /**\n * Internal API for initializing silent request in SilentCacheClient (msal-browser)\n */\n InitializeSilentRequest = \"initializeSilentRequest\",\n\n /**\n * Helper function in SilentIframeClient class (msal-browser).\n */\n SilentIframeClientTokenHelper = \"silentIframeClientTokenHelper\",\n\n /**\n * SilentHandler\n */\n SilentHandlerInitiateAuthRequest = \"silentHandlerInitiateAuthRequest\",\n SilentHandlerMonitorIframeForHash = \"silentHandlerMonitorIframeForHash\",\n SilentHandlerLoadFrame = \"silentHandlerLoadFrame\",\n\n /**\n * Helper functions in StandardInteractionClient class (msal-browser)\n */\n StandardInteractionClientCreateAuthCodeClient = \"standardInteractionClientCreateAuthCodeClient\",\n StandardInteractionClientGetClientConfiguration = \"standardInteractionClientGetClientConfiguration\",\n StandardInteractionClientInitializeAuthorizationRequest = \"standardInteractionClientInitializeAuthorizationRequest\",\n StandardInteractionClientInitializeAuthorizationCodeRequest = \"standardInteractionClientInitializeAuthorizationCodeRequest\",\n\n /**\n * getAuthCodeUrl API (msal-browser and msal-node).\n */\n GetAuthCodeUrl = \"getAuthCodeUrl\",\n\n /**\n * Functions from InteractionHandler (msal-browser)\n */\n HandleCodeResponseFromServer = \"handleCodeResponseFromServer\",\n HandleCodeResponseFromHash = \"handleCodeResponseFromHash\",\n UpdateTokenEndpointAuthority = \"updateTokenEndpointAuthority\",\n\n /**\n * APIs in Authorization Code Client (msal-common)\n */\n AuthClientAcquireToken = \"authClientAcquireToken\",\n AuthClientExecuteTokenRequest = \"authClientExecuteTokenRequest\",\n AuthClientCreateTokenRequestBody = \"authClientCreateTokenRequestBody\",\n AuthClientCreateQueryString = \"authClientCreateQueryString\",\n\n /**\n * Generate functions in PopTokenGenerator (msal-common)\n */\n PopTokenGenerateCnf = \"popTokenGenerateCnf\",\n PopTokenGenerateKid = \"popTokenGenerateKid\",\n\n /**\n * handleServerTokenResponse API in ResponseHandler (msal-common)\n */\n HandleServerTokenResponse = \"handleServerTokenResponse\",\n\n /**\n * Authority functions\n */\n AuthorityFactoryCreateDiscoveredInstance = \"authorityFactoryCreateDiscoveredInstance\",\n AuthorityResolveEndpointsAsync = \"authorityResolveEndpointsAsync\",\n AuthorityGetCloudDiscoveryMetadataFromNetwork = \"authorityGetCloudDiscoveryMetadataFromNetwork\",\n AuthorityUpdateCloudDiscoveryMetadata = \"authorityUpdateCloudDiscoveryMetadata\",\n AuthorityGetEndpointMetadataFromNetwork = \"authorityGetEndpointMetadataFromNetwork\",\n AuthorityUpdateEndpointMetadata = \"authorityUpdateEndpointMetadata\",\n AuthorityUpdateMetadataWithRegionalInformation = \"authorityUpdateMetadataWithRegionalInformation\",\n\n /**\n * Region Discovery functions\n */\n RegionDiscoveryDetectRegion = \"regionDiscoveryDetectRegion\",\n RegionDiscoveryGetRegionFromIMDS = \"regionDiscoveryGetRegionFromIMDS\",\n RegionDiscoveryGetCurrentVersion = \"regionDiscoveryGetCurrentVersion\",\n\n AcquireTokenByCodeAsync = \"acquireTokenByCodeAsync\",\n\n GetEndpointMetadataFromNetwork = \"getEndpointMetadataFromNetwork\",\n GetCloudDiscoveryMetadataFromNetworkMeasurement = \"getCloudDiscoveryMetadataFromNetworkMeasurement\",\n\n HandleRedirectPromiseMeasurement= \"handleRedirectPromiseMeasurement\",\n\n UpdateCloudDiscoveryMetadataMeasurement = \"updateCloudDiscoveryMetadataMeasurement\",\n\n UsernamePasswordClientAcquireToken = \"usernamePasswordClientAcquireToken\",\n\n}\n\n/**\n * State of the performance event.\n *\n * @export\n * @enum {number}\n */\nexport enum PerformanceEventStatus {\n NotStarted,\n InProgress,\n Completed\n}\n\n/**\n * Fields whose value will not change throughout a request\n */\nexport type StaticFields = {\n /**\n * The Silent Token Cache Lookup Policy\n *\n * @type {?(number | undefined)}\n */\n cacheLookupPolicy?: number | undefined,\n\n /**\n * Size of the id token\n *\n * @type {number}\n */\n idTokenSize?: number,\n\n /**\n *\n * Size of the access token\n *\n * @type {number}\n */\n\n accessTokenSize?: number,\n\n /**\n *\n * Size of the refresh token\n *\n * @type {number}\n */\n\n refreshTokenSize?: number | undefined,\n\n /**\n * Application name as specified by the app.\n *\n * @type {?string}\n */\n appName?: string,\n\n /**\n * Application version as specified by the app.\n *\n * @type {?string}\n */\n appVersion?: string,\n\n /**\n * The following are fields that may be emitted in native broker scenarios\n */\n extensionId?: string,\n extensionVersion?: string\n matsBrokerVersion?: string;\n matsAccountJoinOnStart?: string;\n matsAccountJoinOnEnd?: string;\n matsDeviceJoin?: string;\n matsPromptBehavior?: string;\n matsApiErrorCode?: number;\n matsUiVisible?: boolean;\n matsSilentCode?: number;\n matsSilentBiSubCode?: number;\n matsSilentMessage?: string;\n matsSilentStatus?: number;\n matsHttpStatus?: number\n matsHttpEventCount?: number;\n httpVerToken?: string;\n httpVerAuthority?: string;\n};\n\n/**\n * Fields whose value may change throughout a request\n */\nexport type Counters = {\n visibilityChangeCount?: number;\n incompleteSubsCount?: number;\n};\n\n/**\n * Performance measurement taken by the library, including metadata about the request and application.\n *\n * @export\n * @typedef {PerformanceEvent}\n */\nexport type PerformanceEvent = StaticFields & Counters & {\n /**\n * Unique id for the event\n *\n * @type {string}\n */\n eventId: string,\n\n /**\n * State of the perforance measure.\n *\n * @type {PerformanceEventStatus}\n */\n status: PerformanceEventStatus,\n\n /**\n * Login authority used for the request\n *\n * @type {string}\n */\n authority: string,\n\n /**\n * Client id for the application\n *\n * @type {string}\n */\n clientId: string\n\n /**\n * Correlation ID used for the request\n *\n * @type {string}\n */\n correlationId: string,\n\n /**\n * End-to-end duration in milliseconds.\n * @date 3/22/2022 - 3:40:05 PM\n *\n * @type {number}\n */\n durationMs?: number,\n\n /**\n * Visibility of the page when the event completed.\n * Read from: https://developer.mozilla.org/docs/Web/API/Page_Visibility_API\n *\n * @type {?(string | null)}\n */\n endPageVisibility?: string | null,\n\n /**\n * Whether the result was retrieved from the cache.\n *\n * @type {(boolean | null)}\n */\n fromCache?: boolean | null,\n\n /**\n * Event name (usually in the form of classNameFunctionName)\n *\n * @type {PerformanceEvents}\n */\n name: PerformanceEvents,\n\n /**\n * Visibility of the page when the event completed.\n * Read from: https://developer.mozilla.org/docs/Web/API/Page_Visibility_API\n *\n * @type {?(string | null)}\n */\n startPageVisibility?: string | null,\n\n /**\n * Unix millisecond timestamp when the event was initiated.\n *\n * @type {number}\n */\n startTimeMs: number,\n\n /**\n * Whether or the operation completed successfully.\n *\n * @type {(boolean | null)}\n */\n success?: boolean | null,\n\n /**\n * Add specific error code in case of failure\n *\n * @type {string}\n */\n errorCode?: string,\n\n /**\n * Add specific sub error code in case of failure\n *\n * @type {string}\n */\n subErrorCode?: string,\n\n /**\n * Name of the library used for the operation.\n *\n * @type {string}\n */\n libraryName: string,\n\n /**\n * Version of the library used for the operation.\n *\n * @type {string}\n */\n libraryVersion: string,\n\n /**\n * Whether the response is from a native component (e.g., WAM)\n *\n * @type {?boolean}\n */\n isNativeBroker?: boolean,\n\n /**\n * Request ID returned from the response\n *\n * @type {?string}\n */\n requestId?: string\n\n /**\n * Cache lookup policy\n *\n * @type {?number}\n */\n cacheLookupPolicy?: number | undefined,\n\n /**\n * Amount of time spent in the JS queue in milliseconds.\n *\n * @type {?number}\n */\n queuedTimeMs?: number,\n\n /**\n * Amount of times queued in the JS event queue.\n *\n * @type {?number}\n */\n queuedCount?: number\n};\n\nexport const IntFields: ReadonlySet<string> = new Set([\n \"accessTokenSize\",\n \"durationMs\",\n \"idTokenSize\",\n \"matsSilentStatus\",\n \"matsHttpStatus\",\n \"refreshTokenSize\",\n \"queuedTimeMs\",\n \"startTimeMs\",\n \"status\",\n]);\n"],"names":[],"mappings":";;AAAA;;;AAGG;AAEH;;;;;AAKG;IACS,kBAqOX;AArOD,CAAA,UAAY,iBAAiB,EAAA;AAEzB;;;AAGG;AACH,IAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC,CAAA;AAEzC;;;AAGG;AACH,IAAA,iBAAA,CAAA,4BAAA,CAAA,GAAA,4BAAyD,CAAA;AAEzD;;;AAGG;AACH,IAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC,CAAA;AAEzC;;;AAGG;AACH,IAAA,iBAAA,CAAA,yBAAA,CAAA,GAAA,yBAAmD,CAAA;AAEnD;;;AAGG;AACH,IAAA,iBAAA,CAAA,mBAAA,CAAA,GAAA,mBAAuC,CAAA;AAEvC;;;AAGG;AACH,IAAA,iBAAA,CAAA,kCAAA,CAAA,GAAA,kCAAqE,CAAA;AAErE;;;AAGG;AACH,IAAA,iBAAA,CAAA,mBAAA,CAAA,GAAA,mBAAuC,CAAA;AAEvC;;;AAGG;AACH,IAAA,iBAAA,CAAA,+BAAA,CAAA,GAAA,+BAA+D,CAAA;AAE/D;;;AAGG;AACH,IAAA,iBAAA,CAAA,gCAAA,CAAA,GAAA,gCAAiE,CAAA;AAEjE;;;AAGG;AACH,IAAA,iBAAA,CAAA,iCAAA,CAAA,GAAA,iCAAmE,CAAA;AAEnE;;;AAGG;AACH,IAAA,iBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AAEvB;;;AAGG;AACH,IAAA,iBAAA,CAAA,iDAAA,CAAA,GAAA,iDAAmG,CAAA;AAEnG;;;AAGG;AACH,IAAA,iBAAA,CAAA,gCAAA,CAAA,GAAA,gCAAiE,CAAA;AAEjE;;;AAGG;AACH,IAAA,iBAAA,CAAA,qCAAA,CAAA,GAAA,qCAA2E,CAAA;AAC3E;;AAEG;AACH,IAAA,iBAAA,CAAA,qCAAA,CAAA,GAAA,qCAA2E,CAAA;AAC3E;;AAEG;AACH,IAAA,iBAAA,CAAA,kBAAA,CAAA,GAAA,iBAAoC,CAAA;AACpC;;AAEG;AACH,IAAA,iBAAA,CAAA,oCAAA,CAAA,GAAA,oCAAyE,CAAA;AACzE;;AAEG;AACH,IAAA,iBAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C,CAAA;AAE7C;;AAEG;AACH,IAAA,iBAAA,CAAA,uCAAA,CAAA,GAAA,uCAA+E,CAAA;AAE/E;;AAEG;AACH,IAAA,iBAAA,CAAA,gCAAA,CAAA,GAAA,gCAAiE,CAAA;AAEjE;;AAEG;AACH,IAAA,iBAAA,CAAA,sDAAA,CAAA,GAAA,sDAA6G,CAAA;AAE7G;;AAEG;AACH,IAAA,iBAAA,CAAA,8CAAA,CAAA,GAAA,8CAA6F,CAAA;AAE7F;;AAEG;AACH,IAAA,iBAAA,CAAA,0CAAA,CAAA,GAAA,0CAAqF,CAAA;AAErF;;;AAGG;AACH,IAAA,iBAAA,CAAA,uBAAA,CAAA,GAAA,uBAA+C,CAAA;AAE/C;;;AAGG;AACH,IAAA,iBAAA,CAAA,4BAAA,CAAA,GAAA,4BAAyD,CAAA;AAEzD;;AAEG;AACH,IAAA,iBAAA,CAAA,uBAAA,CAAA,GAAA,uBAA+C,CAAA;AAE/C;;AAEG;AACH,IAAA,iBAAA,CAAA,yBAAA,CAAA,GAAA,yBAAmD,CAAA;AAEnD;;AAEG;AACH,IAAA,iBAAA,CAAA,+BAAA,CAAA,GAAA,+BAA+D,CAAA;AAE/D;;AAEG;AACH,IAAA,iBAAA,CAAA,kCAAA,CAAA,GAAA,kCAAqE,CAAA;AACrE,IAAA,iBAAA,CAAA,mCAAA,CAAA,GAAA,mCAAuE,CAAA;AACvE,IAAA,iBAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD,CAAA;AAEjD;;AAEG;AACH,IAAA,iBAAA,CAAA,+CAAA,CAAA,GAAA,+CAA+F,CAAA;AAC/F,IAAA,iBAAA,CAAA,iDAAA,CAAA,GAAA,iDAAmG,CAAA;AACnG,IAAA,iBAAA,CAAA,yDAAA,CAAA,GAAA,yDAAmH,CAAA;AACnH,IAAA,iBAAA,CAAA,6DAAA,CAAA,GAAA,6DAA2H,CAAA;AAE3H;;AAEG;AACH,IAAA,iBAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AAEjC;;AAEG;AACH,IAAA,iBAAA,CAAA,8BAAA,CAAA,GAAA,8BAA6D,CAAA;AAC7D,IAAA,iBAAA,CAAA,4BAAA,CAAA,GAAA,4BAAyD,CAAA;AACzD,IAAA,iBAAA,CAAA,8BAAA,CAAA,GAAA,8BAA6D,CAAA;AAE7D;;AAEG;AACH,IAAA,iBAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD,CAAA;AACjD,IAAA,iBAAA,CAAA,+BAAA,CAAA,GAAA,+BAA+D,CAAA;AAC/D,IAAA,iBAAA,CAAA,kCAAA,CAAA,GAAA,kCAAqE,CAAA;AACrE,IAAA,iBAAA,CAAA,6BAAA,CAAA,GAAA,6BAA2D,CAAA;AAE3D;;AAEG;AACH,IAAA,iBAAA,CAAA,qBAAA,CAAA,GAAA,qBAA2C,CAAA;AAC3C,IAAA,iBAAA,CAAA,qBAAA,CAAA,GAAA,qBAA2C,CAAA;AAE3C;;AAEG;AACH,IAAA,iBAAA,CAAA,2BAAA,CAAA,GAAA,2BAAuD,CAAA;AAEvD;;AAEG;AACH,IAAA,iBAAA,CAAA,0CAAA,CAAA,GAAA,0CAAqF,CAAA;AACrF,IAAA,iBAAA,CAAA,gCAAA,CAAA,GAAA,gCAAiE,CAAA;AACjE,IAAA,iBAAA,CAAA,+CAAA,CAAA,GAAA,+CAA+F,CAAA;AAC/F,IAAA,iBAAA,CAAA,uCAAA,CAAA,GAAA,uCAA+E,CAAA;AAC/E,IAAA,iBAAA,CAAA,yCAAA,CAAA,GAAA,yCAAmF,CAAA;AACnF,IAAA,iBAAA,CAAA,iCAAA,CAAA,GAAA,iCAAmE,CAAA;AACnE,IAAA,iBAAA,CAAA,gDAAA,CAAA,GAAA,gDAAiG,CAAA;AAEjG;;AAEG;AACH,IAAA,iBAAA,CAAA,6BAAA,CAAA,GAAA,6BAA2D,CAAA;AAC3D,IAAA,iBAAA,CAAA,kCAAA,CAAA,GAAA,kCAAqE,CAAA;AACrE,IAAA,iBAAA,CAAA,kCAAA,CAAA,GAAA,kCAAqE,CAAA;AAErE,IAAA,iBAAA,CAAA,yBAAA,CAAA,GAAA,yBAAmD,CAAA;AAEnD,IAAA,iBAAA,CAAA,gCAAA,CAAA,GAAA,gCAAiE,CAAA;AACjE,IAAA,iBAAA,CAAA,iDAAA,CAAA,GAAA,iDAAmG,CAAA;AAEnG,IAAA,iBAAA,CAAA,kCAAA,CAAA,GAAA,kCAAoE,CAAA;AAEpE,IAAA,iBAAA,CAAA,yCAAA,CAAA,GAAA,yCAAmF,CAAA;AAEnF,IAAA,iBAAA,CAAA,oCAAA,CAAA,GAAA,oCAAyE,CAAA;AAE7E,CAAC,EArOW,iBAAiB,KAAjB,iBAAiB,GAqO5B,EAAA,CAAA,CAAA,CAAA;AAED;;;;;AAKG;IACS,uBAIX;AAJD,CAAA,UAAY,sBAAsB,EAAA;AAC9B,IAAA,sBAAA,CAAA,sBAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAU,CAAA;AACV,IAAA,sBAAA,CAAA,sBAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAU,CAAA;AACV,IAAA,sBAAA,CAAA,sBAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAS,CAAA;AACb,CAAC,EAJW,sBAAsB,KAAtB,sBAAsB,GAIjC,EAAA,CAAA,CAAA,CAAA;AAgPY,IAAA,SAAS,GAAwB,IAAI,GAAG,CAAC;IAClD,iBAAiB;IACjB,YAAY;IACZ,aAAa;IACb,kBAAkB;IAClB,gBAAgB;IAChB,kBAAkB;IAClB,cAAc;IACd,aAAa;IACb,QAAQ;AACX,CAAA;;;;"}
@@ -1,6 +1,7 @@
1
1
  import { IPerformanceClient } from "./IPerformanceClient";
2
2
  import { IPerformanceMeasurement } from "./IPerformanceMeasurement";
3
3
  import { PerformanceClient } from "./PerformanceClient";
4
+ import { PerformanceEvents } from "./PerformanceEvent";
4
5
  export declare class StubPerformanceMeasurement implements IPerformanceMeasurement {
5
6
  startMeasurement(): void;
6
7
  endMeasurement(): void;
@@ -10,5 +11,8 @@ export declare class StubPerformanceClient extends PerformanceClient implements
10
11
  generateId(): string;
11
12
  startPerformanceMeasuremeant(): IPerformanceMeasurement;
12
13
  startPerformanceMeasurement(): IPerformanceMeasurement;
14
+ calculateQueuedTime(preQueueTime: number, currentTime: number): number;
15
+ addQueueMeasurement(eventName: PerformanceEvents, correlationId: string, queueTime: number): void;
16
+ setPreQueueTime(eventName: PerformanceEvents, correlationId?: string | undefined): void;
13
17
  }
14
18
  //# sourceMappingURL=StubPerformanceClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StubPerformanceClient.d.ts","sourceRoot":"","sources":["../../../src/telemetry/performance/StubPerformanceClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,qBAAa,0BAA2B,YAAW,uBAAuB;IAEtE,gBAAgB,IAAI,IAAI;IAExB,cAAc,IAAI,IAAI;IACtB,gBAAgB,IAAI,MAAM,GAAG,IAAI;CAIpC;AAED,qBAAa,qBAAsB,SAAQ,iBAAkB,YAAW,kBAAkB;IACtF,UAAU,IAAI,MAAM;IAIpB,4BAA4B,IAAI,uBAAuB;IAIvD,2BAA2B,IAAI,uBAAuB;CAGzD"}
1
+ {"version":3,"file":"StubPerformanceClient.d.ts","sourceRoot":"","sources":["../../../src/telemetry/performance/StubPerformanceClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,qBAAa,0BAA2B,YAAW,uBAAuB;IAEtE,gBAAgB,IAAI,IAAI;IAExB,cAAc,IAAI,IAAI;IACtB,gBAAgB,IAAI,MAAM,GAAG,IAAI;CAIpC;AAED,qBAAa,qBAAsB,SAAQ,iBAAkB,YAAW,kBAAkB;IACtF,UAAU,IAAI,MAAM;IAIpB,4BAA4B,IAAI,uBAAuB;IAIvD,2BAA2B,IAAI,uBAAuB;IAKtD,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAKtE,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAKjG,eAAe,CAAC,SAAS,EAAE,iBAAiB,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;CAI1F"}
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v9.1.0 2023-01-18 */
1
+ /*! @azure/msal-common v10.0.0 2023-02-06 */
2
2
  'use strict';
3
3
  import { __extends } from '../../_virtual/_tslib.js';
4
4
  import { PerformanceClient } from './PerformanceClient.js';
@@ -33,6 +33,18 @@ var StubPerformanceClient = /** @class */ (function (_super) {
33
33
  StubPerformanceClient.prototype.startPerformanceMeasurement = function () {
34
34
  return new StubPerformanceMeasurement();
35
35
  };
36
+ /* eslint-disable-next-line @typescript-eslint/no-unused-vars */
37
+ StubPerformanceClient.prototype.calculateQueuedTime = function (preQueueTime, currentTime) {
38
+ return 0;
39
+ };
40
+ /* eslint-disable-next-line @typescript-eslint/no-unused-vars */
41
+ StubPerformanceClient.prototype.addQueueMeasurement = function (eventName, correlationId, queueTime) {
42
+ return;
43
+ };
44
+ /* eslint-disable-next-line @typescript-eslint/no-unused-vars */
45
+ StubPerformanceClient.prototype.setPreQueueTime = function (eventName, correlationId) {
46
+ return;
47
+ };
36
48
  return StubPerformanceClient;
37
49
  }(PerformanceClient));
38
50
 
@@ -1 +1 @@
1
- {"version":3,"file":"StubPerformanceClient.js","sources":["../../../src/telemetry/performance/StubPerformanceClient.ts"],"sourcesContent":["/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\nimport { IPerformanceClient } from \"./IPerformanceClient\";\r\nimport { IPerformanceMeasurement } from \"./IPerformanceMeasurement\";\r\nimport { PerformanceClient } from \"./PerformanceClient\";\r\n\r\nexport class StubPerformanceMeasurement implements IPerformanceMeasurement {\r\n /* eslint-disable-next-line @typescript-eslint/no-empty-function */\r\n startMeasurement(): void { }\r\n /* eslint-disable-next-line @typescript-eslint/no-empty-function */\r\n endMeasurement(): void { }\r\n flushMeasurement(): number | null {\r\n return null;\r\n }\r\n \r\n}\r\n\r\nexport class StubPerformanceClient extends PerformanceClient implements IPerformanceClient {\r\n generateId(): string {\r\n return \"callback-id\";\r\n }\r\n \r\n startPerformanceMeasuremeant(): IPerformanceMeasurement {\r\n return new StubPerformanceMeasurement();\r\n }\r\n\r\n startPerformanceMeasurement(): IPerformanceMeasurement {\r\n return new StubPerformanceMeasurement();\r\n }\r\n}\r\n"],"names":[],"mappings":";;;;;AAAA;;;AAGG;AAMH,IAAA,0BAAA,kBAAA,YAAA;AAAA,IAAA,SAAA,0BAAA,GAAA;KASC;;IAPG,0BAAgB,CAAA,SAAA,CAAA,gBAAA,GAAhB,eAA4B,CAAA;;IAE5B,0BAAc,CAAA,SAAA,CAAA,cAAA,GAAd,eAA0B,CAAA;AAC1B,IAAA,0BAAA,CAAA,SAAA,CAAA,gBAAgB,GAAhB,YAAA;AACI,QAAA,OAAO,IAAI,CAAC;KACf,CAAA;IAEL,OAAC,0BAAA,CAAA;AAAD,CAAC,EAAA,EAAA;AAED,IAAA,qBAAA,kBAAA,UAAA,MAAA,EAAA;IAA2C,SAAiB,CAAA,qBAAA,EAAA,MAAA,CAAA,CAAA;AAA5D,IAAA,SAAA,qBAAA,GAAA;;KAYC;AAXG,IAAA,qBAAA,CAAA,SAAA,CAAA,UAAU,GAAV,YAAA;AACI,QAAA,OAAO,aAAa,CAAC;KACxB,CAAA;AAED,IAAA,qBAAA,CAAA,SAAA,CAAA,4BAA4B,GAA5B,YAAA;QACI,OAAO,IAAI,0BAA0B,EAAE,CAAC;KAC3C,CAAA;AAED,IAAA,qBAAA,CAAA,SAAA,CAAA,2BAA2B,GAA3B,YAAA;QACI,OAAO,IAAI,0BAA0B,EAAE,CAAC;KAC3C,CAAA;IACL,OAAC,qBAAA,CAAA;AAAD,CAZA,CAA2C,iBAAiB,CAY3D;;;;"}
1
+ {"version":3,"file":"StubPerformanceClient.js","sources":["../../../src/telemetry/performance/StubPerformanceClient.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IPerformanceClient } from \"./IPerformanceClient\";\nimport { IPerformanceMeasurement } from \"./IPerformanceMeasurement\";\nimport { PerformanceClient } from \"./PerformanceClient\";\nimport { PerformanceEvents } from \"./PerformanceEvent\";\n\nexport class StubPerformanceMeasurement implements IPerformanceMeasurement {\n /* eslint-disable-next-line @typescript-eslint/no-empty-function */\n startMeasurement(): void { }\n /* eslint-disable-next-line @typescript-eslint/no-empty-function */\n endMeasurement(): void { }\n flushMeasurement(): number | null {\n return null;\n }\n \n}\n\nexport class StubPerformanceClient extends PerformanceClient implements IPerformanceClient {\n generateId(): string {\n return \"callback-id\";\n }\n \n startPerformanceMeasuremeant(): IPerformanceMeasurement {\n return new StubPerformanceMeasurement();\n }\n\n startPerformanceMeasurement(): IPerformanceMeasurement {\n return new StubPerformanceMeasurement();\n }\n\n /* eslint-disable-next-line @typescript-eslint/no-unused-vars */\n calculateQueuedTime(preQueueTime: number, currentTime: number): number {\n return 0;\n }\n\n /* eslint-disable-next-line @typescript-eslint/no-unused-vars */\n addQueueMeasurement(eventName: PerformanceEvents, correlationId: string, queueTime: number): void {\n return;\n }\n\n /* eslint-disable-next-line @typescript-eslint/no-unused-vars */\n setPreQueueTime(eventName: PerformanceEvents, correlationId?: string | undefined): void {\n return;\n }\n\n}\n"],"names":[],"mappings":";;;;;AAAA;;;AAGG;AAOH,IAAA,0BAAA,kBAAA,YAAA;AAAA,IAAA,SAAA,0BAAA,GAAA;KASC;;IAPG,0BAAgB,CAAA,SAAA,CAAA,gBAAA,GAAhB,eAA4B,CAAA;;IAE5B,0BAAc,CAAA,SAAA,CAAA,cAAA,GAAd,eAA0B,CAAA;AAC1B,IAAA,0BAAA,CAAA,SAAA,CAAA,gBAAgB,GAAhB,YAAA;AACI,QAAA,OAAO,IAAI,CAAC;KACf,CAAA;IAEL,OAAC,0BAAA,CAAA;AAAD,CAAC,EAAA,EAAA;AAED,IAAA,qBAAA,kBAAA,UAAA,MAAA,EAAA;IAA2C,SAAiB,CAAA,qBAAA,EAAA,MAAA,CAAA,CAAA;AAA5D,IAAA,SAAA,qBAAA,GAAA;;KA4BC;AA3BG,IAAA,qBAAA,CAAA,SAAA,CAAA,UAAU,GAAV,YAAA;AACI,QAAA,OAAO,aAAa,CAAC;KACxB,CAAA;AAED,IAAA,qBAAA,CAAA,SAAA,CAAA,4BAA4B,GAA5B,YAAA;QACI,OAAO,IAAI,0BAA0B,EAAE,CAAC;KAC3C,CAAA;AAED,IAAA,qBAAA,CAAA,SAAA,CAAA,2BAA2B,GAA3B,YAAA;QACI,OAAO,IAAI,0BAA0B,EAAE,CAAC;KAC3C,CAAA;;AAGD,IAAA,qBAAA,CAAA,SAAA,CAAA,mBAAmB,GAAnB,UAAoB,YAAoB,EAAE,WAAmB,EAAA;AACzD,QAAA,OAAO,CAAC,CAAC;KACZ,CAAA;;AAGD,IAAA,qBAAA,CAAA,SAAA,CAAA,mBAAmB,GAAnB,UAAoB,SAA4B,EAAE,aAAqB,EAAE,SAAiB,EAAA;QACtF,OAAO;KACV,CAAA;;AAGD,IAAA,qBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,UAAgB,SAA4B,EAAE,aAAkC,EAAA;QAC5E,OAAO;KACV,CAAA;IAEL,OAAC,qBAAA,CAAA;AAAD,CA5BA,CAA2C,iBAAiB,CA4B3D;;;;"}
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v9.1.0 2023-01-18 */
1
+ /*! @azure/msal-common v10.0.0 2023-02-06 */
2
2
  'use strict';
3
3
  import { SERVER_TELEM_CONSTANTS, CacheOutcome, Constants, Separators } from '../../utils/Constants.js';
4
4
  import { ServerTelemetryEntity } from '../../cache/entities/ServerTelemetryEntity.js';
@@ -1 +1 @@
1
- {"version":3,"file":"ServerTelemetryManager.js","sources":["../../../src/telemetry/server/ServerTelemetryManager.ts"],"sourcesContent":["/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\nimport { SERVER_TELEM_CONSTANTS, Separators, CacheOutcome, Constants, RegionDiscoverySources, RegionDiscoveryOutcomes } from \"../../utils/Constants\";\r\nimport { CacheManager } from \"../../cache/CacheManager\";\r\nimport { AuthError } from \"../../error/AuthError\";\r\nimport { ServerTelemetryRequest } from \"./ServerTelemetryRequest\";\r\nimport { ServerTelemetryEntity } from \"../../cache/entities/ServerTelemetryEntity\";\r\nimport { StringUtils } from \"../../utils/StringUtils\";\r\nimport { RegionDiscoveryMetadata } from \"../../authority/RegionDiscoveryMetadata\";\r\n\r\nexport class ServerTelemetryManager {\r\n private cacheManager: CacheManager;\r\n private apiId: number;\r\n private correlationId: string;\r\n private telemetryCacheKey: string;\r\n private wrapperSKU: String;\r\n private wrapperVer: String;\r\n private regionUsed: string | undefined;\r\n private regionSource: RegionDiscoverySources | undefined;\r\n private regionOutcome: RegionDiscoveryOutcomes | undefined;\r\n private cacheOutcome: CacheOutcome = CacheOutcome.NO_CACHE_HIT;\r\n\r\n constructor(telemetryRequest: ServerTelemetryRequest, cacheManager: CacheManager) {\r\n this.cacheManager = cacheManager;\r\n this.apiId = telemetryRequest.apiId;\r\n this.correlationId = telemetryRequest.correlationId;\r\n this.wrapperSKU = telemetryRequest.wrapperSKU || Constants.EMPTY_STRING;\r\n this.wrapperVer = telemetryRequest.wrapperVer || Constants.EMPTY_STRING;\r\n\r\n this.telemetryCacheKey = SERVER_TELEM_CONSTANTS.CACHE_KEY + Separators.CACHE_KEY_SEPARATOR + telemetryRequest.clientId;\r\n }\r\n\r\n /**\r\n * API to add MSER Telemetry to request\r\n */\r\n generateCurrentRequestHeaderValue(): string {\r\n const request = `${this.apiId}${SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR}${this.cacheOutcome}`;\r\n const platformFields = [this.wrapperSKU, this.wrapperVer].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n const regionDiscoveryFields = this.getRegionDiscoveryFields();\r\n const requestWithRegionDiscoveryFields = [request, regionDiscoveryFields].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n\r\n return [SERVER_TELEM_CONSTANTS.SCHEMA_VERSION, requestWithRegionDiscoveryFields, platformFields].join(SERVER_TELEM_CONSTANTS.CATEGORY_SEPARATOR);\r\n }\r\n\r\n /**\r\n * API to add MSER Telemetry for the last failed request\r\n */\r\n generateLastRequestHeaderValue(): string {\r\n const lastRequests = this.getLastRequests();\r\n\r\n const maxErrors = ServerTelemetryManager.maxErrorsToSend(lastRequests);\r\n const failedRequests = lastRequests.failedRequests.slice(0, 2*maxErrors).join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n const errors = lastRequests.errors.slice(0, maxErrors).join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n const errorCount = lastRequests.errors.length;\r\n\r\n // Indicate whether this header contains all data or partial data\r\n const overflow = maxErrors < errorCount ? SERVER_TELEM_CONSTANTS.OVERFLOW_TRUE : SERVER_TELEM_CONSTANTS.OVERFLOW_FALSE;\r\n const platformFields = [errorCount, overflow].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n\r\n return [SERVER_TELEM_CONSTANTS.SCHEMA_VERSION, lastRequests.cacheHits, failedRequests, errors, platformFields].join(SERVER_TELEM_CONSTANTS.CATEGORY_SEPARATOR);\r\n }\r\n\r\n /**\r\n * API to cache token failures for MSER data capture\r\n * @param error\r\n */\r\n cacheFailedRequest(error: AuthError): void {\r\n const lastRequests = this.getLastRequests();\r\n if (lastRequests.errors.length >= SERVER_TELEM_CONSTANTS.MAX_CACHED_ERRORS) {\r\n // Remove a cached error to make room, first in first out\r\n lastRequests.failedRequests.shift(); // apiId\r\n lastRequests.failedRequests.shift(); // correlationId\r\n lastRequests.errors.shift();\r\n }\r\n \r\n lastRequests.failedRequests.push(this.apiId, this.correlationId);\r\n\r\n if (!StringUtils.isEmpty(error.subError)) {\r\n lastRequests.errors.push(error.subError);\r\n } else if (!StringUtils.isEmpty(error.errorCode)) {\r\n lastRequests.errors.push(error.errorCode);\r\n } else if (!!error && error.toString()) {\r\n lastRequests.errors.push(error.toString());\r\n } else {\r\n lastRequests.errors.push(SERVER_TELEM_CONSTANTS.UNKNOWN_ERROR);\r\n }\r\n\r\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests);\r\n\r\n return;\r\n }\r\n\r\n /**\r\n * Update server telemetry cache entry by incrementing cache hit counter\r\n */\r\n incrementCacheHits(): number {\r\n const lastRequests = this.getLastRequests();\r\n lastRequests.cacheHits += 1;\r\n\r\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests);\r\n return lastRequests.cacheHits;\r\n }\r\n\r\n /**\r\n * Get the server telemetry entity from cache or initialize a new one\r\n */\r\n getLastRequests(): ServerTelemetryEntity {\r\n const initialValue: ServerTelemetryEntity = new ServerTelemetryEntity();\r\n const lastRequests = this.cacheManager.getServerTelemetry(this.telemetryCacheKey) as ServerTelemetryEntity;\r\n\r\n return lastRequests || initialValue;\r\n }\r\n\r\n /**\r\n * Remove server telemetry cache entry\r\n */\r\n clearTelemetryCache(): void {\r\n const lastRequests = this.getLastRequests();\r\n const numErrorsFlushed = ServerTelemetryManager.maxErrorsToSend(lastRequests);\r\n const errorCount = lastRequests.errors.length;\r\n if (numErrorsFlushed === errorCount) {\r\n // All errors were sent on last request, clear Telemetry cache\r\n this.cacheManager.removeItem(this.telemetryCacheKey);\r\n } else {\r\n // Partial data was flushed to server, construct a new telemetry cache item with errors that were not flushed\r\n const serverTelemEntity = new ServerTelemetryEntity();\r\n serverTelemEntity.failedRequests = lastRequests.failedRequests.slice(numErrorsFlushed*2); // failedRequests contains 2 items for each error\r\n serverTelemEntity.errors = lastRequests.errors.slice(numErrorsFlushed);\r\n\r\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, serverTelemEntity);\r\n }\r\n }\r\n\r\n /**\r\n * Returns the maximum number of errors that can be flushed to the server in the next network request\r\n * @param serverTelemetryEntity\r\n */\r\n static maxErrorsToSend(serverTelemetryEntity: ServerTelemetryEntity): number {\r\n let i;\r\n let maxErrors = 0;\r\n let dataSize = 0;\r\n const errorCount = serverTelemetryEntity.errors.length;\r\n for (i = 0; i < errorCount; i++) {\r\n // failedRequests parameter contains pairs of apiId and correlationId, multiply index by 2 to preserve pairs\r\n const apiId = serverTelemetryEntity.failedRequests[2*i] || Constants.EMPTY_STRING;\r\n const correlationId = serverTelemetryEntity.failedRequests[2*i + 1] || Constants.EMPTY_STRING;\r\n const errorCode = serverTelemetryEntity.errors[i] || Constants.EMPTY_STRING;\r\n\r\n // Count number of characters that would be added to header, each character is 1 byte. Add 3 at the end to account for separators\r\n dataSize += apiId.toString().length + correlationId.toString().length + errorCode.length + 3;\r\n\r\n if (dataSize < SERVER_TELEM_CONSTANTS.MAX_LAST_HEADER_BYTES) {\r\n // Adding this entry to the header would still keep header size below the limit\r\n maxErrors += 1;\r\n } else {\r\n break;\r\n }\r\n }\r\n\r\n return maxErrors;\r\n }\r\n\r\n /**\r\n * Get the region discovery fields\r\n * \r\n * @returns string\r\n */\r\n getRegionDiscoveryFields(): string {\r\n const regionDiscoveryFields: string[] = [];\r\n\r\n regionDiscoveryFields.push(this.regionUsed || Constants.EMPTY_STRING);\r\n regionDiscoveryFields.push(this.regionSource || Constants.EMPTY_STRING);\r\n regionDiscoveryFields.push(this.regionOutcome || Constants.EMPTY_STRING);\r\n\r\n return regionDiscoveryFields.join(\",\");\r\n }\r\n\r\n /**\r\n * Update the region discovery metadata\r\n * \r\n * @param regionDiscoveryMetadata\r\n * @returns void\r\n */\r\n updateRegionDiscoveryMetadata(regionDiscoveryMetadata: RegionDiscoveryMetadata): void {\r\n this.regionUsed = regionDiscoveryMetadata.region_used;\r\n this.regionSource = regionDiscoveryMetadata.region_source;\r\n this.regionOutcome = regionDiscoveryMetadata.region_outcome;\r\n }\r\n\r\n /**\r\n * Set cache outcome \r\n */\r\n setCacheOutcome(cacheOutcome: CacheOutcome): void {\r\n this.cacheOutcome = cacheOutcome;\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServerTelemetryManager.js","sources":["../../../src/telemetry/server/ServerTelemetryManager.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { SERVER_TELEM_CONSTANTS, Separators, CacheOutcome, Constants, RegionDiscoverySources, RegionDiscoveryOutcomes } from \"../../utils/Constants\";\nimport { CacheManager } from \"../../cache/CacheManager\";\nimport { AuthError } from \"../../error/AuthError\";\nimport { ServerTelemetryRequest } from \"./ServerTelemetryRequest\";\nimport { ServerTelemetryEntity } from \"../../cache/entities/ServerTelemetryEntity\";\nimport { StringUtils } from \"../../utils/StringUtils\";\nimport { RegionDiscoveryMetadata } from \"../../authority/RegionDiscoveryMetadata\";\n\nexport class ServerTelemetryManager {\n private cacheManager: CacheManager;\n private apiId: number;\n private correlationId: string;\n private telemetryCacheKey: string;\n private wrapperSKU: String;\n private wrapperVer: String;\n private regionUsed: string | undefined;\n private regionSource: RegionDiscoverySources | undefined;\n private regionOutcome: RegionDiscoveryOutcomes | undefined;\n private cacheOutcome: CacheOutcome = CacheOutcome.NO_CACHE_HIT;\n\n constructor(telemetryRequest: ServerTelemetryRequest, cacheManager: CacheManager) {\n this.cacheManager = cacheManager;\n this.apiId = telemetryRequest.apiId;\n this.correlationId = telemetryRequest.correlationId;\n this.wrapperSKU = telemetryRequest.wrapperSKU || Constants.EMPTY_STRING;\n this.wrapperVer = telemetryRequest.wrapperVer || Constants.EMPTY_STRING;\n\n this.telemetryCacheKey = SERVER_TELEM_CONSTANTS.CACHE_KEY + Separators.CACHE_KEY_SEPARATOR + telemetryRequest.clientId;\n }\n\n /**\n * API to add MSER Telemetry to request\n */\n generateCurrentRequestHeaderValue(): string {\n const request = `${this.apiId}${SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR}${this.cacheOutcome}`;\n const platformFields = [this.wrapperSKU, this.wrapperVer].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n const regionDiscoveryFields = this.getRegionDiscoveryFields();\n const requestWithRegionDiscoveryFields = [request, regionDiscoveryFields].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n\n return [SERVER_TELEM_CONSTANTS.SCHEMA_VERSION, requestWithRegionDiscoveryFields, platformFields].join(SERVER_TELEM_CONSTANTS.CATEGORY_SEPARATOR);\n }\n\n /**\n * API to add MSER Telemetry for the last failed request\n */\n generateLastRequestHeaderValue(): string {\n const lastRequests = this.getLastRequests();\n\n const maxErrors = ServerTelemetryManager.maxErrorsToSend(lastRequests);\n const failedRequests = lastRequests.failedRequests.slice(0, 2*maxErrors).join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n const errors = lastRequests.errors.slice(0, maxErrors).join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n const errorCount = lastRequests.errors.length;\n\n // Indicate whether this header contains all data or partial data\n const overflow = maxErrors < errorCount ? SERVER_TELEM_CONSTANTS.OVERFLOW_TRUE : SERVER_TELEM_CONSTANTS.OVERFLOW_FALSE;\n const platformFields = [errorCount, overflow].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n\n return [SERVER_TELEM_CONSTANTS.SCHEMA_VERSION, lastRequests.cacheHits, failedRequests, errors, platformFields].join(SERVER_TELEM_CONSTANTS.CATEGORY_SEPARATOR);\n }\n\n /**\n * API to cache token failures for MSER data capture\n * @param error\n */\n cacheFailedRequest(error: AuthError): void {\n const lastRequests = this.getLastRequests();\n if (lastRequests.errors.length >= SERVER_TELEM_CONSTANTS.MAX_CACHED_ERRORS) {\n // Remove a cached error to make room, first in first out\n lastRequests.failedRequests.shift(); // apiId\n lastRequests.failedRequests.shift(); // correlationId\n lastRequests.errors.shift();\n }\n \n lastRequests.failedRequests.push(this.apiId, this.correlationId);\n\n if (!StringUtils.isEmpty(error.subError)) {\n lastRequests.errors.push(error.subError);\n } else if (!StringUtils.isEmpty(error.errorCode)) {\n lastRequests.errors.push(error.errorCode);\n } else if (!!error && error.toString()) {\n lastRequests.errors.push(error.toString());\n } else {\n lastRequests.errors.push(SERVER_TELEM_CONSTANTS.UNKNOWN_ERROR);\n }\n\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests);\n\n return;\n }\n\n /**\n * Update server telemetry cache entry by incrementing cache hit counter\n */\n incrementCacheHits(): number {\n const lastRequests = this.getLastRequests();\n lastRequests.cacheHits += 1;\n\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests);\n return lastRequests.cacheHits;\n }\n\n /**\n * Get the server telemetry entity from cache or initialize a new one\n */\n getLastRequests(): ServerTelemetryEntity {\n const initialValue: ServerTelemetryEntity = new ServerTelemetryEntity();\n const lastRequests = this.cacheManager.getServerTelemetry(this.telemetryCacheKey) as ServerTelemetryEntity;\n\n return lastRequests || initialValue;\n }\n\n /**\n * Remove server telemetry cache entry\n */\n clearTelemetryCache(): void {\n const lastRequests = this.getLastRequests();\n const numErrorsFlushed = ServerTelemetryManager.maxErrorsToSend(lastRequests);\n const errorCount = lastRequests.errors.length;\n if (numErrorsFlushed === errorCount) {\n // All errors were sent on last request, clear Telemetry cache\n this.cacheManager.removeItem(this.telemetryCacheKey);\n } else {\n // Partial data was flushed to server, construct a new telemetry cache item with errors that were not flushed\n const serverTelemEntity = new ServerTelemetryEntity();\n serverTelemEntity.failedRequests = lastRequests.failedRequests.slice(numErrorsFlushed*2); // failedRequests contains 2 items for each error\n serverTelemEntity.errors = lastRequests.errors.slice(numErrorsFlushed);\n\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, serverTelemEntity);\n }\n }\n\n /**\n * Returns the maximum number of errors that can be flushed to the server in the next network request\n * @param serverTelemetryEntity\n */\n static maxErrorsToSend(serverTelemetryEntity: ServerTelemetryEntity): number {\n let i;\n let maxErrors = 0;\n let dataSize = 0;\n const errorCount = serverTelemetryEntity.errors.length;\n for (i = 0; i < errorCount; i++) {\n // failedRequests parameter contains pairs of apiId and correlationId, multiply index by 2 to preserve pairs\n const apiId = serverTelemetryEntity.failedRequests[2*i] || Constants.EMPTY_STRING;\n const correlationId = serverTelemetryEntity.failedRequests[2*i + 1] || Constants.EMPTY_STRING;\n const errorCode = serverTelemetryEntity.errors[i] || Constants.EMPTY_STRING;\n\n // Count number of characters that would be added to header, each character is 1 byte. Add 3 at the end to account for separators\n dataSize += apiId.toString().length + correlationId.toString().length + errorCode.length + 3;\n\n if (dataSize < SERVER_TELEM_CONSTANTS.MAX_LAST_HEADER_BYTES) {\n // Adding this entry to the header would still keep header size below the limit\n maxErrors += 1;\n } else {\n break;\n }\n }\n\n return maxErrors;\n }\n\n /**\n * Get the region discovery fields\n * \n * @returns string\n */\n getRegionDiscoveryFields(): string {\n const regionDiscoveryFields: string[] = [];\n\n regionDiscoveryFields.push(this.regionUsed || Constants.EMPTY_STRING);\n regionDiscoveryFields.push(this.regionSource || Constants.EMPTY_STRING);\n regionDiscoveryFields.push(this.regionOutcome || Constants.EMPTY_STRING);\n\n return regionDiscoveryFields.join(\",\");\n }\n\n /**\n * Update the region discovery metadata\n * \n * @param regionDiscoveryMetadata\n * @returns void\n */\n updateRegionDiscoveryMetadata(regionDiscoveryMetadata: RegionDiscoveryMetadata): void {\n this.regionUsed = regionDiscoveryMetadata.region_used;\n this.regionSource = regionDiscoveryMetadata.region_source;\n this.regionOutcome = regionDiscoveryMetadata.region_outcome;\n }\n\n /**\n * Set cache outcome \n */\n setCacheOutcome(cacheOutcome: CacheOutcome): void {\n this.cacheOutcome = cacheOutcome;\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v9.1.0 2023-01-18 */
1
+ /*! @azure/msal-common v10.0.0 2023-02-06 */
2
2
  'use strict';
3
3
  import { ClientConfigurationError } from '../error/ClientConfigurationError.js';
4
4
  import { ClientAuthError } from '../error/ClientAuthError.js';
@@ -1 +1 @@
1
- {"version":3,"file":"UrlString.js","sources":["../../src/url/UrlString.ts"],"sourcesContent":["/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\nimport { ServerAuthorizationCodeResponse } from \"../response/ServerAuthorizationCodeResponse\";\r\nimport { ClientConfigurationError } from \"../error/ClientConfigurationError\";\r\nimport { ClientAuthError } from \"../error/ClientAuthError\";\r\nimport { StringUtils } from \"../utils/StringUtils\";\r\nimport { IUri } from \"./IUri\";\r\nimport { AADAuthorityConstants, Constants } from \"../utils/Constants\";\r\n\r\n/**\r\n * Url object class which can perform various transformations on url strings.\r\n */\r\nexport class UrlString {\r\n\r\n // internal url string field\r\n private _urlString: string;\r\n public get urlString(): string {\r\n return this._urlString;\r\n }\r\n\r\n constructor(url: string) {\r\n this._urlString = url;\r\n if (StringUtils.isEmpty(this._urlString)) {\r\n // Throws error if url is empty\r\n throw ClientConfigurationError.createUrlEmptyError();\r\n }\r\n\r\n if (StringUtils.isEmpty(this.getHash())) {\r\n this._urlString = UrlString.canonicalizeUri(url);\r\n }\r\n }\r\n\r\n /**\r\n * Ensure urls are lower case and end with a / character.\r\n * @param url\r\n */\r\n static canonicalizeUri(url: string): string {\r\n if (url) {\r\n let lowerCaseUrl = url.toLowerCase();\r\n\r\n if (StringUtils.endsWith(lowerCaseUrl, \"?\")) {\r\n lowerCaseUrl = lowerCaseUrl.slice(0, -1);\r\n } else if (StringUtils.endsWith(lowerCaseUrl, \"?/\")) {\r\n lowerCaseUrl = lowerCaseUrl.slice(0, -2);\r\n }\r\n\r\n if (!StringUtils.endsWith(lowerCaseUrl, \"/\")) {\r\n lowerCaseUrl += \"/\";\r\n }\r\n\r\n return lowerCaseUrl;\r\n }\r\n\r\n return url;\r\n }\r\n\r\n /**\r\n * Throws if urlString passed is not a valid authority URI string.\r\n */\r\n validateAsUri(): void {\r\n // Attempts to parse url for uri components\r\n let components;\r\n try {\r\n components = this.getUrlComponents();\r\n } catch (e) {\r\n throw ClientConfigurationError.createUrlParseError(e);\r\n }\r\n\r\n // Throw error if URI or path segments are not parseable.\r\n if (!components.HostNameAndPort || !components.PathSegments) {\r\n throw ClientConfigurationError.createUrlParseError(`Given url string: ${this.urlString}`);\r\n }\r\n\r\n // Throw error if uri is insecure.\r\n if(!components.Protocol || components.Protocol.toLowerCase() !== \"https:\") {\r\n throw ClientConfigurationError.createInsecureAuthorityUriError(this.urlString);\r\n }\r\n }\r\n\r\n /**\r\n * Given a url and a query string return the url with provided query string appended\r\n * @param url\r\n * @param queryString\r\n */\r\n static appendQueryString(url: string, queryString: string): string {\r\n if (StringUtils.isEmpty(queryString)) {\r\n return url;\r\n }\r\n\r\n return url.indexOf(\"?\") < 0 ? `${url}?${queryString}` : `${url}&${queryString}`;\r\n }\r\n\r\n /**\r\n * Returns a url with the hash removed\r\n * @param url\r\n */\r\n static removeHashFromUrl(url: string): string {\r\n return UrlString.canonicalizeUri(url.split(\"#\")[0]);\r\n }\r\n\r\n /**\r\n * Given a url like https://a:b/common/d?e=f#g, and a tenantId, returns https://a:b/tenantId/d\r\n * @param href The url\r\n * @param tenantId The tenant id to replace\r\n */\r\n replaceTenantPath(tenantId: string): UrlString {\r\n const urlObject = this.getUrlComponents();\r\n const pathArray = urlObject.PathSegments;\r\n if (tenantId && (pathArray.length !== 0 && (pathArray[0] === AADAuthorityConstants.COMMON || pathArray[0] === AADAuthorityConstants.ORGANIZATIONS))) {\r\n pathArray[0] = tenantId;\r\n }\r\n return UrlString.constructAuthorityUriFromObject(urlObject);\r\n }\r\n\r\n /**\r\n * Returns the anchor part(#) of the URL\r\n */\r\n getHash(): string {\r\n return UrlString.parseHash(this.urlString);\r\n }\r\n\r\n /**\r\n * Parses out the components from a url string.\r\n * @returns An object with the various components. Please cache this value insted of calling this multiple times on the same url.\r\n */\r\n getUrlComponents(): IUri {\r\n // https://gist.github.com/curtisz/11139b2cfcaef4a261e0\r\n const regEx = RegExp(\"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\\\?([^#]*))?(#(.*))?\");\r\n\r\n // If url string does not match regEx, we throw an error\r\n const match = this.urlString.match(regEx);\r\n if (!match) {\r\n throw ClientConfigurationError.createUrlParseError(`Given url string: ${this.urlString}`);\r\n }\r\n\r\n // Url component object\r\n const urlComponents = {\r\n Protocol: match[1],\r\n HostNameAndPort: match[4],\r\n AbsolutePath: match[5],\r\n QueryString: match[7]\r\n } as IUri;\r\n\r\n let pathSegments = urlComponents.AbsolutePath.split(\"/\");\r\n pathSegments = pathSegments.filter((val) => val && val.length > 0); // remove empty elements\r\n urlComponents.PathSegments = pathSegments;\r\n\r\n if (!StringUtils.isEmpty(urlComponents.QueryString) && urlComponents.QueryString.endsWith(\"/\")) {\r\n urlComponents.QueryString = urlComponents.QueryString.substring(0, urlComponents.QueryString.length-1);\r\n }\r\n return urlComponents;\r\n }\r\n\r\n static getDomainFromUrl(url: string): string {\r\n const regEx = RegExp(\"^([^:/?#]+://)?([^/?#]*)\");\r\n\r\n const match = url.match(regEx);\r\n\r\n if (!match) {\r\n throw ClientConfigurationError.createUrlParseError(`Given url string: ${url}`);\r\n }\r\n\r\n return match[2];\r\n }\r\n\r\n static getAbsoluteUrl(relativeUrl: string, baseUrl: string): string {\r\n if (relativeUrl[0] === Constants.FORWARD_SLASH) {\r\n const url = new UrlString(baseUrl);\r\n const baseComponents = url.getUrlComponents();\r\n\r\n return baseComponents.Protocol + \"//\" + baseComponents.HostNameAndPort + relativeUrl;\r\n }\r\n\r\n return relativeUrl;\r\n }\r\n\r\n /**\r\n * Parses hash string from given string. Returns empty string if no hash symbol is found.\r\n * @param hashString\r\n */\r\n static parseHash(hashString: string): string {\r\n const hashIndex1 = hashString.indexOf(\"#\");\r\n const hashIndex2 = hashString.indexOf(\"#/\");\r\n if (hashIndex2 > -1) {\r\n return hashString.substring(hashIndex2 + 2);\r\n } else if (hashIndex1 > -1) {\r\n return hashString.substring(hashIndex1 + 1);\r\n }\r\n return Constants.EMPTY_STRING;\r\n }\r\n\r\n /**\r\n * Parses query string from given string. Returns empty string if no query symbol is found.\r\n * @param queryString\r\n */\r\n static parseQueryString(queryString: string): string {\r\n const queryIndex1 = queryString.indexOf(\"?\");\r\n const queryIndex2 = queryString.indexOf(\"/?\");\r\n if (queryIndex2 > -1) {\r\n return queryString.substring(queryIndex2 + 2);\r\n } else if (queryIndex1 > -1) {\r\n return queryString.substring(queryIndex1 + 1);\r\n }\r\n return Constants.EMPTY_STRING;\r\n }\r\n\r\n static constructAuthorityUriFromObject(urlObject: IUri): UrlString {\r\n return new UrlString(urlObject.Protocol + \"//\" + urlObject.HostNameAndPort + \"/\" + urlObject.PathSegments.join(\"/\"));\r\n }\r\n\r\n /**\r\n * Returns URL hash as server auth code response object.\r\n */\r\n static getDeserializedHash(hash: string): ServerAuthorizationCodeResponse {\r\n // Check if given hash is empty\r\n if (StringUtils.isEmpty(hash)) {\r\n return {};\r\n }\r\n // Strip the # symbol if present\r\n const parsedHash = UrlString.parseHash(hash);\r\n // If # symbol was not present, above will return empty string, so give original hash value\r\n const deserializedHash: ServerAuthorizationCodeResponse = StringUtils.queryStringToObject<ServerAuthorizationCodeResponse>(StringUtils.isEmpty(parsedHash) ? hash : parsedHash);\r\n // Check if deserialization didn't work\r\n if (!deserializedHash) {\r\n throw ClientAuthError.createHashNotDeserializedError(JSON.stringify(deserializedHash));\r\n }\r\n return deserializedHash;\r\n }\r\n\r\n /**\r\n * Returns URL query string as server auth code response object.\r\n */\r\n static getDeserializedQueryString(query: string): ServerAuthorizationCodeResponse {\r\n // Check if given query is empty\r\n if (StringUtils.isEmpty(query)) {\r\n return {};\r\n }\r\n // Strip the ? symbol if present\r\n const parsedQueryString = UrlString.parseQueryString(query);\r\n // If ? symbol was not present, above will return empty string, so give original query value\r\n const deserializedQueryString: ServerAuthorizationCodeResponse = StringUtils.queryStringToObject<ServerAuthorizationCodeResponse>(StringUtils.isEmpty(parsedQueryString) ? query : parsedQueryString);\r\n // Check if deserialization didn't work\r\n if (!deserializedQueryString) {\r\n throw ClientAuthError.createHashNotDeserializedError(JSON.stringify(deserializedQueryString));\r\n }\r\n return deserializedQueryString;\r\n }\r\n\r\n /**\r\n * Check if the hash of the URL string contains known properties\r\n */\r\n static hashContainsKnownProperties(hash: string): boolean {\r\n if (StringUtils.isEmpty(hash) || hash.indexOf(\"=\") < 0) {\r\n // Hash doesn't contain key/value pairs\r\n return false;\r\n }\r\n\r\n const parameters: ServerAuthorizationCodeResponse = UrlString.getDeserializedHash(hash);\r\n return !!(\r\n parameters.code ||\r\n parameters.error_description ||\r\n parameters.error ||\r\n parameters.state\r\n );\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UrlString.js","sources":["../../src/url/UrlString.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ServerAuthorizationCodeResponse } from \"../response/ServerAuthorizationCodeResponse\";\nimport { ClientConfigurationError } from \"../error/ClientConfigurationError\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { IUri } from \"./IUri\";\nimport { AADAuthorityConstants, Constants } from \"../utils/Constants\";\n\n/**\n * Url object class which can perform various transformations on url strings.\n */\nexport class UrlString {\n\n // internal url string field\n private _urlString: string;\n public get urlString(): string {\n return this._urlString;\n }\n\n constructor(url: string) {\n this._urlString = url;\n if (StringUtils.isEmpty(this._urlString)) {\n // Throws error if url is empty\n throw ClientConfigurationError.createUrlEmptyError();\n }\n\n if (StringUtils.isEmpty(this.getHash())) {\n this._urlString = UrlString.canonicalizeUri(url);\n }\n }\n\n /**\n * Ensure urls are lower case and end with a / character.\n * @param url\n */\n static canonicalizeUri(url: string): string {\n if (url) {\n let lowerCaseUrl = url.toLowerCase();\n\n if (StringUtils.endsWith(lowerCaseUrl, \"?\")) {\n lowerCaseUrl = lowerCaseUrl.slice(0, -1);\n } else if (StringUtils.endsWith(lowerCaseUrl, \"?/\")) {\n lowerCaseUrl = lowerCaseUrl.slice(0, -2);\n }\n\n if (!StringUtils.endsWith(lowerCaseUrl, \"/\")) {\n lowerCaseUrl += \"/\";\n }\n\n return lowerCaseUrl;\n }\n\n return url;\n }\n\n /**\n * Throws if urlString passed is not a valid authority URI string.\n */\n validateAsUri(): void {\n // Attempts to parse url for uri components\n let components;\n try {\n components = this.getUrlComponents();\n } catch (e) {\n throw ClientConfigurationError.createUrlParseError(e);\n }\n\n // Throw error if URI or path segments are not parseable.\n if (!components.HostNameAndPort || !components.PathSegments) {\n throw ClientConfigurationError.createUrlParseError(`Given url string: ${this.urlString}`);\n }\n\n // Throw error if uri is insecure.\n if(!components.Protocol || components.Protocol.toLowerCase() !== \"https:\") {\n throw ClientConfigurationError.createInsecureAuthorityUriError(this.urlString);\n }\n }\n\n /**\n * Given a url and a query string return the url with provided query string appended\n * @param url\n * @param queryString\n */\n static appendQueryString(url: string, queryString: string): string {\n if (StringUtils.isEmpty(queryString)) {\n return url;\n }\n\n return url.indexOf(\"?\") < 0 ? `${url}?${queryString}` : `${url}&${queryString}`;\n }\n\n /**\n * Returns a url with the hash removed\n * @param url\n */\n static removeHashFromUrl(url: string): string {\n return UrlString.canonicalizeUri(url.split(\"#\")[0]);\n }\n\n /**\n * Given a url like https://a:b/common/d?e=f#g, and a tenantId, returns https://a:b/tenantId/d\n * @param href The url\n * @param tenantId The tenant id to replace\n */\n replaceTenantPath(tenantId: string): UrlString {\n const urlObject = this.getUrlComponents();\n const pathArray = urlObject.PathSegments;\n if (tenantId && (pathArray.length !== 0 && (pathArray[0] === AADAuthorityConstants.COMMON || pathArray[0] === AADAuthorityConstants.ORGANIZATIONS))) {\n pathArray[0] = tenantId;\n }\n return UrlString.constructAuthorityUriFromObject(urlObject);\n }\n\n /**\n * Returns the anchor part(#) of the URL\n */\n getHash(): string {\n return UrlString.parseHash(this.urlString);\n }\n\n /**\n * Parses out the components from a url string.\n * @returns An object with the various components. Please cache this value insted of calling this multiple times on the same url.\n */\n getUrlComponents(): IUri {\n // https://gist.github.com/curtisz/11139b2cfcaef4a261e0\n const regEx = RegExp(\"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\\\?([^#]*))?(#(.*))?\");\n\n // If url string does not match regEx, we throw an error\n const match = this.urlString.match(regEx);\n if (!match) {\n throw ClientConfigurationError.createUrlParseError(`Given url string: ${this.urlString}`);\n }\n\n // Url component object\n const urlComponents = {\n Protocol: match[1],\n HostNameAndPort: match[4],\n AbsolutePath: match[5],\n QueryString: match[7]\n } as IUri;\n\n let pathSegments = urlComponents.AbsolutePath.split(\"/\");\n pathSegments = pathSegments.filter((val) => val && val.length > 0); // remove empty elements\n urlComponents.PathSegments = pathSegments;\n\n if (!StringUtils.isEmpty(urlComponents.QueryString) && urlComponents.QueryString.endsWith(\"/\")) {\n urlComponents.QueryString = urlComponents.QueryString.substring(0, urlComponents.QueryString.length-1);\n }\n return urlComponents;\n }\n\n static getDomainFromUrl(url: string): string {\n const regEx = RegExp(\"^([^:/?#]+://)?([^/?#]*)\");\n\n const match = url.match(regEx);\n\n if (!match) {\n throw ClientConfigurationError.createUrlParseError(`Given url string: ${url}`);\n }\n\n return match[2];\n }\n\n static getAbsoluteUrl(relativeUrl: string, baseUrl: string): string {\n if (relativeUrl[0] === Constants.FORWARD_SLASH) {\n const url = new UrlString(baseUrl);\n const baseComponents = url.getUrlComponents();\n\n return baseComponents.Protocol + \"//\" + baseComponents.HostNameAndPort + relativeUrl;\n }\n\n return relativeUrl;\n }\n\n /**\n * Parses hash string from given string. Returns empty string if no hash symbol is found.\n * @param hashString\n */\n static parseHash(hashString: string): string {\n const hashIndex1 = hashString.indexOf(\"#\");\n const hashIndex2 = hashString.indexOf(\"#/\");\n if (hashIndex2 > -1) {\n return hashString.substring(hashIndex2 + 2);\n } else if (hashIndex1 > -1) {\n return hashString.substring(hashIndex1 + 1);\n }\n return Constants.EMPTY_STRING;\n }\n\n /**\n * Parses query string from given string. Returns empty string if no query symbol is found.\n * @param queryString\n */\n static parseQueryString(queryString: string): string {\n const queryIndex1 = queryString.indexOf(\"?\");\n const queryIndex2 = queryString.indexOf(\"/?\");\n if (queryIndex2 > -1) {\n return queryString.substring(queryIndex2 + 2);\n } else if (queryIndex1 > -1) {\n return queryString.substring(queryIndex1 + 1);\n }\n return Constants.EMPTY_STRING;\n }\n\n static constructAuthorityUriFromObject(urlObject: IUri): UrlString {\n return new UrlString(urlObject.Protocol + \"//\" + urlObject.HostNameAndPort + \"/\" + urlObject.PathSegments.join(\"/\"));\n }\n\n /**\n * Returns URL hash as server auth code response object.\n */\n static getDeserializedHash(hash: string): ServerAuthorizationCodeResponse {\n // Check if given hash is empty\n if (StringUtils.isEmpty(hash)) {\n return {};\n }\n // Strip the # symbol if present\n const parsedHash = UrlString.parseHash(hash);\n // If # symbol was not present, above will return empty string, so give original hash value\n const deserializedHash: ServerAuthorizationCodeResponse = StringUtils.queryStringToObject<ServerAuthorizationCodeResponse>(StringUtils.isEmpty(parsedHash) ? hash : parsedHash);\n // Check if deserialization didn't work\n if (!deserializedHash) {\n throw ClientAuthError.createHashNotDeserializedError(JSON.stringify(deserializedHash));\n }\n return deserializedHash;\n }\n\n /**\n * Returns URL query string as server auth code response object.\n */\n static getDeserializedQueryString(query: string): ServerAuthorizationCodeResponse {\n // Check if given query is empty\n if (StringUtils.isEmpty(query)) {\n return {};\n }\n // Strip the ? symbol if present\n const parsedQueryString = UrlString.parseQueryString(query);\n // If ? symbol was not present, above will return empty string, so give original query value\n const deserializedQueryString: ServerAuthorizationCodeResponse = StringUtils.queryStringToObject<ServerAuthorizationCodeResponse>(StringUtils.isEmpty(parsedQueryString) ? query : parsedQueryString);\n // Check if deserialization didn't work\n if (!deserializedQueryString) {\n throw ClientAuthError.createHashNotDeserializedError(JSON.stringify(deserializedQueryString));\n }\n return deserializedQueryString;\n }\n\n /**\n * Check if the hash of the URL string contains known properties\n */\n static hashContainsKnownProperties(hash: string): boolean {\n if (StringUtils.isEmpty(hash) || hash.indexOf(\"=\") < 0) {\n // Hash doesn't contain key/value pairs\n return false;\n }\n\n const parameters: ServerAuthorizationCodeResponse = UrlString.getDeserializedHash(hash);\n return !!(\n parameters.code ||\n parameters.error_description ||\n parameters.error ||\n parameters.state\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v9.1.0 2023-01-18 */
1
+ /*! @azure/msal-common v10.0.0 2023-02-06 */
2
2
  'use strict';
3
3
  import { __spreadArrays } from '../_virtual/_tslib.js';
4
4