perimeterx-js-core 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/README.md +1 -1
  2. package/lib/cjs/activities/utils.js +8 -1
  3. package/lib/cjs/config/{StaticConfigurationBase.js → ConfigurationBase.js} +127 -85
  4. package/lib/cjs/config/ConfigurationBuilderBase.js +129 -0
  5. package/lib/cjs/config/{DefaultConfigurations.js → defaults/DefaultCommonConfigurationParams.js} +7 -9
  6. package/lib/cjs/config/defaults/DefaultConfigurationParams.js +18 -0
  7. package/lib/cjs/config/defaults/DefaultRemoteConfigurationParams.js +8 -0
  8. package/lib/cjs/config/defaults/DefaultStaticConfigurationParams.js +11 -0
  9. package/lib/cjs/config/defaults/index.js +20 -0
  10. package/lib/cjs/config/index.js +20 -5
  11. package/lib/cjs/config/params/ConfigurationParams.js +2 -0
  12. package/lib/cjs/config/params/InitializeConfigurationParams.js +2 -0
  13. package/lib/cjs/config/params/RemoteConfigurationParams.js +2 -0
  14. package/lib/cjs/config/params/StaticConfigurationParams.js +2 -0
  15. package/lib/cjs/config/params/index.js +21 -0
  16. package/lib/cjs/config/remote_config/DefaultRemoteConfigUpdater.js +188 -0
  17. package/lib/cjs/config/remote_config/IRemoteConfigUpdater.js +2 -0
  18. package/lib/cjs/config/remote_config/constants.js +6 -0
  19. package/lib/cjs/config/remote_config/index.js +22 -0
  20. package/lib/cjs/config/remote_config/model/RemoteConfigData.js +2 -0
  21. package/lib/cjs/config/remote_config/model/RemoteConfigUpdateRequestData.js +2 -0
  22. package/lib/cjs/config/remote_config/model/index.js +18 -0
  23. package/lib/cjs/config/remote_config/service_client/HttpRemoteConfigServiceClient.js +77 -0
  24. package/lib/cjs/config/remote_config/service_client/IRemoteConfigServiceClient.js +2 -0
  25. package/lib/cjs/config/remote_config/service_client/index.js +18 -0
  26. package/lib/cjs/config/remote_config/storage_client/IRemoteConfigStorageClient.js +2 -0
  27. package/lib/cjs/config/remote_config/storage_client/index.js +17 -0
  28. package/lib/cjs/context/DefaultContext.js +6 -0
  29. package/lib/cjs/enforcer/EnforcerBase.js +16 -0
  30. package/lib/cjs/logger/HttpLogServiceClient.js +6 -0
  31. package/lib/cjs/logger/LoggerBase.js +17 -6
  32. package/lib/cjs/phase/flow/FilterFlow.js +9 -4
  33. package/lib/cjs/phase/impl/FirstPartyPhase.js +4 -1
  34. package/lib/cjs/phase/impl/SendLogsPhase.js +5 -9
  35. package/lib/cjs/phase/impl/UpdateRemoteConfigPhase.js +71 -0
  36. package/lib/cjs/phase/impl/index.js +1 -0
  37. package/lib/cjs/risk_token/token/v2/DefaultTokenV2.js +2 -0
  38. package/lib/cjs/telemetry/DefaultTelemetry.js +2 -31
  39. package/lib/cjs/telemetry/constants.js +1 -5
  40. package/lib/cjs/utils/WaitsUntil.js +58 -0
  41. package/lib/cjs/utils/constants.js +4 -3
  42. package/lib/cjs/utils/index.js +2 -0
  43. package/lib/cjs/utils/timestamp_hmac_header_validator/DefaultTimestampHmacHeaderValidator.js +45 -0
  44. package/lib/cjs/utils/timestamp_hmac_header_validator/ITimestampHmacHeaderValidator.js +2 -0
  45. package/lib/cjs/utils/timestamp_hmac_header_validator/index.js +18 -0
  46. package/lib/cjs/utils/utils.js +5 -1
  47. package/lib/esm/activities/utils.js +6 -0
  48. package/lib/esm/config/{StaticConfigurationBase.js → ConfigurationBase.js} +24 -3
  49. package/lib/esm/config/ConfigurationBuilderBase.js +60 -0
  50. package/lib/esm/config/{DefaultConfigurations.js → defaults/DefaultCommonConfigurationParams.js} +6 -8
  51. package/lib/esm/config/defaults/DefaultConfigurationParams.js +8 -0
  52. package/lib/esm/config/defaults/DefaultRemoteConfigurationParams.js +5 -0
  53. package/lib/esm/config/defaults/DefaultStaticConfigurationParams.js +8 -0
  54. package/lib/esm/config/defaults/index.js +4 -0
  55. package/lib/esm/config/index.js +6 -2
  56. package/lib/esm/config/params/ConfigurationParams.js +1 -0
  57. package/lib/esm/config/params/InitializeConfigurationParams.js +1 -0
  58. package/lib/esm/config/params/RemoteConfigurationParams.js +1 -0
  59. package/lib/esm/config/params/StaticConfigurationParams.js +1 -0
  60. package/lib/esm/config/params/index.js +5 -0
  61. package/lib/esm/config/remote_config/DefaultRemoteConfigUpdater.js +97 -0
  62. package/lib/esm/config/remote_config/IRemoteConfigUpdater.js +1 -0
  63. package/lib/esm/config/remote_config/constants.js +3 -0
  64. package/lib/esm/config/remote_config/index.js +6 -0
  65. package/lib/esm/config/remote_config/model/RemoteConfigData.js +1 -0
  66. package/lib/esm/config/remote_config/model/RemoteConfigUpdateRequestData.js +1 -0
  67. package/lib/esm/config/remote_config/model/index.js +2 -0
  68. package/lib/esm/config/remote_config/service_client/HttpRemoteConfigServiceClient.js +27 -0
  69. package/lib/esm/config/remote_config/service_client/IRemoteConfigServiceClient.js +1 -0
  70. package/lib/esm/config/remote_config/service_client/index.js +2 -0
  71. package/lib/esm/config/remote_config/storage_client/IRemoteConfigStorageClient.js +1 -0
  72. package/lib/esm/config/remote_config/storage_client/index.js +1 -0
  73. package/lib/esm/context/DefaultContext.js +6 -0
  74. package/lib/esm/enforcer/EnforcerBase.js +16 -0
  75. package/lib/esm/logger/HttpLogServiceClient.js +8 -0
  76. package/lib/esm/logger/LoggerBase.js +11 -6
  77. package/lib/esm/phase/flow/FilterFlow.js +10 -5
  78. package/lib/esm/phase/impl/FirstPartyPhase.js +5 -1
  79. package/lib/esm/phase/impl/SendLogsPhase.js +1 -3
  80. package/lib/esm/phase/impl/UpdateRemoteConfigPhase.js +23 -0
  81. package/lib/esm/phase/impl/index.js +1 -0
  82. package/lib/esm/risk_token/token/v2/DefaultTokenV2.js +2 -0
  83. package/lib/esm/telemetry/DefaultTelemetry.js +5 -34
  84. package/lib/esm/telemetry/constants.js +0 -4
  85. package/lib/esm/utils/WaitsUntil.js +12 -0
  86. package/lib/esm/utils/constants.js +3 -2
  87. package/lib/esm/utils/index.js +2 -0
  88. package/lib/esm/utils/timestamp_hmac_header_validator/DefaultTimestampHmacHeaderValidator.js +44 -0
  89. package/lib/esm/utils/timestamp_hmac_header_validator/ITimestampHmacHeaderValidator.js +1 -0
  90. package/lib/esm/utils/timestamp_hmac_header_validator/index.js +2 -0
  91. package/lib/esm/utils/utils.js +3 -0
  92. package/lib/types/activities/model/CommonActivityDetails.d.ts +1 -0
  93. package/lib/types/activities/utils.d.ts +31 -0
  94. package/lib/types/config/{StaticConfigurationBase.d.ts → ConfigurationBase.d.ts} +8 -2
  95. package/lib/types/config/ConfigurationBuilderBase.d.ts +13 -0
  96. package/lib/types/config/IConfiguration.d.ts +25 -1
  97. package/lib/types/config/defaults/DefaultCommonConfigurationParams.d.ts +2 -0
  98. package/lib/types/config/defaults/DefaultConfigurationParams.d.ts +2 -0
  99. package/lib/types/config/defaults/DefaultRemoteConfigurationParams.d.ts +2 -0
  100. package/lib/types/config/defaults/DefaultStaticConfigurationParams.d.ts +2 -0
  101. package/lib/types/config/defaults/index.d.ts +4 -0
  102. package/lib/types/config/index.d.ts +6 -4
  103. package/lib/types/config/{ConfigurationParams.d.ts → params/CommonConfigurationParams.d.ts} +10 -12
  104. package/lib/types/config/params/ConfigurationParams.d.ts +4 -0
  105. package/lib/types/config/params/InitializeConfigurationParams.d.ts +3 -0
  106. package/lib/types/config/params/RemoteConfigurationParams.d.ts +5 -0
  107. package/lib/types/config/params/StaticConfigurationParams.d.ts +8 -0
  108. package/lib/types/config/params/index.d.ts +5 -0
  109. package/lib/types/config/remote_config/DefaultRemoteConfigUpdater.d.ts +35 -0
  110. package/lib/types/config/remote_config/IRemoteConfigUpdater.d.ts +6 -0
  111. package/lib/types/config/remote_config/constants.d.ts +3 -0
  112. package/lib/types/config/remote_config/index.d.ts +6 -0
  113. package/lib/types/config/remote_config/model/RemoteConfigData.d.ts +7 -0
  114. package/lib/types/config/remote_config/model/RemoteConfigUpdateRequestData.d.ts +3 -0
  115. package/lib/types/config/remote_config/model/index.d.ts +2 -0
  116. package/lib/types/config/remote_config/service_client/HttpRemoteConfigServiceClient.d.ts +12 -0
  117. package/lib/types/config/remote_config/service_client/IRemoteConfigServiceClient.d.ts +5 -0
  118. package/lib/types/config/remote_config/service_client/index.d.ts +2 -0
  119. package/lib/types/config/remote_config/storage_client/IRemoteConfigStorageClient.d.ts +6 -0
  120. package/lib/types/config/remote_config/storage_client/index.d.ts +1 -0
  121. package/lib/types/context/DefaultContext.d.ts +2 -0
  122. package/lib/types/context/interfaces/IContext.d.ts +4 -0
  123. package/lib/types/enforcer/options/EnforcerBaseOptions.d.ts +4 -0
  124. package/lib/types/logger/HttpLogServiceClient.d.ts +2 -0
  125. package/lib/types/logger/ILogger.d.ts +4 -2
  126. package/lib/types/logger/LoggerBase.d.ts +3 -3
  127. package/lib/types/logger/model/LogMetadata.d.ts +2 -0
  128. package/lib/types/logger/model/LogRecord.d.ts +1 -1
  129. package/lib/types/phase/flow/FilterFlow.d.ts +1 -1
  130. package/lib/types/phase/impl/FirstPartyPhase.d.ts +3 -1
  131. package/lib/types/phase/impl/UpdateRemoteConfigPhase.d.ts +12 -0
  132. package/lib/types/phase/impl/index.d.ts +1 -0
  133. package/lib/types/telemetry/DefaultTelemetry.d.ts +11 -12
  134. package/lib/types/telemetry/constants.d.ts +0 -4
  135. package/lib/types/utils/WaitsUntil.d.ts +9 -0
  136. package/lib/types/utils/constants.d.ts +3 -2
  137. package/lib/types/utils/index.d.ts +2 -0
  138. package/lib/types/utils/timestamp_hmac_header_validator/DefaultTimestampHmacHeaderValidator.d.ts +13 -0
  139. package/lib/types/utils/timestamp_hmac_header_validator/ITimestampHmacHeaderValidator.d.ts +3 -0
  140. package/lib/types/utils/timestamp_hmac_header_validator/index.d.ts +2 -0
  141. package/lib/types/utils/utils.d.ts +1 -0
  142. package/package.json +1 -1
  143. package/lib/types/config/DefaultConfigurations.d.ts +0 -2
  144. /package/lib/cjs/config/{ConfigurationParams.js → params/CommonConfigurationParams.js} +0 -0
  145. /package/lib/esm/config/{ConfigurationParams.js → params/CommonConfigurationParams.js} +0 -0
package/README.md CHANGED
@@ -60,7 +60,7 @@ your enforcer's configuration setup.
60
60
  `IConfiguration` - Represents the enforcer configuration and is required to construct most other components
61
61
  in this library.
62
62
 
63
- `StaticConfigurationBase` - An implementation of the above interface that validates provided configurations and merges
63
+ `ConfigurationBase` - An implementation of the above interface that validates provided configurations and merges
64
64
  them with default ones.
65
65
 
66
66
  `DefaultConfigurations` - A static object complete with all default enforcer configurations.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toHeaderEntryArray = exports.createAdditionalS2SActivityDetails = exports.createBlockActivityDetails = exports.createPageRequestedActivityDetails = exports.addResponseDataToAsyncActivityCommonDetails = exports.addRiskApiDataToAsyncActivityCommonDetails = exports.addTokenDataToDetails = exports.addRequestDataToDetails = exports.addServerDataToDetails = exports.addTlsDataToDetails = exports.addProductDataToDetails = exports.addCustomParametersToDetails = exports.addRootContextDataToDetails = exports.createCommonActivityDetails = exports.createAsyncActivityCommonDetails = exports.createActivityDetails = exports.createAsyncActivity = void 0;
3
+ exports.toHeaderEntryArray = exports.createAdditionalS2SActivityDetails = exports.createBlockActivityDetails = exports.createPageRequestedActivityDetails = exports.addResponseDataToAsyncActivityCommonDetails = exports.addRiskApiDataToAsyncActivityCommonDetails = exports.addTokenDataToDetails = exports.addRequestDataToDetails = exports.addServerDataToDetails = exports.addTlsDataToDetails = exports.addProductDataToDetails = exports.addCustomParametersToDetails = exports.addConfigDataToDetails = exports.addRootContextDataToDetails = exports.createCommonActivityDetails = exports.createAsyncActivityCommonDetails = exports.createActivityDetails = exports.createAsyncActivity = void 0;
4
4
  var utils_1 = require("../utils");
5
5
  var products_1 = require("../products");
6
6
  var blocker_1 = require("../blocker");
@@ -58,6 +58,7 @@ var createCommonActivityDetails = function (config, context) {
58
58
  // Note: risk_mode currently reflects only Bot Defender mode
59
59
  risk_mode: ((_a = context.productData.bd) === null || _a === void 0 ? void 0 : _a.isMonitoredRequest) ? utils_1.ModuleMode.MONITOR : utils_1.ModuleMode.ACTIVE_BLOCKING,
60
60
  };
61
+ (0, exports.addConfigDataToDetails)(details, config);
61
62
  (0, exports.addRootContextDataToDetails)(details, context);
62
63
  (0, exports.addRequestDataToDetails)(details, context.requestData);
63
64
  (0, exports.addTokenDataToDetails)(details, context.tokenData);
@@ -77,6 +78,12 @@ var addRootContextDataToDetails = function (details, context) {
77
78
  });
78
79
  };
79
80
  exports.addRootContextDataToDetails = addRootContextDataToDetails;
81
+ var addConfigDataToDetails = function (details, config) {
82
+ if (config.remoteConfigVersion) {
83
+ details.remote_config_version = config.remoteConfigVersion;
84
+ }
85
+ };
86
+ exports.addConfigDataToDetails = addConfigDataToDetails;
80
87
  var addCustomParametersToDetails = function (details, customParameters) {
81
88
  if (customParameters) {
82
89
  Object.assign(details, customParameters);