@prosopo/provider 4.15.14 → 4.15.15

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 (232) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +106 -106
  2. package/.turbo/turbo-build$colon$tsc.log +24 -24
  3. package/.turbo/turbo-build.log +107 -104
  4. package/CHANGELOG.md +49 -0
  5. package/dist/_virtual/_rolldown/runtime.js +3 -0
  6. package/dist/api/admin/apiAdminRoutesProvider.js +27 -46
  7. package/dist/api/admin/apiClearAllCountersEndpoint.js +62 -57
  8. package/dist/api/admin/apiDnsEventEndpoint.js +79 -92
  9. package/dist/api/admin/apiGetAllDecisionMachinesEndpoint.js +43 -45
  10. package/dist/api/admin/apiGetDecisionMachineEndpoint.js +40 -40
  11. package/dist/api/admin/apiRegisterSiteKeyEndpoint.js +23 -22
  12. package/dist/api/admin/apiRegisterSiteKeysEndpoint.js +26 -30
  13. package/dist/api/admin/apiRemoveAllDecisionMachinesEndpoint.js +35 -37
  14. package/dist/api/admin/apiRemoveDecisionMachineEndpoint.js +40 -40
  15. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.d.ts.map +1 -1
  16. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.js +29 -31
  17. package/dist/api/admin/apiRemoveSiteKeyEndpoint.js +33 -29
  18. package/dist/api/admin/apiRemoveSiteKeysEndpoint.js +32 -31
  19. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.js +43 -35
  20. package/dist/api/admin/apiUpdateDecisionMachineEndpoint.js +43 -63
  21. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.js +36 -35
  22. package/dist/api/admin/createApiAdminRoutesProvider.js +6 -8
  23. package/dist/api/blacklistRequestInspector.js +285 -377
  24. package/dist/api/block.js +17 -30
  25. package/dist/api/captcha/checkSpamEmail.js +88 -98
  26. package/dist/api/captcha/contextAwareValidation.js +21 -15
  27. package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.js +126 -140
  28. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js +11 -12
  29. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js +236 -299
  30. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.js +10 -13
  31. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +336 -462
  32. package/dist/api/captcha/getFrictionlessCaptchaChallenge/honeypotResponse.js +17 -14
  33. package/dist/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.js +27 -27
  34. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js +42 -63
  35. package/dist/api/captcha/getFrictionlessCaptchaChallenge.js +2 -4
  36. package/dist/api/captcha/getImageCaptchaChallenge.js +136 -207
  37. package/dist/api/captcha/getPoWCaptchaChallenge.js +128 -198
  38. package/dist/api/captcha/getPuzzleCaptchaChallenge.js +132 -201
  39. package/dist/api/captcha/maintenanceModeResponses.js +38 -47
  40. package/dist/api/captcha/submitImageCaptchaSolution.js +75 -101
  41. package/dist/api/captcha/submitPoWCaptchaSolution.js +137 -207
  42. package/dist/api/captcha/submitPuzzleCaptchaSolution.js +73 -105
  43. package/dist/api/captcha.js +76 -58
  44. package/dist/api/dnsEventUrl.js +20 -22
  45. package/dist/api/domainMiddleware.js +104 -115
  46. package/dist/api/forwardVerify.js +62 -48
  47. package/dist/api/handshakeTimingMiddleware.js +43 -62
  48. package/dist/api/hardBlockVerdictCache.js +114 -117
  49. package/dist/api/headerCheckMiddleware.js +34 -34
  50. package/dist/api/ignoreMiddleware.js +13 -15
  51. package/dist/api/ipInfoMiddleware.js +17 -19
  52. package/dist/api/ja4.js +149 -188
  53. package/dist/api/ja4Middleware.js +39 -54
  54. package/dist/api/metrics.js +245 -257
  55. package/dist/api/public.js +52 -54
  56. package/dist/api/robotsMiddleware.js +10 -10
  57. package/dist/api/startProviderApi.js +205 -232
  58. package/dist/api/testSiteKey.js +16 -16
  59. package/dist/api/validateAddress.js +23 -21
  60. package/dist/api/verify.js +334 -377
  61. package/dist/cjs/_virtual/_rolldown/runtime.cjs +23 -0
  62. package/dist/cjs/api/admin/apiAdminRoutesProvider.cjs +40 -59
  63. package/dist/cjs/api/admin/apiClearAllCountersEndpoint.cjs +63 -58
  64. package/dist/cjs/api/admin/apiDnsEventEndpoint.cjs +82 -93
  65. package/dist/cjs/api/admin/apiGetAllDecisionMachinesEndpoint.cjs +46 -48
  66. package/dist/cjs/api/admin/apiGetDecisionMachineEndpoint.cjs +41 -41
  67. package/dist/cjs/api/admin/apiRegisterSiteKeyEndpoint.cjs +25 -24
  68. package/dist/cjs/api/admin/apiRegisterSiteKeysEndpoint.cjs +28 -32
  69. package/dist/cjs/api/admin/apiRemoveAllDecisionMachinesEndpoint.cjs +38 -40
  70. package/dist/cjs/api/admin/apiRemoveDecisionMachineEndpoint.cjs +41 -41
  71. package/dist/cjs/api/admin/apiRemoveDetectorKeyEndpoint.cjs +31 -33
  72. package/dist/cjs/api/admin/apiRemoveSiteKeyEndpoint.cjs +35 -31
  73. package/dist/cjs/api/admin/apiRemoveSiteKeysEndpoint.cjs +34 -33
  74. package/dist/cjs/api/admin/apiToggleMaintenanceModeEndpoint.cjs +45 -35
  75. package/dist/cjs/api/admin/apiUpdateDecisionMachineEndpoint.cjs +45 -65
  76. package/dist/cjs/api/admin/apiUpdateDetectorKeyEndpoint.cjs +38 -37
  77. package/dist/cjs/api/admin/createApiAdminRoutesProvider.cjs +7 -8
  78. package/dist/cjs/api/blacklistRequestInspector.cjs +288 -376
  79. package/dist/cjs/api/block.cjs +18 -30
  80. package/dist/cjs/api/captcha/checkSpamEmail.cjs +90 -100
  81. package/dist/cjs/api/captcha/contextAwareValidation.cjs +21 -14
  82. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.cjs +125 -140
  83. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/constants.cjs +10 -10
  84. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs +238 -301
  85. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.cjs +9 -12
  86. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +349 -473
  87. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/honeypotResponse.cjs +18 -14
  88. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.cjs +26 -26
  89. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.cjs +42 -63
  90. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge.cjs +2 -3
  91. package/dist/cjs/api/captcha/getImageCaptchaChallenge.cjs +138 -208
  92. package/dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs +131 -200
  93. package/dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs +135 -203
  94. package/dist/cjs/api/captcha/maintenanceModeResponses.cjs +38 -44
  95. package/dist/cjs/api/captcha/submitImageCaptchaSolution.cjs +77 -102
  96. package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +140 -209
  97. package/dist/cjs/api/captcha/submitPuzzleCaptchaSolution.cjs +76 -107
  98. package/dist/cjs/api/captcha.cjs +79 -58
  99. package/dist/cjs/api/dnsEventUrl.cjs +20 -21
  100. package/dist/cjs/api/domainMiddleware.cjs +106 -117
  101. package/dist/cjs/api/forwardVerify.cjs +63 -49
  102. package/dist/cjs/api/handshakeTimingMiddleware.cjs +43 -61
  103. package/dist/cjs/api/hardBlockVerdictCache.cjs +114 -114
  104. package/dist/cjs/api/headerCheckMiddleware.cjs +34 -34
  105. package/dist/cjs/api/ignoreMiddleware.cjs +12 -14
  106. package/dist/cjs/api/ipInfoMiddleware.cjs +16 -18
  107. package/dist/cjs/api/ja4.cjs +149 -187
  108. package/dist/cjs/api/ja4Middleware.cjs +40 -53
  109. package/dist/cjs/api/metrics.cjs +229 -228
  110. package/dist/cjs/api/public.cjs +57 -57
  111. package/dist/cjs/api/robotsMiddleware.cjs +9 -9
  112. package/dist/cjs/api/startProviderApi.cjs +219 -237
  113. package/dist/cjs/api/testSiteKey.cjs +15 -14
  114. package/dist/cjs/api/validateAddress.cjs +24 -21
  115. package/dist/cjs/api/verify.cjs +338 -379
  116. package/dist/cjs/compositeIpAddress.cjs +40 -47
  117. package/dist/cjs/index.cjs +65 -71
  118. package/dist/cjs/pairs.cjs +31 -35
  119. package/dist/cjs/rules/lang.cjs +10 -14
  120. package/dist/cjs/schedulers/captchaScheduler.cjs +26 -32
  121. package/dist/cjs/schedulers/getClientList.cjs +35 -33
  122. package/dist/cjs/schedulers/setClientEntropy.cjs +35 -33
  123. package/dist/cjs/schedulers/updateSpamEmailDomains.cjs +39 -43
  124. package/dist/cjs/services/ipComparison.cjs +122 -119
  125. package/dist/cjs/tasks/captchaManager.cjs +407 -486
  126. package/dist/cjs/tasks/client/clientTasks.cjs +347 -470
  127. package/dist/cjs/tasks/dataset/datasetTasks.cjs +25 -29
  128. package/dist/cjs/tasks/dataset/datasetTasksUtils.cjs +16 -32
  129. package/dist/cjs/tasks/decisionMachine/decisionMachineRunner.cjs +220 -307
  130. package/dist/cjs/tasks/detection/decodeBehavior.cjs +408 -317
  131. package/dist/cjs/tasks/detection/decodePayload.cjs +686 -468
  132. package/dist/cjs/tasks/detection/decodeSimd.cjs +462 -304
  133. package/dist/cjs/tasks/detection/getBotScore.cjs +37 -43
  134. package/dist/cjs/tasks/dnsEvent/enrichDnsEvent.cjs +88 -71
  135. package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +348 -486
  136. package/dist/cjs/tasks/frictionless/frictionlessTasksUtils.cjs +13 -30
  137. package/dist/cjs/tasks/frictionless/routingMachine.cjs +71 -55
  138. package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +555 -806
  139. package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasksUtils.cjs +22 -23
  140. package/dist/cjs/tasks/index.cjs +2 -4
  141. package/dist/cjs/tasks/powCaptcha/powTasks.cjs +491 -687
  142. package/dist/cjs/tasks/powCaptcha/powTasksUtils.cjs +17 -29
  143. package/dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs +422 -591
  144. package/dist/cjs/tasks/puzzleCaptcha/puzzleTasksUtils.cjs +8 -5
  145. package/dist/cjs/tasks/spam/checkSpamEmail.cjs +133 -141
  146. package/dist/cjs/tasks/spam/checkTrafficFilter.cjs +118 -76
  147. package/dist/cjs/tasks/spam/evaluateEmailSpamRules.cjs +75 -84
  148. package/dist/cjs/tasks/spam/updateSpamEmailDomains.cjs +40 -56
  149. package/dist/cjs/tasks/tasks.cjs +107 -158
  150. package/dist/cjs/util/usageCounters.cjs +220 -211
  151. package/dist/cjs/util.cjs +329 -359
  152. package/dist/cjs/utils/devicePlatform.cjs +14 -8
  153. package/dist/cjs/utils/dns.cjs +68 -93
  154. package/dist/cjs/utils/hashUserAgent.cjs +14 -7
  155. package/dist/cjs/utils/hashUserIp.cjs +14 -6
  156. package/dist/cjs/utils/honeypot/encoders.cjs +74 -80
  157. package/dist/cjs/utils/honeypot/phraseBank.cjs +51 -44
  158. package/dist/cjs/utils/normalizeRequestIp.cjs +33 -25
  159. package/dist/compositeIpAddress.js +38 -46
  160. package/dist/index.js +12 -56
  161. package/dist/pairs.js +31 -37
  162. package/dist/rules/lang.js +11 -15
  163. package/dist/schedulers/captchaScheduler.js +25 -31
  164. package/dist/schedulers/getClientList.js +34 -32
  165. package/dist/schedulers/setClientEntropy.js +34 -32
  166. package/dist/schedulers/updateSpamEmailDomains.js +38 -42
  167. package/dist/services/ipComparison.js +122 -119
  168. package/dist/tasks/captchaManager.js +403 -483
  169. package/dist/tasks/client/clientTasks.js +343 -467
  170. package/dist/tasks/dataset/datasetTasks.js +24 -28
  171. package/dist/tasks/dataset/datasetTasksUtils.js +15 -31
  172. package/dist/tasks/decisionMachine/decisionMachineRunner.js +217 -306
  173. package/dist/tasks/detection/getBotScore.js +37 -43
  174. package/dist/tasks/dnsEvent/enrichDnsEvent.d.ts.map +1 -1
  175. package/dist/tasks/dnsEvent/enrichDnsEvent.js +88 -74
  176. package/dist/tasks/dnsEvent/enrichDnsEvent.js.map +1 -1
  177. package/dist/tasks/frictionless/frictionlessTasks.js +342 -479
  178. package/dist/tasks/frictionless/frictionlessTasksUtils.js +14 -32
  179. package/dist/tasks/frictionless/routingMachine.js +72 -56
  180. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +550 -801
  181. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js +21 -22
  182. package/dist/tasks/index.js +1 -3
  183. package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -1
  184. package/dist/tasks/powCaptcha/powTasks.js +486 -682
  185. package/dist/tasks/powCaptcha/powTasks.js.map +1 -1
  186. package/dist/tasks/powCaptcha/powTasksUtils.js +15 -28
  187. package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts.map +1 -1
  188. package/dist/tasks/puzzleCaptcha/puzzleTasks.js +417 -586
  189. package/dist/tasks/puzzleCaptcha/puzzleTasks.js.map +1 -1
  190. package/dist/tasks/puzzleCaptcha/puzzleTasksUtils.js +9 -6
  191. package/dist/tasks/spam/checkSpamEmail.js +133 -141
  192. package/dist/tasks/spam/checkTrafficFilter.d.ts +1 -0
  193. package/dist/tasks/spam/checkTrafficFilter.d.ts.map +1 -1
  194. package/dist/tasks/spam/checkTrafficFilter.js +117 -77
  195. package/dist/tasks/spam/checkTrafficFilter.js.map +1 -1
  196. package/dist/tasks/spam/evaluateEmailSpamRules.js +75 -86
  197. package/dist/tasks/spam/updateSpamEmailDomains.js +36 -54
  198. package/dist/tasks/tasks.js +98 -150
  199. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.js +4 -1
  200. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.js.map +1 -1
  201. package/dist/tests/unit/api/block.unit.test.js +8 -4
  202. package/dist/tests/unit/api/block.unit.test.js.map +1 -1
  203. package/dist/tests/unit/api/captcha/maintenanceModeShortCircuit.unit.test.js +8 -6
  204. package/dist/tests/unit/api/captcha/maintenanceModeShortCircuit.unit.test.js.map +1 -1
  205. package/dist/tests/unit/api/forwardVerify.unit.test.js +3 -1
  206. package/dist/tests/unit/api/forwardVerify.unit.test.js.map +1 -1
  207. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js +15 -7
  208. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js.map +1 -1
  209. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js +24 -18
  210. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js.map +1 -1
  211. package/dist/tests/unit/schedulers/getClientList.unit.test.js +19 -13
  212. package/dist/tests/unit/schedulers/getClientList.unit.test.js.map +1 -1
  213. package/dist/tests/unit/schedulers/setClientEntropy.unit.test.js +19 -13
  214. package/dist/tests/unit/schedulers/setClientEntropy.unit.test.js.map +1 -1
  215. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js.map +1 -1
  216. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js +22 -16
  217. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js.map +1 -1
  218. package/dist/tests/unit/tasks/spam/checkTrafficFilter.unit.test.js +140 -0
  219. package/dist/tests/unit/tasks/spam/checkTrafficFilter.unit.test.js.map +1 -1
  220. package/dist/tests/unit/testUtils/mockProviderEnv.d.ts +7 -7
  221. package/dist/util/usageCounters.js +220 -212
  222. package/dist/util.d.ts.map +1 -1
  223. package/dist/util.js +327 -364
  224. package/dist/util.js.map +1 -1
  225. package/dist/utils/devicePlatform.js +15 -9
  226. package/dist/utils/dns.js +64 -77
  227. package/dist/utils/hashUserAgent.js +14 -7
  228. package/dist/utils/hashUserIp.js +14 -6
  229. package/dist/utils/honeypot/encoders.js +74 -80
  230. package/dist/utils/honeypot/phraseBank.js +49 -44
  231. package/dist/utils/normalizeRequestIp.js +34 -26
  232. package/package.json +24 -24
@@ -1,34 +1,32 @@
1
- import { ApiEndpointResponseStatus } from "@prosopo/api-route";
2
1
  import { getLogger } from "@prosopo/logger";
3
2
  import { RemoveDetectorKeyBodySpec } from "@prosopo/types";
4
- class ApiRemoveDetectorKeyEndpoint {
5
- constructor(clientTaskManager) {
6
- this.clientTaskManager = clientTaskManager;
7
- }
8
- async processRequest(args, logger) {
9
- logger = logger ? logger.with({}, "admin:detector-key:remove") : getLogger("info", "provider:admin:detector-key:remove");
10
- try {
11
- const { detectorKey, expirationInSeconds } = args;
12
- logger.info(() => ({ msg: "Removing detector key" }));
13
- await this.clientTaskManager.removeDetectorKey(
14
- detectorKey,
15
- expirationInSeconds
16
- );
17
- return {
18
- status: ApiEndpointResponseStatus.SUCCESS
19
- };
20
- } catch (error) {
21
- logger.error(() => ({ err: error, msg: "Error updating detector key" }));
22
- return {
23
- status: ApiEndpointResponseStatus.FAIL,
24
- error: error.message
25
- };
26
- }
27
- }
28
- getRequestArgsSchema() {
29
- return RemoveDetectorKeyBodySpec;
30
- }
31
- }
32
- export {
33
- ApiRemoveDetectorKeyEndpoint
3
+ import { ApiEndpointResponseStatus } from "@prosopo/api-route";
4
+ //#region src/api/admin/apiRemoveDetectorKeyEndpoint.ts
5
+ var ApiRemoveDetectorKeyEndpoint = class {
6
+ constructor(clientTaskManager) {
7
+ this.clientTaskManager = clientTaskManager;
8
+ }
9
+ async processRequest(args, logger) {
10
+ logger = logger ? logger.with({}, "admin:detector-key:remove") : getLogger("info", "provider:admin:detector-key:remove");
11
+ try {
12
+ const { detectorKey, expirationInSeconds } = args;
13
+ logger.info(() => ({ msg: "Removing detector key" }));
14
+ await this.clientTaskManager.removeDetectorKey(detectorKey, expirationInSeconds);
15
+ return { status: ApiEndpointResponseStatus.SUCCESS };
16
+ } catch (error) {
17
+ logger.error(() => ({
18
+ err: error,
19
+ msg: "Error updating detector key"
20
+ }));
21
+ return {
22
+ status: ApiEndpointResponseStatus.FAIL,
23
+ error: error.message
24
+ };
25
+ }
26
+ }
27
+ getRequestArgsSchema() {
28
+ return RemoveDetectorKeyBodySpec;
29
+ }
34
30
  };
31
+ //#endregion
32
+ export { ApiRemoveDetectorKeyEndpoint };
@@ -1,32 +1,36 @@
1
- import { ApiEndpointResponseStatus } from "@prosopo/api-route";
2
1
  import { getLogger } from "@prosopo/logger";
3
2
  import { RemoveSitekeyBody } from "@prosopo/types";
4
- class ApiRemoveSiteKeyEndpoint {
5
- constructor(clientTaskManager) {
6
- this.clientTaskManager = clientTaskManager;
7
- }
8
- async processRequest(args, logger) {
9
- logger = logger ? logger.with({}, "admin:site-key:remove") : getLogger("info", "provider:admin:site-key:remove");
10
- try {
11
- const { siteKey } = args;
12
- logger.info(() => ({ data: { siteKey }, msg: "Removing site key" }));
13
- await this.clientTaskManager.removeSiteKey(siteKey);
14
- logger.info(() => ({ msg: "Site key removed" }));
15
- return {
16
- status: ApiEndpointResponseStatus.SUCCESS
17
- };
18
- } catch (error) {
19
- logger.error(() => ({ err: error, msg: "Error removing site key" }));
20
- return {
21
- status: ApiEndpointResponseStatus.FAIL,
22
- error: error.message
23
- };
24
- }
25
- }
26
- getRequestArgsSchema() {
27
- return RemoveSitekeyBody;
28
- }
29
- }
30
- export {
31
- ApiRemoveSiteKeyEndpoint
3
+ import { ApiEndpointResponseStatus } from "@prosopo/api-route";
4
+ //#region src/api/admin/apiRemoveSiteKeyEndpoint.ts
5
+ var ApiRemoveSiteKeyEndpoint = class {
6
+ constructor(clientTaskManager) {
7
+ this.clientTaskManager = clientTaskManager;
8
+ }
9
+ async processRequest(args, logger) {
10
+ logger = logger ? logger.with({}, "admin:site-key:remove") : getLogger("info", "provider:admin:site-key:remove");
11
+ try {
12
+ const { siteKey } = args;
13
+ logger.info(() => ({
14
+ data: { siteKey },
15
+ msg: "Removing site key"
16
+ }));
17
+ await this.clientTaskManager.removeSiteKey(siteKey);
18
+ logger.info(() => ({ msg: "Site key removed" }));
19
+ return { status: ApiEndpointResponseStatus.SUCCESS };
20
+ } catch (error) {
21
+ logger.error(() => ({
22
+ err: error,
23
+ msg: "Error removing site key"
24
+ }));
25
+ return {
26
+ status: ApiEndpointResponseStatus.FAIL,
27
+ error: error.message
28
+ };
29
+ }
30
+ }
31
+ getRequestArgsSchema() {
32
+ return RemoveSitekeyBody;
33
+ }
32
34
  };
35
+ //#endregion
36
+ export { ApiRemoveSiteKeyEndpoint };
@@ -1,34 +1,35 @@
1
- import { ApiEndpointResponseStatus } from "@prosopo/api-route";
2
1
  import { getLogger } from "@prosopo/logger";
3
2
  import { RemoveSitekeysBody } from "@prosopo/types";
4
- class ApiRemoveSiteKeysEndpoint {
5
- constructor(clientTaskManager) {
6
- this.clientTaskManager = clientTaskManager;
7
- }
8
- async processRequest(args, logger) {
9
- logger = logger ? logger.with({}, "admin:site-keys:remove") : getLogger("info", "provider:admin:site-keys:remove");
10
- try {
11
- logger.info(() => ({
12
- data: { count: args.length },
13
- msg: "Removing site keys"
14
- }));
15
- await this.clientTaskManager.removeSiteKeys(args);
16
- logger.info(() => ({ msg: "Site keys removed" }));
17
- return {
18
- status: ApiEndpointResponseStatus.SUCCESS
19
- };
20
- } catch (error) {
21
- logger.error(() => ({ err: error, msg: "Error removing site keys" }));
22
- return {
23
- status: ApiEndpointResponseStatus.FAIL,
24
- error: error.message
25
- };
26
- }
27
- }
28
- getRequestArgsSchema() {
29
- return RemoveSitekeysBody;
30
- }
31
- }
32
- export {
33
- ApiRemoveSiteKeysEndpoint
3
+ import { ApiEndpointResponseStatus } from "@prosopo/api-route";
4
+ //#region src/api/admin/apiRemoveSiteKeysEndpoint.ts
5
+ var ApiRemoveSiteKeysEndpoint = class {
6
+ constructor(clientTaskManager) {
7
+ this.clientTaskManager = clientTaskManager;
8
+ }
9
+ async processRequest(args, logger) {
10
+ logger = logger ? logger.with({}, "admin:site-keys:remove") : getLogger("info", "provider:admin:site-keys:remove");
11
+ try {
12
+ logger.info(() => ({
13
+ data: { count: args.length },
14
+ msg: "Removing site keys"
15
+ }));
16
+ await this.clientTaskManager.removeSiteKeys(args);
17
+ logger.info(() => ({ msg: "Site keys removed" }));
18
+ return { status: ApiEndpointResponseStatus.SUCCESS };
19
+ } catch (error) {
20
+ logger.error(() => ({
21
+ err: error,
22
+ msg: "Error removing site keys"
23
+ }));
24
+ return {
25
+ status: ApiEndpointResponseStatus.FAIL,
26
+ error: error.message
27
+ };
28
+ }
29
+ }
30
+ getRequestArgsSchema() {
31
+ return RemoveSitekeysBody;
32
+ }
34
33
  };
34
+ //#endregion
35
+ export { ApiRemoveSiteKeysEndpoint };
@@ -1,42 +1,50 @@
1
- import { ApiEndpointResponseStatus } from "@prosopo/api-route";
1
+ import { setMaintenanceModeGauge } from "../metrics.js";
2
2
  import { getLogger } from "@prosopo/logger";
3
3
  import { ToggleMaintenanceModeBody } from "@prosopo/types";
4
- import { setMaintenanceModeGauge } from "../metrics.js";
4
+ import { ApiEndpointResponseStatus } from "@prosopo/api-route";
5
+ //#region src/api/admin/apiToggleMaintenanceModeEndpoint.ts
6
+ /**
7
+ * Get the current maintenance mode state
8
+ * Defaults to false if not set in environment
9
+ */
5
10
  function getMaintenanceMode() {
6
- return process.env.MAINTENANCE_MODE?.toLowerCase() === "true";
11
+ return process.env.MAINTENANCE_MODE?.toLowerCase() === "true";
7
12
  }
13
+ /**
14
+ * Set the maintenance mode state
15
+ * Note: This modifies process.env which persists for the lifetime of the Node.js process
16
+ * In Lambda, this means it persists until the container is recycled
17
+ */
8
18
  function setMaintenanceMode(enabled) {
9
- process.env.MAINTENANCE_MODE = enabled ? "true" : "false";
10
- }
11
- class ApiToggleMaintenanceModeEndpoint {
12
- async processRequest(args, logger) {
13
- const { enabled } = args;
14
- logger = logger ? logger.with({}, "admin:maintenance:toggle") : getLogger("info", "provider:admin:maintenance:toggle");
15
- const previousMode = getMaintenanceMode();
16
- logger.info(() => ({
17
- data: { enabled, previous: previousMode },
18
- msg: "Toggling maintenance mode"
19
- }));
20
- setMaintenanceMode(enabled);
21
- setMaintenanceModeGauge(enabled);
22
- const currentMode = getMaintenanceMode();
23
- logger.info(() => ({
24
- data: { enabled: currentMode },
25
- msg: "Maintenance mode updated"
26
- }));
27
- return {
28
- status: ApiEndpointResponseStatus.SUCCESS,
29
- data: {
30
- maintenanceMode: currentMode
31
- }
32
- };
33
- }
34
- getRequestArgsSchema() {
35
- return ToggleMaintenanceModeBody;
36
- }
19
+ process.env.MAINTENANCE_MODE = enabled ? "true" : "false";
37
20
  }
38
- export {
39
- ApiToggleMaintenanceModeEndpoint,
40
- getMaintenanceMode,
41
- setMaintenanceMode
21
+ var ApiToggleMaintenanceModeEndpoint = class {
22
+ async processRequest(args, logger) {
23
+ const { enabled } = args;
24
+ logger = logger ? logger.with({}, "admin:maintenance:toggle") : getLogger("info", "provider:admin:maintenance:toggle");
25
+ const previousMode = getMaintenanceMode();
26
+ logger.info(() => ({
27
+ data: {
28
+ enabled,
29
+ previous: previousMode
30
+ },
31
+ msg: "Toggling maintenance mode"
32
+ }));
33
+ setMaintenanceMode(enabled);
34
+ setMaintenanceModeGauge(enabled);
35
+ const currentMode = getMaintenanceMode();
36
+ logger.info(() => ({
37
+ data: { enabled: currentMode },
38
+ msg: "Maintenance mode updated"
39
+ }));
40
+ return {
41
+ status: ApiEndpointResponseStatus.SUCCESS,
42
+ data: { maintenanceMode: currentMode }
43
+ };
44
+ }
45
+ getRequestArgsSchema() {
46
+ return ToggleMaintenanceModeBody;
47
+ }
42
48
  };
49
+ //#endregion
50
+ export { ApiToggleMaintenanceModeEndpoint, getMaintenanceMode, setMaintenanceMode };
@@ -1,66 +1,46 @@
1
- import { ApiEndpointResponseStatus } from "@prosopo/api-route";
2
1
  import { getLogger } from "@prosopo/logger";
3
2
  import { UpdateDecisionMachineBody } from "@prosopo/types";
4
- class ApiUpdateDecisionMachineEndpoint {
5
- constructor(clientTaskManager) {
6
- this.clientTaskManager = clientTaskManager;
7
- }
8
- async processRequest(args, logger) {
9
- logger = logger ? logger.with({}, "admin:decision-machine:update") : getLogger("info", "provider:admin:decision-machine:update");
10
- try {
11
- const {
12
- decisionMachineScope,
13
- decisionMachineRuntime,
14
- decisionMachineSource,
15
- decisionMachineLanguage,
16
- decisionMachineName,
17
- decisionMachineVersion,
18
- decisionMachineCaptchaType,
19
- decisionMachineKind,
20
- dapp
21
- } = args;
22
- logger.info(() => ({
23
- msg: "Updating decision machine",
24
- data: {
25
- decisionMachineScope,
26
- dappAccount: dapp,
27
- kind: decisionMachineKind
28
- }
29
- }));
30
- const result = await this.clientTaskManager.updateDecisionMachine(
31
- decisionMachineScope,
32
- decisionMachineRuntime,
33
- decisionMachineSource,
34
- dapp,
35
- decisionMachineLanguage,
36
- decisionMachineName,
37
- decisionMachineVersion,
38
- decisionMachineCaptchaType,
39
- decisionMachineKind
40
- );
41
- logger.info(() => ({
42
- msg: "Decision machine updated",
43
- data: result
44
- }));
45
- return {
46
- status: ApiEndpointResponseStatus.SUCCESS,
47
- data: result
48
- };
49
- } catch (error) {
50
- logger.error(() => ({
51
- msg: "Error updating decision machine",
52
- err: error
53
- }));
54
- return {
55
- status: ApiEndpointResponseStatus.FAIL,
56
- error: error.message
57
- };
58
- }
59
- }
60
- getRequestArgsSchema() {
61
- return UpdateDecisionMachineBody;
62
- }
63
- }
64
- export {
65
- ApiUpdateDecisionMachineEndpoint
3
+ import { ApiEndpointResponseStatus } from "@prosopo/api-route";
4
+ //#region src/api/admin/apiUpdateDecisionMachineEndpoint.ts
5
+ var ApiUpdateDecisionMachineEndpoint = class {
6
+ constructor(clientTaskManager) {
7
+ this.clientTaskManager = clientTaskManager;
8
+ }
9
+ async processRequest(args, logger) {
10
+ logger = logger ? logger.with({}, "admin:decision-machine:update") : getLogger("info", "provider:admin:decision-machine:update");
11
+ try {
12
+ const { decisionMachineScope, decisionMachineRuntime, decisionMachineSource, decisionMachineLanguage, decisionMachineName, decisionMachineVersion, decisionMachineCaptchaType, decisionMachineKind, dapp } = args;
13
+ logger.info(() => ({
14
+ msg: "Updating decision machine",
15
+ data: {
16
+ decisionMachineScope,
17
+ dappAccount: dapp,
18
+ kind: decisionMachineKind
19
+ }
20
+ }));
21
+ const result = await this.clientTaskManager.updateDecisionMachine(decisionMachineScope, decisionMachineRuntime, decisionMachineSource, dapp, decisionMachineLanguage, decisionMachineName, decisionMachineVersion, decisionMachineCaptchaType, decisionMachineKind);
22
+ logger.info(() => ({
23
+ msg: "Decision machine updated",
24
+ data: result
25
+ }));
26
+ return {
27
+ status: ApiEndpointResponseStatus.SUCCESS,
28
+ data: result
29
+ };
30
+ } catch (error) {
31
+ logger.error(() => ({
32
+ msg: "Error updating decision machine",
33
+ err: error
34
+ }));
35
+ return {
36
+ status: ApiEndpointResponseStatus.FAIL,
37
+ error: error.message
38
+ };
39
+ }
40
+ }
41
+ getRequestArgsSchema() {
42
+ return UpdateDecisionMachineBody;
43
+ }
66
44
  };
45
+ //#endregion
46
+ export { ApiUpdateDecisionMachineEndpoint };
@@ -1,38 +1,39 @@
1
- import { ApiEndpointResponseStatus } from "@prosopo/api-route";
2
1
  import { getLogger } from "@prosopo/logger";
3
2
  import { UpdateDetectorKeyBody } from "@prosopo/types";
4
- class ApiUpdateDetectorKeyEndpoint {
5
- constructor(clientTaskManager) {
6
- this.clientTaskManager = clientTaskManager;
7
- }
8
- async processRequest(args, logger) {
9
- logger = logger ? logger.with({}, "admin:detector-key:update") : getLogger("info", "provider:admin:detector-key:update");
10
- try {
11
- const { detectorKey } = args;
12
- logger.info(() => ({ msg: "Updating detector key" }));
13
- const activeDetectorKeys = await this.clientTaskManager.updateDetectorKey(detectorKey);
14
- logger.info(() => ({
15
- msg: "Detector key updated",
16
- activeDetectorKeys
17
- }));
18
- return {
19
- status: ApiEndpointResponseStatus.SUCCESS,
20
- data: {
21
- activeDetectorKeys
22
- }
23
- };
24
- } catch (error) {
25
- logger.error(() => ({ msg: "Error updating detector key", err: error }));
26
- return {
27
- status: ApiEndpointResponseStatus.FAIL,
28
- error: error.message
29
- };
30
- }
31
- }
32
- getRequestArgsSchema() {
33
- return UpdateDetectorKeyBody;
34
- }
35
- }
36
- export {
37
- ApiUpdateDetectorKeyEndpoint
3
+ import { ApiEndpointResponseStatus } from "@prosopo/api-route";
4
+ //#region src/api/admin/apiUpdateDetectorKeyEndpoint.ts
5
+ var ApiUpdateDetectorKeyEndpoint = class {
6
+ constructor(clientTaskManager) {
7
+ this.clientTaskManager = clientTaskManager;
8
+ }
9
+ async processRequest(args, logger) {
10
+ logger = logger ? logger.with({}, "admin:detector-key:update") : getLogger("info", "provider:admin:detector-key:update");
11
+ try {
12
+ const { detectorKey } = args;
13
+ logger.info(() => ({ msg: "Updating detector key" }));
14
+ const activeDetectorKeys = await this.clientTaskManager.updateDetectorKey(detectorKey);
15
+ logger.info(() => ({
16
+ msg: "Detector key updated",
17
+ activeDetectorKeys
18
+ }));
19
+ return {
20
+ status: ApiEndpointResponseStatus.SUCCESS,
21
+ data: { activeDetectorKeys }
22
+ };
23
+ } catch (error) {
24
+ logger.error(() => ({
25
+ msg: "Error updating detector key",
26
+ err: error
27
+ }));
28
+ return {
29
+ status: ApiEndpointResponseStatus.FAIL,
30
+ error: error.message
31
+ };
32
+ }
33
+ }
34
+ getRequestArgsSchema() {
35
+ return UpdateDetectorKeyBody;
36
+ }
38
37
  };
38
+ //#endregion
39
+ export { ApiUpdateDetectorKeyEndpoint };
@@ -1,10 +1,8 @@
1
- import "../../tasks/index.js";
2
- import { ApiAdminRoutesProvider } from "./apiAdminRoutesProvider.js";
3
1
  import { Tasks } from "../../tasks/tasks.js";
4
- const createApiAdminRoutesProvider = (providerEnvironment) => {
5
- const tasks = new Tasks(providerEnvironment);
6
- return new ApiAdminRoutesProvider(tasks);
7
- };
8
- export {
9
- createApiAdminRoutesProvider
2
+ import { ApiAdminRoutesProvider } from "./apiAdminRoutesProvider.js";
3
+ //#region src/api/admin/createApiAdminRoutesProvider.ts
4
+ var createApiAdminRoutesProvider = (providerEnvironment) => {
5
+ return new ApiAdminRoutesProvider(new Tasks(providerEnvironment));
10
6
  };
7
+ //#endregion
8
+ export { createApiAdminRoutesProvider };