crudjt 1.0.0-beta.9 → 1.0.1

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.
@@ -25,18 +25,10 @@ jobs:
25
25
  with:
26
26
  node-version: '20'
27
27
 
28
- - name: Install dependencies
29
- run: |
30
- npm install
31
- npm run cargo-build -- --release
32
-
33
- - name: Create package 'crudjt'
34
- run: npm pack
35
-
36
28
  - name: Run Node.js test
37
29
  env:
38
30
  CRUDJT_AUTOTEST_ALLOWED: true
39
31
  working-directory: ./test-neon-package
40
32
  run: |
41
- npm install ../crudjt-1.0.0-beta.0.tgz
33
+ npm install
42
34
  node test.js
package/README.md CHANGED
@@ -10,16 +10,12 @@
10
10
  JavaScript SDK for the fast, file-backed, scalable JSON token engine
11
11
  </p>
12
12
 
13
-
14
13
  <p align="center">
15
14
  <a href="https://www.patreon.com/crudjt">
16
15
  <img src="https://github.com/crudjt/crudjt-ruby/raw/master/logos/buy_me_a_coffee_orange.svg" alt="Buy Me a Coffee"/>
17
16
  </a>
18
17
  </p>
19
18
 
20
- > ⚠️ Version 1.0.0-beta — production testing phase
21
- > API is stable. Feedback is welcome before the final 1.0.0 release
22
-
23
19
  Fast B-tree–backed token store for stateful user sessions
24
20
  Provides authentication and authorization across multiple processes
25
21
  Optimized for vertical scaling on a single server
@@ -72,14 +68,14 @@ await CRUDJT.Config.startMaster({
72
68
 
73
69
  *Important: Use the same `secret_key` across all sessions. If the key changes, previously stored tokens cannot be decrypted and will return `null` or `false`*
74
70
 
75
- ## Start CRUDJT master in Docker
71
+ ### Start CRUDJT master in Docker
76
72
 
77
73
  Create a `docker-compose.yml` file:
78
74
 
79
75
  ```yml
80
76
  services:
81
77
  crudjt-server:
82
- image: coffeemainer/crudjt-server:beta
78
+ image: crudjt/crudjt-server:latest
83
79
  restart: unless-stopped
84
80
 
85
81
  ports:
@@ -100,7 +96,7 @@ docker-compose up -d
100
96
  *Ensure the secrets directory contains your secret key file at `./crudjt_secrets/secret_key.txt`*
101
97
 
102
98
  For configuration details and image versions, see the
103
- [CRUDJT Server on Docker Hub](https://hub.docker.com/r/coffeemainer/crudjt-server)
99
+ [CRUDJT Server on Docker Hub](https://hub.docker.com/r/crudjt/crudjt-server)
104
100
 
105
101
  ## Connect to an existing CRUDJT master
106
102
 
@@ -196,12 +192,31 @@ const result = await CRUDJT.delete('HBmKFXoXgJ46mCqer1WXyQ');
196
192
  ```
197
193
 
198
194
  # Performance
199
- > Metrics will be published after 1.0.0-beta GitHub Actions builds
195
+ **40 000** requests up to **256 bytes** median over 10 runs
196
+ macOS 15.7.4, ARM64 (Apple M1)
197
+ JavaScript 20.20.0
198
+ In-process benchmark; Redis accessed via localhost TCP
199
+
200
+ | Function | CRUDJT (JavaScript) | JWT (JavaScript) | redis-session-store (Ruby, Rails 8.0.2.1) |
201
+ |----------|-------|------|------|
202
+ | C | `0.372 second` | 16.537 seconds | 2.909 seconds |
203
+ | R | `0.010 second` | 16.678 seconds | 4.436 seconds |
204
+ | U | `0.684 second` | X | 2.124 seconds |
205
+ | D | `0.200 second` | X | 3.984 seconds |
206
+
207
+ *Benchmarks shown here are from a previous version of CRUDJT. For current performance metrics, see the [GitHub repository](https://github.com/crudjt/crudjt-javascript)*
208
+
209
+ [Full benchmark results](https://github.com/crudjt/benchmarks)
200
210
 
201
211
  # Storage (File-backed)
202
212
 
203
213
  ## Disk footprint
204
- > Metrics will be published after 1.0.0-beta GitHub Actions builds
214
+ **40 000** tokens of **256 bytes** each median over 10 creates
215
+ darwin23, APFS
216
+
217
+ `48 MB`
218
+
219
+ [Full disk footprint results](https://github.com/crudjt/disk_footprint)
205
220
 
206
221
  ## Path Lookup Order
207
222
  Stored tokens are placed in the **file system** according to the following order
@@ -232,9 +247,9 @@ The library has the following limits and requirements
232
247
  # Contact & Support
233
248
  <p align="center">
234
249
  <picture>
235
- <source media="(prefers-color-scheme: dark)" srcset="logos/crudjt_favicon_160x160_white_on_dark.svg" width=160 height=160>
236
- <source media="(prefers-color-scheme: light)" srcset="logos/crudjt_favicon_160x160_dark_on_white.svg" width=160 height=160>
237
- <img alt="Shows a dark favicon in light color mode and a white one in dark color mode" src="logos/crudjt_favicon_160x160_white.png" width=160 height=160>
250
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/crudjt/crudjt/refs/heads/master/logos/crudjt_favicon_160x160_white_on_dark.svg" width=160 height=160>
251
+ <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/crudjt/crudjt/refs/heads/master/logos/crudjt_favicon_160x160_dark_on_white.svg" width=160 height=160>
252
+ <img alt="Shows a dark favicon in light color mode and a white one in dark color mode" src="https://raw.githubusercontent.com/crudjt/crudjt/refs/heads/master/logos/crudjt_favicon_160x160_white.png" width=160 height=160>
238
253
  </picture>
239
254
  </p>
240
255
 
package/cargo.log CHANGED
@@ -18,12 +18,12 @@
18
18
  {"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#linkme-impl@0.3.35","manifest_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/linkme-impl-0.3.35/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"linkme_impl","src_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/linkme-impl-0.3.35/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":false,"overflow_checks":false,"test":false},"features":[],"filenames":["/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/liblinkme_impl-1faa8bd9689bf04c.dylib"],"executable":null,"fresh":true}
19
19
  {"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#neon-macros@1.1.1","manifest_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/neon-macros-1.1.1/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"neon_macros","src_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/neon-macros-1.1.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":false,"overflow_checks":false,"test":false},"features":[],"filenames":["/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/libneon_macros-b6b0d1522ede1979.dylib"],"executable":null,"fresh":true}
20
20
  {"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#getrandom@0.2.16","manifest_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.16/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"getrandom","src_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.16/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"3","debuginfo":0,"debug_assertions":false,"overflow_checks":false,"test":false},"features":[],"filenames":["/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/libgetrandom-0854d8558a7b9b91.rlib","/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/libgetrandom-0854d8558a7b9b91.rmeta"],"executable":null,"fresh":true}
21
- {"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#semver@1.0.27","manifest_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"semver","src_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"3","debuginfo":0,"debug_assertions":false,"overflow_checks":false,"test":false},"features":["default","std"],"filenames":["/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/libsemver-a5f5009652d36de5.rlib","/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/libsemver-a5f5009652d36de5.rmeta"],"executable":null,"fresh":true}
22
- {"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#linkme@0.3.35","manifest_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/linkme-0.3.35/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"linkme","src_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/linkme-0.3.35/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"3","debuginfo":0,"debug_assertions":false,"overflow_checks":false,"test":false},"features":[],"filenames":["/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/liblinkme-2161f2ede2e0e014.rlib","/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/liblinkme-2161f2ede2e0e014.rmeta"],"executable":null,"fresh":true}
23
- {"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#once_cell@1.21.3","manifest_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/once_cell-1.21.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"once_cell","src_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/once_cell-1.21.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"3","debuginfo":0,"debug_assertions":false,"overflow_checks":false,"test":false},"features":["alloc","default","race","std"],"filenames":["/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/libonce_cell-9261810396c152fd.rlib","/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/libonce_cell-9261810396c152fd.rmeta"],"executable":null,"fresh":true}
24
21
  {"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#either@1.15.0","manifest_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/either-1.15.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"either","src_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/either-1.15.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"3","debuginfo":0,"debug_assertions":false,"overflow_checks":false,"test":false},"features":["default","std"],"filenames":["/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/libeither-1067ad403bee5403.rlib","/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/libeither-1067ad403bee5403.rmeta"],"executable":null,"fresh":true}
22
+ {"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#linkme@0.3.35","manifest_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/linkme-0.3.35/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"linkme","src_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/linkme-0.3.35/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"3","debuginfo":0,"debug_assertions":false,"overflow_checks":false,"test":false},"features":[],"filenames":["/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/liblinkme-2161f2ede2e0e014.rlib","/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/liblinkme-2161f2ede2e0e014.rmeta"],"executable":null,"fresh":true}
25
23
  {"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#send_wrapper@0.6.0","manifest_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/send_wrapper-0.6.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"send_wrapper","src_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/send_wrapper-0.6.0/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"3","debuginfo":0,"debug_assertions":false,"overflow_checks":false,"test":false},"features":[],"filenames":["/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/libsend_wrapper-caacde244ac44d1b.rlib","/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/libsend_wrapper-caacde244ac44d1b.rmeta"],"executable":null,"fresh":true}
26
24
  {"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#smallvec@1.15.1","manifest_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"smallvec","src_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"3","debuginfo":0,"debug_assertions":false,"overflow_checks":false,"test":false},"features":[],"filenames":["/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/libsmallvec-09ab51cc35cf2235.rlib","/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/libsmallvec-09ab51cc35cf2235.rmeta"],"executable":null,"fresh":true}
25
+ {"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#semver@1.0.27","manifest_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"semver","src_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"3","debuginfo":0,"debug_assertions":false,"overflow_checks":false,"test":false},"features":["default","std"],"filenames":["/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/libsemver-a5f5009652d36de5.rlib","/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/libsemver-a5f5009652d36de5.rmeta"],"executable":null,"fresh":true}
26
+ {"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#once_cell@1.21.3","manifest_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/once_cell-1.21.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"once_cell","src_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/once_cell-1.21.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"3","debuginfo":0,"debug_assertions":false,"overflow_checks":false,"test":false},"features":["alloc","default","race","std"],"filenames":["/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/libonce_cell-9261810396c152fd.rlib","/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/libonce_cell-9261810396c152fd.rmeta"],"executable":null,"fresh":true}
27
27
  {"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#lazy_static@1.5.0","manifest_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/lazy_static-1.5.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"lazy_static","src_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/lazy_static-1.5.0/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"3","debuginfo":0,"debug_assertions":false,"overflow_checks":false,"test":false},"features":[],"filenames":["/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/liblazy_static-eb4498fce09ac4c0.rlib","/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/liblazy_static-eb4498fce09ac4c0.rmeta"],"executable":null,"fresh":true}
28
28
  {"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#neon@1.1.1","manifest_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/neon-1.1.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"neon","src_path":"/Users/macintosh/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/neon-1.1.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"3","debuginfo":0,"debug_assertions":false,"overflow_checks":false,"test":false},"features":["default","getrandom","napi-1","napi-2","napi-3","napi-4","napi-5","napi-6","napi-7","napi-8"],"filenames":["/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/libneon-a08196da9d45e183.rlib","/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/deps/libneon-a08196da9d45e183.rmeta"],"executable":null,"fresh":true}
29
29
  {"reason":"compiler-artifact","package_id":"path+file:///Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript#crudjt@1.0.0-beta.0","manifest_path":"/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"crudjt","src_path":"/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"profile":{"opt_level":"3","debuginfo":0,"debug_assertions":false,"overflow_checks":false,"test":false},"features":[],"filenames":["/Users/macintosh/Applications/crud_jt-libs/javascript/crudjt-javascript/target/release/libcrudjt.dylib"],"executable":null,"fresh":true}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "crudjt",
3
- "version": "1.0.0-beta.9",
3
+ "version": "1.0.1",
4
4
  "description": "Fast B-tree–backed token store for stateful sessions",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -0,0 +1,488 @@
1
+ {
2
+ "name": "test-neon-package",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "test-neon-package",
9
+ "version": "1.0.0",
10
+ "license": "ISC",
11
+ "dependencies": {
12
+ "crudjt": "^1.0.0"
13
+ }
14
+ },
15
+ "node_modules/@cargo-messages/android-arm-eabi": {
16
+ "version": "0.1.72",
17
+ "resolved": "https://registry.npmjs.org/@cargo-messages/android-arm-eabi/-/android-arm-eabi-0.1.72.tgz",
18
+ "integrity": "sha512-gGZxIM1mj+Y5x+ULND6ZCNr7f70OJi9wDlycSK8hGONy9wrChN6JAIHryddC5cqcwlYAoQ6IDcDFElnhAYbybA==",
19
+ "cpu": [
20
+ "arm"
21
+ ],
22
+ "optional": true,
23
+ "os": [
24
+ "android"
25
+ ]
26
+ },
27
+ "node_modules/@cargo-messages/darwin-arm64": {
28
+ "version": "0.1.72",
29
+ "resolved": "https://registry.npmjs.org/@cargo-messages/darwin-arm64/-/darwin-arm64-0.1.72.tgz",
30
+ "integrity": "sha512-EAzN5MLaXPljZKZDO5qR+aBs44eSq2ZbEnS7AI/FziE3MzeXbrGOS3fLba5+7yWPFXJyZolXzePm8N1EBv8ovg==",
31
+ "cpu": [
32
+ "arm64"
33
+ ],
34
+ "optional": true,
35
+ "os": [
36
+ "darwin"
37
+ ]
38
+ },
39
+ "node_modules/@cargo-messages/darwin-x64": {
40
+ "version": "0.1.72",
41
+ "resolved": "https://registry.npmjs.org/@cargo-messages/darwin-x64/-/darwin-x64-0.1.72.tgz",
42
+ "integrity": "sha512-RLo6j8s3nYbjdd1LDct4wamfChyRit7zokUuxtIYCu9XOlltkN5vnj1vwnrPvoqCMZ/7CbbuHFwSTn9A71de/w==",
43
+ "cpu": [
44
+ "x64"
45
+ ],
46
+ "optional": true,
47
+ "os": [
48
+ "darwin"
49
+ ]
50
+ },
51
+ "node_modules/@cargo-messages/linux-arm-gnueabihf": {
52
+ "version": "0.1.72",
53
+ "resolved": "https://registry.npmjs.org/@cargo-messages/linux-arm-gnueabihf/-/linux-arm-gnueabihf-0.1.72.tgz",
54
+ "integrity": "sha512-tHsRshuzfjrX6SDW3jg6al8vMNLTMgczGnVYl5RuBZf/yrAUuwe30KxA9ge6w6mW6Ox797DyBchzAc9OLgTgmQ==",
55
+ "cpu": [
56
+ "arm"
57
+ ],
58
+ "optional": true,
59
+ "os": [
60
+ "linux"
61
+ ]
62
+ },
63
+ "node_modules/@cargo-messages/linux-x64-gnu": {
64
+ "version": "0.1.72",
65
+ "resolved": "https://registry.npmjs.org/@cargo-messages/linux-x64-gnu/-/linux-x64-gnu-0.1.72.tgz",
66
+ "integrity": "sha512-VGtL6CCnUbhsP4aYuBNT5kfrAL7o0qjrxw97a+ax13t+nJd26tVEEIKHMu5drvvS/Nm/hn7sLT8zMnnCv0pvHg==",
67
+ "cpu": [
68
+ "x64"
69
+ ],
70
+ "optional": true,
71
+ "os": [
72
+ "linux"
73
+ ]
74
+ },
75
+ "node_modules/@cargo-messages/win32-arm64-msvc": {
76
+ "version": "0.1.72",
77
+ "resolved": "https://registry.npmjs.org/@cargo-messages/win32-arm64-msvc/-/win32-arm64-msvc-0.1.72.tgz",
78
+ "integrity": "sha512-V93Cgz39K+yqa3MveNbhh29pYCp8izK5uEavjPoxlNxAbsMCWH+s0verGDdUcfGxjR1H2V7oZ4FszPqR2SqMRQ==",
79
+ "cpu": [
80
+ "arm64"
81
+ ],
82
+ "optional": true,
83
+ "os": [
84
+ "win32"
85
+ ]
86
+ },
87
+ "node_modules/@cargo-messages/win32-x64-msvc": {
88
+ "version": "0.1.72",
89
+ "resolved": "https://registry.npmjs.org/@cargo-messages/win32-x64-msvc/-/win32-x64-msvc-0.1.72.tgz",
90
+ "integrity": "sha512-knz3uSrO0OSbq3U5VWfCY8FB4NsM43BOWLZ7x4sfaMOC1XWv+IyvDdkLe6DhJx8KUw46KIAimYs9YROrp6l46Q==",
91
+ "cpu": [
92
+ "x64"
93
+ ],
94
+ "optional": true,
95
+ "os": [
96
+ "win32"
97
+ ]
98
+ },
99
+ "node_modules/@grpc/grpc-js": {
100
+ "version": "1.14.3",
101
+ "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.14.3.tgz",
102
+ "integrity": "sha512-Iq8QQQ/7X3Sac15oB6p0FmUg/klxQvXLeileoqrTRGJYLV+/9tubbr9ipz0GKHjmXVsgFPo/+W+2cA8eNcR+XA==",
103
+ "dependencies": {
104
+ "@grpc/proto-loader": "^0.8.0",
105
+ "@js-sdsl/ordered-map": "^4.4.2"
106
+ },
107
+ "engines": {
108
+ "node": ">=12.10.0"
109
+ }
110
+ },
111
+ "node_modules/@grpc/proto-loader": {
112
+ "version": "0.8.0",
113
+ "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.8.0.tgz",
114
+ "integrity": "sha512-rc1hOQtjIWGxcxpb9aHAfLpIctjEnsDehj0DAiVfBlmT84uvR0uUtN2hEi/ecvWVjXUGf5qPF4qEgiLOx1YIMQ==",
115
+ "dependencies": {
116
+ "lodash.camelcase": "^4.3.0",
117
+ "long": "^5.0.0",
118
+ "protobufjs": "^7.5.3",
119
+ "yargs": "^17.7.2"
120
+ },
121
+ "bin": {
122
+ "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js"
123
+ },
124
+ "engines": {
125
+ "node": ">=6"
126
+ }
127
+ },
128
+ "node_modules/@js-sdsl/ordered-map": {
129
+ "version": "4.4.2",
130
+ "resolved": "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz",
131
+ "integrity": "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==",
132
+ "funding": {
133
+ "type": "opencollective",
134
+ "url": "https://opencollective.com/js-sdsl"
135
+ }
136
+ },
137
+ "node_modules/@neon-rs/cli": {
138
+ "version": "0.1.73",
139
+ "resolved": "https://registry.npmjs.org/@neon-rs/cli/-/cli-0.1.73.tgz",
140
+ "integrity": "sha512-1kv8S/feB6UQWQQwsnGfkSkEBOtlFDNExnioL81E2BwvUWgjQPaseHgpi2EpWVgsPUgur5eBm4QowmlpWkD4/w==",
141
+ "bin": {
142
+ "neon": "index.js"
143
+ },
144
+ "optionalDependencies": {
145
+ "@cargo-messages/android-arm-eabi": "0.1.72",
146
+ "@cargo-messages/darwin-arm64": "0.1.72",
147
+ "@cargo-messages/darwin-x64": "0.1.72",
148
+ "@cargo-messages/linux-arm-gnueabihf": "0.1.72",
149
+ "@cargo-messages/linux-x64-gnu": "0.1.72",
150
+ "@cargo-messages/win32-arm64-msvc": "0.1.72",
151
+ "@cargo-messages/win32-x64-msvc": "0.1.72"
152
+ }
153
+ },
154
+ "node_modules/@protobufjs/aspromise": {
155
+ "version": "1.1.2",
156
+ "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
157
+ "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="
158
+ },
159
+ "node_modules/@protobufjs/base64": {
160
+ "version": "1.1.2",
161
+ "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
162
+ "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
163
+ },
164
+ "node_modules/@protobufjs/codegen": {
165
+ "version": "2.0.4",
166
+ "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
167
+ "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
168
+ },
169
+ "node_modules/@protobufjs/eventemitter": {
170
+ "version": "1.1.0",
171
+ "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
172
+ "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="
173
+ },
174
+ "node_modules/@protobufjs/fetch": {
175
+ "version": "1.1.0",
176
+ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
177
+ "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
178
+ "dependencies": {
179
+ "@protobufjs/aspromise": "^1.1.1",
180
+ "@protobufjs/inquire": "^1.1.0"
181
+ }
182
+ },
183
+ "node_modules/@protobufjs/float": {
184
+ "version": "1.0.2",
185
+ "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
186
+ "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="
187
+ },
188
+ "node_modules/@protobufjs/inquire": {
189
+ "version": "1.1.0",
190
+ "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
191
+ "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="
192
+ },
193
+ "node_modules/@protobufjs/path": {
194
+ "version": "1.1.2",
195
+ "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
196
+ "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="
197
+ },
198
+ "node_modules/@protobufjs/pool": {
199
+ "version": "1.1.0",
200
+ "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
201
+ "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="
202
+ },
203
+ "node_modules/@protobufjs/utf8": {
204
+ "version": "1.1.0",
205
+ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
206
+ "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="
207
+ },
208
+ "node_modules/@types/node": {
209
+ "version": "25.6.0",
210
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz",
211
+ "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==",
212
+ "dependencies": {
213
+ "undici-types": "~7.19.0"
214
+ }
215
+ },
216
+ "node_modules/ansi-regex": {
217
+ "version": "5.0.1",
218
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
219
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
220
+ "engines": {
221
+ "node": ">=8"
222
+ }
223
+ },
224
+ "node_modules/ansi-styles": {
225
+ "version": "4.3.0",
226
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
227
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
228
+ "dependencies": {
229
+ "color-convert": "^2.0.1"
230
+ },
231
+ "engines": {
232
+ "node": ">=8"
233
+ },
234
+ "funding": {
235
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
236
+ }
237
+ },
238
+ "node_modules/cliui": {
239
+ "version": "8.0.1",
240
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
241
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
242
+ "dependencies": {
243
+ "string-width": "^4.2.0",
244
+ "strip-ansi": "^6.0.1",
245
+ "wrap-ansi": "^7.0.0"
246
+ },
247
+ "engines": {
248
+ "node": ">=12"
249
+ }
250
+ },
251
+ "node_modules/color-convert": {
252
+ "version": "2.0.1",
253
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
254
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
255
+ "dependencies": {
256
+ "color-name": "~1.1.4"
257
+ },
258
+ "engines": {
259
+ "node": ">=7.0.0"
260
+ }
261
+ },
262
+ "node_modules/color-name": {
263
+ "version": "1.1.4",
264
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
265
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
266
+ },
267
+ "node_modules/crudjt": {
268
+ "version": "1.0.0",
269
+ "resolved": "https://registry.npmjs.org/crudjt/-/crudjt-1.0.0.tgz",
270
+ "integrity": "sha512-0G7/eG0H22qtOCOMCF2PQf3Nq8uuA6csCLKY9GmT+wffMqUeTCgglntKg1CjJKjmS/995NxOLbpRg9MerV0aIw==",
271
+ "hasInstallScript": true,
272
+ "dependencies": {
273
+ "@grpc/grpc-js": "^1.14.3",
274
+ "@grpc/proto-loader": "^0.8.0",
275
+ "@neon-rs/cli": "0.1.73",
276
+ "lru-cache": "^11.0.1",
277
+ "msgpack-lite": "^0.1.26"
278
+ },
279
+ "engines": {
280
+ "node": ">=18"
281
+ }
282
+ },
283
+ "node_modules/emoji-regex": {
284
+ "version": "8.0.0",
285
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
286
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
287
+ },
288
+ "node_modules/escalade": {
289
+ "version": "3.2.0",
290
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
291
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
292
+ "engines": {
293
+ "node": ">=6"
294
+ }
295
+ },
296
+ "node_modules/event-lite": {
297
+ "version": "0.1.3",
298
+ "resolved": "https://registry.npmjs.org/event-lite/-/event-lite-0.1.3.tgz",
299
+ "integrity": "sha512-8qz9nOz5VeD2z96elrEKD2U433+L3DWdUdDkOINLGOJvx1GsMBbMn0aCeu28y8/e85A6mCigBiFlYMnTBEGlSw=="
300
+ },
301
+ "node_modules/get-caller-file": {
302
+ "version": "2.0.5",
303
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
304
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
305
+ "engines": {
306
+ "node": "6.* || 8.* || >= 10.*"
307
+ }
308
+ },
309
+ "node_modules/ieee754": {
310
+ "version": "1.2.1",
311
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
312
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
313
+ "funding": [
314
+ {
315
+ "type": "github",
316
+ "url": "https://github.com/sponsors/feross"
317
+ },
318
+ {
319
+ "type": "patreon",
320
+ "url": "https://www.patreon.com/feross"
321
+ },
322
+ {
323
+ "type": "consulting",
324
+ "url": "https://feross.org/support"
325
+ }
326
+ ]
327
+ },
328
+ "node_modules/int64-buffer": {
329
+ "version": "0.1.10",
330
+ "resolved": "https://registry.npmjs.org/int64-buffer/-/int64-buffer-0.1.10.tgz",
331
+ "integrity": "sha512-v7cSY1J8ydZ0GyjUHqF+1bshJ6cnEVLo9EnjB8p+4HDRPZc9N5jjmvUV7NvEsqQOKyH0pmIBFWXVQbiS0+OBbA=="
332
+ },
333
+ "node_modules/is-fullwidth-code-point": {
334
+ "version": "3.0.0",
335
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
336
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
337
+ "engines": {
338
+ "node": ">=8"
339
+ }
340
+ },
341
+ "node_modules/isarray": {
342
+ "version": "1.0.0",
343
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
344
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
345
+ },
346
+ "node_modules/lodash.camelcase": {
347
+ "version": "4.3.0",
348
+ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
349
+ "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA=="
350
+ },
351
+ "node_modules/long": {
352
+ "version": "5.3.2",
353
+ "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz",
354
+ "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA=="
355
+ },
356
+ "node_modules/lru-cache": {
357
+ "version": "11.3.5",
358
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz",
359
+ "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==",
360
+ "engines": {
361
+ "node": "20 || >=22"
362
+ }
363
+ },
364
+ "node_modules/msgpack-lite": {
365
+ "version": "0.1.26",
366
+ "resolved": "https://registry.npmjs.org/msgpack-lite/-/msgpack-lite-0.1.26.tgz",
367
+ "integrity": "sha512-SZ2IxeqZ1oRFGo0xFGbvBJWMp3yLIY9rlIJyxy8CGrwZn1f0ZK4r6jV/AM1r0FZMDUkWkglOk/eeKIL9g77Nxw==",
368
+ "dependencies": {
369
+ "event-lite": "^0.1.1",
370
+ "ieee754": "^1.1.8",
371
+ "int64-buffer": "^0.1.9",
372
+ "isarray": "^1.0.0"
373
+ },
374
+ "bin": {
375
+ "msgpack": "bin/msgpack"
376
+ }
377
+ },
378
+ "node_modules/protobufjs": {
379
+ "version": "7.5.5",
380
+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.5.tgz",
381
+ "integrity": "sha512-3wY1AxV+VBNW8Yypfd1yQY9pXnqTAN+KwQxL8iYm3/BjKYMNg4i0owhEe26PWDOMaIrzeeF98Lqd5NGz4omiIg==",
382
+ "hasInstallScript": true,
383
+ "dependencies": {
384
+ "@protobufjs/aspromise": "^1.1.2",
385
+ "@protobufjs/base64": "^1.1.2",
386
+ "@protobufjs/codegen": "^2.0.4",
387
+ "@protobufjs/eventemitter": "^1.1.0",
388
+ "@protobufjs/fetch": "^1.1.0",
389
+ "@protobufjs/float": "^1.0.2",
390
+ "@protobufjs/inquire": "^1.1.0",
391
+ "@protobufjs/path": "^1.1.2",
392
+ "@protobufjs/pool": "^1.1.0",
393
+ "@protobufjs/utf8": "^1.1.0",
394
+ "@types/node": ">=13.7.0",
395
+ "long": "^5.0.0"
396
+ },
397
+ "engines": {
398
+ "node": ">=12.0.0"
399
+ }
400
+ },
401
+ "node_modules/require-directory": {
402
+ "version": "2.1.1",
403
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
404
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
405
+ "engines": {
406
+ "node": ">=0.10.0"
407
+ }
408
+ },
409
+ "node_modules/string-width": {
410
+ "version": "4.2.3",
411
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
412
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
413
+ "dependencies": {
414
+ "emoji-regex": "^8.0.0",
415
+ "is-fullwidth-code-point": "^3.0.0",
416
+ "strip-ansi": "^6.0.1"
417
+ },
418
+ "engines": {
419
+ "node": ">=8"
420
+ }
421
+ },
422
+ "node_modules/strip-ansi": {
423
+ "version": "6.0.1",
424
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
425
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
426
+ "dependencies": {
427
+ "ansi-regex": "^5.0.1"
428
+ },
429
+ "engines": {
430
+ "node": ">=8"
431
+ }
432
+ },
433
+ "node_modules/undici-types": {
434
+ "version": "7.19.2",
435
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz",
436
+ "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg=="
437
+ },
438
+ "node_modules/wrap-ansi": {
439
+ "version": "7.0.0",
440
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
441
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
442
+ "dependencies": {
443
+ "ansi-styles": "^4.0.0",
444
+ "string-width": "^4.1.0",
445
+ "strip-ansi": "^6.0.0"
446
+ },
447
+ "engines": {
448
+ "node": ">=10"
449
+ },
450
+ "funding": {
451
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
452
+ }
453
+ },
454
+ "node_modules/y18n": {
455
+ "version": "5.0.8",
456
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
457
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
458
+ "engines": {
459
+ "node": ">=10"
460
+ }
461
+ },
462
+ "node_modules/yargs": {
463
+ "version": "17.7.2",
464
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
465
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
466
+ "dependencies": {
467
+ "cliui": "^8.0.1",
468
+ "escalade": "^3.1.1",
469
+ "get-caller-file": "^2.0.5",
470
+ "require-directory": "^2.1.1",
471
+ "string-width": "^4.2.3",
472
+ "y18n": "^5.0.5",
473
+ "yargs-parser": "^21.1.1"
474
+ },
475
+ "engines": {
476
+ "node": ">=12"
477
+ }
478
+ },
479
+ "node_modules/yargs-parser": {
480
+ "version": "21.1.1",
481
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
482
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
483
+ "engines": {
484
+ "node": ">=12"
485
+ }
486
+ }
487
+ }
488
+ }
@@ -8,5 +8,8 @@
8
8
  "keywords": [],
9
9
  "author": "",
10
10
  "license": "ISC",
11
- "description": ""
11
+ "description": "",
12
+ "dependencies": {
13
+ "crudjt": "^1.0.0"
14
+ }
12
15
  }