@prosopo/cli 3.5.8 → 3.5.19

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 (77) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +6 -6
  2. package/.turbo/turbo-build$colon$tsc.log +74 -0
  3. package/.turbo/turbo-build.log +11 -7
  4. package/CHANGELOG.md +131 -0
  5. package/dist/RateLimiter.d.ts +59 -0
  6. package/dist/RateLimiter.d.ts.map +1 -0
  7. package/dist/RateLimiter.js.map +1 -0
  8. package/dist/argv.d.ts +22 -0
  9. package/dist/argv.d.ts.map +1 -0
  10. package/dist/argv.js.map +1 -0
  11. package/dist/bundle/decodeBehavior-BFkC8mpH.js +212 -0
  12. package/dist/bundle/provider.cli.bundle.js +38045 -37262
  13. package/dist/cjs/commands/siteKeyRegisterApi.cjs +2 -5
  14. package/dist/cjs/index.cjs +0 -2
  15. package/dist/cjs/process.env.cjs +0 -8
  16. package/dist/cjs/start.cjs +62 -9
  17. package/dist/cli.d.ts +2 -0
  18. package/dist/cli.d.ts.map +1 -0
  19. package/dist/cli.js.map +1 -0
  20. package/dist/commands/ensureExternalIndexes.d.ts +13 -0
  21. package/dist/commands/ensureExternalIndexes.d.ts.map +1 -0
  22. package/dist/commands/ensureExternalIndexes.js.map +1 -0
  23. package/dist/commands/ensureIndexes.d.ts +13 -0
  24. package/dist/commands/ensureIndexes.d.ts.map +1 -0
  25. package/dist/commands/ensureIndexes.js.map +1 -0
  26. package/dist/commands/index.d.ts +8 -0
  27. package/dist/commands/index.d.ts.map +1 -0
  28. package/dist/commands/index.js.map +1 -0
  29. package/dist/commands/providerSetDataset.d.ts +17 -0
  30. package/dist/commands/providerSetDataset.d.ts.map +1 -0
  31. package/dist/commands/providerSetDataset.js.map +1 -0
  32. package/dist/commands/siteKeyRegister.d.ts +57 -0
  33. package/dist/commands/siteKeyRegister.d.ts.map +1 -0
  34. package/dist/commands/siteKeyRegister.js.map +1 -0
  35. package/dist/commands/siteKeyRegisterApi.d.ts +33 -0
  36. package/dist/commands/siteKeyRegisterApi.d.ts.map +1 -0
  37. package/dist/commands/siteKeyRegisterApi.js +2 -5
  38. package/dist/commands/siteKeyRegisterApi.js.map +1 -0
  39. package/dist/commands/storeCaptchasExternally.d.ts +13 -0
  40. package/dist/commands/storeCaptchasExternally.d.ts.map +1 -0
  41. package/dist/commands/storeCaptchasExternally.js.map +1 -0
  42. package/dist/commands/validators.d.ts +18 -0
  43. package/dist/commands/validators.d.ts.map +1 -0
  44. package/dist/commands/validators.js.map +1 -0
  45. package/dist/commands/version.d.ts +12 -0
  46. package/dist/commands/version.d.ts.map +1 -0
  47. package/dist/commands/version.js.map +1 -0
  48. package/dist/files.d.ts +4 -0
  49. package/dist/files.d.ts.map +1 -0
  50. package/dist/files.js.map +1 -0
  51. package/dist/index.d.ts +7 -0
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.js +1 -3
  54. package/dist/index.js.map +1 -0
  55. package/dist/process.env.d.ts +5 -0
  56. package/dist/process.env.d.ts.map +1 -0
  57. package/dist/process.env.js +1 -9
  58. package/dist/process.env.js.map +1 -0
  59. package/dist/prosopo.config.d.ts +3 -0
  60. package/dist/prosopo.config.d.ts.map +1 -0
  61. package/dist/prosopo.config.js.map +1 -0
  62. package/dist/reloader.d.ts +20 -0
  63. package/dist/reloader.d.ts.map +1 -0
  64. package/dist/reloader.js.map +1 -0
  65. package/dist/start.d.ts +4 -0
  66. package/dist/start.d.ts.map +1 -0
  67. package/dist/start.js +63 -10
  68. package/dist/start.js.map +1 -0
  69. package/dist/tests/bundle/bundle.unit.test.d.ts +2 -0
  70. package/dist/tests/bundle/bundle.unit.test.d.ts.map +1 -0
  71. package/dist/tests/bundle/bundle.unit.test.js +14 -0
  72. package/dist/tests/bundle/bundle.unit.test.js.map +1 -0
  73. package/package.json +17 -16
  74. package/vite.cjs.config.ts +1 -1
  75. package/vite.config.ts +9 -1
  76. package/vite.esm.config.ts +1 -1
  77. package/vite.test.config.ts +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reloader.d.ts","sourceRoot":"","sources":["../src/reloader.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reloader.js","sourceRoot":"","sources":["../src/reloader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Server } from "node:net";
2
+ import { ProviderEnvironment } from "@prosopo/env";
3
+ export declare function start(env?: ProviderEnvironment, admin?: boolean, port?: number): Promise<Server>;
4
+ //# sourceMappingURL=start.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AASvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAiNnD,wBAAsB,KAAK,CAC1B,GAAG,CAAC,EAAE,mBAAmB,EACzB,KAAK,CAAC,EAAE,OAAO,EACf,IAAI,CAAC,EAAE,MAAM,mBAyEb"}
package/dist/start.js CHANGED
@@ -5,7 +5,7 @@ import { ProviderEnvironment } from "@prosopo/env";
5
5
  import { getPair } from "@prosopo/keyring";
6
6
  import { i18nMiddleware } from "@prosopo/locale";
7
7
  import { createApiAdminRoutesProvider, publicRouter, robotsMiddleware, ignoreMiddleware, ja4Middleware, headerCheckMiddleware, prosopoVerifyRouter, blockMiddleware, domainMiddleware, prosopoRouter, storeCaptchasExternally, getClientList, setClientEntropy } from "@prosopo/provider";
8
- import { ClientApiPaths } from "@prosopo/types";
8
+ import { ClientApiPaths, AdminApiPaths } from "@prosopo/types";
9
9
  import { AccessRuleApiRoutes, getExpressApiRuleRateLimits } from "@prosopo/user-access-policy/api";
10
10
  import cors from "cors";
11
11
  import express from "express";
@@ -18,6 +18,28 @@ const getClientApiPathsExcludingVerify = () => {
18
18
  );
19
19
  return paths;
20
20
  };
21
+ const getUserFromJWT = (req) => {
22
+ try {
23
+ const authHeader = req.headers.Authorization || req.headers.authorization;
24
+ if (!authHeader || typeof authHeader !== "string") {
25
+ return void 0;
26
+ }
27
+ const jwt = authHeader.replace("Bearer ", "");
28
+ if (!jwt) {
29
+ return void 0;
30
+ }
31
+ const parts = jwt.split(".");
32
+ if (parts.length !== 3 || !parts[1]) {
33
+ return void 0;
34
+ }
35
+ const payload = JSON.parse(
36
+ Buffer.from(parts[1], "base64url").toString("utf-8")
37
+ );
38
+ return payload.sub;
39
+ } catch (e) {
40
+ return void 0;
41
+ }
42
+ };
21
43
  async function startApi(env, admin = false, port) {
22
44
  env.logger.info(() => ({ msg: "Starting Prosopo API" }));
23
45
  const apiApp = express();
@@ -39,6 +61,43 @@ async function startApi(env, admin = false, port) {
39
61
  apiApp.use(cors());
40
62
  apiApp.use(express.json({ limit: "50mb" }));
41
63
  apiApp.use(publicRouter(env));
64
+ const isTestOrDevelopmentEnv = process.env.NODE_ENV === "test" || env.config.defaultEnvironment === "development";
65
+ if (!isTestOrDevelopmentEnv) {
66
+ const configRateLimits = env.config.rateLimits;
67
+ const rateLimits = {
68
+ ...configRateLimits,
69
+ ...getExpressApiRuleRateLimits()
70
+ };
71
+ const adminPaths = Object.values(AdminApiPaths);
72
+ for (const [path, limit] of Object.entries(rateLimits)) {
73
+ const enumPath = path;
74
+ if (adminPaths.includes(enumPath)) {
75
+ apiApp.use(
76
+ enumPath,
77
+ rateLimit({
78
+ ...limit,
79
+ keyGenerator: (req) => {
80
+ const user = getUserFromJWT(req);
81
+ return user || req.ip || "unknown";
82
+ }
83
+ })
84
+ );
85
+ } else if (path === ClientApiPaths.VerifyImageCaptchaSolutionDapp || path === ClientApiPaths.VerifyPowCaptchaSolution) {
86
+ apiApp.use(
87
+ enumPath,
88
+ rateLimit({
89
+ ...limit,
90
+ keyGenerator: (req) => {
91
+ const siteKey = req.headers["prosopo-site-key"];
92
+ return siteKey || req.ip || "unknown";
93
+ }
94
+ })
95
+ );
96
+ } else {
97
+ apiApp.use(enumPath, rateLimit(limit));
98
+ }
99
+ }
100
+ }
42
101
  const i18Middleware = await i18nMiddleware({});
43
102
  apiApp.use(robotsMiddleware());
44
103
  apiApp.use(ignoreMiddleware());
@@ -52,9 +111,6 @@ async function startApi(env, admin = false, port) {
52
111
  "/v1/prosopo/provider/admin",
53
112
  authMiddleware(env.pair, env.authAccount)
54
113
  );
55
- apiApp.use(blockMiddleware(env));
56
- apiApp.use("/v1/prosopo/provider/client/", domainMiddleware(env));
57
- apiApp.use(prosopoRouter(env));
58
114
  const userAccessRuleRoutes = apiRuleRoutesProvider.getRoutes();
59
115
  for (const userAccessRuleRoute in userAccessRuleRoutes) {
60
116
  apiApp.use(userAccessRuleRoute, authMiddleware(env.pair, env.authAccount));
@@ -75,12 +131,9 @@ async function startApi(env, admin = false, port) {
75
131
  )
76
132
  )
77
133
  );
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
- }
134
+ apiApp.use(blockMiddleware(env));
135
+ apiApp.use("/v1/prosopo/provider/client/", domainMiddleware(env));
136
+ apiApp.use(prosopoRouter(env));
84
137
  return apiApp.listen(apiPort, () => {
85
138
  env.logger.info(() => ({
86
139
  data: { apiPort },
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"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"}
@@ -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.5.19",
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,19 +32,19 @@
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",
35
+ "@prosopo/api": "3.1.41",
36
+ "@prosopo/api-express-router": "3.0.47",
37
+ "@prosopo/common": "3.1.28",
38
+ "@prosopo/dotenv": "3.0.33",
39
+ "@prosopo/env": "3.2.35",
40
+ "@prosopo/keyring": "2.9.0",
41
+ "@prosopo/locale": "3.1.28",
42
+ "@prosopo/provider": "3.15.0",
43
+ "@prosopo/types": "3.8.0",
44
+ "@prosopo/user-access-policy": "3.6.0",
45
+ "@prosopo/util": "3.2.5",
46
+ "@prosopo/util-crypto": "13.5.29",
47
+ "@prosopo/workspace": "3.1.20",
47
48
  "cors": "2.8.5",
48
49
  "cron-parser": "4.9.0",
49
50
  "dotenv": "16.4.5",
@@ -52,7 +53,7 @@
52
53
  "zod": "3.23.8"
53
54
  },
54
55
  "devDependencies": {
55
- "@prosopo/config": "3.1.26",
56
+ "@prosopo/config": "3.3.0",
56
57
  "@polkadot-api/substrate-client": "0.1.4",
57
58
  "@types/cors": "2.8.17",
58
59
  "@types/node": "22.10.2",
@@ -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.
package/vite.config.ts CHANGED
@@ -1,4 +1,4 @@
1
- // Copyright 2021-2025 Prosopo (UK) Ltd.
1
+ // Copyright 2021-2026 Prosopo (UK) Ltd.
2
2
  //
3
3
  // Licensed under the Apache License, Version 2.0 (the "License");
4
4
  // you may not use this file except in compliance with the License.
@@ -41,6 +41,14 @@ export default defineConfig(async ({ command, mode }) => {
41
41
  mode,
42
42
  );
43
43
  return defineConfig({
44
+ ssr: {
45
+ external: [
46
+ ...(backendConfig.ssr?.external
47
+ ? (backendConfig.ssr.external as string[])
48
+ : []),
49
+ "kerberos",
50
+ ] as string[],
51
+ },
44
52
  define: {
45
53
  ...backendConfig.define,
46
54
  ...(process.env.PROSOPO_MONGO_EVENTS_URI && {
@@ -1,4 +1,4 @@
1
- // Copyright 2021-2025 Prosopo (UK) Ltd.
1
+ // Copyright 2021-2026 Prosopo (UK) Ltd.
2
2
  //
3
3
  // Licensed under the Apache License, Version 2.0 (the "License");
4
4
  // you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
- // Copyright 2021-2025 Prosopo (UK) Ltd.
3
+ // Copyright 2021-2026 Prosopo (UK) Ltd.
4
4
  //
5
5
  // Licensed under the Apache License, Version 2.0 (the "License");
6
6
  // you may not use this file except in compliance with the License.