@azure/msal-node-extensions 1.5.21 → 1.5.23

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 (61) hide show
  1. package/bin/arm64/dpapi.node +0 -0
  2. package/bin/ia32/dpapi.node +0 -0
  3. package/bin/x64/dpapi.node +0 -0
  4. package/dist/Dpapi.mjs +1 -1
  5. package/dist/broker/NativeBrokerPlugin.mjs +16 -8
  6. package/dist/broker/NativeBrokerPlugin.mjs.map +1 -1
  7. package/dist/error/NativeAuthError.d.ts +1 -1
  8. package/dist/error/NativeAuthError.mjs +3 -2
  9. package/dist/error/NativeAuthError.mjs.map +1 -1
  10. package/dist/error/PersistenceError.mjs +1 -1
  11. package/dist/index.d.ts +1 -0
  12. package/dist/index.mjs +2 -1
  13. package/dist/index.mjs.map +1 -1
  14. package/dist/lib/msal-common/dist/constants/AADServerParamKeys.mjs +2 -2
  15. package/dist/lib/msal-common/dist/constants/AADServerParamKeys.mjs.map +1 -1
  16. package/dist/lib/msal-common/dist/error/AuthError.mjs +2 -2
  17. package/dist/lib/msal-common/dist/error/AuthError.mjs.map +1 -1
  18. package/dist/lib/msal-common/dist/error/ClientAuthError.mjs +2 -2
  19. package/dist/lib/msal-common/dist/error/ClientAuthError.mjs.map +1 -1
  20. package/dist/lib/msal-common/dist/error/ClientAuthErrorCodes.mjs +2 -2
  21. package/dist/lib/msal-common/dist/error/ClientAuthErrorCodes.mjs.map +1 -1
  22. package/dist/lib/msal-common/dist/error/ClientConfigurationError.mjs +2 -2
  23. package/dist/lib/msal-common/dist/error/ClientConfigurationError.mjs.map +1 -1
  24. package/dist/lib/msal-common/dist/error/ClientConfigurationErrorCodes.mjs +2 -2
  25. package/dist/lib/msal-common/dist/error/ClientConfigurationErrorCodes.mjs.map +1 -1
  26. package/dist/lib/msal-common/dist/error/InteractionRequiredAuthError.mjs +2 -2
  27. package/dist/lib/msal-common/dist/error/InteractionRequiredAuthError.mjs.map +1 -1
  28. package/dist/lib/msal-common/dist/error/ServerError.mjs +2 -2
  29. package/dist/lib/msal-common/dist/error/ServerError.mjs.map +1 -1
  30. package/dist/lib/msal-common/dist/logger/Logger.mjs +2 -2
  31. package/dist/lib/msal-common/dist/logger/Logger.mjs.map +1 -1
  32. package/dist/lib/msal-common/dist/telemetry/server/ServerTelemetryManager.mjs +2 -2
  33. package/dist/lib/msal-common/dist/telemetry/server/ServerTelemetryManager.mjs.map +1 -1
  34. package/dist/lib/msal-common/dist/utils/Constants.mjs +2 -2
  35. package/dist/lib/msal-common/dist/utils/Constants.mjs.map +1 -1
  36. package/dist/lib/msal-common/dist/utils/TimeUtils.mjs +2 -2
  37. package/dist/lib/msal-common/dist/utils/TimeUtils.mjs.map +1 -1
  38. package/dist/lock/CrossPlatformLock.mjs +1 -1
  39. package/dist/packageMetadata.d.ts +1 -1
  40. package/dist/packageMetadata.mjs +2 -2
  41. package/dist/persistence/BasePersistence.mjs +1 -1
  42. package/dist/persistence/DataProtectionScope.mjs +1 -1
  43. package/dist/persistence/FilePersistence.mjs +1 -1
  44. package/dist/persistence/FilePersistenceWithDataProtection.mjs +1 -1
  45. package/dist/persistence/KeychainPersistence.mjs +1 -1
  46. package/dist/persistence/LibSecretPersistence.mjs +1 -1
  47. package/dist/persistence/PersistenceCachePlugin.mjs +1 -1
  48. package/dist/persistence/PersistenceCreator.mjs +1 -1
  49. package/dist/utils/Constants.mjs +1 -1
  50. package/dist/utils/Environment.mjs +1 -1
  51. package/dist/utils/StringUtils.d.ts +8 -0
  52. package/dist/utils/StringUtils.mjs +32 -0
  53. package/dist/utils/StringUtils.mjs.map +1 -0
  54. package/dist/utils/TypeGuards.mjs +1 -1
  55. package/lib/msal-node-extensions.cjs +58 -22
  56. package/lib/msal-node-extensions.cjs.map +1 -1
  57. package/lib/types/error/NativeAuthError.d.ts +1 -1
  58. package/lib/types/index.d.ts +1 -0
  59. package/lib/types/packageMetadata.d.ts +1 -1
  60. package/lib/types/utils/StringUtils.d.ts +8 -0
  61. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.mjs","sources":["../../../../../../../lib/msal-common/dist/logger/Logger.mjs"],"sourcesContent":["/*! @azure/msal-common v15.12.0 2025-08-19 */\n'use strict';\nimport { Constants } from '../utils/Constants.mjs';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Log message level.\r\n */\r\nvar LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"Error\"] = 0] = \"Error\";\r\n LogLevel[LogLevel[\"Warning\"] = 1] = \"Warning\";\r\n LogLevel[LogLevel[\"Info\"] = 2] = \"Info\";\r\n LogLevel[LogLevel[\"Verbose\"] = 3] = \"Verbose\";\r\n LogLevel[LogLevel[\"Trace\"] = 4] = \"Trace\";\r\n})(LogLevel || (LogLevel = {}));\r\n/**\r\n * Class which facilitates logging of messages to a specific place.\r\n */\r\nclass Logger {\r\n constructor(loggerOptions, packageName, packageVersion) {\r\n // Current log level, defaults to info.\r\n this.level = LogLevel.Info;\r\n const defaultLoggerCallback = () => {\r\n return;\r\n };\r\n const setLoggerOptions = loggerOptions || Logger.createDefaultLoggerOptions();\r\n this.localCallback =\r\n setLoggerOptions.loggerCallback || defaultLoggerCallback;\r\n this.piiLoggingEnabled = setLoggerOptions.piiLoggingEnabled || false;\r\n this.level =\r\n typeof setLoggerOptions.logLevel === \"number\"\r\n ? setLoggerOptions.logLevel\r\n : LogLevel.Info;\r\n this.correlationId =\r\n setLoggerOptions.correlationId || Constants.EMPTY_STRING;\r\n this.packageName = packageName || Constants.EMPTY_STRING;\r\n this.packageVersion = packageVersion || Constants.EMPTY_STRING;\r\n }\r\n static createDefaultLoggerOptions() {\r\n return {\r\n loggerCallback: () => {\r\n // allow users to not set loggerCallback\r\n },\r\n piiLoggingEnabled: false,\r\n logLevel: LogLevel.Info,\r\n };\r\n }\r\n /**\r\n * Create new Logger with existing configurations.\r\n */\r\n clone(packageName, packageVersion, correlationId) {\r\n return new Logger({\r\n loggerCallback: this.localCallback,\r\n piiLoggingEnabled: this.piiLoggingEnabled,\r\n logLevel: this.level,\r\n correlationId: correlationId || this.correlationId,\r\n }, packageName, packageVersion);\r\n }\r\n /**\r\n * Log message with required options.\r\n */\r\n logMessage(logMessage, options) {\r\n if (options.logLevel > this.level ||\r\n (!this.piiLoggingEnabled && options.containsPii)) {\r\n return;\r\n }\r\n const timestamp = new Date().toUTCString();\r\n // Add correlationId to logs if set, correlationId provided on log messages take precedence\r\n const logHeader = `[${timestamp}] : [${options.correlationId || this.correlationId || \"\"}]`;\r\n const log = `${logHeader} : ${this.packageName}@${this.packageVersion} : ${LogLevel[options.logLevel]} - ${logMessage}`;\r\n // debug(`msal:${LogLevel[options.logLevel]}${options.containsPii ? \"-Pii\": Constants.EMPTY_STRING}${options.context ? `:${options.context}` : Constants.EMPTY_STRING}`)(logMessage);\r\n this.executeCallback(options.logLevel, log, options.containsPii || false);\r\n }\r\n /**\r\n * Execute callback with message.\r\n */\r\n executeCallback(level, message, containsPii) {\r\n if (this.localCallback) {\r\n this.localCallback(level, message, containsPii);\r\n }\r\n }\r\n /**\r\n * Logs error messages.\r\n */\r\n error(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Error,\r\n containsPii: false,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs error messages with PII.\r\n */\r\n errorPii(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Error,\r\n containsPii: true,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs warning messages.\r\n */\r\n warning(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Warning,\r\n containsPii: false,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs warning messages with PII.\r\n */\r\n warningPii(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Warning,\r\n containsPii: true,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs info messages.\r\n */\r\n info(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Info,\r\n containsPii: false,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs info messages with PII.\r\n */\r\n infoPii(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Info,\r\n containsPii: true,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs verbose messages.\r\n */\r\n verbose(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Verbose,\r\n containsPii: false,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs verbose messages with PII.\r\n */\r\n verbosePii(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Verbose,\r\n containsPii: true,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs trace messages.\r\n */\r\n trace(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Trace,\r\n containsPii: false,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs trace messages with PII.\r\n */\r\n tracePii(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Trace,\r\n containsPii: true,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Returns whether PII Logging is enabled or not.\r\n */\r\n isPiiLoggingEnabled() {\r\n return this.piiLoggingEnabled || false;\r\n }\r\n}\n\nexport { LogLevel, Logger };\n//# sourceMappingURL=Logger.mjs.map\n"],"names":[],"mappings":";;;;AAAA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,SAAS;AACb,CAAC,UAAU,QAAQ,EAAE;AACrB,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;AAC9C,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;AAClD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;AAC5C,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;AAClD,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;AAC9C,CAAC,EAAE,QAAQ,KAAK,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC;AAChC;AACA;AACA;AACA,MAAM,MAAM,CAAC;AACb,IAAI,WAAW,CAAC,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE;AAC5D;AACA,QAAQ,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC;AACnC,QAAQ,MAAM,qBAAqB,GAAG,MAAM;AAC5C,YAAY,OAAO;AACnB,SAAS,CAAC;AACV,QAAQ,MAAM,gBAAgB,GAAG,aAAa,IAAI,MAAM,CAAC,0BAA0B,EAAE,CAAC;AACtF,QAAQ,IAAI,CAAC,aAAa;AAC1B,YAAY,gBAAgB,CAAC,cAAc,IAAI,qBAAqB,CAAC;AACrE,QAAQ,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,iBAAiB,IAAI,KAAK,CAAC;AAC7E,QAAQ,IAAI,CAAC,KAAK;AAClB,YAAY,OAAO,gBAAgB,CAAC,QAAQ,KAAK,QAAQ;AACzD,kBAAkB,gBAAgB,CAAC,QAAQ;AAC3C,kBAAkB,QAAQ,CAAC,IAAI,CAAC;AAChC,QAAQ,IAAI,CAAC,aAAa;AAC1B,YAAY,gBAAgB,CAAC,aAAa,IAAI,SAAS,CAAC,YAAY,CAAC;AACrE,QAAQ,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,SAAS,CAAC,YAAY,CAAC;AACjE,QAAQ,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,SAAS,CAAC,YAAY,CAAC;AACvE,KAAK;AACL,IAAI,OAAO,0BAA0B,GAAG;AACxC,QAAQ,OAAO;AACf,YAAY,cAAc,EAAE,MAAM;AAClC;AACA,aAAa;AACb,YAAY,iBAAiB,EAAE,KAAK;AACpC,YAAY,QAAQ,EAAE,QAAQ,CAAC,IAAI;AACnC,SAAS,CAAC;AACV,KAAK;AACL;AACA;AACA;AACA,IAAI,KAAK,CAAC,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE;AACtD,QAAQ,OAAO,IAAI,MAAM,CAAC;AAC1B,YAAY,cAAc,EAAE,IAAI,CAAC,aAAa;AAC9C,YAAY,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;AACrD,YAAY,QAAQ,EAAE,IAAI,CAAC,KAAK;AAChC,YAAY,aAAa,EAAE,aAAa,IAAI,IAAI,CAAC,aAAa;AAC9D,SAAS,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;AACxC,KAAK;AACL;AACA;AACA;AACA,IAAI,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,QAAQ,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK;AACzC,aAAa,CAAC,IAAI,CAAC,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE;AAC9D,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACnD;AACA,QAAQ,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACpG,QAAQ,MAAM,GAAG,GAAG,CAAC,EAAE,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;AAChI;AACA,QAAQ,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC;AAClF,KAAK;AACL;AACA;AACA;AACA,IAAI,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE;AACjD,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE;AAChC,YAAY,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AAC5D,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA,IAAI,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE;AAClC,QAAQ,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACjC,YAAY,QAAQ,EAAE,QAAQ,CAAC,KAAK;AACpC,YAAY,WAAW,EAAE,KAAK;AAC9B,YAAY,aAAa,EAAE,aAAa,IAAI,SAAS,CAAC,YAAY;AAClE,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA;AACA;AACA,IAAI,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE;AACrC,QAAQ,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACjC,YAAY,QAAQ,EAAE,QAAQ,CAAC,KAAK;AACpC,YAAY,WAAW,EAAE,IAAI;AAC7B,YAAY,aAAa,EAAE,aAAa,IAAI,SAAS,CAAC,YAAY;AAClE,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA;AACA;AACA,IAAI,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE;AACpC,QAAQ,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACjC,YAAY,QAAQ,EAAE,QAAQ,CAAC,OAAO;AACtC,YAAY,WAAW,EAAE,KAAK;AAC9B,YAAY,aAAa,EAAE,aAAa,IAAI,SAAS,CAAC,YAAY;AAClE,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA;AACA;AACA,IAAI,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE;AACvC,QAAQ,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACjC,YAAY,QAAQ,EAAE,QAAQ,CAAC,OAAO;AACtC,YAAY,WAAW,EAAE,IAAI;AAC7B,YAAY,aAAa,EAAE,aAAa,IAAI,SAAS,CAAC,YAAY;AAClE,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA;AACA;AACA,IAAI,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE;AACjC,QAAQ,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACjC,YAAY,QAAQ,EAAE,QAAQ,CAAC,IAAI;AACnC,YAAY,WAAW,EAAE,KAAK;AAC9B,YAAY,aAAa,EAAE,aAAa,IAAI,SAAS,CAAC,YAAY;AAClE,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA;AACA;AACA,IAAI,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE;AACpC,QAAQ,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACjC,YAAY,QAAQ,EAAE,QAAQ,CAAC,IAAI;AACnC,YAAY,WAAW,EAAE,IAAI;AAC7B,YAAY,aAAa,EAAE,aAAa,IAAI,SAAS,CAAC,YAAY;AAClE,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA;AACA;AACA,IAAI,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE;AACpC,QAAQ,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACjC,YAAY,QAAQ,EAAE,QAAQ,CAAC,OAAO;AACtC,YAAY,WAAW,EAAE,KAAK;AAC9B,YAAY,aAAa,EAAE,aAAa,IAAI,SAAS,CAAC,YAAY;AAClE,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA;AACA;AACA,IAAI,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE;AACvC,QAAQ,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACjC,YAAY,QAAQ,EAAE,QAAQ,CAAC,OAAO;AACtC,YAAY,WAAW,EAAE,IAAI;AAC7B,YAAY,aAAa,EAAE,aAAa,IAAI,SAAS,CAAC,YAAY;AAClE,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA;AACA;AACA,IAAI,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE;AAClC,QAAQ,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACjC,YAAY,QAAQ,EAAE,QAAQ,CAAC,KAAK;AACpC,YAAY,WAAW,EAAE,KAAK;AAC9B,YAAY,aAAa,EAAE,aAAa,IAAI,SAAS,CAAC,YAAY;AAClE,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA;AACA;AACA,IAAI,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE;AACrC,QAAQ,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACjC,YAAY,QAAQ,EAAE,QAAQ,CAAC,KAAK;AACpC,YAAY,WAAW,EAAE,IAAI;AAC7B,YAAY,aAAa,EAAE,aAAa,IAAI,SAAS,CAAC,YAAY;AAClE,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA;AACA;AACA,IAAI,mBAAmB,GAAG;AAC1B,QAAQ,OAAO,IAAI,CAAC,iBAAiB,IAAI,KAAK,CAAC;AAC/C,KAAK;AACL;;;;"}
1
+ {"version":3,"file":"Logger.mjs","sources":["../../../../../../../lib/msal-common/dist/logger/Logger.mjs"],"sourcesContent":["/*! @azure/msal-common v15.13.0 2025-09-24 */\n'use strict';\nimport { Constants } from '../utils/Constants.mjs';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Log message level.\r\n */\r\nvar LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"Error\"] = 0] = \"Error\";\r\n LogLevel[LogLevel[\"Warning\"] = 1] = \"Warning\";\r\n LogLevel[LogLevel[\"Info\"] = 2] = \"Info\";\r\n LogLevel[LogLevel[\"Verbose\"] = 3] = \"Verbose\";\r\n LogLevel[LogLevel[\"Trace\"] = 4] = \"Trace\";\r\n})(LogLevel || (LogLevel = {}));\r\n/**\r\n * Class which facilitates logging of messages to a specific place.\r\n */\r\nclass Logger {\r\n constructor(loggerOptions, packageName, packageVersion) {\r\n // Current log level, defaults to info.\r\n this.level = LogLevel.Info;\r\n const defaultLoggerCallback = () => {\r\n return;\r\n };\r\n const setLoggerOptions = loggerOptions || Logger.createDefaultLoggerOptions();\r\n this.localCallback =\r\n setLoggerOptions.loggerCallback || defaultLoggerCallback;\r\n this.piiLoggingEnabled = setLoggerOptions.piiLoggingEnabled || false;\r\n this.level =\r\n typeof setLoggerOptions.logLevel === \"number\"\r\n ? setLoggerOptions.logLevel\r\n : LogLevel.Info;\r\n this.correlationId =\r\n setLoggerOptions.correlationId || Constants.EMPTY_STRING;\r\n this.packageName = packageName || Constants.EMPTY_STRING;\r\n this.packageVersion = packageVersion || Constants.EMPTY_STRING;\r\n }\r\n static createDefaultLoggerOptions() {\r\n return {\r\n loggerCallback: () => {\r\n // allow users to not set loggerCallback\r\n },\r\n piiLoggingEnabled: false,\r\n logLevel: LogLevel.Info,\r\n };\r\n }\r\n /**\r\n * Create new Logger with existing configurations.\r\n */\r\n clone(packageName, packageVersion, correlationId) {\r\n return new Logger({\r\n loggerCallback: this.localCallback,\r\n piiLoggingEnabled: this.piiLoggingEnabled,\r\n logLevel: this.level,\r\n correlationId: correlationId || this.correlationId,\r\n }, packageName, packageVersion);\r\n }\r\n /**\r\n * Log message with required options.\r\n */\r\n logMessage(logMessage, options) {\r\n if (options.logLevel > this.level ||\r\n (!this.piiLoggingEnabled && options.containsPii)) {\r\n return;\r\n }\r\n const timestamp = new Date().toUTCString();\r\n // Add correlationId to logs if set, correlationId provided on log messages take precedence\r\n const logHeader = `[${timestamp}] : [${options.correlationId || this.correlationId || \"\"}]`;\r\n const log = `${logHeader} : ${this.packageName}@${this.packageVersion} : ${LogLevel[options.logLevel]} - ${logMessage}`;\r\n // debug(`msal:${LogLevel[options.logLevel]}${options.containsPii ? \"-Pii\": Constants.EMPTY_STRING}${options.context ? `:${options.context}` : Constants.EMPTY_STRING}`)(logMessage);\r\n this.executeCallback(options.logLevel, log, options.containsPii || false);\r\n }\r\n /**\r\n * Execute callback with message.\r\n */\r\n executeCallback(level, message, containsPii) {\r\n if (this.localCallback) {\r\n this.localCallback(level, message, containsPii);\r\n }\r\n }\r\n /**\r\n * Logs error messages.\r\n */\r\n error(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Error,\r\n containsPii: false,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs error messages with PII.\r\n */\r\n errorPii(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Error,\r\n containsPii: true,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs warning messages.\r\n */\r\n warning(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Warning,\r\n containsPii: false,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs warning messages with PII.\r\n */\r\n warningPii(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Warning,\r\n containsPii: true,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs info messages.\r\n */\r\n info(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Info,\r\n containsPii: false,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs info messages with PII.\r\n */\r\n infoPii(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Info,\r\n containsPii: true,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs verbose messages.\r\n */\r\n verbose(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Verbose,\r\n containsPii: false,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs verbose messages with PII.\r\n */\r\n verbosePii(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Verbose,\r\n containsPii: true,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs trace messages.\r\n */\r\n trace(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Trace,\r\n containsPii: false,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs trace messages with PII.\r\n */\r\n tracePii(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Trace,\r\n containsPii: true,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Returns whether PII Logging is enabled or not.\r\n */\r\n isPiiLoggingEnabled() {\r\n return this.piiLoggingEnabled || false;\r\n }\r\n}\n\nexport { LogLevel, Logger };\n//# sourceMappingURL=Logger.mjs.map\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- /*! @azure/msal-node-extensions v1.5.21 2025-08-19 */
1
+ /*! @azure/msal-node-extensions v1.5.23 2025-09-24 */
2
2
  'use strict';
3
3
  import { CacheOutcome, Constants, SERVER_TELEM_CONSTANTS, Separators } from '../../utils/Constants.mjs';
4
4
  import { AuthError } from '../../error/AuthError.mjs';
5
5
 
6
- /*! @azure/msal-common v15.12.0 2025-08-19 */
6
+ /*! @azure/msal-common v15.13.0 2025-09-24 */
7
7
 
8
8
  /*
9
9
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1 +1 @@
1
- {"version":3,"file":"ServerTelemetryManager.mjs","sources":["../../../../../../../../lib/msal-common/dist/telemetry/server/ServerTelemetryManager.mjs"],"sourcesContent":["/*! @azure/msal-common v15.12.0 2025-08-19 */\n'use strict';\nimport { CacheOutcome, Constants, SERVER_TELEM_CONSTANTS, Separators } from '../../utils/Constants.mjs';\nimport { AuthError } from '../../error/AuthError.mjs';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nconst skuGroupSeparator = \",\";\r\nconst skuValueSeparator = \"|\";\r\nfunction makeExtraSkuString(params) {\r\n const { skus, libraryName, libraryVersion, extensionName, extensionVersion, } = params;\r\n const skuMap = new Map([\r\n [0, [libraryName, libraryVersion]],\r\n [2, [extensionName, extensionVersion]],\r\n ]);\r\n let skuArr = [];\r\n if (skus?.length) {\r\n skuArr = skus.split(skuGroupSeparator);\r\n // Ignore invalid input sku param\r\n if (skuArr.length < 4) {\r\n return skus;\r\n }\r\n }\r\n else {\r\n skuArr = Array.from({ length: 4 }, () => skuValueSeparator);\r\n }\r\n skuMap.forEach((value, key) => {\r\n if (value.length === 2 && value[0]?.length && value[1]?.length) {\r\n setSku({\r\n skuArr,\r\n index: key,\r\n skuName: value[0],\r\n skuVersion: value[1],\r\n });\r\n }\r\n });\r\n return skuArr.join(skuGroupSeparator);\r\n}\r\nfunction setSku(params) {\r\n const { skuArr, index, skuName, skuVersion } = params;\r\n if (index >= skuArr.length) {\r\n return;\r\n }\r\n skuArr[index] = [skuName, skuVersion].join(skuValueSeparator);\r\n}\r\n/** @internal */\r\nclass ServerTelemetryManager {\r\n constructor(telemetryRequest, cacheManager) {\r\n this.cacheOutcome = CacheOutcome.NOT_APPLICABLE;\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 this.telemetryCacheKey =\r\n SERVER_TELEM_CONSTANTS.CACHE_KEY +\r\n Separators.CACHE_KEY_SEPARATOR +\r\n telemetryRequest.clientId;\r\n }\r\n /**\r\n * API to add MSER Telemetry to request\r\n */\r\n generateCurrentRequestHeaderValue() {\r\n const request = `${this.apiId}${SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR}${this.cacheOutcome}`;\r\n const platformFieldsArr = [this.wrapperSKU, this.wrapperVer];\r\n const nativeBrokerErrorCode = this.getNativeBrokerErrorCode();\r\n if (nativeBrokerErrorCode?.length) {\r\n platformFieldsArr.push(`broker_error=${nativeBrokerErrorCode}`);\r\n }\r\n const platformFields = platformFieldsArr.join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n const regionDiscoveryFields = this.getRegionDiscoveryFields();\r\n const requestWithRegionDiscoveryFields = [\r\n request,\r\n regionDiscoveryFields,\r\n ].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n return [\r\n SERVER_TELEM_CONSTANTS.SCHEMA_VERSION,\r\n requestWithRegionDiscoveryFields,\r\n platformFields,\r\n ].join(SERVER_TELEM_CONSTANTS.CATEGORY_SEPARATOR);\r\n }\r\n /**\r\n * API to add MSER Telemetry for the last failed request\r\n */\r\n generateLastRequestHeaderValue() {\r\n const lastRequests = this.getLastRequests();\r\n const maxErrors = ServerTelemetryManager.maxErrorsToSend(lastRequests);\r\n const failedRequests = lastRequests.failedRequests\r\n .slice(0, 2 * maxErrors)\r\n .join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n const errors = lastRequests.errors\r\n .slice(0, maxErrors)\r\n .join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n const errorCount = lastRequests.errors.length;\r\n // Indicate whether this header contains all data or partial data\r\n const overflow = maxErrors < errorCount\r\n ? SERVER_TELEM_CONSTANTS.OVERFLOW_TRUE\r\n : SERVER_TELEM_CONSTANTS.OVERFLOW_FALSE;\r\n const platformFields = [errorCount, overflow].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n return [\r\n SERVER_TELEM_CONSTANTS.SCHEMA_VERSION,\r\n lastRequests.cacheHits,\r\n failedRequests,\r\n errors,\r\n platformFields,\r\n ].join(SERVER_TELEM_CONSTANTS.CATEGORY_SEPARATOR);\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) {\r\n const lastRequests = this.getLastRequests();\r\n if (lastRequests.errors.length >=\r\n 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 lastRequests.failedRequests.push(this.apiId, this.correlationId);\r\n if (error instanceof Error && !!error && error.toString()) {\r\n if (error instanceof AuthError) {\r\n if (error.subError) {\r\n lastRequests.errors.push(error.subError);\r\n }\r\n else if (error.errorCode) {\r\n lastRequests.errors.push(error.errorCode);\r\n }\r\n else {\r\n lastRequests.errors.push(error.toString());\r\n }\r\n }\r\n else {\r\n lastRequests.errors.push(error.toString());\r\n }\r\n }\r\n else {\r\n lastRequests.errors.push(SERVER_TELEM_CONSTANTS.UNKNOWN_ERROR);\r\n }\r\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests, this.correlationId);\r\n return;\r\n }\r\n /**\r\n * Update server telemetry cache entry by incrementing cache hit counter\r\n */\r\n incrementCacheHits() {\r\n const lastRequests = this.getLastRequests();\r\n lastRequests.cacheHits += 1;\r\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests, this.correlationId);\r\n return lastRequests.cacheHits;\r\n }\r\n /**\r\n * Get the server telemetry entity from cache or initialize a new one\r\n */\r\n getLastRequests() {\r\n const initialValue = {\r\n failedRequests: [],\r\n errors: [],\r\n cacheHits: 0,\r\n };\r\n const lastRequests = this.cacheManager.getServerTelemetry(this.telemetryCacheKey);\r\n return lastRequests || initialValue;\r\n }\r\n /**\r\n * Remove server telemetry cache entry\r\n */\r\n clearTelemetryCache() {\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, this.correlationId);\r\n }\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 = {\r\n failedRequests: lastRequests.failedRequests.slice(numErrorsFlushed * 2),\r\n errors: lastRequests.errors.slice(numErrorsFlushed),\r\n cacheHits: 0,\r\n };\r\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, serverTelemEntity, this.correlationId);\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) {\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] ||\r\n Constants.EMPTY_STRING;\r\n const correlationId = serverTelemetryEntity.failedRequests[2 * i + 1] ||\r\n Constants.EMPTY_STRING;\r\n const errorCode = serverTelemetryEntity.errors[i] || Constants.EMPTY_STRING;\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 +=\r\n apiId.toString().length +\r\n correlationId.toString().length +\r\n errorCode.length +\r\n 3;\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 }\r\n else {\r\n break;\r\n }\r\n }\r\n return maxErrors;\r\n }\r\n /**\r\n * Get the region discovery fields\r\n *\r\n * @returns string\r\n */\r\n getRegionDiscoveryFields() {\r\n const regionDiscoveryFields = [];\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 return regionDiscoveryFields.join(\",\");\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) {\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 * Set cache outcome\r\n */\r\n setCacheOutcome(cacheOutcome) {\r\n this.cacheOutcome = cacheOutcome;\r\n }\r\n setNativeBrokerErrorCode(errorCode) {\r\n const lastRequests = this.getLastRequests();\r\n lastRequests.nativeBrokerErrorCode = errorCode;\r\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests, this.correlationId);\r\n }\r\n getNativeBrokerErrorCode() {\r\n return this.getLastRequests().nativeBrokerErrorCode;\r\n }\r\n clearNativeBrokerErrorCode() {\r\n const lastRequests = this.getLastRequests();\r\n delete lastRequests.nativeBrokerErrorCode;\r\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests, this.correlationId);\r\n }\r\n static makeExtraSkuString(params) {\r\n return makeExtraSkuString(params);\r\n }\r\n}\n\nexport { ServerTelemetryManager };\n//# sourceMappingURL=ServerTelemetryManager.mjs.map\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServerTelemetryManager.mjs","sources":["../../../../../../../../lib/msal-common/dist/telemetry/server/ServerTelemetryManager.mjs"],"sourcesContent":["/*! @azure/msal-common v15.13.0 2025-09-24 */\n'use strict';\nimport { CacheOutcome, Constants, SERVER_TELEM_CONSTANTS, Separators } from '../../utils/Constants.mjs';\nimport { AuthError } from '../../error/AuthError.mjs';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nconst skuGroupSeparator = \",\";\r\nconst skuValueSeparator = \"|\";\r\nfunction makeExtraSkuString(params) {\r\n const { skus, libraryName, libraryVersion, extensionName, extensionVersion, } = params;\r\n const skuMap = new Map([\r\n [0, [libraryName, libraryVersion]],\r\n [2, [extensionName, extensionVersion]],\r\n ]);\r\n let skuArr = [];\r\n if (skus?.length) {\r\n skuArr = skus.split(skuGroupSeparator);\r\n // Ignore invalid input sku param\r\n if (skuArr.length < 4) {\r\n return skus;\r\n }\r\n }\r\n else {\r\n skuArr = Array.from({ length: 4 }, () => skuValueSeparator);\r\n }\r\n skuMap.forEach((value, key) => {\r\n if (value.length === 2 && value[0]?.length && value[1]?.length) {\r\n setSku({\r\n skuArr,\r\n index: key,\r\n skuName: value[0],\r\n skuVersion: value[1],\r\n });\r\n }\r\n });\r\n return skuArr.join(skuGroupSeparator);\r\n}\r\nfunction setSku(params) {\r\n const { skuArr, index, skuName, skuVersion } = params;\r\n if (index >= skuArr.length) {\r\n return;\r\n }\r\n skuArr[index] = [skuName, skuVersion].join(skuValueSeparator);\r\n}\r\n/** @internal */\r\nclass ServerTelemetryManager {\r\n constructor(telemetryRequest, cacheManager) {\r\n this.cacheOutcome = CacheOutcome.NOT_APPLICABLE;\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 this.telemetryCacheKey =\r\n SERVER_TELEM_CONSTANTS.CACHE_KEY +\r\n Separators.CACHE_KEY_SEPARATOR +\r\n telemetryRequest.clientId;\r\n }\r\n /**\r\n * API to add MSER Telemetry to request\r\n */\r\n generateCurrentRequestHeaderValue() {\r\n const request = `${this.apiId}${SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR}${this.cacheOutcome}`;\r\n const platformFieldsArr = [this.wrapperSKU, this.wrapperVer];\r\n const nativeBrokerErrorCode = this.getNativeBrokerErrorCode();\r\n if (nativeBrokerErrorCode?.length) {\r\n platformFieldsArr.push(`broker_error=${nativeBrokerErrorCode}`);\r\n }\r\n const platformFields = platformFieldsArr.join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n const regionDiscoveryFields = this.getRegionDiscoveryFields();\r\n const requestWithRegionDiscoveryFields = [\r\n request,\r\n regionDiscoveryFields,\r\n ].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n return [\r\n SERVER_TELEM_CONSTANTS.SCHEMA_VERSION,\r\n requestWithRegionDiscoveryFields,\r\n platformFields,\r\n ].join(SERVER_TELEM_CONSTANTS.CATEGORY_SEPARATOR);\r\n }\r\n /**\r\n * API to add MSER Telemetry for the last failed request\r\n */\r\n generateLastRequestHeaderValue() {\r\n const lastRequests = this.getLastRequests();\r\n const maxErrors = ServerTelemetryManager.maxErrorsToSend(lastRequests);\r\n const failedRequests = lastRequests.failedRequests\r\n .slice(0, 2 * maxErrors)\r\n .join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n const errors = lastRequests.errors\r\n .slice(0, maxErrors)\r\n .join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n const errorCount = lastRequests.errors.length;\r\n // Indicate whether this header contains all data or partial data\r\n const overflow = maxErrors < errorCount\r\n ? SERVER_TELEM_CONSTANTS.OVERFLOW_TRUE\r\n : SERVER_TELEM_CONSTANTS.OVERFLOW_FALSE;\r\n const platformFields = [errorCount, overflow].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n return [\r\n SERVER_TELEM_CONSTANTS.SCHEMA_VERSION,\r\n lastRequests.cacheHits,\r\n failedRequests,\r\n errors,\r\n platformFields,\r\n ].join(SERVER_TELEM_CONSTANTS.CATEGORY_SEPARATOR);\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) {\r\n const lastRequests = this.getLastRequests();\r\n if (lastRequests.errors.length >=\r\n 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 lastRequests.failedRequests.push(this.apiId, this.correlationId);\r\n if (error instanceof Error && !!error && error.toString()) {\r\n if (error instanceof AuthError) {\r\n if (error.subError) {\r\n lastRequests.errors.push(error.subError);\r\n }\r\n else if (error.errorCode) {\r\n lastRequests.errors.push(error.errorCode);\r\n }\r\n else {\r\n lastRequests.errors.push(error.toString());\r\n }\r\n }\r\n else {\r\n lastRequests.errors.push(error.toString());\r\n }\r\n }\r\n else {\r\n lastRequests.errors.push(SERVER_TELEM_CONSTANTS.UNKNOWN_ERROR);\r\n }\r\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests, this.correlationId);\r\n return;\r\n }\r\n /**\r\n * Update server telemetry cache entry by incrementing cache hit counter\r\n */\r\n incrementCacheHits() {\r\n const lastRequests = this.getLastRequests();\r\n lastRequests.cacheHits += 1;\r\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests, this.correlationId);\r\n return lastRequests.cacheHits;\r\n }\r\n /**\r\n * Get the server telemetry entity from cache or initialize a new one\r\n */\r\n getLastRequests() {\r\n const initialValue = {\r\n failedRequests: [],\r\n errors: [],\r\n cacheHits: 0,\r\n };\r\n const lastRequests = this.cacheManager.getServerTelemetry(this.telemetryCacheKey);\r\n return lastRequests || initialValue;\r\n }\r\n /**\r\n * Remove server telemetry cache entry\r\n */\r\n clearTelemetryCache() {\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, this.correlationId);\r\n }\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 = {\r\n failedRequests: lastRequests.failedRequests.slice(numErrorsFlushed * 2),\r\n errors: lastRequests.errors.slice(numErrorsFlushed),\r\n cacheHits: 0,\r\n };\r\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, serverTelemEntity, this.correlationId);\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) {\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] ||\r\n Constants.EMPTY_STRING;\r\n const correlationId = serverTelemetryEntity.failedRequests[2 * i + 1] ||\r\n Constants.EMPTY_STRING;\r\n const errorCode = serverTelemetryEntity.errors[i] || Constants.EMPTY_STRING;\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 +=\r\n apiId.toString().length +\r\n correlationId.toString().length +\r\n errorCode.length +\r\n 3;\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 }\r\n else {\r\n break;\r\n }\r\n }\r\n return maxErrors;\r\n }\r\n /**\r\n * Get the region discovery fields\r\n *\r\n * @returns string\r\n */\r\n getRegionDiscoveryFields() {\r\n const regionDiscoveryFields = [];\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 return regionDiscoveryFields.join(\",\");\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) {\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 * Set cache outcome\r\n */\r\n setCacheOutcome(cacheOutcome) {\r\n this.cacheOutcome = cacheOutcome;\r\n }\r\n setNativeBrokerErrorCode(errorCode) {\r\n const lastRequests = this.getLastRequests();\r\n lastRequests.nativeBrokerErrorCode = errorCode;\r\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests, this.correlationId);\r\n }\r\n getNativeBrokerErrorCode() {\r\n return this.getLastRequests().nativeBrokerErrorCode;\r\n }\r\n clearNativeBrokerErrorCode() {\r\n const lastRequests = this.getLastRequests();\r\n delete lastRequests.nativeBrokerErrorCode;\r\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests, this.correlationId);\r\n }\r\n static makeExtraSkuString(params) {\r\n return makeExtraSkuString(params);\r\n }\r\n}\n\nexport { ServerTelemetryManager };\n//# sourceMappingURL=ServerTelemetryManager.mjs.map\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- /*! @azure/msal-node-extensions v1.5.21 2025-08-19 */
1
+ /*! @azure/msal-node-extensions v1.5.23 2025-09-24 */
2
2
  'use strict';
3
- /*! @azure/msal-common v15.12.0 2025-08-19 */
3
+ /*! @azure/msal-common v15.13.0 2025-09-24 */
4
4
  /*
5
5
  * Copyright (c) Microsoft Corporation. All rights reserved.
6
6
  * Licensed under the MIT License.
@@ -1 +1 @@
1
- {"version":3,"file":"Constants.mjs","sources":["../../../../../../../lib/msal-common/dist/utils/Constants.mjs"],"sourcesContent":["/*! @azure/msal-common v15.12.0 2025-08-19 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nconst Constants = {\r\n LIBRARY_NAME: \"MSAL.JS\",\r\n SKU: \"msal.js.common\",\r\n // default authority\r\n DEFAULT_AUTHORITY: \"https://login.microsoftonline.com/common/\",\r\n DEFAULT_AUTHORITY_HOST: \"login.microsoftonline.com\",\r\n DEFAULT_COMMON_TENANT: \"common\",\r\n // ADFS String\r\n ADFS: \"adfs\",\r\n DSTS: \"dstsv2\",\r\n // Default AAD Instance Discovery Endpoint\r\n AAD_INSTANCE_DISCOVERY_ENDPT: \"https://login.microsoftonline.com/common/discovery/instance?api-version=1.1&authorization_endpoint=\",\r\n // CIAM URL\r\n CIAM_AUTH_URL: \".ciamlogin.com\",\r\n AAD_TENANT_DOMAIN_SUFFIX: \".onmicrosoft.com\",\r\n // Resource delimiter - used for certain cache entries\r\n RESOURCE_DELIM: \"|\",\r\n // Placeholder for non-existent account ids/objects\r\n NO_ACCOUNT: \"NO_ACCOUNT\",\r\n // Claims\r\n CLAIMS: \"claims\",\r\n // Consumer UTID\r\n CONSUMER_UTID: \"9188040d-6c67-4c5b-b112-36a304b66dad\",\r\n // Default scopes\r\n OPENID_SCOPE: \"openid\",\r\n PROFILE_SCOPE: \"profile\",\r\n OFFLINE_ACCESS_SCOPE: \"offline_access\",\r\n EMAIL_SCOPE: \"email\",\r\n CODE_GRANT_TYPE: \"authorization_code\",\r\n RT_GRANT_TYPE: \"refresh_token\",\r\n S256_CODE_CHALLENGE_METHOD: \"S256\",\r\n URL_FORM_CONTENT_TYPE: \"application/x-www-form-urlencoded;charset=utf-8\",\r\n AUTHORIZATION_PENDING: \"authorization_pending\",\r\n NOT_DEFINED: \"not_defined\",\r\n EMPTY_STRING: \"\",\r\n NOT_APPLICABLE: \"N/A\",\r\n NOT_AVAILABLE: \"Not Available\",\r\n FORWARD_SLASH: \"/\",\r\n IMDS_ENDPOINT: \"http://169.254.169.254/metadata/instance/compute/location\",\r\n IMDS_VERSION: \"2020-06-01\",\r\n IMDS_TIMEOUT: 2000,\r\n AZURE_REGION_AUTO_DISCOVER_FLAG: \"TryAutoDetect\",\r\n REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX: \"login.microsoft.com\",\r\n KNOWN_PUBLIC_CLOUDS: [\r\n \"login.microsoftonline.com\",\r\n \"login.windows.net\",\r\n \"login.microsoft.com\",\r\n \"sts.windows.net\",\r\n ],\r\n SHR_NONCE_VALIDITY: 240,\r\n INVALID_INSTANCE: \"invalid_instance\",\r\n};\r\nconst HttpStatus = {\r\n SUCCESS: 200,\r\n SUCCESS_RANGE_START: 200,\r\n SUCCESS_RANGE_END: 299,\r\n REDIRECT: 302,\r\n CLIENT_ERROR: 400,\r\n CLIENT_ERROR_RANGE_START: 400,\r\n BAD_REQUEST: 400,\r\n UNAUTHORIZED: 401,\r\n NOT_FOUND: 404,\r\n REQUEST_TIMEOUT: 408,\r\n GONE: 410,\r\n TOO_MANY_REQUESTS: 429,\r\n CLIENT_ERROR_RANGE_END: 499,\r\n SERVER_ERROR: 500,\r\n SERVER_ERROR_RANGE_START: 500,\r\n SERVICE_UNAVAILABLE: 503,\r\n GATEWAY_TIMEOUT: 504,\r\n SERVER_ERROR_RANGE_END: 599,\r\n MULTI_SIDED_ERROR: 600,\r\n};\r\nconst HttpMethod = {\r\n GET: \"GET\",\r\n POST: \"POST\",\r\n};\r\nconst OIDC_DEFAULT_SCOPES = [\r\n Constants.OPENID_SCOPE,\r\n Constants.PROFILE_SCOPE,\r\n Constants.OFFLINE_ACCESS_SCOPE,\r\n];\r\nconst OIDC_SCOPES = [...OIDC_DEFAULT_SCOPES, Constants.EMAIL_SCOPE];\r\n/**\r\n * Request header names\r\n */\r\nconst HeaderNames = {\r\n CONTENT_TYPE: \"Content-Type\",\r\n CONTENT_LENGTH: \"Content-Length\",\r\n RETRY_AFTER: \"Retry-After\",\r\n CCS_HEADER: \"X-AnchorMailbox\",\r\n WWWAuthenticate: \"WWW-Authenticate\",\r\n AuthenticationInfo: \"Authentication-Info\",\r\n X_MS_REQUEST_ID: \"x-ms-request-id\",\r\n X_MS_HTTP_VERSION: \"x-ms-httpver\",\r\n};\r\n/**\r\n * Persistent cache keys MSAL which stay while user is logged in.\r\n */\r\nconst PersistentCacheKeys = {\r\n ACTIVE_ACCOUNT_FILTERS: \"active-account-filters\", // new cache entry for active_account for a more robust version for browser\r\n};\r\n/**\r\n * String constants related to AAD Authority\r\n */\r\nconst AADAuthorityConstants = {\r\n COMMON: \"common\",\r\n ORGANIZATIONS: \"organizations\",\r\n CONSUMERS: \"consumers\",\r\n};\r\n/**\r\n * Claims request keys\r\n */\r\nconst ClaimsRequestKeys = {\r\n ACCESS_TOKEN: \"access_token\",\r\n XMS_CC: \"xms_cc\",\r\n};\r\n/**\r\n * we considered making this \"enum\" in the request instead of string, however it looks like the allowed list of\r\n * prompt values kept changing over past couple of years. There are some undocumented prompt values for some\r\n * internal partners too, hence the choice of generic \"string\" type instead of the \"enum\"\r\n */\r\nconst PromptValue = {\r\n LOGIN: \"login\",\r\n SELECT_ACCOUNT: \"select_account\",\r\n CONSENT: \"consent\",\r\n NONE: \"none\",\r\n CREATE: \"create\",\r\n NO_SESSION: \"no_session\",\r\n};\r\n/**\r\n * allowed values for codeVerifier\r\n */\r\nconst CodeChallengeMethodValues = {\r\n PLAIN: \"plain\",\r\n S256: \"S256\",\r\n};\r\n/**\r\n * Allowed values for response_type\r\n */\r\nconst OAuthResponseType = {\r\n CODE: \"code\",\r\n IDTOKEN_TOKEN: \"id_token token\",\r\n IDTOKEN_TOKEN_REFRESHTOKEN: \"id_token token refresh_token\",\r\n};\r\n/**\r\n * allowed values for server response type\r\n * @deprecated Use ResponseMode instead\r\n */\r\nconst ServerResponseType = {\r\n QUERY: \"query\",\r\n FRAGMENT: \"fragment\",\r\n};\r\n/**\r\n * allowed values for response_mode\r\n */\r\nconst ResponseMode = {\r\n QUERY: \"query\",\r\n FRAGMENT: \"fragment\",\r\n FORM_POST: \"form_post\",\r\n};\r\n/**\r\n * allowed grant_type\r\n */\r\nconst GrantType = {\r\n IMPLICIT_GRANT: \"implicit\",\r\n AUTHORIZATION_CODE_GRANT: \"authorization_code\",\r\n CLIENT_CREDENTIALS_GRANT: \"client_credentials\",\r\n RESOURCE_OWNER_PASSWORD_GRANT: \"password\",\r\n REFRESH_TOKEN_GRANT: \"refresh_token\",\r\n DEVICE_CODE_GRANT: \"device_code\",\r\n JWT_BEARER: \"urn:ietf:params:oauth:grant-type:jwt-bearer\",\r\n};\r\n/**\r\n * Account types in Cache\r\n */\r\nconst CacheAccountType = {\r\n MSSTS_ACCOUNT_TYPE: \"MSSTS\",\r\n ADFS_ACCOUNT_TYPE: \"ADFS\",\r\n MSAV1_ACCOUNT_TYPE: \"MSA\",\r\n GENERIC_ACCOUNT_TYPE: \"Generic\", // NTLM, Kerberos, FBA, Basic etc\r\n};\r\n/**\r\n * Separators used in cache\r\n */\r\nconst Separators = {\r\n CACHE_KEY_SEPARATOR: \"-\",\r\n CLIENT_INFO_SEPARATOR: \".\",\r\n};\r\n/**\r\n * Credential Type stored in the cache\r\n */\r\nconst CredentialType = {\r\n ID_TOKEN: \"IdToken\",\r\n ACCESS_TOKEN: \"AccessToken\",\r\n ACCESS_TOKEN_WITH_AUTH_SCHEME: \"AccessToken_With_AuthScheme\",\r\n REFRESH_TOKEN: \"RefreshToken\",\r\n};\r\n/**\r\n * Combine all cache types\r\n */\r\nconst CacheType = {\r\n ADFS: 1001,\r\n MSA: 1002,\r\n MSSTS: 1003,\r\n GENERIC: 1004,\r\n ACCESS_TOKEN: 2001,\r\n REFRESH_TOKEN: 2002,\r\n ID_TOKEN: 2003,\r\n APP_METADATA: 3001,\r\n UNDEFINED: 9999,\r\n};\r\n/**\r\n * More Cache related constants\r\n */\r\nconst APP_METADATA = \"appmetadata\";\r\nconst CLIENT_INFO = \"client_info\";\r\nconst THE_FAMILY_ID = \"1\";\r\nconst AUTHORITY_METADATA_CONSTANTS = {\r\n CACHE_KEY: \"authority-metadata\",\r\n REFRESH_TIME_SECONDS: 3600 * 24, // 24 Hours\r\n};\r\nconst AuthorityMetadataSource = {\r\n CONFIG: \"config\",\r\n CACHE: \"cache\",\r\n NETWORK: \"network\",\r\n HARDCODED_VALUES: \"hardcoded_values\",\r\n};\r\nconst SERVER_TELEM_CONSTANTS = {\r\n SCHEMA_VERSION: 5,\r\n MAX_LAST_HEADER_BYTES: 330,\r\n MAX_CACHED_ERRORS: 50,\r\n CACHE_KEY: \"server-telemetry\",\r\n CATEGORY_SEPARATOR: \"|\",\r\n VALUE_SEPARATOR: \",\",\r\n OVERFLOW_TRUE: \"1\",\r\n OVERFLOW_FALSE: \"0\",\r\n UNKNOWN_ERROR: \"unknown_error\",\r\n};\r\n/**\r\n * Type of the authentication request\r\n */\r\nconst AuthenticationScheme = {\r\n BEARER: \"Bearer\",\r\n POP: \"pop\",\r\n SSH: \"ssh-cert\",\r\n};\r\n/**\r\n * Constants related to throttling\r\n */\r\nconst ThrottlingConstants = {\r\n // Default time to throttle RequestThumbprint in seconds\r\n DEFAULT_THROTTLE_TIME_SECONDS: 60,\r\n // Default maximum time to throttle in seconds, overrides what the server sends back\r\n DEFAULT_MAX_THROTTLE_TIME_SECONDS: 3600,\r\n // Prefix for storing throttling entries\r\n THROTTLING_PREFIX: \"throttling\",\r\n // Value assigned to the x-ms-lib-capability header to indicate to the server the library supports throttling\r\n X_MS_LIB_CAPABILITY_VALUE: \"retry-after, h429\",\r\n};\r\nconst Errors = {\r\n INVALID_GRANT_ERROR: \"invalid_grant\",\r\n CLIENT_MISMATCH_ERROR: \"client_mismatch\",\r\n};\r\n/**\r\n * Password grant parameters\r\n */\r\nconst PasswordGrantConstants = {\r\n username: \"username\",\r\n password: \"password\",\r\n};\r\n/**\r\n * Region Discovery Sources\r\n */\r\nconst RegionDiscoverySources = {\r\n FAILED_AUTO_DETECTION: \"1\",\r\n INTERNAL_CACHE: \"2\",\r\n ENVIRONMENT_VARIABLE: \"3\",\r\n IMDS: \"4\",\r\n};\r\n/**\r\n * Region Discovery Outcomes\r\n */\r\nconst RegionDiscoveryOutcomes = {\r\n CONFIGURED_NO_AUTO_DETECTION: \"2\",\r\n AUTO_DETECTION_REQUESTED_SUCCESSFUL: \"4\",\r\n AUTO_DETECTION_REQUESTED_FAILED: \"5\",\r\n};\r\n/**\r\n * Specifies the reason for fetching the access token from the identity provider\r\n */\r\nconst CacheOutcome = {\r\n // When a token is found in the cache or the cache is not supposed to be hit when making the request\r\n NOT_APPLICABLE: \"0\",\r\n // When the token request goes to the identity provider because force_refresh was set to true. Also occurs if claims were requested\r\n FORCE_REFRESH_OR_CLAIMS: \"1\",\r\n // When the token request goes to the identity provider because no cached access token exists\r\n NO_CACHED_ACCESS_TOKEN: \"2\",\r\n // When the token request goes to the identity provider because cached access token expired\r\n CACHED_ACCESS_TOKEN_EXPIRED: \"3\",\r\n // When the token request goes to the identity provider because refresh_in was used and the existing token needs to be refreshed\r\n PROACTIVELY_REFRESHED: \"4\",\r\n};\r\nconst JsonWebTokenTypes = {\r\n Jwt: \"JWT\",\r\n Jwk: \"JWK\",\r\n Pop: \"pop\",\r\n};\r\nconst ONE_DAY_IN_MS = 86400000;\r\n// Token renewal offset default in seconds\r\nconst DEFAULT_TOKEN_RENEWAL_OFFSET_SEC = 300;\r\nconst EncodingTypes = {\r\n BASE64: \"base64\",\r\n HEX: \"hex\",\r\n UTF8: \"utf-8\",\r\n};\n\nexport { AADAuthorityConstants, APP_METADATA, AUTHORITY_METADATA_CONSTANTS, AuthenticationScheme, AuthorityMetadataSource, CLIENT_INFO, CacheAccountType, CacheOutcome, CacheType, ClaimsRequestKeys, CodeChallengeMethodValues, Constants, CredentialType, DEFAULT_TOKEN_RENEWAL_OFFSET_SEC, EncodingTypes, Errors, GrantType, HeaderNames, HttpMethod, HttpStatus, JsonWebTokenTypes, OAuthResponseType, OIDC_DEFAULT_SCOPES, OIDC_SCOPES, ONE_DAY_IN_MS, PasswordGrantConstants, PersistentCacheKeys, PromptValue, RegionDiscoveryOutcomes, RegionDiscoverySources, ResponseMode, SERVER_TELEM_CONSTANTS, Separators, ServerResponseType, THE_FAMILY_ID, ThrottlingConstants };\n//# sourceMappingURL=Constants.mjs.map\n"],"names":[],"mappings":";;AAAA;AAEA;AACA;AACA;AACA;AACK,MAAC,SAAS,GAAG;AAClB,IAAI,YAAY,EAAE,SAAS;AAC3B,IAAI,GAAG,EAAE,gBAAgB;AACzB;AACA,IAAI,iBAAiB,EAAE,2CAA2C;AAClE,IAAI,sBAAsB,EAAE,2BAA2B;AACvD,IAAI,qBAAqB,EAAE,QAAQ;AACnC;AACA,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,IAAI,EAAE,QAAQ;AAClB;AACA,IAAI,4BAA4B,EAAE,qGAAqG;AACvI;AACA,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,wBAAwB,EAAE,kBAAkB;AAChD;AACA,IAAI,cAAc,EAAE,GAAG;AACvB;AACA,IAAI,UAAU,EAAE,YAAY;AAC5B;AACA,IAAI,MAAM,EAAE,QAAQ;AACpB;AACA,IAAI,aAAa,EAAE,sCAAsC;AACzD;AACA,IAAI,YAAY,EAAE,QAAQ;AAC1B,IAAI,aAAa,EAAE,SAAS;AAC5B,IAAI,oBAAoB,EAAE,gBAAgB;AAC1C,IAAI,WAAW,EAAE,OAAO;AACxB,IAAI,eAAe,EAAE,oBAAoB;AACzC,IAAI,aAAa,EAAE,eAAe;AAClC,IAAI,0BAA0B,EAAE,MAAM;AACtC,IAAI,qBAAqB,EAAE,iDAAiD;AAC5E,IAAI,qBAAqB,EAAE,uBAAuB;AAClD,IAAI,WAAW,EAAE,aAAa;AAC9B,IAAI,YAAY,EAAE,EAAE;AACpB,IAAI,cAAc,EAAE,KAAK;AACzB,IAAI,aAAa,EAAE,eAAe;AAClC,IAAI,aAAa,EAAE,GAAG;AACtB,IAAI,aAAa,EAAE,2DAA2D;AAC9E,IAAI,YAAY,EAAE,YAAY;AAC9B,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,+BAA+B,EAAE,eAAe;AACpD,IAAI,iCAAiC,EAAE,qBAAqB;AAC5D,IAAI,mBAAmB,EAAE;AACzB,QAAQ,2BAA2B;AACnC,QAAQ,mBAAmB;AAC3B,QAAQ,qBAAqB;AAC7B,QAAQ,iBAAiB;AACzB,KAAK;AACL,IAAI,kBAAkB,EAAE,GAAG;AAC3B,IAAI,gBAAgB,EAAE,kBAAkB;AACxC,EAAE;AAkEF;AACA;AACA;AACA;AACA;AACK,MAAC,WAAW,GAAG;AACpB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,cAAc,EAAE,gBAAgB;AACpC,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,UAAU,EAAE,YAAY;AAC5B,EAAE;AAqDF;AACA;AACA;AACK,MAAC,UAAU,GAAG;AACnB,IAAI,mBAAmB,EAAE,GAEzB,EAAE;AAwCG,MAAC,sBAAsB,GAAG;AAC/B,IAAI,cAAc,EAAE,CAAC;AACrB,IAAI,qBAAqB,EAAE,GAAG;AAC9B,IAAI,iBAAiB,EAAE,EAAE;AACzB,IAAI,SAAS,EAAE,kBAAkB;AACjC,IAAI,kBAAkB,EAAE,GAAG;AAC3B,IAAI,eAAe,EAAE,GAAG;AACxB,IAAI,aAAa,EAAE,GAAG;AACtB,IAAI,cAAc,EAAE,GAAG;AACvB,IAAI,aAAa,EAAE,eAAe;AAClC,EAAE;AACF;AACA;AACA;AACK,MAAC,oBAAoB,GAAG;AAC7B,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,GAAG,EAAE,KAAK;AACd,IAAI,GAAG,EAAE,UAAU;AACnB,EAAE;AA0CF;AACA;AACA;AACK,MAAC,YAAY,GAAG;AACrB;AACA,IAAI,cAAc,EAAE,GASpB;;;;"}
1
+ {"version":3,"file":"Constants.mjs","sources":["../../../../../../../lib/msal-common/dist/utils/Constants.mjs"],"sourcesContent":["/*! @azure/msal-common v15.13.0 2025-09-24 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nconst Constants = {\r\n LIBRARY_NAME: \"MSAL.JS\",\r\n SKU: \"msal.js.common\",\r\n // default authority\r\n DEFAULT_AUTHORITY: \"https://login.microsoftonline.com/common/\",\r\n DEFAULT_AUTHORITY_HOST: \"login.microsoftonline.com\",\r\n DEFAULT_COMMON_TENANT: \"common\",\r\n // ADFS String\r\n ADFS: \"adfs\",\r\n DSTS: \"dstsv2\",\r\n // Default AAD Instance Discovery Endpoint\r\n AAD_INSTANCE_DISCOVERY_ENDPT: \"https://login.microsoftonline.com/common/discovery/instance?api-version=1.1&authorization_endpoint=\",\r\n // CIAM URL\r\n CIAM_AUTH_URL: \".ciamlogin.com\",\r\n AAD_TENANT_DOMAIN_SUFFIX: \".onmicrosoft.com\",\r\n // Resource delimiter - used for certain cache entries\r\n RESOURCE_DELIM: \"|\",\r\n // Placeholder for non-existent account ids/objects\r\n NO_ACCOUNT: \"NO_ACCOUNT\",\r\n // Claims\r\n CLAIMS: \"claims\",\r\n // Consumer UTID\r\n CONSUMER_UTID: \"9188040d-6c67-4c5b-b112-36a304b66dad\",\r\n // Default scopes\r\n OPENID_SCOPE: \"openid\",\r\n PROFILE_SCOPE: \"profile\",\r\n OFFLINE_ACCESS_SCOPE: \"offline_access\",\r\n EMAIL_SCOPE: \"email\",\r\n CODE_GRANT_TYPE: \"authorization_code\",\r\n RT_GRANT_TYPE: \"refresh_token\",\r\n S256_CODE_CHALLENGE_METHOD: \"S256\",\r\n URL_FORM_CONTENT_TYPE: \"application/x-www-form-urlencoded;charset=utf-8\",\r\n AUTHORIZATION_PENDING: \"authorization_pending\",\r\n NOT_DEFINED: \"not_defined\",\r\n EMPTY_STRING: \"\",\r\n NOT_APPLICABLE: \"N/A\",\r\n NOT_AVAILABLE: \"Not Available\",\r\n FORWARD_SLASH: \"/\",\r\n IMDS_ENDPOINT: \"http://169.254.169.254/metadata/instance/compute/location\",\r\n IMDS_VERSION: \"2020-06-01\",\r\n IMDS_TIMEOUT: 2000,\r\n AZURE_REGION_AUTO_DISCOVER_FLAG: \"TryAutoDetect\",\r\n REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX: \"login.microsoft.com\",\r\n KNOWN_PUBLIC_CLOUDS: [\r\n \"login.microsoftonline.com\",\r\n \"login.windows.net\",\r\n \"login.microsoft.com\",\r\n \"sts.windows.net\",\r\n ],\r\n SHR_NONCE_VALIDITY: 240,\r\n INVALID_INSTANCE: \"invalid_instance\",\r\n};\r\nconst HttpStatus = {\r\n SUCCESS: 200,\r\n SUCCESS_RANGE_START: 200,\r\n SUCCESS_RANGE_END: 299,\r\n REDIRECT: 302,\r\n CLIENT_ERROR: 400,\r\n CLIENT_ERROR_RANGE_START: 400,\r\n BAD_REQUEST: 400,\r\n UNAUTHORIZED: 401,\r\n NOT_FOUND: 404,\r\n REQUEST_TIMEOUT: 408,\r\n GONE: 410,\r\n TOO_MANY_REQUESTS: 429,\r\n CLIENT_ERROR_RANGE_END: 499,\r\n SERVER_ERROR: 500,\r\n SERVER_ERROR_RANGE_START: 500,\r\n SERVICE_UNAVAILABLE: 503,\r\n GATEWAY_TIMEOUT: 504,\r\n SERVER_ERROR_RANGE_END: 599,\r\n MULTI_SIDED_ERROR: 600,\r\n};\r\nconst HttpMethod = {\r\n GET: \"GET\",\r\n POST: \"POST\",\r\n};\r\nconst OIDC_DEFAULT_SCOPES = [\r\n Constants.OPENID_SCOPE,\r\n Constants.PROFILE_SCOPE,\r\n Constants.OFFLINE_ACCESS_SCOPE,\r\n];\r\nconst OIDC_SCOPES = [...OIDC_DEFAULT_SCOPES, Constants.EMAIL_SCOPE];\r\n/**\r\n * Request header names\r\n */\r\nconst HeaderNames = {\r\n CONTENT_TYPE: \"Content-Type\",\r\n CONTENT_LENGTH: \"Content-Length\",\r\n RETRY_AFTER: \"Retry-After\",\r\n CCS_HEADER: \"X-AnchorMailbox\",\r\n WWWAuthenticate: \"WWW-Authenticate\",\r\n AuthenticationInfo: \"Authentication-Info\",\r\n X_MS_REQUEST_ID: \"x-ms-request-id\",\r\n X_MS_HTTP_VERSION: \"x-ms-httpver\",\r\n};\r\n/**\r\n * Persistent cache keys MSAL which stay while user is logged in.\r\n */\r\nconst PersistentCacheKeys = {\r\n ACTIVE_ACCOUNT_FILTERS: \"active-account-filters\", // new cache entry for active_account for a more robust version for browser\r\n};\r\n/**\r\n * String constants related to AAD Authority\r\n */\r\nconst AADAuthorityConstants = {\r\n COMMON: \"common\",\r\n ORGANIZATIONS: \"organizations\",\r\n CONSUMERS: \"consumers\",\r\n};\r\n/**\r\n * Claims request keys\r\n */\r\nconst ClaimsRequestKeys = {\r\n ACCESS_TOKEN: \"access_token\",\r\n XMS_CC: \"xms_cc\",\r\n};\r\n/**\r\n * we considered making this \"enum\" in the request instead of string, however it looks like the allowed list of\r\n * prompt values kept changing over past couple of years. There are some undocumented prompt values for some\r\n * internal partners too, hence the choice of generic \"string\" type instead of the \"enum\"\r\n */\r\nconst PromptValue = {\r\n LOGIN: \"login\",\r\n SELECT_ACCOUNT: \"select_account\",\r\n CONSENT: \"consent\",\r\n NONE: \"none\",\r\n CREATE: \"create\",\r\n NO_SESSION: \"no_session\",\r\n};\r\n/**\r\n * allowed values for codeVerifier\r\n */\r\nconst CodeChallengeMethodValues = {\r\n PLAIN: \"plain\",\r\n S256: \"S256\",\r\n};\r\n/**\r\n * Allowed values for response_type\r\n */\r\nconst OAuthResponseType = {\r\n CODE: \"code\",\r\n IDTOKEN_TOKEN: \"id_token token\",\r\n IDTOKEN_TOKEN_REFRESHTOKEN: \"id_token token refresh_token\",\r\n};\r\n/**\r\n * allowed values for server response type\r\n * @deprecated Use ResponseMode instead\r\n */\r\nconst ServerResponseType = {\r\n QUERY: \"query\",\r\n FRAGMENT: \"fragment\",\r\n};\r\n/**\r\n * allowed values for response_mode\r\n */\r\nconst ResponseMode = {\r\n QUERY: \"query\",\r\n FRAGMENT: \"fragment\",\r\n FORM_POST: \"form_post\",\r\n};\r\n/**\r\n * allowed grant_type\r\n */\r\nconst GrantType = {\r\n IMPLICIT_GRANT: \"implicit\",\r\n AUTHORIZATION_CODE_GRANT: \"authorization_code\",\r\n CLIENT_CREDENTIALS_GRANT: \"client_credentials\",\r\n RESOURCE_OWNER_PASSWORD_GRANT: \"password\",\r\n REFRESH_TOKEN_GRANT: \"refresh_token\",\r\n DEVICE_CODE_GRANT: \"device_code\",\r\n JWT_BEARER: \"urn:ietf:params:oauth:grant-type:jwt-bearer\",\r\n};\r\n/**\r\n * Account types in Cache\r\n */\r\nconst CacheAccountType = {\r\n MSSTS_ACCOUNT_TYPE: \"MSSTS\",\r\n ADFS_ACCOUNT_TYPE: \"ADFS\",\r\n MSAV1_ACCOUNT_TYPE: \"MSA\",\r\n GENERIC_ACCOUNT_TYPE: \"Generic\", // NTLM, Kerberos, FBA, Basic etc\r\n};\r\n/**\r\n * Separators used in cache\r\n */\r\nconst Separators = {\r\n CACHE_KEY_SEPARATOR: \"-\",\r\n CLIENT_INFO_SEPARATOR: \".\",\r\n};\r\n/**\r\n * Credential Type stored in the cache\r\n */\r\nconst CredentialType = {\r\n ID_TOKEN: \"IdToken\",\r\n ACCESS_TOKEN: \"AccessToken\",\r\n ACCESS_TOKEN_WITH_AUTH_SCHEME: \"AccessToken_With_AuthScheme\",\r\n REFRESH_TOKEN: \"RefreshToken\",\r\n};\r\n/**\r\n * Combine all cache types\r\n */\r\nconst CacheType = {\r\n ADFS: 1001,\r\n MSA: 1002,\r\n MSSTS: 1003,\r\n GENERIC: 1004,\r\n ACCESS_TOKEN: 2001,\r\n REFRESH_TOKEN: 2002,\r\n ID_TOKEN: 2003,\r\n APP_METADATA: 3001,\r\n UNDEFINED: 9999,\r\n};\r\n/**\r\n * More Cache related constants\r\n */\r\nconst APP_METADATA = \"appmetadata\";\r\nconst CLIENT_INFO = \"client_info\";\r\nconst THE_FAMILY_ID = \"1\";\r\nconst AUTHORITY_METADATA_CONSTANTS = {\r\n CACHE_KEY: \"authority-metadata\",\r\n REFRESH_TIME_SECONDS: 3600 * 24, // 24 Hours\r\n};\r\nconst AuthorityMetadataSource = {\r\n CONFIG: \"config\",\r\n CACHE: \"cache\",\r\n NETWORK: \"network\",\r\n HARDCODED_VALUES: \"hardcoded_values\",\r\n};\r\nconst SERVER_TELEM_CONSTANTS = {\r\n SCHEMA_VERSION: 5,\r\n MAX_LAST_HEADER_BYTES: 330,\r\n MAX_CACHED_ERRORS: 50,\r\n CACHE_KEY: \"server-telemetry\",\r\n CATEGORY_SEPARATOR: \"|\",\r\n VALUE_SEPARATOR: \",\",\r\n OVERFLOW_TRUE: \"1\",\r\n OVERFLOW_FALSE: \"0\",\r\n UNKNOWN_ERROR: \"unknown_error\",\r\n};\r\n/**\r\n * Type of the authentication request\r\n */\r\nconst AuthenticationScheme = {\r\n BEARER: \"Bearer\",\r\n POP: \"pop\",\r\n SSH: \"ssh-cert\",\r\n};\r\n/**\r\n * Constants related to throttling\r\n */\r\nconst ThrottlingConstants = {\r\n // Default time to throttle RequestThumbprint in seconds\r\n DEFAULT_THROTTLE_TIME_SECONDS: 60,\r\n // Default maximum time to throttle in seconds, overrides what the server sends back\r\n DEFAULT_MAX_THROTTLE_TIME_SECONDS: 3600,\r\n // Prefix for storing throttling entries\r\n THROTTLING_PREFIX: \"throttling\",\r\n // Value assigned to the x-ms-lib-capability header to indicate to the server the library supports throttling\r\n X_MS_LIB_CAPABILITY_VALUE: \"retry-after, h429\",\r\n};\r\nconst Errors = {\r\n INVALID_GRANT_ERROR: \"invalid_grant\",\r\n CLIENT_MISMATCH_ERROR: \"client_mismatch\",\r\n};\r\n/**\r\n * Password grant parameters\r\n */\r\nconst PasswordGrantConstants = {\r\n username: \"username\",\r\n password: \"password\",\r\n};\r\n/**\r\n * Region Discovery Sources\r\n */\r\nconst RegionDiscoverySources = {\r\n FAILED_AUTO_DETECTION: \"1\",\r\n INTERNAL_CACHE: \"2\",\r\n ENVIRONMENT_VARIABLE: \"3\",\r\n IMDS: \"4\",\r\n};\r\n/**\r\n * Region Discovery Outcomes\r\n */\r\nconst RegionDiscoveryOutcomes = {\r\n CONFIGURED_NO_AUTO_DETECTION: \"2\",\r\n AUTO_DETECTION_REQUESTED_SUCCESSFUL: \"4\",\r\n AUTO_DETECTION_REQUESTED_FAILED: \"5\",\r\n};\r\n/**\r\n * Specifies the reason for fetching the access token from the identity provider\r\n */\r\nconst CacheOutcome = {\r\n // When a token is found in the cache or the cache is not supposed to be hit when making the request\r\n NOT_APPLICABLE: \"0\",\r\n // When the token request goes to the identity provider because force_refresh was set to true. Also occurs if claims were requested\r\n FORCE_REFRESH_OR_CLAIMS: \"1\",\r\n // When the token request goes to the identity provider because no cached access token exists\r\n NO_CACHED_ACCESS_TOKEN: \"2\",\r\n // When the token request goes to the identity provider because cached access token expired\r\n CACHED_ACCESS_TOKEN_EXPIRED: \"3\",\r\n // When the token request goes to the identity provider because refresh_in was used and the existing token needs to be refreshed\r\n PROACTIVELY_REFRESHED: \"4\",\r\n};\r\nconst JsonWebTokenTypes = {\r\n Jwt: \"JWT\",\r\n Jwk: \"JWK\",\r\n Pop: \"pop\",\r\n};\r\nconst ONE_DAY_IN_MS = 86400000;\r\n// Token renewal offset default in seconds\r\nconst DEFAULT_TOKEN_RENEWAL_OFFSET_SEC = 300;\r\nconst EncodingTypes = {\r\n BASE64: \"base64\",\r\n HEX: \"hex\",\r\n UTF8: \"utf-8\",\r\n};\n\nexport { AADAuthorityConstants, APP_METADATA, AUTHORITY_METADATA_CONSTANTS, AuthenticationScheme, AuthorityMetadataSource, CLIENT_INFO, CacheAccountType, CacheOutcome, CacheType, ClaimsRequestKeys, CodeChallengeMethodValues, Constants, CredentialType, DEFAULT_TOKEN_RENEWAL_OFFSET_SEC, EncodingTypes, Errors, GrantType, HeaderNames, HttpMethod, HttpStatus, JsonWebTokenTypes, OAuthResponseType, OIDC_DEFAULT_SCOPES, OIDC_SCOPES, ONE_DAY_IN_MS, PasswordGrantConstants, PersistentCacheKeys, PromptValue, RegionDiscoveryOutcomes, RegionDiscoverySources, ResponseMode, SERVER_TELEM_CONSTANTS, Separators, ServerResponseType, THE_FAMILY_ID, ThrottlingConstants };\n//# sourceMappingURL=Constants.mjs.map\n"],"names":[],"mappings":";;AAAA;AAEA;AACA;AACA;AACA;AACK,MAAC,SAAS,GAAG;AAClB,IAAI,YAAY,EAAE,SAAS;AAC3B,IAAI,GAAG,EAAE,gBAAgB;AACzB;AACA,IAAI,iBAAiB,EAAE,2CAA2C;AAClE,IAAI,sBAAsB,EAAE,2BAA2B;AACvD,IAAI,qBAAqB,EAAE,QAAQ;AACnC;AACA,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,IAAI,EAAE,QAAQ;AAClB;AACA,IAAI,4BAA4B,EAAE,qGAAqG;AACvI;AACA,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,wBAAwB,EAAE,kBAAkB;AAChD;AACA,IAAI,cAAc,EAAE,GAAG;AACvB;AACA,IAAI,UAAU,EAAE,YAAY;AAC5B;AACA,IAAI,MAAM,EAAE,QAAQ;AACpB;AACA,IAAI,aAAa,EAAE,sCAAsC;AACzD;AACA,IAAI,YAAY,EAAE,QAAQ;AAC1B,IAAI,aAAa,EAAE,SAAS;AAC5B,IAAI,oBAAoB,EAAE,gBAAgB;AAC1C,IAAI,WAAW,EAAE,OAAO;AACxB,IAAI,eAAe,EAAE,oBAAoB;AACzC,IAAI,aAAa,EAAE,eAAe;AAClC,IAAI,0BAA0B,EAAE,MAAM;AACtC,IAAI,qBAAqB,EAAE,iDAAiD;AAC5E,IAAI,qBAAqB,EAAE,uBAAuB;AAClD,IAAI,WAAW,EAAE,aAAa;AAC9B,IAAI,YAAY,EAAE,EAAE;AACpB,IAAI,cAAc,EAAE,KAAK;AACzB,IAAI,aAAa,EAAE,eAAe;AAClC,IAAI,aAAa,EAAE,GAAG;AACtB,IAAI,aAAa,EAAE,2DAA2D;AAC9E,IAAI,YAAY,EAAE,YAAY;AAC9B,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,+BAA+B,EAAE,eAAe;AACpD,IAAI,iCAAiC,EAAE,qBAAqB;AAC5D,IAAI,mBAAmB,EAAE;AACzB,QAAQ,2BAA2B;AACnC,QAAQ,mBAAmB;AAC3B,QAAQ,qBAAqB;AAC7B,QAAQ,iBAAiB;AACzB,KAAK;AACL,IAAI,kBAAkB,EAAE,GAAG;AAC3B,IAAI,gBAAgB,EAAE,kBAAkB;AACxC,EAAE;AAkEF;AACA;AACA;AACA;AACA;AACK,MAAC,WAAW,GAAG;AACpB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,cAAc,EAAE,gBAAgB;AACpC,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,UAAU,EAAE,YAAY;AAC5B,EAAE;AAqDF;AACA;AACA;AACK,MAAC,UAAU,GAAG;AACnB,IAAI,mBAAmB,EAAE,GAEzB,EAAE;AAwCG,MAAC,sBAAsB,GAAG;AAC/B,IAAI,cAAc,EAAE,CAAC;AACrB,IAAI,qBAAqB,EAAE,GAAG;AAC9B,IAAI,iBAAiB,EAAE,EAAE;AACzB,IAAI,SAAS,EAAE,kBAAkB;AACjC,IAAI,kBAAkB,EAAE,GAAG;AAC3B,IAAI,eAAe,EAAE,GAAG;AACxB,IAAI,aAAa,EAAE,GAAG;AACtB,IAAI,cAAc,EAAE,GAAG;AACvB,IAAI,aAAa,EAAE,eAAe;AAClC,EAAE;AACF;AACA;AACA;AACK,MAAC,oBAAoB,GAAG;AAC7B,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,GAAG,EAAE,KAAK;AACd,IAAI,GAAG,EAAE,UAAU;AACnB,EAAE;AA0CF;AACA;AACA;AACK,MAAC,YAAY,GAAG;AACrB;AACA,IAAI,cAAc,EAAE,GASpB;;;;"}
@@ -1,6 +1,6 @@
1
- /*! @azure/msal-node-extensions v1.5.21 2025-08-19 */
1
+ /*! @azure/msal-node-extensions v1.5.23 2025-09-24 */
2
2
  'use strict';
3
- /*! @azure/msal-common v15.12.0 2025-08-19 */
3
+ /*! @azure/msal-common v15.13.0 2025-09-24 */
4
4
  /**
5
5
  * Convert seconds to JS Date object. Seconds can be in a number or string format or undefined (will still return a date).
6
6
  * @param seconds
@@ -1 +1 @@
1
- {"version":3,"file":"TimeUtils.mjs","sources":["../../../../../../../lib/msal-common/dist/utils/TimeUtils.mjs"],"sourcesContent":["/*! @azure/msal-common v15.12.0 2025-08-19 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Utility functions for managing date and time operations.\r\n */\r\n/**\r\n * return the current time in Unix time (seconds).\r\n */\r\nfunction nowSeconds() {\r\n // Date.getTime() returns in milliseconds.\r\n return Math.round(new Date().getTime() / 1000.0);\r\n}\r\n/**\r\n * Converts JS Date object to seconds\r\n * @param date Date\r\n */\r\nfunction toSecondsFromDate(date) {\r\n // Convert date to seconds\r\n return date.getTime() / 1000;\r\n}\r\n/**\r\n * Convert seconds to JS Date object. Seconds can be in a number or string format or undefined (will still return a date).\r\n * @param seconds\r\n */\r\nfunction toDateFromSeconds(seconds) {\r\n if (seconds) {\r\n return new Date(Number(seconds) * 1000);\r\n }\r\n return new Date();\r\n}\r\n/**\r\n * check if a token is expired based on given UTC time in seconds.\r\n * @param expiresOn\r\n */\r\nfunction isTokenExpired(expiresOn, offset) {\r\n // check for access token expiry\r\n const expirationSec = Number(expiresOn) || 0;\r\n const offsetCurrentTimeSec = nowSeconds() + offset;\r\n // If current time + offset is greater than token expiration time, then token is expired.\r\n return offsetCurrentTimeSec > expirationSec;\r\n}\r\n/**\r\n * Checks if a cache entry is expired based on the last updated time and cache retention days.\r\n * @param lastUpdatedAt\r\n * @param cacheRetentionDays\r\n * @returns\r\n */\r\nfunction isCacheExpired(lastUpdatedAt, cacheRetentionDays) {\r\n const cacheExpirationTimestamp = Number(lastUpdatedAt) + cacheRetentionDays * 24 * 60 * 60 * 1000;\r\n return Date.now() > cacheExpirationTimestamp;\r\n}\r\n/**\r\n * If the current time is earlier than the time that a token was cached at, we must discard the token\r\n * i.e. The system clock was turned back after acquiring the cached token\r\n * @param cachedAt\r\n * @param offset\r\n */\r\nfunction wasClockTurnedBack(cachedAt) {\r\n const cachedAtSec = Number(cachedAt);\r\n return cachedAtSec > nowSeconds();\r\n}\r\n/**\r\n * Waits for t number of milliseconds\r\n * @param t number\r\n * @param value T\r\n */\r\nfunction delay(t, value) {\r\n return new Promise((resolve) => setTimeout(() => resolve(value), t));\r\n}\n\nexport { delay, isCacheExpired, isTokenExpired, nowSeconds, toDateFromSeconds, toSecondsFromDate, wasClockTurnedBack };\n//# sourceMappingURL=TimeUtils.mjs.map\n"],"names":[],"mappings":";;AAAA;AAwBA;AACA;AACA;AACA;AACA,SAAS,iBAAiB,CAAC,OAAO,EAAE;AACpC,IAAI,IAAI,OAAO,EAAE;AACjB,QAAQ,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AAChD,KAAK;AACL,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;AACtB;;;;"}
1
+ {"version":3,"file":"TimeUtils.mjs","sources":["../../../../../../../lib/msal-common/dist/utils/TimeUtils.mjs"],"sourcesContent":["/*! @azure/msal-common v15.13.0 2025-09-24 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Utility functions for managing date and time operations.\r\n */\r\n/**\r\n * return the current time in Unix time (seconds).\r\n */\r\nfunction nowSeconds() {\r\n // Date.getTime() returns in milliseconds.\r\n return Math.round(new Date().getTime() / 1000.0);\r\n}\r\n/**\r\n * Converts JS Date object to seconds\r\n * @param date Date\r\n */\r\nfunction toSecondsFromDate(date) {\r\n // Convert date to seconds\r\n return date.getTime() / 1000;\r\n}\r\n/**\r\n * Convert seconds to JS Date object. Seconds can be in a number or string format or undefined (will still return a date).\r\n * @param seconds\r\n */\r\nfunction toDateFromSeconds(seconds) {\r\n if (seconds) {\r\n return new Date(Number(seconds) * 1000);\r\n }\r\n return new Date();\r\n}\r\n/**\r\n * check if a token is expired based on given UTC time in seconds.\r\n * @param expiresOn\r\n */\r\nfunction isTokenExpired(expiresOn, offset) {\r\n // check for access token expiry\r\n const expirationSec = Number(expiresOn) || 0;\r\n const offsetCurrentTimeSec = nowSeconds() + offset;\r\n // If current time + offset is greater than token expiration time, then token is expired.\r\n return offsetCurrentTimeSec > expirationSec;\r\n}\r\n/**\r\n * Checks if a cache entry is expired based on the last updated time and cache retention days.\r\n * @param lastUpdatedAt\r\n * @param cacheRetentionDays\r\n * @returns\r\n */\r\nfunction isCacheExpired(lastUpdatedAt, cacheRetentionDays) {\r\n const cacheExpirationTimestamp = Number(lastUpdatedAt) + cacheRetentionDays * 24 * 60 * 60 * 1000;\r\n return Date.now() > cacheExpirationTimestamp;\r\n}\r\n/**\r\n * If the current time is earlier than the time that a token was cached at, we must discard the token\r\n * i.e. The system clock was turned back after acquiring the cached token\r\n * @param cachedAt\r\n * @param offset\r\n */\r\nfunction wasClockTurnedBack(cachedAt) {\r\n const cachedAtSec = Number(cachedAt);\r\n return cachedAtSec > nowSeconds();\r\n}\r\n/**\r\n * Waits for t number of milliseconds\r\n * @param t number\r\n * @param value T\r\n */\r\nfunction delay(t, value) {\r\n return new Promise((resolve) => setTimeout(() => resolve(value), t));\r\n}\n\nexport { delay, isCacheExpired, isTokenExpired, nowSeconds, toDateFromSeconds, toSecondsFromDate, wasClockTurnedBack };\n//# sourceMappingURL=TimeUtils.mjs.map\n"],"names":[],"mappings":";;AAAA;AAwBA;AACA;AACA;AACA;AACA,SAAS,iBAAiB,CAAC,OAAO,EAAE;AACpC,IAAI,IAAI,OAAO,EAAE;AACjB,QAAQ,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AAChD,KAAK;AACL,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;AACtB;;;;"}
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-node-extensions v1.5.21 2025-08-19 */
1
+ /*! @azure/msal-node-extensions v1.5.23 2025-09-24 */
2
2
  'use strict';
3
3
  import { promises } from 'fs';
4
4
  import { pid } from 'process';
@@ -1,2 +1,2 @@
1
1
  export declare const name = "@azure/msal-node-extensions";
2
- export declare const version = "1.5.21";
2
+ export declare const version = "1.5.23";
@@ -1,8 +1,8 @@
1
- /*! @azure/msal-node-extensions v1.5.21 2025-08-19 */
1
+ /*! @azure/msal-node-extensions v1.5.23 2025-09-24 */
2
2
  'use strict';
3
3
  /* eslint-disable header/header */
4
4
  const name = "@azure/msal-node-extensions";
5
- const version = "1.5.21";
5
+ const version = "1.5.23";
6
6
 
7
7
  export { name, version };
8
8
  //# sourceMappingURL=packageMetadata.mjs.map
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-node-extensions v1.5.21 2025-08-19 */
1
+ /*! @azure/msal-node-extensions v1.5.23 2025-09-24 */
2
2
  'use strict';
3
3
  import { PersistenceError } from '../error/PersistenceError.mjs';
4
4
  import { Constants } from '../utils/Constants.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-node-extensions v1.5.21 2025-08-19 */
1
+ /*! @azure/msal-node-extensions v1.5.23 2025-09-24 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-node-extensions v1.5.21 2025-08-19 */
1
+ /*! @azure/msal-node-extensions v1.5.23 2025-09-24 */
2
2
  'use strict';
3
3
  import { promises } from 'fs';
4
4
  import { dirname } from 'path';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-node-extensions v1.5.21 2025-08-19 */
1
+ /*! @azure/msal-node-extensions v1.5.23 2025-09-24 */
2
2
  'use strict';
3
3
  import { FilePersistence } from './FilePersistence.mjs';
4
4
  import { PersistenceError } from '../error/PersistenceError.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-node-extensions v1.5.21 2025-08-19 */
1
+ /*! @azure/msal-node-extensions v1.5.23 2025-09-24 */
2
2
  'use strict';
3
3
  import keytar from 'keytar';
4
4
  import { FilePersistence } from './FilePersistence.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-node-extensions v1.5.21 2025-08-19 */
1
+ /*! @azure/msal-node-extensions v1.5.23 2025-09-24 */
2
2
  'use strict';
3
3
  import keytar from 'keytar';
4
4
  import { FilePersistence } from './FilePersistence.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-node-extensions v1.5.21 2025-08-19 */
1
+ /*! @azure/msal-node-extensions v1.5.23 2025-09-24 */
2
2
  'use strict';
3
3
  import { CrossPlatformLock } from '../lock/CrossPlatformLock.mjs';
4
4
  import { pid } from 'process';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-node-extensions v1.5.21 2025-08-19 */
1
+ /*! @azure/msal-node-extensions v1.5.23 2025-09-24 */
2
2
  'use strict';
3
3
  import { FilePersistenceWithDataProtection } from './FilePersistenceWithDataProtection.mjs';
4
4
  import { LibSecretPersistence } from './LibSecretPersistence.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-node-extensions v1.5.21 2025-08-19 */
1
+ /*! @azure/msal-node-extensions v1.5.23 2025-09-24 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-node-extensions v1.5.21 2025-08-19 */
1
+ /*! @azure/msal-node-extensions v1.5.23 2025-09-24 */
2
2
  'use strict';
3
3
  import path from 'path';
4
4
  import { Constants, Platform } from './Constants.mjs';
@@ -0,0 +1,8 @@
1
+ export declare class StringUtils {
2
+ /**
3
+ * Converts a numeric tag to a string representation
4
+ * @param tag - The numeric tag to convert
5
+ * @returns The string representation of the tag
6
+ */
7
+ static tagToString(tag: number): string;
8
+ }
@@ -0,0 +1,32 @@
1
+ /*! @azure/msal-node-extensions v1.5.23 2025-09-24 */
2
+ 'use strict';
3
+ /*
4
+ * Copyright (c) Microsoft Corporation. All rights reserved.
5
+ * Licensed under the MIT License.
6
+ */
7
+ class StringUtils {
8
+ /**
9
+ * Converts a numeric tag to a string representation
10
+ * @param tag - The numeric tag to convert
11
+ * @returns The string representation of the tag
12
+ */
13
+ static tagToString(tag) {
14
+ if (tag === 0) {
15
+ return "UNTAG";
16
+ }
17
+ const tagSymbolSpace = "abcdefghijklmnopqrstuvwxyz0123456789****************************";
18
+ let tagBuffer = "*****";
19
+ const chars = [
20
+ tagSymbolSpace[(tag >> 24) & 0x3f],
21
+ tagSymbolSpace[(tag >> 18) & 0x3f],
22
+ tagSymbolSpace[(tag >> 12) & 0x3f],
23
+ tagSymbolSpace[(tag >> 6) & 0x3f],
24
+ tagSymbolSpace[(tag >> 0) & 0x3f],
25
+ ];
26
+ tagBuffer = chars.join("");
27
+ return tagBuffer;
28
+ }
29
+ }
30
+
31
+ export { StringUtils };
32
+ //# sourceMappingURL=StringUtils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringUtils.mjs","sources":["../../src/utils/StringUtils.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;AAGG;MAEU,WAAW,CAAA;AACpB;;;;AAIG;IACH,OAAO,WAAW,CAAC,GAAW,EAAA;QAC1B,IAAI,GAAG,KAAK,CAAC,EAAE;AACX,YAAA,OAAO,OAAO,CAAC;AAClB,SAAA;QAED,MAAM,cAAc,GAChB,kEAAkE,CAAC;QACvE,IAAI,SAAS,GAAG,OAAO,CAAC;AAExB,QAAA,MAAM,KAAK,GAAG;YACV,cAAc,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC;YAClC,cAAc,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC;YAClC,cAAc,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC;YAClC,cAAc,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC;YACjC,cAAc,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC;SACpC,CAAC;AAEF,QAAA,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAE3B,QAAA,OAAO,SAAS,CAAC;KACpB;AACJ;;;;"}
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-node-extensions v1.5.21 2025-08-19 */
1
+ /*! @azure/msal-node-extensions v1.5.23 2025-09-24 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.