d07e98e607
Adds a TypeScript SPA embedded in hbbs that lets a logged-in admin click
"Connect (web client)" on a Devices row and remote-control the peer from
the browser, no desktop client install required. View, mouse/keyboard
control, and host-audio playback all work end-to-end.
Architecture
------------
Pure browser app, no server-side WS proxy:
Browser ──ws://hbbs:21118── rendezvous (PunchHole + RequestRelay)
│
└──ws://hbbr:21119──── relay (paired by uuid)
│
└── peer (RustDesk desktop, any platform)
Same wire path the desktop client takes via `Client::request_relay` and
`Client::create_relay`. Browser-relay-only — no NAT punching, so we send
nat_type=SYMMETRIC in PunchHoleRequest to make the peer skip the direct
attempt and go straight to relay (initiate=true with a host-generated uuid
that we then use for our own relay leg).
The 5 wire steps:
1. PunchHoleRequest → harvests signed peer Ed25519 sign-pk + relay host
+ the peer's session uuid from RelayResponse
2. Verify the signed pk against /admin/connect's `id_ed25519.pub`
3. Open WS to hbbr:21119, send RequestRelay with that uuid
4. Read peer's Message{signed_id}, verify with peer_sign_pk, extract
Curve25519 box pk; box-seal a fresh secretbox key under it; send
Message{public_key} unencrypted
5. Secretbox-encrypted stream from here. Hash → LoginRequest →
LoginResponse with PeerInfo. Mode = Legacy (Translate silently drops
ControlKey/Unicode payloads on the host side).
New Rust surface
----------------
- `admin_ui/connect.html` — SPA shell with `{{CUSTOM_CONFIG}}` placeholder
- `src/api/admin/pages/connect.rs` — gates on AuthedUser, injects per-request
config (rendezvous host, relay host, server pubkey, peer_id, admin name)
into the `<script id="custom-config">` tag, serves bundle.{js,css} via
include_bytes!
- 3 routes added: GET /admin/connect/:peer_id and the two assets
- Devices dropdown gains a sky-blue "Connect (web client)" link that opens
in a new tab
New TypeScript SPA (`web_client/`)
----------------------------------
Stack: pure DOM/TS, no React/Vue. Bundled by esbuild → `dist/bundle.{js,css}`
which is committed (cargo build needs no Node toolchain).
src/main.ts boot + password retry loop + receive dispatch
src/crypto.ts tweetnacl wrapper (sign_open, box, secretbox)
+ @noble/hashes/sha2 (works on plain http;
SubtleCrypto requires a secure context)
src/proto/generated.{js,d.ts} pbjs static-module from
libs/hbb_common/protos/{rendezvous,message}.proto
src/transport/rendezvous.ts WS to hbbs; PunchHole + RequestRelay
src/transport/relay.ts WS to hbbr; duplex frame transport
src/transport/session.ts secure-handshake state machine + Hash/Login
+ 8-byte LE secretbox sequence counter
(PRE-increment, send/recv independent —
matches libs/hbb_common/src/tcp.rs:317-320)
+ preloginExtras stash for AudioFormat that
arrives before LoginResponse
src/decode/video.ts WebCodecs VideoDecoder (vp09.00.10.08 today;
h264/h265/av1/vp8 codec strings ready for M6f)
src/decode/audio.ts WebCodecs AudioDecoder (opus) → AudioContext;
detects f32 vs f32-planar AudioData layout
and deinterleaves when needed; gap-less
scheduling via a sliding playhead
src/ui/canvas.ts <canvas> with object-fit: contain letterbox;
auto-resizes on resolution change; FPS counter
src/input/mouse.ts MouseEvent → MouseEvent proto. Mask layout:
(button << 3) | type (0=move,1=down,2=up,
3=wheel). Letterbox-aware viewport→peer
coord mapping. Right-click suppresses the
browser context menu; left-click does NOT
preventDefault (would block focus)
src/input/keyboard.ts Window-level keydown/keyup → KeyEvent proto
in Legacy mode. Special keys → ControlKey
enum; printable → unicode codepoint (down
only, host's process_unicode does a single
key_click). Browser shortcuts allowlisted
(Cmd-T/N/W/R, Tab) so the user keeps tab
control. Ctrl+Alt+Del HUD button (host-side
`send_sas` is `#[cfg(windows)]`; no-op on
Mac/Linux hosts but present for parity)
Bundle size: 529 KB raw / ~74 KB gzipped. Tree-shaken protobufjs +
tweetnacl + @noble/hashes only.
Deployment notes
----------------
- WebCodecs and SubtleCrypto are gated to "secure context" origins —
HTTPS, or http://localhost. Plain http://lan-ip won't work. Open via
http://localhost during dev, or terminate TLS in front of hbbs (Caddy
/ nginx / Traefik) for production access.
- `--relay-servers <host>` on hbbs must point at a host where TCP/WS
21119 is reachable from end-user browsers.
Wire-format gotchas this commit nails (each one was a session of bisecting)
--------------------------------------------------------------------------
- Hash.salt / Hash.challenge are proto `string` fields used as raw UTF-8
bytes in the SHA-256 chain. NOT base64-decoded. `pwd_hash =
SHA256(pwd_text || salt_utf8)`, `resp = SHA256(pwd_hash || challenge_utf8)`.
- Translate keyboard mode silently drops Unicode + ControlKey payloads on
the host (input_service.rs:2022 has `// Do not handle unicode for now.`).
Only Seq + Chr work in Translate. Use Legacy (mode=0) for everything.
- Browser is forced to relay path by sending nat_type=SYMMETRIC. The peer
generates its OWN uuid in handle_punch_hole's symmetric branch; use that
uuid (carried back in RelayResponse) for the relay leg, not a fresh one.
- Misc{audio_format} fires from the host's audio_service first-snapshot
BETWEEN add_connection and login_response, so it lands on the wire
before our session.recv() loop is set up. Session.open() captures
pre-login messages into preloginExtras for the caller to replay.
- protobufjs static-module sets unpopulated oneof fields to JS `null`,
not `undefined`. A `if (msg.cursor_id !== undefined)` cursor branch
swallowed every other message type including Misc; switched to loose
`!= null` comparison.
- WebCodecs AudioDecoder for opus emits `f32` (interleaved) AudioData —
must deinterleave into separate AudioBuffer channels before playback.
- VideoDecoder/AudioDecoder/SubtleCrypto are SecureContext-only; need
http://localhost or https:// on the *page origin*, not the WS targets.
- libsodium-wrappers ESM ships a broken relative import (`./libsodium.mjs`
in a sibling package); switched to tweetnacl which has no such problem.
- WebCrypto's SubtleCrypto.digest() doesn't accept SharedArrayBuffer-backed
Uint8Arrays in newer TS lib types; doesn't matter — we use @noble/hashes
for sha256 anyway since Subtle is secure-context-only.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1377 lines
46 KiB
JSON
1377 lines
46 KiB
JSON
{
|
|
"name": "rustdesk-web-client",
|
|
"version": "0.1.0",
|
|
"lockfileVersion": 3,
|
|
"requires": true,
|
|
"packages": {
|
|
"": {
|
|
"name": "rustdesk-web-client",
|
|
"version": "0.1.0",
|
|
"dependencies": {
|
|
"@noble/hashes": "^2.2.0",
|
|
"protobufjs": "^7.2.6",
|
|
"tweetnacl": "^1.0.3"
|
|
},
|
|
"devDependencies": {
|
|
"esbuild": "^0.21.0",
|
|
"protobufjs-cli": "^1.1.3",
|
|
"typescript": "^5.4.0"
|
|
}
|
|
},
|
|
"node_modules/@babel/helper-string-parser": {
|
|
"version": "7.27.1",
|
|
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
|
|
"integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=6.9.0"
|
|
}
|
|
},
|
|
"node_modules/@babel/helper-validator-identifier": {
|
|
"version": "7.28.5",
|
|
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
|
|
"integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=6.9.0"
|
|
}
|
|
},
|
|
"node_modules/@babel/parser": {
|
|
"version": "7.29.3",
|
|
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.3.tgz",
|
|
"integrity": "sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"@babel/types": "^7.29.0"
|
|
},
|
|
"bin": {
|
|
"parser": "bin/babel-parser.js"
|
|
},
|
|
"engines": {
|
|
"node": ">=6.0.0"
|
|
}
|
|
},
|
|
"node_modules/@babel/types": {
|
|
"version": "7.29.0",
|
|
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz",
|
|
"integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"@babel/helper-string-parser": "^7.27.1",
|
|
"@babel/helper-validator-identifier": "^7.28.5"
|
|
},
|
|
"engines": {
|
|
"node": ">=6.9.0"
|
|
}
|
|
},
|
|
"node_modules/@esbuild/aix-ppc64": {
|
|
"version": "0.21.5",
|
|
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
|
|
"integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
|
|
"cpu": [
|
|
"ppc64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"aix"
|
|
],
|
|
"engines": {
|
|
"node": ">=12"
|
|
}
|
|
},
|
|
"node_modules/@esbuild/android-arm": {
|
|
"version": "0.21.5",
|
|
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
|
|
"integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
|
|
"cpu": [
|
|
"arm"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"android"
|
|
],
|
|
"engines": {
|
|
"node": ">=12"
|
|
}
|
|
},
|
|
"node_modules/@esbuild/android-arm64": {
|
|
"version": "0.21.5",
|
|
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
|
|
"integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"android"
|
|
],
|
|
"engines": {
|
|
"node": ">=12"
|
|
}
|
|
},
|
|
"node_modules/@esbuild/android-x64": {
|
|
"version": "0.21.5",
|
|
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
|
|
"integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"android"
|
|
],
|
|
"engines": {
|
|
"node": ">=12"
|
|
}
|
|
},
|
|
"node_modules/@esbuild/darwin-arm64": {
|
|
"version": "0.21.5",
|
|
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
|
|
"integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"darwin"
|
|
],
|
|
"engines": {
|
|
"node": ">=12"
|
|
}
|
|
},
|
|
"node_modules/@esbuild/darwin-x64": {
|
|
"version": "0.21.5",
|
|
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
|
|
"integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"darwin"
|
|
],
|
|
"engines": {
|
|
"node": ">=12"
|
|
}
|
|
},
|
|
"node_modules/@esbuild/freebsd-arm64": {
|
|
"version": "0.21.5",
|
|
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
|
|
"integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"freebsd"
|
|
],
|
|
"engines": {
|
|
"node": ">=12"
|
|
}
|
|
},
|
|
"node_modules/@esbuild/freebsd-x64": {
|
|
"version": "0.21.5",
|
|
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
|
|
"integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"freebsd"
|
|
],
|
|
"engines": {
|
|
"node": ">=12"
|
|
}
|
|
},
|
|
"node_modules/@esbuild/linux-arm": {
|
|
"version": "0.21.5",
|
|
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
|
|
"integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
|
|
"cpu": [
|
|
"arm"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">=12"
|
|
}
|
|
},
|
|
"node_modules/@esbuild/linux-arm64": {
|
|
"version": "0.21.5",
|
|
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
|
|
"integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">=12"
|
|
}
|
|
},
|
|
"node_modules/@esbuild/linux-ia32": {
|
|
"version": "0.21.5",
|
|
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
|
|
"integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
|
|
"cpu": [
|
|
"ia32"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">=12"
|
|
}
|
|
},
|
|
"node_modules/@esbuild/linux-loong64": {
|
|
"version": "0.21.5",
|
|
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
|
|
"integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
|
|
"cpu": [
|
|
"loong64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">=12"
|
|
}
|
|
},
|
|
"node_modules/@esbuild/linux-mips64el": {
|
|
"version": "0.21.5",
|
|
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
|
|
"integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
|
|
"cpu": [
|
|
"mips64el"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">=12"
|
|
}
|
|
},
|
|
"node_modules/@esbuild/linux-ppc64": {
|
|
"version": "0.21.5",
|
|
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
|
|
"integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
|
|
"cpu": [
|
|
"ppc64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">=12"
|
|
}
|
|
},
|
|
"node_modules/@esbuild/linux-riscv64": {
|
|
"version": "0.21.5",
|
|
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
|
|
"integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
|
|
"cpu": [
|
|
"riscv64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">=12"
|
|
}
|
|
},
|
|
"node_modules/@esbuild/linux-s390x": {
|
|
"version": "0.21.5",
|
|
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
|
|
"integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
|
|
"cpu": [
|
|
"s390x"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">=12"
|
|
}
|
|
},
|
|
"node_modules/@esbuild/linux-x64": {
|
|
"version": "0.21.5",
|
|
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
|
|
"integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">=12"
|
|
}
|
|
},
|
|
"node_modules/@esbuild/netbsd-x64": {
|
|
"version": "0.21.5",
|
|
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
|
|
"integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"netbsd"
|
|
],
|
|
"engines": {
|
|
"node": ">=12"
|
|
}
|
|
},
|
|
"node_modules/@esbuild/openbsd-x64": {
|
|
"version": "0.21.5",
|
|
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
|
|
"integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"openbsd"
|
|
],
|
|
"engines": {
|
|
"node": ">=12"
|
|
}
|
|
},
|
|
"node_modules/@esbuild/sunos-x64": {
|
|
"version": "0.21.5",
|
|
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
|
|
"integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"sunos"
|
|
],
|
|
"engines": {
|
|
"node": ">=12"
|
|
}
|
|
},
|
|
"node_modules/@esbuild/win32-arm64": {
|
|
"version": "0.21.5",
|
|
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
|
|
"integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"win32"
|
|
],
|
|
"engines": {
|
|
"node": ">=12"
|
|
}
|
|
},
|
|
"node_modules/@esbuild/win32-ia32": {
|
|
"version": "0.21.5",
|
|
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
|
|
"integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
|
|
"cpu": [
|
|
"ia32"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"win32"
|
|
],
|
|
"engines": {
|
|
"node": ">=12"
|
|
}
|
|
},
|
|
"node_modules/@esbuild/win32-x64": {
|
|
"version": "0.21.5",
|
|
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
|
|
"integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"win32"
|
|
],
|
|
"engines": {
|
|
"node": ">=12"
|
|
}
|
|
},
|
|
"node_modules/@jsdoc/salty": {
|
|
"version": "0.2.12",
|
|
"resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.12.tgz",
|
|
"integrity": "sha512-TuB0x50EoAvEX/UEWITd8Mkn3WhiTjSvbTMCLj0BhsQEl5iUzjXdA0bETEVpTk+5TGTLR6QktI9H4hLviVeaAQ==",
|
|
"dev": true,
|
|
"license": "Apache-2.0",
|
|
"dependencies": {
|
|
"lodash": "^4.18.1"
|
|
},
|
|
"engines": {
|
|
"node": ">=v12.0.0"
|
|
}
|
|
},
|
|
"node_modules/@noble/hashes": {
|
|
"version": "2.2.0",
|
|
"resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.2.0.tgz",
|
|
"integrity": "sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==",
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">= 20.19.0"
|
|
},
|
|
"funding": {
|
|
"url": "https://paulmillr.com/funding/"
|
|
}
|
|
},
|
|
"node_modules/@protobufjs/aspromise": {
|
|
"version": "1.1.2",
|
|
"resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
|
|
"integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==",
|
|
"license": "BSD-3-Clause"
|
|
},
|
|
"node_modules/@protobufjs/base64": {
|
|
"version": "1.1.2",
|
|
"resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
|
|
"integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
|
|
"license": "BSD-3-Clause"
|
|
},
|
|
"node_modules/@protobufjs/codegen": {
|
|
"version": "2.0.5",
|
|
"resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.5.tgz",
|
|
"integrity": "sha512-zgXFLzW3Ap33e6d0Wlj4MGIm6Ce8O89n/apUaGNB/jx+hw+ruWEp7EwGUshdLKVRCxZW12fp9r40E1mQrf/34g==",
|
|
"license": "BSD-3-Clause"
|
|
},
|
|
"node_modules/@protobufjs/eventemitter": {
|
|
"version": "1.1.0",
|
|
"resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
|
|
"integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==",
|
|
"license": "BSD-3-Clause"
|
|
},
|
|
"node_modules/@protobufjs/fetch": {
|
|
"version": "1.1.0",
|
|
"resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
|
|
"integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
|
|
"license": "BSD-3-Clause",
|
|
"dependencies": {
|
|
"@protobufjs/aspromise": "^1.1.1",
|
|
"@protobufjs/inquire": "^1.1.0"
|
|
}
|
|
},
|
|
"node_modules/@protobufjs/float": {
|
|
"version": "1.0.2",
|
|
"resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
|
|
"integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==",
|
|
"license": "BSD-3-Clause"
|
|
},
|
|
"node_modules/@protobufjs/inquire": {
|
|
"version": "1.1.1",
|
|
"resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.1.tgz",
|
|
"integrity": "sha512-mnzgDV26ueAvk7rsbt9L7bE0SuAoqyuys/sMMrmVcN5x9VsxpcG3rqAUSgDyLp0UZlmNfIbQ4fHfCtreVBk8Ew==",
|
|
"license": "BSD-3-Clause"
|
|
},
|
|
"node_modules/@protobufjs/path": {
|
|
"version": "1.1.2",
|
|
"resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
|
|
"integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==",
|
|
"license": "BSD-3-Clause"
|
|
},
|
|
"node_modules/@protobufjs/pool": {
|
|
"version": "1.1.0",
|
|
"resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
|
|
"integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==",
|
|
"license": "BSD-3-Clause"
|
|
},
|
|
"node_modules/@protobufjs/utf8": {
|
|
"version": "1.1.1",
|
|
"resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.1.tgz",
|
|
"integrity": "sha512-oOAWABowe8EAbMyWKM0tYDKi8Yaox52D+HWZhAIJqQXbqe0xI/GV7FhLWqlEKreMkfDjshR5FKgi3mnle0h6Eg==",
|
|
"license": "BSD-3-Clause"
|
|
},
|
|
"node_modules/@types/linkify-it": {
|
|
"version": "5.0.0",
|
|
"resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz",
|
|
"integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/@types/markdown-it": {
|
|
"version": "14.1.2",
|
|
"resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz",
|
|
"integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"@types/linkify-it": "^5",
|
|
"@types/mdurl": "^2"
|
|
}
|
|
},
|
|
"node_modules/@types/mdurl": {
|
|
"version": "2.0.0",
|
|
"resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz",
|
|
"integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/@types/node": {
|
|
"version": "25.6.0",
|
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz",
|
|
"integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==",
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"undici-types": "~7.19.0"
|
|
}
|
|
},
|
|
"node_modules/acorn": {
|
|
"version": "8.16.0",
|
|
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz",
|
|
"integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"bin": {
|
|
"acorn": "bin/acorn"
|
|
},
|
|
"engines": {
|
|
"node": ">=0.4.0"
|
|
}
|
|
},
|
|
"node_modules/acorn-jsx": {
|
|
"version": "5.3.2",
|
|
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
|
|
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"peerDependencies": {
|
|
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
|
|
}
|
|
},
|
|
"node_modules/ansi-styles": {
|
|
"version": "4.3.0",
|
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
|
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"color-convert": "^2.0.1"
|
|
},
|
|
"engines": {
|
|
"node": ">=8"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
|
}
|
|
},
|
|
"node_modules/argparse": {
|
|
"version": "2.0.1",
|
|
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
|
|
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
|
|
"dev": true,
|
|
"license": "Python-2.0"
|
|
},
|
|
"node_modules/balanced-match": {
|
|
"version": "1.0.2",
|
|
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
|
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/bluebird": {
|
|
"version": "3.7.2",
|
|
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
|
|
"integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/brace-expansion": {
|
|
"version": "2.1.0",
|
|
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz",
|
|
"integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"balanced-match": "^1.0.0"
|
|
}
|
|
},
|
|
"node_modules/catharsis": {
|
|
"version": "0.9.0",
|
|
"resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz",
|
|
"integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"lodash": "^4.17.15"
|
|
},
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/chalk": {
|
|
"version": "4.1.2",
|
|
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
|
|
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"ansi-styles": "^4.1.0",
|
|
"supports-color": "^7.1.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=10"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/chalk/chalk?sponsor=1"
|
|
}
|
|
},
|
|
"node_modules/color-convert": {
|
|
"version": "2.0.1",
|
|
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
|
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"color-name": "~1.1.4"
|
|
},
|
|
"engines": {
|
|
"node": ">=7.0.0"
|
|
}
|
|
},
|
|
"node_modules/color-name": {
|
|
"version": "1.1.4",
|
|
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
|
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/deep-is": {
|
|
"version": "0.1.4",
|
|
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
|
|
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/entities": {
|
|
"version": "4.5.0",
|
|
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
|
|
"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
|
|
"dev": true,
|
|
"license": "BSD-2-Clause",
|
|
"engines": {
|
|
"node": ">=0.12"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/fb55/entities?sponsor=1"
|
|
}
|
|
},
|
|
"node_modules/esbuild": {
|
|
"version": "0.21.5",
|
|
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
|
|
"integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
|
|
"dev": true,
|
|
"hasInstallScript": true,
|
|
"license": "MIT",
|
|
"bin": {
|
|
"esbuild": "bin/esbuild"
|
|
},
|
|
"engines": {
|
|
"node": ">=12"
|
|
},
|
|
"optionalDependencies": {
|
|
"@esbuild/aix-ppc64": "0.21.5",
|
|
"@esbuild/android-arm": "0.21.5",
|
|
"@esbuild/android-arm64": "0.21.5",
|
|
"@esbuild/android-x64": "0.21.5",
|
|
"@esbuild/darwin-arm64": "0.21.5",
|
|
"@esbuild/darwin-x64": "0.21.5",
|
|
"@esbuild/freebsd-arm64": "0.21.5",
|
|
"@esbuild/freebsd-x64": "0.21.5",
|
|
"@esbuild/linux-arm": "0.21.5",
|
|
"@esbuild/linux-arm64": "0.21.5",
|
|
"@esbuild/linux-ia32": "0.21.5",
|
|
"@esbuild/linux-loong64": "0.21.5",
|
|
"@esbuild/linux-mips64el": "0.21.5",
|
|
"@esbuild/linux-ppc64": "0.21.5",
|
|
"@esbuild/linux-riscv64": "0.21.5",
|
|
"@esbuild/linux-s390x": "0.21.5",
|
|
"@esbuild/linux-x64": "0.21.5",
|
|
"@esbuild/netbsd-x64": "0.21.5",
|
|
"@esbuild/openbsd-x64": "0.21.5",
|
|
"@esbuild/sunos-x64": "0.21.5",
|
|
"@esbuild/win32-arm64": "0.21.5",
|
|
"@esbuild/win32-ia32": "0.21.5",
|
|
"@esbuild/win32-x64": "0.21.5"
|
|
}
|
|
},
|
|
"node_modules/escape-string-regexp": {
|
|
"version": "2.0.0",
|
|
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
|
|
"integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=8"
|
|
}
|
|
},
|
|
"node_modules/escodegen": {
|
|
"version": "1.14.3",
|
|
"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz",
|
|
"integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==",
|
|
"dev": true,
|
|
"license": "BSD-2-Clause",
|
|
"dependencies": {
|
|
"esprima": "^4.0.1",
|
|
"estraverse": "^4.2.0",
|
|
"esutils": "^2.0.2",
|
|
"optionator": "^0.8.1"
|
|
},
|
|
"bin": {
|
|
"escodegen": "bin/escodegen.js",
|
|
"esgenerate": "bin/esgenerate.js"
|
|
},
|
|
"engines": {
|
|
"node": ">=4.0"
|
|
},
|
|
"optionalDependencies": {
|
|
"source-map": "~0.6.1"
|
|
}
|
|
},
|
|
"node_modules/escodegen/node_modules/estraverse": {
|
|
"version": "4.3.0",
|
|
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
|
|
"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
|
|
"dev": true,
|
|
"license": "BSD-2-Clause",
|
|
"engines": {
|
|
"node": ">=4.0"
|
|
}
|
|
},
|
|
"node_modules/eslint-visitor-keys": {
|
|
"version": "3.4.3",
|
|
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
|
|
"integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
|
|
"dev": true,
|
|
"license": "Apache-2.0",
|
|
"engines": {
|
|
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
|
},
|
|
"funding": {
|
|
"url": "https://opencollective.com/eslint"
|
|
}
|
|
},
|
|
"node_modules/espree": {
|
|
"version": "9.6.1",
|
|
"resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
|
|
"integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
|
|
"dev": true,
|
|
"license": "BSD-2-Clause",
|
|
"dependencies": {
|
|
"acorn": "^8.9.0",
|
|
"acorn-jsx": "^5.3.2",
|
|
"eslint-visitor-keys": "^3.4.1"
|
|
},
|
|
"engines": {
|
|
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
|
},
|
|
"funding": {
|
|
"url": "https://opencollective.com/eslint"
|
|
}
|
|
},
|
|
"node_modules/esprima": {
|
|
"version": "4.0.1",
|
|
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
|
|
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
|
|
"dev": true,
|
|
"license": "BSD-2-Clause",
|
|
"bin": {
|
|
"esparse": "bin/esparse.js",
|
|
"esvalidate": "bin/esvalidate.js"
|
|
},
|
|
"engines": {
|
|
"node": ">=4"
|
|
}
|
|
},
|
|
"node_modules/estraverse": {
|
|
"version": "5.3.0",
|
|
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
|
|
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
|
|
"dev": true,
|
|
"license": "BSD-2-Clause",
|
|
"engines": {
|
|
"node": ">=4.0"
|
|
}
|
|
},
|
|
"node_modules/esutils": {
|
|
"version": "2.0.3",
|
|
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
|
|
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
|
|
"dev": true,
|
|
"license": "BSD-2-Clause",
|
|
"engines": {
|
|
"node": ">=0.10.0"
|
|
}
|
|
},
|
|
"node_modules/fast-levenshtein": {
|
|
"version": "2.0.6",
|
|
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
|
|
"integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/fs.realpath": {
|
|
"version": "1.0.0",
|
|
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
|
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
|
|
"dev": true,
|
|
"license": "ISC"
|
|
},
|
|
"node_modules/glob": {
|
|
"version": "8.1.0",
|
|
"resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
|
|
"integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
|
|
"deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
|
|
"dev": true,
|
|
"license": "ISC",
|
|
"dependencies": {
|
|
"fs.realpath": "^1.0.0",
|
|
"inflight": "^1.0.4",
|
|
"inherits": "2",
|
|
"minimatch": "^5.0.1",
|
|
"once": "^1.3.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=12"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/isaacs"
|
|
}
|
|
},
|
|
"node_modules/graceful-fs": {
|
|
"version": "4.2.11",
|
|
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
|
|
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
|
|
"dev": true,
|
|
"license": "ISC"
|
|
},
|
|
"node_modules/has-flag": {
|
|
"version": "4.0.0",
|
|
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
|
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=8"
|
|
}
|
|
},
|
|
"node_modules/inflight": {
|
|
"version": "1.0.6",
|
|
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
|
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
|
|
"deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
|
|
"dev": true,
|
|
"license": "ISC",
|
|
"dependencies": {
|
|
"once": "^1.3.0",
|
|
"wrappy": "1"
|
|
}
|
|
},
|
|
"node_modules/inherits": {
|
|
"version": "2.0.4",
|
|
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
|
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
|
|
"dev": true,
|
|
"license": "ISC"
|
|
},
|
|
"node_modules/js2xmlparser": {
|
|
"version": "4.0.2",
|
|
"resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz",
|
|
"integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==",
|
|
"dev": true,
|
|
"license": "Apache-2.0",
|
|
"dependencies": {
|
|
"xmlcreate": "^2.0.4"
|
|
}
|
|
},
|
|
"node_modules/jsdoc": {
|
|
"version": "4.0.5",
|
|
"resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.5.tgz",
|
|
"integrity": "sha512-P4C6MWP9yIlMiK8nwoZvxN84vb6MsnXcHuy7XzVOvQoCizWX5JFCBsWIIWKXBltpoRZXddUOVQmCTOZt9yDj9g==",
|
|
"dev": true,
|
|
"license": "Apache-2.0",
|
|
"dependencies": {
|
|
"@babel/parser": "^7.20.15",
|
|
"@jsdoc/salty": "^0.2.1",
|
|
"@types/markdown-it": "^14.1.1",
|
|
"bluebird": "^3.7.2",
|
|
"catharsis": "^0.9.0",
|
|
"escape-string-regexp": "^2.0.0",
|
|
"js2xmlparser": "^4.0.2",
|
|
"klaw": "^3.0.0",
|
|
"markdown-it": "^14.1.0",
|
|
"markdown-it-anchor": "^8.6.7",
|
|
"marked": "^4.0.10",
|
|
"mkdirp": "^1.0.4",
|
|
"requizzle": "^0.2.3",
|
|
"strip-json-comments": "^3.1.0",
|
|
"underscore": "~1.13.2"
|
|
},
|
|
"bin": {
|
|
"jsdoc": "jsdoc.js"
|
|
},
|
|
"engines": {
|
|
"node": ">=12.0.0"
|
|
}
|
|
},
|
|
"node_modules/klaw": {
|
|
"version": "3.0.0",
|
|
"resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz",
|
|
"integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"graceful-fs": "^4.1.9"
|
|
}
|
|
},
|
|
"node_modules/levn": {
|
|
"version": "0.3.0",
|
|
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
|
|
"integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"prelude-ls": "~1.1.2",
|
|
"type-check": "~0.3.2"
|
|
},
|
|
"engines": {
|
|
"node": ">= 0.8.0"
|
|
}
|
|
},
|
|
"node_modules/linkify-it": {
|
|
"version": "5.0.0",
|
|
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
|
|
"integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"uc.micro": "^2.0.0"
|
|
}
|
|
},
|
|
"node_modules/lodash": {
|
|
"version": "4.18.1",
|
|
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz",
|
|
"integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/long": {
|
|
"version": "5.3.2",
|
|
"resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz",
|
|
"integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==",
|
|
"license": "Apache-2.0"
|
|
},
|
|
"node_modules/markdown-it": {
|
|
"version": "14.1.1",
|
|
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.1.tgz",
|
|
"integrity": "sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"argparse": "^2.0.1",
|
|
"entities": "^4.4.0",
|
|
"linkify-it": "^5.0.0",
|
|
"mdurl": "^2.0.0",
|
|
"punycode.js": "^2.3.1",
|
|
"uc.micro": "^2.1.0"
|
|
},
|
|
"bin": {
|
|
"markdown-it": "bin/markdown-it.mjs"
|
|
}
|
|
},
|
|
"node_modules/markdown-it-anchor": {
|
|
"version": "8.6.7",
|
|
"resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz",
|
|
"integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==",
|
|
"dev": true,
|
|
"license": "Unlicense",
|
|
"peerDependencies": {
|
|
"@types/markdown-it": "*",
|
|
"markdown-it": "*"
|
|
}
|
|
},
|
|
"node_modules/marked": {
|
|
"version": "4.3.0",
|
|
"resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz",
|
|
"integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"bin": {
|
|
"marked": "bin/marked.js"
|
|
},
|
|
"engines": {
|
|
"node": ">= 12"
|
|
}
|
|
},
|
|
"node_modules/mdurl": {
|
|
"version": "2.0.0",
|
|
"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
|
|
"integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/minimatch": {
|
|
"version": "5.1.9",
|
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz",
|
|
"integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==",
|
|
"dev": true,
|
|
"license": "ISC",
|
|
"dependencies": {
|
|
"brace-expansion": "^2.0.1"
|
|
},
|
|
"engines": {
|
|
"node": ">=10"
|
|
}
|
|
},
|
|
"node_modules/minimist": {
|
|
"version": "1.2.8",
|
|
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
|
|
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/ljharb"
|
|
}
|
|
},
|
|
"node_modules/mkdirp": {
|
|
"version": "1.0.4",
|
|
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
|
|
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"bin": {
|
|
"mkdirp": "bin/cmd.js"
|
|
},
|
|
"engines": {
|
|
"node": ">=10"
|
|
}
|
|
},
|
|
"node_modules/once": {
|
|
"version": "1.4.0",
|
|
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
|
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
|
|
"dev": true,
|
|
"license": "ISC",
|
|
"dependencies": {
|
|
"wrappy": "1"
|
|
}
|
|
},
|
|
"node_modules/optionator": {
|
|
"version": "0.8.3",
|
|
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
|
|
"integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"deep-is": "~0.1.3",
|
|
"fast-levenshtein": "~2.0.6",
|
|
"levn": "~0.3.0",
|
|
"prelude-ls": "~1.1.2",
|
|
"type-check": "~0.3.2",
|
|
"word-wrap": "~1.2.3"
|
|
},
|
|
"engines": {
|
|
"node": ">= 0.8.0"
|
|
}
|
|
},
|
|
"node_modules/prelude-ls": {
|
|
"version": "1.1.2",
|
|
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
|
|
"integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==",
|
|
"dev": true,
|
|
"engines": {
|
|
"node": ">= 0.8.0"
|
|
}
|
|
},
|
|
"node_modules/protobufjs": {
|
|
"version": "7.5.6",
|
|
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.6.tgz",
|
|
"integrity": "sha512-M71sTMB146U3u0di3yup8iM+zv8yPRNQVr1KK4tyBitl3qFvEGucq/rGDRShD2rsJhtN02RJaJ7j5X5hmy8SJg==",
|
|
"hasInstallScript": true,
|
|
"license": "BSD-3-Clause",
|
|
"dependencies": {
|
|
"@protobufjs/aspromise": "^1.1.2",
|
|
"@protobufjs/base64": "^1.1.2",
|
|
"@protobufjs/codegen": "^2.0.5",
|
|
"@protobufjs/eventemitter": "^1.1.0",
|
|
"@protobufjs/fetch": "^1.1.0",
|
|
"@protobufjs/float": "^1.0.2",
|
|
"@protobufjs/inquire": "^1.1.1",
|
|
"@protobufjs/path": "^1.1.2",
|
|
"@protobufjs/pool": "^1.1.0",
|
|
"@protobufjs/utf8": "^1.1.1",
|
|
"@types/node": ">=13.7.0",
|
|
"long": "^5.0.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=12.0.0"
|
|
}
|
|
},
|
|
"node_modules/protobufjs-cli": {
|
|
"version": "1.2.2",
|
|
"resolved": "https://registry.npmjs.org/protobufjs-cli/-/protobufjs-cli-1.2.2.tgz",
|
|
"integrity": "sha512-gc27fy6Om+92g4UxqOs9ECTc3Xy7zXsnBSFR0dCSEvIRG8cn3eU8x+CcN8ouBB3EjIBVnEOeQb0iVKC4lnBoKA==",
|
|
"dev": true,
|
|
"license": "BSD-3-Clause",
|
|
"dependencies": {
|
|
"chalk": "^4.0.0",
|
|
"escodegen": "^1.13.0",
|
|
"espree": "^9.0.0",
|
|
"estraverse": "^5.1.0",
|
|
"glob": "^8.0.0",
|
|
"jsdoc": "^4.0.0",
|
|
"minimist": "^1.2.0",
|
|
"semver": "^7.1.2",
|
|
"tmp": "^0.2.1",
|
|
"uglify-js": "^3.7.7"
|
|
},
|
|
"bin": {
|
|
"pbjs": "bin/pbjs",
|
|
"pbts": "bin/pbts"
|
|
},
|
|
"engines": {
|
|
"node": ">=12.0.0"
|
|
},
|
|
"peerDependencies": {
|
|
"protobufjs": ">=7.5.6 <8"
|
|
}
|
|
},
|
|
"node_modules/punycode.js": {
|
|
"version": "2.3.1",
|
|
"resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
|
|
"integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=6"
|
|
}
|
|
},
|
|
"node_modules/requizzle": {
|
|
"version": "0.2.4",
|
|
"resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz",
|
|
"integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"lodash": "^4.17.21"
|
|
}
|
|
},
|
|
"node_modules/semver": {
|
|
"version": "7.7.4",
|
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
|
|
"integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
|
|
"dev": true,
|
|
"license": "ISC",
|
|
"bin": {
|
|
"semver": "bin/semver.js"
|
|
},
|
|
"engines": {
|
|
"node": ">=10"
|
|
}
|
|
},
|
|
"node_modules/source-map": {
|
|
"version": "0.6.1",
|
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
|
"dev": true,
|
|
"license": "BSD-3-Clause",
|
|
"optional": true,
|
|
"engines": {
|
|
"node": ">=0.10.0"
|
|
}
|
|
},
|
|
"node_modules/strip-json-comments": {
|
|
"version": "3.1.1",
|
|
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
|
|
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=8"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
}
|
|
},
|
|
"node_modules/supports-color": {
|
|
"version": "7.2.0",
|
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
|
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"has-flag": "^4.0.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=8"
|
|
}
|
|
},
|
|
"node_modules/tmp": {
|
|
"version": "0.2.5",
|
|
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz",
|
|
"integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=14.14"
|
|
}
|
|
},
|
|
"node_modules/tweetnacl": {
|
|
"version": "1.0.3",
|
|
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz",
|
|
"integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==",
|
|
"license": "Unlicense"
|
|
},
|
|
"node_modules/type-check": {
|
|
"version": "0.3.2",
|
|
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
|
|
"integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"prelude-ls": "~1.1.2"
|
|
},
|
|
"engines": {
|
|
"node": ">= 0.8.0"
|
|
}
|
|
},
|
|
"node_modules/typescript": {
|
|
"version": "5.9.3",
|
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
|
|
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
|
|
"dev": true,
|
|
"license": "Apache-2.0",
|
|
"bin": {
|
|
"tsc": "bin/tsc",
|
|
"tsserver": "bin/tsserver"
|
|
},
|
|
"engines": {
|
|
"node": ">=14.17"
|
|
}
|
|
},
|
|
"node_modules/uc.micro": {
|
|
"version": "2.1.0",
|
|
"resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
|
|
"integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/uglify-js": {
|
|
"version": "3.19.3",
|
|
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz",
|
|
"integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==",
|
|
"dev": true,
|
|
"license": "BSD-2-Clause",
|
|
"bin": {
|
|
"uglifyjs": "bin/uglifyjs"
|
|
},
|
|
"engines": {
|
|
"node": ">=0.8.0"
|
|
}
|
|
},
|
|
"node_modules/underscore": {
|
|
"version": "1.13.8",
|
|
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.8.tgz",
|
|
"integrity": "sha512-DXtD3ZtEQzc7M8m4cXotyHR+FAS18C64asBYY5vqZexfYryNNnDc02W4hKg3rdQuqOYas1jkseX0+nZXjTXnvQ==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/undici-types": {
|
|
"version": "7.19.2",
|
|
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz",
|
|
"integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==",
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/word-wrap": {
|
|
"version": "1.2.5",
|
|
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
|
|
"integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=0.10.0"
|
|
}
|
|
},
|
|
"node_modules/wrappy": {
|
|
"version": "1.0.2",
|
|
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
|
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
|
|
"dev": true,
|
|
"license": "ISC"
|
|
},
|
|
"node_modules/xmlcreate": {
|
|
"version": "2.0.4",
|
|
"resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz",
|
|
"integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==",
|
|
"dev": true,
|
|
"license": "Apache-2.0"
|
|
}
|
|
}
|
|
}
|