@prosopo/cli 3.5.8 → 3.6.31

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 (115) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +27 -21
  2. package/.turbo/turbo-build$colon$tsc.log +80 -0
  3. package/.turbo/turbo-build.log +32 -22
  4. package/CHANGELOG.md +696 -0
  5. package/README.md +52 -95
  6. package/dist/RateLimiter.d.ts +115 -0
  7. package/dist/RateLimiter.d.ts.map +1 -0
  8. package/dist/RateLimiter.js +57 -1
  9. package/dist/RateLimiter.js.map +1 -0
  10. package/dist/argv.d.ts +22 -0
  11. package/dist/argv.d.ts.map +1 -0
  12. package/dist/argv.js +5 -1
  13. package/dist/argv.js.map +1 -0
  14. package/dist/bundle/decodeBehavior-DA4X_swr.js +210 -0
  15. package/dist/bundle/decodeSimd-CKp22xIS.js +205 -0
  16. package/dist/bundle/{i18nBackend-D6GWR1ra.js → i18nBackend-o8t6Kg5r.js} +17 -17
  17. package/dist/bundle/index-DUVLsNmB.js +2371 -0
  18. package/dist/bundle/provider.cli.bundle.js +55437 -48199
  19. package/dist/cjs/RateLimiter.cjs +56 -0
  20. package/dist/cjs/argv.cjs +15 -11
  21. package/dist/cjs/cli.cjs +2 -2
  22. package/dist/cjs/commands/ensureExternalIndexes.cjs +3 -3
  23. package/dist/cjs/commands/ensureIndexes.cjs +3 -3
  24. package/dist/cjs/commands/index.cjs +4 -0
  25. package/dist/cjs/commands/migrateAbuserScoreThreshold.cjs +66 -0
  26. package/dist/cjs/commands/providerSetDataset.cjs +5 -5
  27. package/dist/cjs/commands/siteKeyRegister.cjs +14 -6
  28. package/dist/cjs/commands/siteKeyRegisterApi.cjs +14 -10
  29. package/dist/cjs/commands/storeCaptchasExternally.cjs +3 -3
  30. package/dist/cjs/commands/updateSpamEmailDomains.cjs +50 -0
  31. package/dist/cjs/commands/version.cjs +3 -3
  32. package/dist/cjs/index.cjs +0 -2
  33. package/dist/cjs/process.env.cjs +0 -8
  34. package/dist/cjs/prosopo.config.cjs +38 -3
  35. package/dist/cjs/reloader.cjs +2 -2
  36. package/dist/cjs/start.cjs +17 -86
  37. package/dist/cli.d.ts +2 -0
  38. package/dist/cli.d.ts.map +1 -0
  39. package/dist/cli.js +1 -1
  40. package/dist/cli.js.map +1 -0
  41. package/dist/commands/ensureExternalIndexes.d.ts +13 -0
  42. package/dist/commands/ensureExternalIndexes.d.ts.map +1 -0
  43. package/dist/commands/ensureExternalIndexes.js +1 -1
  44. package/dist/commands/ensureExternalIndexes.js.map +1 -0
  45. package/dist/commands/ensureIndexes.d.ts +13 -0
  46. package/dist/commands/ensureIndexes.d.ts.map +1 -0
  47. package/dist/commands/ensureIndexes.js +1 -1
  48. package/dist/commands/ensureIndexes.js.map +1 -0
  49. package/dist/commands/index.d.ts +10 -0
  50. package/dist/commands/index.d.ts.map +1 -0
  51. package/dist/commands/index.js +14 -10
  52. package/dist/commands/index.js.map +1 -0
  53. package/dist/commands/migrateAbuserScoreThreshold.d.ts +16 -0
  54. package/dist/commands/migrateAbuserScoreThreshold.d.ts.map +1 -0
  55. package/dist/commands/migrateAbuserScoreThreshold.js +67 -0
  56. package/dist/commands/migrateAbuserScoreThreshold.js.map +1 -0
  57. package/dist/commands/providerSetDataset.d.ts +17 -0
  58. package/dist/commands/providerSetDataset.d.ts.map +1 -0
  59. package/dist/commands/providerSetDataset.js +1 -1
  60. package/dist/commands/providerSetDataset.js.map +1 -0
  61. package/dist/commands/siteKeyRegister.d.ts +62 -0
  62. package/dist/commands/siteKeyRegister.d.ts.map +1 -0
  63. package/dist/commands/siteKeyRegister.js +12 -4
  64. package/dist/commands/siteKeyRegister.js.map +1 -0
  65. package/dist/commands/siteKeyRegisterApi.d.ts +35 -0
  66. package/dist/commands/siteKeyRegisterApi.d.ts.map +1 -0
  67. package/dist/commands/siteKeyRegisterApi.js +12 -8
  68. package/dist/commands/siteKeyRegisterApi.js.map +1 -0
  69. package/dist/commands/storeCaptchasExternally.d.ts +13 -0
  70. package/dist/commands/storeCaptchasExternally.d.ts.map +1 -0
  71. package/dist/commands/storeCaptchasExternally.js +1 -1
  72. package/dist/commands/storeCaptchasExternally.js.map +1 -0
  73. package/dist/commands/updateSpamEmailDomains.d.ts +13 -0
  74. package/dist/commands/updateSpamEmailDomains.d.ts.map +1 -0
  75. package/dist/commands/updateSpamEmailDomains.js +51 -0
  76. package/dist/commands/updateSpamEmailDomains.js.map +1 -0
  77. package/dist/commands/validators.d.ts +18 -0
  78. package/dist/commands/validators.d.ts.map +1 -0
  79. package/dist/commands/validators.js.map +1 -0
  80. package/dist/commands/version.d.ts +12 -0
  81. package/dist/commands/version.d.ts.map +1 -0
  82. package/dist/commands/version.js +1 -1
  83. package/dist/commands/version.js.map +1 -0
  84. package/dist/files.d.ts +4 -0
  85. package/dist/files.d.ts.map +1 -0
  86. package/dist/files.js.map +1 -0
  87. package/dist/index.d.ts +7 -0
  88. package/dist/index.d.ts.map +1 -0
  89. package/dist/index.js +1 -3
  90. package/dist/index.js.map +1 -0
  91. package/dist/process.env.d.ts +5 -0
  92. package/dist/process.env.d.ts.map +1 -0
  93. package/dist/process.env.js +1 -9
  94. package/dist/process.env.js.map +1 -0
  95. package/dist/prosopo.config.d.ts +3 -0
  96. package/dist/prosopo.config.d.ts.map +1 -0
  97. package/dist/prosopo.config.js +37 -2
  98. package/dist/prosopo.config.js.map +1 -0
  99. package/dist/reloader.d.ts +20 -0
  100. package/dist/reloader.d.ts.map +1 -0
  101. package/dist/reloader.js +1 -1
  102. package/dist/reloader.js.map +1 -0
  103. package/dist/start.d.ts +3 -0
  104. package/dist/start.d.ts.map +1 -0
  105. package/dist/start.js +18 -87
  106. package/dist/start.js.map +1 -0
  107. package/dist/tests/bundle/bundle.unit.test.d.ts +2 -0
  108. package/dist/tests/bundle/bundle.unit.test.d.ts.map +1 -0
  109. package/dist/tests/bundle/bundle.unit.test.js +14 -0
  110. package/dist/tests/bundle/bundle.unit.test.js.map +1 -0
  111. package/package.json +21 -19
  112. package/vite.cjs.config.ts +1 -1
  113. package/vite.config.ts +9 -1
  114. package/vite.esm.config.ts +1 -1
  115. package/vite.test.config.ts +1 -1
@@ -1,95 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const apiExpressRouter = require("@prosopo/api-express-router");
4
- const common = require("@prosopo/common");
5
3
  const dotenv = require("@prosopo/dotenv");
6
4
  const env = require("@prosopo/env");
7
5
  const keyring = require("@prosopo/keyring");
8
- const locale = require("@prosopo/locale");
9
6
  const provider = require("@prosopo/provider");
10
- const types = require("@prosopo/types");
11
- const api = require("@prosopo/user-access-policy/api");
12
- const cors = require("cors");
13
- const express = require("express");
14
- const rateLimit = require("express-rate-limit");
15
7
  const process_env = require("./process.env.cjs");
16
8
  const prosopo_config = require("./prosopo.config.cjs");
17
- const getClientApiPathsExcludingVerify = () => {
18
- const paths = Object.values(types.ClientApiPaths).filter(
19
- (path) => path.indexOf("verify") === -1
20
- );
21
- return paths;
22
- };
23
- async function startApi(env2, admin = false, port) {
24
- env2.logger.info(() => ({ msg: "Starting Prosopo API" }));
25
- const apiApp = express();
26
- const apiPort = port || env2.config.server?.port;
27
- const apiEndpointAdapter = apiExpressRouter.createApiExpressDefaultEndpointAdapter(
28
- common.parseLogLevel(env2.config.logLevel)
29
- );
30
- const apiRuleRoutesProvider = new api.AccessRuleApiRoutes(
31
- env2.getDb().getUserAccessRulesStorage(),
32
- env2.logger
33
- );
34
- const apiAdminRoutesProvider = provider.createApiAdminRoutesProvider(env2);
35
- const clientPathsExcludingVerify = getClientApiPathsExcludingVerify();
36
- env2.logger.debug(() => ({
37
- msg: "Adding headerCheckMiddleware",
38
- paths: clientPathsExcludingVerify
39
- }));
40
- apiApp.set("trust proxy", 1);
41
- apiApp.use(cors());
42
- apiApp.use(express.json({ limit: "50mb" }));
43
- apiApp.use(provider.publicRouter(env2));
44
- const i18Middleware = await locale.i18nMiddleware({});
45
- apiApp.use(provider.robotsMiddleware());
46
- apiApp.use(provider.ignoreMiddleware());
47
- apiApp.use(apiExpressRouter.requestLoggerMiddleware(env2));
48
- apiApp.use(i18Middleware);
49
- apiApp.use(provider.ja4Middleware(env2));
50
- apiApp.use(clientPathsExcludingVerify, provider.headerCheckMiddleware(env2));
51
- apiApp.use(provider.prosopoVerifyRouter(env2));
52
- env2.logger.info(() => ({ msg: "Enabling admin auth middleware" }));
53
- apiApp.use(
54
- "/v1/prosopo/provider/admin",
55
- apiExpressRouter.authMiddleware(env2.pair, env2.authAccount)
56
- );
57
- apiApp.use(provider.blockMiddleware(env2));
58
- apiApp.use("/v1/prosopo/provider/client/", provider.domainMiddleware(env2));
59
- apiApp.use(provider.prosopoRouter(env2));
60
- const userAccessRuleRoutes = apiRuleRoutesProvider.getRoutes();
61
- for (const userAccessRuleRoute in userAccessRuleRoutes) {
62
- apiApp.use(userAccessRuleRoute, apiExpressRouter.authMiddleware(env2.pair, env2.authAccount));
63
- }
64
- apiApp.use(
65
- apiExpressRouter.apiExpressRouterFactory.createRouter(
66
- apiRuleRoutesProvider,
67
- apiEndpointAdapter
68
- )
69
- );
70
- apiApp.use(
71
- apiExpressRouter.apiExpressRouterFactory.createRouter(
72
- apiAdminRoutesProvider,
73
- // unlike the default one, it should have errorStatusCode as 400
74
- apiExpressRouter.createApiExpressDefaultEndpointAdapter(
75
- common.parseLogLevel(env2.config.logLevel),
76
- 400
77
- )
78
- )
79
- );
80
- const configRateLimits = env2.config.rateLimits;
81
- const rateLimits = { ...configRateLimits, ...api.getExpressApiRuleRateLimits() };
82
- for (const [path, limit] of Object.entries(rateLimits)) {
83
- const enumPath = path;
84
- apiApp.use(enumPath, rateLimit(limit));
85
- }
86
- return apiApp.listen(apiPort, () => {
87
- env2.logger.info(() => ({
88
- data: { apiPort },
89
- msg: "Prosopo app listening"
90
- }));
91
- });
92
- }
93
9
  async function start(env$1, admin, port) {
94
10
  if (!env$1) {
95
11
  dotenv.loadEnv();
@@ -115,7 +31,8 @@ async function start(env$1, admin, port) {
115
31
  }
116
32
  await env$1.isReady();
117
33
  env$1.cleanup();
118
- if (env$1.pair) {
34
+ const maintenanceMode = process.env.MAINTENANCE_MODE?.toLowerCase() === "true";
35
+ if (env$1.pair && !maintenanceMode) {
119
36
  const cronScheduleStorage = env$1.config.scheduledTasks?.captchaScheduler?.schedule;
120
37
  if (cronScheduleStorage) {
121
38
  provider.storeCaptchasExternally(env$1.pair, cronScheduleStorage, env$1.config).catch(
@@ -146,7 +63,21 @@ async function start(env$1, admin, port) {
146
63
  }
147
64
  );
148
65
  }
66
+ const cronSpamEmailDomains = env$1.config.scheduledTasks?.spamEmailDomainsScheduler?.schedule;
67
+ if (cronSpamEmailDomains) {
68
+ provider.updateSpamEmailDomainsScheduler(
69
+ env$1.pair,
70
+ cronSpamEmailDomains,
71
+ env$1.config
72
+ ).catch((err) => {
73
+ env$1.logger.error(() => ({
74
+ msg: "Failed to start spam email domains scheduler",
75
+ err,
76
+ context: { failedFuncName: provider.updateSpamEmailDomainsScheduler.name }
77
+ }));
78
+ });
79
+ }
149
80
  }
150
- return startApi(env$1, admin, port);
81
+ return provider.startProviderApi(env$1, admin, port);
151
82
  }
152
83
  exports.start = start;
package/dist/cli.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
package/dist/cli.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import process from "node:process";
2
- import { getLogger, LogLevel } from "@prosopo/common";
3
2
  import { loadEnv } from "@prosopo/dotenv";
4
3
  import { getPair } from "@prosopo/keyring";
5
4
  import { loadI18next } from "@prosopo/locale";
5
+ import { getLogger, LogLevel } from "@prosopo/logger";
6
6
  import { isMain } from "@prosopo/util";
7
7
  import { processArgs } from "./argv.js";
8
8
  import getConfig from "./prosopo.config.js";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAaA,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,YAAY,MAAM,eAAe,CAAC;AAEzC,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAEjD,KAAK,UAAU,IAAI;IAClB,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;IAE1B,MAAM,MAAM,GAAwB,SAAS,EAAE,CAAC;IAEhD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpE,MAAM,WAAW,GAAG,OAAO,CAC1B,MAAM,CAAC,WAAW,CAAC,MAAM,EACzB,MAAM,CAAC,WAAW,CAAC,OAAO,CAC1B,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAE1D,MAAM,aAAa,GAAG,MAAM,WAAW,CACtC,OAAO,CAAC,IAAI,EACZ,IAAI,EACJ,WAAW,EACX,MAAM,CACN,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;IACvD,IAAI,aAAa,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,CAAC;aACvE,KAAK,EAAE;aACP,IAAI,CAAC,GAAG,EAAE;YACV,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACF,CAAC;AAGD,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;IACzC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QAC3B,IAAI,EAAE;aACJ,IAAI,CAAC,GAAG,EAAE;YACV,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAChB,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { type Logger } from "@prosopo/logger";
2
+ import type { KeyringPair } from "@prosopo/types";
3
+ import type { ProsopoConfigOutput } from "@prosopo/types";
4
+ declare const _default: (pair: KeyringPair, config: ProsopoConfigOutput, cmdArgs?: {
5
+ logger?: Logger;
6
+ }) => {
7
+ command: string;
8
+ describe: string;
9
+ handler: () => Promise<void>;
10
+ middlewares: never[];
11
+ };
12
+ export default _default;
13
+ //# sourceMappingURL=ensureExternalIndexes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureExternalIndexes.d.ts","sourceRoot":"","sources":["../../src/commands/ensureExternalIndexes.ts"],"names":[],"mappings":"AAeA,OAAO,EAAY,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;+BAGnD,WAAW,UACT,mBAAmB,YACjB;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;AAH9B,wBAgCE"}
@@ -1,5 +1,5 @@
1
- import { getLogger, LogLevel } from "@prosopo/common";
2
1
  import { ProviderEnvironment } from "@prosopo/env";
2
+ import { getLogger, LogLevel } from "@prosopo/logger";
3
3
  import { Tasks } from "@prosopo/provider";
4
4
  const commandEnsureExternalIndexes = (pair, config, cmdArgs) => {
5
5
  const logger = cmdArgs?.logger || getLogger(LogLevel.enum.info, "cli.ensure_external_indexes");
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureExternalIndexes.js","sourceRoot":"","sources":["../../src/commands/ensureExternalIndexes.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAe,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAI1C,eAAe,CACd,IAAiB,EACjB,MAA2B,EAC3B,OAA6B,EAC5B,EAAE;IACH,MAAM,MAAM,GACX,OAAO,EAAE,MAAM;QACf,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC;IAE9D,OAAO;QACN,OAAO,EAAE,yBAAyB;QAClC,QAAQ,EAAE,sCAAsC;QAChD,OAAO,EAAE,KAAK,IAAI,EAAE;YACnB,IAAI,CAAC;gBACJ,MAAM,GAAG,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAClD,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;oBACjC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBACtD,CAAC;gBACD,MAAM,KAAK,CAAC,iBAAiB;qBAC3B,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC;qBACxC,aAAa,EAAE;qBACf,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACd,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gBACnC,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YAC/B,CAAC;QACF,CAAC;QACD,WAAW,EAAE,EAAE;KACf,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { type Logger } from "@prosopo/logger";
2
+ import type { KeyringPair } from "@prosopo/types";
3
+ import type { ProsopoConfigOutput } from "@prosopo/types";
4
+ declare const _default: (pair: KeyringPair, config: ProsopoConfigOutput, cmdArgs?: {
5
+ logger?: Logger;
6
+ }) => {
7
+ command: string;
8
+ describe: string;
9
+ handler: () => Promise<void>;
10
+ middlewares: never[];
11
+ };
12
+ export default _default;
13
+ //# sourceMappingURL=ensureIndexes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureIndexes.d.ts","sourceRoot":"","sources":["../../src/commands/ensureIndexes.ts"],"names":[],"mappings":"AAeA,OAAO,EAAY,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;+BAGnD,WAAW,UACT,mBAAmB,YACjB;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;AAH9B,wBA0BE"}
@@ -1,5 +1,5 @@
1
- import { getLogger, LogLevel } from "@prosopo/common";
2
1
  import { ProviderEnvironment } from "@prosopo/env";
2
+ import { getLogger, LogLevel } from "@prosopo/logger";
3
3
  import { Tasks } from "@prosopo/provider";
4
4
  const commandEnsureIndexes = (pair, config, cmdArgs) => {
5
5
  const logger = cmdArgs?.logger || getLogger(LogLevel.enum.info, "cli.ensure_indexes");
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureIndexes.js","sourceRoot":"","sources":["../../src/commands/ensureIndexes.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAe,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAI1C,eAAe,CACd,IAAiB,EACjB,MAA2B,EAC3B,OAA6B,EAC5B,EAAE;IACH,MAAM,MAAM,GACX,OAAO,EAAE,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;IAExE,OAAO;QACN,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,sCAAsC;QAChD,OAAO,EAAE,KAAK,IAAI,EAAE;YACnB,IAAI,CAAC;gBACJ,MAAM,GAAG,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAClD,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;oBACjC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBACtD,CAAC;gBACD,MAAM,KAAK,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;YAChC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YAC/B,CAAC;QACF,CAAC;QACD,WAAW,EAAE,EAAE;KACf,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ export { default as commandProviderSetDataset } from "./providerSetDataset.js";
2
+ export { default as commandStoreCaptchasExternally } from "./storeCaptchasExternally.js";
3
+ export { default as commandUpdateSpamEmailDomains } from "./updateSpamEmailDomains.js";
4
+ export { default as commandVersion } from "./version.js";
5
+ export { default as commandSiteKeyRegister } from "./siteKeyRegister.js";
6
+ export { default as commandSiteKeyRegisterApi } from "./siteKeyRegisterApi.js";
7
+ export { default as commandEnsureExternalIndexes } from "./ensureExternalIndexes.js";
8
+ export { default as commandEnsureIndexes } from "./ensureIndexes.js";
9
+ export { default as commandMigrateAbuserScoreThreshold } from "./migrateAbuserScoreThreshold.js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,kCAAkC,EAAE,MAAM,kCAAkC,CAAC"}
@@ -1,16 +1,20 @@
1
1
  import { default as default2 } from "./providerSetDataset.js";
2
2
  import { default as default3 } from "./storeCaptchasExternally.js";
3
- import { default as default4 } from "./version.js";
4
- import { default as default5 } from "./siteKeyRegister.js";
5
- import { default as default6 } from "./siteKeyRegisterApi.js";
6
- import { default as default7 } from "./ensureExternalIndexes.js";
7
- import { default as default8 } from "./ensureIndexes.js";
3
+ import { default as default4 } from "./updateSpamEmailDomains.js";
4
+ import { default as default5 } from "./version.js";
5
+ import { default as default6 } from "./siteKeyRegister.js";
6
+ import { default as default7 } from "./siteKeyRegisterApi.js";
7
+ import { default as default8 } from "./ensureExternalIndexes.js";
8
+ import { default as default9 } from "./ensureIndexes.js";
9
+ import { default as default10 } from "./migrateAbuserScoreThreshold.js";
8
10
  export {
9
- default7 as commandEnsureExternalIndexes,
10
- default8 as commandEnsureIndexes,
11
+ default8 as commandEnsureExternalIndexes,
12
+ default9 as commandEnsureIndexes,
13
+ default10 as commandMigrateAbuserScoreThreshold,
11
14
  default2 as commandProviderSetDataset,
12
- default5 as commandSiteKeyRegister,
13
- default6 as commandSiteKeyRegisterApi,
15
+ default6 as commandSiteKeyRegister,
16
+ default7 as commandSiteKeyRegisterApi,
14
17
  default3 as commandStoreCaptchasExternally,
15
- default4 as commandVersion
18
+ default4 as commandUpdateSpamEmailDomains,
19
+ default5 as commandVersion
16
20
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,kCAAkC,EAAE,MAAM,kCAAkC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { type Logger } from "@prosopo/logger";
2
+ import type { KeyringPair, ProsopoConfigOutput } from "@prosopo/types";
3
+ import type { ArgumentsCamelCase, Argv } from "yargs";
4
+ declare const _default: (pair: KeyringPair, config: ProsopoConfigOutput, cmdArgs?: {
5
+ logger?: Logger;
6
+ }) => {
7
+ command: string;
8
+ describe: string;
9
+ builder: (yargs: Argv) => Argv<{
10
+ dryRun: boolean;
11
+ }>;
12
+ handler: (argv: ArgumentsCamelCase) => Promise<void>;
13
+ middlewares: never[];
14
+ };
15
+ export default _default;
16
+ //# sourceMappingURL=migrateAbuserScoreThreshold.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrateAbuserScoreThreshold.d.ts","sourceRoot":"","sources":["../../src/commands/migrateAbuserScoreThreshold.ts"],"names":[],"mappings":"AAeA,OAAO,EAAY,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;+BAG/C,WAAW,UACT,mBAAmB,YACjB;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;;;qBAUX,IAAI;;;oBAMC,kBAAkB;;;AAnB1C,wBA6EE"}
@@ -0,0 +1,67 @@
1
+ import { ProviderEnvironment } from "@prosopo/env";
2
+ import { getLogger, LogLevel } from "@prosopo/logger";
3
+ import { Tasks } from "@prosopo/provider";
4
+ const commandMigrateAbuserScoreThreshold = (pair, config, cmdArgs) => {
5
+ const logger = cmdArgs?.logger || getLogger(LogLevel.enum.info, "cli.migrate_abuser_score_threshold");
6
+ return {
7
+ command: "migrate_abuser_score_threshold",
8
+ describe: "Add abuserScoreThreshold field (default 0) to trafficFilter in provider client records",
9
+ builder: (yargs) => yargs.option("dryRun", {
10
+ type: "boolean",
11
+ default: false,
12
+ description: "Run without making changes to verify the migration"
13
+ }),
14
+ handler: async (argv) => {
15
+ try {
16
+ const dryRun = argv.dryRun ?? false;
17
+ logger.info(() => ({
18
+ msg: "Starting abuserScoreThreshold migration on provider DB...",
19
+ data: { dryRun }
20
+ }));
21
+ const env = new ProviderEnvironment(config, pair);
22
+ await env.isReady();
23
+ const tasks = new Tasks(env);
24
+ const clientModel = tasks.db.tables.client;
25
+ if (!clientModel) {
26
+ throw new Error("Client table not available");
27
+ }
28
+ const filter = {
29
+ "settings.trafficFilter": { $exists: true },
30
+ "settings.trafficFilter.abuserScoreThreshold": { $exists: false }
31
+ };
32
+ const count = await clientModel.countDocuments(filter);
33
+ logger.info(() => ({
34
+ msg: `Found ${count} client records needing migration`
35
+ }));
36
+ if (!dryRun && count > 0) {
37
+ const result = await clientModel.updateMany(filter, {
38
+ $set: {
39
+ "settings.trafficFilter.abuserScoreThreshold": 0
40
+ }
41
+ });
42
+ logger.info(() => ({
43
+ msg: `Updated ${result.modifiedCount} client records`
44
+ }));
45
+ }
46
+ logger.info(() => ({
47
+ msg: "Migration completed",
48
+ data: { recordsFound: count, dryRun }
49
+ }));
50
+ if (dryRun) {
51
+ logger.info(() => ({
52
+ msg: "DRY RUN: No changes were made. Run without --dryRun to apply changes."
53
+ }));
54
+ }
55
+ } catch (err) {
56
+ logger.error(() => ({
57
+ err,
58
+ msg: "Failed to migrate abuserScoreThreshold"
59
+ }));
60
+ }
61
+ },
62
+ middlewares: []
63
+ };
64
+ };
65
+ export {
66
+ commandMigrateAbuserScoreThreshold as default
67
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrateAbuserScoreThreshold.js","sourceRoot":"","sources":["../../src/commands/migrateAbuserScoreThreshold.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { type Logger } from "@prosopo/logger";
2
+ import type { KeyringPair } from "@prosopo/types";
3
+ import type { ProsopoConfigOutput } from "@prosopo/types";
4
+ import type { ArgumentsCamelCase, Argv } from "yargs";
5
+ declare const _default: (pair: KeyringPair, config: ProsopoConfigOutput, cmdArgs?: {
6
+ logger?: Logger;
7
+ }) => {
8
+ command: string;
9
+ describe: string;
10
+ builder: (yargs: Argv) => Argv<{
11
+ file: string;
12
+ }>;
13
+ handler: (argv: ArgumentsCamelCase) => Promise<void>;
14
+ middlewares: never[];
15
+ };
16
+ export default _default;
17
+ //# sourceMappingURL=providerSetDataset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providerSetDataset.d.ts","sourceRoot":"","sources":["../../src/commands/providerSetDataset.ts"],"names":[],"mappings":"AAeA,OAAO,EAAY,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;+BAK/C,WAAW,UACT,mBAAmB,YACjB;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;;;qBASX,IAAI;;;oBAMC,kBAAkB;;;AAlB1C,wBA4CE"}
@@ -1,5 +1,5 @@
1
- import { getLogger, LogLevel } from "@prosopo/common";
2
1
  import { ProviderEnvironment } from "@prosopo/env";
2
+ import { getLogger, LogLevel } from "@prosopo/logger";
3
3
  import { Tasks } from "@prosopo/provider";
4
4
  import * as z from "zod";
5
5
  import { loadJSONFile } from "../files.js";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providerSetDataset.js","sourceRoot":"","sources":["../../src/commands/providerSetDataset.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAe,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAI1C,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,eAAe,CACd,IAAiB,EACjB,MAA2B,EAC3B,OAA6B,EAC5B,EAAE;IACH,MAAM,MAAM,GACX,OAAO,EAAE,MAAM;QACf,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;IAE5D,OAAO;QACN,OAAO,EAAE,uBAAuB;QAChC,QAAQ,EAAE,6BAA6B;QACvC,OAAO,EAAE,CAAC,KAAW,EAAE,EAAE,CACxB,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;YACpB,IAAI,EAAE,QAAiB;YACvB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,sCAAsC;SACnC,CAAC;QACZ,OAAO,EAAE,KAAK,EAAE,IAAwB,EAAE,EAAE;YAC3C,IAAI,CAAC;gBACJ,MAAM,GAAG,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAClD,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC7B,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAS,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAClB,IAAI,EAAE,EAAE,IAAI,EAAE;oBACd,GAAG,EAAE,cAAc;iBACnB,CAAC,CAAC,CAAC;gBACJ,MAAM,MAAM,GACX,MAAM,KAAK,CAAC,cAAc,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;gBACjE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAClB,IAAI,EAAE,EAAE,IAAI,EAAE;oBACd,GAAG,EAAE,aAAa;iBAClB,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;oBACnB,GAAG;oBACH,GAAG,EAAE,oBAAoB;iBACzB,CAAC,CAAC,CAAC;YACL,CAAC;QACF,CAAC;QACD,WAAW,EAAE,EAAE;KACf,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,62 @@
1
+ import { type Logger } from "@prosopo/logger";
2
+ import { type KeyringPair } from "@prosopo/types";
3
+ import { type ProsopoConfigOutput, Tier } from "@prosopo/types";
4
+ import type { ArgumentsCamelCase, Argv } from "yargs";
5
+ import { z } from "zod";
6
+ export declare const SiteKeyRegisterCommandArgsSpec: z.ZodObject<{
7
+ sitekey: z.ZodString;
8
+ tier: z.ZodNativeEnum<typeof Tier>;
9
+ captcha_type: z.ZodNativeEnum<typeof import("@prosopo/types").CaptchaType>;
10
+ frictionless_threshold: z.ZodNumber;
11
+ pow_difficulty: z.ZodNumber;
12
+ domains: z.ZodArray<z.ZodString, "many">;
13
+ image_threshold: z.ZodNumber;
14
+ image_max_rounds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
15
+ }, "strip", z.ZodTypeAny, {
16
+ tier: Tier;
17
+ sitekey: string;
18
+ captcha_type: import("@prosopo/types").CaptchaType;
19
+ frictionless_threshold: number;
20
+ pow_difficulty: number;
21
+ domains: string[];
22
+ image_threshold: number;
23
+ image_max_rounds: number;
24
+ }, {
25
+ tier: Tier;
26
+ sitekey: string;
27
+ captcha_type: import("@prosopo/types").CaptchaType;
28
+ frictionless_threshold: number;
29
+ pow_difficulty: number;
30
+ domains: string[];
31
+ image_threshold: number;
32
+ image_max_rounds?: number | undefined;
33
+ }>;
34
+ declare const _default: (pair: KeyringPair, config: ProsopoConfigOutput, cmdArgs?: {
35
+ logger?: Logger;
36
+ }) => {
37
+ command: string;
38
+ describe: string;
39
+ builder: (yargs: Argv) => Argv<{
40
+ sitekey: string;
41
+ } & {
42
+ tier: string | undefined;
43
+ } & {
44
+ captcha_type: string | undefined;
45
+ } & {
46
+ domains: (string | number)[] | undefined;
47
+ } & {
48
+ frictionless_threshold: number | undefined;
49
+ } & {
50
+ pow_difficulty: number | undefined;
51
+ } & {
52
+ image_threshold: number | undefined;
53
+ } & {
54
+ image_max_rounds: number | undefined;
55
+ }>;
56
+ handler: (argv: ArgumentsCamelCase) => Promise<void>;
57
+ middlewares: ((argv: ArgumentsCamelCase) => {
58
+ sitekey: string;
59
+ })[];
60
+ };
61
+ export default _default;
62
+ //# sourceMappingURL=siteKeyRegister.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"siteKeyRegister.d.ts","sourceRoot":"","sources":["../../src/commands/siteKeyRegister.ts"],"names":[],"mappings":"AAeA,OAAO,EAAY,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAEN,KAAK,WAAW,EAIhB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEN,KAAK,mBAAmB,EACxB,IAAI,EACJ,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;EAczC,CAAC;+BAGI,WAAW,UACT,mBAAmB,YACjB;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;;;qBAQX,IAAI;;;;;;;;;;;;;;;;;oBA0CC,kBAAkB;;;;;AArD1C,wBAoGE"}
@@ -1,7 +1,7 @@
1
- import { getLogger, LogLevel } from "@prosopo/common";
2
1
  import { ProviderEnvironment } from "@prosopo/env";
2
+ import { getLogger, LogLevel } from "@prosopo/logger";
3
3
  import { Tasks } from "@prosopo/provider";
4
- import { CaptchaTypeSpec, Tier, ContextType, contextAwareThresholdDefault } from "@prosopo/types";
4
+ import { imageMaxRoundsDefault, CaptchaTypeSpec, Tier, ContextType, contextAwareThresholdDefault, puzzleToleranceDefault } from "@prosopo/types";
5
5
  import { z } from "zod";
6
6
  import { validateSiteKey } from "./validators.js";
7
7
  const SiteKeyRegisterCommandArgsSpec = z.object({
@@ -11,7 +11,8 @@ const SiteKeyRegisterCommandArgsSpec = z.object({
11
11
  frictionless_threshold: z.number().max(1).min(0),
12
12
  pow_difficulty: z.number(),
13
13
  domains: z.array(z.string()),
14
- image_threshold: z.number().max(1).min(0)
14
+ image_threshold: z.number().max(1).min(0),
15
+ image_max_rounds: z.number().int().positive().optional().default(imageMaxRoundsDefault)
15
16
  });
16
17
  const commandSiteKeyRegister = (pair, config, cmdArgs) => {
17
18
  const logger = cmdArgs?.logger || getLogger(LogLevel.enum.info, "cli.dapp_register");
@@ -46,6 +47,10 @@ const commandSiteKeyRegister = (pair, config, cmdArgs) => {
46
47
  type: "number",
47
48
  demandOption: false,
48
49
  desc: "Image threshold for settings"
50
+ }).option("image_max_rounds", {
51
+ type: "number",
52
+ demandOption: false,
53
+ desc: "Image max rounds for settings"
49
54
  }),
50
55
  handler: async (argv) => {
51
56
  try {
@@ -58,7 +63,8 @@ const commandSiteKeyRegister = (pair, config, cmdArgs) => {
58
63
  frictionless_threshold,
59
64
  pow_difficulty,
60
65
  domains,
61
- image_threshold
66
+ image_threshold,
67
+ image_max_rounds
62
68
  } = SiteKeyRegisterCommandArgsSpec.parse(argv);
63
69
  const tasks = new Tasks(env);
64
70
  await tasks.clientTaskManager.registerSiteKey(sitekey, tier, {
@@ -67,6 +73,8 @@ const commandSiteKeyRegister = (pair, config, cmdArgs) => {
67
73
  domains: domains || [],
68
74
  powDifficulty: pow_difficulty,
69
75
  imageThreshold: image_threshold,
76
+ imageMaxRounds: image_max_rounds,
77
+ puzzleTolerance: puzzleToleranceDefault,
70
78
  disallowWebView: false,
71
79
  contextAware: {
72
80
  enabled: false,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"siteKeyRegister.js","sourceRoot":"","sources":["../../src/commands/siteKeyRegister.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { type Logger } from "@prosopo/logger";
2
+ import type { KeyringPair } from "@prosopo/types";
3
+ import { type ProsopoConfigOutput, Tier } from "@prosopo/types";
4
+ import type { ArgumentsCamelCase, Argv } from "yargs";
5
+ declare const _default: (pair: KeyringPair, authAccount: KeyringPair, config: ProsopoConfigOutput, cmdArgs?: {
6
+ logger?: Logger;
7
+ }) => {
8
+ command: string;
9
+ describe: string;
10
+ builder: (yargs: Argv) => Argv<{
11
+ sitekey: string;
12
+ } & {
13
+ tier: Tier;
14
+ } & {
15
+ url: string;
16
+ } & {
17
+ captcha_type: string | undefined;
18
+ } & {
19
+ frictionless_threshold: number | undefined;
20
+ } & {
21
+ domains: (string | number)[] | undefined;
22
+ } & {
23
+ pow_difficulty: number | undefined;
24
+ } & {
25
+ image_threshold: number | undefined;
26
+ } & {
27
+ image_max_rounds: number | undefined;
28
+ }>;
29
+ handler: (argv: ArgumentsCamelCase) => Promise<void>;
30
+ middlewares: ((argv: ArgumentsCamelCase) => {
31
+ sitekey: string;
32
+ })[];
33
+ };
34
+ export default _default;
35
+ //# sourceMappingURL=siteKeyRegisterApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"siteKeyRegisterApi.d.ts","sourceRoot":"","sources":["../../src/commands/siteKeyRegisterApi.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAY,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAEN,KAAK,mBAAmB,EACxB,IAAI,EAEJ,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;+BAY/C,WAAW,eACJ,WAAW,UAChB,mBAAmB,YACjB;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;;;qBAQX,IAAI;;;;;;;;;;;;;;;;;;;oBA+CC,kBAAkB;;;;;AA3D1C,wBAuGE"}
@@ -1,8 +1,7 @@
1
1
  import { ProviderApi } from "@prosopo/api";
2
- import { getLogger, LogLevel } from "@prosopo/common";
3
2
  import { ProviderEnvironment } from "@prosopo/env";
4
- import { CaptchaTypeSpec, Tier } from "@prosopo/types";
5
- import { u8aToHex } from "@prosopo/util";
3
+ import { getLogger, LogLevel } from "@prosopo/logger";
4
+ import { puzzleToleranceDefault, CaptchaTypeSpec, Tier } from "@prosopo/types";
6
5
  import { z } from "zod";
7
6
  import { SiteKeyRegisterCommandArgsSpec } from "./siteKeyRegister.js";
8
7
  import { validateSiteKey } from "./validators.js";
@@ -48,6 +47,10 @@ const commandSiteKeyRegisterApi = (pair, authAccount, config, cmdArgs) => {
48
47
  type: "number",
49
48
  demandOption: false,
50
49
  desc: "Image threshold for settings"
50
+ }).option("image_max_rounds", {
51
+ type: "number",
52
+ demandOption: false,
53
+ desc: "Max image rounds"
51
54
  }),
52
55
  handler: async (argv) => {
53
56
  try {
@@ -60,11 +63,11 @@ const commandSiteKeyRegisterApi = (pair, authAccount, config, cmdArgs) => {
60
63
  url,
61
64
  domains,
62
65
  pow_difficulty,
63
- image_threshold
66
+ image_threshold,
67
+ image_max_rounds
64
68
  } = SiteKeyRegisterApiCommandArgsSpec.parse(argv);
65
69
  const api = new ProviderApi(url, pair.address);
66
- const timestamp = (/* @__PURE__ */ new Date()).getTime().toString();
67
- const signature = u8aToHex(authAccount.sign(timestamp));
70
+ const jwt = pair.jwtIssue();
68
71
  await api.registerSiteKey(
69
72
  sitekey,
70
73
  argv.tier,
@@ -74,10 +77,11 @@ const commandSiteKeyRegisterApi = (pair, authAccount, config, cmdArgs) => {
74
77
  domains: domains || [],
75
78
  powDifficulty: pow_difficulty,
76
79
  imageThreshold: image_threshold,
80
+ imageMaxRounds: image_max_rounds,
81
+ puzzleTolerance: puzzleToleranceDefault,
77
82
  disallowWebView: false
78
83
  },
79
- timestamp,
80
- signature
84
+ jwt
81
85
  );
82
86
  logger.info(() => ({
83
87
  data: { sitekey },
@@ -0,0 +1 @@
1
+ {"version":3,"file":"siteKeyRegisterApi.js","sourceRoot":"","sources":["../../src/commands/siteKeyRegisterApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { type Logger } from "@prosopo/logger";
2
+ import type { KeyringPair } from "@prosopo/types";
3
+ import type { ProsopoConfigOutput } from "@prosopo/types";
4
+ declare const _default: (pair: KeyringPair, config: ProsopoConfigOutput, cmdArgs?: {
5
+ logger?: Logger;
6
+ }) => {
7
+ command: string;
8
+ describe: string;
9
+ handler: () => Promise<void>;
10
+ middlewares: never[];
11
+ };
12
+ export default _default;
13
+ //# sourceMappingURL=storeCaptchasExternally.d.ts.map