@prosopo/load-balancer 2.11.11 → 2.11.13

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.
@@ -3,25 +3,23 @@ ViteCommonJSConfig: .
3
3
  {
4
4
  tsConfigPaths: [
5
5
  '/home/runner/work/captcha/captcha/packages/common/tsconfig.json',
6
+ '/home/runner/work/captcha/captcha/packages/types/tsconfig.json',
6
7
  '/home/runner/work/captcha/captcha/packages/locale/tsconfig.json',
7
8
  '/home/runner/work/captcha/captcha/packages/util/tsconfig.json',
8
- '/home/runner/work/captcha/captcha/packages/logger/tsconfig.json',
9
- '/home/runner/work/captcha/captcha/packages/types/tsconfig.json',
10
9
  '/home/runner/work/captcha/captcha/packages/util-crypto/tsconfig.json'
11
10
  ]
12
11
  }
13
12
  {
14
13
  externals: [
15
14
  '@prosopo/common',
15
+ '@prosopo/types',
16
16
  '@prosopo/locale',
17
17
  '@prosopo/util',
18
- '@prosopo/logger',
19
- '@prosopo/types',
20
18
  '@prosopo/util-crypto'
21
19
  ]
22
20
  }
23
21
  The plugin "vite-tsconfig-paths" is detected. Vite now supports tsconfig paths resolution natively via the resolve.tsconfigPaths option. You can remove the plugin and set resolve.tsconfigPaths: true in your Vite config instead.
24
- vite v8.1.5 building ssr environment for production...
22
+ vite v8.1.6 building ssr environment for production...
25
23
  Bundle build started
26
24
  
27
25
  ✓ 7 modules transformed.
@@ -31,7 +29,7 @@ dist/cjs/retry.cjs 1.27 kB │ gzip: 0.62 kB
31
29
  dist/cjs/providerUrlOverride.cjs 1.42 kB │ gzip: 0.78 kB
32
30
  dist/cjs/developmentProviderUrl.cjs 1.81 kB │ gzip: 0.88 kB
33
31
  dist/cjs/index.cjs 1.94 kB │ gzip: 0.47 kB
34
- dist/cjs/balancer.cjs 4.95 kB │ gzip: 2.13 kB
32
+ dist/cjs/balancer.cjs 5.01 kB │ gzip: 2.15 kB
35
33
  dist/cjs/providers.cjs 7.56 kB │ gzip: 2.57 kB
36
34
 
37
- ✓ built in 39ms
35
+ ✓ built in 67ms
@@ -1,29 +1,26 @@
1
1
  $ tsc --build --verbose
2
- 10:01:29 AM - Projects in this build:
2
+ 5:07:59 PM - Projects in this build:
3
3
  * ../../dev/config/tsconfig.json
4
4
  * ../util/tsconfig.json
5
5
  * ../locale/tsconfig.json
6
- * ../logger/tsconfig.json
7
6
  * ../util-crypto/tsconfig.json
8
7
  * ../types/tsconfig.json
9
8
  * ../common/tsconfig.json
10
9
  * tsconfig.json
11
10
 
12
- 10:01:29 AM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
11
+ 5:07:59 PM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
13
12
 
14
- 10:01:29 AM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
13
+ 5:07:59 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
15
14
 
16
- 10:01:29 AM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/process.ts' is older than output '../locale/tsconfig.tsbuildinfo'
15
+ 5:07:59 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
17
16
 
18
- 10:01:29 AM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
17
+ 5:07:59 PM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
19
18
 
20
- 10:01:29 AM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
19
+ 5:07:59 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/tsconfig.tsbuildinfo'
21
20
 
22
- 10:01:29 AM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/tsconfig.tsbuildinfo'
21
+ 5:07:59 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/errorCodes.ts' is older than output '../common/tsconfig.tsbuildinfo'
23
22
 
24
- 10:01:29 AM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/index.ts' is older than output '../common/tsconfig.tsbuildinfo'
23
+ 5:07:59 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
25
24
 
26
- 10:01:29 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
27
-
28
- 10:01:29 AM - Building project '/home/runner/work/captcha/captcha/packages/load-balancer/tsconfig.json'...
25
+ 5:07:59 PM - Building project '/home/runner/work/captcha/captcha/packages/load-balancer/tsconfig.json'...
29
26
 
@@ -4,25 +4,23 @@ ViteEsmConfig: .
4
4
  {
5
5
  tsConfigPaths: [
6
6
  '/home/runner/work/captcha/captcha/packages/common/tsconfig.json',
7
+ '/home/runner/work/captcha/captcha/packages/types/tsconfig.json',
7
8
  '/home/runner/work/captcha/captcha/packages/locale/tsconfig.json',
8
9
  '/home/runner/work/captcha/captcha/packages/util/tsconfig.json',
9
- '/home/runner/work/captcha/captcha/packages/logger/tsconfig.json',
10
- '/home/runner/work/captcha/captcha/packages/types/tsconfig.json',
11
10
  '/home/runner/work/captcha/captcha/packages/util-crypto/tsconfig.json'
12
11
  ]
13
12
  }
14
13
  {
15
14
  externals: [
16
15
  '@prosopo/common',
16
+ '@prosopo/types',
17
17
  '@prosopo/locale',
18
18
  '@prosopo/util',
19
- '@prosopo/logger',
20
- '@prosopo/types',
21
19
  '@prosopo/util-crypto'
22
20
  ]
23
21
  }
24
22
  The plugin "vite-tsconfig-paths" is detected. Vite now supports tsconfig paths resolution natively via the resolve.tsconfigPaths option. You can remove the plugin and set resolve.tsconfigPaths: true in your Vite config instead.
25
- vite v8.1.5 building ssr environment for production...
23
+ vite v8.1.6 building ssr environment for production...
26
24
  Bundle build started
27
25
  
28
26
  ✓ 7 modules transformed.
@@ -33,7 +31,7 @@ dist/index.js 1.20 kB │ gzip: 0.36 kB
33
31
  dist/retry.js 1.23 kB │ gzip: 0.61 kB
34
32
  dist/providerUrlOverride.js 1.39 kB │ gzip: 0.77 kB
35
33
  dist/developmentProviderUrl.js 1.70 kB │ gzip: 0.87 kB
36
- dist/balancer.js 4.66 kB │ gzip: 2.09 kB
34
+ dist/balancer.js 4.72 kB │ gzip: 2.11 kB
37
35
  dist/providers.js 7.19 kB │ gzip: 2.53 kB
38
36
 
39
- ✓ built in 55ms
37
+ ✓ built in 82ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,57 @@
1
1
  # @prosopo/load-balancer
2
2
 
3
+ ## 2.11.13
4
+ ### Patch Changes
5
+
6
+ - 46b97b7: Roll up the open Dependabot updates: express 5 (with `@types/express` 5), dotenv 18, undici 8, geolib 4, vitest 5, vite 8.1.6 everywhere, 17 minor and patch bumps (Babel, mongoose, i18next, ip-address, turbo and others), `@angular/router` in the Angular demo, and a GitHub Actions bump.
7
+
8
+ The whole vitest family moves to 5.0.4, including `@vitest/coverage-v8`, because `@vitest/browser-playwright` 5 only works with vitest 5. The `@types/express-serve-static-core` override moves to 5.1.3 to match `@types/express` 5.
9
+
10
+ `@prosopo/dotenv` now loads env files with `quiet: true`. Since dotenv 17, every load prints an "injected env" line to stderr unless told not to.
11
+ - d2148c8: Errors now carry a fixed code and a site instead of a translation key.
12
+
13
+ Every error is a `ProsopoError` with a `code` from one list in
14
+ `@prosopo/common` (`ERROR_CODES`) and an `errorSite` such as `PROV-12`, which
15
+ names the one place it was thrown. Together they make the `errorId`, e.g.
16
+ `SITE_KEY_INVALID:PROV-31`, which the widget shows after the message so a
17
+ screenshot is enough to find the throw.
18
+
19
+ What a client sees:
20
+
21
+ - A public error (bad site key, blocked network, and so on) sends its code,
22
+ English message, data and errorId.
23
+ - Anything else sends only `BACKEND_ERROR:<site>` (or `FRONTEND_ERROR:<site>`
24
+ from the widget) and a status. Internal details never leave the server.
25
+
26
+ The provider no longer translates errors. The widget looks up
27
+ `ERRORS.<CODE>` in its catalogue and falls back to the English message. The
28
+ old error classes (`ProsopoApiError`, `ProsopoEnvError` and the rest), the
29
+ `key`/`messageEn` fields and `localiseErrorMessage` are gone.
30
+
31
+ Other changes in behaviour:
32
+
33
+ - An error with no specific code is a hidden 500.
34
+ - Errors no longer log themselves when they are created. The server logs each
35
+ unhandled one once: 5xx as errors, 4xx at debug.
36
+ - An invalid PoW signature is a 401 instead of a 500.
37
+ - `stringifyBigInts` returns a copy instead of changing its input, so frozen
38
+ error context can be logged.
39
+ - The provider's last hand-written error replies now use the same error body.
40
+ These were the missing-header 401s, the access-policy block, autoBan, the
41
+ metrics 401/403 and the rate limiter. The rate limiter answers with a new
42
+ public `RATE_LIMITED` (429) code.
43
+ - Updated dependencies [46b97b7]
44
+ - Updated dependencies [d2148c8]
45
+ - Updated dependencies [2bcf2fe]
46
+ - @prosopo/common@3.3.0
47
+ - @prosopo/types@5.17.0
48
+
49
+ ## 2.11.12
50
+ ### Patch Changes
51
+
52
+ - @prosopo/common@3.2.3
53
+ - @prosopo/types@5.16.3
54
+
3
55
  ## 2.11.11
4
56
  ### Patch Changes
5
57
 
@@ -1 +1 @@
1
- {"version":3,"file":"balancer.d.ts","sourceRoot":"","sources":["../src/balancer.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIvD,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CACf;AAkCD,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAQrC,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAK/C,eAAO,MAAM,qBAAqB,aACvB,eAAe,WAChB,MAAM,KACb,iBAAiB,EAUnB,CAAC;AAKF,eAAO,MAAM,gBAAgB,aAAc,MAAM,KAAG,MACjB,CAAC;AAEpC,eAAO,MAAM,mBAAmB,aAAc,iBAAiB,KAAG,MACjB,CAAC;AA0ClD,eAAO,MAAM,uBAAuB,SAC9B,MAAM,GAAG,SAAS,WACd,MAAM,KACb,iBAAiB,EAiBnB,CAAC;AAEF,eAAO,MAAM,kBAAkB,gBAAiB,gBAAgB,KAAG,MAUlE,CAAC;AAQF,eAAO,MAAM,8BAA8B,QAAS,CAAC;AAUrD,eAAO,MAAM,YAAY,gBACX,gBAAgB,WACpB,MAAM,cACJ,MAAM,KACf,OAAO,CAAC,iBAAiB,EAAE,CAoC7B,CAAC"}
1
+ {"version":3,"file":"balancer.d.ts","sourceRoot":"","sources":["../src/balancer.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIvD,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CACf;AAkCD,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAQrC,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAK/C,eAAO,MAAM,qBAAqB,aACvB,eAAe,WAChB,MAAM,KACb,iBAAiB,EAUnB,CAAC;AAKF,eAAO,MAAM,gBAAgB,aAAc,MAAM,KAAG,MACjB,CAAC;AAEpC,eAAO,MAAM,mBAAmB,aAAc,iBAAiB,KAAG,MACjB,CAAC;AA0ClD,eAAO,MAAM,uBAAuB,SAC9B,MAAM,GAAG,SAAS,WACd,MAAM,KACb,iBAAiB,EAiBnB,CAAC;AAEF,eAAO,MAAM,kBAAkB,gBAAiB,gBAAgB,KAAG,MAalE,CAAC;AAQF,eAAO,MAAM,8BAA8B,QAAS,CAAC;AAUrD,eAAO,MAAM,YAAY,gBACX,gBAAgB,WACpB,MAAM,cACJ,MAAM,KACf,OAAO,CAAC,iBAAiB,EAAE,CAoC7B,CAAC"}
package/dist/balancer.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { getDevelopmentProviderUrl } from "./developmentProviderUrl.js";
2
2
  import { readProviderListOverride } from "./providerUrlOverride.js";
3
- import { ProsopoEnvError } from "@prosopo/common";
3
+ import { ProsopoError } from "@prosopo/common";
4
4
  //#region src/balancer.ts
5
5
  /**
6
6
  * The provider list is fetched JSON, so entries are checked rather than
@@ -69,7 +69,12 @@ var getProviderListOverride = (raw = readProviderListOverride(), ipMode) => {
69
69
  var getLoadBalancerUrl = (environment) => {
70
70
  if (environment === "production") return "https://provider-list.prosopo.io/";
71
71
  if (environment === "staging") return "https://provider-list.prosopo.io/staging.json";
72
- throw new ProsopoEnvError("CONFIG.UNKNOWN_ENVIRONMENT", { context: { environment } });
72
+ throw new ProsopoError({
73
+ code: "CONFIG_INVALID",
74
+ errorSite: "LBAL-1",
75
+ message: "Unknown environment requested",
76
+ context: { environment }
77
+ });
73
78
  };
74
79
  /**
75
80
  * Upper bound on the provider-list fetch. `@prosopo/server` calls
@@ -1 +1 @@
1
- {"version":3,"file":"balancer.js","sourceRoot":"","sources":["../src/balancer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"balancer.js","sourceRoot":"","sources":["../src/balancer.ts"],"names":[],"mappings":"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"}
@@ -69,7 +69,12 @@ var getProviderListOverride = (raw = require_providerUrlOverride.readProviderLis
69
69
  var getLoadBalancerUrl = (environment) => {
70
70
  if (environment === "production") return "https://provider-list.prosopo.io/";
71
71
  if (environment === "staging") return "https://provider-list.prosopo.io/staging.json";
72
- throw new _prosopo_common.ProsopoEnvError("CONFIG.UNKNOWN_ENVIRONMENT", { context: { environment } });
72
+ throw new _prosopo_common.ProsopoError({
73
+ code: "CONFIG_INVALID",
74
+ errorSite: "LBAL-1",
75
+ message: "Unknown environment requested",
76
+ context: { environment }
77
+ });
73
78
  };
74
79
  /**
75
80
  * Upper bound on the provider-list fetch. `@prosopo/server` calls
@@ -0,0 +1,7 @@
1
+ declare module "@prosopo/common" {
2
+ interface ErrorSites {
3
+ "LBAL-1": true;
4
+ }
5
+ }
6
+ export {};
7
+ //# sourceMappingURL=errorSites.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorSites.d.ts","sourceRoot":"","sources":["../src/errorSites.ts"],"names":[],"mappings":"AAcA,OAAO,QAAQ,iBAAiB,CAAC;IAChC,UAAU,UAAU;QACnB,QAAQ,EAAE,IAAI,CAAC;KACf;CACD;AAED,OAAO,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=errorSites.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorSites.js","sourceRoot":"","sources":["../src/errorSites.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/load-balancer",
3
- "version": "2.11.11",
3
+ "version": "2.11.13",
4
4
  "description": "Provider load balancer",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -27,22 +27,22 @@
27
27
  },
28
28
  "homepage": "https://github.com/prosopo/captcha#readme",
29
29
  "dependencies": {
30
- "@prosopo/common": "3.2.2",
31
- "@prosopo/types": "5.16.2"
30
+ "@prosopo/common": "3.3.0",
31
+ "@prosopo/types": "5.17.0"
32
32
  },
33
33
  "devDependencies": {
34
- "@prosopo/config": "3.4.4",
34
+ "@prosopo/config": "3.5.0",
35
35
  "@types/node": "22.10.2",
36
- "@vitest/coverage-v8": "4.1.11",
36
+ "@vitest/coverage-v8": "5.0.4",
37
37
  "concurrently": "9.0.1",
38
38
  "del-cli": "6.0.0",
39
- "dotenv": "17.2.1",
39
+ "dotenv": "18.0.7",
40
40
  "npm-run-all": "4.1.5",
41
41
  "tslib": "2.7.0",
42
42
  "tsx": "4.20.3",
43
43
  "typescript": "5.6.2",
44
- "vite": "8.1.5",
45
- "vitest": "4.1.11"
44
+ "vite": "8.1.6",
45
+ "vitest": "5.0.4"
46
46
  },
47
47
  "sideEffects": false,
48
48
  "scripts": {