@prosopo/cli 3.8.20 → 3.8.21

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.
@@ -1,5 +1,5 @@
1
1
 
2
- > @prosopo/cli@3.8.20 build:cjs
2
+ > @prosopo/cli@3.8.21 build:cjs
3
3
  > NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
4
4
 
5
5
  ViteCommonJSConfig: .
@@ -32,6 +32,7 @@ ViteCommonJSConfig: .
32
32
  ]
33
33
  }
34
34
  {
35
+ 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.
35
36
  externals: [
36
37
  '@prosopo/api',
37
38
  '@prosopo/types',
@@ -59,7 +60,6 @@ ViteCommonJSConfig: .
59
60
  '@prosopo/web-bot-auth'
60
61
  ]
61
62
  }
62
- 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.
63
63
  vite v8.1.5 building ssr environment for production...
64
64
  Bundle build started
65
65
  
@@ -96,4 +96,4 @@ dist/cjs/RateLimiter.cjs 5.78 kB │ gzip: 0.92 kB
96
96
   │ ╰─────── This `import.meta` will be replaced with an empty object (`{}`) automatically. If this is desired, you can suppress this warning by adding `transform.define: { 'import.meta': {} }`. If `import.meta` needs to be kept as-is, you need to set the output format to `esm`.
97
97
  ────╯
98
98
  
99
- ✓ built in 62ms
99
+ ✓ built in 91ms
@@ -1,8 +1,8 @@
1
1
 
2
- > @prosopo/cli@3.8.20 build:tsc
2
+ > @prosopo/cli@3.8.21 build:tsc
3
3
  > tsc --build --verbose
4
4
 
5
- 9:06:40 AM - Projects in this build:
5
+ 3:37:54 PM - Projects in this build:
6
6
  * ../../dev/config/tsconfig.json
7
7
  * ../util/tsconfig.json
8
8
  * ../locale/tsconfig.json
@@ -31,59 +31,59 @@
31
31
  * ../../dev/workspace/tsconfig.json
32
32
  * tsconfig.json
33
33
 
34
- 9:06:40 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'
34
+ 3:37:54 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'
35
35
 
36
- 9:06:40 AM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
36
+ 3:37:54 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
37
37
 
38
- 9:06:40 AM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
38
+ 3:37:55 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
39
39
 
40
- 9:06:40 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'
40
+ 3:37:55 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'
41
41
 
42
- 9:06:40 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'
42
+ 3:37:55 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'
43
43
 
44
- 9:06:40 AM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
44
+ 3:37:55 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
45
45
 
46
- 9:06:40 AM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
46
+ 3:37:55 PM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
47
47
 
48
- 9:06:40 AM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/error.ts' is older than output '../common/tsconfig.tsbuildinfo'
48
+ 3:37:55 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/index.ts' is older than output '../common/tsconfig.tsbuildinfo'
49
49
 
50
- 9:06:40 AM - Project '../dotenv/tsconfig.json' is up to date because newest input '../dotenv/src/index.ts' is older than output '../dotenv/tsconfig.tsbuildinfo'
50
+ 3:37:55 PM - Project '../dotenv/tsconfig.json' is up to date because newest input '../dotenv/src/index.ts' is older than output '../dotenv/tsconfig.tsbuildinfo'
51
51
 
52
- 9:06:40 AM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/types.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
52
+ 3:37:55 PM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/IpInfoService.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
53
53
 
54
- 9:06:40 AM - Project '../api-route/tsconfig.json' is up to date because newest input '../api-route/src/apiRoutes.ts' is older than output '../api-route/tsconfig.tsbuildinfo'
54
+ 3:37:55 PM - Project '../api-route/tsconfig.json' is up to date because newest input '../api-route/src/apiRoutes.ts' is older than output '../api-route/tsconfig.tsbuildinfo'
55
55
 
56
- 9:06:40 AM - Project '../redis-client/tsconfig.json' is up to date because newest input '../redis-client/src/redisClient.ts' is older than output '../redis-client/tsconfig.tsbuildinfo'
56
+ 3:37:55 PM - Project '../redis-client/tsconfig.json' is up to date because newest input '../redis-client/src/tests/testRedisConnection.ts' is older than output '../redis-client/tsconfig.tsbuildinfo'
57
57
 
58
- 9:06:40 AM - Project '../user-access-policy/tsconfig.json' is up to date because newest input '../user-access-policy/src/transformRule.ts' is older than output '../user-access-policy/tsconfig.tsbuildinfo'
58
+ 3:37:55 PM - Project '../user-access-policy/tsconfig.json' is up to date because newest input '../user-access-policy/src/transformRule.ts' is older than output '../user-access-policy/tsconfig.tsbuildinfo'
59
59
 
60
- 9:06:40 AM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/index.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
60
+ 3:37:55 PM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/types.test-d.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
61
61
 
62
- 9:06:40 AM - Project '../database/tsconfig.json' is up to date because newest input '../database/src/tests/unit/captchaLabel.unit.test.ts' is older than output '../database/tsconfig.tsbuildinfo'
62
+ 3:37:55 PM - Project '../database/tsconfig.json' is up to date because newest input '../database/src/tests/unit/captchaLabel.unit.test.ts' is older than output '../database/tsconfig.tsbuildinfo'
63
63
 
64
- 9:06:40 AM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/index.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
64
+ 3:37:55 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/keyring/keyring.test.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
65
65
 
66
- 9:06:41 AM - Project '../types-env/tsconfig.json' is up to date because newest input '../types-env/src/index.ts' is older than output '../types-env/tsconfig.tsbuildinfo'
66
+ 3:37:55 PM - Project '../types-env/tsconfig.json' is up to date because newest input '../types-env/src/index.ts' is older than output '../types-env/tsconfig.tsbuildinfo'
67
67
 
68
- 9:06:41 AM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/env.ts' is older than output '../env/tsconfig.tsbuildinfo'
68
+ 3:37:55 PM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/tests/env.maintenance.unit.test.ts' is older than output '../env/tsconfig.tsbuildinfo'
69
69
 
70
- 9:06:41 AM - Project '../api-express-router/tsconfig.json' is up to date because newest input '../api-express-router/src/tests/unit/testDoubles.ts' is older than output '../api-express-router/tsconfig.tsbuildinfo'
70
+ 3:37:55 PM - Project '../api-express-router/tsconfig.json' is up to date because newest input '../api-express-router/src/tests/unit/testDoubles.ts' is older than output '../api-express-router/tsconfig.tsbuildinfo'
71
71
 
72
- 9:06:41 AM - Project '../captcha-severity/tsconfig.json' is up to date because newest input '../captcha-severity/src/index.test.ts' is older than output '../captcha-severity/tsconfig.tsbuildinfo'
72
+ 3:37:55 PM - Project '../captcha-severity/tsconfig.json' is up to date because newest input '../captcha-severity/src/index.test.ts' is older than output '../captcha-severity/tsconfig.tsbuildinfo'
73
73
 
74
- 9:06:41 AM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/index.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
74
+ 3:37:55 PM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/tests/captcha.unit.test.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
75
75
 
76
- 9:06:41 AM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/balancer.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
76
+ 3:37:55 PM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/developmentProviderUrl.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
77
77
 
78
- 9:06:41 AM - Project '../puzzle-assets/tsconfig.json' is up to date because newest input '../puzzle-assets/src/background.ts' is older than output '../puzzle-assets/tsconfig.tsbuildinfo'
78
+ 3:37:55 PM - Project '../puzzle-assets/tsconfig.json' is up to date because newest input '../puzzle-assets/src/background.ts' is older than output '../puzzle-assets/tsconfig.tsbuildinfo'
79
79
 
80
- 9:06:41 AM - Project '../web-bot-auth/tsconfig.json' is up to date because newest input '../web-bot-auth/src/base64.ts' is older than output '../web-bot-auth/tsconfig.tsbuildinfo'
80
+ 3:37:55 PM - Project '../web-bot-auth/tsconfig.json' is up to date because newest input '../web-bot-auth/src/base64.ts' is older than output '../web-bot-auth/tsconfig.tsbuildinfo'
81
81
 
82
- 9:06:41 AM - Project '../provider/tsconfig.json' is up to date because newest input '../provider/src/utils/devicePlatform.ts' is older than output '../provider/tsconfig.tsbuildinfo'
82
+ 3:37:55 PM - Project '../provider/tsconfig.json' is up to date because newest input '../provider/src/utils/normalizeRequestIp.ts' is older than output '../provider/tsconfig.tsbuildinfo'
83
83
 
84
- 9:06:41 AM - Project '../../dev/workspace/tsconfig.json' is up to date because newest input '../../dev/workspace/src/projectInfo.ts' is older than output '../../dev/workspace/tsconfig.tsbuildinfo'
84
+ 3:37:55 PM - Project '../../dev/workspace/tsconfig.json' is up to date because newest input '../../dev/workspace/src/projectInfo.ts' is older than output '../../dev/workspace/tsconfig.tsbuildinfo'
85
85
 
86
- 9:06:41 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
86
+ 3:37:55 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
87
87
 
88
- 9:06:41 AM - Building project '/home/runner/work/captcha/captcha/packages/cli/tsconfig.json'...
88
+ 3:37:55 PM - Building project '/home/runner/work/captcha/captcha/packages/cli/tsconfig.json'...
89
89
 
@@ -1,9 +1,9 @@
1
1
 
2
- > @prosopo/cli@3.8.20 build
2
+ > @prosopo/cli@3.8.21 build
3
3
  > npm run build:cross-env -- --mode ${NODE_ENV:-development}
4
4
 
5
5
 
6
- > @prosopo/cli@3.8.20 build:cross-env
6
+ > @prosopo/cli@3.8.21 build:cross-env
7
7
  > vite build --config vite.esm.config.ts --mode production
8
8
 
9
9
  ViteEsmConfig: .
@@ -92,4 +92,4 @@ dist/commands/siteKeyRegister.js 3.99 kB │ gzip: 1.24 kB
92
92
  dist/prosopo.config.js 4.49 kB │ gzip: 1.48 kB
93
93
  dist/RateLimiter.js 5.35 kB │ gzip: 0.92 kB
94
94
 
95
- ✓ built in 55ms
95
+ ✓ built in 66ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @prosopo/cli
2
2
 
3
+ ## 3.8.21
4
+ ### Patch Changes
5
+
6
+ - Updated dependencies [fda0eba]
7
+ - Updated dependencies [1728cd0]
8
+ - Updated dependencies [20542d8]
9
+ - Updated dependencies [eebe6ee]
10
+ - @prosopo/types@5.10.2
11
+ - @prosopo/provider@5.13.1
12
+ - @prosopo/api@4.3.5
13
+ - @prosopo/env@3.6.64
14
+ - @prosopo/keyring@2.9.97
15
+
3
16
  ## 3.8.20
4
17
  ### Patch Changes
5
18
 
package/Dockerfile CHANGED
@@ -1,30 +1,82 @@
1
- FROM node:24
1
+ # Two stages. Everything that needs a shell, a package manager or a network
2
+ # fetch happens in the builder; the runtime image is distroless and contains
3
+ # only the Node runtime, this bundle and its one dependency.
4
+ #
5
+ # The builder is `node:24-slim` rather than `node:24` for the same reason the
6
+ # runtime is distroless: `node:24` is 1.63 GB of build toolchain that a
7
+ # pre-bundled JS file and a single prebuilt-binary dependency never touch.
8
+ FROM node:24-slim AS builder
2
9
 
3
- WORKDIR /usr/src/app
10
+ WORKDIR /build
4
11
 
5
12
  # set shell to bash and error on any failure, unset variables, and pipefail
6
13
  SHELL ["/bin/bash", "-euo", "pipefail", "-c"]
7
14
 
15
+ # slim ships no curl, and the GeoLite fetches below need it. Builder-only, so
16
+ # none of this reaches the runtime image.
17
+ RUN apt-get update && \
18
+ apt-get install -y --no-install-recommends curl ca-certificates && \
19
+ rm -rf /var/lib/apt/lists/*
20
+
8
21
  COPY ./packages/cli/dist/bundle/ ./
9
22
 
10
23
  COPY ./packages/locale/dist/locales/ ./locales/
11
24
 
12
- # download the GeoLite2 databases into the same directory
13
- RUN curl -L -o GeoLite2-Country.mmdb https://git.io/GeoLite2-Country.mmdb
14
- RUN curl -L -o GeoLite2-City.mmdb https://git.io/GeoLite2-City.mmdb
15
- RUN curl -L -o GeoLite2-ASN.mmdb https://git.io/GeoLite2-ASN.mmdb
16
-
17
- # make the provider cli executable and set the binary for npx. The
18
- # generated package.json declares `sharp` as a runtime dependency so
19
- # `npm i` installs the linux-x64 native binary — vite bundles the JS
20
- # shim but not the platform-specific .node addon, and the puzzle
21
- # renderer imports sharp from @prosopo/puzzle-assets at runtime.
22
- # --os=linux --cpu=x64 --include=optional forces npm to fetch the
23
- # correct optional platform variant regardless of the build host.
24
- RUN echo '#!/usr/bin/env node' | cat - provider.cli.bundle.js > temp && mv temp provider.cli.bundle.js && \
25
- echo '{ "name": "prosopo-provider", "bin": { "provider": "./provider.cli.bundle.js" }, "type": "module", "dependencies": { "sharp": "0.35.3" } }' > /usr/src/app/package.json && \
26
- npm i --include=optional --os=linux --cpu=x64
25
+ # Download the GeoLite2 databases into the same directory. One layer rather
26
+ # than three so the intermediate states are not retained.
27
+ RUN curl -fLsS -o GeoLite2-Country.mmdb https://git.io/GeoLite2-Country.mmdb && \
28
+ curl -fLsS -o GeoLite2-City.mmdb https://git.io/GeoLite2-City.mmdb && \
29
+ curl -fLsS -o GeoLite2-ASN.mmdb https://git.io/GeoLite2-ASN.mmdb
30
+
31
+ # The generated package.json declares `sharp` as a runtime dependency so
32
+ # `npm i` installs the linux-x64 native binary — vite bundles the JS shim but
33
+ # not the platform-specific .node addon, and the puzzle renderer imports sharp
34
+ # from @prosopo/puzzle-assets at runtime. --os=linux --cpu=x64
35
+ # --include=optional forces npm to fetch the correct optional platform variant
36
+ # regardless of the build host.
37
+ #
38
+ # The shebang points at the absolute node path rather than `/usr/bin/env node`:
39
+ # there is no `env` on PATH in the runtime image to resolve a relative
40
+ # interpreter, but the kernel honours an absolute one. It is a convenience
41
+ # only — every caller in this repo invokes node explicitly, because `docker
42
+ # exec` does not apply ENTRYPOINT:
43
+ # docker exec provider1 /nodejs/bin/node /usr/src/app/provider.cli.bundle.js <command>
44
+ RUN echo '#!/nodejs/bin/node' | cat - provider.cli.bundle.js > temp && \
45
+ mv temp provider.cli.bundle.js && \
46
+ chmod +x provider.cli.bundle.js && \
47
+ echo '{ "name": "prosopo-provider", "type": "module", "dependencies": { "sharp": "0.35.3" } }' > package.json && \
48
+ npm i --include=optional --os=linux --cpu=x64 --no-fund --no-audit && \
49
+ npm cache clean --force
50
+
51
+ # `nodejs24-debian12` matches the builder's Debian release, so the glibc the
52
+ # native addons were resolved against is the same one that loads them. All
53
+ # four (@img/sharp, native-ja4, native-merkle, native-puzzle) are
54
+ # linux-x64-gnu; an Alpine/musl runtime would break every one.
55
+ #
56
+ # The `:nonroot` tag runs as uid/gid 65532 rather than root. The bind-mounted
57
+ # detector-pool directory must be owned by that uid on the host or the pool
58
+ # cannot be written or re-read — and an unreadable pool fails silently, with
59
+ # the provider falling back to proof of work. The ansible provider role
60
+ # chowns it; see captcha-private issue #4749.
61
+ #
62
+ # There is no shell, no package manager and no npx in here. That is the point,
63
+ # and it is also the operational cost: `docker exec ... bash` no longer works,
64
+ # CLI commands must name node explicitly (see above), and container
65
+ # healthchecks cannot use curl — they run `node -e "fetch(...)"` instead. Every
66
+ # call site in this repo and in the ansible playbooks has been moved over.
67
+ FROM gcr.io/distroless/nodejs24-debian12:nonroot
68
+
69
+ WORKDIR /usr/src/app
70
+
71
+ # --chown so the runtime user owns what it needs to read and write.
72
+ COPY --from=builder --chown=65532:65532 /build/ ./
27
73
 
28
74
  EXPOSE 9229 9339 80 443
29
75
 
30
- CMD ["npx" , "provider" ,"--api"]
76
+ # Redundant with the `:nonroot` tag, which already runs as this uid, but
77
+ # stated explicitly: it is the only form a Dockerfile reader — or a scanner —
78
+ # can see, and it keeps the guarantee if the tag is ever changed.
79
+ USER 65532:65532
80
+
81
+ # ENTRYPOINT is /nodejs/bin/node, so this is argv to node.
82
+ CMD ["/usr/src/app/provider.cli.bundle.js", "--api"]
@@ -1782,7 +1782,7 @@ function rn(e, t, n) {
1782
1782
  }
1783
1783
  //#endregion
1784
1784
  //#region ../util/dist/version.js
1785
- var an = (typeof process < "u" ? "3.8.20" : void 0) || "dev", on = Array(256), sn = Array(256 * 256);
1785
+ var an = (typeof process < "u" ? "3.8.21" : void 0) || "dev", on = Array(256), sn = Array(256 * 256);
1786
1786
  for (let e = 0; e < 256; e++) on[e] = e.toString(16).padStart(2, "0");
1787
1787
  for (let e = 0; e < 256; e++) {
1788
1788
  let t = e << 8;
@@ -11230,7 +11230,8 @@ var ch = /* @__PURE__ */ function(e) {
11230
11230
  privateKey: Y(),
11231
11231
  innerConfig: Y(),
11232
11232
  release: Y().optional(),
11233
- payloadLayout: Y().optional()
11233
+ payloadLayout: Y().optional(),
11234
+ keyMap: Y().optional()
11234
11235
  })) }), wh = X({
11235
11236
  [J.user]: rp(nd.ID),
11236
11237
  [J.dapp]: rp(nd.ID),
@@ -11355,6 +11356,7 @@ var Jh = /* @__PURE__ */ function(e) {
11355
11356
  c1: Jf(Kf()),
11356
11357
  c2: Jf(Kf()),
11357
11358
  c3: Jf(Kf()),
11359
+ c4: Jf(Kf()).optional(),
11358
11360
  d: Y()
11359
11361
  }), ig = X({
11360
11362
  email: Y().optional(),
@@ -70292,6 +70294,10 @@ var oI = new DP.Schema({
70292
70294
  type: [DP.Schema.Types.Mixed],
70293
70295
  required: !0
70294
70296
  },
70297
+ c4: {
70298
+ type: [DP.Schema.Types.Mixed],
70299
+ required: !1
70300
+ },
70295
70301
  d: {
70296
70302
  type: String,
70297
70303
  required: !0
@@ -70522,6 +70528,10 @@ var sI = new DP.Schema({
70522
70528
  type: [DP.Schema.Types.Mixed],
70523
70529
  required: !0
70524
70530
  },
70531
+ c4: {
70532
+ type: [DP.Schema.Types.Mixed],
70533
+ required: !1
70534
+ },
70525
70535
  d: {
70526
70536
  type: String,
70527
70537
  required: !0
@@ -70723,6 +70733,10 @@ var cI = new DP.Schema({
70723
70733
  type: [DP.Schema.Types.Mixed],
70724
70734
  required: !0
70725
70735
  },
70736
+ c4: {
70737
+ type: [DP.Schema.Types.Mixed],
70738
+ required: !1
70739
+ },
70726
70740
  d: {
70727
70741
  type: String,
70728
70742
  required: !0
@@ -103012,7 +103026,8 @@ function zoe(e, t = G4) {
103012
103026
  privateKey: i.privateKey,
103013
103027
  innerConfig: i.innerConfig,
103014
103028
  ...i.release && { release: i.release },
103015
- ...i.payloadLayout && { payloadLayout: i.payloadLayout }
103029
+ ...i.payloadLayout && { payloadLayout: i.payloadLayout },
103030
+ ...i.keyMap && { keyMap: i.keyMap }
103016
103031
  }), {
103017
103032
  encoding: "utf8",
103018
103033
  mode: 384
@@ -103696,6 +103711,7 @@ var fse = (e) => e.find((e) => e.deferToVerify === !0 || e.type === T$.Block &&
103696
103711
  c1Length: n.collector1?.length || 0,
103697
103712
  c2Length: n.collector2?.length || 0,
103698
103713
  c3Length: n.collector3?.length || 0,
103714
+ c4Length: n.collector4?.length || 0,
103699
103715
  deviceCapability: n.deviceCapability
103700
103716
  }
103701
103717
  })), n;
@@ -106286,12 +106302,14 @@ var w6 = async (e, t, n) => {
106286
106302
  mouseEventsCount: r.collector1?.length || 0,
106287
106303
  touchEventsCount: r.collector2?.length || 0,
106288
106304
  clickEventsCount: r.collector3?.length || 0,
106305
+ scrollEventsCount: r.collector4?.length || 0,
106289
106306
  deviceCapability: r.deviceCapability
106290
106307
  }
106291
106308
  })), E = {
106292
106309
  c1: r.collector1 || [],
106293
106310
  c2: r.collector2 || [],
106294
106311
  c3: r.collector3 || [],
106312
+ c4: r.collector4 || [],
106295
106313
  d: r.deviceCapability
106296
106314
  }, D = r.deviceCapability);
106297
106315
  } catch (e) {
@@ -106595,6 +106613,8 @@ var w6 = async (e, t, n) => {
106595
106613
  ruleType: C?.ruleType,
106596
106614
  webView: C?.webView,
106597
106615
  iFrame: C?.iFrame,
106616
+ currentUrl: C?.currentUrl,
106617
+ iframeUrl: C?.iframeUrl,
106598
106618
  coords: h.coords,
106599
106619
  synNs: C?.synNs,
106600
106620
  synackNs: C?.synackNs,
@@ -106746,6 +106766,7 @@ var w6 = async (e, t, n) => {
106746
106766
  mouseEventsCount: t.collector1?.length || 0,
106747
106767
  touchEventsCount: t.collector2?.length || 0,
106748
106768
  clickEventsCount: t.collector3?.length || 0,
106769
+ scrollEventsCount: t.collector4?.length || 0,
106749
106770
  deviceCapability: t.deviceCapability,
106750
106771
  captchaResult: v ? "passed" : "failed"
106751
106772
  }
@@ -106754,6 +106775,7 @@ var w6 = async (e, t, n) => {
106754
106775
  c1: t.collector1 || [],
106755
106776
  c2: t.collector2 || [],
106756
106777
  c3: t.collector3 || [],
106778
+ c4: t.collector4 || [],
106757
106779
  d: t.deviceCapability
106758
106780
  };
106759
106781
  b = {
@@ -107014,6 +107036,8 @@ var w6 = async (e, t, n) => {
107014
107036
  ruleType: C?.ruleType,
107015
107037
  webView: C?.webView,
107016
107038
  iFrame: C?.iFrame,
107039
+ currentUrl: C?.currentUrl,
107040
+ iframeUrl: C?.iframeUrl,
107017
107041
  coords: m.coords,
107018
107042
  synNs: C?.synNs,
107019
107043
  synackNs: C?.synackNs,
@@ -107155,6 +107179,7 @@ var w6 = async (e, t, n) => {
107155
107179
  mouseEventsCount: t.collector1?.length || 0,
107156
107180
  touchEventsCount: t.collector2?.length || 0,
107157
107181
  clickEventsCount: t.collector3?.length || 0,
107182
+ scrollEventsCount: t.collector4?.length || 0,
107158
107183
  deviceCapability: t.deviceCapability,
107159
107184
  captchaResult: y ? "passed" : "failed"
107160
107185
  }
@@ -107163,6 +107188,7 @@ var w6 = async (e, t, n) => {
107163
107188
  c1: t.collector1 || [],
107164
107189
  c2: t.collector2 || [],
107165
107190
  c3: t.collector3 || [],
107191
+ c4: t.collector4 || [],
107166
107192
  d: t.deviceCapability
107167
107193
  };
107168
107194
  await this.db.updatePuzzleCaptchaRecord(e, {
@@ -107419,6 +107445,8 @@ var w6 = async (e, t, n) => {
107419
107445
  ruleType: y?.ruleType,
107420
107446
  webView: y?.webView,
107421
107447
  iFrame: y?.iFrame,
107448
+ currentUrl: y?.currentUrl,
107449
+ iframeUrl: y?.iframeUrl,
107422
107450
  coords: m.coords,
107423
107451
  puzzleEvents: m.puzzleEvents,
107424
107452
  synNs: y?.synNs,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/cli",
3
- "version": "3.8.20",
3
+ "version": "3.8.21",
4
4
  "description": "CLI for Prosopo Provider",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -35,15 +35,15 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@polkadot/types-codec": "16.5.6",
38
- "@prosopo/api": "4.3.4",
38
+ "@prosopo/api": "4.3.5",
39
39
  "@prosopo/common": "3.1.59",
40
40
  "@prosopo/logger": "2.1.0",
41
41
  "@prosopo/dotenv": "3.0.57",
42
- "@prosopo/env": "3.6.63",
43
- "@prosopo/keyring": "2.9.96",
42
+ "@prosopo/env": "3.6.64",
43
+ "@prosopo/keyring": "2.9.97",
44
44
  "@prosopo/locale": "3.6.0",
45
- "@prosopo/provider": "5.13.0",
46
- "@prosopo/types": "5.10.1",
45
+ "@prosopo/provider": "5.13.1",
46
+ "@prosopo/types": "5.10.2",
47
47
  "@prosopo/util": "3.3.11",
48
48
  "@prosopo/workspace": "3.2.1",
49
49
  "cron-parser": "5.10.0",