@azure/msal-common 16.1.0 → 16.3.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.
- package/dist/account/AccountInfo.mjs +1 -1
- package/dist/account/AuthToken.mjs +1 -1
- package/dist/account/CcsCredential.mjs +1 -1
- package/dist/account/ClientInfo.mjs +1 -1
- package/dist/account/TokenClaims.mjs +1 -1
- package/dist/authority/Authority.mjs +1 -1
- package/dist/authority/AuthorityFactory.mjs +1 -1
- package/dist/authority/AuthorityMetadata.mjs +1 -1
- package/dist/authority/AuthorityOptions.mjs +1 -1
- package/dist/authority/AuthorityType.mjs +1 -1
- package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +1 -1
- package/dist/authority/CloudInstanceDiscoveryResponse.mjs +1 -1
- package/dist/authority/OpenIdConfigResponse.mjs +1 -1
- package/dist/authority/ProtocolMode.mjs +1 -1
- package/dist/authority/RegionDiscovery.mjs +1 -1
- package/dist/cache/CacheManager.mjs +1 -1
- package/dist/cache/entities/AccessTokenEntity.d.ts +2 -0
- package/dist/cache/entities/AccessTokenEntity.d.ts.map +1 -1
- package/dist/cache/persistence/TokenCacheContext.mjs +1 -1
- package/dist/cache/utils/AccountEntityUtils.mjs +1 -1
- package/dist/cache/utils/CacheHelpers.mjs +1 -1
- package/dist/client/AuthorizationCodeClient.d.ts.map +1 -1
- package/dist/client/AuthorizationCodeClient.mjs +3 -2
- package/dist/client/AuthorizationCodeClient.mjs.map +1 -1
- package/dist/client/RefreshTokenClient.mjs +1 -1
- package/dist/client/SilentFlowClient.d.ts.map +1 -1
- package/dist/client/SilentFlowClient.mjs +8 -1
- package/dist/client/SilentFlowClient.mjs.map +1 -1
- package/dist/config/ClientConfiguration.d.ts +2 -0
- package/dist/config/ClientConfiguration.d.ts.map +1 -1
- package/dist/config/ClientConfiguration.mjs +2 -1
- package/dist/config/ClientConfiguration.mjs.map +1 -1
- package/dist/constants/AADServerParamKeys.d.ts +1 -0
- package/dist/constants/AADServerParamKeys.d.ts.map +1 -1
- package/dist/constants/AADServerParamKeys.mjs +4 -3
- package/dist/constants/AADServerParamKeys.mjs.map +1 -1
- package/dist/crypto/ICrypto.mjs +1 -1
- package/dist/crypto/JoseHeader.mjs +1 -1
- package/dist/crypto/PopTokenGenerator.mjs +1 -1
- package/dist/error/AuthError.mjs +1 -1
- package/dist/error/AuthErrorCodes.mjs +1 -1
- package/dist/error/CacheError.mjs +1 -1
- package/dist/error/CacheErrorCodes.mjs +1 -1
- package/dist/error/ClientAuthError.mjs +1 -1
- package/dist/error/ClientAuthErrorCodes.d.ts +2 -0
- package/dist/error/ClientAuthErrorCodes.d.ts.map +1 -1
- package/dist/error/ClientAuthErrorCodes.mjs +5 -3
- package/dist/error/ClientAuthErrorCodes.mjs.map +1 -1
- package/dist/error/ClientConfigurationError.mjs +1 -1
- package/dist/error/ClientConfigurationErrorCodes.mjs +1 -1
- package/dist/error/InteractionRequiredAuthError.mjs +1 -1
- package/dist/error/InteractionRequiredAuthErrorCodes.mjs +1 -1
- package/dist/error/JoseHeaderError.mjs +1 -1
- package/dist/error/JoseHeaderErrorCodes.mjs +1 -1
- package/dist/error/NetworkError.mjs +1 -1
- package/dist/error/PlatformBrokerError.mjs +1 -1
- package/dist/error/ServerError.mjs +1 -1
- package/dist/exports-common.d.ts +1 -1
- package/dist/exports-common.d.ts.map +1 -1
- package/dist/index-node.mjs +2 -1
- package/dist/index-node.mjs.map +1 -1
- package/dist/index.mjs +2 -1
- package/dist/index.mjs.map +1 -1
- package/dist/logger/Logger.mjs +1 -1
- package/dist/network/INetworkModule.mjs +1 -1
- package/dist/network/RequestThumbprint.mjs +1 -1
- package/dist/network/ThrottlingUtils.mjs +1 -1
- package/dist/packageMetadata.d.ts +1 -1
- package/dist/packageMetadata.mjs +2 -2
- package/dist/protocol/Authorize.d.ts.map +1 -1
- package/dist/protocol/Authorize.mjs +3 -2
- package/dist/protocol/Authorize.mjs.map +1 -1
- package/dist/protocol/Token.mjs +1 -1
- package/dist/request/AuthenticationHeaderParser.mjs +1 -1
- package/dist/request/BaseAuthRequest.d.ts +12 -0
- package/dist/request/BaseAuthRequest.d.ts.map +1 -1
- package/dist/request/BaseAuthRequest.mjs +38 -0
- package/dist/request/BaseAuthRequest.mjs.map +1 -0
- package/dist/request/NativeRequest.d.ts +1 -0
- package/dist/request/NativeRequest.d.ts.map +1 -1
- package/dist/request/RequestParameterBuilder.d.ts +1 -0
- package/dist/request/RequestParameterBuilder.d.ts.map +1 -1
- package/dist/request/RequestParameterBuilder.mjs +8 -3
- package/dist/request/RequestParameterBuilder.mjs.map +1 -1
- package/dist/request/ScopeSet.mjs +1 -1
- package/dist/response/AuthenticationResult.d.ts +1 -0
- package/dist/response/AuthenticationResult.d.ts.map +1 -1
- package/dist/response/ResponseHandler.d.ts.map +1 -1
- package/dist/response/ResponseHandler.mjs +6 -1
- package/dist/response/ResponseHandler.mjs.map +1 -1
- package/dist/telemetry/performance/PerformanceClient.d.ts.map +1 -1
- package/dist/telemetry/performance/PerformanceClient.mjs +59 -12
- package/dist/telemetry/performance/PerformanceClient.mjs.map +1 -1
- package/dist/telemetry/performance/PerformanceEvent.d.ts +106 -0
- package/dist/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
- package/dist/telemetry/performance/PerformanceEvent.mjs +11 -2
- package/dist/telemetry/performance/PerformanceEvent.mjs.map +1 -1
- package/dist/telemetry/performance/PerformanceEvents.mjs +1 -1
- package/dist/telemetry/performance/StubPerformanceClient.mjs +1 -1
- package/dist/telemetry/server/ServerTelemetryManager.mjs +1 -1
- package/dist/url/UrlString.mjs +1 -1
- package/dist/utils/ClientAssertionUtils.mjs +1 -1
- package/dist/utils/Constants.mjs +1 -1
- package/dist/utils/FunctionWrappers.d.ts.map +1 -1
- package/dist/utils/FunctionWrappers.mjs +3 -5
- package/dist/utils/FunctionWrappers.mjs.map +1 -1
- package/dist/utils/ProtocolUtils.mjs +1 -1
- package/dist/utils/StringUtils.mjs +1 -1
- package/dist/utils/TimeUtils.mjs +1 -1
- package/dist/utils/UrlUtils.mjs +1 -1
- package/dist-browser/account/AccountInfo.mjs +1 -1
- package/dist-browser/account/AuthToken.mjs +1 -1
- package/dist-browser/account/CcsCredential.mjs +1 -1
- package/dist-browser/account/ClientInfo.mjs +1 -1
- package/dist-browser/account/TokenClaims.mjs +1 -1
- package/dist-browser/authority/Authority.mjs +1 -1
- package/dist-browser/authority/AuthorityFactory.mjs +1 -1
- package/dist-browser/authority/AuthorityMetadata.mjs +1 -1
- package/dist-browser/authority/AuthorityOptions.mjs +1 -1
- package/dist-browser/authority/AuthorityType.mjs +1 -1
- package/dist-browser/authority/CloudInstanceDiscoveryErrorResponse.mjs +1 -1
- package/dist-browser/authority/CloudInstanceDiscoveryResponse.mjs +1 -1
- package/dist-browser/authority/OpenIdConfigResponse.mjs +1 -1
- package/dist-browser/authority/ProtocolMode.mjs +1 -1
- package/dist-browser/authority/RegionDiscovery.mjs +1 -1
- package/dist-browser/cache/CacheManager.mjs +1 -1
- package/dist-browser/cache/entities/AccessTokenEntity.d.ts +2 -0
- package/dist-browser/cache/entities/AccessTokenEntity.d.ts.map +1 -1
- package/dist-browser/cache/persistence/TokenCacheContext.mjs +1 -1
- package/dist-browser/cache/utils/AccountEntityUtils.mjs +1 -1
- package/dist-browser/cache/utils/CacheHelpers.mjs +1 -1
- package/dist-browser/client/AuthorizationCodeClient.d.ts.map +1 -1
- package/dist-browser/client/AuthorizationCodeClient.mjs +3 -2
- package/dist-browser/client/AuthorizationCodeClient.mjs.map +1 -1
- package/dist-browser/client/RefreshTokenClient.mjs +1 -1
- package/dist-browser/client/SilentFlowClient.d.ts.map +1 -1
- package/dist-browser/client/SilentFlowClient.mjs +8 -1
- package/dist-browser/client/SilentFlowClient.mjs.map +1 -1
- package/dist-browser/config/ClientConfiguration.d.ts +2 -0
- package/dist-browser/config/ClientConfiguration.d.ts.map +1 -1
- package/dist-browser/config/ClientConfiguration.mjs +2 -1
- package/dist-browser/config/ClientConfiguration.mjs.map +1 -1
- package/dist-browser/constants/AADServerParamKeys.d.ts +1 -0
- package/dist-browser/constants/AADServerParamKeys.d.ts.map +1 -1
- package/dist-browser/constants/AADServerParamKeys.mjs +4 -3
- package/dist-browser/constants/AADServerParamKeys.mjs.map +1 -1
- package/dist-browser/crypto/ICrypto.mjs +1 -1
- package/dist-browser/crypto/JoseHeader.mjs +1 -1
- package/dist-browser/crypto/PopTokenGenerator.mjs +1 -1
- package/dist-browser/error/AuthError.mjs +1 -1
- package/dist-browser/error/AuthErrorCodes.mjs +1 -1
- package/dist-browser/error/CacheError.mjs +1 -1
- package/dist-browser/error/CacheErrorCodes.mjs +1 -1
- package/dist-browser/error/ClientAuthError.mjs +1 -1
- package/dist-browser/error/ClientAuthErrorCodes.d.ts +2 -0
- package/dist-browser/error/ClientAuthErrorCodes.d.ts.map +1 -1
- package/dist-browser/error/ClientAuthErrorCodes.mjs +5 -3
- package/dist-browser/error/ClientAuthErrorCodes.mjs.map +1 -1
- package/dist-browser/error/ClientConfigurationError.mjs +1 -1
- package/dist-browser/error/ClientConfigurationErrorCodes.mjs +1 -1
- package/dist-browser/error/InteractionRequiredAuthError.mjs +1 -1
- package/dist-browser/error/InteractionRequiredAuthErrorCodes.mjs +1 -1
- package/dist-browser/error/JoseHeaderError.mjs +1 -1
- package/dist-browser/error/JoseHeaderErrorCodes.mjs +1 -1
- package/dist-browser/error/NetworkError.mjs +1 -1
- package/dist-browser/error/PlatformBrokerError.mjs +1 -1
- package/dist-browser/error/ServerError.mjs +1 -1
- package/dist-browser/exports-common.d.ts +1 -1
- package/dist-browser/exports-common.d.ts.map +1 -1
- package/dist-browser/index-browser.mjs +2 -1
- package/dist-browser/index-browser.mjs.map +1 -1
- package/dist-browser/index.mjs +2 -1
- package/dist-browser/index.mjs.map +1 -1
- package/dist-browser/log-strings-mapping.json +2 -2
- package/dist-browser/logger/Logger.mjs +1 -1
- package/dist-browser/network/INetworkModule.mjs +1 -1
- package/dist-browser/network/RequestThumbprint.mjs +1 -1
- package/dist-browser/network/ThrottlingUtils.mjs +1 -1
- package/dist-browser/packageMetadata.d.ts +1 -1
- package/dist-browser/packageMetadata.mjs +2 -2
- package/dist-browser/protocol/Authorize.d.ts.map +1 -1
- package/dist-browser/protocol/Authorize.mjs +3 -2
- package/dist-browser/protocol/Authorize.mjs.map +1 -1
- package/dist-browser/protocol/Token.mjs +1 -1
- package/dist-browser/request/AuthenticationHeaderParser.mjs +1 -1
- package/dist-browser/request/BaseAuthRequest.d.ts +12 -0
- package/dist-browser/request/BaseAuthRequest.d.ts.map +1 -1
- package/dist-browser/request/BaseAuthRequest.mjs +38 -0
- package/dist-browser/request/BaseAuthRequest.mjs.map +1 -0
- package/dist-browser/request/NativeRequest.d.ts +1 -0
- package/dist-browser/request/NativeRequest.d.ts.map +1 -1
- package/dist-browser/request/RequestParameterBuilder.d.ts +1 -0
- package/dist-browser/request/RequestParameterBuilder.d.ts.map +1 -1
- package/dist-browser/request/RequestParameterBuilder.mjs +8 -3
- package/dist-browser/request/RequestParameterBuilder.mjs.map +1 -1
- package/dist-browser/request/ScopeSet.mjs +1 -1
- package/dist-browser/response/AuthenticationResult.d.ts +1 -0
- package/dist-browser/response/AuthenticationResult.d.ts.map +1 -1
- package/dist-browser/response/ResponseHandler.d.ts.map +1 -1
- package/dist-browser/response/ResponseHandler.mjs +6 -1
- package/dist-browser/response/ResponseHandler.mjs.map +1 -1
- package/dist-browser/telemetry/performance/PerformanceClient.d.ts.map +1 -1
- package/dist-browser/telemetry/performance/PerformanceClient.mjs +59 -12
- package/dist-browser/telemetry/performance/PerformanceClient.mjs.map +1 -1
- package/dist-browser/telemetry/performance/PerformanceEvent.d.ts +106 -0
- package/dist-browser/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
- package/dist-browser/telemetry/performance/PerformanceEvent.mjs +11 -2
- package/dist-browser/telemetry/performance/PerformanceEvent.mjs.map +1 -1
- package/dist-browser/telemetry/performance/PerformanceEvents.mjs +1 -1
- package/dist-browser/telemetry/performance/StubPerformanceClient.mjs +1 -1
- package/dist-browser/telemetry/server/ServerTelemetryManager.mjs +1 -1
- package/dist-browser/url/UrlString.mjs +1 -1
- package/dist-browser/utils/ClientAssertionUtils.mjs +1 -1
- package/dist-browser/utils/Constants.mjs +1 -1
- package/dist-browser/utils/FunctionWrappers.d.ts.map +1 -1
- package/dist-browser/utils/FunctionWrappers.mjs +3 -5
- package/dist-browser/utils/FunctionWrappers.mjs.map +1 -1
- package/dist-browser/utils/ProtocolUtils.mjs +1 -1
- package/dist-browser/utils/StringUtils.mjs +1 -1
- package/dist-browser/utils/TimeUtils.mjs +1 -1
- package/dist-browser/utils/UrlUtils.mjs +1 -1
- package/lib/index-browser.cjs +60 -12
- package/lib/index-browser.cjs.map +1 -1
- package/lib/{index-node-C4hhfREr.js → index-node-BUrdOQX5.js} +76 -9
- package/lib/index-node-BUrdOQX5.js.map +1 -0
- package/lib/index-node.cjs +3 -2
- package/lib/index-node.cjs.map +1 -1
- package/lib/index.cjs +3 -2
- package/lib/index.cjs.map +1 -1
- package/lib/types/cache/entities/AccessTokenEntity.d.ts +2 -0
- package/lib/types/cache/entities/AccessTokenEntity.d.ts.map +1 -1
- package/lib/types/client/AuthorizationCodeClient.d.ts.map +1 -1
- package/lib/types/client/SilentFlowClient.d.ts.map +1 -1
- package/lib/types/config/ClientConfiguration.d.ts +2 -0
- package/lib/types/config/ClientConfiguration.d.ts.map +1 -1
- package/lib/types/constants/AADServerParamKeys.d.ts +1 -0
- package/lib/types/constants/AADServerParamKeys.d.ts.map +1 -1
- package/lib/types/error/ClientAuthErrorCodes.d.ts +2 -0
- package/lib/types/error/ClientAuthErrorCodes.d.ts.map +1 -1
- package/lib/types/exports-common.d.ts +1 -1
- package/lib/types/exports-common.d.ts.map +1 -1
- package/lib/types/packageMetadata.d.ts +1 -1
- package/lib/types/protocol/Authorize.d.ts.map +1 -1
- package/lib/types/request/BaseAuthRequest.d.ts +12 -0
- package/lib/types/request/BaseAuthRequest.d.ts.map +1 -1
- package/lib/types/request/NativeRequest.d.ts +1 -0
- package/lib/types/request/NativeRequest.d.ts.map +1 -1
- package/lib/types/request/RequestParameterBuilder.d.ts +1 -0
- package/lib/types/request/RequestParameterBuilder.d.ts.map +1 -1
- package/lib/types/response/AuthenticationResult.d.ts +1 -0
- package/lib/types/response/AuthenticationResult.d.ts.map +1 -1
- package/lib/types/response/ResponseHandler.d.ts.map +1 -1
- package/lib/types/telemetry/performance/PerformanceClient.d.ts.map +1 -1
- package/lib/types/telemetry/performance/PerformanceEvent.d.ts +106 -0
- package/lib/types/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
- package/lib/types/utils/FunctionWrappers.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/cache/entities/AccessTokenEntity.ts +2 -0
- package/src/client/AuthorizationCodeClient.ts +2 -0
- package/src/client/SilentFlowClient.ts +11 -0
- package/src/config/ClientConfiguration.ts +3 -0
- package/src/constants/AADServerParamKeys.ts +1 -0
- package/src/error/ClientAuthErrorCodes.ts +2 -0
- package/src/exports-common.ts +4 -1
- package/src/packageMetadata.ts +1 -1
- package/src/protocol/Authorize.ts +2 -0
- package/src/request/BaseAuthRequest.ts +46 -0
- package/src/request/NativeRequest.ts +1 -0
- package/src/request/RequestParameterBuilder.ts +9 -0
- package/src/response/AuthenticationResult.ts +1 -0
- package/src/response/ResponseHandler.ts +5 -0
- package/src/telemetry/performance/PerformanceClient.ts +62 -10
- package/src/telemetry/performance/PerformanceEvent.ts +129 -0
- package/src/utils/FunctionWrappers.ts +8 -4
- package/lib/index-node-C4hhfREr.js.map +0 -1
|
@@ -450,6 +450,11 @@ export class ResponseHandler {
|
|
|
450
450
|
userAssertionHash,
|
|
451
451
|
serverTokenResponse.key_id
|
|
452
452
|
);
|
|
453
|
+
// Set resource (to be used for MCP scenarios)
|
|
454
|
+
const resource = request.resource || null;
|
|
455
|
+
if (resource) {
|
|
456
|
+
cachedAccessToken.resource = resource;
|
|
457
|
+
}
|
|
453
458
|
}
|
|
454
459
|
|
|
455
460
|
// refreshToken
|
|
@@ -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
|
|
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
|
-
|
|
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
|
-
...
|
|
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 (
|
|
549
|
-
event
|
|
550
|
-
|
|
551
|
-
|
|
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
|
|
|
@@ -191,10 +191,23 @@ export type PerformanceEvent = {
|
|
|
191
191
|
visibilityChangeCount?: number;
|
|
192
192
|
incompleteSubsCount?: number;
|
|
193
193
|
|
|
194
|
+
/**
|
|
195
|
+
* Network connection info from the Network Information API (Chromium only).
|
|
196
|
+
* Read from: https://developer.mozilla.org/docs/Web/API/NetworkInformation
|
|
197
|
+
*/
|
|
198
|
+
networkEffectiveType?: string;
|
|
199
|
+
networkRtt?: number;
|
|
200
|
+
|
|
194
201
|
/**
|
|
195
202
|
* CorrelationId of the in progress iframe request that was awaited
|
|
196
203
|
*/
|
|
197
204
|
awaitIframeCorrelationId?: string;
|
|
205
|
+
/**
|
|
206
|
+
* Monitor_window_timeout debugging telemetry
|
|
207
|
+
*/
|
|
208
|
+
redirectBridgeTimeoutMs?: number;
|
|
209
|
+
isRedirectUriCrossOrigin?: boolean;
|
|
210
|
+
redirectBridgeMessageVersion?: number;
|
|
198
211
|
|
|
199
212
|
/**
|
|
200
213
|
* Size of the id token
|
|
@@ -321,6 +334,8 @@ export type PerformanceEvent = {
|
|
|
321
334
|
extRtExpiresOnSeconds?: number;
|
|
322
335
|
rtOffsetSeconds?: number;
|
|
323
336
|
|
|
337
|
+
sidFromClaim?: boolean;
|
|
338
|
+
// Backward-compatible alias for sidFromClaim
|
|
324
339
|
sidFromClaims?: boolean;
|
|
325
340
|
sidFromRequest?: boolean;
|
|
326
341
|
loginHintFromRequest?: boolean;
|
|
@@ -344,6 +359,34 @@ export type PerformanceEvent = {
|
|
|
344
359
|
// Hashed logs in the format [millis1,hash1;millis2,hash2;...]
|
|
345
360
|
logs?: string;
|
|
346
361
|
|
|
362
|
+
// Whether the application is configured for MCP flows
|
|
363
|
+
isMcp?: boolean;
|
|
364
|
+
|
|
365
|
+
/**
|
|
366
|
+
* Source of cloud discovery metadata (config, cache, network, hardcoded_values)
|
|
367
|
+
*/
|
|
368
|
+
cloudDiscoverySource?: string;
|
|
369
|
+
|
|
370
|
+
/**
|
|
371
|
+
* Source of authority endpoint metadata (config, cache, network, hardcoded_values)
|
|
372
|
+
*/
|
|
373
|
+
authorityEndpointSource?: string;
|
|
374
|
+
|
|
375
|
+
/**
|
|
376
|
+
* Number of accounts removed during cache cleanup
|
|
377
|
+
*/
|
|
378
|
+
accountsRemoved?: number;
|
|
379
|
+
|
|
380
|
+
/**
|
|
381
|
+
* Number of access tokens removed during cache cleanup
|
|
382
|
+
*/
|
|
383
|
+
accessTokensRemoved?: number;
|
|
384
|
+
|
|
385
|
+
/**
|
|
386
|
+
* Number of failures when removing token binding keys
|
|
387
|
+
*/
|
|
388
|
+
removeTokenBindingKeyFailure?: number;
|
|
389
|
+
|
|
347
390
|
/**
|
|
348
391
|
* Reason for silent refresh fallback to iframe
|
|
349
392
|
* Format: errorCode or errorCode|subError
|
|
@@ -351,6 +394,82 @@ export type PerformanceEvent = {
|
|
|
351
394
|
* @type {?string}
|
|
352
395
|
*/
|
|
353
396
|
silentRefreshReason?: string;
|
|
397
|
+
|
|
398
|
+
/**
|
|
399
|
+
* Whether this request was deduped with another in-flight request
|
|
400
|
+
*/
|
|
401
|
+
deduped?: boolean;
|
|
402
|
+
|
|
403
|
+
/**
|
|
404
|
+
* Whether the user has "Keep Me Signed In" enabled
|
|
405
|
+
*/
|
|
406
|
+
kmsi?: boolean;
|
|
407
|
+
|
|
408
|
+
/**
|
|
409
|
+
* Whether this event was executed in the background
|
|
410
|
+
*/
|
|
411
|
+
isBackground?: boolean;
|
|
412
|
+
|
|
413
|
+
/**
|
|
414
|
+
* Cache migration telemetry — pre-migration counts
|
|
415
|
+
*/
|
|
416
|
+
preMigrateAcntCount?: number;
|
|
417
|
+
preMigrateATCount?: number;
|
|
418
|
+
preMigrateITCount?: number;
|
|
419
|
+
preMigrateRTCount?: number;
|
|
420
|
+
|
|
421
|
+
/**
|
|
422
|
+
* Cache migration telemetry — post-migration counts
|
|
423
|
+
*/
|
|
424
|
+
postMigrateAcntCount?: number;
|
|
425
|
+
postMigrateATCount?: number;
|
|
426
|
+
postMigrateITCount?: number;
|
|
427
|
+
postMigrateRTCount?: number;
|
|
428
|
+
|
|
429
|
+
/**
|
|
430
|
+
* Cache migration telemetry — old schema counts
|
|
431
|
+
*/
|
|
432
|
+
oldAcntCount?: number;
|
|
433
|
+
oldATCount?: number;
|
|
434
|
+
oldITCount?: number;
|
|
435
|
+
oldRTCount?: number;
|
|
436
|
+
|
|
437
|
+
/**
|
|
438
|
+
* Cache migration telemetry — skipped and migrated counts
|
|
439
|
+
*/
|
|
440
|
+
skipATMigrateCount?: number;
|
|
441
|
+
skipITMigrateCount?: number;
|
|
442
|
+
skipRTMigrateCount?: number;
|
|
443
|
+
migratedATCount?: number;
|
|
444
|
+
migratedITCount?: number;
|
|
445
|
+
migratedRTCount?: number;
|
|
446
|
+
|
|
447
|
+
/**
|
|
448
|
+
* Cache telemetry — expired, invalid, and removed counts
|
|
449
|
+
*/
|
|
450
|
+
expiredCacheRemovedCount?: number;
|
|
451
|
+
expiredAcntRemovedCount?: number;
|
|
452
|
+
invalidCacheCount?: number;
|
|
453
|
+
|
|
454
|
+
/**
|
|
455
|
+
* Encrypted cache telemetry
|
|
456
|
+
*/
|
|
457
|
+
unencryptedCacheCount?: number;
|
|
458
|
+
encryptedCacheCount?: number;
|
|
459
|
+
encryptedCacheExpiredCount?: number;
|
|
460
|
+
encryptedCacheCorruptionCount?: number;
|
|
461
|
+
|
|
462
|
+
/**
|
|
463
|
+
* Container for dynamically-named telemetry fields.
|
|
464
|
+
* Fields whose names are constructed at runtime (e.g., "[eventName]CallCount")
|
|
465
|
+
* should be stored here instead of being set as top-level properties.
|
|
466
|
+
* Use the "ext." prefix when calling addFields/incrementFields to automatically
|
|
467
|
+
* route fields to this sub-object.
|
|
468
|
+
*
|
|
469
|
+
* @remarks
|
|
470
|
+
* This property is typed as `Record<string, string | number>`.
|
|
471
|
+
*/
|
|
472
|
+
ext?: Record<string, string | number>;
|
|
354
473
|
};
|
|
355
474
|
|
|
356
475
|
export type PerformanceEventContext = {
|
|
@@ -365,6 +484,13 @@ export type PerformanceEventStackedContext = PerformanceEventContext & {
|
|
|
365
484
|
childErr?: string;
|
|
366
485
|
};
|
|
367
486
|
|
|
487
|
+
/**
|
|
488
|
+
* Prefix used to mark telemetry field names as dynamic.
|
|
489
|
+
* Fields with this prefix in addFields/incrementFields calls will be routed
|
|
490
|
+
* to the PerformanceEvent.ext sub-object.
|
|
491
|
+
*/
|
|
492
|
+
export const EXT_FIELD_PREFIX = "ext.";
|
|
493
|
+
|
|
368
494
|
export const IntFields: ReadonlySet<string> = new Set([
|
|
369
495
|
"accessTokenSize",
|
|
370
496
|
"durationMs",
|
|
@@ -389,4 +515,7 @@ export const IntFields: ReadonlySet<string> = new Set([
|
|
|
389
515
|
"currRefreshCount",
|
|
390
516
|
"expiredCacheRemovedCount",
|
|
391
517
|
"upgradedCacheCount",
|
|
518
|
+
"networkRtt",
|
|
519
|
+
"redirectBridgeTimeoutMs",
|
|
520
|
+
"redirectBridgeMessageVersion",
|
|
392
521
|
]);
|
|
@@ -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
|
-
|
|
37
|
-
|
|
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
|
-
|
|
93
|
-
|
|
94
|
+
telemetryClient.incrementFields(
|
|
95
|
+
{ [`ext.${eventName}CallCount`]: 1 },
|
|
96
|
+
correlationId
|
|
97
|
+
);
|
|
94
98
|
}
|
|
95
99
|
return callback(...args)
|
|
96
100
|
.then((response) => {
|