@azure/msal-common 16.1.0 → 16.2.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 (170) hide show
  1. package/dist/account/AccountInfo.mjs +1 -1
  2. package/dist/account/AuthToken.mjs +1 -1
  3. package/dist/account/CcsCredential.mjs +1 -1
  4. package/dist/account/ClientInfo.mjs +1 -1
  5. package/dist/account/TokenClaims.mjs +1 -1
  6. package/dist/authority/Authority.mjs +1 -1
  7. package/dist/authority/AuthorityFactory.mjs +1 -1
  8. package/dist/authority/AuthorityMetadata.mjs +1 -1
  9. package/dist/authority/AuthorityOptions.mjs +1 -1
  10. package/dist/authority/AuthorityType.mjs +1 -1
  11. package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +1 -1
  12. package/dist/authority/CloudInstanceDiscoveryResponse.mjs +1 -1
  13. package/dist/authority/OpenIdConfigResponse.mjs +1 -1
  14. package/dist/authority/ProtocolMode.mjs +1 -1
  15. package/dist/authority/RegionDiscovery.mjs +1 -1
  16. package/dist/cache/CacheManager.mjs +1 -1
  17. package/dist/cache/persistence/TokenCacheContext.mjs +1 -1
  18. package/dist/cache/utils/AccountEntityUtils.mjs +1 -1
  19. package/dist/cache/utils/CacheHelpers.mjs +1 -1
  20. package/dist/client/AuthorizationCodeClient.mjs +1 -1
  21. package/dist/client/RefreshTokenClient.mjs +1 -1
  22. package/dist/client/SilentFlowClient.mjs +1 -1
  23. package/dist/config/ClientConfiguration.mjs +1 -1
  24. package/dist/constants/AADServerParamKeys.mjs +1 -1
  25. package/dist/crypto/ICrypto.mjs +1 -1
  26. package/dist/crypto/JoseHeader.mjs +1 -1
  27. package/dist/crypto/PopTokenGenerator.mjs +1 -1
  28. package/dist/error/AuthError.mjs +1 -1
  29. package/dist/error/AuthErrorCodes.mjs +1 -1
  30. package/dist/error/CacheError.mjs +1 -1
  31. package/dist/error/CacheErrorCodes.mjs +1 -1
  32. package/dist/error/ClientAuthError.mjs +1 -1
  33. package/dist/error/ClientAuthErrorCodes.mjs +1 -1
  34. package/dist/error/ClientConfigurationError.mjs +1 -1
  35. package/dist/error/ClientConfigurationErrorCodes.mjs +1 -1
  36. package/dist/error/InteractionRequiredAuthError.mjs +1 -1
  37. package/dist/error/InteractionRequiredAuthErrorCodes.mjs +1 -1
  38. package/dist/error/JoseHeaderError.mjs +1 -1
  39. package/dist/error/JoseHeaderErrorCodes.mjs +1 -1
  40. package/dist/error/NetworkError.mjs +1 -1
  41. package/dist/error/PlatformBrokerError.mjs +1 -1
  42. package/dist/error/ServerError.mjs +1 -1
  43. package/dist/index-node.mjs +1 -1
  44. package/dist/index.mjs +1 -1
  45. package/dist/logger/Logger.mjs +1 -1
  46. package/dist/network/INetworkModule.mjs +1 -1
  47. package/dist/network/RequestThumbprint.mjs +1 -1
  48. package/dist/network/ThrottlingUtils.mjs +1 -1
  49. package/dist/packageMetadata.d.ts +1 -1
  50. package/dist/packageMetadata.mjs +2 -2
  51. package/dist/protocol/Authorize.mjs +1 -1
  52. package/dist/protocol/Token.mjs +1 -1
  53. package/dist/request/AuthenticationHeaderParser.mjs +1 -1
  54. package/dist/request/RequestParameterBuilder.mjs +1 -1
  55. package/dist/request/ScopeSet.mjs +1 -1
  56. package/dist/response/ResponseHandler.mjs +1 -1
  57. package/dist/telemetry/performance/PerformanceClient.d.ts.map +1 -1
  58. package/dist/telemetry/performance/PerformanceClient.mjs +59 -12
  59. package/dist/telemetry/performance/PerformanceClient.mjs.map +1 -1
  60. package/dist/telemetry/performance/PerformanceEvent.d.ts +93 -0
  61. package/dist/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
  62. package/dist/telemetry/performance/PerformanceEvent.mjs +8 -2
  63. package/dist/telemetry/performance/PerformanceEvent.mjs.map +1 -1
  64. package/dist/telemetry/performance/PerformanceEvents.mjs +1 -1
  65. package/dist/telemetry/performance/StubPerformanceClient.mjs +1 -1
  66. package/dist/telemetry/server/ServerTelemetryManager.mjs +1 -1
  67. package/dist/url/UrlString.mjs +1 -1
  68. package/dist/utils/ClientAssertionUtils.mjs +1 -1
  69. package/dist/utils/Constants.mjs +1 -1
  70. package/dist/utils/FunctionWrappers.d.ts.map +1 -1
  71. package/dist/utils/FunctionWrappers.mjs +3 -5
  72. package/dist/utils/FunctionWrappers.mjs.map +1 -1
  73. package/dist/utils/ProtocolUtils.mjs +1 -1
  74. package/dist/utils/StringUtils.mjs +1 -1
  75. package/dist/utils/TimeUtils.mjs +1 -1
  76. package/dist/utils/UrlUtils.mjs +1 -1
  77. package/dist-browser/account/AccountInfo.mjs +1 -1
  78. package/dist-browser/account/AuthToken.mjs +1 -1
  79. package/dist-browser/account/CcsCredential.mjs +1 -1
  80. package/dist-browser/account/ClientInfo.mjs +1 -1
  81. package/dist-browser/account/TokenClaims.mjs +1 -1
  82. package/dist-browser/authority/Authority.mjs +1 -1
  83. package/dist-browser/authority/AuthorityFactory.mjs +1 -1
  84. package/dist-browser/authority/AuthorityMetadata.mjs +1 -1
  85. package/dist-browser/authority/AuthorityOptions.mjs +1 -1
  86. package/dist-browser/authority/AuthorityType.mjs +1 -1
  87. package/dist-browser/authority/CloudInstanceDiscoveryErrorResponse.mjs +1 -1
  88. package/dist-browser/authority/CloudInstanceDiscoveryResponse.mjs +1 -1
  89. package/dist-browser/authority/OpenIdConfigResponse.mjs +1 -1
  90. package/dist-browser/authority/ProtocolMode.mjs +1 -1
  91. package/dist-browser/authority/RegionDiscovery.mjs +1 -1
  92. package/dist-browser/cache/CacheManager.mjs +1 -1
  93. package/dist-browser/cache/persistence/TokenCacheContext.mjs +1 -1
  94. package/dist-browser/cache/utils/AccountEntityUtils.mjs +1 -1
  95. package/dist-browser/cache/utils/CacheHelpers.mjs +1 -1
  96. package/dist-browser/client/AuthorizationCodeClient.mjs +1 -1
  97. package/dist-browser/client/RefreshTokenClient.mjs +1 -1
  98. package/dist-browser/client/SilentFlowClient.mjs +1 -1
  99. package/dist-browser/config/ClientConfiguration.mjs +1 -1
  100. package/dist-browser/constants/AADServerParamKeys.mjs +1 -1
  101. package/dist-browser/crypto/ICrypto.mjs +1 -1
  102. package/dist-browser/crypto/JoseHeader.mjs +1 -1
  103. package/dist-browser/crypto/PopTokenGenerator.mjs +1 -1
  104. package/dist-browser/error/AuthError.mjs +1 -1
  105. package/dist-browser/error/AuthErrorCodes.mjs +1 -1
  106. package/dist-browser/error/CacheError.mjs +1 -1
  107. package/dist-browser/error/CacheErrorCodes.mjs +1 -1
  108. package/dist-browser/error/ClientAuthError.mjs +1 -1
  109. package/dist-browser/error/ClientAuthErrorCodes.mjs +1 -1
  110. package/dist-browser/error/ClientConfigurationError.mjs +1 -1
  111. package/dist-browser/error/ClientConfigurationErrorCodes.mjs +1 -1
  112. package/dist-browser/error/InteractionRequiredAuthError.mjs +1 -1
  113. package/dist-browser/error/InteractionRequiredAuthErrorCodes.mjs +1 -1
  114. package/dist-browser/error/JoseHeaderError.mjs +1 -1
  115. package/dist-browser/error/JoseHeaderErrorCodes.mjs +1 -1
  116. package/dist-browser/error/NetworkError.mjs +1 -1
  117. package/dist-browser/error/PlatformBrokerError.mjs +1 -1
  118. package/dist-browser/error/ServerError.mjs +1 -1
  119. package/dist-browser/index-browser.mjs +1 -1
  120. package/dist-browser/index.mjs +1 -1
  121. package/dist-browser/log-strings-mapping.json +2 -2
  122. package/dist-browser/logger/Logger.mjs +1 -1
  123. package/dist-browser/network/INetworkModule.mjs +1 -1
  124. package/dist-browser/network/RequestThumbprint.mjs +1 -1
  125. package/dist-browser/network/ThrottlingUtils.mjs +1 -1
  126. package/dist-browser/packageMetadata.d.ts +1 -1
  127. package/dist-browser/packageMetadata.mjs +2 -2
  128. package/dist-browser/protocol/Authorize.mjs +1 -1
  129. package/dist-browser/protocol/Token.mjs +1 -1
  130. package/dist-browser/request/AuthenticationHeaderParser.mjs +1 -1
  131. package/dist-browser/request/RequestParameterBuilder.mjs +1 -1
  132. package/dist-browser/request/ScopeSet.mjs +1 -1
  133. package/dist-browser/response/ResponseHandler.mjs +1 -1
  134. package/dist-browser/telemetry/performance/PerformanceClient.d.ts.map +1 -1
  135. package/dist-browser/telemetry/performance/PerformanceClient.mjs +59 -12
  136. package/dist-browser/telemetry/performance/PerformanceClient.mjs.map +1 -1
  137. package/dist-browser/telemetry/performance/PerformanceEvent.d.ts +93 -0
  138. package/dist-browser/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
  139. package/dist-browser/telemetry/performance/PerformanceEvent.mjs +8 -2
  140. package/dist-browser/telemetry/performance/PerformanceEvent.mjs.map +1 -1
  141. package/dist-browser/telemetry/performance/PerformanceEvents.mjs +1 -1
  142. package/dist-browser/telemetry/performance/StubPerformanceClient.mjs +1 -1
  143. package/dist-browser/telemetry/server/ServerTelemetryManager.mjs +1 -1
  144. package/dist-browser/url/UrlString.mjs +1 -1
  145. package/dist-browser/utils/ClientAssertionUtils.mjs +1 -1
  146. package/dist-browser/utils/Constants.mjs +1 -1
  147. package/dist-browser/utils/FunctionWrappers.d.ts.map +1 -1
  148. package/dist-browser/utils/FunctionWrappers.mjs +3 -5
  149. package/dist-browser/utils/FunctionWrappers.mjs.map +1 -1
  150. package/dist-browser/utils/ProtocolUtils.mjs +1 -1
  151. package/dist-browser/utils/StringUtils.mjs +1 -1
  152. package/dist-browser/utils/TimeUtils.mjs +1 -1
  153. package/dist-browser/utils/UrlUtils.mjs +1 -1
  154. package/lib/index-browser.cjs +59 -12
  155. package/lib/index-browser.cjs.map +1 -1
  156. package/lib/{index-node-C4hhfREr.js → index-node-DF7nODCX.js} +12 -7
  157. package/lib/index-node-DF7nODCX.js.map +1 -0
  158. package/lib/index-node.cjs +2 -2
  159. package/lib/index.cjs +2 -2
  160. package/lib/types/packageMetadata.d.ts +1 -1
  161. package/lib/types/telemetry/performance/PerformanceClient.d.ts.map +1 -1
  162. package/lib/types/telemetry/performance/PerformanceEvent.d.ts +93 -0
  163. package/lib/types/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
  164. package/lib/types/utils/FunctionWrappers.d.ts.map +1 -1
  165. package/package.json +1 -1
  166. package/src/packageMetadata.ts +1 -1
  167. package/src/telemetry/performance/PerformanceClient.ts +62 -10
  168. package/src/telemetry/performance/PerformanceEvent.ts +110 -0
  169. package/src/utils/FunctionWrappers.ts +8 -4
  170. package/lib/index-node-C4hhfREr.js.map +0 -1
@@ -261,6 +261,7 @@ export type PerformanceEvent = {
261
261
  ntwkRtExpiresOnSeconds?: number;
262
262
  extRtExpiresOnSeconds?: number;
263
263
  rtOffsetSeconds?: number;
264
+ sidFromClaim?: boolean;
264
265
  sidFromClaims?: boolean;
265
266
  sidFromRequest?: boolean;
266
267
  loginHintFromRequest?: boolean;
@@ -274,6 +275,26 @@ export type PerformanceEvent = {
274
275
  navigateCallbackResult?: boolean;
275
276
  dataBoundary?: DataBoundary;
276
277
  logs?: string;
278
+ /**
279
+ * Source of cloud discovery metadata (config, cache, network, hardcoded_values)
280
+ */
281
+ cloudDiscoverySource?: string;
282
+ /**
283
+ * Source of authority endpoint metadata (config, cache, network, hardcoded_values)
284
+ */
285
+ authorityEndpointSource?: string;
286
+ /**
287
+ * Number of accounts removed during cache cleanup
288
+ */
289
+ accountsRemoved?: number;
290
+ /**
291
+ * Number of access tokens removed during cache cleanup
292
+ */
293
+ accessTokensRemoved?: number;
294
+ /**
295
+ * Number of failures when removing token binding keys
296
+ */
297
+ removeTokenBindingKeyFailure?: number;
277
298
  /**
278
299
  * Reason for silent refresh fallback to iframe
279
300
  * Format: errorCode or errorCode|subError
@@ -281,6 +302,72 @@ export type PerformanceEvent = {
281
302
  * @type {?string}
282
303
  */
283
304
  silentRefreshReason?: string;
305
+ /**
306
+ * Whether this request was deduped with another in-flight request
307
+ */
308
+ deduped?: boolean;
309
+ /**
310
+ * Whether the user has "Keep Me Signed In" enabled
311
+ */
312
+ kmsi?: boolean;
313
+ /**
314
+ * Whether this event was executed in the background
315
+ */
316
+ isBackground?: boolean;
317
+ /**
318
+ * Cache migration telemetry — pre-migration counts
319
+ */
320
+ preMigrateAcntCount?: number;
321
+ preMigrateATCount?: number;
322
+ preMigrateITCount?: number;
323
+ preMigrateRTCount?: number;
324
+ /**
325
+ * Cache migration telemetry — post-migration counts
326
+ */
327
+ postMigrateAcntCount?: number;
328
+ postMigrateATCount?: number;
329
+ postMigrateITCount?: number;
330
+ postMigrateRTCount?: number;
331
+ /**
332
+ * Cache migration telemetry — old schema counts
333
+ */
334
+ oldAcntCount?: number;
335
+ oldATCount?: number;
336
+ oldITCount?: number;
337
+ oldRTCount?: number;
338
+ /**
339
+ * Cache migration telemetry — skipped and migrated counts
340
+ */
341
+ skipATMigrateCount?: number;
342
+ skipITMigrateCount?: number;
343
+ skipRTMigrateCount?: number;
344
+ migratedATCount?: number;
345
+ migratedITCount?: number;
346
+ migratedRTCount?: number;
347
+ /**
348
+ * Cache telemetry — expired, invalid, and removed counts
349
+ */
350
+ expiredCacheRemovedCount?: number;
351
+ expiredAcntRemovedCount?: number;
352
+ invalidCacheCount?: number;
353
+ /**
354
+ * Encrypted cache telemetry
355
+ */
356
+ unencryptedCacheCount?: number;
357
+ encryptedCacheCount?: number;
358
+ encryptedCacheExpiredCount?: number;
359
+ encryptedCacheCorruptionCount?: number;
360
+ /**
361
+ * Container for dynamically-named telemetry fields.
362
+ * Fields whose names are constructed at runtime (e.g., "[eventName]CallCount")
363
+ * should be stored here instead of being set as top-level properties.
364
+ * Use the "ext." prefix when calling addFields/incrementFields to automatically
365
+ * route fields to this sub-object.
366
+ *
367
+ * @remarks
368
+ * This property is typed as `Record<string, string | number>`.
369
+ */
370
+ ext?: Record<string, string | number>;
284
371
  };
285
372
  export type PerformanceEventContext = {
286
373
  dur?: number;
@@ -292,5 +379,11 @@ export type PerformanceEventStackedContext = PerformanceEventContext & {
292
379
  name?: string;
293
380
  childErr?: string;
294
381
  };
382
+ /**
383
+ * Prefix used to mark telemetry field names as dynamic.
384
+ * Fields with this prefix in addFields/incrementFields calls will be routed
385
+ * to the PerformanceEvent.ext sub-object.
386
+ */
387
+ export declare const EXT_FIELD_PREFIX = "ext.";
295
388
  export declare const IntFields: ReadonlySet<string>;
296
389
  //# 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 +1 @@
1
- {"version":3,"file":"FunctionWrappers.d.ts","sourceRoot":"","sources":["../../../src/utils/FunctionWrappers.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAEpF;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,MAAM,+DAEJ,MAAM,UACT,MAAM,mBACG,kBAAkB,iBACpB,MAAM,sBAoCxB,CAAC;AAEF;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,WAAW,wEAET,MAAM,UACT,MAAM,mBACG,kBAAkB,iBACpB,MAAM,+BA2CxB,CAAC"}
1
+ {"version":3,"file":"FunctionWrappers.d.ts","sourceRoot":"","sources":["../../../src/utils/FunctionWrappers.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAEpF;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,MAAM,+DAEJ,MAAM,UACT,MAAM,mBACG,kBAAkB,iBACpB,MAAM,sBAsCxB,CAAC;AAEF;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,WAAW,wEAET,MAAM,UACT,MAAM,mBACG,kBAAkB,iBACpB,MAAM,+BA6CxB,CAAC"}
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "type": "git",
11
11
  "url": "https://github.com/AzureAD/microsoft-authentication-library-for-js.git"
12
12
  },
13
- "version": "16.1.0",
13
+ "version": "16.2.0",
14
14
  "description": "Microsoft Authentication Library for js",
15
15
  "keywords": [
16
16
  "implicit",
@@ -1,3 +1,3 @@
1
1
  /* eslint-disable header/header */
2
2
  export const name = "@azure/msal-common";
3
- export const version = "16.1.0";
3
+ export const version = "16.2.0";
@@ -11,6 +11,7 @@ import {
11
11
  PerformanceCallbackFunction,
12
12
  } from "./IPerformanceClient.js";
13
13
  import {
14
+ EXT_FIELD_PREFIX,
14
15
  IntFields,
15
16
  PerformanceEvent,
16
17
  PerformanceEventContext,
@@ -453,9 +454,15 @@ export abstract class PerformanceClient implements IPerformanceClient {
453
454
  addError(error, this.logger, rootEvent);
454
455
  }
455
456
 
456
- // Add sub-measurement attribute to root event.
457
+ // Add sub-measurement attribute to root event's ext field.
457
458
  if (!isRoot) {
458
- rootEvent[event.name + "DurationMs"] = Math.floor(event.durationMs);
459
+ rootEvent.ext = {
460
+ ...rootEvent.ext,
461
+ ...event.ext,
462
+ };
463
+ rootEvent.ext[event.name + "DurationMs"] = Math.floor(
464
+ event.durationMs
465
+ );
459
466
  return { ...rootEvent };
460
467
  }
461
468
 
@@ -521,10 +528,36 @@ export abstract class PerformanceClient implements IPerformanceClient {
521
528
  ): void {
522
529
  const event = this.eventsByCorrelationId.get(correlationId);
523
530
  if (event) {
524
- this.eventsByCorrelationId.set(correlationId, {
531
+ const staticFields: { [key: string]: {} | undefined } = {};
532
+ const dynamicFields: Record<string, string | number> = {};
533
+
534
+ for (const key in fields) {
535
+ if (key.startsWith(EXT_FIELD_PREFIX)) {
536
+ const dynamicKey = key.slice(EXT_FIELD_PREFIX.length);
537
+ const value = fields[key];
538
+ if (
539
+ typeof value === "string" ||
540
+ typeof value === "number"
541
+ ) {
542
+ dynamicFields[dynamicKey] = value;
543
+ }
544
+ } else {
545
+ staticFields[key] = fields[key];
546
+ }
547
+ }
548
+
549
+ const updatedEvent: PerformanceEvent = {
525
550
  ...event,
526
- ...fields,
527
- });
551
+ ...staticFields,
552
+ };
553
+ if (Object.keys(dynamicFields).length) {
554
+ updatedEvent.ext = {
555
+ ...updatedEvent.ext,
556
+ ...dynamicFields,
557
+ };
558
+ }
559
+
560
+ this.eventsByCorrelationId.set(correlationId, updatedEvent);
528
561
  } else {
529
562
  this.logger.trace(
530
563
  "PerformanceClient: Event not found for",
@@ -545,12 +578,29 @@ export abstract class PerformanceClient implements IPerformanceClient {
545
578
  const event = this.eventsByCorrelationId.get(correlationId);
546
579
  if (event) {
547
580
  for (const counter in fields) {
548
- if (!event.hasOwnProperty(counter)) {
549
- event[counter] = 0;
550
- } else if (isNaN(Number(event[counter]))) {
551
- return;
581
+ if (counter.startsWith(EXT_FIELD_PREFIX)) {
582
+ event.ext = event.ext || {};
583
+ // Route to ext sub-object
584
+ const dynamicKey = counter.slice(EXT_FIELD_PREFIX.length);
585
+ const currentValue = event.ext[dynamicKey];
586
+ if (currentValue === undefined) {
587
+ event.ext[dynamicKey] = 0;
588
+ } else if (isNaN(Number(currentValue))) {
589
+ return;
590
+ }
591
+ event.ext[dynamicKey] =
592
+ (Number(event.ext[dynamicKey]) || 0) +
593
+ (fields[counter] ?? 0);
594
+ } else {
595
+ /* eslint-disable custom-msal/no-dynamic-telemetry-fields -- internal dispatching of static fields by name */
596
+ if (!event.hasOwnProperty(counter)) {
597
+ event[counter] = 0;
598
+ } else if (isNaN(Number(event[counter]))) {
599
+ return;
600
+ }
601
+ event[counter] += fields[counter];
602
+ /* eslint-enable custom-msal/no-dynamic-telemetry-fields */
552
603
  }
553
- event[counter] += fields[counter];
554
604
  }
555
605
  } else {
556
606
  this.logger.trace(
@@ -674,9 +724,11 @@ export abstract class PerformanceClient implements IPerformanceClient {
674
724
  */
675
725
  private truncateIntegralFields(event: PerformanceEvent): void {
676
726
  this.intFields.forEach((key) => {
727
+ /* eslint-disable custom-msal/no-dynamic-telemetry-fields -- internal truncation of known integer fields */
677
728
  if (key in event && typeof event[key] === "number") {
678
729
  event[key] = Math.floor(event[key]);
679
730
  }
731
+ /* eslint-enable custom-msal/no-dynamic-telemetry-fields */
680
732
  });
681
733
  }
682
734
 
@@ -321,6 +321,8 @@ export type PerformanceEvent = {
321
321
  extRtExpiresOnSeconds?: number;
322
322
  rtOffsetSeconds?: number;
323
323
 
324
+ sidFromClaim?: boolean;
325
+ // Backward-compatible alias for sidFromClaim
324
326
  sidFromClaims?: boolean;
325
327
  sidFromRequest?: boolean;
326
328
  loginHintFromRequest?: boolean;
@@ -344,6 +346,31 @@ export type PerformanceEvent = {
344
346
  // Hashed logs in the format [millis1,hash1;millis2,hash2;...]
345
347
  logs?: string;
346
348
 
349
+ /**
350
+ * Source of cloud discovery metadata (config, cache, network, hardcoded_values)
351
+ */
352
+ cloudDiscoverySource?: string;
353
+
354
+ /**
355
+ * Source of authority endpoint metadata (config, cache, network, hardcoded_values)
356
+ */
357
+ authorityEndpointSource?: string;
358
+
359
+ /**
360
+ * Number of accounts removed during cache cleanup
361
+ */
362
+ accountsRemoved?: number;
363
+
364
+ /**
365
+ * Number of access tokens removed during cache cleanup
366
+ */
367
+ accessTokensRemoved?: number;
368
+
369
+ /**
370
+ * Number of failures when removing token binding keys
371
+ */
372
+ removeTokenBindingKeyFailure?: number;
373
+
347
374
  /**
348
375
  * Reason for silent refresh fallback to iframe
349
376
  * Format: errorCode or errorCode|subError
@@ -351,6 +378,82 @@ export type PerformanceEvent = {
351
378
  * @type {?string}
352
379
  */
353
380
  silentRefreshReason?: string;
381
+
382
+ /**
383
+ * Whether this request was deduped with another in-flight request
384
+ */
385
+ deduped?: boolean;
386
+
387
+ /**
388
+ * Whether the user has "Keep Me Signed In" enabled
389
+ */
390
+ kmsi?: boolean;
391
+
392
+ /**
393
+ * Whether this event was executed in the background
394
+ */
395
+ isBackground?: boolean;
396
+
397
+ /**
398
+ * Cache migration telemetry — pre-migration counts
399
+ */
400
+ preMigrateAcntCount?: number;
401
+ preMigrateATCount?: number;
402
+ preMigrateITCount?: number;
403
+ preMigrateRTCount?: number;
404
+
405
+ /**
406
+ * Cache migration telemetry — post-migration counts
407
+ */
408
+ postMigrateAcntCount?: number;
409
+ postMigrateATCount?: number;
410
+ postMigrateITCount?: number;
411
+ postMigrateRTCount?: number;
412
+
413
+ /**
414
+ * Cache migration telemetry — old schema counts
415
+ */
416
+ oldAcntCount?: number;
417
+ oldATCount?: number;
418
+ oldITCount?: number;
419
+ oldRTCount?: number;
420
+
421
+ /**
422
+ * Cache migration telemetry — skipped and migrated counts
423
+ */
424
+ skipATMigrateCount?: number;
425
+ skipITMigrateCount?: number;
426
+ skipRTMigrateCount?: number;
427
+ migratedATCount?: number;
428
+ migratedITCount?: number;
429
+ migratedRTCount?: number;
430
+
431
+ /**
432
+ * Cache telemetry — expired, invalid, and removed counts
433
+ */
434
+ expiredCacheRemovedCount?: number;
435
+ expiredAcntRemovedCount?: number;
436
+ invalidCacheCount?: number;
437
+
438
+ /**
439
+ * Encrypted cache telemetry
440
+ */
441
+ unencryptedCacheCount?: number;
442
+ encryptedCacheCount?: number;
443
+ encryptedCacheExpiredCount?: number;
444
+ encryptedCacheCorruptionCount?: number;
445
+
446
+ /**
447
+ * Container for dynamically-named telemetry fields.
448
+ * Fields whose names are constructed at runtime (e.g., "[eventName]CallCount")
449
+ * should be stored here instead of being set as top-level properties.
450
+ * Use the "ext." prefix when calling addFields/incrementFields to automatically
451
+ * route fields to this sub-object.
452
+ *
453
+ * @remarks
454
+ * This property is typed as `Record<string, string | number>`.
455
+ */
456
+ ext?: Record<string, string | number>;
354
457
  };
355
458
 
356
459
  export type PerformanceEventContext = {
@@ -365,6 +468,13 @@ export type PerformanceEventStackedContext = PerformanceEventContext & {
365
468
  childErr?: string;
366
469
  };
367
470
 
471
+ /**
472
+ * Prefix used to mark telemetry field names as dynamic.
473
+ * Fields with this prefix in addFields/incrementFields calls will be routed
474
+ * to the PerformanceEvent.ext sub-object.
475
+ */
476
+ export const EXT_FIELD_PREFIX = "ext.";
477
+
368
478
  export const IntFields: ReadonlySet<string> = new Set([
369
479
  "accessTokenSize",
370
480
  "durationMs",
@@ -33,8 +33,10 @@ export const invoke = <T extends Array<any>, U>(
33
33
  );
34
34
  if (correlationId) {
35
35
  // Track number of times this API is called in a single request
36
- const eventCount = eventName + "CallCount";
37
- telemetryClient.incrementFields({ [eventCount]: 1 }, correlationId);
36
+ telemetryClient.incrementFields(
37
+ { [`ext.${eventName}CallCount`]: 1 },
38
+ correlationId
39
+ );
38
40
  }
39
41
  try {
40
42
  const result = callback(...args);
@@ -89,8 +91,10 @@ export const invokeAsync = <T extends Array<any>, U>(
89
91
  );
90
92
  if (correlationId) {
91
93
  // Track number of times this API is called in a single request
92
- const eventCount = eventName + "CallCount";
93
- telemetryClient.incrementFields({ [eventCount]: 1 }, correlationId);
94
+ telemetryClient.incrementFields(
95
+ { [`ext.${eventName}CallCount`]: 1 },
96
+ correlationId
97
+ );
94
98
  }
95
99
  return callback(...args)
96
100
  .then((response) => {