@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storeCaptchasExternally.d.ts","sourceRoot":"","sources":["../../src/commands/storeCaptchasExternally.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,wBA2BE"}
@@ -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 commandStoreCaptchasExternally = (pair, config, cmdArgs) => {
5
5
  const logger = cmdArgs?.logger || getLogger(LogLevel.enum.info, "cli.store_captchas");
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storeCaptchasExternally.js","sourceRoot":"","sources":["../../src/commands/storeCaptchasExternally.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,uDAAuD;QACjE,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,MAAM,KAAK,CAAC,iBAAiB;qBAC3B,wBAAwB,EAAE;qBAC1B,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=updateSpamEmailDomains.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateSpamEmailDomains.d.ts","sourceRoot":"","sources":["../../src/commands/updateSpamEmailDomains.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,wBAuDE"}
@@ -0,0 +1,51 @@
1
+ import { ProviderEnvironment } from "@prosopo/env";
2
+ import { getLogger, LogLevel } from "@prosopo/logger";
3
+ import { updateSpamEmailDomains } from "@prosopo/provider";
4
+ const commandUpdateSpamEmailDomains = (pair, config, cmdArgs) => {
5
+ const logger = cmdArgs?.logger || getLogger(LogLevel.enum.info, "cli.update_spam_email_domains");
6
+ return {
7
+ command: "update_spam_email_domains",
8
+ describe: "Update spam email domains from configured URLs",
9
+ handler: async () => {
10
+ try {
11
+ const env = new ProviderEnvironment(config, pair);
12
+ await env.isReady();
13
+ const spamEmailDomainsUrls = config.spamEmailDomainsUrls || [];
14
+ if (spamEmailDomainsUrls.length === 0) {
15
+ logger.warn(() => ({
16
+ msg: "No spam email domains URLs configured. Set SPAM_EMAIL_DOMAINS_URLS in environment."
17
+ }));
18
+ return;
19
+ }
20
+ logger.info(() => ({
21
+ msg: "Starting spam email domains update",
22
+ data: { urlCount: spamEmailDomainsUrls.length }
23
+ }));
24
+ await updateSpamEmailDomains(
25
+ env.getDb(),
26
+ env.logger,
27
+ spamEmailDomainsUrls
28
+ ).catch((err) => {
29
+ env.logger.error(() => ({
30
+ msg: "Error updating spam email domains",
31
+ err
32
+ }));
33
+ throw err;
34
+ });
35
+ logger.info(() => ({
36
+ msg: "Spam email domains update completed successfully"
37
+ }));
38
+ } catch (err) {
39
+ logger.error(() => ({
40
+ msg: "Failed to update spam email domains",
41
+ err
42
+ }));
43
+ throw err;
44
+ }
45
+ },
46
+ middlewares: []
47
+ };
48
+ };
49
+ export {
50
+ commandUpdateSpamEmailDomains as default
51
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateSpamEmailDomains.js","sourceRoot":"","sources":["../../src/commands/updateSpamEmailDomains.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAe,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAI3D,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,+BAA+B,CAAC,CAAC;IAEhE,OAAO;QACN,OAAO,EAAE,2BAA2B;QACpC,QAAQ,EAAE,gDAAgD;QAC1D,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;gBAEpB,MAAM,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,IAAI,EAAE,CAAC;gBAC/D,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;wBAClB,GAAG,EAAE,oFAAoF;qBACzF,CAAC,CAAC,CAAC;oBACJ,OAAO;gBACR,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAClB,GAAG,EAAE,oCAAoC;oBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,oBAAoB,CAAC,MAAM,EAAE;iBAC/C,CAAC,CAAC,CAAC;gBAEJ,MAAM,sBAAsB,CAC3B,GAAG,CAAC,KAAK,EAAE,EACX,GAAG,CAAC,MAAM,EACV,oBAAoB,CACpB,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;oBACtB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;wBACvB,GAAG,EAAE,mCAAmC;wBACxC,GAAG;qBACH,CAAC,CAAC,CAAC;oBACJ,MAAM,GAAG,CAAC;gBACX,CAAC,CAAC,CAAC;gBAEH,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAClB,GAAG,EAAE,kDAAkD;iBACvD,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;oBACnB,GAAG,EAAE,qCAAqC;oBAC1C,GAAG;iBACH,CAAC,CAAC,CAAC;gBACJ,MAAM,GAAG,CAAC;YACX,CAAC;QACF,CAAC;QACD,WAAW,EAAE,EAAE;KACf,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { Compact } from "@polkadot/types-codec/base";
2
+ import type { u128 } from "@polkadot/types-codec/primitive";
3
+ import type { ArgumentsCamelCase } from "yargs";
4
+ export declare const validateAddress: (argv: ArgumentsCamelCase) => {
5
+ address: string;
6
+ };
7
+ export declare const validateSiteKey: (argv: ArgumentsCamelCase) => {
8
+ sitekey: string;
9
+ };
10
+ export declare const validateValue: (argv: ArgumentsCamelCase) => {
11
+ value: Compact<u128>;
12
+ };
13
+ export declare const validateScheduleExpression: (argv: ArgumentsCamelCase) => {
14
+ schedule: string;
15
+ } | {
16
+ schedule: null;
17
+ };
18
+ //# sourceMappingURL=validators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/commands/validators.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAK5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAEhD,eAAO,MAAM,eAAe,SACrB,kBAAkB,KACtB;IAAE,OAAO,EAAE,MAAM,CAAA;CAInB,CAAC;AAEF,eAAO,MAAM,eAAe,SACrB,kBAAkB,KACtB;IAAE,OAAO,EAAE,MAAM,CAAA;CAInB,CAAC;AAEF,eAAO,MAAM,aAAa,SAAU,kBAAkB;;CAQrD,CAAC;AAEF,eAAO,MAAM,0BAA0B,SAAU,kBAAkB;cAa7B,MAAM;;;CAG3C,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/commands/validators.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,MAAM,MAAM,aAAa,CAAC;AAIjC,MAAM,CAAC,MAAM,eAAe,GAAG,CAC9B,IAAwB,EACF,EAAE;IACxB,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAiB,CAAC,CAAC;IAE5D,OAAO,EAAE,OAAO,EAAE,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC9B,IAAwB,EACF,EAAE;IACxB,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAiB,CAAC,CAAC;IAE5D,OAAO,EAAE,OAAO,EAAE,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAwB,EAAE,EAAE;IACzD,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE;YAChD,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;SAChC,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAkB,IAAI,CAAC,KAAiC,CAAC;IACpE,OAAO,EAAE,KAAK,EAAE,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,IAAwB,EAAE,EAAE;IACtE,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAkB,CAAC,CAAC;QAE3D,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE;gBAChD,OAAO,EAAE;oBACR,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;oBACrB,cAAc,EAAE,0BAA0B,CAAC,IAAI;iBAC/C;aACD,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAkB,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC,CAAC"}
@@ -0,0 +1,12 @@
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: () => void;
10
+ };
11
+ export default _default;
12
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AAcnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;+BAInD,WAAW,UACT,mBAAmB,YACjB;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;AAH9B,wBAiBE"}
@@ -1,4 +1,4 @@
1
- import { getLogger, LogLevel } from "@prosopo/common";
1
+ import { getLogger, LogLevel } from "@prosopo/logger";
2
2
  import { version } from "@prosopo/util";
3
3
  const commandVersion = (pair, config, cmdArgs) => {
4
4
  const logger = cmdArgs?.logger || getLogger(LogLevel.enum.info, "cli.version");
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAe,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAgBnE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,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,aAAa,CAAC,CAAC;IAEjE,OAAO;QACN,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,oCAAoC;QAC9C,OAAO,EAAE,GAAG,EAAE;YACb,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBAClB,IAAI,EAAE,EAAE,OAAO,EAAE;aACjB,CAAC,CAAC,CAAC;QACL,CAAC;KACD,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function loadJSONFile(filePath: string): any;
2
+ export declare function writeJSONFile(filePath: string, jsonData: Record<string, any>): Promise<unknown>;
3
+ export declare function readFile(filePath: string): Promise<Buffer>;
4
+ //# sourceMappingURL=files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AAiBA,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,OAQ5C;AAGD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,oBAmB5E;AAED,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOhE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAoB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAcvC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC5C,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,eAAe,CAAC,0BAA0B,EAAE;YACrD,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC5B,CAAC,CAAC;IACJ,CAAC;AACF,CAAC;AAGD,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,QAA6B;IAC5E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,MAAM,WAAW,GAAgB,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAE7D,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAExC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC/B,MAAM,CAAC,GAAG,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;QAGH,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEzD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,QAAgB;IAC9C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACnC,IAAI,GAAG;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YACrB,OAAO,CAAC,IAAc,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from "./argv.js";
2
+ export * from "./cli.js";
3
+ export * from "./start.js";
4
+ export * from "./process.env.js";
5
+ export * from "./files.js";
6
+ export { default as defaultConfig } from "./prosopo.config.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -1,17 +1,15 @@
1
1
  import { processArgs } from "./argv.js";
2
2
  import "./cli.js";
3
3
  import { start } from "./start.js";
4
- import { getAddress, getDB, getPairType, getPassword, getSecret, getSs58Format } from "./process.env.js";
4
+ import { getAddress, getDB, getPassword, getSecret } from "./process.env.js";
5
5
  import { loadJSONFile, readFile, writeJSONFile } from "./files.js";
6
6
  import { default as default2 } from "./prosopo.config.js";
7
7
  export {
8
8
  default2 as defaultConfig,
9
9
  getAddress,
10
10
  getDB,
11
- getPairType,
12
11
  getPassword,
13
12
  getSecret,
14
- getSs58Format,
15
13
  loadJSONFile,
16
14
  processArgs,
17
15
  readFile,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function getAddress(who?: string): string | undefined;
2
+ export declare function getPassword(who?: string): string | undefined;
3
+ export declare function getSecret(who?: string): string | undefined;
4
+ export declare function getDB(): string;
5
+ //# sourceMappingURL=process.env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.env.d.ts","sourceRoot":"","sources":["../src/process.env.ts"],"names":[],"mappings":"AAgBA,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAO3D;AAED,wBAAgB,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAO5D;AAED,wBAAgB,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAY1D;AAED,wBAAgB,KAAK,IAAI,MAAM,CAK9B"}
@@ -1,10 +1,4 @@
1
1
  import { ProsopoEnvError } from "@prosopo/common";
2
- function getSs58Format() {
3
- return Number.parseInt(process.env.SS58_FORMAT || "") || 42;
4
- }
5
- function getPairType() {
6
- return process.env.PROSOPO_PAIR_TYPE || "sr25519";
7
- }
8
2
  function getAddress(who) {
9
3
  if (!who) {
10
4
  who = "PROVIDER";
@@ -38,8 +32,6 @@ function getDB() {
38
32
  export {
39
33
  getAddress,
40
34
  getDB,
41
- getPairType,
42
35
  getPassword,
43
- getSecret,
44
- getSs58Format
36
+ getSecret
45
37
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.env.js","sourceRoot":"","sources":["../src/process.env.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,UAAU,UAAU,CAAC,GAAY;IACtC,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,GAAG,GAAG,UAAU,CAAC;IAClB,CAAC;SAAM,CAAC;QACP,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAY;IACvC,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,GAAG,GAAG,UAAU,CAAC;IAClB,CAAC;SAAM,CAAC;QACP,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,mBAAmB,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAY;IACrC,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,GAAG,GAAG,UAAU,CAAC;IAClB,CAAC;SAAM,CAAC;QACP,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,CACN,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,CAClC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,KAAK;IACpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;QACxC,MAAM,IAAI,eAAe,CAAC,kCAAkC,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type ProsopoCaptchaCountConfigSchemaInput, type ProsopoCaptchaSolutionConfigSchema, type ProsopoConfigOutput } from "@prosopo/types";
2
+ export default function getConfig(captchaSolutionsConfig?: typeof ProsopoCaptchaSolutionConfigSchema, captchaServeConfig?: ProsopoCaptchaCountConfigSchemaInput, who?: string, admin?: string): ProsopoConfigOutput;
3
+ //# sourceMappingURL=prosopo.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prosopo.config.d.ts","sourceRoot":"","sources":["../src/prosopo.config.ts"],"names":[],"mappings":"AAeA,OAAO,EAIN,KAAK,oCAAoC,EACzC,KAAK,kCAAkC,EAEvC,KAAK,mBAAmB,EAExB,MAAM,gBAAgB,CAAC;AAiExB,MAAM,CAAC,OAAO,UAAU,SAAS,CAChC,sBAAsB,CAAC,EAAE,OAAO,kCAAkC,EAClE,kBAAkB,CAAC,EAAE,oCAAoC,EACzD,GAAG,SAAa,EAChB,KAAK,SAAU,GACb,mBAAmB,CAoFrB"}
@@ -1,4 +1,4 @@
1
- import { parseLogLevel } from "@prosopo/common";
1
+ import { parseLogLevel } from "@prosopo/logger";
2
2
  import { ProsopoConfigSchema, FrictionlessPenalties, DatabaseTypes, EnvironmentTypesSchema } from "@prosopo/types";
3
3
  import { getRateLimitConfig } from "./RateLimiter.js";
4
4
  import { getSecret, getPassword, getAddress } from "./process.env.js";
@@ -23,6 +23,35 @@ const getLRules = () => {
23
23
  return {};
24
24
  }
25
25
  };
26
+ const isStringArray = (value) => Array.isArray(value) && value.every((item) => typeof item === "string");
27
+ const getDnsServers = () => {
28
+ if (!process.env.PROSOPO_DNS_SERVERS) {
29
+ return void 0;
30
+ }
31
+ try {
32
+ const parsed = JSON.parse(process.env.PROSOPO_DNS_SERVERS);
33
+ if (isStringArray(parsed)) {
34
+ return parsed;
35
+ }
36
+ return void 0;
37
+ } catch (e) {
38
+ return void 0;
39
+ }
40
+ };
41
+ const getSpamEmailDomainsUrls = () => {
42
+ if (!process.env.SPAM_EMAIL_DOMAINS_URLS) {
43
+ return void 0;
44
+ }
45
+ try {
46
+ const parsed = JSON.parse(process.env.SPAM_EMAIL_DOMAINS_URLS);
47
+ if (isStringArray(parsed)) {
48
+ return parsed;
49
+ }
50
+ return void 0;
51
+ } catch (e) {
52
+ return void 0;
53
+ }
54
+ };
26
55
  const getHost = () => {
27
56
  const importMeta = import.meta;
28
57
  return process.env.CADDY_DOMAIN || importMeta.env?.VITE_CADDY_DOMAIN;
@@ -86,9 +115,13 @@ function getConfig(captchaSolutionsConfig, captchaServeConfig, who = "PROVIDER",
86
115
  },
87
116
  clientEntropyScheduler: {
88
117
  schedule: process.env.CLIENT_ENTROPY_SCHEDULE
118
+ },
119
+ spamEmailDomainsScheduler: {
120
+ schedule: process.env.SPAM_EMAIL_DOMAINS_SCHEDULE
89
121
  }
90
122
  },
91
123
  lRules: getLRules(),
124
+ spamEmailDomainsUrls: getSpamEmailDomainsUrls(),
92
125
  authAccount: {
93
126
  address: getAddress(admin),
94
127
  password: getPassword(admin),
@@ -97,7 +130,9 @@ function getConfig(captchaSolutionsConfig, captchaServeConfig, who = "PROVIDER",
97
130
  ipApi: {
98
131
  apiKey: process.env.PROSOPO_IPAPI_KEY,
99
132
  baseUrl: process.env.PROSOPO_IPAPI_URL
100
- }
133
+ },
134
+ maxmindDbPath: process.env.MAXMIND_DB_PATH,
135
+ dnsServers: getDnsServers()
101
136
  });
102
137
  }
103
138
  export {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prosopo.config.js","sourceRoot":"","sources":["../src/prosopo.config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { ProviderEnvironment } from "@prosopo/env";
2
+ import type { KeyringPair, ProsopoConfigOutput } from "@prosopo/types";
3
+ import type { AwaitedProcessedArgs } from "./argv.js";
4
+ export default class ReloadingAPI {
5
+ private _envWatcher;
6
+ private _envPath;
7
+ private _config;
8
+ private _pair;
9
+ private _authAccount;
10
+ private _processedArgs;
11
+ private api;
12
+ private _restarting;
13
+ private _env;
14
+ constructor(envPath: string, config: ProsopoConfigOutput, pair: KeyringPair, authAccount: KeyringPair, processedArgs: AwaitedProcessedArgs);
15
+ get env(): ProviderEnvironment;
16
+ start(reloadEnv?: boolean): Promise<void>;
17
+ stop(): Promise<unknown>;
18
+ private _watchEnv;
19
+ }
20
+ //# sourceMappingURL=reloader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reloader.d.ts","sourceRoot":"","sources":["../src/reloader.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAKtD,MAAM,CAAC,OAAO,OAAO,YAAY;IAEhC,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,GAAG,CAAqB;IAChC,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,IAAI,CAAkC;gBAG7C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE,WAAW,EACjB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,oBAAoB;IAUpC,IAAI,GAAG,wBAMN;IAEY,KAAK,CAAC,SAAS,UAAQ;IAmBvB,IAAI;YASH,SAAS;CAevB"}
package/dist/reloader.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import fs from "node:fs";
2
- import { getLogger, LogLevel } from "@prosopo/common";
3
2
  import { loadEnv } from "@prosopo/dotenv";
4
3
  import { ProviderEnvironment } from "@prosopo/env";
4
+ import { getLogger, LogLevel } from "@prosopo/logger";
5
5
  import { start } from "./start.js";
6
6
  const log = getLogger(LogLevel.enum.info, "CLI");
7
7
  class ReloadingAPI {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reloader.js","sourceRoot":"","sources":["../src/reloader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ProviderEnvironment } from "@prosopo/env";
2
+ export declare function start(env?: ProviderEnvironment, admin?: boolean, port?: number): Promise<import("net").Server>;
3
+ //# sourceMappingURL=start.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAanD,wBAAsB,KAAK,CAC1B,GAAG,CAAC,EAAE,mBAAmB,EACzB,KAAK,CAAC,EAAE,OAAO,EACf,IAAI,CAAC,EAAE,MAAM,iCA8Fb"}
package/dist/start.js CHANGED
@@ -1,93 +1,9 @@
1
- import { createApiExpressDefaultEndpointAdapter, requestLoggerMiddleware, authMiddleware, apiExpressRouterFactory } from "@prosopo/api-express-router";
2
- import { parseLogLevel } from "@prosopo/common";
3
1
  import { loadEnv } from "@prosopo/dotenv";
4
2
  import { ProviderEnvironment } from "@prosopo/env";
5
3
  import { getPair } from "@prosopo/keyring";
6
- import { i18nMiddleware } from "@prosopo/locale";
7
- import { createApiAdminRoutesProvider, publicRouter, robotsMiddleware, ignoreMiddleware, ja4Middleware, headerCheckMiddleware, prosopoVerifyRouter, blockMiddleware, domainMiddleware, prosopoRouter, storeCaptchasExternally, getClientList, setClientEntropy } from "@prosopo/provider";
8
- import { ClientApiPaths } from "@prosopo/types";
9
- import { AccessRuleApiRoutes, getExpressApiRuleRateLimits } from "@prosopo/user-access-policy/api";
10
- import cors from "cors";
11
- import express from "express";
12
- import rateLimit from "express-rate-limit";
4
+ import { storeCaptchasExternally, getClientList, setClientEntropy, updateSpamEmailDomainsScheduler, startProviderApi } from "@prosopo/provider";
13
5
  import { getDB, getSecret } from "./process.env.js";
14
6
  import getConfig from "./prosopo.config.js";
15
- const getClientApiPathsExcludingVerify = () => {
16
- const paths = Object.values(ClientApiPaths).filter(
17
- (path) => path.indexOf("verify") === -1
18
- );
19
- return paths;
20
- };
21
- async function startApi(env, admin = false, port) {
22
- env.logger.info(() => ({ msg: "Starting Prosopo API" }));
23
- const apiApp = express();
24
- const apiPort = port || env.config.server?.port;
25
- const apiEndpointAdapter = createApiExpressDefaultEndpointAdapter(
26
- parseLogLevel(env.config.logLevel)
27
- );
28
- const apiRuleRoutesProvider = new AccessRuleApiRoutes(
29
- env.getDb().getUserAccessRulesStorage(),
30
- env.logger
31
- );
32
- const apiAdminRoutesProvider = createApiAdminRoutesProvider(env);
33
- const clientPathsExcludingVerify = getClientApiPathsExcludingVerify();
34
- env.logger.debug(() => ({
35
- msg: "Adding headerCheckMiddleware",
36
- paths: clientPathsExcludingVerify
37
- }));
38
- apiApp.set("trust proxy", 1);
39
- apiApp.use(cors());
40
- apiApp.use(express.json({ limit: "50mb" }));
41
- apiApp.use(publicRouter(env));
42
- const i18Middleware = await i18nMiddleware({});
43
- apiApp.use(robotsMiddleware());
44
- apiApp.use(ignoreMiddleware());
45
- apiApp.use(requestLoggerMiddleware(env));
46
- apiApp.use(i18Middleware);
47
- apiApp.use(ja4Middleware(env));
48
- apiApp.use(clientPathsExcludingVerify, headerCheckMiddleware(env));
49
- apiApp.use(prosopoVerifyRouter(env));
50
- env.logger.info(() => ({ msg: "Enabling admin auth middleware" }));
51
- apiApp.use(
52
- "/v1/prosopo/provider/admin",
53
- authMiddleware(env.pair, env.authAccount)
54
- );
55
- apiApp.use(blockMiddleware(env));
56
- apiApp.use("/v1/prosopo/provider/client/", domainMiddleware(env));
57
- apiApp.use(prosopoRouter(env));
58
- const userAccessRuleRoutes = apiRuleRoutesProvider.getRoutes();
59
- for (const userAccessRuleRoute in userAccessRuleRoutes) {
60
- apiApp.use(userAccessRuleRoute, authMiddleware(env.pair, env.authAccount));
61
- }
62
- apiApp.use(
63
- apiExpressRouterFactory.createRouter(
64
- apiRuleRoutesProvider,
65
- apiEndpointAdapter
66
- )
67
- );
68
- apiApp.use(
69
- apiExpressRouterFactory.createRouter(
70
- apiAdminRoutesProvider,
71
- // unlike the default one, it should have errorStatusCode as 400
72
- createApiExpressDefaultEndpointAdapter(
73
- parseLogLevel(env.config.logLevel),
74
- 400
75
- )
76
- )
77
- );
78
- const configRateLimits = env.config.rateLimits;
79
- const rateLimits = { ...configRateLimits, ...getExpressApiRuleRateLimits() };
80
- for (const [path, limit] of Object.entries(rateLimits)) {
81
- const enumPath = path;
82
- apiApp.use(enumPath, rateLimit(limit));
83
- }
84
- return apiApp.listen(apiPort, () => {
85
- env.logger.info(() => ({
86
- data: { apiPort },
87
- msg: "Prosopo app listening"
88
- }));
89
- });
90
- }
91
7
  async function start(env, admin, port) {
92
8
  if (!env) {
93
9
  loadEnv();
@@ -113,7 +29,8 @@ async function start(env, admin, port) {
113
29
  }
114
30
  await env.isReady();
115
31
  env.cleanup();
116
- if (env.pair) {
32
+ const maintenanceMode = process.env.MAINTENANCE_MODE?.toLowerCase() === "true";
33
+ if (env.pair && !maintenanceMode) {
117
34
  const cronScheduleStorage = env.config.scheduledTasks?.captchaScheduler?.schedule;
118
35
  if (cronScheduleStorage) {
119
36
  storeCaptchasExternally(env.pair, cronScheduleStorage, env.config).catch(
@@ -144,8 +61,22 @@ async function start(env, admin, port) {
144
61
  }
145
62
  );
146
63
  }
64
+ const cronSpamEmailDomains = env.config.scheduledTasks?.spamEmailDomainsScheduler?.schedule;
65
+ if (cronSpamEmailDomains) {
66
+ updateSpamEmailDomainsScheduler(
67
+ env.pair,
68
+ cronSpamEmailDomains,
69
+ env.config
70
+ ).catch((err) => {
71
+ env.logger.error(() => ({
72
+ msg: "Failed to start spam email domains scheduler",
73
+ err,
74
+ context: { failedFuncName: updateSpamEmailDomainsScheduler.name }
75
+ }));
76
+ });
77
+ }
147
78
  }
148
- return startApi(env, admin, port);
79
+ return startProviderApi(env, admin, port);
149
80
  }
150
81
  export {
151
82
  start
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EACN,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,+BAA+B,GAC/B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,KAAK,CAC1B,GAAyB,EACzB,KAAe,EACf,IAAa;IAEb,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;QAGV,KAAK,EAAE,CAAC;QAER,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE;YACnC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YACpB,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;SACtB,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,WAAoC,CAAC;QACzC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACxB,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;QACD,GAAG,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YACvB,GAAG,EAAE,qBAAqB;YAC1B,IAAI,EAAE;gBACL,MAAM,EAAE,GAAG,EAAE,MAAM;aACnB;SACD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;IAGpB,GAAG,CAAC,OAAO,EAAE,CAAC;IAId,MAAM,eAAe,GACpB,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC;IAGxD,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QAClC,MAAM,mBAAmB,GACxB,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,gBAAgB,EAAE,QAAQ,CAAC;QACvD,IAAI,mBAAmB,EAAE,CAAC;YACzB,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CACvE,CAAC,GAAG,EAAE,EAAE;gBACP,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;YAClD,CAAC,CACD,CAAC;QACH,CAAC;QACD,MAAM,kBAAkB,GACvB,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,mBAAmB,EAAE,QAAQ,CAAC;QAC1D,IAAI,kBAAkB,EAAE,CAAC;YACxB,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACrE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;oBACvB,GAAG,EAAE,uCAAuC;oBAC5C,GAAG;oBACH,OAAO,EAAE,EAAE,cAAc,EAAE,aAAa,CAAC,IAAI,EAAE;iBAC/C,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,uBAAuB,GAC5B,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,sBAAsB,EAAE,QAAQ,CAAC;QAC7D,IAAI,uBAAuB,EAAE,CAAC;YAC7B,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,uBAAuB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CACpE,CAAC,GAAG,EAAE,EAAE;gBACP,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;oBACvB,GAAG,EAAE,0CAA0C;oBAC/C,GAAG;oBACH,OAAO,EAAE,EAAE,cAAc,EAAE,gBAAgB,CAAC,IAAI,EAAE;iBAClD,CAAC,CAAC,CAAC;YACL,CAAC,CACD,CAAC;QACH,CAAC;QAED,MAAM,oBAAoB,GACzB,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,yBAAyB,EAAE,QAAQ,CAAC;QAChE,IAAI,oBAAoB,EAAE,CAAC;YAC1B,+BAA+B,CAC9B,GAAG,CAAC,IAAI,EACR,oBAAoB,EACpB,GAAG,CAAC,MAAM,CACV,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACf,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;oBACvB,GAAG,EAAE,8CAA8C;oBACnD,GAAG;oBACH,OAAO,EAAE,EAAE,cAAc,EAAE,+BAA+B,CAAC,IAAI,EAAE;iBACjE,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,OAAO,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=bundle.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundle.unit.test.d.ts","sourceRoot":"","sources":["../../../src/tests/bundle/bundle.unit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import { exec } from "node:child_process";
2
+ import { promisify } from "node:util";
3
+ import { getCliPkgDir } from "@prosopo/workspace";
4
+ import { assert, describe, test } from "vitest";
5
+ const execPromise = promisify(exec);
6
+ describe("provider bundle", () => {
7
+ test("bundle runs after bundling", async () => {
8
+ const rootDir = getCliPkgDir();
9
+ await execPromise(`cd ${rootDir} && NODE_ENV=production npm run bundle`);
10
+ const { stdout: runOut, stderr: runErr } = await execPromise(`cd ${rootDir} && node dist/bundle/provider.cli.bundle.js version`);
11
+ assert(/{"version":"\d+\.\d+\.\d+"}/.test(runOut));
12
+ }, 120000);
13
+ });
14
+ //# sourceMappingURL=bundle.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundle.unit.test.js","sourceRoot":"","sources":["../../../src/tests/bundle/bundle.unit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAclD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAEpC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAChC,IAAI,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAE7C,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;QAG/B,MAAM,WAAW,CAAC,MAAM,OAAO,wCAAwC,CAAC,CAAC;QAGzE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAC3D,MAAM,OAAO,qDAAqD,CAClE,CAAC;QACF,MAAM,CAAC,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,CAAC,EAAE,MAAM,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/cli",
3
- "version": "3.5.8",
3
+ "version": "3.6.31",
4
4
  "description": "CLI for Prosopo Provider",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -18,7 +18,8 @@
18
18
  },
19
19
  "scripts": {
20
20
  "clean": "del-cli --verbose dist tsconfig.tsbuildinfo",
21
- "build": "NODE_ENV=${NODE_ENV:-development}; vite build --config vite.esm.config.ts --mode $NODE_ENV",
21
+ "build": "npm run build:cross-env -- --mode ${NODE_ENV:-development}",
22
+ "build:cross-env": "vite build --config vite.esm.config.ts",
22
23
  "build:tsc": "tsc --build --verbose",
23
24
  "build:cjs": "NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV",
24
25
  "typecheck": "tsc --project tsconfig.types.json",
@@ -31,28 +32,24 @@
31
32
  },
32
33
  "dependencies": {
33
34
  "@polkadot/types-codec": "16.4.9",
34
- "@prosopo/api": "3.1.37",
35
- "@prosopo/api-express-router": "3.0.40",
36
- "@prosopo/common": "3.1.26",
37
- "@prosopo/dotenv": "3.0.31",
38
- "@prosopo/env": "3.2.28",
39
- "@prosopo/keyring": "2.8.40",
40
- "@prosopo/locale": "3.1.26",
41
- "@prosopo/provider": "3.13.7",
42
- "@prosopo/types": "3.6.4",
43
- "@prosopo/user-access-policy": "3.5.32",
44
- "@prosopo/util": "3.2.4",
45
- "@prosopo/util-crypto": "13.5.28",
46
- "@prosopo/workspace": "3.1.19",
47
- "cors": "2.8.5",
35
+ "@prosopo/api": "3.4.8",
36
+ "@prosopo/common": "3.1.38",
37
+ "@prosopo/logger": "1.0.2",
38
+ "@prosopo/dotenv": "3.0.43",
39
+ "@prosopo/env": "3.5.7",
40
+ "@prosopo/keyring": "2.9.34",
41
+ "@prosopo/locale": "3.2.4",
42
+ "@prosopo/provider": "4.7.1",
43
+ "@prosopo/types": "4.3.0",
44
+ "@prosopo/util": "3.2.15",
45
+ "@prosopo/workspace": "3.1.20",
48
46
  "cron-parser": "4.9.0",
49
47
  "dotenv": "16.4.5",
50
- "express-rate-limit": "7.4.0",
51
48
  "yargs": "17.7.2",
52
49
  "zod": "3.23.8"
53
50
  },
54
51
  "devDependencies": {
55
- "@prosopo/config": "3.1.26",
52
+ "@prosopo/config": "3.3.1",
56
53
  "@polkadot-api/substrate-client": "0.1.4",
57
54
  "@types/cors": "2.8.17",
58
55
  "@types/node": "22.10.2",
@@ -71,5 +68,10 @@
71
68
  },
72
69
  "author": "Prosopo",
73
70
  "license": "Apache-2.0",
74
- "sideEffects": false
71
+ "sideEffects": false,
72
+ "repository": {
73
+ "type": "git",
74
+ "url": "git+https://github.com/prosopo/captcha.git",
75
+ "directory": "packages/cli"
76
+ }
75
77
  }
@@ -1,5 +1,5 @@
1
1
  import path from "node:path";
2
- // Copyright 2021-2025 Prosopo (UK) Ltd.
2
+ // Copyright 2021-2026 Prosopo (UK) Ltd.
3
3
  //
4
4
  // Licensed under the Apache License, Version 2.0 (the "License");
5
5
  // you may not use this file except in compliance with the License.