diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index a0557a9..7dd6863 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -37,6 +37,18 @@ jobs: if: runner.os == 'Windows' run: python -m pip install pipx + # Optional npm backend, installed before the main `mise install`. + # See [tasks.setup-aube] in .mise.toml for the full rationale. + - name: Install aube (optional npm backend, allowed to fail) + continue-on-error: true + run: | + mise settings experimental=true + mise run setup-aube + env: + GITHUB_TOKEN: ${{ github.token }} + MISE_HTTP_TIMEOUT: "120" + MISE_TASK_RUN_AUTO_INSTALL: "false" + - name: Install mise tools run: | mise settings add idiomatic_version_file_enable_tools "[]" diff --git a/.github/workflows/dependencies.yml b/.github/workflows/dependencies.yml index 4768929..d86a56b 100644 --- a/.github/workflows/dependencies.yml +++ b/.github/workflows/dependencies.yml @@ -30,7 +30,7 @@ defaults: jobs: dependencies: runs-on: ubuntu-latest - timeout-minutes: 15 + timeout-minutes: 25 steps: - name: Checkout uses: actions/checkout@v4 @@ -46,6 +46,21 @@ jobs: - name: osv-scanner run: osv-scanner --lockfile Cargo.lock + # `cargo unmaintained` persists per-repository archival/last-commit + # lookups under `$XDG_CACHE_HOME/cargo-unmaintained` (default + # `~/.cache/cargo-unmaintained`, with a versioned `v2/` subdir). On a + # cold runner the per-dependency GitHub round-trips take ~12 min, which + # nearly blew the old 15-min timeout; restoring this cache keeps reruns + # fast. Key on Cargo.lock so a dependency change refreshes; the prefix + # restore-key reuses the previous cache for crates that didn't change. + - name: Cache cargo-unmaintained lookups + uses: actions/cache@v4 + with: + path: ~/.cache/cargo-unmaintained + key: cargo-unmaintained-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + cargo-unmaintained- + # `cargo unmaintained` queries the GitHub API to check whether each # declared upstream repository is archived. Without a token the # archival check is skipped with a warning, leaving an unmaintained diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index dde7e78..1c0f3d3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -44,29 +44,38 @@ jobs: github.event_name == 'workflow_dispatch' && ( github.event.inputs.os == 'all' && format( '[{0},{1},{2},{3},{4}]', - '{"os":"ubuntu-latest","timeout":25}', + '{"os":"ubuntu-latest","timeout":30}', '{"os":"ubuntu-24.04-arm","timeout":25}', - '{"os":"macos-latest","timeout":35}', + '{"os":"macos-latest","timeout":45}', '{"os":"macos-26-intel","timeout":60}', - '{"os":"windows-latest","timeout":40}' + '{"os":"windows-latest","timeout":60}' ) - || github.event.inputs.os == 'ubuntu-latest' && '[{"os":"ubuntu-latest","timeout":25}]' + || github.event.inputs.os == 'ubuntu-latest' && '[{"os":"ubuntu-latest","timeout":30}]' || github.event.inputs.os == 'ubuntu-24.04-arm' && '[{"os":"ubuntu-24.04-arm","timeout":25}]' - || github.event.inputs.os == 'macos-latest' && '[{"os":"macos-latest","timeout":35}]' + || github.event.inputs.os == 'macos-latest' && '[{"os":"macos-latest","timeout":45}]' || github.event.inputs.os == 'macos-26-intel' && '[{"os":"macos-26-intel","timeout":60}]' - || github.event.inputs.os == 'windows-latest' && '[{"os":"windows-latest","timeout":40}]' + || github.event.inputs.os == 'windows-latest' && '[{"os":"windows-latest","timeout":60}]' ) || format( '[{0},{1},{2}]', - '{"os":"ubuntu-latest","timeout":25}', + '{"os":"ubuntu-latest","timeout":30}', '{"os":"ubuntu-24.04-arm","timeout":25}', - '{"os":"macos-latest","timeout":35}' + '{"os":"macos-latest","timeout":45}' ) ) }} steps: - name: Checkout uses: actions/checkout@v4 + # Reclaim the large preinstalled toolchains we never use (~30 GB). + # `|| true` so a missing dir (e.g. on the arm image) is not fatal. + - name: Free up disk space (Linux) + if: runner.os == 'Linux' + run: | + sudo rm -rf /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL /usr/share/swift || true + sudo docker image prune --all --force || true + df -h / + - name: Install Mesa Vulkan drivers (lavapipe) if: runner.os == 'Linux' run: | @@ -82,6 +91,18 @@ jobs: if: runner.os == 'Windows' run: python -m pip install pipx + # Optional npm backend, installed before the main `mise install`. + # See [tasks.setup-aube] in .mise.toml for the full rationale. + - name: Install aube (optional npm backend, allowed to fail) + continue-on-error: true + run: | + mise settings experimental=true + mise run setup-aube + env: + GITHUB_TOKEN: ${{ github.token }} + MISE_HTTP_TIMEOUT: "120" + MISE_TASK_RUN_AUTO_INSTALL: "false" + - name: Install mise tools run: | mise settings add idiomatic_version_file_enable_tools "[]" diff --git a/.mise.toml b/.mise.toml index 57463e7..60e2893 100644 --- a/.mise.toml +++ b/.mise.toml @@ -1,9 +1,7 @@ [tools] action-validator = "latest" -aube = { version = "latest", os = ["linux", "macos/arm64", "windows"] } cargo-binstall = "latest" "cargo:ast-grep" = "latest" -"cargo:aube" = { version = "latest", os = ["macos/x64"] } "cargo:cargo-deny" = "latest" "cargo:cargo-expand" = "latest" "cargo:dart-typegen" = "latest" @@ -17,10 +15,11 @@ cargo-binstall = "latest" "chromedriver" = { version = "146", os = ["linux", "macos"] } cmake = "latest" "conda:lld" = "latest" -"conda:openssl" = "latest" +"conda:openssl" = "3" dart = { version = "latest", url = "https://storage.googleapis.com/dart-archive/channels/stable/release/{{ version }}/sdk/dartsdk-{{ os() }}-{{ arch() }}-release.zip", version_expr = 'fromJSON(body).prefixes | filter({ # matches "^channels/stable/release/(\\d+\\.\\d+\\.\\d+)/$" }) | map({split(#, "/")[3]}) | sortVersions()', version_list_url = "https://storage.googleapis.com/storage/v1/b/dart-archive/o?prefix=channels/stable/release/&delimiter=/" } -dotnet = "latest" -dotnet-core = "latest" +# Pinned: SDK churn re-keys the wasm-tools workload manifest, forcing a ~1.5GB pack re-download on every bump. +dotnet = "10.0.300" +dotnet-core = "10.0.300" "dotnet:roslynator.dotnet.cli" = "latest" dprint = "latest" editorconfig-checker = "latest" @@ -56,6 +55,7 @@ pipx = { version = "latest", os = ["linux", "macos"] } "pipx:datamodel-code-generator" = { version = "latest", extras = "ruff" } "pipx:openapi-python-client" = "0.29.0" "pipx:pytest" = "latest" +"pipx:semgrep" = "latest" # The default aqua backend has no darwin/amd64 prebuilt; fall back to # `npm:pnpm` on Intel Mac (node is already a mise tool above). "npm:pnpm" = { version = "latest", os = ["macos/x64"] } @@ -89,6 +89,16 @@ OPENSSL_DIR = "{{ env.HOME }}/.local/share/mise/installs/conda-openssl/latest" # already points into. CARGO_TARGET_AARCH64_APPLE_DARWIN_RUSTFLAGS = "-C link-arg=-fuse-ld={{ env.HOME }}/.local/share/mise/installs/conda-lld/latest/bin/ld64.lld -C link-arg=-Wl,-rpath,{{ env.HOME }}/.local/share/mise/installs/conda-openssl/latest/lib" CARGO_TARGET_X86_64_APPLE_DARWIN_RUSTFLAGS = "-C link-arg=-fuse-ld={{ env.HOME }}/.local/share/mise/installs/conda-lld/latest/bin/ld64.lld -C link-arg=-Wl,-rpath,{{ env.HOME }}/.local/share/mise/installs/conda-openssl/latest/lib" +# Linux needs the same rpath the macOS flags above carry, for the same reason: +# OPENSSL_DIR points openssl-sys at conda's OpenSSL, so anything linking it +# (e.g. the ort-sys build script) records conda's `libssl` soname. Without an +# rpath the runtime loader only finds it when conda's soname happens to match +# the system one Ubuntu ships on the default path — which broke when conda +# bumped to `libssl.so.4` (no system equivalent). Point the loader at conda's +# own lib dir so the soname is irrelevant. No `-fuse-ld=lld`: the system +# linker on Linux accepts `-Wl,-rpath` directly, unlike Apple clang's lld dance. +CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUSTFLAGS = "-C link-arg=-Wl,-rpath,{{ env.HOME }}/.local/share/mise/installs/conda-openssl/latest/lib" +CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS = "-C link-arg=-Wl,-rpath,{{ env.HOME }}/.local/share/mise/installs/conda-openssl/latest/lib" # Silence Maven's per-artifact download/upload progress lines (the # "Downloading from central:" / "Downloaded" spam). Build output and real # errors still print. MAVEN_ARGS is honored by Maven 3.9+ and prepends to @@ -152,7 +162,7 @@ set -euo pipefail dart pub get --directory generated/dart-ws dart pub get --directory services/ws-modules/dart-comm1 """ -shell = "bash -c" +shell = "bash -euo pipefail -c" [tasks.dart-check] depends = ["dart-pub-get"] @@ -178,6 +188,7 @@ run = "dart format --output=none --set-exit-if-changed services/ws-modules/dart- # workflow via `taiki-e/install-action` since it isn't useful enough # locally to justify the cargo-build cost on every `mise install`. depends = [ + "action-validator", "ast-grep-check", "cargo-check", "cargo-clippy", @@ -191,6 +202,7 @@ depends = [ "gen-specs-check", "ruff-check", "ruff-fmt-check", + "semgrep-check", "taplo-check", "typos", "verification-check", @@ -198,10 +210,18 @@ depends = [ ] description = "Run repository checks" +[tasks.action-validator] +description = "Validate GitHub Actions workflow YAML" +run = "action-validator .github/workflows/*.yml" + [tasks.ast-grep-check] description = "Run ast-grep structural-search rules" run = "ast-grep scan --error -c config/ast-grep/sgconfig.yml" +[tasks.semgrep-check] +description = "Run Semgrep generic-mode rules (e.g. Cargo.toml style)" +run = "semgrep scan --config config/semgrep --error --metrics=off ." + [tasks.cargo-check] run = "cargo check --workspace" @@ -245,15 +265,11 @@ while IFS= read -r line; do members+=("$line") done < <(find . -name Cargo.toml -not -path './target/*' -not -path './Cargo.toml') -# All Cargo.tomls including the workspace root — `no-anyhow-dep` also -# covers `[workspace.dependencies]`, so the root has to be in this list. -all_cargo_toml=() -while IFS= read -r line; do - all_cargo_toml+=("$line") -done < <(find . -name Cargo.toml -not -path './target/*') - -# Schemas that apply to every Cargo.toml (including the workspace root). -taplo lint --schema "file://$PWD/config/taplo/no-anyhow-dep.schema.json" "${all_cargo_toml[@]}" +# Banned deps only need to be checked at the workspace root: member +# crates are required to reference deps via `workspace = true` (the +# `require-workspace-deps` schema below), so any banned dep can only +# enter the build through `[workspace.dependencies]` here. +taplo lint --schema "file://$PWD/config/taplo/no-banned-deps.schema.json" Cargo.toml # Schemas that apply to every member crate. taplo lint --schema "file://$PWD/config/taplo/no-path-deps.schema.json" "${members[@]}" @@ -275,11 +291,36 @@ for f in "${members[@]}"; do done taplo lint --schema "file://$PWD/config/taplo/require-lints-section.schema.json" "${lint_inheritable[@]}" """ -shell = "bash -c" +shell = "bash -euo pipefail -c" [tasks.typos] run = "typos" +[tasks.setup-aube] +# `aube` is an OPTIONAL faster npm backend, kept out of the mandatory `[tools]` +# list because its install is flaky on some platforms and edge-toolkit falls +# back to the classical `lib/node_modules` layout without it (see +# `find_npm_modules_path_in`). +# +# CI (check.yml / test.yml) runs this task in its own allowed-to-fail step, +# placed BEFORE the main `mise install` so the `npm:onnxruntime-web` install +# can pick up aube as its backend. That step sets `MISE_TASK_RUN_AUTO_INSTALL= +# false`, otherwise `mise run` would eagerly install the whole toolset before +# the task body — defeating both the ordering and the best-effort intent. +# +# Platform split: aqua ships aube for linux/macos-arm64/windows; macos/x64 has +# no aqua asset, so use the cargo backend there. The branch is rendered by +# mise's tera templating, so it works regardless of the task shell (cmd on +# Windows). +description = "Install the optional aube npm backend (platform-specific, best-effort)" +run = """ +{% if os() == "macos" and arch() == "x64" %} +mise install cargo:aube@latest +{% else %} +mise install aube@latest +{% endif %} +""" + [tasks.osv-scanner] depends = ["cargo-check"] run = "osv-scanner --lockfile Cargo.lock" @@ -290,38 +331,79 @@ run = "osv-scanner --lockfile Cargo.lock" # so the link target exists. Only `fetch-mnist-rclone` is pulled here — # CI tests don't exercise the face1 / har-motion1 models, and skipping # those avoids the HuggingFace rate-limit that bites Windows runners. -depends = ["build-ws-wasm-agent", "fetch-mnist-rclone"] +depends = [ + "fetch-mnist-rclone", + "prefetch:dart", + "prefetch:dotnet", + "prefetch:java", + "prefetch:node", + "prefetch:python", + "prefetch:rust", + "prefetch:zig", +] description = "Pre-download CI-required dependencies + the MNIST model" -run = """ -cargo check --workspace -dart pub get --directory services/ws-modules/dart-comm1 -uv sync --directory services/ws-modules/pydata1 -uv sync --directory services/ws-modules/pyface1 -mvn dependency:resolve --quiet -dotnet restore -pnpm install --dir services/ws-server/static --ignore-scripts --config.ignoredBuiltDependencies=protobufjs -zig build --fetch --build-file services/ws-modules/zig-data1/build.zig -""" [tasks.prefetch] depends = ["fetch-face1-rclone", "fetch-har-motion1-rclone", "prefetch-ci"] description = "Pre-download all dependencies and models (superset of prefetch-ci)" -[tasks.prefetch-ci.env] -# pnpm refuses non-TTY destructive node_modules cleanup unless `CI=true`, -# which fires when an earlier install left a different layout (e.g. before -# `link:` was wired up). Treat `mise run prefetch-ci` as a CI-style batch. +[tasks."prefetch:rust"] +description = "Prefetch the Rust (cargo) dependencies" +# `cargo fetch` downloads the full Cargo.lock graph (all targets) without +# compiling — the actual build happens in build-modules / the test step. Avoids +# the redundant `cargo check --workspace` compile (and its large target/ dir). +run = "cargo fetch" + +[tasks."prefetch:dart"] +description = "Prefetch Dart (pub) dependencies" +run = "dart pub get --directory services/ws-modules/dart-comm1" + +[tasks."prefetch:java"] +description = "Prefetch Java (Maven) dependencies" +run = "mvn dependency:resolve --quiet" + +[tasks."prefetch:zig"] +description = "Prefetch Zig build dependencies" +run = "zig build --fetch --build-file services/ws-modules/zig-data1/build.zig" + +[tasks."prefetch:dotnet"] +description = "Prefetch .NET dependencies and the wasm-tools workload" +run = """ +dotnet restore +dotnet workload install wasm-tools --skip-manifest-update +""" +shell = "bash -euo pipefail -c" + +[tasks."prefetch:node"] +# Needs `build-ws-wasm-agent` first: the static workspace `link:`s its `pkg/`, +# so the link target must exist before `pnpm install`. +depends = ["build-ws-wasm-agent"] +description = "Prefetch the Node (pnpm) static workspace" +run = "pnpm install --dir services/ws-server/static --ignore-scripts --config.ignoredBuiltDependencies=protobufjs" + +[tasks."prefetch:node".env] +# pnpm refuses non-TTY destructive node_modules cleanup unless CI=true, which +# fires when an earlier install left a different layout. Treat as a CI batch. CI = "true" + +[tasks."prefetch:python"] +description = "Prefetch Python (uv) dependencies" +run = """ +uv sync --directory services/ws-modules/pydata1 +uv sync --directory services/ws-modules/pyface1 +""" +shell = "bash -euo pipefail -c" + +[tasks."prefetch:python".env] # UV_PYTHON pins uv to the mise-managed regular CPython, not Pyodide's # emscripten-wasm32 interpreter. mise's `http-pyodide` install ships a # `python` wrapper script in its install dir that uv's auto-discovery # finds and prefers — it reports CPython 3.13.2, so bare version requests -# (`3.13`, `python3.13`, `cpython@3.13`) don't disambiguate. Resolving the -# absolute path inline used to live in the `run` body as -# `export UV_PYTHON="$(mise which python3.13)"`, but on Windows mise dispatches -# `run` through `cmd`, which has no `export`. Using mise's `exec()` template -# here keeps the value resolved by mise (shell-agnostic) and matches the -# same idiom used by `[tasks.test-pyface1.env]` further down. +# (`3.13`, `python3.13`, `cpython@3.13`) don't disambiguate. Resolve the +# absolute path via mise's `exec()` template rather than a shell `export` in +# the `run` body: the template is evaluated by mise (shell-agnostic), so it +# works under `cmd` on Windows, which has no `export`. Matches the same idiom +# used by `[tasks.test-pyface1.env]` further down. # # Windows quirk: mise's python-build-standalone install on Windows only # exposes `python.exe` (no `python3.13.exe`), so `mise which python3.13` @@ -361,17 +443,18 @@ cargo run -q -p et-int-gen --bin et-int-gen cargo +nightly fmt -p et-rest-client zig fmt generated/zig-rest/src/et_rest_client.zig """ +shell = "bash -euo pipefail -c" [tasks.gen-dart-ws] depends = ["gen-ws-spec"] description = "Emit Dart sealed-class client for the WS protocol via dart-typegen (consumes generated/specs/ws.kdl emitted by gen-ws-spec)" -shell = "bash -c" +shell = "bash -euo pipefail -c" # dart-typegen exits 0 on Windows but writes an empty .dart file, which # would clobber the committed source and fail gen-specs-check. Skip the # regen there; the committed file (regenerated on Linux/macOS) stays # canonical. run = """ -[[ "$OS" == "Windows_NT" ]] && { echo "gen-dart-ws: skipped on Windows (dart-typegen produces an empty file)"; exit 0; } +[[ "${OS:-}" == "Windows_NT" ]] && { echo "gen-dart-ws: skipped on Windows (dart-typegen produces an empty file)"; exit 0; } mkdir -p generated/dart-ws/lib dart-typegen generate -i generated/specs/ws.kdl -o generated/dart-ws/lib/ws_messages.dart dart format generated/dart-ws/lib/ws_messages.dart @@ -401,7 +484,7 @@ rm -rf generated/python-rest/et_rest_client/.ruff_cache ruff check --fix generated/python-rest/et_rest_client ruff format generated/python-rest/et_rest_client """ -shell = "bash -c" +shell = "bash -euo pipefail -c" [tasks.gen-python-ws] depends = ["gen-ws-spec"] @@ -440,7 +523,7 @@ rm generated/python-ws/et_ws/messages.py.bak ruff check --fix generated/python-ws/et_ws/messages.py ruff format generated/python-ws/et_ws/messages.py """ -shell = "bash -c" +shell = "bash -euo pipefail -c" [tasks.gen-specs] depends = ["gen-dart-ws", "gen-python-rest", "gen-python-ws", "gen-ws-spec"] @@ -458,10 +541,10 @@ description = "Fail if any checked-in artifact under generated/ is stale" # indentation differently across nightlies; pipx-driven python codegen # emits subtly different output). Linux/macOS runs are canonical. run = """ -[[ "$OS" == "Windows_NT" ]] && { echo "gen-specs-check: skipped on Windows (regen is non-deterministic there)"; exit 0; } +[[ "${OS:-}" == "Windows_NT" ]] && { echo "gen-specs-check: skipped on Windows (regen is non-deterministic there)"; exit 0; } git diff --exit-code -- generated """ -shell = "bash -c" +shell = "bash -euo pipefail -c" [tasks.build-et-ws-wheel] depends = ["gen-python-ws"] @@ -475,7 +558,7 @@ rm -f pkg/*.whl uv build --wheel --out-dir pkg cargo run -p et-cli -- module-package-json """ -shell = "bash -c" +shell = "bash -euo pipefail -c" [tasks.build-et-rest-client-wheel] depends = ["gen-python-rest"] @@ -486,7 +569,7 @@ rm -f pkg/*.whl uv build --wheel --out-dir pkg cargo run -p et-cli -- module-package-json """ -shell = "bash -c" +shell = "bash -euo pipefail -c" # `cargo-watch` is unmaintained; `watchexec` is its successor (and what # `cargo-watch` always called under the hood). Restart on .rs/.toml @@ -513,6 +596,7 @@ else cargo run fi """ +shell = "bash -euo pipefail -c" [tasks.build-ws-wasm-agent] description = "Build the WebSocket WASM client" @@ -537,18 +621,18 @@ run = "wasm-pack build . --target web" [tasks.build-ws-har1-module] description = "Build the har1 workflow WASM module" dir = "services/ws-modules/har1" -run = """ -wasm-pack build . --target web -cargo run -p et-cli -- module-package-json -""" +# Chain with `&&` on one line rather than a multi-line `bash` block: wasm-pack +# shells out to `cargo metadata`, and that subprocess can't find `cargo` under +# Git Bash on Windows. The default shell (cmd there) resolves cargo like the +# single-line wasm-pack modules do. +run = "wasm-pack build . --target web && cargo run -p et-cli -- module-package-json" [tasks.build-ws-face-detection-module] description = "Build the face detection workflow WASM module" dir = "services/ws-modules/face-detection" -run = """ -wasm-pack build . --target web -cargo run -p et-cli -- module-package-json -""" +# See build-ws-har1-module: `&&` on one line under the default shell so +# wasm-pack's `cargo metadata` subprocess can find cargo on Windows. +run = "wasm-pack build . --target web && cargo run -p et-cli -- module-package-json" [tasks.build-ws-comm1-module] description = "Build the comm1 workflow WASM module" @@ -602,6 +686,7 @@ run = """ dart pub get dart compile js lib/dart_comm1.dart -o pkg/et_ws_dart_comm1_compiled.js --no-source-maps """ +shell = "bash -euo pipefail -c" [tasks.build-ws-dotnet-data1-module] description = "Build the dotnet-data1 C# WASM workflow module" @@ -613,7 +698,7 @@ dotnet publish -c Release PUBLISH=bin/Release/net10.0/publish/wwwroot/_framework cp "$PUBLISH"/*.js "$PUBLISH"/*.wasm "$PUBLISH"/*.dat pkg/ ''' -shell = "bash -c" +shell = "bash -euo pipefail -c" [tasks.build-ws-wasi-graphics-info-module] description = "Build the WASI graphics-info Python module as a WASI Preview 2 component" @@ -633,7 +718,7 @@ componentize-py -d ../../../generated/specs/wit -w module bindings . componentize-py -d ../../../generated/specs/wit -w module componentize wasi_graphics_info -o pkg/et_ws_wasi_graphics_info.wasm cargo run -p et-cli -- module-package-json """ -shell = "bash -c" +shell = "bash -euo pipefail -c" [tasks.build-ws-wasi-data1-module] description = "Build the Rust WASI data1 module as a WASI Preview 2 component" @@ -648,7 +733,7 @@ mkdir -p services/ws-modules/wasi-data1/pkg cp target/wasm32-wasip2/release/et_ws_wasi_data1.wasm services/ws-modules/wasi-data1/pkg/et_ws_wasi_data1.wasm cargo run -p et-cli -- module-package-json --module-dir services/ws-modules/wasi-data1 """ -shell = "bash -c" +shell = "bash -euo pipefail -c" [tasks.build-ws-wasi-comm1-module] description = "Build the Rust WASI comm1 module as a WASI Preview 2 component" @@ -658,7 +743,7 @@ mkdir -p services/ws-modules/wasi-comm1/pkg cp target/wasm32-wasip2/release/et_ws_wasi_comm1.wasm services/ws-modules/wasi-comm1/pkg/et_ws_wasi_comm1.wasm cargo run -p et-cli -- module-package-json --module-dir services/ws-modules/wasi-comm1 """ -shell = "bash -c" +shell = "bash -euo pipefail -c" [tasks.build-ws-pydata1-module] depends = ["build-et-rest-client-wheel"] @@ -673,7 +758,7 @@ rm -f pkg/*.whl uv build --wheel --out-dir pkg cargo run -p et-cli -- module-package-json """ -shell = "bash -c" +shell = "bash -euo pipefail -c" [tasks.build-ws-pyface1-module] depends = ["build-et-ws-wheel"] @@ -688,7 +773,7 @@ rm -f pkg/*.whl uv build --wheel --out-dir pkg cargo run -p et-cli -- module-package-json """ -shell = "bash -c" +shell = "bash -euo pipefail -c" [tasks.build-ws-java-data1-module] description = "Build the java-data1 workflow module" @@ -706,6 +791,7 @@ depends = [ "build-ws-comm1-module", "build-ws-dart-comm1-module", "build-ws-data1-module", + "build-ws-dotnet-data1-module", "build-ws-face-detection-module", "build-ws-geolocation-module", "build-ws-graphics-info-module", @@ -759,6 +845,7 @@ run = """ data/model-modules/model-face1/pkg/video_cv.onnx \ --http-url https://huggingface.co --progress --ignore-existing """ +shell = "bash -euo pipefail -c" [tasks.fetch-har-motion1-rclone] run = """ @@ -767,6 +854,7 @@ run = """ data/model-modules/model-har-motion1/pkg/har-motion1.onnx \ --http-url https://github.com --progress --ignore-existing """ +shell = "bash -euo pipefail -c" [tasks.fetch-mnist-rclone] # MNIST classifier used by services/ws-modules/wasi-graphics-info to exercise @@ -779,12 +867,28 @@ run = """ services/ws-modules/wasi-graphics-info/pkg/mnist-12.onnx \ --http-url https://github.com --progress --ignore-existing """ +shell = "bash -euo pipefail -c" [tasks.download-models] depends = ["fetch-face1-rclone", "fetch-har-motion1-rclone", "fetch-mnist-rclone"] [tasks.cargo-test] -run = "cargo test --workspace" +# Excludes `et-ws-web-runner` -- its tests need single-threaded +# execution (see `test-ws-web-runner` below); running the rest of the +# workspace in parallel keeps the total wall-clock down. +run = "cargo test --workspace --exclude et-ws-web-runner" + +[tasks.test-ws-web-runner] +description = "Run et-ws-web-runner integration tests serialized" +# Each test case boots a full `MainWorker` (deno_runtime) -- ~10x +# heavier than the `JsRuntime` it replaced. 8 in parallel exhausts +# local fd/port budgets on macOS, surfacing as "error sending request +# for url" when the runner's wrapper module dynamic-`import()`s its +# module JS. Pin to one thread so the suite is deterministic. +run = "cargo test -p et-ws-web-runner" + +[tasks.test-ws-web-runner.env] +RUST_TEST_THREADS = "1" [tasks.test-pyface1] dir = "services/ws-modules/pyface1" @@ -800,5 +904,5 @@ run = "uv run pytest" UV_PYTHON = "{% if os() == 'windows' %}{{ exec(command='mise where python') }}/python.exe{% else %}{{ exec(command='mise which python3.13') }}{% endif %}" [tasks.test] -depends = ["cargo-test", "test-pyface1"] +depends = ["cargo-test", "test-pyface1", "test-ws-web-runner"] description = "Run all tests" diff --git a/.taplo.toml b/.taplo.toml index a8892e6..4247c12 100644 --- a/.taplo.toml +++ b/.taplo.toml @@ -1,3 +1,9 @@ +# Build output is off-limits: it's gitignored and (per CLAUDE.md) holds agent +# scratch files under target/scratch/. taplo's baseline `taplo lint` / `format` +# don't honour .gitignore, and they auto-associate any stray `Cargo.toml` with +# the SchemaStore Cargo schema — so a scratch fixture there breaks the check. +exclude = ["target/**"] + [formatting] column_width = 120 reorder_arrays = true @@ -41,13 +47,16 @@ exclude = ["Cargo.toml"] include = ["**/Cargo.toml"] schema = { path = "config/taplo/require-workspace-deps.schema.json" } -# Forbid `anyhow` in any dep table — `[dependencies]`, `[dev-dependencies]`, -# `[build-dependencies]`, `[workspace.dependencies]`, and the `[target.*]` -# variants. Use a `thiserror` enum instead. Replaces the previous -# `no-anyhow` ast-grep rule which caught uses but not declarations. +# Banned dep names across every dep table — `[dependencies]`, +# `[dev-dependencies]`, `[build-dependencies]`, `[workspace.dependencies]`, +# and the `[target.*]` variants. Currently `anyhow` (use a `thiserror` +# enum) and `ureq` (use `reqwest::blocking` -- keeps us on one HTTPS +# stack). Replaces the previous per-crate `no-anyhow` ast-grep rule +# which caught uses but not declarations. Add new bans by extending the +# `depTable.properties` list in the schema. [[rule]] include = ["**/Cargo.toml"] -schema = { path = "config/taplo/no-anyhow-dep.schema.json" } +schema = { path = "config/taplo/no-banned-deps.schema.json" } # Require `[lib] doctest = false` for every member crate with a [lib]. # Pairs with the `no-doctest` ast-grep rule: that one bans ``` fenced diff --git a/CLAUDE.md b/CLAUDE.md index 85dba80..c93a934 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -226,3 +226,14 @@ Every file under `tests/` must start with `#![cfg(test)]` (placed after the file Single Cargo workspace (`Cargo.toml`). Shared dependency versions are declared in `[workspace.dependencies]`. Add new deps there, not in individual crate `[dependencies]`. + +## Naming conventions + +- **`.map_err` wrappers must be named `map_*`.** Extension methods that + hide a `.map_err(...)` call (e.g. converting a foreign error to a + domain error type) must keep `map_` in the name. The reader can then + tell at the call site that this is a _mapping_ over the error, not + some unrelated boolean predicate. Example: the `JsErrExt` trait in + `services/ws-web-runner/src/error.rs` exposes `.map_js_err()` and + `.map_js_err_with_context(...)`, never `.js_err()` / `.to_js_err()` / + similar. diff --git a/Cargo.lock b/Cargo.lock index 5d1f8b5..e5f6a73 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -11,7 +11,7 @@ dependencies = [ "actix-macros", "actix-rt", "actix_derive", - "bitflags", + "bitflags 2.11.1", "bytes", "crossbeam-channel", "futures-core", @@ -33,7 +33,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f7b0a21988c1bf877cf4759ef5ddaac04c1c9fe808c9142ecb78ba97d97a28a" dependencies = [ - "bitflags", + "bitflags 2.11.1", "bytes", "futures-core", "futures-sink", @@ -54,7 +54,7 @@ dependencies = [ "actix-service", "actix-utils", "actix-web", - "bitflags", + "bitflags 2.11.1", "bytes", "derive_more", "futures-core", @@ -78,9 +78,9 @@ dependencies = [ "actix-service", "actix-tls", "actix-utils", - "base64", - "bitflags", - "brotli", + "base64 0.22.1", + "bitflags 2.11.1", + "brotli 8.0.3", "bytes", "bytestring", "derive_more", @@ -88,7 +88,7 @@ dependencies = [ "flate2", "foldhash 0.1.5", "futures-core", - "h2", + "h2 0.3.27", "http 0.2.12", "httparse", "httpdate", @@ -154,7 +154,7 @@ dependencies = [ "actix-utils", "futures-core", "futures-util", - "mio", + "mio 1.2.1", "socket2 0.5.10", "tokio", "tracing", @@ -313,7 +313,7 @@ version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59317f77929f0e679d39364702289274de2f0f0b22cbf50b2b8cff2169a0b27a" dependencies = [ - "gimli", + "gimli 0.33.0", ] [[package]] @@ -322,6 +322,76 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" +[[package]] +name = "aead" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +dependencies = [ + "crypto-common 0.1.7", + "generic-array", +] + +[[package]] +name = "aead-gcm-stream" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e70c8dec860340effb00f6945c49c0daaa6dac963602750db862eabb74bf7886" +dependencies = [ + "aead", + "aes", + "cipher", + "ctr", + "ghash", + "subtle", +] + +[[package]] +name = "aes" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures 0.2.17", +] + +[[package]] +name = "aes-gcm" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" +dependencies = [ + "aead", + "aes", + "cipher", + "ctr", + "ghash", + "subtle", +] + +[[package]] +name = "aes-kw" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69fa2b352dcefb5f7f3a5fb840e02665d311d878955380515e4fd50095dd3d8c" +dependencies = [ + "aes", +] + +[[package]] +name = "ahash" +version = "0.8.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy", +] + [[package]] name = "aho-corasick" version = "1.1.4" @@ -423,6 +493,24 @@ version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" +[[package]] +name = "approx" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" +dependencies = [ + "num-traits", +] + +[[package]] +name = "ar_archive_writer" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7eb93bbb63b9c227414f6eb3a0adfddca591a8ce1e9b60661bb08969b87e340b" +dependencies = [ + "object 0.37.3", +] + [[package]] name = "arbitrary" version = "1.4.2" @@ -443,6 +531,15 @@ name = "arrayvec" version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +dependencies = [ + "serde", +] + +[[package]] +name = "ascii" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16" [[package]] name = "ash" @@ -450,7 +547,23 @@ version = "0.38.0+1.3.281" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f" dependencies = [ - "libloading", + "libloading 0.8.9", +] + +[[package]] +name = "asn1-rs" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6fd5ddaf0351dff5b8da21b2fb4ff8e08ddd02857f0bf69c47639106c0fff0" +dependencies = [ + "asn1-rs-derive 0.4.0", + "asn1-rs-impl 0.1.0", + "displaydoc", + "nom 7.1.3", + "num-traits", + "rusticata-macros", + "thiserror 1.0.69", + "time", ] [[package]] @@ -459,16 +572,28 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7f43a50ac4fdca5df8e885c21b835997f0a1cdee65494a6847694a98652d9d8" dependencies = [ - "asn1-rs-derive", - "asn1-rs-impl", + "asn1-rs-derive 0.6.0", + "asn1-rs-impl 0.2.0", "displaydoc", - "nom", + "nom 7.1.3", "num-traits", "rusticata-macros", "thiserror 2.0.18", "time", ] +[[package]] +name = "asn1-rs-derive" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", + "synstructure 0.12.6", +] + [[package]] name = "asn1-rs-derive" version = "0.6.0" @@ -478,7 +603,18 @@ dependencies = [ "proc-macro2", "quote", "syn 2.0.117", - "synstructure", + "synstructure 0.13.2", +] + +[[package]] +name = "asn1-rs-impl" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] @@ -492,6 +628,57 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "ast_node" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eb025ef00a6da925cf40870b9c8d008526b6004ece399cb0974209720f0b194" +dependencies = [ + "quote", + "swc_macros_common", + "syn 2.0.117", +] + +[[package]] +name = "async-compression" +version = "0.4.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e79b3f8a79cccc2898f31920fc69f304859b3bd567490f75ebf51ae1c792a9ac" +dependencies = [ + "compression-codecs", + "compression-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "async-once-cell" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4288f83726785267c6f2ef073a3d83dc3f9b81464e9f99898240cced85fce35a" + +[[package]] +name = "async-stream" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + [[package]] name = "async-trait" version = "0.1.89" @@ -558,15 +745,16 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ec2f1fc3ec205783a5da9a7e6c1509cc69dedf09a1949e412c1e18469326d00" dependencies = [ - "aws-lc-sys", + "aws-lc-sys 0.41.0", + "untrusted 0.7.1", "zeroize", ] [[package]] name = "aws-lc-sys" -version = "0.41.0" +version = "0.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a2f9779ce85b93ab6170dd940ad0169b5766ff848247aff13bb788b832fe3f4" +checksum = "f50037ee5e1e41e7b8f9d161680a725bd1626cb6f8c7e901f91f942850852fe7" dependencies = [ "cc", "cmake", @@ -575,112 +763,364 @@ dependencies = [ ] [[package]] -name = "base64" -version = "0.22.1" +name = "aws-lc-sys" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +checksum = "1a2f9779ce85b93ab6170dd940ad0169b5766ff848247aff13bb788b832fe3f4" +dependencies = [ + "cc", + "cmake", + "dunce", + "fs_extra", +] [[package]] -name = "base64ct" -version = "1.8.3" +name = "axum" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" +checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" +dependencies = [ + "async-trait", + "axum-core", + "bytes", + "futures-util", + "http 1.4.1", + "http-body 1.0.1", + "http-body-util", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "sync_wrapper", + "tower 0.5.3", + "tower-layer", + "tower-service", +] [[package]] -name = "bit-set" -version = "0.9.1" +name = "axum-core" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ddef2995421ab6a5c779542c81ee77c115206f4ad9d5a8e05f4ff49716a3dd" +checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" dependencies = [ - "bit-vec", + "async-trait", + "bytes", + "futures-util", + "http 1.4.1", + "http-body 1.0.1", + "http-body-util", + "mime", + "pin-project-lite", + "rustversion", + "sync_wrapper", + "tower-layer", + "tower-service", ] [[package]] -name = "bit-vec" -version = "0.9.1" +name = "az" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b71798fca2c1fe1086445a7258a4bc81e6e49dcd24c8d0dd9a1e57395b603f51" -dependencies = [ - "serde", -] +checksum = "be5eb007b7cacc6c660343e96f650fedf4b5a77512399eb952ca6642cf8d13f7" [[package]] -name = "bitflags" -version = "2.11.1" +name = "base16ct" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" [[package]] -name = "block-buffer" -version = "0.10.4" +name = "base16ct" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] +checksum = "fd307490d624467aa6f74b0eabb77633d1f758a7b25f12bceb0b22e08d9726f6" [[package]] -name = "block-buffer" -version = "0.12.0" +name = "base64" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be" -dependencies = [ - "hybrid-array", -] +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] -name = "block2" -version = "0.6.2" +name = "base64" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" -dependencies = [ - "objc2", -] +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] -name = "brotli" -version = "8.0.3" +name = "base64-simd" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8119e4516436f5708bbc474a9d395bf12f1b5395e93a92a56e647ac3388c8610" +checksum = "339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195" dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor", + "outref", + "vsimd", ] [[package]] -name = "brotli-decompressor" -version = "5.0.1" +name = "base64ct" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5962523e1b92ce1b5e793d9169b9943eece10d39f62550bc04bb605d75b94924" +checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" + +[[package]] +name = "better_scoped_tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cd228125315b132eed175bf47619ac79b945b26e56b848ba203ae4ea8603609" dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", + "scoped-tls", ] [[package]] -name = "bumpalo" -version = "3.20.3" +name = "bincode" +version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" dependencies = [ - "allocator-api2", + "serde", ] [[package]] -name = "bytemuck" -version = "1.25.0" +name = "bindgen" +version = "0.71.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" +checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" dependencies = [ - "bytemuck_derive", + "bitflags 2.11.1", + "cexpr", + "clang-sys", + "itertools 0.13.0", + "log", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "rustc-hash 2.1.2", + "shlex 1.3.0", + "syn 2.0.117", ] [[package]] -name = "bytemuck_derive" -version = "1.10.2" +name = "bindgen" +version = "0.72.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" +checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" +dependencies = [ + "bitflags 2.11.1", + "cexpr", + "clang-sys", + "itertools 0.13.0", + "log", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "rustc-hash 2.1.2", + "shlex 1.3.0", + "syn 2.0.117", +] + +[[package]] +name = "bit-set" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +dependencies = [ + "bit-vec 0.8.0", +] + +[[package]] +name = "bit-set" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34ddef2995421ab6a5c779542c81ee77c115206f4ad9d5a8e05f4ff49716a3dd" +dependencies = [ + "bit-vec 0.9.1", +] + +[[package]] +name = "bit-vec" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" + +[[package]] +name = "bit-vec" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b71798fca2c1fe1086445a7258a4bc81e6e49dcd24c8d0dd9a1e57395b603f51" +dependencies = [ + "serde", +] + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3" +dependencies = [ + "serde_core", +] + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "block" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block-buffer" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be" +dependencies = [ + "hybrid-array", +] + +[[package]] +name = "block-padding" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +dependencies = [ + "objc2", +] + +[[package]] +name = "boxed_error" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17d4f95e880cfd28c4ca5a006cf7f6af52b4bcb7b5866f573b2faa126fb7affb" +dependencies = [ + "quote", + "syn 2.0.117", +] + +[[package]] +name = "brotli" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor 4.0.3", +] + +[[package]] +name = "brotli" +version = "8.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8119e4516436f5708bbc474a9d395bf12f1b5395e93a92a56e647ac3388c8610" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor 5.0.1", +] + +[[package]] +name = "brotli-decompressor" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a334ef7c9e23abf0ce748e8cd309037da93e606ad52eb372e4ce327a0dcfbdfd" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "brotli-decompressor" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5962523e1b92ce1b5e793d9169b9943eece10d39f62550bc04bb605d75b94924" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "bstr" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "bumpalo" +version = "3.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" +dependencies = [ + "allocator-api2", +] + +[[package]] +name = "bytemuck" +version = "1.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" dependencies = [ "proc-macro2", "quote", @@ -693,12 +1133,28 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +[[package]] +name = "byteorder-lite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + [[package]] name = "bytes" version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" +[[package]] +name = "bytes-str" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "577d2bf5650f8554d5a372af5ac93535110a0fc75b3e702bb853369febf227c2" +dependencies = [ + "bytes", + "serde", +] + [[package]] name = "bytestring" version = "1.5.1" @@ -708,6 +1164,16 @@ dependencies = [ "bytes", ] +[[package]] +name = "calendrical_calculations" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5abbd6eeda6885048d357edc66748eea6e0268e3dd11f326fff5bd248d779c26" +dependencies = [ + "core_maths", + "displaydoc", +] + [[package]] name = "cap-fs-ext" version = "3.4.5" @@ -757,7 +1223,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8144c22e24bbcf26ade86cb6501a0916c46b7e4787abdb0045a467eb1645a1d" dependencies = [ "ambient-authority", - "rand 0.8.6", + "rand 0.8.5", ] [[package]] @@ -786,12 +1252,52 @@ dependencies = [ "winx", ] +[[package]] +name = "capacity_builder" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f2d24a6dcf0cd402a21b65d35340f3a49ff3475dc5fdac91d22d2733e6641c6" +dependencies = [ + "capacity_builder_macros", + "ecow", + "hipstr", + "itoa", +] + +[[package]] +name = "capacity_builder_macros" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b4a6cae9efc04cc6cbb8faf338d2c497c165c83e74509cf4dbedea948bbf6e5" +dependencies = [ + "quote", + "syn 2.0.117", +] + [[package]] name = "cast" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" +[[package]] +name = "castaway" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a" +dependencies = [ + "rustversion", +] + +[[package]] +name = "cbc" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" +dependencies = [ + "cipher", +] + [[package]] name = "cc" version = "1.2.63" @@ -801,7 +1307,16 @@ dependencies = [ "find-msvc-tools", "jobserver", "libc", - "shlex", + "shlex 2.0.1", +] + +[[package]] +name = "cexpr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +dependencies = [ + "nom 7.1.3", ] [[package]] @@ -841,6 +1356,27 @@ dependencies = [ "windows-link", ] +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common 0.1.7", + "inout", +] + +[[package]] +name = "clang-sys" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" +dependencies = [ + "glob", + "libc", + "libloading 0.8.9", +] + [[package]] name = "clap" version = "4.6.1" @@ -881,6 +1417,15 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" +[[package]] +name = "clipboard-win" +version = "5.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bde03770d3df201d4fb868f2c9c59e66a3e4e2bd06692a0fe701e7103c7e84d4" +dependencies = [ + "error-code", +] + [[package]] name = "cmake" version = "0.1.58" @@ -890,6 +1435,12 @@ dependencies = [ "cc", ] +[[package]] +name = "cmov" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c9ea0ac24bc397ab3c98583a3c9ba74fa56b09a4449bbe172b9b1ddb016027a" + [[package]] name = "cobs" version = "0.3.0" @@ -899,6 +1450,15 @@ dependencies = [ "thiserror 2.0.18", ] +[[package]] +name = "codespan-reporting" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe6d2e5af09e8c8ad56c969f2157a3d4238cebc7c55f0a517728c38f7b200f81" +dependencies = [ + "unicode-width 0.2.2", +] + [[package]] name = "codespan-reporting" version = "0.13.1" @@ -908,6 +1468,33 @@ dependencies = [ "unicode-width 0.2.2", ] +[[package]] +name = "color-print" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3aa954171903797d5623e047d9ab69d91b493657917bdfb8c2c80ecaf9cdb6f4" +dependencies = [ + "color-print-proc-macro", +] + +[[package]] +name = "color-print-proc-macro" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "692186b5ebe54007e45a59aea47ece9eb4108e141326c304cdc91699a7118a22" +dependencies = [ + "nom 7.1.3", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "color_quant" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" + [[package]] name = "colorchoice" version = "1.0.5" @@ -924,6 +1511,37 @@ dependencies = [ "memchr", ] +[[package]] +name = "compact_str" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f86b9c4c00838774a6d902ef931eff7470720c51d90c2e32cfe15dc304737b3f" +dependencies = [ + "castaway", + "cfg-if", + "itoa", + "ryu", + "static_assertions", +] + +[[package]] +name = "compression-codecs" +version = "0.4.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce2548391e9c1929c21bf6aa2680af86fe4c1b33e6cea9ac1cfeec0bd11218cf" +dependencies = [ + "brotli 8.0.3", + "compression-core", + "flate2", + "memchr", +] + +[[package]] +name = "compression-core" +version = "0.4.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc14f565cf027a105f7a44ccf9e5b424348421a1d8952a8fc9d499d313107789" + [[package]] name = "const-hex" version = "1.19.1" @@ -936,6 +1554,12 @@ dependencies = [ "serde_core", ] +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + [[package]] name = "const-oid" version = "0.10.2" @@ -951,6 +1575,12 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "cooked-waker" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147be55d677052dabc6b22252d5dd0fd4c29c8c27aa4f2fbef0f94aa003b406f" + [[package]] name = "cookie" version = "0.16.2" @@ -962,6 +1592,16 @@ dependencies = [ "version_check", ] +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "core-foundation" version = "0.10.1" @@ -978,6 +1618,26 @@ version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" +[[package]] +name = "core-graphics-types" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" +dependencies = [ + "bitflags 2.11.1", + "core-foundation 0.10.1", + "libc", +] + +[[package]] +name = "core_maths" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30" +dependencies = [ + "libm", +] + [[package]] name = "countme" version = "3.0.1" @@ -993,6 +1653,12 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "cpubits" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15b85f9c39137c3a891689859392b1bd49812121d0d61c9caf00d46ed5ce06ae" + [[package]] name = "cpufeatures" version = "0.2.17" @@ -1011,6 +1677,17 @@ dependencies = [ "libc", ] +[[package]] +name = "cranelift" +version = "0.116.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a71de5e59f616d79d14d2c71aa2799ce898241d7f10f7e64a4997014b4000a28" +dependencies = [ + "cranelift-codegen 0.116.1", + "cranelift-frontend 0.116.1", + "cranelift-module", +] + [[package]] name = "cranelift-assembler-x64" version = "0.131.2" @@ -1029,16 +1706,31 @@ dependencies = [ "cranelift-srcgen", ] +[[package]] +name = "cranelift-bforest" +version = "0.116.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e15d04a0ce86cb36ead88ad68cf693ffd6cda47052b9e0ac114bc47fd9cd23c4" +dependencies = [ + "cranelift-entity 0.116.1", +] + [[package]] name = "cranelift-bforest" version = "0.131.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "380f0bc43e535df6855bbee649efb00bde39c3f33434c47c8e10ac836d21bf47" dependencies = [ - "cranelift-entity", + "cranelift-entity 0.131.2", "wasmtime-internal-core", ] +[[package]] +name = "cranelift-bitset" +version = "0.116.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c6e3969a7ce267259ce244b7867c5d3bc9e65b0a87e81039588dfdeaede9f34" + [[package]] name = "cranelift-bitset" version = "0.131.2" @@ -1050,6 +1742,30 @@ dependencies = [ "wasmtime-internal-core", ] +[[package]] +name = "cranelift-codegen" +version = "0.116.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c22032c4cb42558371cf516bb47f26cdad1819d3475c133e93c49f50ebf304e" +dependencies = [ + "bumpalo", + "cranelift-bforest 0.116.1", + "cranelift-bitset 0.116.1", + "cranelift-codegen-meta 0.116.1", + "cranelift-codegen-shared 0.116.1", + "cranelift-control 0.116.1", + "cranelift-entity 0.116.1", + "cranelift-isle 0.116.1", + "gimli 0.31.1", + "hashbrown 0.14.5", + "log", + "regalloc2 0.11.2", + "rustc-hash 2.1.2", + "serde", + "smallvec 1.15.1", + "target-lexicon", +] + [[package]] name = "cranelift-codegen" version = "0.131.2" @@ -1058,19 +1774,19 @@ checksum = "82ffadb34d497f3e76fb3b4baf764c24ba8a51512976a1b77f78bdbf8f4aa687" dependencies = [ "bumpalo", "cranelift-assembler-x64", - "cranelift-bforest", - "cranelift-bitset", - "cranelift-codegen-meta", - "cranelift-codegen-shared", - "cranelift-control", - "cranelift-entity", - "cranelift-isle", - "gimli", + "cranelift-bforest 0.131.2", + "cranelift-bitset 0.131.2", + "cranelift-codegen-meta 0.131.2", + "cranelift-codegen-shared 0.131.2", + "cranelift-control 0.131.2", + "cranelift-entity 0.131.2", + "cranelift-isle 0.131.2", + "gimli 0.33.0", "hashbrown 0.16.1", "libm", "log", "pulley-interpreter", - "regalloc2", + "regalloc2 0.15.1", "rustc-hash 2.1.2", "serde", "smallvec 1.15.1", @@ -1078,6 +1794,15 @@ dependencies = [ "wasmtime-internal-core", ] +[[package]] +name = "cranelift-codegen-meta" +version = "0.116.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c904bc71c61b27fc57827f4a1379f29de64fe95653b620a3db77d59655eee0b8" +dependencies = [ + "cranelift-codegen-shared 0.116.1", +] + [[package]] name = "cranelift-codegen-meta" version = "0.131.2" @@ -1085,18 +1810,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be4f6992eb6faf086ddc7deaaa5f279abfe7f5fd5ae5709bd38253450fc7b945" dependencies = [ "cranelift-assembler-x64-meta", - "cranelift-codegen-shared", + "cranelift-codegen-shared 0.131.2", "cranelift-srcgen", "heck", "pulley-interpreter", ] +[[package]] +name = "cranelift-codegen-shared" +version = "0.116.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40180f5497572f644ce88c255480981ae2ec1d7bb4d8e0c0136a13b87a2f2ceb" + [[package]] name = "cranelift-codegen-shared" version = "0.131.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70e1b2aad7d055925a4ea9cdbfa9d1d987f9dfc8ad6b708be28f901ac620a298" +[[package]] +name = "cranelift-control" +version = "0.116.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d132c6d0bd8a489563472afc171759da0707804a65ece7ceb15a8c6d7dd5ef" +dependencies = [ + "arbitrary", +] + [[package]] name = "cranelift-control" version = "0.131.2" @@ -1106,43 +1846,92 @@ dependencies = [ "arbitrary", ] +[[package]] +name = "cranelift-entity" +version = "0.116.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b2d0d9618275474fbf679dd018ac6e009acbd6ae6850f6a67be33fb3b00b323" +dependencies = [ + "cranelift-bitset 0.116.1", +] + [[package]] name = "cranelift-entity" version = "0.131.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43f4847d93ce2c80d2bff929aa1004dfb3ce2cf5d881f6ced54b8d654d967ba3" dependencies = [ - "cranelift-bitset", + "cranelift-bitset 0.131.2", "serde", "serde_derive", "wasmtime-internal-core", ] +[[package]] +name = "cranelift-frontend" +version = "0.116.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fac41e16729107393174b0c9e3730fb072866100e1e64e80a1a963b2e484d57" +dependencies = [ + "cranelift-codegen 0.116.1", + "log", + "smallvec 1.15.1", + "target-lexicon", +] + [[package]] name = "cranelift-frontend" version = "0.131.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba24e5fe5242cc445e7892ef0a51a4351cf716e3a04ac7a3a05820d056c39818" dependencies = [ - "cranelift-codegen", + "cranelift-codegen 0.131.2", "log", "smallvec 1.15.1", "target-lexicon", ] +[[package]] +name = "cranelift-isle" +version = "0.116.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ca20d576e5070044d0a72a9effc2deacf4d6aa650403189d8ea50126483944d" + [[package]] name = "cranelift-isle" version = "0.131.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89bc2035de85c4f04ba7bd57eb5bd3a8b775235bf28852dbf87105115cb8919a" +[[package]] +name = "cranelift-module" +version = "0.116.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d55612bebcf16ff7306c8a6f5bdb6d45662b8aa1ee058ecce8807ad87db719b" +dependencies = [ + "anyhow", + "cranelift-codegen 0.116.1", + "cranelift-control 0.116.1", +] + +[[package]] +name = "cranelift-native" +version = "0.116.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8dee82f3f1f2c4cba9177f1cc5e350fe98764379bcd29340caa7b01f85076c7" +dependencies = [ + "cranelift-codegen 0.116.1", + "libc", + "target-lexicon", +] + [[package]] name = "cranelift-native" version = "0.131.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ea6630c16921ab087792750f239d0c0173411e80179ca7c0ce0710ce9e7646a" dependencies = [ - "cranelift-codegen", + "cranelift-codegen 0.131.2", "libc", "target-lexicon", ] @@ -1162,6 +1951,12 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "critical-section" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" + [[package]] name = "crossbeam-channel" version = "0.5.15" @@ -1202,7 +1997,7 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" dependencies = [ - "bitflags", + "bitflags 2.11.1", "crossterm_winapi", "parking_lot", "rustix 0.38.44", @@ -1224,6 +2019,34 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-bigint" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42a0d26b245348befa0c121944541476763dcc46ede886c88f9d12e1697d27c3" +dependencies = [ + "cpubits", + "ctutils", + "getrandom 0.4.2", + "hybrid-array", + "num-traits", + "rand_core 0.10.1", + "subtle", + "zeroize", +] + [[package]] name = "crypto-common" version = "0.1.7" @@ -1231,6 +2054,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" dependencies = [ "generic-array", + "rand_core 0.6.4", "typenum", ] @@ -1240,7 +2064,78 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453" dependencies = [ + "getrandom 0.4.2", "hybrid-array", + "rand_core 0.10.1", +] + +[[package]] +name = "cssparser" +version = "0.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dae61cf9c0abb83bd659dab65b7e4e38d8236824c85f0f804f173567bda257d2" +dependencies = [ + "cssparser-macros", + "dtoa-short", + "itoa", + "phf 0.13.1", + "smallvec 1.15.1", +] + +[[package]] +name = "cssparser-macros" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" +dependencies = [ + "quote", + "syn 2.0.117", +] + +[[package]] +name = "ctr" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" +dependencies = [ + "cipher", +] + +[[package]] +name = "ctutils" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d5515a3834141de9eafb9717ad39eea8247b5674e6066c404e8c4b365d2a29e" +dependencies = [ + "cmov", + "subtle", +] + +[[package]] +name = "curve25519-dalek" +version = "4.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" +dependencies = [ + "cfg-if", + "cpufeatures 0.2.17", + "curve25519-dalek-derive", + "digest 0.10.7", + "fiat-crypto", + "rustc_version", + "subtle", + "zeroize", +] + +[[package]] +name = "curve25519-dalek-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", ] [[package]] @@ -1278,171 +2173,334 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "dashmap" +version = "5.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +dependencies = [ + "cfg-if", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", +] + [[package]] name = "data-encoding" version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4ae5f15dda3c708c0ade84bfee31ccab44a3da4f88015ed22f63732abe300c8" +[[package]] +name = "data-url" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a" + [[package]] name = "debugid" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d" dependencies = [ + "serde", "uuid", ] [[package]] -name = "der" -version = "0.8.0" +name = "deno_ast" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71fd89660b2dc699704064e59e9dba0147b903e85319429e131620d022be411b" +checksum = "05792fb2b77938767ffeb0853289e86501fddc84b1cdba9e5dc860c52baa2ff7" dependencies = [ - "pem-rfc7468", - "zeroize", + "base64 0.22.1", + "capacity_builder", + "deno_error", + "deno_media_type", + "deno_terminal", + "dprint-swc-ext", + "percent-encoding", + "serde", + "swc_atoms", + "swc_common", + "swc_config", + "swc_config_macro", + "swc_ecma_ast", + "swc_ecma_codegen", + "swc_ecma_codegen_macros", + "swc_ecma_lexer", + "swc_ecma_loader", + "swc_ecma_parser", + "swc_ecma_transforms_base", + "swc_ecma_transforms_classes", + "swc_ecma_transforms_macros", + "swc_ecma_transforms_proposal", + "swc_ecma_transforms_react", + "swc_ecma_transforms_typescript", + "swc_ecma_utils", + "swc_ecma_visit", + "swc_eq_ignore_macros", + "swc_macros_common", + "swc_sourcemap", + "swc_visit", + "text_lines", + "thiserror 2.0.18", + "unicode-width 0.2.2", + "url", ] [[package]] -name = "der-parser" -version = "10.0.0" +name = "deno_bundle_runtime" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07da5016415d5a3c4dd39b11ed26f915f52fc4e0dc197d87908bc916e51bc1a6" +checksum = "60011fbad2c636cb84a754dfd21cce76d940c9ec3478087b933510f1471959c0" dependencies = [ - "asn1-rs", - "displaydoc", - "nom", - "num-bigint", - "num-traits", - "rusticata-macros", -] - -[[package]] -name = "deranged" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" -dependencies = [ - "powerfmt", + "async-trait", + "deno_core", + "deno_error", + "regex", + "serde", ] [[package]] -name = "derive_builder" -version = "0.20.2" +name = "deno_cache" +version = "0.182.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947" +checksum = "3502acc6b551d012701bae2e8ae4d61442f7561ff3c09de1b0f0d79053bb905f" dependencies = [ - "derive_builder_macro", + "async-stream", + "base64 0.22.1", + "bytes", + "chrono", + "deno_core", + "deno_error", + "futures", + "http 1.4.1", + "http-body 1.0.1", + "http-body-util", + "hyper 1.10.1", + "hyper-util", + "log", + "rusqlite", + "sha2", + "slab", + "thiserror 2.0.18", + "tokio", + "tokio-util", ] [[package]] -name = "derive_builder_core" -version = "0.20.2" +name = "deno_cache_dir" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" +checksum = "06c2273d77408a992128626cee98900a7976df67ef06356daac49e5d0f988bae" dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.117", + "async-trait", + "base64 0.22.1", + "boxed_error", + "chrono", + "data-url", + "deno_error", + "deno_maybe_sync", + "deno_media_type", + "deno_path_util", + "http 1.4.1", + "log", + "once_cell", + "parking_lot", + "serde", + "serde_json", + "sha2", + "sys_traits", + "thiserror 2.0.18", + "url", ] [[package]] -name = "derive_builder_macro" -version = "0.20.2" +name = "deno_canvas" +version = "0.111.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" +checksum = "847f4d43dd133cefb24829be833d048c062649d16fdae4e2b9c23a42c5307a4f" dependencies = [ - "derive_builder_core", - "syn 2.0.117", + "bytemuck", + "deno_core", + "deno_error", + "deno_image", + "deno_webgpu", + "raw-window-handle", + "thiserror 2.0.18", ] [[package]] -name = "derive_more" -version = "2.1.1" +name = "deno_config" +version = "0.99.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134" +checksum = "7fcf085683c4035cb37acd31cffa6d39f9e5965a5c1f00b8582be29d045a8dcd" dependencies = [ - "derive_more-impl", + "boxed_error", + "capacity_builder", + "chrono", + "deno_error", + "deno_maybe_sync", + "deno_package_json", + "deno_path_util", + "deno_semver", + "glob", + "ignore", + "import_map", + "indexmap 2.14.0", + "jsonc-parser", + "log", + "serde", + "serde_json", + "sys_traits", + "thiserror 2.0.18", + "url", ] [[package]] -name = "derive_more-impl" -version = "2.1.1" +name = "deno_core" +version = "0.402.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb" +checksum = "14a38b8c716b41d1ac8ae9cb43e31dfd01e6d2e7d1d0c8d5be82ade4c04b092f" dependencies = [ - "convert_case", - "proc-macro2", - "quote", - "rustc_version", - "syn 2.0.117", - "unicode-xid", + "anyhow", + "az", + "base64 0.22.1", + "bincode", + "bit-set 0.8.0", + "bit-vec 0.8.0", + "boxed_error", + "bytes", + "capacity_builder", + "cooked-waker", + "deno_error", + "deno_ops", + "deno_path_util", + "deno_unsync", + "futures", + "indexmap 2.14.0", + "inventory", + "libc", + "num-bigint", + "parking_lot", + "percent-encoding", + "pin-project", + "serde", + "serde_json", + "serde_v8", + "smallvec 1.15.1", + "sourcemap", + "static_assertions", + "sys_traits", + "thiserror 2.0.18", + "tokio", + "url", + "v8", + "wasm_dep_analyzer", + "windows-sys 0.59.0", ] [[package]] -name = "diff" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" - -[[package]] -name = "digest" -version = "0.10.7" +name = "deno_cron" +version = "0.129.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +checksum = "ce5d1405e8a63d5d7761daf38ef210e938a0a358b60faa54fa93d16e7662b02a" dependencies = [ - "block-buffer 0.10.4", - "crypto-common 0.1.7", + "async-trait", + "chrono", + "deno_core", + "deno_error", + "deno_features", + "once_cell", + "saffron", + "serde", + "thiserror 2.0.18", + "tokio", + "tokio-vsock", ] [[package]] -name = "digest" -version = "0.11.3" +name = "deno_crypto" +version = "0.263.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2" +checksum = "fa8dbe5be4f38f78af47a6f419f5f133f431b584b71406fb0618a6f7de32231a" dependencies = [ - "block-buffer 0.12.0", - "const-oid", - "crypto-common 0.2.2", + "aes", + "aes-gcm", + "aes-kw", + "aws-lc-rs", + "base64 0.22.1", + "cbc", + "const-oid 0.9.6", + "ctr", + "curve25519-dalek", + "deno_core", + "deno_error", + "ecdsa", + "ed448-goldilocks", + "elliptic-curve 0.13.8", + "num-traits", + "ocb3", + "once_cell", + "p256", + "p384", + "p521", + "rand 0.8.5", + "rsa", + "serde", + "serde_bytes", + "sha1 0.10.6", + "sha2", + "sha3", + "signature 2.2.0", + "spki 0.7.3", + "thiserror 2.0.18", + "tokio", + "uuid", + "x25519-dalek", ] [[package]] -name = "directories-next" -version = "2.0.0" +name = "deno_crypto_provider" +version = "0.43.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc" +checksum = "d92574c2244e5a4fcece0d68c9760c82af36112354d1171138b30fb3472021a1" dependencies = [ - "cfg-if", - "dirs-sys-next", + "aws-lc-sys 0.40.0", ] [[package]] -name = "dirs-sys-next" -version = "0.1.2" +name = "deno_dotenv" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +checksum = "fe2e42eff1c6348ae7285ed69c1747a4c5240542e1d848bd5d5f51633e24451d" dependencies = [ - "libc", - "redox_users", - "winapi", + "deno_path_util", + "sys_traits", + "thiserror 2.0.18", ] [[package]] -name = "dispatch2" -version = "0.3.1" +name = "deno_error" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" +checksum = "bfafd2219b29886a71aecbb3449e462deed1b2c474dc5b12f855f0e58c478931" dependencies = [ - "bitflags", - "objc2", + "deno_error_macro", + "libc", + "serde", + "serde_json", + "tokio", + "url", ] [[package]] -name = "displaydoc" -version = "0.2.6" +name = "deno_error_macro" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ac70aa55017e108007fbaf5aa0f54b021c98f92ff8af59d42eda9da96e3dd4f" +checksum = "1c28ede88783f14cd8aae46ca89f230c226b40e4a81ab06fa52ed72af84beb2f" dependencies = [ "proc-macro2", "quote", @@ -1450,769 +2508,5185 @@ dependencies = [ ] [[package]] -name = "document-features" -version = "0.2.12" +name = "deno_features" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" +checksum = "bb7c9837df1064a1cba4cc4b849c0109add3a88ea12eca3908821468599a1cee" dependencies = [ - "litrs", + "deno_core", ] [[package]] -name = "dunce" -version = "1.0.5" +name = "deno_fetch" +version = "0.273.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" +checksum = "9eaa3c0d5fe248373392a6c9baf02e5e3673d5126c60319b5f4508efcd64e4c3" +dependencies = [ + "base64 0.22.1", + "bytes", + "data-url", + "deno_core", + "deno_error", + "deno_fs", + "deno_io", + "deno_path_util", + "deno_permissions", + "deno_tls", + "error_reporter", + "h2 0.4.14", + "hickory-resolver", + "http 1.4.1", + "http-body-util", + "hyper 1.10.1", + "hyper-rustls", + "hyper-util", + "ipnet", + "percent-encoding", + "rustls-webpki 0.102.8", + "serde_json", + "thiserror 2.0.18", + "tokio", + "tokio-rustls", + "tokio-socks", + "tokio-vsock", + "tower 0.5.3", + "tower-http", + "tower-service", +] [[package]] -name = "dyn-clone" -version = "1.0.20" +name = "deno_ffi" +version = "0.236.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" - -[[package]] -name = "edge-toolkit" -version = "0.1.0" +checksum = "4c00d2fdb915860b1db69abb65ce38c3c1cda6776c31f91671c8378f8470fe0c" dependencies = [ - "asyncapi-rust", - "base64", - "fs-err", - "lets_find_up", + "cranelift", + "cranelift-native 0.116.1", + "deno_core", + "deno_error", + "deno_permissions", + "denort_helper", + "dlopen2 0.6.1", + "libffi", "log", - "rstest", - "schemars 1.2.1", - "secrecy", + "memmap2", + "num-bigint", "serde", - "serde-env", - "serde-inline-default", - "serde_default", + "serde-value", "serde_json", - "serde_path_to_error", - "serde_yaml", - "temp-env", - "tempfile", - "testing_logger", "thiserror 2.0.18", + "tokio", + "winapi", ] [[package]] -name = "either" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e" - -[[package]] -name = "embedded-io" -version = "0.4.0" +name = "deno_fs" +version = "0.159.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" +checksum = "68b043ea147ea72b7890f637aa9b569635b9f10c36ac96f0887c5c2686c5bff2" +dependencies = [ + "async-trait", + "boxed_error", + "deno_core", + "deno_error", + "deno_io", + "deno_maybe_sync", + "deno_path_util", + "deno_permissions", + "filetime", + "junction", + "libc", + "nix 0.30.1", + "rand 0.8.5", + "rayon", + "serde", + "thiserror 2.0.18", + "winapi", +] [[package]] -name = "embedded-io" -version = "0.6.1" +name = "deno_http" +version = "0.247.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" +checksum = "8e7becf37fd085f40b483181ab2c84de5a65627a51f82bfd2596a2a45125a969" +dependencies = [ + "async-compression", + "async-trait", + "aws-lc-rs", + "base64 0.22.1", + "brotli 6.0.0", + "bytes", + "deno_core", + "deno_error", + "deno_net", + "deno_telemetry", + "deno_websocket", + "flate2", + "http 0.2.12", + "http 1.4.1", + "httparse", + "hyper 0.14.32", + "hyper 1.10.1", + "hyper-util", + "itertools 0.14.0", + "log", + "mime", + "once_cell", + "percent-encoding", + "phf 0.11.3", + "pin-project", + "scopeguard", + "smallvec 1.15.1", + "thiserror 2.0.18", + "tokio", + "tokio-util", + "tokio-vsock", +] [[package]] -name = "encoding_rs" -version = "0.8.35" +name = "deno_image" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" +checksum = "8022dbc9c9596e11c3aff4d2656a56bce8a2b164637c5de6d2114e0995dacefb" dependencies = [ - "cfg-if", + "bytemuck", + "deno_core", + "deno_error", + "image", + "lcms2", + "num-traits", + "thiserror 2.0.18", ] [[package]] -name = "equivalent" -version = "1.0.2" +name = "deno_inspector_server" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +checksum = "8cd3bbf26a2eb24d02548500a3d489bc8a349f2be1dfe87d7abfb6e4a43f34e0" +dependencies = [ + "deno_core", + "deno_error", + "fastwebsockets", + "http 1.4.1", + "http-body-util", + "hyper 1.10.1", + "hyper-util", + "log", + "thiserror 2.0.18", + "tokio", + "uuid", +] [[package]] -name = "errno" -version = "0.3.14" +name = "deno_io" +version = "0.159.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +checksum = "8de5e337b81009e9ef2ecae7db646548ef1263af6ca28dc72be839437d6fa0e2" dependencies = [ + "async-trait", + "deno_core", + "deno_error", + "deno_permissions", + "deno_subprocess_windows", + "filetime", "libc", - "windows-sys 0.61.2", + "log", + "nix 0.30.1", + "os_pipe", + "parking_lot", + "pin-project", + "rand 0.8.5", + "tokio", + "uuid", + "winapi", + "windows-sys 0.59.0", ] [[package]] -name = "et-cli" -version = "0.1.0" +name = "deno_kv" +version = "0.157.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0e1a183b82a4a1b50923d52075bc942d00d9501aa169a4616aba36058d6424c" dependencies = [ - "clap", - "edge-toolkit", - "fs-err", + "anyhow", + "async-trait", + "base64 0.22.1", + "boxed_error", + "bytes", + "chrono", + "deno_core", + "deno_error", + "deno_features", + "deno_fetch", + "deno_path_util", + "deno_permissions", + "deno_tls", + "denokv_proto", + "denokv_remote", + "denokv_sqlite", + "faster-hex", + "http 1.4.1", + "http-body-util", + "log", + "num-bigint", + "rand 0.8.5", + "rusqlite", "serde", - "serde_json", - "serde_yaml", - "tempfile", + "sys_traits", "thiserror 2.0.18", - "toml 0.8.23", + "url", ] [[package]] -name = "et-int-gen" -version = "0.1.0" +name = "deno_lockfile" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "777225c4ebff5b4d445bc22810852d6ed8fda75c4203e5b7eda1f63135c79bec" dependencies = [ - "asyncapi-rust", - "clap", - "edge-toolkit", - "et-modules-service", - "et-storage-service", - "et-ws-server", - "fs-err", - "heck", - "kdl 6.7.1", - "openapiv3", - "pretty_yaml", - "prettyplease", - "progenitor", - "quote", - "schemars 1.2.1", - "semver", + "async-trait", + "deno_semver", "serde", "serde_json", - "serde_yaml", - "syn 2.0.117", "thiserror 2.0.18", - "tree-sitter", - "tree-sitter-zig", - "ureq 2.12.1", - "utoipa", - "wit-encoder", - "wit-parser 0.249.0", ] [[package]] -name = "et-modules-service" -version = "0.1.0" +name = "deno_maybe_sync" +version = "0.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc186cbd3e9907e165f09e6b81a13c2b8abce5628bef13cbe7c9bafe91c7c3c1" dependencies = [ - "actix-files", - "actix-rt", - "actix-web", - "edge-toolkit", - "serde", - "serde-inline-default", - "serde_default", - "serde_json", - "tempfile", - "tracing", - "utoipa", + "dashmap", ] [[package]] -name = "et-onnx" -version = "0.1.0" +name = "deno_media_type" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "debab24ecd9f4fd64aa42fb18a02dff20a97d5830b2b85b98ce70b509f790763" dependencies = [ - "clap", - "onnx-extractor", + "data-url", + "serde", + "url", ] [[package]] -name = "et-otlp" -version = "0.1.0" +name = "deno_napi" +version = "0.180.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e62f4e711dd66ae329e3536fb68e2eef31704778e6082f2c63d462ed61b0f92d" dependencies = [ - "edge-toolkit", - "hostname", + "deno_core", + "deno_error", + "deno_permissions", + "denort_helper", + "libc", + "libloading 0.7.4", "log", - "opentelemetry", - "opentelemetry-appender-tracing", - "opentelemetry-otlp", - "opentelemetry_sdk", - "tracing", - "tracing-log", - "tracing-opentelemetry", - "tracing-subscriber", + "napi_sym", + "thiserror 2.0.18", + "windows-sys 0.59.0", ] [[package]] -name = "et-rest-client" -version = "0.1.0" +name = "deno_native_certs" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86bc737e098a45aa5742d51ce694ac7236a1e69fb0d9df8c862e9b4c9583c5f9" dependencies = [ - "bytes", - "futures-core", - "opentelemetry", - "opentelemetry-http", - "progenitor-client", - "reqwest 0.13.4", - "serde", - "serde_urlencoded", - "tracing", - "tracing-opentelemetry", + "dlopen2 0.7.0", + "dlopen2_derive", + "once_cell", + "rustls-native-certs 0.7.3", + "rustls-pemfile", ] [[package]] -name = "et-storage-service" -version = "0.1.0" +name = "deno_net" +version = "0.241.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22aeb6dd7070b4a395f851715cde809d608a0911554cd63a1b6a852a1d219465" dependencies = [ - "actix-files", - "actix-rt", - "actix-web", - "actix-web-thiserror", - "edge-toolkit", - "fs-err", - "futures-util", + "deno_core", + "deno_error", + "deno_features", + "deno_permissions", + "deno_signals", + "deno_tls", + "deno_tunnel", + "hickory-proto", + "hickory-resolver", "log", + "pin-project", + "quinn", + "rustls-tokio-stream", "serde", - "serde-inline-default", - "serde_default", - "serde_json", - "tempfile", + "sha2", + "socket2 0.5.10", "thiserror 2.0.18", "tokio", - "tracing", - "utoipa", + "tokio-vsock", + "url", + "web-transport-proto", ] [[package]] -name = "et-web" -version = "0.1.0" +name = "deno_node" +version = "0.187.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6ed8949f965ce17bb0f63023fffab9704c8f7acb92b8fa2928f355293e26d46" dependencies = [ - "js-sys", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", + "base64 0.22.1", + "boxed_error", + "brotli 6.0.0", + "bytes", + "cc", + "deno_ast", + "deno_core", + "deno_dotenv", + "deno_error", + "deno_fs", + "deno_inspector_server", + "deno_io", + "deno_native_certs", + "deno_net", + "deno_node_crypto", + "deno_package_json", + "deno_path_util", + "deno_permissions", + "deno_process", + "deno_subprocess_windows", + "deno_tls", + "deno_whoami", + "errno 0.3.14", + "filetime", + "hdrhistogram", + "idna", + "ipnetwork", + "libc", + "libnghttp2", + "libz-sys", + "log", + "nix 0.30.1", + "node_resolver", + "node_shim", + "rand 0.8.5", + "rustls-tokio-stream", + "rustls-webpki 0.103.13", + "serde", + "smallvec 1.15.1", + "socket2 0.5.10", + "sys_traits", + "thiserror 2.0.18", + "tokio", + "tokio-eld", + "url", + "webpki-root-certs 0.26.11", + "winapi", + "windows-sys 0.59.0", + "zstd", ] [[package]] -name = "et-ws-audio1" -version = "0.1.0" +name = "deno_node_crypto" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9751d1f04bda6eb509d188cc23bb9afb7b865900d82c4cb4e7d9f3654e9583a8" dependencies = [ - "et-web", - "et-ws-wasm-agent", - "js-sys", + "aead-gcm-stream", + "aes", + "aws-lc-rs", + "aws-lc-sys 0.40.0", + "base64 0.22.1", + "blake2", + "cbc", + "const-oid 0.9.6", + "ctr", + "data-encoding", + "deno_core", + "deno_crypto_provider", + "deno_error", + "der 0.7.10", + "des", + "digest 0.10.7", + "dsa", + "ecb", + "ecdsa", + "ed25519-dalek", + "ed448-goldilocks", + "elliptic-curve 0.13.8", + "faster-hex", + "hkdf", + "hmac", + "k256", + "md-5", + "md4", + "num-bigint", + "num-bigint-dig", + "num-integer", + "num-traits", + "p12", + "p224", + "p256", + "p384", + "p521", + "pbkdf2", + "pkcs8 0.10.2", + "rand 0.8.5", + "ripemd", + "rsa", + "sec1 0.7.3", "serde", - "serde-wasm-bindgen", - "serde_json", - "tracing", - "tracing-wasm", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-bindgen-test", - "web-sys", + "sha1 0.10.6", + "sha2", + "sha3", + "sm3", + "spki 0.7.3", + "subtle", + "thiserror 2.0.18", + "tokio", + "x25519-dalek", + "x509-parser 0.15.1", + "yoke 0.7.5", ] [[package]] -name = "et-ws-bluetooth" -version = "0.1.0" +name = "deno_node_sqlite" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f239bbebaebd46897947bf0ba113cccf4befcf4d8811ba1dc9926cd98bae84f2" dependencies = [ - "et-web", - "et-ws-wasm-agent", - "js-sys", - "serde", - "serde-wasm-bindgen", - "serde_json", - "tracing", - "tracing-wasm", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-bindgen-test", - "web-sys", + "deno_core", + "deno_error", + "deno_permissions", + "rusqlite", + "thiserror 2.0.18", ] [[package]] -name = "et-ws-comm1" -version = "0.1.0" +name = "deno_npm" +version = "0.61.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30aeb638d32f9796b04a5241c23ecd33f272970c3e650e0792b4098a109c3ae3" dependencies = [ - "edge-toolkit", - "et-ws-wasm-agent", - "js-sys", + "async-trait", + "capacity_builder", + "chrono", + "deno_error", + "deno_lockfile", + "deno_package_json", + "deno_semver", + "futures", + "indexmap 2.14.0", + "log", + "monch", "serde", - "serde-wasm-bindgen", "serde_json", - "tracing", - "tracing-wasm", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-bindgen-test", - "web-sys", + "thiserror 2.0.18", ] [[package]] -name = "et-ws-data1" -version = "0.1.0" +name = "deno_npmrc" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af443c511f81c066500e81b5bdd022d2223b5c7da9610b7549073bc35df137c2" dependencies = [ - "edge-toolkit", - "et-rest-client", - "et-web", - "et-ws-wasm-agent", - "futures-util", - "js-sys", - "serde", - "serde-wasm-bindgen", - "serde_json", - "tracing", - "tracing-wasm", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-bindgen-test", - "web-sys", + "log", + "monch", + "sys_traits", + "thiserror 2.0.18", + "url", ] [[package]] -name = "et-ws-face-detection" -version = "0.1.0" +name = "deno_ops" +version = "0.278.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da015faedc5633db3141b025e62b3fbbd17ce99eb52c638469ac6e0cbba7b805" dependencies = [ - "et-web", - "et-ws-wasm-agent", - "js-sys", - "serde", - "serde-wasm-bindgen", - "serde_json", - "tracing", - "tracing-wasm", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-bindgen-test", - "web-sys", + "indexmap 2.14.0", + "proc-macro2", + "quote", + "stringcase", + "strum", + "strum_macros", + "syn 2.0.117", + "syn-match", + "thiserror 2.0.18", ] [[package]] -name = "et-ws-geolocation" -version = "0.1.0" +name = "deno_os" +version = "0.66.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "126fad9901b281a94c2d538b739a701b546bfa9734d565db0532af7b68a8471a" dependencies = [ - "et-web", - "et-ws-wasm-agent", - "js-sys", - "serde", - "serde-wasm-bindgen", - "serde_json", - "tracing", - "tracing-wasm", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-bindgen-test", - "web-sys", + "deno_core", + "deno_error", + "deno_path_util", + "deno_permissions", + "deno_signals", + "libc", + "netif", + "ntapi", + "thiserror 2.0.18", + "tokio", + "winapi", ] [[package]] -name = "et-ws-graphics-info" -version = "0.1.0" +name = "deno_package_json" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0e1d77ea786b35e684744f6369945663e83f88d9fa231a8f9110f653e4352fa" dependencies = [ - "et-web", - "et-ws-wasm-agent", - "js-sys", + "boxed_error", + "capacity_builder", + "deno_error", + "deno_maybe_sync", + "deno_path_util", + "deno_semver", + "indexmap 2.14.0", "serde", - "serde-wasm-bindgen", "serde_json", - "tracing", - "tracing-wasm", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-bindgen-test", - "web-sys", + "sys_traits", + "thiserror 2.0.18", + "url", ] [[package]] -name = "et-ws-har1" -version = "0.1.0" +name = "deno_path_util" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78c7e98943f0d068928906db0c7bde89de684fa32c6a8018caacc4cee2cdd72b" dependencies = [ - "et-web", - "et-ws-wasm-agent", - "js-sys", + "deno_error", + "percent-encoding", + "sys_traits", + "thiserror 2.0.18", + "url", +] + +[[package]] +name = "deno_permissions" +version = "0.108.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e4d65533759cc674d61f70cd42f7ef203f1b25bce676631707f78cff229f7bc" +dependencies = [ + "capacity_builder", + "chrono", + "deno_error", + "deno_path_util", + "deno_terminal", + "deno_unsync", + "fqdn", + "ipnetwork", + "libc", + "log", + "nix 0.30.1", + "once_cell", + "parking_lot", "serde", - "serde-wasm-bindgen", "serde_json", - "tracing", - "tracing-wasm", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-bindgen-test", - "web-sys", + "sys_traits", + "thiserror 2.0.18", + "unicode-normalization", + "url", + "which 8.0.3", + "winapi", + "windows-sys 0.59.0", ] [[package]] -name = "et-ws-nfc" -version = "0.1.0" +name = "deno_process" +version = "0.64.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc6426f15bfe8b0317b40ea43534225a179361ae901d4011355ee741468918df" dependencies = [ - "et-web", - "et-ws-wasm-agent", - "js-sys", + "deno_core", + "deno_error", + "deno_fs", + "deno_io", + "deno_os", + "deno_path_util", + "deno_permissions", + "deno_signals", + "deno_subprocess_windows", + "libc", + "log", + "memchr", + "nix 0.30.1", + "rand 0.8.5", "serde", - "serde-wasm-bindgen", - "serde_json", - "tracing", - "tracing-wasm", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-bindgen-test", - "web-sys", + "simd-json", + "sys_traits", + "tempfile", + "thiserror 2.0.18", + "tokio", + "winapi", + "windows-sys 0.59.0", ] [[package]] -name = "et-ws-sensor1" -version = "0.1.0" +name = "deno_resolver" +version = "0.80.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61ec651463a3c77f14f2a6f29783dddba38dcc6bea2f747f0e4e1b291b14b51d" dependencies = [ - "et-web", - "et-ws-wasm-agent", - "js-sys", + "anyhow", + "async-once-cell", + "async-trait", + "boxed_error", + "capacity_builder", + "chrono", + "dashmap", + "deno_cache_dir", + "deno_config", + "deno_error", + "deno_lockfile", + "deno_maybe_sync", + "deno_media_type", + "deno_npm", + "deno_npmrc", + "deno_package_json", + "deno_path_util", + "deno_semver", + "deno_terminal", + "deno_unsync", + "futures", + "imara-diff", + "import_map", + "indexmap 2.14.0", + "jsonc-parser", + "log", + "node_resolver", + "once_cell", + "parking_lot", + "phf 0.11.3", "serde", - "serde-wasm-bindgen", "serde_json", - "tracing", - "tracing-wasm", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-bindgen-test", - "web-sys", + "sys_traits", + "thiserror 2.0.18", + "twox-hash", + "url", ] [[package]] -name = "et-ws-server" -version = "0.1.0" +name = "deno_runtime" +version = "0.257.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07a80cd18970153ed42caf43415cfc8b5e72b82cb6bbcef96c42bc4dff603b50" +dependencies = [ + "boxed_error", + "color-print", + "deno_ast", + "deno_bundle_runtime", + "deno_cache", + "deno_canvas", + "deno_core", + "deno_cron", + "deno_crypto", + "deno_error", + "deno_features", + "deno_fetch", + "deno_ffi", + "deno_fs", + "deno_http", + "deno_image", + "deno_inspector_server", + "deno_io", + "deno_kv", + "deno_napi", + "deno_net", + "deno_node", + "deno_node_crypto", + "deno_node_sqlite", + "deno_os", + "deno_path_util", + "deno_permissions", + "deno_process", + "deno_resolver", + "deno_signals", + "deno_telemetry", + "deno_terminal", + "deno_tls", + "deno_web", + "deno_webgpu", + "deno_webidl", + "deno_websocket", + "deno_webstorage", + "encoding_rs", + "http 1.4.1", + "http-body-util", + "hyper 1.10.1", + "libc", + "log", + "nix 0.30.1", + "node_resolver", + "notify", + "once_cell", + "rustyline", + "same-file", + "serde", + "sys_traits", + "thiserror 2.0.18", + "tokio", + "tokio-metrics", + "twox-hash", + "unicode-normalization", + "uuid", + "winapi", + "windows-sys 0.59.0", +] + +[[package]] +name = "deno_semver" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147261611819fb4dfe339b53e3b45d6704c7e32c86ce33a88511d5bcebebaaa3" dependencies = [ - "actix-rt", - "actix-web", - "chrono", - "clap", - "edge-toolkit", - "et-modules-service", - "et-otlp", - "et-storage-service", - "et-ws-service", - "fs-err", - "futures-util", - "local-ip-address", + "capacity_builder", + "deno_error", + "ecow", + "hipstr", + "monch", + "once_cell", + "serde", + "thiserror 2.0.18", + "url", +] + +[[package]] +name = "deno_signals" +version = "0.40.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecf82bc889889ce2ababa2aec5ec1b580f7e1938328cb593bd26233a15a82d70" +dependencies = [ + "libc", + "signal-hook", + "thiserror 2.0.18", + "tokio", + "winapi", +] + +[[package]] +name = "deno_subprocess_windows" +version = "0.44.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2491b73aca352372fbe7759a8c6b03eaba0321a017f1f3850866638c1871d7f6" +dependencies = [ + "fastrand", + "futures-channel", + "libc", + "windows-sys 0.59.0", +] + +[[package]] +name = "deno_telemetry" +version = "0.71.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d900c8013d88fc762bd3e510d3725dc8c105c503c95ca19b3b438e36d3080b3" +dependencies = [ + "async-trait", + "deno_core", + "deno_error", + "deno_net", + "deno_signals", + "deno_terminal", + "deno_tls", + "flate2", + "http-body-util", + "hyper 1.10.1", + "hyper-rustls", + "hyper-util", + "log", + "once_cell", + "opentelemetry 0.27.1", + "opentelemetry-http 0.27.0", + "opentelemetry-otlp 0.27.0", + "opentelemetry-proto 0.27.0", + "opentelemetry-semantic-conventions", + "opentelemetry_sdk 0.27.1", + "pin-project", + "prost 0.13.5", + "serde", + "sys_traits", + "thiserror 2.0.18", + "tokio", + "tokio-vsock", + "tower-service", +] + +[[package]] +name = "deno_terminal" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3ba8041ae7319b3ca6a64c399df4112badcbbe0868b4517637647614bede4be" +dependencies = [ + "once_cell", + "termcolor", +] + +[[package]] +name = "deno_tls" +version = "0.236.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05617adf9e871689b0674ae81a88984bb3658ba7be401e4be010e802626c5deb" +dependencies = [ + "deno_core", + "deno_error", + "deno_native_certs", "log", - "qr2term", - "rcgen", - "regex", "rustls", - "secrecy", + "rustls-pemfile", + "rustls-tokio-stream", + "rustls-webpki 0.102.8", + "serde", + "thiserror 2.0.18", + "tokio", + "webpki-roots 0.26.11", +] + +[[package]] +name = "deno_tunnel" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e432929e0c167f2a003b963ee406c714fcd947a87d4f9edc7b3255e87be9881d" +dependencies = [ + "pin-project", + "quinn", "serde", - "serde-env", - "serde-inline-default", - "serde_default", "serde_json", - "serde_yaml", + "socket2 0.6.4", + "thiserror 2.0.18", "tokio", "tracing", - "tracing-actix-web", - "tracing-subscriber", - "utoipa", +] + +[[package]] +name = "deno_unsync" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6742a724e8becb372a74c650a1aefb8924a5b8107f7d75b3848763ea24b27a87" +dependencies = [ + "futures-util", + "parking_lot", + "tokio", +] + +[[package]] +name = "deno_web" +version = "0.280.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d76370526ed5750425bcae0dfa61dbc2218101c2e994090f58042e946167afe" +dependencies = [ + "async-trait", + "brotli 6.0.0", + "bytes", + "cssparser", + "deno_core", + "deno_error", + "encoding_rs", + "flate2", + "futures", + "nalgebra", + "serde", + "thiserror 2.0.18", + "tokio", + "urlpattern", "uuid", ] [[package]] -name = "et-ws-service" -version = "0.1.0" +name = "deno_webgpu" +version = "0.216.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "919bb2e6f10e9b98e3f41fea176becaab6fb4d709244a10919c41cbc72646f39" +dependencies = [ + "deno_core", + "deno_error", + "deno_image", + "indexmap 2.14.0", + "serde_json", + "thiserror 2.0.18", + "tokio", + "wgpu-core 28.0.1", + "wgpu-types 28.0.0", +] + +[[package]] +name = "deno_webidl" +version = "0.249.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5290cf50c2fbd99a0ba5a5f907892f03109dcdc37e666ebd4d75289c7b742538" +dependencies = [ + "deno_core", +] + +[[package]] +name = "deno_websocket" +version = "0.254.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44bd146b4899a0cb4ff66c5f92a6536f1f23d4089fe6562a5e9409f1f2256d6d" +dependencies = [ + "bytes", + "deno_core", + "deno_error", + "deno_fetch", + "deno_net", + "deno_permissions", + "deno_tls", + "fastwebsockets", + "h2 0.4.14", + "http 1.4.1", + "http-body-util", + "hyper 1.10.1", + "hyper-util", + "once_cell", + "thiserror 2.0.18", + "tokio", +] + +[[package]] +name = "deno_webstorage" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "862b258c5754341d7e7e95a4b4ea423b964e3f95af7d4f40ffa10e51a153db3e" +dependencies = [ + "deno_core", + "deno_error", + "rusqlite", + "thiserror 2.0.18", +] + +[[package]] +name = "deno_whoami" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e75e4caa92b98a27f09c671d1399aee0f5970aa491b9a598523aac000a2192e3" +dependencies = [ + "libc", + "whoami", +] + +[[package]] +name = "denokv_proto" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c9f1d5365706efe37950bfa83e09fbf6efe5f42306570f05dab72cd2bf3c420" +dependencies = [ + "async-trait", + "chrono", + "deno_error", + "futures", + "num-bigint", + "prost 0.13.5", + "serde", + "uuid", +] + +[[package]] +name = "denokv_remote" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47161e738042861f890ac51c0bf42b73c9372f483ffa6ec7e4d26d8a68e136d0" +dependencies = [ + "async-stream", + "async-trait", + "bytes", + "chrono", + "deno_error", + "denokv_proto", + "futures", + "http 1.4.1", + "log", + "prost 0.13.5", + "rand 0.8.5", + "serde", + "serde_json", + "thiserror 2.0.18", + "tokio", + "tokio-util", + "url", + "uuid", +] + +[[package]] +name = "denokv_sqlite" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04812f283a0bcc7e8f08f2d6be989b3710af83324b1b9b5704881b779cfbfb02" +dependencies = [ + "async-stream", + "async-trait", + "chrono", + "deno_error", + "denokv_proto", + "futures", + "hex", + "log", + "num-bigint", + "rand 0.8.5", + "rusqlite", + "serde_json", + "thiserror 2.0.18", + "tokio", + "tokio-stream", + "uuid", + "v8_valueserializer", +] + +[[package]] +name = "denort_helper" +version = "0.47.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b2a8551398ebe62bfc2a2fe10913ce13939856f386a7e445362f88cdd01c520" +dependencies = [ + "deno_error", + "deno_path_util", + "sys_traits", + "thiserror 2.0.18", + "twox-hash", +] + +[[package]] +name = "der" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" +dependencies = [ + "const-oid 0.9.6", + "der_derive", + "pem-rfc7468 0.7.0", + "zeroize", +] + +[[package]] +name = "der" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71fd89660b2dc699704064e59e9dba0147b903e85319429e131620d022be411b" +dependencies = [ + "const-oid 0.10.2", + "pem-rfc7468 1.0.0", + "zeroize", +] + +[[package]] +name = "der-parser" +version = "8.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbd676fbbab537128ef0278adb5576cf363cff6aa22a7b24effe97347cfab61e" +dependencies = [ + "asn1-rs 0.5.2", + "displaydoc", + "nom 7.1.3", + "num-bigint", + "num-traits", + "rusticata-macros", +] + +[[package]] +name = "der-parser" +version = "10.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07da5016415d5a3c4dd39b11ed26f915f52fc4e0dc197d87908bc916e51bc1a6" +dependencies = [ + "asn1-rs 0.7.2", + "displaydoc", + "nom 7.1.3", + "num-bigint", + "num-traits", + "rusticata-macros", +] + +[[package]] +name = "der_derive" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "deranged" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" +dependencies = [ + "powerfmt", +] + +[[package]] +name = "derive-io" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58cc7f4740088458993d183a200fe56e62378736f94bf0e2dd45807407e7bb94" +dependencies = [ + "derive-io-macros", + "tokio", +] + +[[package]] +name = "derive-io-macros" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d0a1bd7eeab72097740967d03d53db5fbaf8e3c0dd471ebdefa43ce445a20a6" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "derive_builder" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947" +dependencies = [ + "derive_builder_macro", +] + +[[package]] +name = "derive_builder_core" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "derive_builder_macro" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" +dependencies = [ + "derive_builder_core", + "syn 2.0.117", +] + +[[package]] +name = "derive_more" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version", + "syn 2.0.117", + "unicode-xid", +] + +[[package]] +name = "des" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffdd80ce8ce993de27e9f063a444a4d53ce8e8db4c1f00cc03af5ad5a9867a1e" +dependencies = [ + "cipher", +] + +[[package]] +name = "diff" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer 0.10.4", + "const-oid 0.9.6", + "crypto-common 0.1.7", + "subtle", +] + +[[package]] +name = "digest" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2" +dependencies = [ + "block-buffer 0.12.0", + "const-oid 0.10.2", + "crypto-common 0.2.2", +] + +[[package]] +name = "diplomat" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7935649d00000f5c5d735448ad3dc07b9738160727017914cf42138b8e8e6611" +dependencies = [ + "diplomat_core", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "diplomat-runtime" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "970ac38ad677632efcee6d517e783958da9bc78ec206d8d5e35b459ffc5e4864" + +[[package]] +name = "diplomat_core" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cf41b94101a4bce993febaf0098092b0bb31deaf0ecaf6e0a2562465f61b383" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "smallvec 1.15.1", + "strck", + "syn 2.0.117", +] + +[[package]] +name = "directories-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + +[[package]] +name = "dispatch2" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" +dependencies = [ + "bitflags 2.11.1", + "objc2", +] + +[[package]] +name = "displaydoc" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ac70aa55017e108007fbaf5aa0f54b021c98f92ff8af59d42eda9da96e3dd4f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "dlopen2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bc2c7ed06fd72a8513ded8d0d2f6fd2655a85d6885c48cae8625d80faf28c03" +dependencies = [ + "dlopen2_derive", + "libc", + "once_cell", + "winapi", +] + +[[package]] +name = "dlopen2" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1297103d2bbaea85724fcee6294c2d50b1081f9ad47d0f6f6f61eda65315a6" +dependencies = [ + "dlopen2_derive", + "libc", + "once_cell", + "winapi", +] + +[[package]] +name = "dlopen2_derive" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fbbb781877580993a8707ec48672673ec7b81eeba04cfd2310bd28c08e47c8f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "document-features" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" +dependencies = [ + "litrs", +] + +[[package]] +name = "dprint-swc-ext" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33175ddb7a6d418589cab2966bd14a710b3b1139459d3d5ca9edf783c4833f4c" +dependencies = [ + "num-bigint", + "rustc-hash 2.1.2", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_lexer", + "swc_ecma_parser", + "text_lines", +] + +[[package]] +name = "dsa" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48bc224a9084ad760195584ce5abb3c2c34a225fa312a128ad245a6b412b7689" +dependencies = [ + "digest 0.10.7", + "num-bigint-dig", + "num-traits", + "pkcs8 0.10.2", + "rfc6979", + "sha2", + "signature 2.2.0", + "zeroize", +] + +[[package]] +name = "dtoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c3cf4824e2d5f025c7b531afcb2325364084a16806f6d47fbc1f5fbd9960590" + +[[package]] +name = "dtoa-short" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87" +dependencies = [ + "dtoa", +] + +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" + +[[package]] +name = "dyn-clone" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" + +[[package]] +name = "ecb" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a8bfa975b1aec2145850fcaa1c6fe269a16578c44705a532ae3edc92b8881c7" +dependencies = [ + "cipher", +] + +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der 0.7.10", + "digest 0.10.7", + "elliptic-curve 0.13.8", + "rfc6979", + "signature 2.2.0", + "spki 0.7.3", +] + +[[package]] +name = "ecow" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78e4f79b296fbaab6ce2e22d52cb4c7f010fe0ebe7a32e34fa25885fd797bd02" +dependencies = [ + "serde", +] + +[[package]] +name = "ed25519" +version = "2.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" +dependencies = [ + "pkcs8 0.10.2", + "signature 2.2.0", +] + +[[package]] +name = "ed25519-dalek" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" +dependencies = [ + "curve25519-dalek", + "ed25519", + "rand_core 0.6.4", + "serde", + "sha2", + "signature 2.2.0", + "subtle", + "zeroize", +] + +[[package]] +name = "ed448" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae112a25f86ae3598d4e8533ed1e65149cec6eb21918e7a6f4c06dddec370263" +dependencies = [ + "pkcs8 0.11.0", + "signature 3.0.0", +] + +[[package]] +name = "ed448-goldilocks" +version = "0.14.0-pre.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8be3c3dac25c52fc0f2f193687d09efa1e4c8981f6b8544acc9faffc1c29bd0" +dependencies = [ + "ed448", + "elliptic-curve 0.14.0-rc.33", + "hash2curve", + "rand_core 0.10.1", + "serdect 0.4.3", + "shake", + "signature 3.0.0", + "subtle", +] + +[[package]] +name = "edge-toolkit" +version = "0.1.0" +dependencies = [ + "asyncapi-rust", + "base64 0.22.1", + "fs-err", + "lets_find_up", + "log", + "rstest", + "schemars 1.2.1", + "secrecy", + "serde", + "serde-env", + "serde-inline-default", + "serde_default", + "serde_json", + "serde_path_to_error", + "serde_yaml", + "temp-env", + "tempfile", + "testing_logger", + "thiserror 2.0.18", +] + +[[package]] +name = "either" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e" + +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct 0.2.0", + "base64ct", + "crypto-bigint 0.5.5", + "digest 0.10.7", + "ff 0.13.1", + "generic-array", + "group 0.13.0", + "hkdf", + "pem-rfc7468 0.7.0", + "pkcs8 0.10.2", + "rand_core 0.6.4", + "sec1 0.7.3", + "serde_json", + "serdect 0.2.0", + "subtle", + "zeroize", +] + +[[package]] +name = "elliptic-curve" +version = "0.14.0-rc.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "102d3643d30dd8b559613c5cced68317199597fffb278cdc88daa2ef7fafc935" +dependencies = [ + "base16ct 1.0.0", + "crypto-bigint 0.7.3", + "crypto-common 0.2.2", + "ff 0.14.0", + "group 0.14.0", + "hybrid-array", + "pkcs8 0.11.0", + "rand_core 0.10.1", + "sec1 0.8.1", + "subtle", + "zeroize", +] + +[[package]] +name = "embedded-io" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" + +[[package]] +name = "embedded-io" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" + +[[package]] +name = "encoding_rs" +version = "0.8.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "endian-type" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" + +[[package]] +name = "enum-as-inner" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi", +] + +[[package]] +name = "errno" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "error-code" +version = "3.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dea2df4cf52843e0452895c455a1a2cfbb842a1e7329671acf418fdc53ed4c59" + +[[package]] +name = "error_reporter" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31ae425815400e5ed474178a7a22e275a9687086a12ca63ec793ff292d8fdae8" + +[[package]] +name = "et-cli" +version = "0.1.0" +dependencies = [ + "clap", + "edge-toolkit", + "fs-err", + "serde", + "serde_json", + "serde_yaml", + "tempfile", + "thiserror 2.0.18", + "toml 0.8.23", +] + +[[package]] +name = "et-int-gen" +version = "0.1.0" +dependencies = [ + "asyncapi-rust", + "clap", + "edge-toolkit", + "et-modules-service", + "et-storage-service", + "et-ws-server", + "fs-err", + "heck", + "kdl 6.7.1", + "openapiv3", + "pretty_yaml", + "prettyplease", + "progenitor", + "quote", + "reqwest 0.13.4", + "schemars 1.2.1", + "semver", + "serde", + "serde_json", + "serde_yaml", + "syn 2.0.117", + "thiserror 2.0.18", + "tree-sitter", + "tree-sitter-zig", + "utoipa", + "wit-encoder", + "wit-parser 0.249.0", +] + +[[package]] +name = "et-modules-service" +version = "0.1.0" +dependencies = [ + "actix-files", + "actix-rt", + "actix-web", + "edge-toolkit", + "serde", + "serde-inline-default", + "serde_default", + "serde_json", + "tempfile", + "tracing", + "utoipa", +] + +[[package]] +name = "et-onnx" +version = "0.1.0" +dependencies = [ + "clap", + "onnx-extractor", +] + +[[package]] +name = "et-otlp" +version = "0.1.0" +dependencies = [ + "edge-toolkit", + "hostname", + "log", + "opentelemetry 0.31.0", + "opentelemetry-appender-tracing", + "opentelemetry-otlp 0.31.1", + "opentelemetry_sdk 0.31.0", + "tracing", + "tracing-log", + "tracing-opentelemetry", + "tracing-subscriber", +] + +[[package]] +name = "et-rest-client" +version = "0.1.0" +dependencies = [ + "bytes", + "futures-core", + "opentelemetry 0.31.0", + "opentelemetry-http 0.31.0", + "progenitor-client", + "reqwest 0.13.4", + "serde", + "serde_urlencoded", + "tracing", + "tracing-opentelemetry", + "web-sys", +] + +[[package]] +name = "et-storage-service" +version = "0.1.0" +dependencies = [ + "actix-files", + "actix-rt", + "actix-web", + "actix-web-thiserror", + "edge-toolkit", + "fs-err", + "futures-util", + "log", + "serde", + "serde-inline-default", + "serde_default", + "serde_json", + "tempfile", + "thiserror 2.0.18", + "tokio", + "tracing", + "utoipa", +] + +[[package]] +name = "et-web" +version = "0.1.0" +dependencies = [ + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "et-ws-audio1" +version = "0.1.0" +dependencies = [ + "et-web", + "et-ws-wasm-agent", + "js-sys", + "serde", + "serde-wasm-bindgen", + "serde_json", + "tracing", + "tracing-wasm", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-bindgen-test", + "web-sys", +] + +[[package]] +name = "et-ws-bluetooth" +version = "0.1.0" +dependencies = [ + "et-web", + "et-ws-wasm-agent", + "js-sys", + "serde", + "serde-wasm-bindgen", + "serde_json", + "tracing", + "tracing-wasm", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-bindgen-test", + "web-sys", +] + +[[package]] +name = "et-ws-comm1" +version = "0.1.0" +dependencies = [ + "edge-toolkit", + "et-ws-wasm-agent", + "js-sys", + "serde", + "serde-wasm-bindgen", + "serde_json", + "tracing", + "tracing-wasm", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-bindgen-test", + "web-sys", +] + +[[package]] +name = "et-ws-data1" +version = "0.1.0" +dependencies = [ + "edge-toolkit", + "et-rest-client", + "et-web", + "et-ws-wasm-agent", + "futures-util", + "js-sys", + "serde", + "serde-wasm-bindgen", + "serde_json", + "tracing", + "tracing-wasm", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-bindgen-test", + "web-sys", +] + +[[package]] +name = "et-ws-face-detection" +version = "0.1.0" +dependencies = [ + "et-web", + "et-ws-wasm-agent", + "js-sys", + "serde", + "serde-wasm-bindgen", + "serde_json", + "tracing", + "tracing-wasm", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-bindgen-test", + "web-sys", +] + +[[package]] +name = "et-ws-geolocation" +version = "0.1.0" +dependencies = [ + "et-web", + "et-ws-wasm-agent", + "js-sys", + "serde", + "serde-wasm-bindgen", + "serde_json", + "tracing", + "tracing-wasm", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-bindgen-test", + "web-sys", +] + +[[package]] +name = "et-ws-graphics-info" +version = "0.1.0" +dependencies = [ + "et-web", + "et-ws-wasm-agent", + "js-sys", + "serde", + "serde-wasm-bindgen", + "serde_json", + "tracing", + "tracing-wasm", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-bindgen-test", + "web-sys", +] + +[[package]] +name = "et-ws-har1" +version = "0.1.0" +dependencies = [ + "et-web", + "et-ws-wasm-agent", + "js-sys", + "serde", + "serde-wasm-bindgen", + "serde_json", + "tracing", + "tracing-wasm", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-bindgen-test", + "web-sys", +] + +[[package]] +name = "et-ws-nfc" +version = "0.1.0" +dependencies = [ + "et-web", + "et-ws-wasm-agent", + "js-sys", + "serde", + "serde-wasm-bindgen", + "serde_json", + "tracing", + "tracing-wasm", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-bindgen-test", + "web-sys", +] + +[[package]] +name = "et-ws-runner-common" +version = "0.1.0" +dependencies = [ + "edge-toolkit", + "et-rest-client", + "futures-util", + "humantime-serde", + "reqwest 0.13.4", + "serde", + "serde-env", + "serde-inline-default", + "serde_default", + "serde_json", + "serde_path_to_error", + "thiserror 2.0.18", + "tracing", +] + +[[package]] +name = "et-ws-sensor1" +version = "0.1.0" +dependencies = [ + "et-web", + "et-ws-wasm-agent", + "js-sys", + "serde", + "serde-wasm-bindgen", + "serde_json", + "tracing", + "tracing-wasm", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-bindgen-test", + "web-sys", +] + +[[package]] +name = "et-ws-server" +version = "0.1.0" +dependencies = [ + "actix-rt", + "actix-web", + "chrono", + "clap", + "edge-toolkit", + "et-modules-service", + "et-otlp", + "et-storage-service", + "et-ws-service", + "fs-err", + "futures-util", + "local-ip-address", + "log", + "qr2term", + "rcgen", + "regex", + "rustls", + "secrecy", + "serde", + "serde-env", + "serde-inline-default", + "serde_default", + "serde_json", + "serde_yaml", + "tokio", + "tracing", + "tracing-actix-web", + "tracing-subscriber", + "utoipa", + "uuid", +] + +[[package]] +name = "et-ws-service" +version = "0.1.0" +dependencies = [ + "actix-web", + "actix-ws", + "bytes", + "chrono", + "edge-toolkit", + "fs-err", + "futures-util", + "opentelemetry 0.31.0", + "serde", + "serde_json", + "serde_yaml", + "tokio", + "tracing", + "uuid", +] + +[[package]] +name = "et-ws-speech-recognition" +version = "0.1.0" +dependencies = [ + "et-web", + "et-ws-wasm-agent", + "js-sys", + "serde", + "serde-wasm-bindgen", + "serde_json", + "tracing", + "tracing-wasm", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-bindgen-test", + "web-sys", +] + +[[package]] +name = "et-ws-test-server" +version = "0.1.0" +dependencies = [ + "actix", + "actix-rt", + "actix-web", + "edge-toolkit", + "et-modules-service", + "et-storage-service", + "et-ws-service", + "futures-util", + "serde_json", + "tempfile", + "tokio", + "tokio-tungstenite", + "tracing-actix-web", +] + +[[package]] +name = "et-ws-video1" +version = "0.1.0" +dependencies = [ + "et-web", + "et-ws-wasm-agent", + "js-sys", + "serde", + "serde-wasm-bindgen", + "serde_json", + "tracing", + "tracing-wasm", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-bindgen-test", + "web-sys", +] + +[[package]] +name = "et-ws-wasi-comm1" +version = "0.1.0" +dependencies = [ + "serde_json", + "wit-bindgen 0.57.1", +] + +[[package]] +name = "et-ws-wasi-data1" +version = "0.1.0" +dependencies = [ + "serde_json", + "wit-bindgen 0.57.1", +] + +[[package]] +name = "et-ws-wasi-runner" +version = "0.1.0" +dependencies = [ + "async-trait", + "bytemuck", + "edge-toolkit", + "et-otlp", + "et-rest-client", + "et-ws-runner-common", + "et-ws-test-server", + "futures-util", + "opentelemetry 0.31.0", + "opentelemetry-http 0.31.0", + "ort", + "otlp-mock", + "pollster", + "reqwest 0.13.4", + "rstest", + "serde", + "serde-env", + "serde_json", + "serde_path_to_error", + "thiserror 2.0.18", + "tokio", + "tokio-tungstenite", + "tracing", + "tracing-opentelemetry", + "tracing-subscriber", + "wasmtime", + "wasmtime-wasi", + "wasmtime-wasi-nn", + "wgpu", +] + +[[package]] +name = "et-ws-wasm-agent" +version = "0.1.0" +dependencies = [ + "chrono", + "edge-toolkit", + "et-web", + "js-sys", + "serde", + "serde_json", + "tracing", + "tracing-wasm", + "wasm-bindgen", + "wasm-bindgen-test", + "web-sys", +] + +[[package]] +name = "et-ws-web-runner" +version = "0.1.0" +dependencies = [ + "deno_core", + "deno_error", + "deno_resolver", + "deno_runtime", + "edge-toolkit", + "et-rest-client", + "et-ws-runner-common", + "et-ws-test-server", + "futures-util", + "rstest", + "serde", + "serde-env", + "sys_traits", + "thiserror 2.0.18", + "tokio", + "tracing", + "tracing-subscriber", + "winapi", +] + +[[package]] +name = "exec" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "886b70328cba8871bfc025858e1de4be16b1d5088f2ba50b57816f4210672615" +dependencies = [ + "errno 0.2.8", + "libc", +] + +[[package]] +name = "fallible-iterator" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" + +[[package]] +name = "fallible-streaming-iterator" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" + +[[package]] +name = "fastbloom" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7f34442dbe69c60fe8eaf58a8cafff81a1f278816d8ab4db255b3bef4ac3c4" +dependencies = [ + "getrandom 0.3.4", + "libm", + "rand 0.9.4", + "siphasher 1.0.3", +] + +[[package]] +name = "faster-hex" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7223ae2d2f179b803433d9c830478527e92b8117eab39460edae7f1614d9fb73" +dependencies = [ + "heapless", + "serde", +] + +[[package]] +name = "fastrand" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" + +[[package]] +name = "fastwebsockets" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dac026e15fb7e44d768880b868a0fd5bd30ffdee272e88b3060f657a5a72947" +dependencies = [ + "base64 0.21.7", + "bytes", + "http-body-util", + "hyper 1.10.1", + "hyper-util", + "pin-project", + "rand 0.8.5", + "sha1 0.10.6", + "simdutf8", + "thiserror 1.0.69", + "tokio", + "utf-8", +] + +[[package]] +name = "fd-lock" +version = "4.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce92ff622d6dadf7349484f42c93271a0d49b7cc4d466a936405bacbe10aa78" +dependencies = [ + "cfg-if", + "rustix 1.1.4", + "windows-sys 0.59.0", +] + +[[package]] +name = "fdeflate" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "ff" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" +dependencies = [ + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "ff" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1f686ab92a9fb0eaf188f6c6c87b89490baa6fdb0db4544ba4dc47f7942489f" +dependencies = [ + "rand_core 0.10.1", + "subtle", +] + +[[package]] +name = "fiat-crypto" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" + +[[package]] +name = "filetime" +version = "0.2.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c287a33c7f0a620c38e641e7f60827713987b3c0f26e8ddc9462cc69cf75759" +dependencies = [ + "cfg-if", + "libc", +] + +[[package]] +name = "find-msvc-tools" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" + +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "fixedbitset" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" + +[[package]] +name = "flate2" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "float-cmp" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b09cf3155332e944990140d967ff5eceb70df778b34f77d8075db46e4704e6d8" +dependencies = [ + "num-traits", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared 0.1.1", +] + +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared 0.3.1", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + +[[package]] +name = "form_urlencoded" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "fqdn" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "886ac788f62d16d6b0f26b2fa762b34ef16ebfb4b624c2c15fbcadc9173c0f72" + +[[package]] +name = "from_variant" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ff35a391aef949120a0340d690269b3d9f63460a6106e99bd07b961f345ea9" +dependencies = [ + "swc_macros_common", + "syn 2.0.117", +] + +[[package]] +name = "fs-err" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73fde052dbfc920003cfd2c8e2c6e6d4cc7c1091538c3a24226cec0665ab08c0" +dependencies = [ + "autocfg", +] + +[[package]] +name = "fs-set-times" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94e7099f6313ecacbe1256e8ff9d617b75d1bcb16a6fddef94866d225a01a14a" +dependencies = [ + "io-lifetimes", + "rustix 1.1.4", + "windows-sys 0.59.0", +] + +[[package]] +name = "fs_extra" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" + +[[package]] +name = "fsevent-sys" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" +dependencies = [ + "libc", +] + +[[package]] +name = "fslock" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04412b8935272e3a9bae6f48c7bfff74c2911f60525404edfdd28e49884c3bfb" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "futures" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" + +[[package]] +name = "futures-executor" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" + +[[package]] +name = "futures-macro" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "futures-sink" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" + +[[package]] +name = "futures-task" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" + +[[package]] +name = "futures-timer" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af43fadb8a98512d547e37b4e92e0ced13e205c061b87b4623eff01d918d6968" + +[[package]] +name = "futures-util" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "slab", +] + +[[package]] +name = "fxprof-processed-profile" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25234f20a3ec0a962a61770cfe39ecf03cb529a6e474ad8cff025ed497eda557" +dependencies = [ + "bitflags 2.11.1", + "debugid", + "rustc-hash 2.1.2", + "serde", + "serde_derive", + "serde_json", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", + "zeroize", +] + +[[package]] +name = "getrandom" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "r-efi 5.3.0", + "wasip2", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +dependencies = [ + "cfg-if", + "libc", + "r-efi 6.0.0", + "rand_core 0.10.1", + "wasip2", + "wasip3", +] + +[[package]] +name = "getset" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cf0fc11e47561d47397154977bc219f4cf809b2974facc3ccb3b89e2436f912" +dependencies = [ + "proc-macro-error2", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "ghash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" +dependencies = [ + "opaque-debug", + "polyval", +] + +[[package]] +name = "gif" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee8cfcc411d9adbbaba82fb72661cc1bcca13e8bba98b364e62b2dba8f960159" +dependencies = [ + "color_quant", + "weezl", +] + +[[package]] +name = "gimli" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" +dependencies = [ + "fallible-iterator", + "indexmap 2.14.0", + "stable_deref_trait", +] + +[[package]] +name = "gimli" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf7f043f89559805f8c7cacc432749b2fa0d0a0a9ee46ce47164ed5ba7f126c" +dependencies = [ + "fnv", + "hashbrown 0.16.1", + "indexmap 2.14.0", + "stable_deref_trait", +] + +[[package]] +name = "gl_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d" +dependencies = [ + "khronos_api", + "log", + "xml-rs", +] + +[[package]] +name = "glam" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "333928d5eb103c5d4050533cec0384302db6be8ef7d3cebd30ec6a35350353da" + +[[package]] +name = "glam" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3abb554f8ee44336b72d522e0a7fe86a29e09f839a36022fa869a7dfe941a54b" + +[[package]] +name = "glam" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4126c0479ccf7e8664c36a2d719f5f2c140fbb4f9090008098d2c291fa5b3f16" + +[[package]] +name = "glam" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01732b97afd8508eee3333a541b9f7610f454bb818669e66e90f5f57c93a776" + +[[package]] +name = "glam" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525a3e490ba77b8e326fb67d4b44b4bd2f920f44d4cc73ccec50adc68e3bee34" + +[[package]] +name = "glam" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b8509e6791516e81c1a630d0bd7fbac36d2fa8712a9da8662e716b52d5051ca" + +[[package]] +name = "glam" +version = "0.20.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43e957e744be03f5801a55472f593d43fabdebf25a4585db250f04d86b1675f" + +[[package]] +name = "glam" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "518faa5064866338b013ff9b2350dc318e14cc4fcd6cb8206d7e7c9886c98815" + +[[package]] +name = "glam" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f597d56c1bd55a811a1be189459e8fad2bbc272616375602443bdfb37fa774" + +[[package]] +name = "glam" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e4afd9ad95555081e109fe1d21f2a30c691b5f0919c67dfa690a2e1eb6bd51c" + +[[package]] +name = "glam" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5418c17512bdf42730f9032c74e1ae39afc408745ebb2acf72fbc4691c17945" + +[[package]] +name = "glam" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "151665d9be52f9bb40fc7966565d39666f2d1e69233571b71b87791c7e0528b3" + +[[package]] +name = "glam" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e05e7e6723e3455f4818c7b26e855439f7546cf617ef669d1adedb8669e5cb9" + +[[package]] +name = "glam" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "779ae4bf7e8421cf91c0b3b64e7e8b40b862fba4d393f59150042de7c4965a94" + +[[package]] +name = "glam" +version = "0.29.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8babf46d4c1c9d92deac9f7be466f76dfc4482b6452fc5024b5e8daf6ffeb3ee" + +[[package]] +name = "glam" +version = "0.30.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19fc433e8437a212d1b6f1e68c7824af3aed907da60afa994e7f542d18d12aa9" + +[[package]] +name = "glam" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "556f6b2ea90b8d15a74e0e7bb41671c9bdf38cd9f78c284d750b9ce58a2b5be7" + +[[package]] +name = "glam" +version = "0.32.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f70749695b063ecbf6b62949ccccde2e733ec3ecbbd71d467dca4e5c6c97cca0" + +[[package]] +name = "glob" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" + +[[package]] +name = "globset" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52dfc19153a48bde0cbd630453615c8151bce3a5adfac7a0aebfbf0a1e1f57e3" +dependencies = [ + "aho-corasick", + "bstr", + "log", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "glow" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5e5ea60d70410161c8bf5da3fdfeaa1c72ed2c15f8bbb9d19fe3a4fad085f08" +dependencies = [ + "js-sys", + "slotmap", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "glutin_wgl_sys" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c4ee00b289aba7a9e5306d57c2d05499b2e5dc427f84ac708bd2c090212cf3e" +dependencies = [ + "gl_generator", +] + +[[package]] +name = "gpu-allocator" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51255ea7cfaadb6c5f1528d43e92a82acb2b96c43365989a28b2d44ee38f8795" +dependencies = [ + "ash", + "hashbrown 0.16.1", + "log", + "presser", + "thiserror 2.0.18", + "windows", +] + +[[package]] +name = "gpu-descriptor" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca" +dependencies = [ + "bitflags 2.11.1", + "gpu-descriptor-types", + "hashbrown 0.15.5", +] + +[[package]] +name = "gpu-descriptor-types" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" +dependencies = [ + "bitflags 2.11.1", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff 0.13.1", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "group" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fd1a1c7a5206c5b7a3f5a0d7ccd3ff85d0c8f5133d62a02680255b0004af5f4" +dependencies = [ + "ff 0.14.0", + "rand_core 0.10.1", + "subtle", +] + +[[package]] +name = "gzip-header" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86848f4fd157d91041a62c78046fb7b248bcc2dce78376d436a1756e9a038577" +dependencies = [ + "crc32fast", +] + +[[package]] +name = "h2" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0beca50380b1fc32983fc1cb4587bfa4bb9e78fc259aad4a0032d2080309222d" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http 0.2.12", + "indexmap 2.14.0", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "h2" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "171fefbc92fe4a4de27e0698d6a5b392d6a0e333506bc49133760b3bcf948733" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http 1.4.1", + "indexmap 2.14.0", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "num-traits", + "serde", + "zerocopy", +] + +[[package]] +name = "halfbrown" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8588661a8607108a5ca69cab034063441a0413a0b041c13618a7dd348021ef6f" +dependencies = [ + "hashbrown 0.14.5", + "serde", +] + +[[package]] +name = "hash2curve" +version = "0.14.0-rc.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e5e38a1358dfed60ae56c6d62b2d1466853d162d9a518da0673e3670d95fd10" +dependencies = [ + "digest 0.11.3", + "elliptic-curve 0.14.0-rc.33", +] + +[[package]] +name = "hash32" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" +dependencies = [ + "byteorder", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash", + "allocator-api2", +] + +[[package]] +name = "hashbrown" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +dependencies = [ + "foldhash 0.1.5", +] + +[[package]] +name = "hashbrown" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash 0.2.0", + "serde", + "serde_core", +] + +[[package]] +name = "hashbrown" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" +dependencies = [ + "foldhash 0.2.0", +] + +[[package]] +name = "hashlink" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" +dependencies = [ + "hashbrown 0.15.5", +] + +[[package]] +name = "hdrhistogram" +version = "7.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "765c9198f173dd59ce26ff9f95ef0aafd0a0fe01fb9d72841bc5066a4c06511d" +dependencies = [ + "base64 0.21.7", + "byteorder", + "crossbeam-channel", + "flate2", + "nom 7.1.3", + "num-traits", +] + +[[package]] +name = "heapless" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" +dependencies = [ + "hash32", + "stable_deref_trait", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hexf-parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" + +[[package]] +name = "hickory-proto" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502" +dependencies = [ + "async-trait", + "cfg-if", + "data-encoding", + "enum-as-inner", + "futures-channel", + "futures-io", + "futures-util", + "idna", + "ipnet", + "once_cell", + "rand 0.9.4", + "ring", + "serde", + "thiserror 2.0.18", + "tinyvec", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "hickory-resolver" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a" +dependencies = [ + "cfg-if", + "futures-util", + "hickory-proto", + "ipconfig", + "moka", + "once_cell", + "parking_lot", + "rand 0.9.4", + "resolv-conf", + "serde", + "smallvec 1.15.1", + "thiserror 2.0.18", + "tokio", + "tracing", +] + +[[package]] +name = "hipstr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97971ffc85d4c98de12e2608e992a43f5294ebb625fdb045b27c731b64c4c6d6" +dependencies = [ + "serde", + "serde_bytes", + "sptr", +] + +[[package]] +name = "hkdf" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +dependencies = [ + "hmac", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "home" +version = "0.5.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "hostname" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "617aaa3557aef3810a6369d0a99fac8a080891b68bd9f9812a1eeda0c0730cbd" +dependencies = [ + "cfg-if", + "libc", + "windows-link", +] + +[[package]] +name = "hstr" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83bb87e4b300d73412f6dcc7022ee7741452b51b155c2b06e5994d0770c2dbe2" +dependencies = [ + "hashbrown 0.14.5", + "new_debug_unreachable", + "once_cell", + "rustc-hash 2.1.2", + "serde", + "triomphe", +] + +[[package]] +name = "http" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8be7462df143984c4598a256ef469b251d7d7f9e271135073e78fc535414f3d0" +dependencies = [ + "bytes", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +dependencies = [ + "bytes", + "http 0.2.12", + "pin-project-lite", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http 1.4.1", +] + +[[package]] +name = "http-body-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +dependencies = [ + "bytes", + "futures-core", + "http 1.4.1", + "http-body 1.0.1", + "pin-project-lite", +] + +[[package]] +name = "http-range" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573" + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "humantime" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424" + +[[package]] +name = "humantime-serde" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c" +dependencies = [ + "humantime", + "serde", +] + +[[package]] +name = "hybrid-array" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9155a582abd142abc056962c29e3ce5ff2ad5469f4246b537ed42c5deba857da" +dependencies = [ + "subtle", + "typenum", + "zeroize", +] + +[[package]] +name = "hyper" +version = "0.14.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2 0.3.27", + "http 0.2.12", + "http-body 0.4.6", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2 0.5.10", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55281c53a1894c864990125767da440a4e630446785086f52523b20033b74498" +dependencies = [ + "atomic-waker", + "bytes", + "futures-channel", + "futures-core", + "h2 0.4.14", + "http 1.4.1", + "http-body 1.0.1", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "smallvec 1.15.1", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.27.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ca68d021ef39cf6463ab54c1d0f5daf03377b70561305bb89a8f83aab66e0f" +dependencies = [ + "http 1.4.1", + "hyper 1.10.1", + "hyper-util", + "rustls", + "tokio", + "tokio-rustls", + "tower-service", +] + +[[package]] +name = "hyper-timeout" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0" +dependencies = [ + "hyper 1.10.1", + "hyper-util", + "pin-project-lite", + "tokio", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-channel", + "futures-util", + "http 1.4.1", + "http-body 1.0.1", + "hyper 1.10.1", + "ipnet", + "libc", + "percent-encoding", + "pin-project-lite", + "socket2 0.6.4", + "tokio", + "tower-service", + "tracing", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.65" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "log", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "icu_calendar" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2b2acc6263f494f1df50685b53ff8e57869e47d5c6fe39c23d518ae9a4f3e45" +dependencies = [ + "calendrical_calculations", + "displaydoc", + "icu_calendar_data", + "icu_locale", + "icu_locale_core", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_calendar_data" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "118577bcf3a0fa7c6ac0a7d6e951814da84ee56b9b1f68fb4d8d10b08cefaf4d" + +[[package]] +name = "icu_collections" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c" +dependencies = [ + "displaydoc", + "potential_utf", + "utf8_iter", + "yoke 0.8.2", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5a396343c7208121dc86e35623d3dfe19814a7613cfd14964994cdc9c9a2e26" +dependencies = [ + "icu_collections", + "icu_locale_core", + "icu_locale_data", + "icu_provider", + "potential_utf", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29" +dependencies = [ + "displaydoc", + "litemap", + "serde", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locale_data" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5fdcc9ac77c6d74ff5cf6e65ef3181d6af32003b16fce3a77fb451d2f695993" + +[[package]] +name = "icu_normalizer" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4" +dependencies = [ + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec 1.15.1", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38" + +[[package]] +name = "icu_properties" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de" +dependencies = [ + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14" + +[[package]] +name = "icu_provider" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421" +dependencies = [ + "displaydoc", + "icu_locale_core", + "serde", + "stable_deref_trait", + "writeable", + "yoke 0.8.2", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "id-arena" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +dependencies = [ + "idna_adapter", + "smallvec 1.15.1", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "if_chain" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd62e6b5e86ea8eeeb8db1de02880a6abc01a397b2ebb64b5d74ac255318f5cb" + +[[package]] +name = "ignore" +version = "0.4.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b915661dd01db3f05050265b2477bcc6527b3792388e2749b41623cc592be67d" +dependencies = [ + "crossbeam-deque", + "globset", + "log", + "memchr", + "regex-automata", + "same-file", + "walkdir", + "winapi-util", +] + +[[package]] +name = "image" +version = "0.25.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85ab80394333c02fe689eaf900ab500fbd0c2213da414687ebf995a65d5a6104" +dependencies = [ + "bytemuck", + "byteorder-lite", + "color_quant", + "gif", + "image-webp", + "moxcms", + "num-traits", + "png", + "zune-core", + "zune-jpeg", +] + +[[package]] +name = "image-webp" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525e9ff3e1a4be2fbea1fdf0e98686a6d98b4d8f937e1bf7402245af1909e8c3" +dependencies = [ + "byteorder-lite", + "quick-error", +] + +[[package]] +name = "imara-diff" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f01d462f766df78ab820dd06f5eb700233c51f0f4c2e846520eaf4ba6aa5c5c" +dependencies = [ + "hashbrown 0.15.5", + "memchr", +] + +[[package]] +name = "impl-more" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8a5a9a0ff0086c7a148acb942baaabeadf9504d10400b5a05645853729b9cd2" + +[[package]] +name = "import_map" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61dcb2ebdf4a4df8e6353c566f4b51ee2f602341538e41e77c8f861ac1bb16d5" +dependencies = [ + "boxed_error", + "deno_error", + "indexmap 2.14.0", + "log", + "percent-encoding", + "serde", + "serde_json", + "thiserror 2.0.18", + "url", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", +] + +[[package]] +name = "indexmap" +version = "2.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" +dependencies = [ + "equivalent", + "hashbrown 0.17.1", + "serde", + "serde_core", +] + +[[package]] +name = "inotify" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" +dependencies = [ + "bitflags 1.3.2", + "inotify-sys", + "libc", +] + +[[package]] +name = "inotify-sys" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" +dependencies = [ + "libc", +] + +[[package]] +name = "inout" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" +dependencies = [ + "block-padding", + "generic-array", +] + +[[package]] +name = "inventory" +version = "0.3.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4f0c30c76f2f4ccee3fe55a2435f691ca00c0e4bd87abe4f4a851b1d4dac39b" +dependencies = [ + "rustversion", +] + +[[package]] +name = "io-extras" +version = "0.18.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2285ddfe3054097ef4b2fe909ef8c3bcd1ea52a8f0d274416caebeef39f04a65" +dependencies = [ + "io-lifetimes", + "windows-sys 0.59.0", +] + +[[package]] +name = "io-lifetimes" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06432fb54d3be7964ecd3649233cddf80db2832f47fec34c01f65b3d9d774983" + +[[package]] +name = "ipconfig" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d40460c0ce33d6ce4b0630ad68ff63d6661961c48b6dba35e5a4d81cfb48222" +dependencies = [ + "socket2 0.6.4", + "widestring", + "windows-registry", + "windows-result", + "windows-sys 0.61.2", +] + +[[package]] +name = "ipnet" +version = "2.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" + +[[package]] +name = "ipnetwork" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf466541e9d546596ee94f9f69590f89473455f88372423e0008fc1a7daf100e" +dependencies = [ + "serde", +] + +[[package]] +name = "is-macro" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d57a3e447e24c22647738e4607f1df1e0ec6f72e16182c4cd199f647cdfb0e4" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "ittapi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b996fe614c41395cdaedf3cf408a9534851090959d90d54a535f675550b64b1" +dependencies = [ + "anyhow", + "ittapi-sys", + "log", +] + +[[package]] +name = "ittapi-sys" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52f5385394064fa2c886205dba02598013ce83d3e92d33dbdc0c52fe0e7bf4fc" +dependencies = [ + "cc", +] + +[[package]] +name = "ixdtf" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ceaf4c6c48465bead8cb6a0b7c4ee0c86ecbb31239032b9c66ab9a08d2f3ee1" + +[[package]] +name = "jni" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5efd9a482cf3a427f00d6b35f14332adc7902ce91efb778580e180ff90fa3498" +dependencies = [ + "cfg-if", + "combine", + "jni-macros", + "jni-sys 0.4.1", + "log", + "simd_cesu8", + "thiserror 2.0.18", + "walkdir", + "windows-link", +] + +[[package]] +name = "jni-macros" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a00109accc170f0bdb141fed3e393c565b6f5e072365c3bd58f5b062591560a3" +dependencies = [ + "proc-macro2", + "quote", + "rustc_version", + "simd_cesu8", + "syn 2.0.117", +] + +[[package]] +name = "jni-sys" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258" +dependencies = [ + "jni-sys 0.4.1", +] + +[[package]] +name = "jni-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2" +dependencies = [ + "jni-sys-macros", +] + +[[package]] +name = "jni-sys-macros" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" +dependencies = [ + "quote", + "syn 2.0.117", +] + +[[package]] +name = "jobserver" +version = "0.1.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" +dependencies = [ + "getrandom 0.3.4", + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "142bc4740e452c1e57ade0cbc129f139c9093e354346f0872ef985f4f5cf5f11" +dependencies = [ + "cfg-if", + "futures-util", + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "jsonc-parser" +version = "0.32.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "840785e1a8b4fdb27be18440a35a81af64820dc185c3973ff8b012d4c6282512" +dependencies = [ + "serde", +] + +[[package]] +name = "junction" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72bbdfd737a243da3dfc1f99ee8d6e166480f17ab4ac84d7c34aacd73fc7bd16" +dependencies = [ + "scopeguard", + "windows-sys 0.52.0", +] + +[[package]] +name = "k256" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" +dependencies = [ + "cfg-if", + "ecdsa", + "elliptic-curve 0.13.8", + "once_cell", + "sha2", + "signature 2.2.0", +] + +[[package]] +name = "kdl" +version = "4.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e03e2e96c5926fe761088d66c8c2aee3a4352a2573f4eaca50043ad130af9117" +dependencies = [ + "miette 5.10.0", + "nom 7.1.3", + "thiserror 1.0.69", +] + +[[package]] +name = "kdl" +version = "6.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "082ddf81b2acd76fe04412655d17befedfff1837db772f8e74c38050d25ed670" +dependencies = [ + "kdl 4.7.1", + "miette 7.6.0", + "num-traits", + "serde", + "winnow 0.7.15", +] + +[[package]] +name = "keccak" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653" +dependencies = [ + "cpufeatures 0.2.17", +] + +[[package]] +name = "keccak" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e24a010dd405bd7ed803e5253182815b41bf2e6a80cc3bfc066658e03a198aa" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.0", +] + +[[package]] +name = "khronos-egl" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" +dependencies = [ + "libc", + "libloading 0.8.9", + "pkg-config", +] + +[[package]] +name = "khronos_api" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" + +[[package]] +name = "kqueue" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "273c0752728918e0ac4976f2b275b6fefb9ecd400585dec929419f3844cd87b5" +dependencies = [ + "kqueue-sys", + "libc", +] + +[[package]] +name = "kqueue-sys" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07293a4e297ac234359b510362495713f75ea345d5307140414f20c69ffeb087" +dependencies = [ + "bitflags 2.11.1", + "libc", +] + +[[package]] +name = "language-tags" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388" + +[[package]] +name = "lazy-regex" +version = "3.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bae91019476d3ec7147de9aa291cadb6d870abf2f3015d2da73a90325ac1496" +dependencies = [ + "lazy-regex-proc_macros", + "once_cell", + "regex", +] + +[[package]] +name = "lazy-regex-proc_macros" +version = "3.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4de9c1e1439d8b7b3061b2d209809f447ca33241733d9a3c01eabf2dc8d94358" +dependencies = [ + "proc-macro2", + "quote", + "regex", + "syn 2.0.117", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin", +] + +[[package]] +name = "lcms2" +version = "6.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b75877b724685dd49310bdbadbf973fc69b1d01992a6d4a861b928fc3943f87b" +dependencies = [ + "bytemuck", + "foreign-types 0.5.0", + "lcms2-sys", +] + +[[package]] +name = "lcms2-sys" +version = "4.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c2604b23848ca80b2add60f0fb2270fd980e622c25029b6597fa01cfd5f8d5f" +dependencies = [ + "cc", + "dunce", + "libc", + "pkg-config", +] + +[[package]] +name = "leb128" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6cc46bac87ef8093eed6f272babb833b6443374399985ac8ed28471ee0918545" + +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + +[[package]] +name = "lets_find_up" +version = "0.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8052b3d5cfa8bae8af3b44aae11a43e9fa48ce0ae477c4a39733a8deff34059" + +[[package]] +name = "libc" +version = "0.2.186" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" + +[[package]] +name = "libffi" +version = "5.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0498fe5655f857803e156523e644dcdcdc3b3c7edda42ea2afdae2e09b2db87b" +dependencies = [ + "libc", + "libffi-sys", +] + +[[package]] +name = "libffi-sys" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71d4f1d4ce15091955144350b75db16a96d4a63728500122706fb4d29a26afbb" +dependencies = [ + "cc", +] + +[[package]] +name = "libloading" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +dependencies = [ + "cfg-if", + "winapi", +] + +[[package]] +name = "libloading" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" +dependencies = [ + "cfg-if", + "windows-link", +] + +[[package]] +name = "libm" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" + +[[package]] +name = "libnghttp2" +version = "1.68.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de061ac7dc8893bbb8b212a03444dc19f0f2f28e2be4c80dbc19aa9cc45586e5" +dependencies = [ + "bindgen 0.71.1", + "cc", + "libc", +] + +[[package]] +name = "libredox" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f02ab6bace2054fb888a3c16f990117b579d14a3088e472d63c6011fa185c9d3" +dependencies = [ + "bitflags 2.11.1", + "libc", + "plain", + "redox_syscall 0.8.1", +] + +[[package]] +name = "libsqlite3-sys" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "133c182a6a2c87864fe97778797e46c7e999672690dc9fa3ee8e241aa4a9c13f" +dependencies = [ + "bindgen 0.72.1", + "cc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "libz-sys" +version = "1.1.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85bc9657773828b90eeb625adff10eeac83cc21bbfd8e23a03eaa8a33c9e28d9" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "linux-raw-sys" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" + +[[package]] +name = "linux-raw-sys" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" + +[[package]] +name = "litemap" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0" + +[[package]] +name = "litrs" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" + +[[package]] +name = "local-channel" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6cbc85e69b8df4b8bb8b89ec634e7189099cea8927a276b7384ce5488e53ec8" +dependencies = [ + "futures-core", + "futures-sink", + "local-waker", +] + +[[package]] +name = "local-ip-address" +version = "0.6.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa08fb2b1ec3ea84575e94b489d06d4ce0cbf052d12acd515838f50e3c3d63e3" +dependencies = [ + "libc", + "neli", + "windows-sys 0.61.2", +] + +[[package]] +name = "local-waker" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d873d7c67ce09b42110d801813efbc9364414e356be9935700d368351657487" + +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "616ec5685824bcc94416c6d4a7a446eea774a31efd7062c8480ba6fd06d7a6e5" + +[[package]] +name = "lru-slab" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" + +[[package]] +name = "mach2" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d640282b302c0bb0a2a8e0233ead9035e3bed871f0b7e81fe4a1ec829765db44" +dependencies = [ + "libc", +] + +[[package]] +name = "macro-string" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59a9dbbfc75d2688ed057456ce8a3ee3f48d12eec09229f560f3643b9f275653" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "macro_rules_attribute" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65049d7923698040cd0b1ddcced9b0eb14dd22c5f86ae59c3740eab64a676520" +dependencies = [ + "macro_rules_attribute-proc_macro", + "paste", +] + +[[package]] +name = "macro_rules_attribute-proc_macro" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "670fdfda89751bc4a84ac13eaa63e205cf0fd22b4c9a5fbfa085b63c1f1d3a30" + +[[package]] +name = "malloc_buf" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +dependencies = [ + "libc", +] + +[[package]] +name = "matchers" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" +dependencies = [ + "regex-automata", +] + +[[package]] +name = "matchit" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" + +[[package]] +name = "matrixmultiply" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08" +dependencies = [ + "autocfg", + "rawpointer", +] + +[[package]] +name = "maybe-owned" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4facc753ae494aeb6e3c22f839b158aebd4f9270f55cd3c79906c45476c47ab4" + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest 0.10.7", +] + +[[package]] +name = "md4" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da5ac363534dce5fabf69949225e174fbf111a498bf0ff794c8ea1fba9f3dda" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "memchr" +version = "2.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8" + +[[package]] +name = "memfd" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad38eb12aea514a0466ea40a80fd8cc83637065948eb4a426e4aa46261175227" +dependencies = [ + "rustix 1.1.4", +] + +[[package]] +name = "memmap2" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "714098028fe011992e1c3962653c96b2d578c4b4bce9036e15ff220319b1e0e3" +dependencies = [ + "libc", +] + +[[package]] +name = "memoffset" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +dependencies = [ + "autocfg", +] + +[[package]] +name = "metal" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7047791b5bc903b8cd963014b355f71dc9864a9a0b727057676c1dcae5cbc15" +dependencies = [ + "bitflags 2.11.1", + "block", + "core-graphics-types", + "foreign-types 0.5.0", + "log", + "objc", + "paste", +] + +[[package]] +name = "miette" +version = "5.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59bb584eaeeab6bd0226ccf3509a69d7936d148cf3d036ad350abe35e8c6856e" +dependencies = [ + "miette-derive", + "once_cell", + "thiserror 1.0.69", + "unicode-width 0.1.14", +] + +[[package]] +name = "miette" +version = "7.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f98efec8807c63c752b5bd61f862c165c115b0a35685bdcfd9238c7aeb592b7" +dependencies = [ + "cfg-if", + "unicode-width 0.1.14", +] + +[[package]] +name = "miette-derive" +version = "5.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "mime_guess" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" +dependencies = [ + "mime", + "unicase", +] + +[[package]] +name = "minicov" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4869b6a491569605d66d3952bcdf03df789e5b536e5f0cf7758a7f08a55ae24d" +dependencies = [ + "cc", + "walkdir", +] + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "mio" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +dependencies = [ + "libc", + "log", + "wasi", + "windows-sys 0.48.0", +] + +[[package]] +name = "mio" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02bd0af71c67b473010cbbc60715ee815645a4dc942899111f494b4b737d6fda" +dependencies = [ + "libc", + "log", + "wasi", + "windows-sys 0.61.2", +] + +[[package]] +name = "moka" +version = "0.12.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "957228ad12042ee839f93c8f257b62b4c0ab5eaae1d4fa60de53b27c9d7c5046" +dependencies = [ + "crossbeam-channel", + "crossbeam-epoch", + "crossbeam-utils", + "equivalent", + "parking_lot", + "portable-atomic", + "smallvec 1.15.1", + "tagptr", + "uuid", +] + +[[package]] +name = "monch" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bcc6ad3b93f756f2532d29f7c7291b8d246a2c460a99a3611327bb726830014" + +[[package]] +name = "moxcms" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b" +dependencies = [ + "num-traits", + "pxfm", +] + +[[package]] +name = "multimap" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084" + +[[package]] +name = "mutually_exclusive_features" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e94e1e6445d314f972ff7395df2de295fe51b71821694f0b0e1e79c4f12c8577" + +[[package]] +name = "naga" +version = "28.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "618f667225063219ddfc61251087db8a9aec3c3f0950c916b614e403486f1135" +dependencies = [ + "arrayvec", + "bit-set 0.8.0", + "bitflags 2.11.1", + "cfg-if", + "cfg_aliases", + "codespan-reporting 0.12.0", + "half", + "hashbrown 0.16.1", + "hexf-parse", + "indexmap 2.14.0", + "libm", + "log", + "num-traits", + "once_cell", + "rustc-hash 1.1.0", + "serde", + "spirv 0.3.0+sdk-1.3.268.0", + "thiserror 2.0.18", + "unicode-ident", +] + +[[package]] +name = "naga" +version = "29.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dd91265cc2454558f659b3b4b9640f0ddb8cc6521277f166b8a8c181c898079" +dependencies = [ + "arrayvec", + "bit-set 0.9.1", + "bitflags 2.11.1", + "cfg-if", + "cfg_aliases", + "codespan-reporting 0.13.1", + "half", + "hashbrown 0.16.1", + "hexf-parse", + "indexmap 2.14.0", + "libm", + "log", + "num-traits", + "once_cell", + "rustc-hash 1.1.0", + "spirv 0.4.0+sdk-1.4.341.0", + "thiserror 2.0.18", + "unicode-ident", +] + +[[package]] +name = "nalgebra" +version = "0.34.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df76ea0ff5c7e6b88689085804d6132ded0ddb9de5ca5b8aeb9eeadc0508a70a" +dependencies = [ + "approx", + "glam 0.14.0", + "glam 0.15.2", + "glam 0.16.0", + "glam 0.17.3", + "glam 0.18.0", + "glam 0.19.0", + "glam 0.20.5", + "glam 0.21.3", + "glam 0.22.0", + "glam 0.23.0", + "glam 0.24.2", + "glam 0.25.0", + "glam 0.27.0", + "glam 0.28.0", + "glam 0.29.3", + "glam 0.30.10", + "glam 0.31.1", + "glam 0.32.1", + "matrixmultiply", + "num-complex", + "num-rational", + "num-traits", + "simba", + "typenum", +] + +[[package]] +name = "napi_sym" +version = "0.179.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "992fe34891b3095f8294867c9d498f3cc5950cf1a6e64013f26232bb237e06d0" +dependencies = [ + "quote", + "serde", + "serde_json", + "syn 2.0.117", +] + +[[package]] +name = "native-tls" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "465500e14ea162429d264d44189adc38b199b62b1c21eea9f69e4b73cb03bbf2" +dependencies = [ + "libc", + "log", + "openssl", + "openssl-probe 0.2.1", + "openssl-sys", + "schannel", + "security-framework 3.7.0", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "ndk-sys" +version = "0.6.0+11769913" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" +dependencies = [ + "jni-sys 0.3.1", +] + +[[package]] +name = "neli" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22f9786d56d972959e1408b6a93be6af13b9c1392036c5c1fafa08a1b0c6ee87" +dependencies = [ + "bitflags 2.11.1", + "byteorder", + "derive_builder", + "getset", + "libc", + "log", + "neli-proc-macros", + "parking_lot", +] + +[[package]] +name = "neli-proc-macros" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05d8d08c6e98f20a62417478ebf7be8e1425ec9acecc6f63e22da633f6b71609" +dependencies = [ + "either", + "proc-macro2", + "quote", + "serde", + "syn 2.0.117", +] + +[[package]] +name = "netif" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29a01b9f018d6b7b277fef6c79fdbd9bf17bb2d1e298238055cafab49baa5ee" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + +[[package]] +name = "nibble_vec" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43" +dependencies = [ + "smallvec 1.15.1", +] + +[[package]] +name = "nix" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" +dependencies = [ + "bitflags 2.11.1", + "cfg-if", + "cfg_aliases", + "libc", + "memoffset", +] + +[[package]] +name = "nix" +version = "0.31.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d" +dependencies = [ + "bitflags 2.11.1", + "cfg-if", + "cfg_aliases", + "libc", + "memoffset", +] + +[[package]] +name = "node_resolver" +version = "0.87.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "968cd8dc2485957d16c272cd17690e2a694f9b0b3cd58507371b293b994bbe52" +dependencies = [ + "anyhow", + "async-trait", + "boxed_error", + "capacity_builder", + "deno_error", + "deno_maybe_sync", + "deno_media_type", + "deno_package_json", + "deno_path_util", + "deno_semver", + "futures", + "lazy-regex", + "log", + "once_cell", + "path-clean", + "pretty_assertions", + "regex", + "serde", + "serde_json", + "sys_traits", + "thiserror 2.0.18", + "url", +] + +[[package]] +name = "node_shim" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14d13f10160d4daf72fe19ab57400ce915d11f887191b5287ee0dc3d9a5569d6" +dependencies = [ + "exec", + "serde_json", + "url", +] + +[[package]] +name = "nom" +version = "5.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08959a387a676302eebf4ddbcbc611da04285579f76f88ee0506c63b1a61dd4b" +dependencies = [ + "memchr", + "version_check", +] + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ - "actix-web", - "actix-ws", - "bytes", - "chrono", - "edge-toolkit", - "fs-err", - "futures-util", - "opentelemetry", - "serde", - "serde_json", - "serde_yaml", - "tokio", - "tracing", - "uuid", + "memchr", + "minimal-lexical", ] [[package]] -name = "et-ws-speech-recognition" -version = "0.1.0" +name = "notify" +version = "6.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" dependencies = [ - "et-web", - "et-ws-wasm-agent", - "js-sys", - "serde", - "serde-wasm-bindgen", - "serde_json", - "tracing", - "tracing-wasm", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-bindgen-test", - "web-sys", + "bitflags 2.11.1", + "crossbeam-channel", + "filetime", + "fsevent-sys", + "inotify", + "kqueue", + "libc", + "log", + "mio 0.8.11", + "walkdir", + "windows-sys 0.48.0", ] [[package]] -name = "et-ws-test-server" -version = "0.1.0" +name = "ntapi" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3b335231dfd352ffb0f8017f3b6027a4917f7df785ea2143d8af2adc66980ae" dependencies = [ - "actix", - "actix-rt", - "actix-web", - "edge-toolkit", - "et-modules-service", - "et-storage-service", - "et-ws-service", - "futures-util", - "serde_json", - "tempfile", - "tokio", - "tokio-tungstenite", - "tracing-actix-web", + "winapi", ] [[package]] -name = "et-ws-video1" -version = "0.1.0" +name = "nu-ansi-term" +version = "0.50.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "et-web", - "et-ws-wasm-agent", - "js-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", + "rand 0.8.5", "serde", - "serde-wasm-bindgen", - "serde_json", - "tracing", - "tracing-wasm", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-bindgen-test", - "web-sys", ] [[package]] -name = "et-ws-wasi-comm1" -version = "0.1.0" +name = "num-bigint-dig" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7" dependencies = [ - "serde_json", - "wit-bindgen 0.57.1", + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand 0.8.5", + "serde", + "smallvec 1.15.1", + "zeroize", ] [[package]] -name = "et-ws-wasi-data1" -version = "0.1.0" +name = "num-complex" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ - "serde_json", - "wit-bindgen 0.57.1", + "num-traits", ] [[package]] -name = "et-ws-wasi-runner" -version = "0.1.0" +name = "num-conv" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441" + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "async-trait", - "bytemuck", - "edge-toolkit", - "et-otlp", - "et-rest-client", - "et-ws-test-server", - "futures-util", - "opentelemetry", - "opentelemetry-http", - "ort", - "otlp-mock", - "pollster", - "reqwest 0.13.4", - "rstest", - "serde", - "serde-env", - "serde_json", - "serde_path_to_error", - "thiserror 2.0.18", - "tokio", - "tokio-tungstenite", - "tracing", - "tracing-opentelemetry", - "tracing-subscriber", - "wasmtime", - "wasmtime-wasi", - "wasmtime-wasi-nn", - "wgpu", + "num-traits", ] [[package]] -name = "et-ws-wasm-agent" -version = "0.1.0" +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ - "chrono", - "edge-toolkit", - "et-web", - "js-sys", - "serde", - "serde_json", - "tracing", - "tracing-wasm", - "wasm-bindgen", - "wasm-bindgen-test", - "web-sys", + "autocfg", + "num-integer", + "num-traits", ] [[package]] -name = "fastrand" -version = "2.4.1" +name = "num-rational" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", +] [[package]] -name = "fd-lock" -version = "4.0.4" +name = "num-traits" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce92ff622d6dadf7349484f42c93271a0d49b7cc4d466a936405bacbe10aa78" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ - "cfg-if", - "rustix 1.1.4", - "windows-sys 0.59.0", + "autocfg", + "libm", ] [[package]] -name = "filetime" -version = "0.2.29" +name = "num_cpus" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c287a33c7f0a620c38e641e7f60827713987b3c0f26e8ddc9462cc69cf75759" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" dependencies = [ - "cfg-if", + "hermit-abi", "libc", ] [[package]] -name = "find-msvc-tools" -version = "0.1.9" +name = "objc" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" +checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +dependencies = [ + "malloc_buf", +] [[package]] -name = "fixedbitset" -version = "0.4.2" +name = "objc2" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" +dependencies = [ + "objc2-encode", +] [[package]] -name = "fixedbitset" -version = "0.5.7" +name = "objc2-core-foundation" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" +dependencies = [ + "bitflags 2.11.1", + "dispatch2", + "objc2", +] [[package]] -name = "flate2" -version = "1.1.9" +name = "objc2-encode" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "objc2-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" dependencies = [ - "crc32fast", - "miniz_oxide", + "bitflags 2.11.1", + "objc2", + "objc2-core-foundation", ] [[package]] -name = "fnv" -version = "1.0.7" +name = "objc2-metal" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +checksum = "a0125f776a10d00af4152d74616409f0d4a2053a6f57fa5b7d6aa2854ac04794" +dependencies = [ + "bitflags 2.11.1", + "block2", + "objc2", + "objc2-foundation", +] [[package]] -name = "foldhash" -version = "0.1.5" +name = "objc2-quartz-core" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" +dependencies = [ + "bitflags 2.11.1", + "objc2", + "objc2-core-foundation", + "objc2-foundation", + "objc2-metal", +] [[package]] -name = "foldhash" -version = "0.2.0" +name = "object" +version = "0.37.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" +checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" +dependencies = [ + "memchr", +] [[package]] -name = "foreign-types" -version = "0.3.2" +name = "object" +version = "0.39.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +checksum = "2e5a6c098c7a3b6547378093f5cc30bc54fd361ce711e05293a5cc589562739b" dependencies = [ - "foreign-types-shared", + "crc32fast", + "hashbrown 0.17.1", + "indexmap 2.14.0", + "memchr", ] [[package]] -name = "foreign-types-shared" -version = "0.1.1" +name = "ocb3" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +checksum = "c196e0276c471c843dd5777e7543a36a298a4be942a2a688d8111cd43390dedb" +dependencies = [ + "aead", + "cipher", + "ctr", + "subtle", +] [[package]] -name = "form_urlencoded" -version = "1.2.2" +name = "oid-registry" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff" dependencies = [ - "percent-encoding", + "asn1-rs 0.5.2", ] [[package]] -name = "fs-err" -version = "3.3.0" +name = "oid-registry" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73fde052dbfc920003cfd2c8e2c6e6d4cc7c1091538c3a24226cec0665ab08c0" +checksum = "12f40cff3dde1b6087cc5d5f5d4d65712f34016a03ed60e9c08dcc392736b5b7" dependencies = [ - "autocfg", + "asn1-rs 0.7.2", ] [[package]] -name = "fs-set-times" -version = "0.20.3" +name = "once_cell" +version = "1.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94e7099f6313ecacbe1256e8ff9d617b75d1bcb16a6fddef94866d225a01a14a" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" dependencies = [ - "io-lifetimes", - "rustix 1.1.4", - "windows-sys 0.59.0", + "critical-section", + "portable-atomic", ] [[package]] -name = "fs_extra" -version = "1.3.0" +name = "once_cell_polyfill" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" [[package]] -name = "futures" -version = "0.3.32" +name = "onnx-extractor" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" +checksum = "7f8a7b1752ce77203505f0939b9861ec10905100d017720bc66400502ce1e531" dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", + "memmap2", + "prost 0.14.3", + "prost-build", ] [[package]] -name = "futures-channel" -version = "0.3.32" +name = "oorandom" +version = "11.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" -dependencies = [ - "futures-core", - "futures-sink", -] +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] -name = "futures-core" -version = "0.3.32" +name = "opaque-debug" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] -name = "futures-executor" -version = "0.3.32" +name = "openapiv3" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" +checksum = "5c8d427828b22ae1fff2833a03d8486c2c881367f1c336349f307f321e7f4d05" dependencies = [ - "futures-core", - "futures-task", - "futures-util", + "indexmap 2.14.0", + "serde", + "serde_json", ] [[package]] -name = "futures-io" -version = "0.3.32" +name = "openssl" +version = "0.10.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" +checksum = "a45fa2aa886c42762255da344f0a0d313e254066c46aad76f300c3d3da62d967" +dependencies = [ + "bitflags 2.11.1", + "cfg-if", + "foreign-types 0.3.2", + "libc", + "openssl-macros", + "openssl-sys", +] [[package]] -name = "futures-macro" -version = "0.3.32" +name = "openssl-macros" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", @@ -2220,924 +7694,982 @@ dependencies = [ ] [[package]] -name = "futures-sink" -version = "0.3.32" +name = "openssl-probe" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] -name = "futures-task" -version = "0.3.32" +name = "openssl-probe" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" +checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" [[package]] -name = "futures-timer" -version = "3.0.4" +name = "openssl-sys" +version = "0.9.116" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af43fadb8a98512d547e37b4e92e0ced13e205c061b87b4623eff01d918d6968" +checksum = "f28a22dc7140cda5f096e5e7724a6962ca81a7f8bfd2979f9b18c11af56318c4" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] [[package]] -name = "futures-util" -version = "0.3.32" +name = "opentelemetry" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" +checksum = "ab70038c28ed37b97d8ed414b6429d343a8bbf44c9f79ec854f3a643029ba6d7" dependencies = [ - "futures-channel", "futures-core", - "futures-io", - "futures-macro", "futures-sink", - "futures-task", - "memchr", + "js-sys", "pin-project-lite", - "slab", -] - -[[package]] -name = "fxprof-processed-profile" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25234f20a3ec0a962a61770cfe39ecf03cb529a6e474ad8cff025ed497eda557" -dependencies = [ - "bitflags", - "debugid", - "rustc-hash 2.1.2", - "serde", - "serde_derive", - "serde_json", + "thiserror 1.0.69", + "tracing", ] [[package]] -name = "generic-array" -version = "0.14.7" +name = "opentelemetry" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +checksum = "b84bcd6ae87133e903af7ef497404dda70c60d0ea14895fc8a5e6722754fc2a0" dependencies = [ - "typenum", - "version_check", + "futures-core", + "futures-sink", + "js-sys", + "pin-project-lite", + "thiserror 2.0.18", + "tracing", ] [[package]] -name = "getrandom" -version = "0.2.17" +name = "opentelemetry-appender-tracing" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +checksum = "ef6a1ac5ca3accf562b8c306fa8483c85f4390f768185ab775f242f7fe8fdcc2" dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi", - "wasm-bindgen", + "opentelemetry 0.31.0", + "tracing", + "tracing-core", + "tracing-subscriber", ] [[package]] -name = "getrandom" -version = "0.3.4" +name = "opentelemetry-http" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +checksum = "10a8a7f5f6ba7c1b286c2fbca0454eaba116f63bbe69ed250b642d36fbb04d80" dependencies = [ - "cfg-if", - "js-sys", - "libc", - "r-efi 5.3.0", - "wasip2", - "wasm-bindgen", + "async-trait", + "bytes", + "http 1.4.1", + "opentelemetry 0.27.1", ] [[package]] -name = "getrandom" -version = "0.4.2" +name = "opentelemetry-http" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +checksum = "d7a6d09a73194e6b66df7c8f1b680f156d916a1a942abf2de06823dd02b7855d" dependencies = [ - "cfg-if", - "libc", - "r-efi 6.0.0", - "rand_core 0.10.1", - "wasip2", - "wasip3", + "async-trait", + "bytes", + "http 1.4.1", + "opentelemetry 0.31.0", + "reqwest 0.12.28", ] [[package]] -name = "getset" -version = "0.1.6" +name = "opentelemetry-otlp" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf0fc11e47561d47397154977bc219f4cf809b2974facc3ccb3b89e2436f912" +checksum = "91cf61a1868dacc576bf2b2a1c3e9ab150af7272909e80085c3173384fe11f76" dependencies = [ - "proc-macro-error2", - "proc-macro2", - "quote", - "syn 2.0.117", + "async-trait", + "futures-core", + "http 1.4.1", + "opentelemetry 0.27.1", + "opentelemetry-http 0.27.0", + "opentelemetry-proto 0.27.0", + "opentelemetry_sdk 0.27.1", + "prost 0.13.5", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tonic 0.12.3", + "tracing", ] [[package]] -name = "gimli" -version = "0.33.0" +name = "opentelemetry-otlp" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf7f043f89559805f8c7cacc432749b2fa0d0a0a9ee46ce47164ed5ba7f126c" +checksum = "1f69cd6acbb9af919df949cd1ec9e5e7fdc2ef15d234b6b795aaa525cc02f71f" dependencies = [ - "fnv", - "hashbrown 0.16.1", - "indexmap", - "stable_deref_trait", + "http 1.4.1", + "opentelemetry 0.31.0", + "opentelemetry-http 0.31.0", + "opentelemetry-proto 0.31.0", + "opentelemetry_sdk 0.31.0", + "prost 0.14.3", + "reqwest 0.12.28", + "serde_json", + "thiserror 2.0.18", ] [[package]] -name = "glob" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" - -[[package]] -name = "gpu-allocator" -version = "0.28.0" +name = "opentelemetry-proto" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51255ea7cfaadb6c5f1528d43e92a82acb2b96c43365989a28b2d44ee38f8795" +checksum = "a6e05acbfada5ec79023c85368af14abd0b307c015e9064d249b2a950ef459a6" dependencies = [ - "ash", - "hashbrown 0.16.1", - "log", - "presser", - "thiserror 2.0.18", - "windows", + "hex", + "opentelemetry 0.27.1", + "opentelemetry_sdk 0.27.1", + "prost 0.13.5", + "serde", + "tonic 0.12.3", ] [[package]] -name = "gpu-descriptor" -version = "0.3.2" +name = "opentelemetry-proto" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca" +checksum = "a7175df06de5eaee9909d4805a3d07e28bb752c34cab57fa9cff549da596b30f" dependencies = [ - "bitflags", - "gpu-descriptor-types", - "hashbrown 0.15.5", + "base64 0.22.1", + "const-hex", + "opentelemetry 0.31.0", + "opentelemetry_sdk 0.31.0", + "prost 0.14.3", + "serde", + "serde_json", + "tonic 0.14.6", + "tonic-prost", ] [[package]] -name = "gpu-descriptor-types" -version = "0.2.0" +name = "opentelemetry-semantic-conventions" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" -dependencies = [ - "bitflags", -] +checksum = "bc1b6902ff63b32ef6c489e8048c5e253e2e4a803ea3ea7e783914536eb15c52" [[package]] -name = "h2" -version = "0.3.27" +name = "opentelemetry_sdk" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0beca50380b1fc32983fc1cb4587bfa4bb9e78fc259aad4a0032d2080309222d" +checksum = "231e9d6ceef9b0b2546ddf52335785ce41252bc7474ee8ba05bfad277be13ab8" dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", + "async-trait", + "futures-channel", + "futures-executor", "futures-util", - "http 0.2.12", - "indexmap", - "slab", + "glob", + "opentelemetry 0.27.1", + "percent-encoding", + "rand 0.8.5", + "serde_json", + "thiserror 1.0.69", "tokio", - "tokio-util", + "tokio-stream", "tracing", ] [[package]] -name = "half" -version = "2.7.1" +name = "opentelemetry_sdk" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +checksum = "e14ae4f5991976fd48df6d843de219ca6d31b01daaab2dad5af2badeded372bd" dependencies = [ - "cfg-if", - "crunchy", - "num-traits", - "zerocopy", + "futures-channel", + "futures-executor", + "futures-util", + "opentelemetry 0.31.0", + "percent-encoding", + "rand 0.9.4", + "thiserror 2.0.18", ] [[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" - -[[package]] -name = "hashbrown" -version = "0.15.5" +name = "ordered-float" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" dependencies = [ - "foldhash 0.1.5", + "num-traits", ] [[package]] -name = "hashbrown" -version = "0.16.1" +name = "ordered-float" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +checksum = "b7d950ca161dc355eaf28f82b11345ed76c6e1f6eb1f4f4479e0323b9e2fbd0e" dependencies = [ - "allocator-api2", - "equivalent", - "foldhash 0.2.0", - "serde", - "serde_core", + "num-traits", ] [[package]] -name = "hashbrown" -version = "0.17.1" +name = "ort" +version = "2.0.0-rc.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" +checksum = "1fa7e49bd669d32d7bc2a15ec540a527e7764aec722a45467814005725bcd721" dependencies = [ - "foldhash 0.2.0", + "ort-sys", + "smallvec 2.0.0-alpha.10", ] [[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - -[[package]] -name = "hexf-parse" -version = "0.2.1" +name = "ort-sys" +version = "2.0.0-rc.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" +checksum = "e2aba9f5c7c479925205799216e7e5d07cc1d4fa76ea8058c60a9a30f6a4e890" +dependencies = [ + "flate2", + "pkg-config", + "sha2", + "tar", + "ureq", +] [[package]] -name = "hostname" -version = "0.4.2" +name = "os_pipe" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "617aaa3557aef3810a6369d0a99fac8a080891b68bd9f9812a1eeda0c0730cbd" +checksum = "5ffd2b0a5634335b135d5728d84c5e0fd726954b87111f7506a61c502280d982" dependencies = [ - "cfg-if", "libc", - "windows-link", + "windows-sys 0.59.0", ] [[package]] -name = "http" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +name = "otlp-mock" +version = "0.1.0" dependencies = [ - "bytes", - "fnv", - "itoa", + "actix-rt", + "actix-web", + "serde_json", ] [[package]] -name = "http" -version = "1.4.1" +name = "outref" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8be7462df143984c4598a256ef469b251d7d7f9e271135073e78fc535414f3d0" -dependencies = [ - "bytes", - "itoa", -] +checksum = "1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e" [[package]] -name = "http-body" -version = "1.0.1" +name = "p12" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +checksum = "d4873306de53fe82e7e484df31e1e947d61514b6ea2ed6cd7b45d63006fd9224" dependencies = [ - "bytes", - "http 1.4.1", + "cbc", + "cipher", + "des", + "getrandom 0.2.17", + "hmac", + "lazy_static", + "rc2", + "sha1 0.10.6", + "yasna 0.5.2", ] [[package]] -name = "http-body-util" -version = "0.1.3" +name = "p224" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +checksum = "30c06436d66652bc2f01ade021592c80a2aad401570a18aa18b82e440d2b9aa1" dependencies = [ - "bytes", - "futures-core", - "http 1.4.1", - "http-body", - "pin-project-lite", + "ecdsa", + "elliptic-curve 0.13.8", + "primeorder", + "sha2", ] [[package]] -name = "http-range" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573" - -[[package]] -name = "httparse" -version = "1.10.1" +name = "p256" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" +checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" +dependencies = [ + "ecdsa", + "elliptic-curve 0.13.8", + "primeorder", + "sha2", +] [[package]] -name = "httpdate" -version = "1.0.3" +name = "p384" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" +checksum = "fe42f1670a52a47d448f14b6a5c61dd78fce51856e68edaa38f7ae3a46b8d6b6" +dependencies = [ + "ecdsa", + "elliptic-curve 0.13.8", + "primeorder", + "sha2", +] [[package]] -name = "hybrid-array" -version = "0.4.12" +name = "p521" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9155a582abd142abc056962c29e3ce5ff2ad5469f4246b537ed42c5deba857da" +checksum = "0fc9e2161f1f215afdfce23677034ae137bbd45016a880c2eb3ba8eb95f085b2" dependencies = [ - "typenum", + "base16ct 0.2.0", + "ecdsa", + "elliptic-curve 0.13.8", + "primeorder", + "rand_core 0.6.4", + "sha2", ] [[package]] -name = "hyper" -version = "1.10.1" +name = "par-core" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55281c53a1894c864990125767da440a4e630446785086f52523b20033b74498" +checksum = "e96cbd21255b7fb29a5d51ef38a779b517a91abd59e2756c039583f43ef4c90f" dependencies = [ - "atomic-waker", - "bytes", - "futures-channel", - "futures-core", - "http 1.4.1", - "http-body", - "httparse", - "itoa", - "pin-project-lite", - "smallvec 1.15.1", - "tokio", - "want", + "once_cell", ] [[package]] -name = "hyper-rustls" -version = "0.27.9" +name = "parking_lot" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ca68d021ef39cf6463ab54c1d0f5daf03377b70561305bb89a8f83aab66e0f" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" dependencies = [ - "http 1.4.1", - "hyper", - "hyper-util", - "rustls", - "tokio", - "tokio-rustls", - "tower-service", + "lock_api", + "parking_lot_core", ] [[package]] -name = "hyper-util" -version = "0.1.20" +name = "parking_lot_core" +version = "0.9.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ - "base64", - "bytes", - "futures-channel", - "futures-util", - "http 1.4.1", - "http-body", - "hyper", - "ipnet", + "cfg-if", "libc", - "percent-encoding", - "pin-project-lite", - "socket2 0.6.4", - "tokio", - "tower-service", - "tracing", + "redox_syscall 0.5.18", + "smallvec 1.15.1", + "windows-link", ] [[package]] -name = "iana-time-zone" -version = "0.1.65" +name = "paste" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "log", - "wasm-bindgen", - "windows-core", -] +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" +name = "path-clean" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] +checksum = "ecba01bf2678719532c5e3059e0b5f0811273d94b397088b82e3bd0a78c78fdd" [[package]] -name = "icu_collections" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c" -dependencies = [ - "displaydoc", - "potential_utf", - "utf8_iter", - "yoke", - "zerofrom", - "zerovec", -] +name = "pathdiff" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" [[package]] -name = "icu_locale_core" -version = "2.2.0" +name = "pbkdf2" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ - "displaydoc", - "litemap", - "tinystr", - "writeable", - "zerovec", + "digest 0.10.7", + "hmac", ] [[package]] -name = "icu_normalizer" -version = "2.2.0" +name = "pem" +version = "3.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4" +checksum = "1d30c53c26bc5b31a98cd02d20f25a7c8567146caf63ed593a9d87b2775291be" dependencies = [ - "icu_collections", - "icu_normalizer_data", - "icu_properties", - "icu_provider", - "smallvec 1.15.1", - "zerovec", + "base64 0.22.1", + "serde_core", ] [[package]] -name = "icu_normalizer_data" -version = "2.2.0" +name = "pem-rfc7468" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] [[package]] -name = "icu_properties" -version = "2.2.0" +name = "pem-rfc7468" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de" +checksum = "a6305423e0e7738146434843d1694d621cce767262b2a86910beab705e4493d9" dependencies = [ - "icu_collections", - "icu_locale_core", - "icu_properties_data", - "icu_provider", - "zerotrie", - "zerovec", + "base64ct", ] [[package]] -name = "icu_properties_data" -version = "2.2.0" +name = "percent-encoding" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] -name = "icu_provider" -version = "2.2.0" +name = "petgraph" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ - "displaydoc", - "icu_locale_core", - "writeable", - "yoke", - "zerofrom", - "zerotrie", - "zerovec", + "fixedbitset 0.4.2", + "indexmap 2.14.0", ] [[package]] -name = "id-arena" -version = "2.3.0" +name = "petgraph" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" +checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455" +dependencies = [ + "fixedbitset 0.5.7", + "hashbrown 0.15.5", + "indexmap 2.14.0", +] [[package]] -name = "ident_case" -version = "1.0.1" +name = "phf" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" +dependencies = [ + "phf_macros 0.11.3", + "phf_shared 0.11.3", +] [[package]] -name = "idna" -version = "1.1.0" +name = "phf" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf" dependencies = [ - "idna_adapter", - "smallvec 1.15.1", - "utf8_iter", + "phf_macros 0.13.1", + "phf_shared 0.13.1", + "serde", ] [[package]] -name = "idna_adapter" -version = "1.2.2" +name = "phf_generator" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714" +checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ - "icu_normalizer", - "icu_properties", + "phf_shared 0.11.3", + "rand 0.8.5", ] [[package]] -name = "impl-more" -version = "0.1.9" +name = "phf_generator" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a5a9a0ff0086c7a148acb942baaabeadf9504d10400b5a05645853729b9cd2" +checksum = "135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737" +dependencies = [ + "fastrand", + "phf_shared 0.13.1", +] [[package]] -name = "indexmap" -version = "2.14.0" +name = "phf_macros" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" +checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" dependencies = [ - "equivalent", - "hashbrown 0.17.1", - "serde", - "serde_core", + "phf_generator 0.11.3", + "phf_shared 0.11.3", + "proc-macro2", + "quote", + "syn 2.0.117", ] [[package]] -name = "io-extras" -version = "0.18.4" +name = "phf_macros" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2285ddfe3054097ef4b2fe909ef8c3bcd1ea52a8f0d274416caebeef39f04a65" +checksum = "812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef" dependencies = [ - "io-lifetimes", - "windows-sys 0.59.0", + "phf_generator 0.13.1", + "phf_shared 0.13.1", + "proc-macro2", + "quote", + "syn 2.0.117", ] [[package]] -name = "io-lifetimes" -version = "2.0.4" +name = "phf_shared" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06432fb54d3be7964ecd3649233cddf80db2832f47fec34c01f65b3d9d774983" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" +dependencies = [ + "siphasher 1.0.3", +] [[package]] -name = "ipnet" -version = "2.12.0" +name = "phf_shared" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" +checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" +dependencies = [ + "siphasher 1.0.3", +] [[package]] -name = "is_terminal_polyfill" -version = "1.70.2" +name = "pin-project" +version = "1.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" +checksum = "2466b2336ed02bcdca6b294417127b90ec92038d1d5c4fbeac971a922e0e0924" +dependencies = [ + "pin-project-internal", +] [[package]] -name = "itertools" -version = "0.14.0" +name = "pin-project-internal" +version = "1.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +checksum = "c96395f0a926bc13b1c17622aaddda1ecb55d49c8f1bf9777e4d877800a43f8b" dependencies = [ - "either", + "proc-macro2", + "quote", + "syn 2.0.117", ] [[package]] -name = "itoa" -version = "1.0.18" +name = "pin-project-lite" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" [[package]] -name = "ittapi" -version = "0.4.0" +name = "pkcs1" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b996fe614c41395cdaedf3cf408a9534851090959d90d54a535f675550b64b1" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" dependencies = [ - "anyhow", - "ittapi-sys", - "log", + "der 0.7.10", + "pkcs8 0.10.2", + "spki 0.7.3", ] [[package]] -name = "ittapi-sys" -version = "0.4.0" +name = "pkcs5" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52f5385394064fa2c886205dba02598013ce83d3e92d33dbdc0c52fe0e7bf4fc" +checksum = "e847e2c91a18bfa887dd028ec33f2fe6f25db77db3619024764914affe8b69a6" dependencies = [ - "cc", + "aes", + "cbc", + "der 0.7.10", + "pbkdf2", + "scrypt", + "sha2", + "spki 0.7.3", ] [[package]] -name = "jni" -version = "0.22.4" +name = "pkcs8" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5efd9a482cf3a427f00d6b35f14332adc7902ce91efb778580e180ff90fa3498" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ - "cfg-if", - "combine", - "jni-macros", - "jni-sys", - "log", - "simd_cesu8", - "thiserror 2.0.18", - "walkdir", - "windows-link", + "der 0.7.10", + "pkcs5", + "rand_core 0.6.4", + "spki 0.7.3", ] [[package]] -name = "jni-macros" -version = "0.22.4" +name = "pkcs8" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a00109accc170f0bdb141fed3e393c565b6f5e072365c3bd58f5b062591560a3" +checksum = "451913da69c775a56034ea8d9003d27ee8948e12443eae7c038ba100a4f21cb7" dependencies = [ - "proc-macro2", - "quote", - "rustc_version", - "simd_cesu8", - "syn 2.0.117", + "der 0.8.0", + "spki 0.8.0", ] [[package]] -name = "jni-sys" -version = "0.4.1" +name = "pkg-config" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2" -dependencies = [ - "jni-sys-macros", -] +checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e" [[package]] -name = "jni-sys-macros" -version = "0.4.1" +name = "plain" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" +checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" + +[[package]] +name = "png" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" dependencies = [ - "quote", - "syn 2.0.117", + "bitflags 2.11.1", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", ] [[package]] -name = "jobserver" -version = "0.1.34" +name = "pollster" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" +checksum = "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3" + +[[package]] +name = "polyval" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" dependencies = [ - "getrandom 0.3.4", - "libc", + "cfg-if", + "cpufeatures 0.2.17", + "opaque-debug", + "universal-hash", ] [[package]] -name = "js-sys" -version = "0.3.99" +name = "portable-atomic" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "142bc4740e452c1e57ade0cbc129f139c9093e354346f0872ef985f4f5cf5f11" +checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" + +[[package]] +name = "portable-atomic-util" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618" dependencies = [ - "cfg-if", - "futures-util", - "once_cell", - "wasm-bindgen", + "portable-atomic", ] [[package]] -name = "kdl" -version = "4.7.1" +name = "postcard" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e03e2e96c5926fe761088d66c8c2aee3a4352a2573f4eaca50043ad130af9117" +checksum = "6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24" dependencies = [ - "miette 5.10.0", - "nom", - "thiserror 1.0.69", + "cobs", + "embedded-io 0.4.0", + "embedded-io 0.6.1", + "serde", ] [[package]] -name = "kdl" -version = "6.7.1" +name = "potential_utf" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "082ddf81b2acd76fe04412655d17befedfff1837db772f8e74c38050d25ed670" +checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564" dependencies = [ - "kdl 4.7.1", - "miette 7.6.0", - "num-traits", - "serde", - "winnow 0.7.15", + "serde_core", + "writeable", + "zerovec", ] [[package]] -name = "language-tags" -version = "0.3.2" +name = "powerfmt" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] -name = "lazy_static" -version = "1.5.0" +name = "ppv-lite86" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] [[package]] -name = "leb128" -version = "0.2.6" +name = "presser" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cc46bac87ef8093eed6f272babb833b6443374399985ac8ed28471ee0918545" +checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa" [[package]] -name = "leb128fmt" -version = "0.1.0" +name = "pretty_assertions" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" +checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" +dependencies = [ + "diff", + "yansi", +] [[package]] -name = "lets_find_up" -version = "0.0.4" +name = "pretty_yaml" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8052b3d5cfa8bae8af3b44aae11a43e9fa48ce0ae477c4a39733a8deff34059" +checksum = "6f5db2b0044c0dae209c173c6049f210c9449092b07304c9c8b8d555c606e93e" +dependencies = [ + "rowan", + "tiny_pretty", + "yaml_parser", +] [[package]] -name = "libc" -version = "0.2.186" +name = "prettyplease" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +dependencies = [ + "proc-macro2", + "syn 2.0.117", +] [[package]] -name = "libloading" -version = "0.8.9" +name = "primeorder" +version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" +checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" dependencies = [ - "cfg-if", - "windows-link", + "elliptic-curve 0.13.8", ] [[package]] -name = "libm" -version = "0.2.16" +name = "proc-macro-crate" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" +checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" +dependencies = [ + "toml_edit 0.25.12+spec-1.1.0", +] [[package]] -name = "libredox" -version = "0.1.17" +name = "proc-macro-error-attr2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f02ab6bace2054fb888a3c16f990117b579d14a3088e472d63c6011fa185c9d3" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" dependencies = [ - "libc", + "proc-macro2", + "quote", ] [[package]] -name = "linux-raw-sys" -version = "0.4.15" +name = "proc-macro-error2" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +dependencies = [ + "proc-macro-error-attr2", + "proc-macro2", + "quote", + "syn 2.0.117", +] [[package]] -name = "linux-raw-sys" -version = "0.12.1" +name = "proc-macro2" +version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +dependencies = [ + "unicode-ident", +] [[package]] -name = "litemap" -version = "0.8.2" +name = "profiling" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0" +checksum = "3d595e54a326bc53c1c197b32d295e14b169e3cfeaa8dc82b529f947fba6bcf5" [[package]] -name = "litrs" -version = "1.0.0" +name = "progenitor" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" +checksum = "d8ba1d77160e6d5c95bdf0792527f76bf528791093fa83015bc2908a0ba9d076" +dependencies = [ + "progenitor-client", + "progenitor-impl", + "progenitor-macro", +] [[package]] -name = "local-channel" -version = "0.1.5" +name = "progenitor-client" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6cbc85e69b8df4b8bb8b89ec634e7189099cea8927a276b7384ce5488e53ec8" +checksum = "4e8a874cf25a33cac7a01b9c1de87bcfbc8aea93f3156d09dcc3bee516a78926" dependencies = [ + "bytes", "futures-core", - "futures-sink", - "local-waker", + "percent-encoding", + "reqwest 0.13.4", + "serde", + "serde_json", + "serde_urlencoded", ] [[package]] -name = "local-ip-address" -version = "0.6.13" +name = "progenitor-impl" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa08fb2b1ec3ea84575e94b489d06d4ce0cbf052d12acd515838f50e3c3d63e3" +checksum = "f6e349eed84b9a1a6a5dbe478d335e3df73d32a93c5eefe571c9b8cb298aab5d" dependencies = [ - "libc", - "neli", - "windows-sys 0.61.2", + "heck", + "http 1.4.1", + "indexmap 2.14.0", + "openapiv3", + "proc-macro2", + "quote", + "regex", + "schemars 0.8.22", + "serde", + "serde_json", + "syn 2.0.117", + "thiserror 2.0.18", + "typify", + "unicode-ident", ] [[package]] -name = "local-waker" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d873d7c67ce09b42110d801813efbc9364414e356be9935700d368351657487" - -[[package]] -name = "lock_api" -version = "0.4.14" +name = "progenitor-macro" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +checksum = "efa969a1349979c5f64347f204e794781a86d738206d75672e6c9493f5910002" dependencies = [ - "scopeguard", + "openapiv3", + "proc-macro2", + "progenitor-impl", + "quote", + "schemars 0.8.22", + "serde", + "serde_json", + "serde_tokenstream", + "serde_yaml", + "syn 2.0.117", ] [[package]] -name = "log" -version = "0.4.30" +name = "proptest" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "616ec5685824bcc94416c6d4a7a446eea774a31efd7062c8480ba6fd06d7a6e5" +checksum = "4b45fcc2344c680f5025fe57779faef368840d0bd1f42f216291f0dc4ace4744" +dependencies = [ + "bitflags 2.11.1", + "num-traits", + "rand 0.9.4", + "rand_chacha 0.9.0", + "rand_xorshift", + "regex-syntax", + "unarray", +] [[package]] -name = "lru-slab" -version = "0.1.2" +name = "prost" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" +checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" +dependencies = [ + "bytes", + "prost-derive 0.13.5", +] [[package]] -name = "mach2" -version = "0.4.3" +name = "prost" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d640282b302c0bb0a2a8e0233ead9035e3bed871f0b7e81fe4a1ec829765db44" +checksum = "d2ea70524a2f82d518bce41317d0fae74151505651af45faf1ffbd6fd33f0568" dependencies = [ - "libc", + "bytes", + "prost-derive 0.14.3", ] [[package]] -name = "macro-string" -version = "0.2.0" +name = "prost-build" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59a9dbbfc75d2688ed057456ce8a3ee3f48d12eec09229f560f3643b9f275653" +checksum = "343d3bd7056eda839b03204e68deff7d1b13aba7af2b2fd16890697274262ee7" dependencies = [ - "proc-macro2", - "quote", + "heck", + "itertools 0.14.0", + "log", + "multimap", + "petgraph 0.8.3", + "prettyplease", + "prost 0.14.3", + "prost-types", + "regex", "syn 2.0.117", + "tempfile", ] [[package]] -name = "matchers" -version = "0.2.0" +name = "prost-derive" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" +checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" dependencies = [ - "regex-automata", + "anyhow", + "itertools 0.14.0", + "proc-macro2", + "quote", + "syn 2.0.117", ] [[package]] -name = "maybe-owned" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4facc753ae494aeb6e3c22f839b158aebd4f9270f55cd3c79906c45476c47ab4" - -[[package]] -name = "memchr" -version = "2.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8" - -[[package]] -name = "memfd" -version = "0.6.5" +name = "prost-derive" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad38eb12aea514a0466ea40a80fd8cc83637065948eb4a426e4aa46261175227" +checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" dependencies = [ - "rustix 1.1.4", + "anyhow", + "itertools 0.14.0", + "proc-macro2", + "quote", + "syn 2.0.117", ] [[package]] -name = "memmap2" -version = "0.9.10" +name = "prost-types" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "714098028fe011992e1c3962653c96b2d578c4b4bce9036e15ff220319b1e0e3" +checksum = "8991c4cbdb8bc5b11f0b074ffe286c30e523de90fee5ba8132f1399f23cb3dd7" dependencies = [ - "libc", + "prost 0.14.3", ] [[package]] -name = "miette" -version = "5.10.0" +name = "psm" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59bb584eaeeab6bd0226ccf3509a69d7936d148cf3d036ad350abe35e8c6856e" +checksum = "645dbe486e346d9b5de3ef16ede18c26e6c70ad97418f4874b8b1889d6e761ea" dependencies = [ - "miette-derive", - "once_cell", - "thiserror 1.0.69", - "unicode-width 0.1.14", + "ar_archive_writer", + "cc", ] [[package]] -name = "miette" -version = "7.6.0" +name = "pulley-interpreter" +version = "44.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f98efec8807c63c752b5bd61f862c165c115b0a35685bdcfd9238c7aeb592b7" +checksum = "dff0ead8b4616f81b3d3efd41ce41bcf9ea364a5d8df8be8a8a1f98b50104349" dependencies = [ - "cfg-if", - "unicode-width 0.1.14", + "cranelift-bitset 0.131.2", + "log", + "pulley-macros", + "wasmtime-internal-core", ] [[package]] -name = "miette-derive" -version = "5.10.0" +name = "pulley-macros" +version = "44.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" +checksum = "f4389e5820b1b39810ac12a27aa665320cab3caa51913a79637c06f284cfe223" dependencies = [ "proc-macro2", "quote", @@ -3145,339 +8677,328 @@ dependencies = [ ] [[package]] -name = "mime" -version = "0.3.17" +name = "pxfm" +version = "0.1.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +checksum = "e0c5ccf5294c6ccd63a74f1565028353830a9c2f5eb0c682c355c471726a6e3f" [[package]] -name = "mime_guess" -version = "2.0.5" +name = "qr2term" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" +checksum = "6867c60b38e9747a079a19614dbb5981a53f21b9a56c265f3bfdf6011a50a957" dependencies = [ - "mime", - "unicase", + "crossterm", + "qrcode", ] [[package]] -name = "minicov" -version = "0.3.8" +name = "qrcode" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4869b6a491569605d66d3952bcdf03df789e5b536e5f0cf7758a7f08a55ae24d" +checksum = "d68782463e408eb1e668cf6152704bd856c78c5b6417adaee3203d8f4c1fc9ec" + +[[package]] +name = "quick-error" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" + +[[package]] +name = "quinn" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" dependencies = [ - "cc", - "walkdir", + "bytes", + "cfg_aliases", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash 2.1.2", + "rustls", + "socket2 0.6.4", + "thiserror 2.0.18", + "tokio", + "tracing", + "web-time", ] [[package]] -name = "minimal-lexical" -version = "0.2.1" +name = "quinn-proto" +version = "0.11.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" +checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098" +dependencies = [ + "aws-lc-rs", + "bytes", + "fastbloom", + "getrandom 0.3.4", + "lru-slab", + "rand 0.9.4", + "ring", + "rustc-hash 2.1.2", + "rustls", + "rustls-pki-types", + "slab", + "thiserror 2.0.18", + "tinyvec", + "tracing", + "web-time", +] [[package]] -name = "miniz_oxide" -version = "0.8.9" +name = "quinn-udp" +version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" dependencies = [ - "adler2", - "simd-adler32", + "cfg_aliases", + "libc", + "once_cell", + "socket2 0.6.4", + "tracing", + "windows-sys 0.60.2", ] [[package]] -name = "mio" -version = "1.2.1" +name = "quote" +version = "1.0.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02bd0af71c67b473010cbbc60715ee815645a4dc942899111f494b4b737d6fda" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" dependencies = [ - "libc", - "log", - "wasi", - "windows-sys 0.61.2", + "proc-macro2", ] [[package]] -name = "multimap" -version = "0.10.1" +name = "r-efi" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] -name = "mutually_exclusive_features" -version = "0.1.0" +name = "r-efi" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94e1e6445d314f972ff7395df2de295fe51b71821694f0b0e1e79c4f12c8577" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" [[package]] -name = "naga" -version = "29.0.3" +name = "radium" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd91265cc2454558f659b3b4b9640f0ddb8cc6521277f166b8a8c181c898079" -dependencies = [ - "arrayvec", - "bit-set", - "bitflags", - "cfg-if", - "cfg_aliases", - "codespan-reporting", - "half", - "hashbrown 0.16.1", - "hexf-parse", - "indexmap", - "libm", - "log", - "num-traits", - "once_cell", - "rustc-hash 1.1.0", - "spirv", - "thiserror 2.0.18", - "unicode-ident", -] +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" [[package]] -name = "native-tls" -version = "0.2.18" +name = "radix_trie" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "465500e14ea162429d264d44189adc38b199b62b1c21eea9f69e4b73cb03bbf2" +checksum = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd" dependencies = [ - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", + "endian-type", + "nibble_vec", ] [[package]] -name = "neli" -version = "0.7.4" +name = "rand" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22f9786d56d972959e1408b6a93be6af13b9c1392036c5c1fafa08a1b0c6ee87" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ - "bitflags", - "byteorder", - "derive_builder", - "getset", "libc", - "log", - "neli-proc-macros", - "parking_lot", + "rand_chacha 0.3.1", + "rand_core 0.6.4", ] [[package]] -name = "neli-proc-macros" -version = "0.2.2" +name = "rand" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05d8d08c6e98f20a62417478ebf7be8e1425ec9acecc6f63e22da633f6b71609" +checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" dependencies = [ - "either", - "proc-macro2", - "quote", - "serde", - "syn 2.0.117", + "rand_chacha 0.9.0", + "rand_core 0.9.5", ] [[package]] -name = "nom" -version = "7.1.3" +name = "rand" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207" dependencies = [ - "memchr", - "minimal-lexical", + "chacha20", + "getrandom 0.4.2", + "rand_core 0.10.1", ] [[package]] -name = "nu-ansi-term" -version = "0.50.3" +name = "rand_chacha" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ - "windows-sys 0.61.2", + "ppv-lite86", + "rand_core 0.6.4", ] [[package]] -name = "num-bigint" -version = "0.4.6" +name = "rand_chacha" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ - "num-integer", - "num-traits", + "ppv-lite86", + "rand_core 0.9.5", ] [[package]] -name = "num-conv" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441" - -[[package]] -name = "num-integer" -version = "0.1.46" +name = "rand_core" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "num-traits", + "getrandom 0.2.17", ] [[package]] -name = "num-traits" -version = "0.2.19" +name = "rand_core" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" dependencies = [ - "autocfg", - "libm", + "getrandom 0.3.4", ] [[package]] -name = "objc2" -version = "0.6.4" +name = "rand_core" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" + +[[package]] +name = "rand_xorshift" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" +checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a" dependencies = [ - "objc2-encode", + "rand_core 0.9.5", ] [[package]] -name = "objc2-core-foundation" -version = "0.3.2" +name = "range-alloc" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" -dependencies = [ - "bitflags", - "dispatch2", - "objc2", -] +checksum = "ca45419789ae5a7899559e9512e58ca889e41f04f1f2445e9f4b290ceccd1d08" [[package]] -name = "objc2-encode" -version = "4.1.0" +name = "raw-window-handle" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" +checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" [[package]] -name = "objc2-foundation" -version = "0.3.2" +name = "raw-window-metal" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" +checksum = "40d213455a5f1dc59214213c7330e074ddf8114c9a42411eb890c767357ce135" dependencies = [ - "bitflags", "objc2", "objc2-core-foundation", + "objc2-foundation", + "objc2-quartz-core", ] [[package]] -name = "objc2-metal" -version = "0.3.2" +name = "rawpointer" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0125f776a10d00af4152d74616409f0d4a2053a6f57fa5b7d6aa2854ac04794" -dependencies = [ - "bitflags", - "block2", - "objc2", - "objc2-foundation", -] +checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" [[package]] -name = "objc2-quartz-core" -version = "0.3.2" +name = "rayon" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" +checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d" dependencies = [ - "bitflags", - "objc2", - "objc2-core-foundation", - "objc2-foundation", - "objc2-metal", + "either", + "rayon-core", ] [[package]] -name = "object" -version = "0.39.1" +name = "rayon-core" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e5a6c098c7a3b6547378093f5cc30bc54fd361ce711e05293a5cc589562739b" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" dependencies = [ - "crc32fast", - "hashbrown 0.17.1", - "indexmap", - "memchr", + "crossbeam-deque", + "crossbeam-utils", ] [[package]] -name = "oid-registry" +name = "rc2" version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f40cff3dde1b6087cc5d5f5d4d65712f34016a03ed60e9c08dcc392736b5b7" +checksum = "62c64daa8e9438b84aaae55010a93f396f8e60e3911590fcba770d04643fc1dd" dependencies = [ - "asn1-rs", + "cipher", ] [[package]] -name = "once_cell" -version = "1.21.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" - -[[package]] -name = "once_cell_polyfill" -version = "1.70.2" +name = "rcgen" +version = "0.14.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" +checksum = "57f6d249aad744e274e682777a50283a225a32705394ee6d5fcc01efa25e4055" +dependencies = [ + "pem", + "ring", + "rustls-pki-types", + "time", + "x509-parser 0.18.1", + "yasna 0.6.0", +] [[package]] -name = "onnx-extractor" -version = "0.3.10" +name = "redox_syscall" +version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f8a7b1752ce77203505f0939b9861ec10905100d017720bc66400502ce1e531" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "memmap2", - "prost", - "prost-build", + "bitflags 2.11.1", ] [[package]] -name = "oorandom" -version = "11.1.5" +name = "redox_syscall" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" +checksum = "5b44b894f2a6e36457d665d1e08c3866add6ed5e70050c1b4ba8a8ddedb02ce7" +dependencies = [ + "bitflags 2.11.1", +] [[package]] -name = "openapiv3" -version = "2.2.0" +name = "redox_users" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c8d427828b22ae1fff2833a03d8486c2c881367f1c336349f307f321e7f4d05" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "indexmap", - "serde", - "serde_json", + "getrandom 0.2.17", + "libredox", + "thiserror 1.0.69", ] [[package]] -name = "openssl" -version = "0.10.80" +name = "ref-cast" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a45fa2aa886c42762255da344f0a0d313e254066c46aad76f300c3d3da62d967" +checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" dependencies = [ - "bitflags", - "cfg-if", - "foreign-types", - "libc", - "openssl-macros", - "openssl-sys", + "ref-cast-impl", ] [[package]] -name = "openssl-macros" -version = "0.1.1" +name = "ref-cast-impl" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" dependencies = [ "proc-macro2", "quote", @@ -3485,818 +9006,836 @@ dependencies = [ ] [[package]] -name = "openssl-probe" -version = "0.2.1" +name = "regalloc2" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" +checksum = "dc06e6b318142614e4a48bc725abbf08ff166694835c43c9dae5a9009704639a" +dependencies = [ + "allocator-api2", + "bumpalo", + "hashbrown 0.15.5", + "log", + "rustc-hash 2.1.2", + "smallvec 1.15.1", +] [[package]] -name = "openssl-sys" -version = "0.9.116" +name = "regalloc2" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28a22dc7140cda5f096e5e7724a6962ca81a7f8bfd2979f9b18c11af56318c4" +checksum = "de2c52737737f8609e94f975dee22854a2d5c125772d4b1cf292120f4d45c186" dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", + "allocator-api2", + "bumpalo", + "hashbrown 0.17.1", + "log", + "rustc-hash 2.1.2", + "smallvec 1.15.1", ] [[package]] -name = "opentelemetry" -version = "0.31.0" +name = "regex" +version = "1.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b84bcd6ae87133e903af7ef497404dda70c60d0ea14895fc8a5e6722754fc2a0" +checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" dependencies = [ - "futures-core", - "futures-sink", - "js-sys", - "pin-project-lite", - "thiserror 2.0.18", - "tracing", + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", ] [[package]] -name = "opentelemetry-appender-tracing" -version = "0.31.1" +name = "regex-automata" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef6a1ac5ca3accf562b8c306fa8483c85f4390f768185ab775f242f7fe8fdcc2" +checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" dependencies = [ - "opentelemetry", - "tracing", - "tracing-core", - "tracing-subscriber", + "aho-corasick", + "memchr", + "regex-syntax", ] [[package]] -name = "opentelemetry-http" -version = "0.31.0" +name = "regex-lite" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7a6d09a73194e6b66df7c8f1b680f156d916a1a942abf2de06823dd02b7855d" -dependencies = [ - "async-trait", - "bytes", - "http 1.4.1", - "opentelemetry", - "reqwest 0.12.28", -] +checksum = "cab834c73d247e67f4fae452806d17d3c7501756d98c8808d7c9c7aa7d18f973" [[package]] -name = "opentelemetry-otlp" -version = "0.31.1" +name = "regex-syntax" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f69cd6acbb9af919df949cd1ec9e5e7fdc2ef15d234b6b795aaa525cc02f71f" +checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" + +[[package]] +name = "regress" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "158a764437582235e3501f683b93a0a6f8d825d04a789dbe5ed30b8799b8908a" dependencies = [ - "http 1.4.1", - "opentelemetry", - "opentelemetry-http", - "opentelemetry-proto", - "opentelemetry_sdk", - "prost", - "reqwest 0.12.28", - "serde_json", - "thiserror 2.0.18", + "hashbrown 0.16.1", + "memchr", ] [[package]] -name = "opentelemetry-proto" -version = "0.31.0" +name = "relative-path" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7175df06de5eaee9909d4805a3d07e28bb752c34cab57fa9cff549da596b30f" +checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" + +[[package]] +name = "renderdoc-sys" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" + +[[package]] +name = "reqwest" +version = "0.12.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" dependencies = [ - "base64", - "const-hex", - "opentelemetry", - "opentelemetry_sdk", - "prost", + "base64 0.22.1", + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "http 1.4.1", + "http-body 1.0.1", + "http-body-util", + "hyper 1.10.1", + "hyper-util", + "js-sys", + "log", + "percent-encoding", + "pin-project-lite", "serde", "serde_json", - "tonic", - "tonic-prost", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tower 0.5.3", + "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", ] [[package]] -name = "opentelemetry_sdk" -version = "0.31.0" +name = "reqwest" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ae4f5991976fd48df6d843de219ca6d31b01daaab2dad5af2badeded372bd" +checksum = "219c5811de6525e5416c7d5d53bb656d3afdbc6c5af816e0802bcfa42dbdc1c3" dependencies = [ + "base64 0.22.1", + "bytes", "futures-channel", - "futures-executor", + "futures-core", "futures-util", - "opentelemetry", + "http 1.4.1", + "http-body 1.0.1", + "http-body-util", + "hyper 1.10.1", + "hyper-rustls", + "hyper-util", + "js-sys", + "log", "percent-encoding", - "rand 0.9.4", - "thiserror 2.0.18", -] - -[[package]] -name = "ordered-float" -version = "5.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7d950ca161dc355eaf28f82b11345ed76c6e1f6eb1f4f4479e0323b9e2fbd0e" -dependencies = [ - "num-traits", + "pin-project-lite", + "quinn", + "rustls", + "rustls-pki-types", + "rustls-platform-verifier", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tokio-rustls", + "tokio-util", + "tower 0.5.3", + "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", ] [[package]] -name = "ort" -version = "2.0.0-rc.10" +name = "resb" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fa7e49bd669d32d7bc2a15ec540a527e7764aec722a45467814005725bcd721" +checksum = "22d392791f3c6802a1905a509e9d1a6039cbbcb5e9e00e5a6d3661f7c874f390" dependencies = [ - "ort-sys", - "smallvec 2.0.0-alpha.10", + "potential_utf", + "serde_core", ] [[package]] -name = "ort-sys" -version = "2.0.0-rc.10" +name = "resolv-conf" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2aba9f5c7c479925205799216e7e5d07cc1d4fa76ea8058c60a9a30f6a4e890" -dependencies = [ - "flate2", - "pkg-config", - "sha2", - "tar", - "ureq 3.3.0", -] - -[[package]] -name = "otlp-mock" -version = "0.1.0" -dependencies = [ - "actix-rt", - "actix-web", - "serde_json", -] +checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" [[package]] -name = "parking_lot" -version = "0.12.5" +name = "rfc6979" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ - "lock_api", - "parking_lot_core", + "hmac", + "subtle", ] [[package]] -name = "parking_lot_core" -version = "0.9.12" +name = "ring" +version = "0.17.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ + "cc", "cfg-if", + "getrandom 0.2.17", "libc", - "redox_syscall", - "smallvec 1.15.1", - "windows-link", + "untrusted 0.9.0", + "windows-sys 0.52.0", ] [[package]] -name = "pem" -version = "3.0.6" +name = "ripemd" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d30c53c26bc5b31a98cd02d20f25a7c8567146caf63ed593a9d87b2775291be" +checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" dependencies = [ - "base64", - "serde_core", + "digest 0.10.7", ] [[package]] -name = "pem-rfc7468" -version = "1.0.0" +name = "ron" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6305423e0e7738146434843d1694d621cce767262b2a86910beab705e4493d9" +checksum = "4147b952f3f819eca0e99527022f7d6a8d05f111aeb0a62960c74eb283bec8fc" dependencies = [ - "base64ct", + "bitflags 2.11.1", + "once_cell", + "serde", + "serde_derive", + "typeid", + "unicode-ident", ] [[package]] -name = "percent-encoding" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" - -[[package]] -name = "petgraph" -version = "0.6.5" +name = "rowan" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +checksum = "417a3a9f582e349834051b8a10c8d71ca88da4211e4093528e36b9845f6b5f21" dependencies = [ - "fixedbitset 0.4.2", - "indexmap", + "countme", + "hashbrown 0.14.5", + "rustc-hash 1.1.0", + "text-size", ] [[package]] -name = "petgraph" -version = "0.8.3" +name = "rsa" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455" +checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d" dependencies = [ - "fixedbitset 0.5.7", - "hashbrown 0.15.5", - "indexmap", + "const-oid 0.9.6", + "digest 0.10.7", + "num-bigint-dig", + "num-integer", + "num-traits", + "pkcs1", + "pkcs8 0.10.2", + "rand_core 0.6.4", + "signature 2.2.0", + "spki 0.7.3", + "subtle", + "zeroize", ] [[package]] -name = "pin-project" -version = "1.1.13" +name = "rstest" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2466b2336ed02bcdca6b294417127b90ec92038d1d5c4fbeac971a922e0e0924" +checksum = "f5a3193c063baaa2a95a33f03035c8a72b83d97a54916055ba22d35ed3839d49" dependencies = [ - "pin-project-internal", + "futures-timer", + "futures-util", + "rstest_macros", ] [[package]] -name = "pin-project-internal" -version = "1.1.13" +name = "rstest_macros" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c96395f0a926bc13b1c17622aaddda1ecb55d49c8f1bf9777e4d877800a43f8b" +checksum = "9c845311f0ff7951c5506121a9ad75aec44d083c31583b2ea5a30bcb0b0abba0" dependencies = [ + "cfg-if", + "glob", + "proc-macro-crate", "proc-macro2", "quote", + "regex", + "relative-path", + "rustc_version", "syn 2.0.117", + "unicode-ident", ] [[package]] -name = "pin-project-lite" -version = "0.2.17" +name = "rusqlite" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" +checksum = "165ca6e57b20e1351573e3729b958bc62f0e48025386970b6e4d29e7a7e71f3f" +dependencies = [ + "bitflags 2.11.1", + "fallible-iterator", + "fallible-streaming-iterator", + "hashlink", + "libsqlite3-sys", + "smallvec 1.15.1", +] [[package]] -name = "pkg-config" -version = "0.3.33" +name = "rustc-demangle" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e" +checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d" [[package]] -name = "pollster" -version = "0.4.0" +name = "rustc-hash" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] -name = "portable-atomic" -version = "1.13.1" +name = "rustc-hash" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" +checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" [[package]] -name = "portable-atomic-util" -version = "0.2.7" +name = "rustc_version" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "portable-atomic", + "semver", ] [[package]] -name = "postcard" -version = "1.1.3" +name = "rusticata-macros" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24" +checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632" dependencies = [ - "cobs", - "embedded-io 0.4.0", - "embedded-io 0.6.1", - "serde", + "nom 7.1.3", ] [[package]] -name = "potential_utf" -version = "0.1.5" +name = "rustix" +version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "zerovec", + "bitflags 2.11.1", + "errno 0.3.14", + "libc", + "linux-raw-sys 0.4.15", + "windows-sys 0.59.0", ] [[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - -[[package]] -name = "ppv-lite86" -version = "0.2.21" +name = "rustix" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ - "zerocopy", + "bitflags 2.11.1", + "errno 0.3.14", + "libc", + "linux-raw-sys 0.12.1", + "windows-sys 0.61.2", ] [[package]] -name = "presser" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa" - -[[package]] -name = "pretty_assertions" -version = "1.4.1" +name = "rustix-linux-procfs" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" +checksum = "2fc84bf7e9aa16c4f2c758f27412dc9841341e16aa682d9c7ac308fe3ee12056" dependencies = [ - "diff", - "yansi", + "once_cell", + "rustix 1.1.4", ] [[package]] -name = "pretty_yaml" -version = "0.6.0" +name = "rustls" +version = "0.23.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f5db2b0044c0dae209c173c6049f210c9449092b07304c9c8b8d555c606e93e" +checksum = "ef86cd5876211988985292b91c96a8f2d298df24e75989a43a3c73f2d4d8168b" dependencies = [ - "rowan", - "tiny_pretty", - "yaml_parser", + "aws-lc-rs", + "log", + "once_cell", + "rustls-pki-types", + "rustls-webpki 0.103.13", + "subtle", + "zeroize", ] [[package]] -name = "prettyplease" -version = "0.2.37" +name = "rustls-native-certs" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +checksum = "e5bfb394eeed242e909609f56089eecfe5fda225042e8b171791b9c95f5931e5" dependencies = [ - "proc-macro2", - "syn 2.0.117", + "openssl-probe 0.1.6", + "rustls-pemfile", + "rustls-pki-types", + "schannel", + "security-framework 2.11.1", ] [[package]] -name = "proc-macro-crate" -version = "3.5.0" +name = "rustls-native-certs" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" +checksum = "dab5152771c58876a2146916e53e35057e1a4dfa2b9df0f0305b07f611fdea4d" dependencies = [ - "toml_edit 0.25.12+spec-1.1.0", + "openssl-probe 0.2.1", + "rustls-pki-types", + "schannel", + "security-framework 3.7.0", ] [[package]] -name = "proc-macro-error-attr2" -version = "2.0.0" +name = "rustls-pemfile" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" dependencies = [ - "proc-macro2", - "quote", + "rustls-pki-types", ] [[package]] -name = "proc-macro-error2" -version = "2.0.1" +name = "rustls-pki-types" +version = "1.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +checksum = "30a7197ae7eb376e574fe940d068c30fe0462554a3ddbe4eca7838e049c937a9" dependencies = [ - "proc-macro-error-attr2", - "proc-macro2", - "quote", - "syn 2.0.117", + "web-time", + "zeroize", ] [[package]] -name = "proc-macro2" -version = "1.0.106" +name = "rustls-platform-verifier" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +checksum = "26d1e2536ce4f35f4846aa13bff16bd0ff40157cdb14cc056c7b14ba41233ba0" dependencies = [ - "unicode-ident", + "core-foundation 0.10.1", + "core-foundation-sys", + "jni", + "log", + "once_cell", + "rustls", + "rustls-native-certs 0.8.4", + "rustls-platform-verifier-android", + "rustls-webpki 0.103.13", + "security-framework 3.7.0", + "security-framework-sys", + "webpki-root-certs 1.0.7", + "windows-sys 0.61.2", ] [[package]] -name = "profiling" -version = "1.0.18" +name = "rustls-platform-verifier-android" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d595e54a326bc53c1c197b32d295e14b169e3cfeaa8dc82b529f947fba6bcf5" +checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" [[package]] -name = "progenitor" -version = "0.14.0" +name = "rustls-tokio-stream" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8ba1d77160e6d5c95bdf0792527f76bf528791093fa83015bc2908a0ba9d076" +checksum = "0560d12c0d8c672f849197de91b9ee61f5bf9aa024c97aaeeb112ec2f6c347fd" dependencies = [ - "progenitor-client", - "progenitor-impl", - "progenitor-macro", + "derive-io", + "futures", + "rustls", + "socket2 0.5.10", + "tokio", ] [[package]] -name = "progenitor-client" -version = "0.14.0" +name = "rustls-webpki" +version = "0.102.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e8a874cf25a33cac7a01b9c1de87bcfbc8aea93f3156d09dcc3bee516a78926" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" dependencies = [ - "bytes", - "futures-core", - "percent-encoding", - "reqwest 0.13.4", - "serde", - "serde_json", - "serde_urlencoded", + "ring", + "rustls-pki-types", + "untrusted 0.9.0", ] [[package]] -name = "progenitor-impl" -version = "0.14.0" +name = "rustls-webpki" +version = "0.103.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6e349eed84b9a1a6a5dbe478d335e3df73d32a93c5eefe571c9b8cb298aab5d" +checksum = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e" dependencies = [ - "heck", - "http 1.4.1", - "indexmap", - "openapiv3", - "proc-macro2", - "quote", - "regex", - "schemars 0.8.22", - "serde", - "serde_json", - "syn 2.0.117", - "thiserror 2.0.18", - "typify", - "unicode-ident", + "aws-lc-rs", + "ring", + "rustls-pki-types", + "untrusted 0.9.0", ] [[package]] -name = "progenitor-macro" -version = "0.14.0" +name = "rustversion" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efa969a1349979c5f64347f204e794781a86d738206d75672e6c9493f5910002" -dependencies = [ - "openapiv3", - "proc-macro2", - "progenitor-impl", - "quote", - "schemars 0.8.22", - "serde", - "serde_json", - "serde_tokenstream", - "serde_yaml", - "syn 2.0.117", -] +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] -name = "proptest" -version = "1.11.0" +name = "rustyline" +version = "17.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b45fcc2344c680f5025fe57779faef368840d0bd1f42f216291f0dc4ace4744" +checksum = "ed34fbd08950d17f8297e738d5b76acd4baab50c8d45008d498b4327feb43ea1" dependencies = [ - "bitflags", - "num-traits", - "rand 0.9.4", - "rand_chacha 0.9.0", - "rand_xorshift", - "regex-syntax", - "unarray", + "bitflags 2.11.1", + "cfg-if", + "clipboard-win", + "fd-lock", + "home", + "libc", + "log", + "memchr", + "nix 0.30.1", + "radix_trie", + "unicode-segmentation", + "unicode-width 0.2.2", + "utf8parse", + "windows-sys 0.60.2", ] [[package]] -name = "prost" -version = "0.14.3" +name = "ryu" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ea70524a2f82d518bce41317d0fae74151505651af45faf1ffbd6fd33f0568" -dependencies = [ - "bytes", - "prost-derive", -] +checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" [[package]] -name = "prost-build" -version = "0.14.3" +name = "ryu-js" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "343d3bd7056eda839b03204e68deff7d1b13aba7af2b2fd16890697274262ee7" -dependencies = [ - "heck", - "itertools", - "log", - "multimap", - "petgraph 0.8.3", - "prettyplease", - "prost", - "prost-types", - "regex", - "syn 2.0.117", - "tempfile", -] +checksum = "dd29631678d6fb0903b69223673e122c32e9ae559d0960a38d574695ebc0ea15" [[package]] -name = "prost-derive" -version = "0.14.3" +name = "safe_arch" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" +checksum = "96b02de82ddbe1b636e6170c21be622223aea188ef2e139be0a5b219ec215323" dependencies = [ - "anyhow", - "itertools", - "proc-macro2", - "quote", - "syn 2.0.117", + "bytemuck", ] [[package]] -name = "prost-types" -version = "0.14.3" +name = "saffron" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8991c4cbdb8bc5b11f0b074ffe286c30e523de90fee5ba8132f1399f23cb3dd7" +checksum = "03fb9a628596fc7590eb7edbf7b0613287be78df107f5f97b118aad59fb2eea9" dependencies = [ - "prost", + "chrono", + "nom 5.1.3", ] [[package]] -name = "pulley-interpreter" -version = "44.0.2" +name = "salsa20" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff0ead8b4616f81b3d3efd41ce41bcf9ea364a5d8df8be8a8a1f98b50104349" +checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" dependencies = [ - "cranelift-bitset", - "log", - "pulley-macros", - "wasmtime-internal-core", + "cipher", ] [[package]] -name = "pulley-macros" -version = "44.0.2" +name = "same-file" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4389e5820b1b39810ac12a27aa665320cab3caa51913a79637c06f284cfe223" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", + "winapi-util", ] [[package]] -name = "qr2term" -version = "0.3.3" +name = "schannel" +version = "0.1.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6867c60b38e9747a079a19614dbb5981a53f21b9a56c265f3bfdf6011a50a957" +checksum = "91c1b7e4904c873ef0710c1f407dde2e6287de2bebc1bbbf7d430bb7cbffd939" dependencies = [ - "crossterm", - "qrcode", + "windows-sys 0.61.2", ] [[package]] -name = "qrcode" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d68782463e408eb1e668cf6152704bd856c78c5b6417adaee3203d8f4c1fc9ec" - -[[package]] -name = "quinn" -version = "0.11.9" +name = "schemars" +version = "0.8.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" +checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" dependencies = [ - "bytes", - "cfg_aliases", - "pin-project-lite", - "quinn-proto", - "quinn-udp", - "rustc-hash 2.1.2", - "rustls", - "socket2 0.6.4", - "thiserror 2.0.18", - "tokio", - "tracing", - "web-time", + "chrono", + "dyn-clone", + "schemars_derive 0.8.22", + "serde", + "serde_json", + "uuid", ] [[package]] -name = "quinn-proto" -version = "0.11.14" +name = "schemars" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098" +checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc" dependencies = [ - "aws-lc-rs", - "bytes", - "getrandom 0.3.4", - "lru-slab", - "rand 0.9.4", - "ring", - "rustc-hash 2.1.2", - "rustls", - "rustls-pki-types", - "slab", - "thiserror 2.0.18", - "tinyvec", - "tracing", - "web-time", + "dyn-clone", + "ref-cast", + "schemars_derive 1.2.1", + "serde", + "serde_json", ] [[package]] -name = "quinn-udp" -version = "0.5.14" +name = "schemars_derive" +version = "0.8.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" +checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" dependencies = [ - "cfg_aliases", - "libc", - "once_cell", - "socket2 0.6.4", - "tracing", - "windows-sys 0.60.2", + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 2.0.117", ] [[package]] -name = "quote" -version = "1.0.45" +name = "schemars_derive" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" +checksum = "7d115b50f4aaeea07e79c1912f645c7513d81715d0420f8bc77a18c6260b307f" dependencies = [ "proc-macro2", + "quote", + "serde_derive_internals", + "syn 2.0.117", ] [[package]] -name = "r-efi" -version = "5.3.0" +name = "scoped-tls" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" [[package]] -name = "r-efi" -version = "6.0.0" +name = "scopeguard" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] -name = "rand" -version = "0.8.6" +name = "scrypt" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a" +checksum = "0516a385866c09368f0b5bcd1caff3366aace790fcd46e2bb032697bb172fd1f" dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", + "pbkdf2", + "salsa20", + "sha2", ] [[package]] -name = "rand" -version = "0.9.4" +name = "sec1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ - "rand_chacha 0.9.0", - "rand_core 0.9.5", + "base16ct 0.2.0", + "der 0.7.10", + "generic-array", + "pkcs8 0.10.2", + "serdect 0.2.0", + "subtle", + "zeroize", ] [[package]] -name = "rand" -version = "0.10.1" +name = "sec1" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207" +checksum = "d56d437c2f19203ce5f7122e507831de96f3d2d4d3be5af44a0b0a09d8a80e4d" dependencies = [ - "chacha20", - "getrandom 0.4.2", - "rand_core 0.10.1", + "base16ct 1.0.0", + "ctutils", + "der 0.8.0", + "hybrid-array", + "subtle", + "zeroize", ] [[package]] -name = "rand_chacha" -version = "0.3.1" +name = "secrecy" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +checksum = "e891af845473308773346dc847b2c23ee78fe442e0472ac50e22a18a93d3ae5a" dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", + "serde", + "zeroize", ] [[package]] -name = "rand_chacha" -version = "0.9.0" +name = "security-framework" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "ppv-lite86", - "rand_core 0.9.5", + "bitflags 2.11.1", + "core-foundation 0.9.4", + "core-foundation-sys", + "libc", + "security-framework-sys", ] [[package]] -name = "rand_core" -version = "0.6.4" +name = "security-framework" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" dependencies = [ - "getrandom 0.2.17", + "bitflags 2.11.1", + "core-foundation 0.10.1", + "core-foundation-sys", + "libc", + "security-framework-sys", ] [[package]] -name = "rand_core" -version = "0.9.5" +name = "security-framework-sys" +version = "2.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" +checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3" dependencies = [ - "getrandom 0.3.4", + "core-foundation-sys", + "libc", ] [[package]] -name = "rand_core" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" - -[[package]] -name = "rand_xorshift" -version = "0.4.0" +name = "semver" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a" +checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" dependencies = [ - "rand_core 0.9.5", + "serde", + "serde_core", ] [[package]] -name = "range-alloc" -version = "0.1.5" +name = "seq-macro" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca45419789ae5a7899559e9512e58ca889e41f04f1f2445e9f4b290ceccd1d08" +checksum = "1bc711410fbe7399f390ca1c3b60ad0f53f80e95c5eb935e52268a0e2cd49acc" [[package]] -name = "raw-window-handle" -version = "0.6.2" +name = "serde" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] [[package]] -name = "raw-window-metal" -version = "1.1.0" +name = "serde-env" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40d213455a5f1dc59214213c7330e074ddf8114c9a42411eb890c767357ce135" +checksum = "f9d29a4f822b7a7e7eada47da087a9d29d9b266dba45edc375fdc700965860d7" dependencies = [ - "objc2", - "objc2-core-foundation", - "objc2-foundation", - "objc2-quartz-core", + "serde", ] [[package]] -name = "rayon" -version = "1.12.0" +name = "serde-inline-default" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d" +checksum = "2bf03b7a5281cfd4013bc788d057b0f09fc634397d83bc8973c955bd4f32727a" dependencies = [ - "either", - "rayon-core", + "proc-macro2", + "quote", + "syn 2.0.117", ] [[package]] -name = "rayon-core" -version = "1.13.0" +name = "serde-value" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" +checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" dependencies = [ - "crossbeam-deque", - "crossbeam-utils", + "ordered-float 2.10.1", + "serde", ] [[package]] -name = "rcgen" -version = "0.14.8" +name = "serde-wasm-bindgen" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57f6d249aad744e274e682777a50283a225a32705394ee6d5fcc01efa25e4055" +checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b" dependencies = [ - "pem", - "ring", - "rustls-pki-types", - "time", - "x509-parser", - "yasna", + "js-sys", + "serde", + "wasm-bindgen", ] [[package]] -name = "redox_syscall" -version = "0.5.18" +name = "serde_bytes" +version = "0.11.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8" dependencies = [ - "bitflags", + "serde", + "serde_core", ] [[package]] -name = "redox_users" -version = "0.4.6" +name = "serde_core" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" dependencies = [ - "getrandom 0.2.17", - "libredox", - "thiserror 1.0.69", + "serde_derive", ] [[package]] -name = "ref-cast" -version = "1.0.25" +name = "serde_default" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" +checksum = "486b028b311aaaea83e0ba65a3e6e3cbef381e74e9d0bd6263faefd1fb503c1d" dependencies = [ - "ref-cast-impl", + "darling", + "proc-macro2", + "quote", + "syn 2.0.117", ] [[package]] -name = "ref-cast-impl" -version = "1.0.25" +name = "serde_derive" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", @@ -4304,869 +9843,1029 @@ dependencies = [ ] [[package]] -name = "regalloc2" -version = "0.15.1" +name = "serde_derive_internals" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de2c52737737f8609e94f975dee22854a2d5c125772d4b1cf292120f4d45c186" +checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ - "allocator-api2", - "bumpalo", - "hashbrown 0.17.1", - "log", - "rustc-hash 2.1.2", - "smallvec 1.15.1", + "proc-macro2", + "quote", + "syn 2.0.117", ] [[package]] -name = "regex" -version = "1.12.3" +name = "serde_json" +version = "1.0.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" +checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9" dependencies = [ - "aho-corasick", + "indexmap 2.14.0", + "itoa", "memchr", - "regex-automata", - "regex-syntax", + "serde", + "serde_core", + "zmij", ] [[package]] -name = "regex-automata" -version = "0.4.14" +name = "serde_norway" +version = "0.9.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e408f29489b5fd500fab51ff1484fc859bb655f32c671f307dcd733b72e8168c" +dependencies = [ + "indexmap 2.14.0", + "itoa", + "ryu", + "serde", + "unsafe-libyaml-norway", +] + +[[package]] +name = "serde_path_to_error" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457" +dependencies = [ + "itoa", + "serde", + "serde_core", +] + +[[package]] +name = "serde_spanned" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" +checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", + "serde", ] [[package]] -name = "regex-lite" -version = "0.1.9" +name = "serde_spanned" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab834c73d247e67f4fae452806d17d3c7501756d98c8808d7c9c7aa7d18f973" +checksum = "6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26" +dependencies = [ + "serde_core", +] [[package]] -name = "regex-syntax" -version = "0.8.10" +name = "serde_tokenstream" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" +checksum = "d7c49585c52c01f13c5c2ebb333f14f6885d76daa768d8a037d28017ec538c69" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "syn 2.0.117", +] [[package]] -name = "regress" -version = "0.11.1" +name = "serde_urlencoded" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "158a764437582235e3501f683b93a0a6f8d825d04a789dbe5ed30b8799b8908a" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ - "hashbrown 0.16.1", - "memchr", + "form_urlencoded", + "itoa", + "ryu", + "serde", ] [[package]] -name = "relative-path" -version = "1.9.3" +name = "serde_v8" +version = "0.311.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" +checksum = "8114fbbce546c2e8b933ecb4b026792a89af14bc83db97936ed1a62dec51b699" +dependencies = [ + "deno_error", + "num-bigint", + "serde", + "smallvec 1.15.1", + "thiserror 2.0.18", + "v8", +] [[package]] -name = "renderdoc-sys" -version = "1.1.0" +name = "serde_yaml" +version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" +checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" +dependencies = [ + "indexmap 2.14.0", + "itoa", + "ryu", + "serde", + "unsafe-libyaml", +] [[package]] -name = "reqwest" -version = "0.12.28" +name = "serdect" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" +checksum = "a84f14a19e9a014bb9f4512488d9829a68e04ecabffb0f9904cd1ace94598177" dependencies = [ - "base64", - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "http 1.4.1", - "http-body", - "http-body-util", - "hyper", - "hyper-util", - "js-sys", - "log", - "percent-encoding", - "pin-project-lite", + "base16ct 0.2.0", "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper", - "tokio", - "tower", - "tower-http", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", ] [[package]] -name = "reqwest" -version = "0.13.4" +name = "serdect" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "219c5811de6525e5416c7d5d53bb656d3afdbc6c5af816e0802bcfa42dbdc1c3" +checksum = "66cf8fedced2fcf12406bcb34223dffb92eaf34908ede12fed414c82b7f00b3e" dependencies = [ - "base64", - "bytes", - "futures-core", - "futures-util", - "http 1.4.1", - "http-body", - "http-body-util", - "hyper", - "hyper-rustls", - "hyper-util", - "js-sys", - "log", - "percent-encoding", - "pin-project-lite", - "quinn", - "rustls", - "rustls-pki-types", - "rustls-platform-verifier", + "base16ct 1.0.0", "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper", - "tokio", - "tokio-rustls", - "tokio-util", - "tower", - "tower-http", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-streams", - "web-sys", ] [[package]] -name = "ring" -version = "0.17.14" +name = "sha1" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ - "cc", "cfg-if", - "getrandom 0.2.17", - "libc", - "untrusted", - "windows-sys 0.52.0", + "cpufeatures 0.2.17", + "digest 0.10.7", ] [[package]] -name = "rowan" -version = "0.16.1" +name = "sha1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "417a3a9f582e349834051b8a10c8d71ca88da4211e4093528e36b9845f6b5f21" +checksum = "aacc4cc499359472b4abe1bf11d0b12e688af9a805fa5e3016f9a386dc2d0214" dependencies = [ - "countme", - "hashbrown 0.14.5", - "rustc-hash 1.1.0", - "text-size", + "cfg-if", + "cpufeatures 0.3.0", + "digest 0.11.3", ] [[package]] -name = "rstest" -version = "0.26.1" +name = "sha2" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5a3193c063baaa2a95a33f03035c8a72b83d97a54916055ba22d35ed3839d49" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ - "futures-timer", - "futures-util", - "rstest_macros", + "cfg-if", + "cpufeatures 0.2.17", + "digest 0.10.7", ] [[package]] -name = "rstest_macros" -version = "0.26.1" +name = "sha3" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c845311f0ff7951c5506121a9ad75aec44d083c31583b2ea5a30bcb0b0abba0" +checksum = "77fd7028345d415a4034cf8777cd4f8ab1851274233b45f84e3d955502d93874" dependencies = [ - "cfg-if", - "glob", - "proc-macro-crate", - "proc-macro2", - "quote", - "regex", - "relative-path", - "rustc_version", - "syn 2.0.117", - "unicode-ident", + "digest 0.10.7", + "keccak 0.1.6", ] [[package]] -name = "rustc-demangle" -version = "0.1.27" +name = "shake" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d" +checksum = "09057cb2149ad4cbd2da1e26b351f9a4c354219421229c69c3063e6f61947c4a" +dependencies = [ + "digest 0.11.3", + "keccak 0.2.0", + "sponge-cursor", +] [[package]] -name = "rustc-hash" -version = "1.1.0" +name = "sharded-slab" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] [[package]] -name = "rustc-hash" -version = "2.1.2" +name = "shlex" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] -name = "rustc_version" -version = "0.4.1" +name = "shlex" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" -dependencies = [ - "semver", -] +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" [[package]] -name = "rusticata-macros" -version = "4.1.0" +name = "signal-hook" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632" +checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" dependencies = [ - "nom", + "libc", + "signal-hook-registry", ] [[package]] -name = "rustix" -version = "0.38.44" +name = "signal-hook-registry" +version = "1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" dependencies = [ - "bitflags", - "errno", + "errno 0.3.14", "libc", - "linux-raw-sys 0.4.15", - "windows-sys 0.59.0", ] [[package]] -name = "rustix" -version = "1.1.4" +name = "signature" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ - "bitflags", - "errno", - "libc", - "linux-raw-sys 0.12.1", - "windows-sys 0.61.2", + "digest 0.10.7", + "rand_core 0.6.4", ] [[package]] -name = "rustix-linux-procfs" -version = "0.1.1" +name = "signature" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fc84bf7e9aa16c4f2c758f27412dc9841341e16aa682d9c7ac308fe3ee12056" +checksum = "28d567dcbaf0049cb8ac2608a76cd95ff9e4412e1899d389ee400918ca7537f5" dependencies = [ - "once_cell", - "rustix 1.1.4", + "digest 0.11.3", + "rand_core 0.10.1", ] [[package]] -name = "rustls" -version = "0.23.40" +name = "simba" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef86cd5876211988985292b91c96a8f2d298df24e75989a43a3c73f2d4d8168b" +checksum = "c99284beb21666094ba2b75bbceda012e610f5479dfcc2d6e2426f53197ffd95" dependencies = [ - "aws-lc-rs", - "log", - "once_cell", - "ring", - "rustls-pki-types", - "rustls-webpki", - "subtle", - "zeroize", + "approx", + "num-complex", + "num-traits", + "paste", + "wide", ] [[package]] -name = "rustls-native-certs" -version = "0.8.4" +name = "simd-adler32" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dab5152771c58876a2146916e53e35057e1a4dfa2b9df0f0305b07f611fdea4d" -dependencies = [ - "openssl-probe", - "rustls-pki-types", - "schannel", - "security-framework", -] +checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214" [[package]] -name = "rustls-pki-types" -version = "1.14.1" +name = "simd-json" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a7197ae7eb376e574fe940d068c30fe0462554a3ddbe4eca7838e049c937a9" +checksum = "aa2bcf6c6e164e81bc7a5d49fc6988b3d515d9e8c07457d7b74ffb9324b9cd40" dependencies = [ - "web-time", - "zeroize", + "getrandom 0.2.17", + "halfbrown", + "ref-cast", + "serde", + "serde_json", + "simdutf8", + "value-trait", ] [[package]] -name = "rustls-platform-verifier" -version = "0.7.0" +name = "simd_cesu8" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d1e2536ce4f35f4846aa13bff16bd0ff40157cdb14cc056c7b14ba41233ba0" +checksum = "94f90157bb87cddf702797c5dadfa0be7d266cdf49e22da2fcaa32eff75b2c33" dependencies = [ - "core-foundation", - "core-foundation-sys", - "jni", - "log", - "once_cell", - "rustls", - "rustls-native-certs", - "rustls-platform-verifier-android", - "rustls-webpki", - "security-framework", - "security-framework-sys", - "webpki-root-certs", - "windows-sys 0.61.2", + "rustc_version", + "simdutf8", ] [[package]] -name = "rustls-platform-verifier-android" -version = "0.1.1" +name = "simdutf8" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" [[package]] -name = "rustls-webpki" -version = "0.103.13" +name = "siphasher" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e" -dependencies = [ - "aws-lc-rs", - "ring", - "rustls-pki-types", - "untrusted", -] +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] -name = "rustversion" -version = "1.0.22" +name = "siphasher" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" +checksum = "8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649" [[package]] -name = "ryu" -version = "1.0.23" +name = "slab" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] -name = "same-file" -version = "1.0.6" +name = "slotmap" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +checksum = "bdd58c3c93c3d278ca835519292445cb4b0d4dc59ccfdf7ceadaab3f8aeb4038" dependencies = [ - "winapi-util", + "version_check", ] [[package]] -name = "schannel" -version = "0.1.29" +name = "sm3" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91c1b7e4904c873ef0710c1f407dde2e6287de2bebc1bbbf7d430bb7cbffd939" +checksum = "ebb9a3b702d0a7e33bc4d85a14456633d2b165c2ad839c5fd9a8417c1ab15860" dependencies = [ - "windows-sys 0.61.2", + "digest 0.10.7", ] [[package]] -name = "schemars" -version = "0.8.22" +name = "smallvec" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" dependencies = [ - "chrono", - "dyn-clone", - "schemars_derive 0.8.22", "serde", - "serde_json", - "uuid", ] [[package]] -name = "schemars" -version = "1.2.1" +name = "smallvec" +version = "2.0.0-alpha.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc" +checksum = "51d44cfb396c3caf6fbfd0ab422af02631b69ddd96d2eff0b0f0724f9024051b" + +[[package]] +name = "smartstring" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fb72c633efbaa2dd666986505016c32c3044395ceaf881518399d2f4127ee29" dependencies = [ - "dyn-clone", - "ref-cast", - "schemars_derive 1.2.1", - "serde", - "serde_json", + "autocfg", + "static_assertions", + "version_check", ] [[package]] -name = "schemars_derive" -version = "0.8.22" +name = "socket2" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" dependencies = [ - "proc-macro2", - "quote", - "serde_derive_internals", - "syn 2.0.117", + "libc", + "windows-sys 0.52.0", ] [[package]] -name = "schemars_derive" -version = "1.2.1" +name = "socket2" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d115b50f4aaeea07e79c1912f645c7513d81715d0420f8bc77a18c6260b307f" +checksum = "52d1cfed4120b4d927bf7c0f86d2087a4a7d6027c906d9f9d525a80573b9be51" dependencies = [ - "proc-macro2", - "quote", - "serde_derive_internals", - "syn 2.0.117", + "libc", + "windows-sys 0.61.2", ] [[package]] -name = "scopeguard" -version = "1.2.0" +name = "socks" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +checksum = "f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b" +dependencies = [ + "byteorder", + "libc", + "winapi", +] [[package]] -name = "secrecy" -version = "0.10.3" +name = "sourcemap" +version = "9.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e891af845473308773346dc847b2c23ee78fe442e0472ac50e22a18a93d3ae5a" +checksum = "314d62a489431668f719ada776ca1d49b924db951b7450f8974c9ae51ab05ad7" dependencies = [ + "base64-simd", + "bitvec", + "data-encoding", + "debugid", + "if_chain", + "rustc-hash 2.1.2", "serde", - "zeroize", + "serde_json", + "unicode-id-start", + "url", ] [[package]] -name = "security-framework" -version = "3.7.0" +name = "spin" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" -dependencies = [ - "bitflags", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" [[package]] -name = "security-framework-sys" -version = "2.17.0" +name = "spirv" +version = "0.3.0+sdk-1.3.268.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3" +checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" dependencies = [ - "core-foundation-sys", - "libc", + "bitflags 2.11.1", ] [[package]] -name = "semver" -version = "1.0.28" +name = "spirv" +version = "0.4.0+sdk-1.4.341.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" +checksum = "d9571ea910ebd84c86af4b3ed27f9dbdc6ad06f17c5f96146b2b671e2976744f" dependencies = [ - "serde", - "serde_core", + "bitflags 2.11.1", ] [[package]] -name = "serde" -version = "1.0.228" +name = "spki" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ - "serde_core", - "serde_derive", + "base64ct", + "der 0.7.10", ] [[package]] -name = "serde-env" -version = "0.3.0" +name = "spki" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d29a4f822b7a7e7eada47da087a9d29d9b266dba45edc375fdc700965860d7" +checksum = "1d9efca8738c78ee9484207732f728b1ef517bbb1833d6fc0879ca898a522f6f" dependencies = [ - "serde", + "base64ct", + "der 0.8.0", ] [[package]] -name = "serde-inline-default" -version = "1.0.1" +name = "sponge-cursor" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bf03b7a5281cfd4013bc788d057b0f09fc634397d83bc8973c955bd4f32727a" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] +checksum = "3a0219bd7d979d58245a4f41f695e1ac9f8befdffadd7f61f1bae9e39abc6620" [[package]] -name = "serde-wasm-bindgen" -version = "0.6.5" +name = "sptr" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b" +checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a" + +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + +[[package]] +name = "stacker" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "640c8cdd92b6b12f5bcb1803ca3bbf5ab96e5e6b6b96b9ab77dabe9e880b3190" dependencies = [ - "js-sys", - "serde", - "wasm-bindgen", + "cc", + "cfg-if", + "libc", + "psm", + "windows-sys 0.61.2", ] [[package]] -name = "serde_core" -version = "1.0.228" +name = "static_assertions" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strck" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42316e70da376f3d113a68d138a60d8a9883c604fe97942721ec2068dab13a9f" dependencies = [ - "serde_derive", + "unicode-ident", ] [[package]] -name = "serde_default" -version = "0.2.0" +name = "streaming-iterator" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "486b028b311aaaea83e0ba65a3e6e3cbef381e74e9d0bd6263faefd1fb503c1d" +checksum = "2b2231b7c3057d5e4ad0156fb3dc807d900806020c5ffa3ee6ff2c8c76fb8520" + +[[package]] +name = "string_enum" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae36a4951ca7bd1cfd991c241584a9824a70f6aff1e7d4f693fb3f2465e4030e" dependencies = [ - "darling", - "proc-macro2", "quote", + "swc_macros_common", "syn 2.0.117", ] [[package]] -name = "serde_derive" -version = "1.0.228" +name = "stringcase" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +checksum = "72abeda133c49d7bddece6c154728f83eec8172380c80ab7096da9487e20d27c" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "strum" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", + "strum_macros", ] [[package]] -name = "serde_derive_internals" -version = "0.29.1" +name = "strum_macros" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" +checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" dependencies = [ + "heck", "proc-macro2", "quote", "syn 2.0.117", ] [[package]] -name = "serde_json" -version = "1.0.150" +name = "subtle" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9" -dependencies = [ - "indexmap", - "itoa", - "memchr", - "serde", - "serde_core", - "zmij", -] +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" -[[package]] -name = "serde_norway" -version = "0.9.42" +[[package]] +name = "swc_allocator" +version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e408f29489b5fd500fab51ff1484fc859bb655f32c671f307dcd733b72e8168c" +checksum = "9d7eefd2c8b228a8c73056482b2ae4b3a1071fbe07638e3b55ceca8570cc48bb" dependencies = [ - "indexmap", - "itoa", - "ryu", - "serde", - "unsafe-libyaml-norway", + "allocator-api2", + "bumpalo", + "hashbrown 0.14.5", + "rustc-hash 2.1.2", ] [[package]] -name = "serde_path_to_error" -version = "0.1.20" +name = "swc_atoms" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457" +checksum = "d4ccbe2ecad10ad7432100f878a107b1d972a8aee83ca53184d00c23a078bb8a" dependencies = [ - "itoa", + "hstr", + "once_cell", "serde", - "serde_core", ] [[package]] -name = "serde_spanned" -version = "0.6.9" +name = "swc_common" +version = "17.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" +checksum = "259b675d633a26d24efe3802a9d88858c918e6e8f062d3222d3aa02d56a2cf4c" dependencies = [ + "anyhow", + "ast_node", + "better_scoped_tls", + "bytes-str", + "either", + "from_variant", + "new_debug_unreachable", + "num-bigint", + "once_cell", + "rustc-hash 2.1.2", "serde", + "siphasher 0.3.11", + "swc_atoms", + "swc_eq_ignore_macros", + "swc_sourcemap", + "swc_visit", + "tracing", + "unicode-width 0.2.2", + "url", ] [[package]] -name = "serde_spanned" -version = "1.1.1" +name = "swc_config" +version = "3.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26" +checksum = "72e90b52ee734ded867104612218101722ad87ff4cf74fe30383bd244a533f97" dependencies = [ - "serde_core", + "anyhow", + "bytes-str", + "indexmap 2.14.0", + "serde", + "serde_json", + "swc_config_macro", ] [[package]] -name = "serde_tokenstream" -version = "0.2.3" +name = "swc_config_macro" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7c49585c52c01f13c5c2ebb333f14f6885d76daa768d8a037d28017ec538c69" +checksum = "7b416e8ce6de17dc5ea496e10c7012b35bbc0e3fef38d2e065eed936490db0b3" dependencies = [ "proc-macro2", "quote", - "serde", + "swc_macros_common", "syn 2.0.117", ] [[package]] -name = "serde_urlencoded" -version = "0.7.1" +name = "swc_ecma_ast" +version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +checksum = "a573a0c72850dec8d4d8085f152d5778af35a2520c3093b242d2d1d50776da7c" dependencies = [ - "form_urlencoded", - "itoa", - "ryu", + "bitflags 2.11.1", + "is-macro", + "num-bigint", + "once_cell", + "phf 0.11.3", + "rustc-hash 2.1.2", "serde", + "string_enum", + "swc_atoms", + "swc_common", + "swc_visit", + "unicode-id-start", ] [[package]] -name = "serde_yaml" -version = "0.9.34+deprecated" +name = "swc_ecma_codegen" +version = "20.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" +checksum = "ff2a6ee1ec49dda8dedeac54e4147b4e8b3f278d9bb34ab28983257a393d34ed" dependencies = [ - "indexmap", - "itoa", - "ryu", + "ascii", + "compact_str", + "memchr", + "num-bigint", + "once_cell", + "regex", + "rustc-hash 2.1.2", + "ryu-js", "serde", - "unsafe-libyaml", + "swc_allocator", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_codegen_macros", + "swc_sourcemap", + "tracing", ] [[package]] -name = "sha1" -version = "0.10.6" +name = "swc_ecma_codegen_macros" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +checksum = "e276dc62c0a2625a560397827989c82a93fd545fcf6f7faec0935a82cc4ddbb8" dependencies = [ - "cfg-if", - "cpufeatures 0.2.17", - "digest 0.10.7", + "proc-macro2", + "swc_macros_common", + "syn 2.0.117", ] [[package]] -name = "sha1" -version = "0.11.0" +name = "swc_ecma_lexer" +version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aacc4cc499359472b4abe1bf11d0b12e688af9a805fa5e3016f9a386dc2d0214" +checksum = "5e82f7747e052c6ff6e111fa4adeb14e33b46ee6e94fe5ef717601f651db48fc" dependencies = [ - "cfg-if", - "cpufeatures 0.3.0", - "digest 0.11.3", + "bitflags 2.11.1", + "either", + "num-bigint", + "rustc-hash 2.1.2", + "seq-macro", + "serde", + "smallvec 1.15.1", + "smartstring", + "stacker", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_parser", + "tracing", ] [[package]] -name = "sha2" -version = "0.10.9" +name = "swc_ecma_loader" +version = "17.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +checksum = "fbcababb48f0d46587a0a854b2c577eb3a56fa99687de558338021e93cd2c8f5" dependencies = [ - "cfg-if", - "cpufeatures 0.2.17", - "digest 0.10.7", + "anyhow", + "pathdiff", + "rustc-hash 2.1.2", + "serde", + "swc_atoms", + "swc_common", + "tracing", ] [[package]] -name = "sharded-slab" -version = "0.1.7" +name = "swc_ecma_parser" +version = "27.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +checksum = "7f1a51af1a92cd4904c073b293e491bbc0918400a45d58227b34c961dd6f52d7" dependencies = [ - "lazy_static", + "bitflags 2.11.1", + "either", + "num-bigint", + "phf 0.11.3", + "rustc-hash 2.1.2", + "seq-macro", + "serde", + "smartstring", + "stacker", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "tracing", ] [[package]] -name = "shlex" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" - -[[package]] -name = "signal-hook-registry" -version = "1.4.8" +name = "swc_ecma_transforms_base" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" +checksum = "250f6f165578ca4fee47bd57585c1b9597c94bf4ea6591df47f2b5fa5b1883fe" dependencies = [ - "errno", - "libc", + "better_scoped_tls", + "indexmap 2.14.0", + "once_cell", + "par-core", + "phf 0.11.3", + "rustc-hash 2.1.2", + "serde", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_parser", + "swc_ecma_utils", + "swc_ecma_visit", + "tracing", ] [[package]] -name = "simd-adler32" -version = "0.3.9" +name = "swc_ecma_transforms_classes" +version = "30.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214" +checksum = "3d3ab35eff4a980e02d708798ae4c35bc017612292adbffe7b7b554df772fdf5" +dependencies = [ + "swc_common", + "swc_ecma_ast", + "swc_ecma_transforms_base", + "swc_ecma_utils", + "swc_ecma_visit", +] [[package]] -name = "simd_cesu8" -version = "1.1.1" +name = "swc_ecma_transforms_macros" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94f90157bb87cddf702797c5dadfa0be7d266cdf49e22da2fcaa32eff75b2c33" +checksum = "bc777288799bf6786e5200325a56e4fbabba590264a4a48a0c70b16ad0cf5cd8" dependencies = [ - "rustc_version", - "simdutf8", + "proc-macro2", + "quote", + "swc_macros_common", + "syn 2.0.117", ] [[package]] -name = "simdutf8" -version = "0.1.5" +name = "swc_ecma_transforms_proposal" +version = "30.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" +checksum = "c2d7748d4112c87ce1885260035e4a43cebfe7661a40174b7d77a0a04760a257" +dependencies = [ + "either", + "rustc-hash 2.1.2", + "serde", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_transforms_base", + "swc_ecma_transforms_classes", + "swc_ecma_utils", + "swc_ecma_visit", +] [[package]] -name = "slab" -version = "0.4.12" +name = "swc_ecma_transforms_react" +version = "33.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" +checksum = "03de12e38e47ac1c96ac576f793ad37a9d7b16fbf4f2203881f89152f2498682" +dependencies = [ + "base64 0.22.1", + "bytes-str", + "indexmap 2.14.0", + "once_cell", + "rustc-hash 2.1.2", + "serde", + "sha1 0.10.6", + "string_enum", + "swc_atoms", + "swc_common", + "swc_config", + "swc_ecma_ast", + "swc_ecma_parser", + "swc_ecma_transforms_base", + "swc_ecma_utils", + "swc_ecma_visit", +] [[package]] -name = "smallvec" -version = "1.15.1" +name = "swc_ecma_transforms_typescript" +version = "33.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +checksum = "4408800fdeb541fabf3659db622189a0aeb386f57b6103f9294ff19dfde4f7b0" dependencies = [ + "bytes-str", + "rustc-hash 2.1.2", "serde", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_transforms_base", + "swc_ecma_transforms_react", + "swc_ecma_utils", + "swc_ecma_visit", ] [[package]] -name = "smallvec" -version = "2.0.0-alpha.10" +name = "swc_ecma_utils" +version = "24.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d44cfb396c3caf6fbfd0ab422af02631b69ddd96d2eff0b0f0724f9024051b" +checksum = "0fb99e179988cabd473779a4452ab942bcb777176983ca3cbaf22a8f056a65b0" +dependencies = [ + "indexmap 2.14.0", + "num_cpus", + "once_cell", + "par-core", + "rustc-hash 2.1.2", + "ryu-js", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_visit", + "tracing", +] [[package]] -name = "socket2" -version = "0.5.10" +name = "swc_ecma_visit" +version = "18.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" +checksum = "a9611a72a4008d62608547a394e5d72a5245413104db096d95a52368a8cc1d63" dependencies = [ - "libc", - "windows-sys 0.52.0", + "new_debug_unreachable", + "num-bigint", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_visit", + "tracing", ] [[package]] -name = "socket2" -version = "0.6.4" +name = "swc_eq_ignore_macros" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52d1cfed4120b4d927bf7c0f86d2087a4a7d6027c906d9f9d525a80573b9be51" +checksum = "c16ce73424a6316e95e09065ba6a207eba7765496fed113702278b7711d4b632" dependencies = [ - "libc", - "windows-sys 0.61.2", + "proc-macro2", + "quote", + "syn 2.0.117", ] [[package]] -name = "socks" -version = "0.3.4" +name = "swc_macros_common" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b" +checksum = "aae1efbaa74943dc5ad2a2fb16cbd78b77d7e4d63188f3c5b4df2b4dcd2faaae" dependencies = [ - "byteorder", - "libc", - "winapi", + "proc-macro2", + "quote", + "syn 2.0.117", ] [[package]] -name = "spirv" -version = "0.4.0+sdk-1.4.341.0" +name = "swc_sourcemap" +version = "9.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9571ea910ebd84c86af4b3ed27f9dbdc6ad06f17c5f96146b2b671e2976744f" +checksum = "de08ef00f816acdd1a58ee8a81c0e1a59eefef2093aefe5611f256fa6b64c4d7" dependencies = [ - "bitflags", + "base64-simd", + "bitvec", + "bytes-str", + "data-encoding", + "debugid", + "if_chain", + "rustc-hash 2.1.2", + "serde", + "serde_json", + "unicode-id-start", + "url", ] [[package]] -name = "stable_deref_trait" -version = "1.2.1" +name = "swc_visit" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" +checksum = "62fb71484b486c185e34d2172f0eabe7f4722742aad700f426a494bb2de232a2" +dependencies = [ + "either", + "new_debug_unreachable", +] [[package]] -name = "static_assertions" -version = "1.1.0" +name = "syn" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] [[package]] -name = "streaming-iterator" -version = "0.1.9" +name = "syn" +version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b2231b7c3057d5e4ad0156fb3dc807d900806020c5ffa3ee6ff2c8c76fb8520" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] [[package]] -name = "strsim" -version = "0.11.1" +name = "syn-match" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" +checksum = "54b8f0a9004d6aafa6a588602a1119e6cdaacec9921aa1605383e6e7d6258fd6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] [[package]] -name = "subtle" -version = "2.6.1" +name = "sync_wrapper" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] [[package]] -name = "syn" -version = "1.0.109" +name = "synstructure" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ "proc-macro2", "quote", - "unicode-ident", + "syn 1.0.109", + "unicode-xid", ] [[package]] -name = "syn" -version = "2.0.117" +name = "synstructure" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "unicode-ident", + "syn 2.0.117", ] -[[package]] -name = "sync_wrapper" -version = "1.0.2" +[[package]] +name = "sys_traits" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +checksum = "88826d6169418c98e8bc52a43f79d50907dfa3e87ba5161930d42c6f980b35ee" dependencies = [ - "futures-core", + "getrandom 0.2.17", + "junction", + "libc", + "sys_traits_macros", + "windows-sys 0.59.0", ] [[package]] -name = "synstructure" -version = "0.13.2" +name = "sys_traits_macros" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +checksum = "181f22127402abcf8ee5c83ccd5b408933fec36a6095cf82cda545634692657e" dependencies = [ "proc-macro2", "quote", @@ -5179,7 +10878,7 @@ version = "0.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc4592f674ce18521c2a81483873a49596655b179f71c5e05d10c1fe66c78745" dependencies = [ - "bitflags", + "bitflags 2.11.1", "cap-fs-ext", "cap-std", "fd-lock", @@ -5189,6 +10888,18 @@ dependencies = [ "winx", ] +[[package]] +name = "tagptr" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + [[package]] name = "tar" version = "0.4.46" @@ -5228,6 +10939,40 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "temporal_capi" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a2a1f001e756a9f5f2d175a9965c4c0b3a054f09f30de3a75ab49765f2deb36" +dependencies = [ + "diplomat", + "diplomat-runtime", + "icu_calendar", + "icu_locale_core", + "num-traits", + "temporal_rs", + "timezone_provider", + "writeable", + "zoneinfo64", +] + +[[package]] +name = "temporal_rs" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a902a45282e5175186b21d355efc92564601efe6e2d92818dc9e333d50bd4de" +dependencies = [ + "calendrical_calculations", + "core_maths", + "icu_calendar", + "icu_locale_core", + "ixdtf", + "num-traits", + "timezone_provider", + "tinystr", + "writeable", +] + [[package]] name = "termcolor" version = "1.4.1" @@ -5252,6 +10997,15 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f18aa187839b2bdb1ad2fa35ead8c4c2976b64e4363c386d45ac0f7ee85c9233" +[[package]] +name = "text_lines" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fd5828de7deaa782e1dd713006ae96b3bee32d3279b79eb67ecf8072c059bcf" +dependencies = [ + "serde", +] + [[package]] name = "thiserror" version = "1.0.69" @@ -5332,6 +11086,18 @@ dependencies = [ "time-core", ] +[[package]] +name = "timezone_provider" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c48f9b04628a2b813051e4dfe97c65281e49625eabd09ec343190e31e399a8c2" +dependencies = [ + "tinystr", + "zerotrie", + "zerovec", + "zoneinfo64", +] + [[package]] name = "tiny_pretty" version = "0.2.1" @@ -5345,6 +11111,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d" dependencies = [ "displaydoc", + "serde_core", "zerovec", ] @@ -5371,7 +11138,7 @@ checksum = "8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe" dependencies = [ "bytes", "libc", - "mio", + "mio 1.2.1", "parking_lot", "pin-project-lite", "signal-hook-registry", @@ -5380,6 +11147,16 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "tokio-eld" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d06d816c6ab33079aa237f8d8a1f0f2018eb5cbd4096713f42c33aacf2502518" +dependencies = [ + "hdrhistogram", + "tokio", +] + [[package]] name = "tokio-macros" version = "2.7.0" @@ -5391,6 +11168,18 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "tokio-metrics" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eace09241d62c98b7eeb1107d4c5c64ca3bd7da92e8c218c153ab3a78f9be112" +dependencies = [ + "futures-util", + "pin-project-lite", + "tokio", + "tokio-stream", +] + [[package]] name = "tokio-rustls" version = "0.26.4" @@ -5401,6 +11190,18 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-socks" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7e2948f60dbe26b35f2c7fb74ac2854c1fddded0fe9d7548fcc674a246f7615" +dependencies = [ + "either", + "futures-util", + "thiserror 1.0.69", + "tokio", +] + [[package]] name = "tokio-stream" version = "0.1.18" @@ -5432,9 +11233,26 @@ checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" dependencies = [ "bytes", "futures-core", + "futures-io", "futures-sink", + "futures-util", + "hashbrown 0.15.5", "pin-project-lite", + "slab", + "tokio", +] + +[[package]] +name = "tokio-vsock" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b319ef9394889dab2e1b4f0085b45ba11d0c79dc9d1a9d1afc057d009d0f1c7" +dependencies = [ + "bytes", + "futures", + "libc", "tokio", + "vsock", ] [[package]] @@ -5455,7 +11273,7 @@ version = "0.9.12+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863" dependencies = [ - "indexmap", + "indexmap 2.14.0", "serde_core", "serde_spanned 1.1.1", "toml_datetime 0.7.5+spec-1.1.0", @@ -5497,7 +11315,7 @@ version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap", + "indexmap 2.14.0", "serde", "serde_spanned 0.6.9", "toml_datetime 0.6.11", @@ -5511,7 +11329,7 @@ version = "0.25.12+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2153edc6955a6c354fad8f5efd38b6a8769bdccf9fe50f8e1329f81b0baa5d7" dependencies = [ - "indexmap", + "indexmap 2.14.0", "toml_datetime 1.1.1+spec-1.1.0", "toml_parser", "winnow 1.0.3", @@ -5538,6 +11356,36 @@ version = "1.1.1+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "756daf9b1013ebe47a8776667b466417e2d4c5679d441c26230efd9ef78692db" +[[package]] +name = "tonic" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" +dependencies = [ + "async-stream", + "async-trait", + "axum", + "base64 0.22.1", + "bytes", + "h2 0.4.14", + "http 1.4.1", + "http-body 1.0.1", + "http-body-util", + "hyper 1.10.1", + "hyper-timeout", + "hyper-util", + "percent-encoding", + "pin-project", + "prost 0.13.5", + "socket2 0.5.10", + "tokio", + "tokio-stream", + "tower 0.4.13", + "tower-layer", + "tower-service", + "tracing", +] + [[package]] name = "tonic" version = "0.14.6" @@ -5545,10 +11393,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac2a5518c70fa84342385732db33fb3f44bc4cc748936eb5833d2df34d6445ef" dependencies = [ "async-trait", - "base64", + "base64 0.22.1", "bytes", "http 1.4.1", - "http-body", + "http-body 1.0.1", "http-body-util", "percent-encoding", "pin-project", @@ -5566,8 +11414,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "50849f68853be452acf590cde0b146665b8d507b3b8af17261df47e02c209ea0" dependencies = [ "bytes", - "prost", - "tonic", + "prost 0.14.3", + "tonic 0.14.6", +] + +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "indexmap 1.9.3", + "pin-project", + "pin-project-lite", + "rand 0.8.5", + "slab", + "tokio", + "tokio-util", + "tower-layer", + "tower-service", + "tracing", ] [[package]] @@ -5591,13 +11459,18 @@ version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cfcf7e2740e6fc6d4d688b4ef00650406bb94adf4731e43c096c3a19fe40840" dependencies = [ - "bitflags", + "async-compression", + "bitflags 2.11.1", "bytes", + "futures-core", "futures-util", "http 1.4.1", - "http-body", + "http-body 1.0.1", + "http-body-util", "pin-project-lite", - "tower", + "tokio", + "tokio-util", + "tower 0.5.3", "tower-layer", "tower-service", "url", @@ -5635,7 +11508,7 @@ checksum = "1ca6b15407f9bfcb35f82d0e79e603e1629ece4e91cc6d9e58f890c184dd20af" dependencies = [ "actix-web", "mutually_exclusive_features", - "opentelemetry", + "opentelemetry 0.31.0", "pin-project", "tracing", "tracing-opentelemetry", @@ -5681,7 +11554,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ac28f2d093c6c477eaa76b23525478f38de514fa9aeb1285738d4b97a9552fc" dependencies = [ "js-sys", - "opentelemetry", + "opentelemetry 0.31.0", "smallvec 1.15.1", "tracing", "tracing-core", @@ -5749,6 +11622,16 @@ dependencies = [ "tree-sitter-language", ] +[[package]] +name = "triomphe" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd69c5aa8f924c7519d6372789a74eac5b94fb0f8fcf0d4a97eb0bfc3e785f39" +dependencies = [ + "serde", + "stable_deref_trait", +] + [[package]] name = "try-lock" version = "0.2.5" @@ -5767,12 +11650,24 @@ dependencies = [ "http 1.4.1", "httparse", "log", - "rand 0.8.6", + "rand 0.8.5", "sha1 0.10.6", "thiserror 1.0.69", "utf-8", ] +[[package]] +name = "twox-hash" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ea3136b675547379c4bd395ca6b938e5ad3c3d20fad76e7fe85f9e0d011419c" + +[[package]] +name = "typeid" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" + [[package]] name = "typenum" version = "1.20.1" @@ -5838,12 +11733,27 @@ version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142" +[[package]] +name = "unicode-id-start" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81b79ad29b5e19de4260020f8919b443b2ef0277d242ce532ec7b7a2cc8b6007" + [[package]] name = "unicode-ident" version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" +[[package]] +name = "unicode-normalization" +version = "0.1.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8" +dependencies = [ + "tinyvec", +] + [[package]] name = "unicode-segmentation" version = "1.13.2" @@ -5868,6 +11778,16 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" +[[package]] +name = "universal-hash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +dependencies = [ + "crypto-common 0.1.7", + "subtle", +] + [[package]] name = "unsafe-libyaml" version = "0.2.11" @@ -5882,25 +11802,15 @@ checksum = "b39abd59bf32521c7f2301b52d05a6a2c975b6003521cbd0c6dc1582f0a22104" [[package]] name = "untrusted" -version = "0.9.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] -name = "ureq" -version = "2.12.1" +name = "untrusted" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02d1a66277ed75f640d608235660df48c8e3c19f3b4edb6a263315626cc3c01d" -dependencies = [ - "base64", - "flate2", - "log", - "once_cell", - "rustls", - "rustls-pki-types", - "url", - "webpki-roots 0.26.11", -] +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "ureq" @@ -5908,8 +11818,8 @@ version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dea7109cdcd5864d4eeb1b58a1648dc9bf520360d7af16ec26d0a9354bafcfc0" dependencies = [ - "base64", - "der", + "base64 0.22.1", + "der 0.8.0", "log", "native-tls", "percent-encoding", @@ -5917,7 +11827,7 @@ dependencies = [ "socks", "ureq-proto", "utf8-zero", - "webpki-root-certs", + "webpki-root-certs 1.0.7", ] [[package]] @@ -5926,7 +11836,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e994ba84b0bd1b1b0cf92878b7ef898a5c1760108fe7b6010327e274917a808c" dependencies = [ - "base64", + "base64 0.22.1", "http 1.4.1", "httparse", "log", @@ -5942,6 +11852,19 @@ dependencies = [ "idna", "percent-encoding", "serde", + "serde_derive", +] + +[[package]] +name = "urlpattern" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f805818f843b548bacc19609eb3619dd2850e54746f5cada37927393c2ef4ec" +dependencies = [ + "icu_properties", + "regex", + "serde", + "url", ] [[package]] @@ -5974,7 +11897,7 @@ version = "5.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8bde15df68e80b16c7d16b9616e80770ad158988daa56a27dccd1e55558b0160" dependencies = [ - "indexmap", + "indexmap 2.14.0", "serde", "serde_json", "serde_norway", @@ -6005,6 +11928,38 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "v8" +version = "149.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65a9ff61a9b12e7b2559a7b1e5e1515e379a999c97a65b9356b936307b7f687a" +dependencies = [ + "bindgen 0.72.1", + "bitflags 2.11.1", + "fslock", + "gzip-header", + "home", + "miniz_oxide", + "paste", + "temporal_capi", + "which 6.0.3", +] + +[[package]] +name = "v8_valueserializer" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e05741b8524f73cbf239bea12239458d3a835246c5c637cc9e7e601eac60770" +dependencies = [ + "bitflags 2.11.1", + "encoding_rs", + "indexmap 2.14.0", + "num-bigint", + "serde", + "thiserror 1.0.69", + "wtf8", +] + [[package]] name = "v_htmlescape" version = "0.15.8" @@ -6017,6 +11972,18 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" +[[package]] +name = "value-trait" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9170e001f458781e92711d2ad666110f153e4e50bfd5cbd02db6547625714187" +dependencies = [ + "float-cmp", + "halfbrown", + "itoa", + "ryu", +] + [[package]] name = "vcpkg" version = "0.2.15" @@ -6029,6 +11996,22 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" +[[package]] +name = "vsimd" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" + +[[package]] +name = "vsock" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ba782755fc073877e567c2253c0be48e4aa9a254c232d36d3985dfae0bd5205" +dependencies = [ + "libc", + "nix 0.31.3", +] + [[package]] name = "walkdir" version = "2.5.0" @@ -6072,6 +12055,12 @@ dependencies = [ "wit-bindgen 0.51.0", ] +[[package]] +name = "wasite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" + [[package]] name = "wasm-bindgen" version = "0.2.122" @@ -6174,7 +12163,7 @@ checksum = "f05a2b3bad87cc1ce45b63425ec09a854cc4cb369231c9fed1fee31538103efb" dependencies = [ "anyhow", "heck", - "indexmap", + "indexmap 2.14.0", "log", "petgraph 0.6.5", "smallvec 1.15.1", @@ -6230,7 +12219,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" dependencies = [ "anyhow", - "indexmap", + "indexmap 2.14.0", "wasm-encoder 0.244.0", "wasmparser 0.244.0", ] @@ -6242,7 +12231,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "665fe59e56cc9b419ca6fcca56673e3421d1a5011e3b65caf6b726fd9e041d10" dependencies = [ "anyhow", - "indexmap", + "indexmap 2.14.0", "wasm-encoder 0.247.0", "wasmparser 0.247.0", ] @@ -6260,15 +12249,25 @@ dependencies = [ "web-sys", ] +[[package]] +name = "wasm_dep_analyzer" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a10e6b67c951a84de7029487e0e0a496860dae49f6699edd279d5ff35b8fbf54" +dependencies = [ + "deno_error", + "thiserror 2.0.18", +] + [[package]] name = "wasmparser" version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" dependencies = [ - "bitflags", + "bitflags 2.11.1", "hashbrown 0.15.5", - "indexmap", + "indexmap 2.14.0", "semver", ] @@ -6278,9 +12277,9 @@ version = "0.246.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71cde4757396defafd25417cfb36aa3161027d06d865b0c24baaae229aac005d" dependencies = [ - "bitflags", + "bitflags 2.11.1", "hashbrown 0.16.1", - "indexmap", + "indexmap 2.14.0", "semver", "serde", ] @@ -6291,9 +12290,9 @@ version = "0.247.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e6fb4c2bee46c5ea4d40f8cdb5c131725cd976718ec56f1c8e82fbde5fa2a80" dependencies = [ - "bitflags", + "bitflags 2.11.1", "hashbrown 0.17.1", - "indexmap", + "indexmap 2.14.0", "semver", ] @@ -6303,8 +12302,8 @@ version = "0.249.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "30538cae9a794215f490b532df01c557e2e2bfac92569482554acd0992a102ea" dependencies = [ - "bitflags", - "indexmap", + "bitflags 2.11.1", + "indexmap 2.14.0", "semver", ] @@ -6314,8 +12313,8 @@ version = "0.251.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "437970b35b1a85cfde9c74b2398352d8d653f3bd8e3a3db0c063ea8f5b4b36ff" dependencies = [ - "bitflags", - "indexmap", + "bitflags 2.11.1", + "indexmap 2.14.0", "semver", ] @@ -6338,20 +12337,20 @@ checksum = "af4eccc0728f061979efa8ff4c962cff7041fead4baadb74973f01b9c47158a4" dependencies = [ "addr2line", "async-trait", - "bitflags", + "bitflags 2.11.1", "bumpalo", "cc", "cfg-if", "encoding_rs", "futures", "fxprof-processed-profile", - "gimli", + "gimli 0.33.0", "ittapi", "libc", "log", "mach2", "memfd", - "object", + "object 0.39.1", "once_cell", "postcard", "pulley-interpreter", @@ -6391,14 +12390,14 @@ checksum = "7e84dbe3208c1336a41546beb75927b3b37e2e4fce06653d214b407136fbe295" dependencies = [ "anyhow", "cpp_demangle", - "cranelift-bforest", - "cranelift-bitset", - "cranelift-entity", - "gimli", + "cranelift-bforest 0.131.2", + "cranelift-bitset 0.131.2", + "cranelift-entity 0.131.2", + "gimli 0.33.0", "hashbrown 0.16.1", - "indexmap", + "indexmap 2.14.0", "log", - "object", + "object 0.39.1", "postcard", "rustc-demangle", "semver", @@ -6420,7 +12419,7 @@ version = "44.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "910b8dcadc0888344b2dea5a087c836b58156d4f455c52b6dac0bdc776a9d029" dependencies = [ - "base64", + "base64 0.22.1", "directories-next", "log", "postcard", @@ -6474,15 +12473,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c5a3bc28a172037c7864128bb208017a02bba659a59c27acacc048c09e25c1fc" dependencies = [ "cfg-if", - "cranelift-codegen", - "cranelift-control", - "cranelift-entity", - "cranelift-frontend", - "cranelift-native", - "gimli", - "itertools", + "cranelift-codegen 0.131.2", + "cranelift-control 0.131.2", + "cranelift-entity 0.131.2", + "cranelift-frontend 0.131.2", + "cranelift-native 0.131.2", + "gimli 0.33.0", + "itertools 0.14.0", "log", - "object", + "object 0.39.1", "pulley-interpreter", "smallvec 1.15.1", "target-lexicon", @@ -6516,7 +12515,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84f364747aa74c686b18925918e5cfd615a73c9613c7a31fc1cd86f42df12fbe" dependencies = [ "cc", - "object", + "object 0.39.1", "rustix 1.1.4", "wasmtime-internal-versioned-export-macros", ] @@ -6540,9 +12539,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94b8f8a89e8f3660646f820c7d8310a67094156bb866e9d56f1b00892e011206" dependencies = [ "cfg-if", - "cranelift-codegen", + "cranelift-codegen 0.131.2", "log", - "object", + "object 0.39.1", "wasmtime-environ", ] @@ -6563,10 +12562,10 @@ version = "44.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4b06e4ed07adc579645e5c55c67b3138c49da2e468fad52d3db7b7a098ecc733" dependencies = [ - "cranelift-codegen", - "gimli", + "cranelift-codegen 0.131.2", + "gimli 0.33.0", "log", - "object", + "object 0.39.1", "target-lexicon", "wasmparser 0.246.2", "wasmtime-environ", @@ -6581,9 +12580,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f08787948e3c983799d616ef7dd57463253e9ca8bab6607eef8134f12353f70" dependencies = [ "anyhow", - "bitflags", + "bitflags 2.11.1", "heck", - "indexmap", + "indexmap 2.14.0", "wit-parser 0.246.2", ] @@ -6594,7 +12593,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b2f19834bc6edbc31ac95fdcfd5ddcd7643759265a1d545dec36ac6cc788ca8" dependencies = [ "async-trait", - "bitflags", + "bitflags 2.11.1", "bytes", "cap-fs-ext", "cap-net-ext", @@ -6689,10 +12688,31 @@ dependencies = [ name = "web-time" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-transport-proto" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "974fa1e325e6cc5327de8887f189a441fcff4f8eedcd31ec87f0ef0cc5283fbc" +dependencies = [ + "bytes", + "http 1.4.1", + "thiserror 2.0.18", + "url", +] + +[[package]] +name = "webpki-root-certs" +version = "0.26.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75c7f0ef91146ebfb530314f5f1d24528d7f0767efbfd31dce919275413e393e" dependencies = [ - "js-sys", - "wasm-bindgen", + "webpki-root-certs 1.0.7", ] [[package]] @@ -6722,6 +12742,12 @@ dependencies = [ "rustls-pki-types", ] +[[package]] +name = "weezl" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88" + [[package]] name = "wgpu" version = "29.0.3" @@ -6729,7 +12755,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb3feacc458f7bee8bc1737149b42b6c731aa461039a4264a67bb6681646b250" dependencies = [ "arrayvec", - "bitflags", + "bitflags 2.11.1", "bytemuck", "cfg-if", "cfg_aliases", @@ -6741,9 +12767,43 @@ dependencies = [ "raw-window-handle", "smallvec 1.15.1", "static_assertions", - "wgpu-core", - "wgpu-hal", - "wgpu-types", + "wgpu-core 29.0.3", + "wgpu-hal 29.0.3", + "wgpu-types 29.0.3", +] + +[[package]] +name = "wgpu-core" +version = "28.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d23f4642f53f666adcfd2d3218ab174d1e6681101aef18696b90cbe64d1c10f9" +dependencies = [ + "arrayvec", + "bit-set 0.8.0", + "bit-vec 0.8.0", + "bitflags 2.11.1", + "bytemuck", + "cfg_aliases", + "document-features", + "hashbrown 0.16.1", + "indexmap 2.14.0", + "log", + "macro_rules_attribute", + "naga 28.0.0", + "once_cell", + "parking_lot", + "profiling", + "raw-window-handle", + "ron", + "rustc-hash 1.1.0", + "serde", + "smallvec 1.15.1", + "thiserror 2.0.18", + "wgpu-core-deps-apple 28.0.0", + "wgpu-core-deps-emscripten", + "wgpu-core-deps-windows-linux-android 28.0.0", + "wgpu-hal 28.0.1", + "wgpu-types 28.0.0", ] [[package]] @@ -6753,16 +12813,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02da3ad1b568337f25513b317870960ef87073ea0945502e44b864b67a8c77b7" dependencies = [ "arrayvec", - "bit-set", - "bit-vec", - "bitflags", + "bit-set 0.9.1", + "bit-vec 0.9.1", + "bitflags 2.11.1", "bytemuck", "cfg_aliases", "document-features", "hashbrown 0.16.1", - "indexmap", + "indexmap 2.14.0", "log", - "naga", + "naga 29.0.3", "once_cell", "parking_lot", "portable-atomic", @@ -6771,11 +12831,20 @@ dependencies = [ "rustc-hash 1.1.0", "smallvec 1.15.1", "thiserror 2.0.18", - "wgpu-core-deps-apple", - "wgpu-core-deps-windows-linux-android", - "wgpu-hal", + "wgpu-core-deps-apple 29.0.3", + "wgpu-core-deps-windows-linux-android 29.0.3", + "wgpu-hal 29.0.3", "wgpu-naga-bridge", - "wgpu-types", + "wgpu-types 29.0.3", +] + +[[package]] +name = "wgpu-core-deps-apple" +version = "28.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87b7b696b918f337c486bf93142454080a32a37832ba8a31e4f48221890047da" +dependencies = [ + "wgpu-hal 28.0.1", ] [[package]] @@ -6784,7 +12853,25 @@ version = "29.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62e51b5447e144b3dbba4feb01f80f4fa21696fa0cd99afb2c3df1affd6fdb28" dependencies = [ - "wgpu-hal", + "wgpu-hal 29.0.3", +] + +[[package]] +name = "wgpu-core-deps-emscripten" +version = "28.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34b251c331f84feac147de3c4aa3aa45112622a95dd7ee1b74384fa0458dbd79" +dependencies = [ + "wgpu-hal 28.0.1", +] + +[[package]] +name = "wgpu-core-deps-windows-linux-android" +version = "28.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68ca976e72b2c9964eb243e281f6ce7f14a514e409920920dcda12ae40febaae" +dependencies = [ + "wgpu-hal 28.0.1", ] [[package]] @@ -6793,7 +12880,52 @@ version = "29.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb01076d0aa08b0ba9bd741e178b5cc440f5abe99d9581323a4c8b5d1a1916" dependencies = [ - "wgpu-hal", + "wgpu-hal 29.0.3", +] + +[[package]] +name = "wgpu-hal" +version = "28.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d6cb474beb218824dcc9e1ce679d973f719262789bfb27407da560cac20eeb" +dependencies = [ + "android_system_properties", + "arrayvec", + "ash", + "bit-set 0.8.0", + "bitflags 2.11.1", + "block", + "bytemuck", + "cfg-if", + "cfg_aliases", + "core-graphics-types", + "glow", + "glutin_wgl_sys", + "gpu-allocator", + "gpu-descriptor", + "hashbrown 0.16.1", + "js-sys", + "khronos-egl", + "libc", + "libloading 0.8.9", + "log", + "metal", + "naga 28.0.0", + "ndk-sys", + "objc", + "once_cell", + "ordered-float 5.3.0", + "parking_lot", + "profiling", + "range-alloc", + "raw-window-handle", + "smallvec 1.15.1", + "thiserror 2.0.18", + "wasm-bindgen", + "web-sys", + "wgpu-types 28.0.0", + "windows", + "windows-core", ] [[package]] @@ -6805,8 +12937,8 @@ dependencies = [ "android_system_properties", "arrayvec", "ash", - "bit-set", - "bitflags", + "bit-set 0.9.1", + "bitflags 2.11.1", "block2", "bytemuck", "cfg-if", @@ -6815,16 +12947,16 @@ dependencies = [ "gpu-descriptor", "hashbrown 0.16.1", "libc", - "libloading", + "libloading 0.8.9", "log", - "naga", + "naga 29.0.3", "objc2", "objc2-core-foundation", "objc2-foundation", "objc2-metal", "objc2-quartz-core", "once_cell", - "ordered-float", + "ordered-float 5.3.0", "parking_lot", "portable-atomic", "portable-atomic-util", @@ -6836,7 +12968,7 @@ dependencies = [ "smallvec 1.15.1", "thiserror 2.0.18", "wgpu-naga-bridge", - "wgpu-types", + "wgpu-types 29.0.3", "windows", "windows-core", ] @@ -6847,8 +12979,22 @@ version = "29.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59c654c483f058800972c3645e95388a7eca31bf9fe1933bc20e036588a0be02" dependencies = [ - "naga", - "wgpu-types", + "naga 29.0.3", + "wgpu-types 29.0.3", +] + +[[package]] +name = "wgpu-types" +version = "28.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e18308757e594ed2cd27dddbb16a139c42a683819d32a2e0b1b0167552f5840c" +dependencies = [ + "bitflags 2.11.1", + "bytemuck", + "js-sys", + "log", + "serde", + "web-sys", ] [[package]] @@ -6857,19 +13003,64 @@ version = "29.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9bcc31518a0e9735aefebedb5f7a9ef3ed1c42549c9f4c882fa9060ceaac639" dependencies = [ - "bitflags", + "bitflags 2.11.1", "bytemuck", "log", "raw-window-handle", ] +[[package]] +name = "which" +version = "6.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ee928febd44d98f2f459a4a79bd4d928591333a494a10a868418ac1b39cf1f" +dependencies = [ + "either", + "home", + "rustix 0.38.44", + "winsafe", +] + +[[package]] +name = "which" +version = "8.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c789537cf2f7f55be8e6192f92e464174ee55f91af622777f7f1ceb0dbccd03e" + +[[package]] +name = "whoami" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d4a4db5077702ca3015d3d02d74974948aba2ad9e12ab7df718ee64ccd7e97d" +dependencies = [ + "libredox", + "wasite", + "web-sys", +] + +[[package]] +name = "wide" +version = "0.7.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce5da8ecb62bcd8ec8b7ea19f69a51275e91299be594ea5cc6ef7819e16cd03" +dependencies = [ + "bytemuck", + "safe_arch", +] + +[[package]] +name = "widestring" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72069c3113ab32ab29e5584db3c6ec55d416895e60715417b5b883a357c3e471" + [[package]] name = "wiggle" version = "44.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17b644ab90da80bbca28973192978ac452cbd876955bb209e6ff2cd1955e43a7" dependencies = [ - "bitflags", + "bitflags 2.11.1", "thiserror 2.0.18", "tracing", "wasmtime", @@ -6941,9 +13132,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f16496e92d2b232f9d195ae74f71a674aabae7b7fa722d39068836723d3b653c" dependencies = [ "cranelift-assembler-x64", - "cranelift-codegen", - "gimli", - "regalloc2", + "cranelift-codegen 0.131.2", + "gimli 0.33.0", + "regalloc2 0.15.1", "smallvec 1.15.1", "target-lexicon", "thiserror 2.0.18", @@ -7036,6 +13227,17 @@ dependencies = [ "windows-link", ] +[[package]] +name = "windows-registry" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" +dependencies = [ + "windows-link", + "windows-result", + "windows-strings", +] + [[package]] name = "windows-result" version = "0.4.1" @@ -7054,6 +13256,15 @@ dependencies = [ "windows-link", ] +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + [[package]] name = "windows-sys" version = "0.52.0" @@ -7090,6 +13301,21 @@ dependencies = [ "windows-link", ] +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + [[package]] name = "windows-targets" version = "0.52.6" @@ -7132,6 +13358,12 @@ dependencies = [ "windows-link", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" @@ -7144,6 +13376,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + [[package]] name = "windows_aarch64_msvc" version = "0.52.6" @@ -7156,6 +13394,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -7180,6 +13424,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + [[package]] name = "windows_i686_msvc" version = "0.52.6" @@ -7192,6 +13442,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + [[package]] name = "windows_x86_64_gnu" version = "0.52.6" @@ -7204,6 +13460,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" @@ -7216,6 +13478,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + [[package]] name = "windows_x86_64_msvc" version = "0.52.6" @@ -7246,13 +13514,19 @@ dependencies = [ "memchr", ] +[[package]] +name = "winsafe" +version = "0.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" + [[package]] name = "winx" version = "0.36.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f3fd376f71958b862e7afb20cfe5a22830e1963462f3a17f49d82a6c1d1f42d" dependencies = [ - "bitflags", + "bitflags 2.11.1", "windows-sys 0.59.0", ] @@ -7271,7 +13545,7 @@ version = "0.57.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" dependencies = [ - "bitflags", + "bitflags 2.11.1", "wit-bindgen-rust-macro 0.57.1", ] @@ -7305,7 +13579,7 @@ checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" dependencies = [ "anyhow", "heck", - "indexmap", + "indexmap 2.14.0", "prettyplease", "syn 2.0.117", "wasm-metadata 0.244.0", @@ -7321,7 +13595,7 @@ checksum = "b5007dae772945b7a5003d69d90a3a4a78929d41f19d004e980c4259a6af4484" dependencies = [ "anyhow", "heck", - "indexmap", + "indexmap 2.14.0", "prettyplease", "syn 2.0.117", "wasm-metadata 0.247.0", @@ -7367,8 +13641,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" dependencies = [ "anyhow", - "bitflags", - "indexmap", + "bitflags 2.11.1", + "indexmap 2.14.0", "log", "serde", "serde_derive", @@ -7386,8 +13660,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d567162a6b9843080e5e0053f696623ff694bae8ae017c9ec536d1873bbe3d8" dependencies = [ "anyhow", - "bitflags", - "indexmap", + "bitflags 2.11.1", + "indexmap 2.14.0", "log", "serde", "serde_derive", @@ -7419,7 +13693,7 @@ checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" dependencies = [ "anyhow", "id-arena", - "indexmap", + "indexmap 2.14.0", "log", "semver", "serde", @@ -7438,7 +13712,7 @@ dependencies = [ "anyhow", "hashbrown 0.16.1", "id-arena", - "indexmap", + "indexmap 2.14.0", "log", "semver", "serde", @@ -7457,7 +13731,7 @@ dependencies = [ "anyhow", "hashbrown 0.17.1", "id-arena", - "indexmap", + "indexmap 2.14.0", "log", "semver", "serde", @@ -7476,7 +13750,7 @@ dependencies = [ "anyhow", "hashbrown 0.17.1", "id-arena", - "indexmap", + "indexmap 2.14.0", "log", "semver", "serde", @@ -7504,18 +13778,62 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4" +[[package]] +name = "wtf8" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c01ae8492c38f52376efd3a17d0994b6bcf3df1e39c0226d458b7d81670b2a06" + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "x25519-dalek" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" +dependencies = [ + "curve25519-dalek", + "rand_core 0.6.4", + "serde", + "zeroize", +] + +[[package]] +name = "x509-parser" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7069fba5b66b9193bd2c5d3d4ff12b839118f6bcbef5328efafafb5395cf63da" +dependencies = [ + "asn1-rs 0.5.2", + "data-encoding", + "der-parser 8.2.0", + "lazy_static", + "nom 7.1.3", + "oid-registry 0.6.1", + "rusticata-macros", + "thiserror 1.0.69", + "time", +] + [[package]] name = "x509-parser" version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d43b0f71ce057da06bc0851b23ee24f3f86190b07203dd8f567d0b706a185202" dependencies = [ - "asn1-rs", + "asn1-rs 0.7.2", "data-encoding", - "der-parser", + "der-parser 10.0.0", "lazy_static", - "nom", - "oid-registry", + "nom 7.1.3", + "oid-registry 0.8.1", "ring", "rusticata-macros", "thiserror 2.0.18", @@ -7532,6 +13850,12 @@ dependencies = [ "rustix 1.1.4", ] +[[package]] +name = "xml-rs" +version = "0.8.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f" + [[package]] name = "yaml_parser" version = "0.3.0" @@ -7548,16 +13872,34 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" +[[package]] +name = "yasna" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" + [[package]] name = "yasna" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5f6765e852b9b4dc8e2a76843e4d64d1cea8e79bcde0b6901aea8e7c7f08282" dependencies = [ - "bit-vec", + "bit-vec 0.9.1", "time", ] +[[package]] +name = "yoke" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive 0.7.5", + "zerofrom", +] + [[package]] name = "yoke" version = "0.8.2" @@ -7565,10 +13907,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca" dependencies = [ "stable_deref_trait", - "yoke-derive", + "yoke-derive 0.8.2", "zerofrom", ] +[[package]] +name = "yoke-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", + "synstructure 0.13.2", +] + [[package]] name = "yoke-derive" version = "0.8.2" @@ -7578,7 +13932,7 @@ dependencies = [ "proc-macro2", "quote", "syn 2.0.117", - "synstructure", + "synstructure 0.13.2", ] [[package]] @@ -7619,7 +13973,7 @@ dependencies = [ "proc-macro2", "quote", "syn 2.0.117", - "synstructure", + "synstructure 0.13.2", ] [[package]] @@ -7627,6 +13981,20 @@ name = "zeroize" version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] [[package]] name = "zerotrie" @@ -7635,8 +14003,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf" dependencies = [ "displaydoc", - "yoke", + "yoke 0.8.2", "zerofrom", + "zerovec", ] [[package]] @@ -7645,7 +14014,8 @@ version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239" dependencies = [ - "yoke", + "serde", + "yoke 0.8.2", "zerofrom", "zerovec-derive", ] @@ -7667,11 +14037,24 @@ version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" +[[package]] +name = "zoneinfo64" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed6eb2607e906160c457fd573e9297e65029669906b9ac8fb1b5cd5e055f0705" +dependencies = [ + "calendrical_calculations", + "icu_locale_core", + "potential_utf", + "resb", + "serde", +] + [[package]] name = "zstd" -version = "0.13.3" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" +checksum = "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9" dependencies = [ "zstd-safe", ] @@ -7694,3 +14077,18 @@ dependencies = [ "cc", "pkg-config", ] + +[[package]] +name = "zune-core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb8a0807f7c01457d0379ba880ba6322660448ddebc890ce29bb64da71fb40f9" + +[[package]] +name = "zune-jpeg" +version = "0.5.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27bc9d5b815bc103f142aa054f561d9187d191692ec7c2d1e2b4737f8dbd7296" +dependencies = [ + "zune-core", +] diff --git a/Cargo.toml b/Cargo.toml index 8603ada..c36e4bd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,6 +10,7 @@ members = [ "libs/et-otlp", "libs/otlp-mock", "libs/web", + "libs/ws-runner-common", "services/ws-modules/audio1", "services/ws-modules/bluetooth", "services/ws-modules/comm1", @@ -30,6 +31,7 @@ members = [ "services/ws-server", "services/ws-wasm-agent", "services/ws-wasi-runner", + "services/ws-web-runner", "services/ws-test-server", "utilities/int-gen", "utilities/cli", @@ -52,12 +54,21 @@ bytemuck = { version = "1.16", features = ["derive"] } bytes = "1" chrono = { version = "0.4", features = ["serde"] } clap = { version = "4.4", features = ["derive"] } +deno_core = "0.402.0" +deno_error = "=0.7.1" +deno_resolver = "0.80.0" +# `transpile` enables on-the-fly TS transpilation (deno_node ships its own TS). +# `hmr` makes `op_snapshot_options` use `state.try_take(...).unwrap_or_default()` +# instead of panicking when no SnapshotOptions struct is in OpState -- without +# baking our own startup snapshot we'd otherwise hit the panic on first run. +deno_runtime = { version = "0.257.0", features = ["transpile", "hmr"] } edge-toolkit = { path = "libs/edge-toolkit", version = "0.1.0" } et-modules-service = { path = "services/modules", version = "0.1.0" } et-otlp = { path = "libs/et-otlp", version = "0.1.0" } et-rest-client = { path = "generated/rust-rest", version = "0.1.0", default-features = false } et-storage-service = { path = "services/storage", version = "0.1.0" } et-web = { path = "libs/web", version = "0.1.0" } +et-ws-runner-common = { path = "libs/ws-runner-common", version = "0.1.0" } et-ws-server = { path = "services/ws-server", version = "0.1.0" } et-ws-service = { path = "services/ws", version = "0.1.0" } et-ws-test-server = { path = "services/ws-test-server", version = "0.1.0" } @@ -67,6 +78,7 @@ futures-core = "0.3" futures-util = "0.3" heck = "0.5" hostname = "0.4" +humantime-serde = "1" js-sys = "0.3" kdl = { version = "6", features = ["v1"] } lets_find_up = "0.0.4" @@ -112,6 +124,7 @@ serde_path_to_error = "0.1" serde_urlencoded = "0.7" serde_yaml = "0.9" syn = "2" +sys_traits = { version = "0.1.28", features = ["libc", "real"] } temp-env = "0.3" tempfile = "3" testing_logger = "0.1" @@ -131,7 +144,6 @@ tracing-subscriber = { version = "0.3", features = ["env-filter"] } tracing-wasm = "0.2" tree-sitter = "0.25" tree-sitter-zig = "1" -ureq = "2" utoipa = { version = "5", features = ["actix_extras", "yaml"] } uuid = { version = "1", features = ["serde", "v4", "v7"] } wasm-bindgen = "0.2" @@ -142,6 +154,8 @@ wasmtime-wasi = "44" wasmtime-wasi-nn = { version = "44", default-features = false, features = ["onnx"] } web-sys = "0.3" wgpu = { version = "29", default-features = false, features = ["dx12", "metal", "vulkan", "wgsl"] } +# Windows-only feature-unification shim: forces `winapi/std` on for deno_io. +winapi = { version = "0.3.9", features = ["std"] } wit-bindgen = "0.57" wit-encoder = "0.249" wit-parser = "0.249" @@ -271,18 +285,82 @@ missing_panics_doc = { level = "allow", priority = 4 } [workspace.metadata.unmaintained] ignore = [ + # No `repository` declared. Pulled by deno_node_crypto for AES-GCM. + "aead-gcm-stream", + # Archived upstream (servo/bincode). Pulled by deno_core for snapshot + # serialisation; will move when Deno upgrades to bincode 2. + "bincode", + # 1153 days since last update at bitvecto-rs/bitvec. Pulled by + # sourcemap (via swc tooling under deno_ast). + "bitvec", + # 536 days since last update at dsherret/capacity_builder. Pulled by + # deno_ast. + "capacity_builder", + # 1702 days since last update at jethrogb/rust-cexpr. Pulled by + # bindgen (build-time only via aws-lc-sys / ort-sys). + "cexpr", + # 577 days since last update at dajoha/color-print. Pulled by + # deno_node via color-print. + "color-print-proc-macro", # Archived upstream at matklad/countme. "countme", + # 676 days since last update at denoland/deno_native_certs. Pulled + # by deno_node + deno_tls. + "deno_native_certs", + # No `repository` declared. Pulled by deno_node for `os.userInfo()`. + "deno_whoami", # 1853 days since last update at xdg-rs/dirs. "dirs-sys-next", + # 3182 days since last update at faradayio/exec-rs. Pulled by Deno's + # `node_shim` (process re-exec on Node compatibility shim). + "exec", + # 933 days since last update at HdrHistogram/HdrHistogram_rust. + # Pulled by deno_node (perf hooks). + "hdrhistogram", + # 460 days since last update at xacrimon/dashmap. Pulled by + # deno_maybe_sync. (Marked stable / feature-complete by upstream.) + "dashmap", + # 495 days since last update at rust-lang-nursery/lazy-static.rs. + # Pulled by actix-web-thiserror-derive (build proc-macro). + "lazy_static", + # 391 days since last update at rust-num/num-complex. Pulled by + # nalgebra (via wgpu / naga). Stable foundational math crate. + "num-complex", + # 2215 days since last update at SSheldon/rust-objc. Pulled by + # `metal` (macOS GPU bindings via wgpu). + "objc", + # Not in declared repo (RustCrypto/utils). Pulled by ghash (via + # aead-gcm-stream above) and other RustCrypto crates as a tiny + # helper. Effectively dormant but functional. + "opaque-debug", # cargo-unmaintained doesn't follow `hg` repositories. "oorandom", + # 1052 days since last update at hjiayz/p12. Pulled by deno_node_crypto + # for PKCS#12 cert bundles. + "p12", + # Archived upstream at dtolnay/paste. Pulled by macro_rules_attribute + # via wgpu. Compile-time only. + "paste", + # Archived upstream at GnomedDev/proc-macro-error-2 (the maintained + # fork of the original proc-macro-error). Both now unmaintained. + # Pulled by getset via neli via local-ip-address. Compile-time only. + "proc-macro-error-attr2", + "proc-macro-error2", # 603 days since last update at timvisee/qr2term-rs. "qr2term", # False positive: rand_chacha lives in rust-random/rand as a workspace # subdir (rand_chacha/), but cargo-unmaintained looks only at the # repo root and reports "not in". "rand_chacha", + # Archived upstream at rustls/pemfile. Pulled by deno_native_certs. + # rustls itself has moved to inline pemfile parsing. + "rustls-pemfile", + # 2154 days since last update at arcnmx/serde-value. Pulled by + # deno_ffi. + "serde-value", + # Archived upstream at bodil/smartstring. Pulled by swc_ecma_lexer + # via deno_ast. + "smartstring", # https://github.com/rustsec/advisory-db/issues/2132 "serde_yaml", # 700 days since last update at dalek-cryptography/subtle. @@ -304,4 +382,11 @@ ignore = [ # Declared repository WebAssembly/WASI is spec-only (no `crates/` # tree). The crate is effectively orphaned upstream. "witx", + # Archived upstream at SimonSapin/rust-wtf8. Pulled by + # v8_valueserializer via deno_core. UTF-8 / WTF-8 conversions for + # V8's structured-clone serializer. + "wtf8", + # Not in declared repo (kornelski/xml-rs). Pulled by gl_generator + # (build-time only, OpenGL bindings via wgpu). + "xml-rs", ] diff --git a/README.md b/README.md index fd221d4..32c5492 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,14 @@ See the Windows section of [pipx instructions](https://pipx.pypa.io/stable/how-t ### MacOS only -On MacOS, we need to install a better linker into the workspace. +On MacOS, the Xcode Command Line Tools (`clang`, `git`, `make`, etc.) must be +installed first: + +```bash +xcode-select --install +``` + +We also need to install a better linker into the workspace. ```bash mise install conda:lld diff --git a/config/ast-grep/rules/no-consecutive-expect.yml b/config/ast-grep/rules/no-consecutive-expect.yml new file mode 100644 index 0000000..f4e4e58 --- /dev/null +++ b/config/ast-grep/rules/no-consecutive-expect.yml @@ -0,0 +1,36 @@ +id: no-consecutive-expect +language: Rust +severity: error +message: | + Consecutive `#[expect(...)]` attributes on the same item. Merge them into a + single `#[expect(lint_a, lint_b, reason = "…")]` (one attribute can list + several lints). Stacking separate `#[expect]`s — even with a comment between + them — fragments the suppression and makes it easy to leave one behind when + the underlying issue is fixed. Applies to inner `#![expect(...)]` too. +rule: + any: + # Outer `#[expect(...)]` whose nearest non-comment predecessor sibling is + # itself an `#[expect(...)]`. `stopBy` skips comment nodes but halts at the + # first real sibling, so an intervening item (fn, derive, …) breaks the run. + - kind: attribute_item + regex: '^#\[\s*expect\b' + follows: + kind: attribute_item + regex: '^#\[\s*expect\b' + stopBy: + not: + any: + - kind: line_comment + - kind: block_comment + - kind: inner_attribute_item + regex: '^#!\[\s*expect\b' + follows: + kind: inner_attribute_item + regex: '^#!\[\s*expect\b' + stopBy: + not: + any: + - kind: line_comment + - kind: block_comment +ignores: + - generated/** diff --git a/config/ast-grep/rules/no-extern-crate-self.yml b/config/ast-grep/rules/no-extern-crate-self.yml new file mode 100644 index 0000000..51caf5c --- /dev/null +++ b/config/ast-grep/rules/no-extern-crate-self.yml @@ -0,0 +1,15 @@ +id: no-extern-crate-self +language: Rust +severity: error +message: | + `extern crate self as ;` re-introduces the crate's own name as a path + root inside its library, letting code write `::foo` instead of + `crate::foo` / `self::foo`. Without it, rustc already rejects own-name paths + in lib code (E0433); the alias is only needed by proc-macro crates whose + generated code emits `::::...`. This workspace has none, so use + `crate::` / `self::` for local paths instead. +rule: + kind: extern_crate_declaration + regex: "extern crate self" +ignores: + - generated/** diff --git a/config/ast-grep/rules/no-map-err.yml b/config/ast-grep/rules/no-map-err.yml index c02787f..80f47a6 100644 --- a/config/ast-grep/rules/no-map-err.yml +++ b/config/ast-grep/rules/no-map-err.yml @@ -18,3 +18,4 @@ ignores: - libs/web/src/error.rs - utilities/cli/src/error.rs - services/ws-wasi-runner/src/host/error.rs + - services/ws-web-runner/src/error.rs diff --git a/config/ast-grep/rules/no-std-env-var.yml b/config/ast-grep/rules/no-std-env-var.yml new file mode 100644 index 0000000..a4e4cd7 --- /dev/null +++ b/config/ast-grep/rules/no-std-env-var.yml @@ -0,0 +1,20 @@ +id: no-std-env-var +language: Rust +severity: error +message: | + `std::env::var` is forbidden for app config. Read configuration through a + `serde`-derived struct deserialised with `serde-env` (see the runner + `config` modules and `et-ws-runner-common::config`), so every variable is + declared in one typed place with defaults and validation. Only `RUST_*` + vars (e.g. `RUST_LOG`, consumed by tracing) may be read directly. +rule: + any: + - pattern: std::env::var($ARG) + - pattern: env::var($ARG) +constraints: + ARG: + not: + # Allow a string literal ("RUST_LOG") or a const identifier (RUST_LOG). + regex: '^"?RUST_' +ignores: + - generated/** diff --git a/config/ast-grep/rules/use-mod-order.yml b/config/ast-grep/rules/use-mod-order.yml new file mode 100644 index 0000000..ae32860 --- /dev/null +++ b/config/ast-grep/rules/use-mod-order.yml @@ -0,0 +1,27 @@ +id: use-mod-order +language: Rust +severity: error +message: | + Order top-level items: external `use` (std / third-party) first, then + `mod` / `pub mod` declarations, then local `use self::` / `crate::` / + `super::`. So an external `use` must not appear after a `mod`, and a + `self`/`crate`/`super` `use` must not appear before a `mod`. +rule: + any: + # External use (not self/crate/super) sitting after a `mod` declaration. + - all: + - kind: use_declaration + - not: + regex: '^(pub(\([^)]*\))?\s+)?use\s+(self|crate|super)\b' + - follows: + kind: mod_item + stopBy: end + # Local use (self/crate/super) sitting before a `mod` declaration. + - all: + - kind: use_declaration + - regex: '^(pub(\([^)]*\))?\s+)?use\s+(self|crate|super)\b' + - precedes: + kind: mod_item + stopBy: end +ignores: + - generated/** diff --git a/config/semgrep/cargo-toml.yml b/config/semgrep/cargo-toml.yml new file mode 100644 index 0000000..2b41f32 --- /dev/null +++ b/config/semgrep/cargo-toml.yml @@ -0,0 +1,12 @@ +rules: + - id: bare-workspace-inline-dep + languages: [generic] + paths: + include: + - "**/Cargo.toml" + pattern: "= { workspace = true }" + message: >- + Use the dotted form `dep.workspace = true` instead of the inline table + `dep = { workspace = true }`. (Inline tables with extra keys, e.g. + `dep = { workspace = true, features = [...] }`, are fine.) + severity: ERROR diff --git a/config/taplo/no-anyhow-dep.schema.json b/config/taplo/no-banned-deps.schema.json similarity index 70% rename from config/taplo/no-anyhow-dep.schema.json rename to config/taplo/no-banned-deps.schema.json index b58685d..a74bfd9 100644 --- a/config/taplo/no-anyhow-dep.schema.json +++ b/config/taplo/no-banned-deps.schema.json @@ -1,13 +1,19 @@ { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Cargo.toml — `anyhow` is forbidden", - "description": "Forbids `anyhow` in dep tables. Use a thiserror enum.", + "title": "Cargo.toml -- banned deps", + "description": "Crates this repo deliberately doesn't take on; const = rejection message.", "definitions": { "depTable": { "type": "object", "properties": { "anyhow": { "const": "forbidden; define a thiserror enum instead" + }, + "ring": { + "const": "forbidden; use aws-lc-rs. Transitive via rcgen only (gated in deny.toml's bans.deny wrappers)." + }, + "ureq": { + "const": "forbidden; use reqwest::blocking (sync) or reqwest (async). One HTTPS stack only." } } } diff --git a/deny.toml b/deny.toml index 6cff48f..3f3628c 100644 --- a/deny.toml +++ b/deny.toml @@ -7,6 +7,66 @@ version = 2 # Crates pulled from a yanked version are an unambiguous bug — pin them # back to a live release. yanked = "deny" +# Advisories we've reviewed and consciously accept until upstream Deno +# migrates. Each entry names the vulnerable crate, the path that pulls +# it, and the runtime reason it isn't exploitable here. Drop entries as +# upstream catches up; never silence one without a written reason. +ignore = [ + # bincode 1.3.3 (unmaintained). Pulled by deno_core for snapshot / + # cache serialization. Unmaintained ≠ vulnerable; bincode 2 exists + # but deno_core 0.402 still uses 1.x. Awaiting Deno's migration. + "RUSTSEC-2025-0141", + # paste 1.0.15 (unmaintained). Build-time proc-macro pulled via + # macro_rules_attribute → wgpu-core → deno_webgpu. Used at compile + # time only; no runtime exposure. Awaiting wgpu's migration. + "RUSTSEC-2024-0436", + # proc-macro-error2 2.0.1 (unmaintained). Build-time proc-macro via + # getset → neli → local-ip-address. Compile-time only. + "RUSTSEC-2026-0173", + # rustls-pemfile 2.2.0 (unmaintained). PEM cert parser pulled by + # deno_native_certs for loading the system CA bundle. Unmaintained, + # not vulnerable; rustls itself has moved to inline pemfile parsing. + "RUSTSEC-2025-0134", + # hickory-proto 0.25.2 NSEC3 closest-encloser proof unbounded loop + # (DoS on DNSSEC validation). Pulled by deno_net for resolver, but + # the runner never enables DNSSEC validation -- only plain A/AAAA + # lookups for outbound fetch / WebSocket. Validation path is + # unreachable here. + "RUSTSEC-2026-0118", + # hickory-proto 0.25.2 O(n²) name compression during message encode. + # Encoder side, hit only when we *send* a DNS message; the runner + # uses the OS resolver via hickory and never crafts outbound DNS + # frames with attacker-controlled name lists. + "RUSTSEC-2026-0119", + # rand 0.8.5 -- transitive via cap-rand (wasi-runner) + deno_crypto / + # deno_fs / deno_node (web-runner). Used for non-cryptographic + # randomness (jitter, salt scratchpads). Awaiting upstream Deno + cap- + # rand migration to rand 0.9. + "RUSTSEC-2026-0097", + # rsa 0.9.10 Marvin Attack timing sidechannel on RSA decryption. + # Pulled by deno_crypto + deno_node_crypto. The runner doesn't hold + # private RSA keys or decrypt RSA payloads -- only TLS server cert + # verification (which uses *signature* checks, no decryption). Not + # reachable unless guest JS explicitly imports crypto.subtle and + # performs RSA-OAEP decrypt with a private key, which our modules + # don't. + "RUSTSEC-2023-0071", + # rustls-webpki 0.102.8 -- four advisories, all unreachable here. + # All pinned by deno_fetch ^0.102 / deno_tls ^0.236 (under + # deno_runtime). The runner uses rustls only for HTTPS *client* + # verification against system roots: + # * 2026-0049, 2026-0104 (CRL-parsing bugs) -- we never load CRLs + # into ClientConfig. + # * 2026-0098, 2026-0099 (name-constraint bypass for URI / + # wildcard certs) -- relevant only when validating certs whose + # subject names include URI SANs or are wildcard-issued under + # name-constrained intermediates; our HTTPS endpoints don't. + # Drop all four when deno_fetch upgrades to rustls-webpki >=0.103.13. + "RUSTSEC-2026-0049", + "RUSTSEC-2026-0098", + "RUSTSEC-2026-0099", + "RUSTSEC-2026-0104", +] [licenses] version = 2 @@ -20,6 +80,9 @@ allow = [ "Apache-2.0 WITH LLVM-exception", "BSD-2-Clause", "BSD-3-Clause", + # clipboard-win + error-code (transitive via deno_runtime → rustyline). + # Boost Software License 1.0 -- permissive, OSI-approved, FSF Free/Libre. + "BSL-1.0", # webpki-roots / webpki-root-certs (Mozilla's CA bundle). "CDLA-Permissive-2.0", # hexf-parse (transitive via cranelift). Public-domain dedication. @@ -39,11 +102,40 @@ multiple-versions = "warn" # taplo `no-wildcard-or-git-deps` schema; double-cover here so it shows # up in a security-style report too. wildcards = "deny" -# Direct-dep bans live in `config/taplo/no-anyhow-dep.schema.json` (and -# its future siblings). cargo-deny's `bans.deny` would also catch -# transitives — too coarse, since e.g. `wasmtime → ittapi → anyhow` is -# unavoidable. Keep this list empty so the two rules stay scoped to -# their respective layers (declaration vs. graph-wide). +# Crate-by-crate bans live in `config/taplo/no-banned-deps.schema.json` +# (declaration-time check on workspace [dependencies]). The `deny` +# entries below catch *transitive* uses that the taplo rule can't see. +deny = [ + # `ring` is forbidden except via the wrappers listed below. The rest + # of the dep graph reaches the same primitives via `aws-lc-rs`. Any + # new transitive parent that drags `ring` back in surfaces as an + # `unmatched-wrapper` error here so we can decide whether to migrate + # it to aws-lc-rs or extend the list. + # See https://github.com/EmbarkStudios/cargo-deny/issues/776 for the + # `wrappers` pattern. + # + # Current allowed parents: + # * `rcgen` -- server-side TLS cert generation in et-ws-server. + # Intentional; rcgen's ring feature is what we want for the cert + # generator. + # * `rustls-webpki` -- pulled by deno_fetch + deno_tls (default + # features include `ring`). Drop once Deno's TLS stack migrates + # to aws-lc-rs defaults. + # * `quinn-proto` -- pulled by deno_net via quinn (default features + # include `ring`). Drop once Deno's quinn config switches to the + # `rustls-aws-lc-rs` feature. + { crate = "ring", wrappers = ["rcgen", "rustls-webpki", "quinn-proto"] }, + # `ureq` is forbidden except via the wrappers listed below. Direct + # use is blocked by the taplo no-banned-deps schema; this entry + # catches transitive paths the same way as `ring` above. + # + # Current allowed parents: + # * `ort-sys` -- build-only dependency. ort-sys's build.rs fetches + # the prebuilt ONNX Runtime binaries from Pyke's CDN via ureq. + # Ureq never ships in the compiled artifact; the attack surface + # is the build host only. + { crate = "ureq", wrappers = ["ort-sys"] }, +] [sources] # Only crates.io. New git or alternate-registry deps must be added to diff --git a/generated/rust-rest/Cargo.toml b/generated/rust-rest/Cargo.toml index 99a9583..46153be 100644 --- a/generated/rust-rest/Cargo.toml +++ b/generated/rust-rest/Cargo.toml @@ -38,3 +38,8 @@ reqwest = { workspace = true, features = ["json", "query", "rustls", "stream"] } [target.'cfg(target_arch = "wasm32")'.dependencies] reqwest = { workspace = true, features = ["json"] } +# Used by the generator-injected Client::new fallback: an empty `baseurl` +# resolves to `window.location.origin` so browser modules can write +# `Client::new("")` and have it match the page origin (and our embedded +# Deno runtime's stubbed `globalThis.location`). +web-sys = { workspace = true, features = ["Window", "Location"] } diff --git a/generated/rust-rest/src/lib.rs b/generated/rust-rest/src/lib.rs index c41464a..f5388b1 100644 --- a/generated/rust-rest/src/lib.rs +++ b/generated/rust-rest/src/lib.rs @@ -80,6 +80,16 @@ impl Client { /// `reqwest::Client`, and should include a scheme and hostname, /// as well as port and a path stem if applicable. pub fn new(baseurl: &str) -> Self { + #[cfg(target_arch = "wasm32")] + let baseurl_owned = if baseurl.is_empty() { + ::web_sys::window() + .and_then(|w| w.location().origin().ok()) + .unwrap_or_default() + } else { + baseurl.to_string() + }; + #[cfg(target_arch = "wasm32")] + let baseurl = baseurl_owned.as_str(); #[cfg(not(target_arch = "wasm32"))] let client = { let dur = ::std::time::Duration::from_secs(15u64); diff --git a/libs/edge-toolkit/src/config.rs b/libs/edge-toolkit/src/config.rs index 201c0ab..a15049c 100644 --- a/libs/edge-toolkit/src/config.rs +++ b/libs/edge-toolkit/src/config.rs @@ -12,8 +12,7 @@ use crate::ports::Services; pub const LOCALHOST: &str = "127.0.0.1"; /// Helper to find repository root. -#[expect(clippy::missing_panics_doc)] -#[expect(clippy::unwrap_used)] +#[expect(clippy::missing_panics_doc, clippy::unwrap_used)] #[must_use] pub fn get_project_root() -> PathBuf { match lets_find_up::find_up(".taplo.toml") { @@ -127,13 +126,14 @@ pub fn mise_npm_modules_path(package: &str) -> Option { /// Pure-filesystem version of [`mise_npm_modules_path`]: given an /// `` root and a `` name, return the `node_modules` -/// directory that contains ``. Supports both mise npm backends: +/// directory that contains ``. Supports the mise npm backends: /// -/// 1. Classical npm/mise: `/lib/node_modules/` -/// 2. aube backend: `/global-aube//node_modules/.aube/node_modules/` +/// 1. Classical npm/mise (Unix): `/lib/node_modules/` +/// 2. npm on Windows: `/node_modules/` (no `lib/` segment -- +/// npm's global prefix layout differs by platform) +/// 3. aube backend: `/global-aube//node_modules/.aube/node_modules/` /// -/// Tried in that order; returns `None` if neither layout has the -/// package. +/// Tried in that order; returns `None` if no layout has the package. #[must_use] pub fn find_npm_modules_path_in(install: &Path, package: &str) -> Option { let classical = install.join("lib/node_modules"); @@ -141,6 +141,11 @@ pub fn find_npm_modules_path_in(install: &Path, package: &str) -> Option/node_modules/ + // (no `lib/` segment), unlike the Unix `lib/node_modules` layout. + let install = TempDir::new().unwrap(); + let modules = install.path().join("node_modules"); + let package = modules.join("onnxruntime-web"); + fs::create_dir_all(&package).unwrap(); + fs::write(package.join("package.json"), "{}").unwrap(); + + let found = find_npm_modules_path_in(install.path(), "onnxruntime-web"); + assert_eq!(found.as_deref(), Some(modules.as_path())); +} + #[test] fn resolves_aube_backend_layout() { // /global-aube//node_modules/.aube/node_modules/onnxruntime-web/ diff --git a/libs/otlp-mock/src/lib.rs b/libs/otlp-mock/src/lib.rs index 79fa23c..30cb782 100644 --- a/libs/otlp-mock/src/lib.rs +++ b/libs/otlp-mock/src/lib.rs @@ -16,11 +16,8 @@ #![expect( clippy::unwrap_used, clippy::panic, - reason = "in-process test mock; bind/poison/startup failures should fail the test fast" -)] -#![expect( clippy::exhaustive_structs, - reason = "actix-web's #[post] generates pub marker structs we can't annotate; FlatSpan has #[non_exhaustive]" + reason = "test mock; bind/poison/startup failures fail fast; actix #[post] marker structs can't be annotated" )] use std::net::TcpListener; diff --git a/libs/ws-runner-common/Cargo.toml b/libs/ws-runner-common/Cargo.toml new file mode 100644 index 0000000..c2b80e5 --- /dev/null +++ b/libs/ws-runner-common/Cargo.toml @@ -0,0 +1,32 @@ +[package] +name = "et-ws-runner-common" +description = "Shared helpers for the ws-module runners (et-ws-wasi-runner, et-ws-web-runner)" +version = "0.1.0" +edition.workspace = true +license.workspace = true +repository.workspace = true + +[lib] +doctest = false +name = "et_ws_runner_common" +path = "src/lib.rs" + +[dependencies] +edge-toolkit.workspace = true +et-rest-client.workspace = true +futures-util.workspace = true +humantime-serde.workspace = true +reqwest.workspace = true +serde.workspace = true +serde-inline-default.workspace = true +serde_default.workspace = true +serde_json.workspace = true +serde_path_to_error.workspace = true +thiserror.workspace = true +tracing.workspace = true + +[dev-dependencies] +serde-env.workspace = true + +[lints] +workspace = true diff --git a/libs/ws-runner-common/src/config.rs b/libs/ws-runner-common/src/config.rs new file mode 100644 index 0000000..7b0ac9d --- /dev/null +++ b/libs/ws-runner-common/src/config.rs @@ -0,0 +1,36 @@ +//! Environment-derived configuration shared by both native runners. +//! +//! Each runner deserialises its own top-level `Config` from the process +//! environment via `serde-env`, nesting these structs under `runner` / `ws` +//! fields. With serde-env's `_`-segmented mapping that puts every `RUNNER_*` +//! var under [`RunnerConfig`] and every `WS_*` var under [`WsConfig`], so the +//! two runners parse the common variables identically. + +use std::time::Duration; + +use edge_toolkit::ports::Services; +use serde::Deserialize; +use serde_default::DefaultFromSerde; +use serde_inline_default::serde_inline_default; + +/// `RUNNER_*` settings shared by both native runners. +#[derive(Clone, Debug, Deserialize)] +#[non_exhaustive] +pub struct RunnerConfig { + /// Module to run, from `RUNNER_MODULE` (required). + pub module: String, + /// Optional wall-clock timeout, from `RUNNER_TIMEOUT` (e.g. `120s`, `3m`); + /// `None` runs without a timeout. + #[serde(default, with = "humantime_serde")] + pub timeout: Option, +} + +/// `WS_*` settings shared by both native runners. +#[serde_inline_default] +#[derive(Clone, Debug, DefaultFromSerde, Deserialize)] +#[non_exhaustive] +pub struct WsConfig { + /// ws-server URL, from `WS_SERVER_URL`; defaults to the local insecure port. + #[serde_inline_default(format!("ws://localhost:{}/ws", Services::InsecureWebSocketServer.port()))] + pub server_url: String, +} diff --git a/libs/ws-runner-common/src/lib.rs b/libs/ws-runner-common/src/lib.rs new file mode 100644 index 0000000..19e1ed3 --- /dev/null +++ b/libs/ws-runner-common/src/lib.rs @@ -0,0 +1,107 @@ +//! Helpers shared by the two ws-module runners. +//! +//! `et-ws-wasi-runner` (WASI components under wasmtime) and `et-ws-web-runner` +//! (browser-targeted JS under Deno) both talk to the same ws-server REST +//! surface to bootstrap a module: derive the HTTP base from the WebSocket URL, +//! drain streamed responses, and read the `main` entry from `package.json`. +//! Those steps were duplicated in each crate; they live here so there is one +//! implementation to keep in sync with the server. + +// `BootstrapError` is large because `et_rest_client::Error<()>` carries an +// inline `reqwest::Response` (~136 B). Boxing would cost a `From` impl per +// variant; not worth it for these one-shot runner helpers (the two runner +// crates carry the same expectation for the same reason). +#![expect( + clippy::result_large_err, + reason = "et_rest_client::Error<()> dominates the footprint; boxing would force per-variant From impls" +)] + +use futures_util::StreamExt as _; +use thiserror::Error; + +pub mod config; + +/// Errors produced while bootstrapping a module from the ws-server. +#[derive(Debug, Error)] +#[non_exhaustive] +pub enum BootstrapError { + /// `ws_url` was not a `ws://` / `wss://` URL, so no HTTP base could be derived. + #[error("could not derive HTTP base from WS_SERVER_URL={ws_url}")] + InvalidWsUrl { ws_url: String }, + + /// A REST request to the ws-server failed. + #[error(transparent)] + Rest(#[from] et_rest_client::Error<()>), + + /// Streaming a response body chunk from the ws-server failed. + /// + /// `ByteStream` chunks surface as `reqwest::Error`, distinct from the typed `Rest` arm. + #[error(transparent)] + Stream(#[from] reqwest::Error), + + /// A module's `package.json` was not valid JSON. + #[error(transparent)] + PackageJsonInvalid(#[from] serde_path_to_error::Error), + + /// A module's `package.json` parsed but had no `main` field. + #[error("module {module} package.json missing `main` field")] + PackageJsonMissingMain { module: String }, +} + +/// Derive a module's HTTP base URL from the ws-server WebSocket URL. +/// +/// Maps the scheme (`ws://` -> `http://`, `wss://` -> `https://`) and strips a +/// trailing `/ws` path, e.g. `ws://host:8080/ws` -> `http://host:8080`. +/// +/// # Errors +/// Returns [`BootstrapError::InvalidWsUrl`] if `ws_url` is not a `ws://` / +/// `wss://` URL. +pub fn derive_http_base(ws_url: &str) -> Result { + let (scheme, rest) = if let Some(suffix) = ws_url.strip_prefix("wss://") { + ("https", suffix) + } else if let Some(suffix) = ws_url.strip_prefix("ws://") { + ("http", suffix) + } else { + return Err(BootstrapError::InvalidWsUrl { + ws_url: ws_url.to_string(), + }); + }; + let host_port = rest.strip_suffix("/ws").unwrap_or(rest); + Ok(format!("{scheme}://{host_port}")) +} + +/// Drain a progenitor `ByteStream` into a `Vec`. +/// +/// # Errors +/// Returns [`BootstrapError::Stream`] if downloading a chunk fails. +pub async fn collect_byte_stream(mut stream: et_rest_client::ByteStream) -> Result, BootstrapError> { + let mut buf = Vec::new(); + while let Some(chunk) = stream.next().await { + buf.extend_from_slice(&chunk?); + } + Ok(buf) +} + +/// Read a module's `main` entry-point filename from its `package.json`. +/// +/// Fetches `package.json` from the ws-server and returns its `main` field, +/// which names the file the runner downloads next (a WASI component for the +/// wasi runner, a JS entry for the web runner). +/// +/// # Errors +/// Returns [`BootstrapError::Rest`] / [`BootstrapError::Stream`] if the fetch +/// fails, [`BootstrapError::PackageJsonInvalid`] if the body is not valid JSON, +/// or [`BootstrapError::PackageJsonMissingMain`] if it has no `main` field. +#[tracing::instrument(name = "fetch_package_json", skip(client), err)] +pub async fn fetch_main_field(client: &et_rest_client::Client, module_name: &str) -> Result { + let response = client.get_module_file(module_name, "package.json").await?; + let bytes = collect_byte_stream(response.into_inner()).await?; + let mut deserializer = serde_json::Deserializer::from_slice(&bytes); + let pkg: serde_json::Value = serde_path_to_error::deserialize(&mut deserializer)?; + pkg.get("main") + .and_then(serde_json::Value::as_str) + .map(str::to_string) + .ok_or_else(|| BootstrapError::PackageJsonMissingMain { + module: module_name.to_string(), + }) +} diff --git a/libs/ws-runner-common/tests/config.rs b/libs/ws-runner-common/tests/config.rs new file mode 100644 index 0000000..177367c --- /dev/null +++ b/libs/ws-runner-common/tests/config.rs @@ -0,0 +1,59 @@ +//! Verifies serde-env maps the shared `RUNNER_*` / `WS_*` env vars onto the nested config structs. +//! +//! Covers humantime `RUNNER_TIMEOUT` parsing and the defaults applied when a +//! variable is absent. +#![cfg(test)] +#![expect( + clippy::expect_used, + clippy::duration_suboptimal_units, + reason = "test code: panics carry context, and exact second counts mirror the parsed inputs" +)] + +use std::time::Duration; + +use et_ws_runner_common::config::{RunnerConfig, WsConfig}; +use serde::Deserialize; + +/// Mirrors how each runner nests the shared structs under `runner` / `ws`. +#[derive(Debug, Deserialize)] +struct Config { + runner: RunnerConfig, + #[serde(default)] + ws: WsConfig, +} + +#[test] +fn maps_runner_and_ws_env_vars() { + let config: Config = serde_env::from_iter([ + ("RUNNER_MODULE", "et-ws-data1"), + ("RUNNER_TIMEOUT", "3m"), + ("WS_SERVER_URL", "ws://example:9000/ws"), + ]) + .expect("parse env"); + + assert_eq!(config.runner.module, "et-ws-data1"); + assert_eq!(config.runner.timeout, Some(Duration::from_secs(180))); + assert_eq!(config.ws.server_url, "ws://example:9000/ws"); +} + +#[test] +fn humantime_seconds_suffix_parses() { + let config: Config = serde_env::from_iter([("RUNNER_MODULE", "m"), ("RUNNER_TIMEOUT", "120s")]).expect("parse env"); + + assert_eq!(config.runner.timeout, Some(Duration::from_secs(120))); +} + +#[test] +fn absent_optionals_default() { + let config: Config = serde_env::from_iter([("RUNNER_MODULE", "m")]).expect("parse env"); + + assert_eq!(config.runner.timeout, None); + assert!(config.ws.server_url.starts_with("ws://localhost:")); +} + +#[test] +fn missing_required_module_errors() { + let result: Result = serde_env::from_iter([("WS_SERVER_URL", "ws://h/ws")]); + + assert!(result.is_err(), "RUNNER_MODULE is required"); +} diff --git a/services/ws-wasi-runner/tests/url_helpers.rs b/libs/ws-runner-common/tests/url_helpers.rs similarity index 58% rename from services/ws-wasi-runner/tests/url_helpers.rs rename to libs/ws-runner-common/tests/url_helpers.rs index 1283cf9..34b14dc 100644 --- a/services/ws-wasi-runner/tests/url_helpers.rs +++ b/libs/ws-runner-common/tests/url_helpers.rs @@ -1,14 +1,8 @@ -//! Smoke tests for the URL-handling helpers in `et-ws-wasi-runner`. -//! -//! Full integration with a real ws-server lives outside this crate (the -//! parent workspace's `et-ws-test-server` can't be pulled in here -- see -//! `Cargo.toml`). When you want to run a module end-to-end: -//! mise run ws-server # in one terminal -//! mise run ws-wasi-runner # in another, with RUNNER_MODULE=wasi-graphics-info. +//! Smoke tests for the shared runner URL helper. #![cfg(test)] -use et_ws_wasi_runner::{RunnerError, derive_http_base}; +use et_ws_runner_common::{BootstrapError, derive_http_base}; #[test] fn derive_http_base_strips_ws_suffix() { @@ -30,7 +24,7 @@ fn derive_http_base_rejects_non_ws_schemes() { for bad in ["http://localhost:8080", "not-a-url"] { let actual = derive_http_base(bad); assert!( - matches!(&actual, Err(RunnerError::InvalidWsUrl { ws_url }) if ws_url == bad), + matches!(&actual, Err(BootstrapError::InvalidWsUrl { ws_url }) if ws_url == bad), "derive_http_base({bad:?}): expected Err(InvalidWsUrl), got {actual:?}" ); } diff --git a/osv-scanner.toml b/osv-scanner.toml new file mode 100644 index 0000000..4095200 --- /dev/null +++ b/osv-scanner.toml @@ -0,0 +1,19 @@ +# Ignore list mirrored from `deny.toml`'s `[advisories].ignore`. See +# `deny.toml` for the per-ID rationale (which crate pulls the +# vulnerable version, why the bug isn't reachable in this runner, +# and what upstream change drops the ignore). Keep both files in +# sync -- when an ID is removed from `deny.toml`, remove it here too. +IgnoredVulns = [ + { id = "RUSTSEC-2023-0071" }, + { id = "RUSTSEC-2024-0436" }, + { id = "RUSTSEC-2025-0134" }, + { id = "RUSTSEC-2025-0141" }, + { id = "RUSTSEC-2026-0049" }, + { id = "RUSTSEC-2026-0097" }, + { id = "RUSTSEC-2026-0098" }, + { id = "RUSTSEC-2026-0099" }, + { id = "RUSTSEC-2026-0104" }, + { id = "RUSTSEC-2026-0118" }, + { id = "RUSTSEC-2026-0119" }, + { id = "RUSTSEC-2026-0173" }, +] diff --git a/services/ws-modules/audio1/Cargo.toml b/services/ws-modules/audio1/Cargo.toml index 98f966d..49c71ea 100644 --- a/services/ws-modules/audio1/Cargo.toml +++ b/services/ws-modules/audio1/Cargo.toml @@ -9,6 +9,7 @@ repository.workspace = true [lib] crate-type = ["cdylib", "rlib"] doctest = false +test = false [dependencies] et-web.workspace = true diff --git a/services/ws-modules/bluetooth/Cargo.toml b/services/ws-modules/bluetooth/Cargo.toml index 3396025..5fc2911 100644 --- a/services/ws-modules/bluetooth/Cargo.toml +++ b/services/ws-modules/bluetooth/Cargo.toml @@ -9,6 +9,7 @@ repository.workspace = true [lib] crate-type = ["cdylib", "rlib"] doctest = false +test = false [dependencies] et-web.workspace = true diff --git a/services/ws-modules/comm1/Cargo.toml b/services/ws-modules/comm1/Cargo.toml index 46ea9d3..195590e 100644 --- a/services/ws-modules/comm1/Cargo.toml +++ b/services/ws-modules/comm1/Cargo.toml @@ -9,6 +9,7 @@ repository.workspace = true [lib] crate-type = ["cdylib", "rlib"] doctest = false +test = false [dependencies] edge-toolkit.workspace = true diff --git a/services/ws-modules/data1/Cargo.toml b/services/ws-modules/data1/Cargo.toml index ffd1a7f..c4082c3 100644 --- a/services/ws-modules/data1/Cargo.toml +++ b/services/ws-modules/data1/Cargo.toml @@ -9,6 +9,7 @@ repository.workspace = true [lib] crate-type = ["cdylib", "rlib"] doctest = false +test = false [dependencies] edge-toolkit.workspace = true diff --git a/services/ws-modules/geolocation/Cargo.toml b/services/ws-modules/geolocation/Cargo.toml index 3723958..8cbfa8d 100644 --- a/services/ws-modules/geolocation/Cargo.toml +++ b/services/ws-modules/geolocation/Cargo.toml @@ -9,6 +9,7 @@ repository.workspace = true [lib] crate-type = ["cdylib", "rlib"] doctest = false +test = false [dependencies] et-web.workspace = true diff --git a/services/ws-modules/graphics-info/Cargo.toml b/services/ws-modules/graphics-info/Cargo.toml index 6f43f4f..32b43a1 100644 --- a/services/ws-modules/graphics-info/Cargo.toml +++ b/services/ws-modules/graphics-info/Cargo.toml @@ -9,6 +9,7 @@ repository.workspace = true [lib] crate-type = ["cdylib", "rlib"] doctest = false +test = false [dependencies] et-web.workspace = true diff --git a/services/ws-modules/nfc/Cargo.toml b/services/ws-modules/nfc/Cargo.toml index dee388a..388ff14 100644 --- a/services/ws-modules/nfc/Cargo.toml +++ b/services/ws-modules/nfc/Cargo.toml @@ -9,6 +9,7 @@ repository.workspace = true [lib] crate-type = ["cdylib", "rlib"] doctest = false +test = false [dependencies] et-web.workspace = true diff --git a/services/ws-modules/pydata1/pkg/et_ws_pydata1.js b/services/ws-modules/pydata1/pkg/et_ws_pydata1.js index aea4870..0fa4e21 100644 --- a/services/ws-modules/pydata1/pkg/et_ws_pydata1.js +++ b/services/ws-modules/pydata1/pkg/et_ws_pydata1.js @@ -9,6 +9,22 @@ let pyMod = null; function loadPyodideScript() { return new Promise((resolve, reject) => { if (globalThis.loadPyodide) return resolve(); + // In Deno / non-browser environments, import() the module directly. + if ( + typeof document === "undefined" || typeof document.createElement !== "function" + || !document.head || typeof document.head.appendChild !== "function" + || typeof Deno !== "undefined" + ) { + const baseUrl = (typeof globalThis.__ET_HTTP_BASE === "string") + ? globalThis.__ET_HTTP_BASE + : ""; + const url = baseUrl + PYODIDE_CDN; + import(url).then((mod) => { + if (mod.loadPyodide) globalThis.loadPyodide = mod.loadPyodide; + resolve(); + }).catch(reject); + return; + } const s = document.createElement("script"); s.src = `${PYODIDE_BASE_PATH}pyodide.js`; s.onload = resolve; @@ -61,8 +77,10 @@ export default async function init() { export async function run() { if (!pyMod) throw new Error("pydata1: not initialized"); - const wsProtocol = window.location.protocol === "https:" ? "wss:" : "ws:"; - const wsUrl = `${wsProtocol}//${window.location.host}/ws`; + const wsUrl = globalThis.__ET_WS_URL + || `${ + (typeof location !== "undefined" ? location.protocol : "ws:") === "https:" ? "wss:" : "ws:" + }//${(typeof location !== "undefined" ? location.host : "localhost:8080")}/ws`; const wasmAgent = await import("/modules/et-ws-wasm-agent/et_ws_wasm_agent.js"); await wasmAgent.default(); diff --git a/services/ws-modules/sensor1/Cargo.toml b/services/ws-modules/sensor1/Cargo.toml index bfaa7bc..1d71e73 100644 --- a/services/ws-modules/sensor1/Cargo.toml +++ b/services/ws-modules/sensor1/Cargo.toml @@ -9,6 +9,7 @@ repository.workspace = true [lib] crate-type = ["cdylib", "rlib"] doctest = false +test = false [dependencies] et-web.workspace = true diff --git a/services/ws-modules/speech-recognition/Cargo.toml b/services/ws-modules/speech-recognition/Cargo.toml index 60915a6..573e7e2 100644 --- a/services/ws-modules/speech-recognition/Cargo.toml +++ b/services/ws-modules/speech-recognition/Cargo.toml @@ -9,6 +9,7 @@ repository.workspace = true [lib] crate-type = ["cdylib", "rlib"] doctest = false +test = false [dependencies] et-web.workspace = true diff --git a/services/ws-modules/video1/Cargo.toml b/services/ws-modules/video1/Cargo.toml index 54dfc28..6686048 100644 --- a/services/ws-modules/video1/Cargo.toml +++ b/services/ws-modules/video1/Cargo.toml @@ -9,6 +9,7 @@ repository.workspace = true [lib] crate-type = ["cdylib", "rlib"] doctest = false +test = false [dependencies] et-web.workspace = true diff --git a/services/ws-modules/wasi-comm1/Cargo.toml b/services/ws-modules/wasi-comm1/Cargo.toml index db35da6..8616d30 100644 --- a/services/ws-modules/wasi-comm1/Cargo.toml +++ b/services/ws-modules/wasi-comm1/Cargo.toml @@ -9,6 +9,7 @@ repository.workspace = true [lib] crate-type = ["cdylib"] doctest = false +test = false # See wasi-data1/Cargo.toml for the rationale behind the wasi-only target # scope; the lib body is gated identically. diff --git a/services/ws-modules/wasi-data1/Cargo.toml b/services/ws-modules/wasi-data1/Cargo.toml index 0632366..1659c18 100644 --- a/services/ws-modules/wasi-data1/Cargo.toml +++ b/services/ws-modules/wasi-data1/Cargo.toml @@ -9,6 +9,7 @@ repository.workspace = true [lib] crate-type = ["cdylib"] doctest = false +test = false # Scope the wit-bindgen + serde_json deps to wasi targets so a host # `cargo check --workspace` doesn't pull them in. The lib body is gated diff --git a/services/ws-modules/zig-data1/pkg/et_ws_zig_data1.js b/services/ws-modules/zig-data1/pkg/et_ws_zig_data1.js index 8b82fa3..8aaba89 100644 --- a/services/ws-modules/zig-data1/pkg/et_ws_zig_data1.js +++ b/services/ws-modules/zig-data1/pkg/et_ws_zig_data1.js @@ -146,7 +146,7 @@ export async function run() { setTimeout(poll, 0); }; - const worker = new Worker(workerUrl, { type: "classic" }); + const worker = new Worker(workerUrl, { type: "module" }); worker.onmessage = (e) => { if (e.data.done) { worker.terminate(); diff --git a/services/ws-wasi-runner/Cargo.toml b/services/ws-wasi-runner/Cargo.toml index b80b987..73185cf 100644 --- a/services/ws-wasi-runner/Cargo.toml +++ b/services/ws-wasi-runner/Cargo.toml @@ -35,6 +35,7 @@ bytemuck.workspace = true edge-toolkit.workspace = true et-otlp.workspace = true et-rest-client = { workspace = true, features = ["tracing"] } +et-ws-runner-common.workspace = true futures-util.workspace = true opentelemetry.workspace = true opentelemetry-http.workspace = true diff --git a/services/ws-wasi-runner/src/config.rs b/services/ws-wasi-runner/src/config.rs new file mode 100644 index 0000000..fa66887 --- /dev/null +++ b/services/ws-wasi-runner/src/config.rs @@ -0,0 +1,23 @@ +//! Environment-driven configuration for the WASI runner. +//! +//! Deserialised from the process environment via `serde-env`. The `RUNNER_*` +//! and `WS_*` vars are parsed by the shared [`RunnerConfig`] / [`WsConfig`] +//! structs from `et-ws-runner-common`; `OTLP_*` populates [`OtlpConfig`]. + +use edge_toolkit::config::OtlpConfig; +use et_ws_runner_common::config::{RunnerConfig, WsConfig}; +use serde::Deserialize; + +/// WASI-runner configuration sourced from the environment. +#[derive(Clone, Debug, Deserialize)] +#[non_exhaustive] +pub struct Config { + /// `RUNNER_*` settings (`RUNNER_MODULE`, `RUNNER_TIMEOUT`). + pub runner: RunnerConfig, + /// `WS_*` settings (`WS_SERVER_URL`). + #[serde(default)] + pub ws: WsConfig, + /// OpenTelemetry config, from the `OTLP_*` env vars; `None` logs to stderr. + #[serde(default)] + pub otlp: Option, +} diff --git a/services/ws-wasi-runner/src/error.rs b/services/ws-wasi-runner/src/error.rs index b36c64f..a355e5c 100644 --- a/services/ws-wasi-runner/src/error.rs +++ b/services/ws-wasi-runner/src/error.rs @@ -1,11 +1,4 @@ //! Error type for `run_module`. -//! -//! `et_rest_client::Error`, `reqwest::Error`, `wasmtime::Error`, the -//! WIT-defined `EntryError`, and `serde_path_to_error::Error` already carry -//! enough context to be useful on their own, so they're forwarded -//! transparently via `#[from]`. Guest `run()` failures arrive as -//! `EntryError` (the variant declared on `interface entry` in -//! `generated/specs/wit/world.wit`). use thiserror::Error; @@ -15,20 +8,11 @@ use crate::bindings::exports::et::ws_wasi::entry::EntryError; #[derive(Debug, Error)] #[non_exhaustive] pub enum RunnerError { - #[error("could not derive HTTP base from WS_SERVER_URL={ws_url}")] - InvalidWsUrl { ws_url: String }, - - #[error(transparent)] - Rest(#[from] et_rest_client::Error<()>), - #[error(transparent)] - Reqwest(#[from] reqwest::Error), + Common(#[from] et_ws_runner_common::BootstrapError), #[error(transparent)] - PackageJsonInvalid(#[from] serde_path_to_error::Error), - - #[error("module {module} package.json missing `main` field")] - PackageJsonMissingMain { module: String }, + Rest(#[from] et_rest_client::Error<()>), #[error(transparent)] Wasm(#[from] wasmtime::Error), diff --git a/services/ws-wasi-runner/src/lib.rs b/services/ws-wasi-runner/src/lib.rs index 5467fde..4f05ac2 100644 --- a/services/ws-wasi-runner/src/lib.rs +++ b/services/ws-wasi-runner/src/lib.rs @@ -8,73 +8,19 @@ //! //! See `wit/world.wit` for the host/guest contract. -// `RunnerError` ends up large because `et_rest_client::Error<()>` carries an -// inline `reqwest::Response` (~136 B). Boxing the variant would shave the -// parent enum but cost a `From` impl per variant; not worth it for an -// internal crate. -#![expect( - clippy::result_large_err, - reason = "et_rest_client::Error<()> dominates the footprint; boxing would force per-variant From impls" -)] - -use futures_util::StreamExt as _; +use et_ws_runner_common::{collect_byte_stream, derive_http_base, fetch_main_field}; use tracing::Instrument as _; use wasmtime::component::{Component, HasSelf, Linker}; use wasmtime::{Config, Engine, Store}; pub mod bindings; +pub mod config; pub mod error; pub mod host; pub use self::error::RunnerError; pub use self::host::HostState; -/// Convert a WebSocket URL to its HTTP base. -pub fn derive_http_base(ws_url: &str) -> Result { - let (scheme, rest) = if let Some(suffix) = ws_url.strip_prefix("wss://") { - ("https", suffix) - } else if let Some(suffix) = ws_url.strip_prefix("ws://") { - ("http", suffix) - } else { - return Err(RunnerError::InvalidWsUrl { - ws_url: ws_url.to_string(), - }); - }; - let host_port = rest.strip_suffix("/ws").unwrap_or(rest); - Ok(format!("{scheme}://{host_port}")) -} - -/// Drain a progenitor `ByteStream` into a `Vec`. -async fn collect_byte_stream(mut stream: et_rest_client::ByteStream) -> Result, RunnerError> { - let mut buf = Vec::new(); - while let Some(chunk) = stream.next().await { - let chunk = chunk?; - buf.extend_from_slice(&chunk); - } - Ok(buf) -} - -/// Read the module's `package.json` from the ws-server and extract its `main` field. -/// -/// The `main` field names the WASI component binary. -#[expect( - clippy::single_call_fn, - reason = "named helper; kept separate so the package.json fetch span scopes cleanly" -)] -#[tracing::instrument(name = "fetch_package_json", skip(client), err)] -async fn fetch_main_field(client: &et_rest_client::Client, module_name: &str) -> Result { - let response = client.get_module_file(module_name, "package.json").await?; - let bytes = collect_byte_stream(response.into_inner()).await?; - let mut deserializer = serde_json::Deserializer::from_slice(&bytes); - let pkg: serde_json::Value = serde_path_to_error::deserialize(&mut deserializer)?; - pkg.get("main") - .and_then(|value| value.as_str()) - .map(str::to_string) - .ok_or_else(|| RunnerError::PackageJsonMissingMain { - module: module_name.to_string(), - }) -} - /// Download, link, and run the WASI component for `module_name`. /// /// Returns when the guest's exported `entry.run` finishes (either by diff --git a/services/ws-wasi-runner/src/main.rs b/services/ws-wasi-runner/src/main.rs index 18f66be..dbfe8e2 100644 --- a/services/ws-wasi-runner/src/main.rs +++ b/services/ws-wasi-runner/src/main.rs @@ -1,24 +1,16 @@ -use edge_toolkit::config::OtlpConfig; +use et_ws_wasi_runner::config::Config; use et_ws_wasi_runner::run_module; -use serde::Deserialize; use tracing::info; -/// Tiny envelope so the same `OTLP_*` env vars used by ws-server's `Config` -/// (deserialised via serde-env) work here too. -#[derive(Debug, Default, Deserialize)] -struct EnvConfig { - otlp: Option, -} - #[tokio::main] async fn main() -> Result<(), Box> { - let env_config = serde_env::from_env::().unwrap_or_default(); + let config = serde_env::from_env::()?; #[expect( clippy::option_if_let_else, reason = "None branch installs an alternate tracing subscriber as a side effect; map_or_else hides it" )] - let otel_handles = if let Some(otlp_config) = &env_config.otlp { + let otel_handles = if let Some(otlp_config) = &config.otlp { Some(et_otlp::init(otlp_config)) } else { tracing_subscriber::fmt() @@ -27,23 +19,29 @@ async fn main() -> Result<(), Box> { None }; - let module_name = std::env::var("RUNNER_MODULE").or(Err("RUNNER_MODULE not set"))?; - let ws_url = std::env::var("WS_SERVER_URL").unwrap_or_else(|_| { - format!( - "ws://localhost:{}/ws", - edge_toolkit::ports::Services::InsecureWebSocketServer.port() - ) - }); - - info!("et-ws-wasi-runner: module={module_name} server={ws_url}"); - let result = run_module(&module_name, &ws_url).await; + let module = &config.runner.module; + let ws_url = &config.ws.server_url; + let timeout = config.runner.timeout; + let run = run_module(module, ws_url); + // `None` outcome == timed out; `Some(_)` carries the module's own result. + let outcome = if let Some(limit) = timeout { + info!("et-ws-wasi-runner: module={module} server={ws_url} timeout={limit:?}"); + tokio::time::timeout(limit, run).await.ok() + } else { + info!("et-ws-wasi-runner: module={module} server={ws_url}"); + Some(run.await) + }; // Flush before exit so the mock OTLP collector sees the spans we emitted // -- `BatchExporter` would otherwise drop the tail when the process exits. if let Some(handles) = otel_handles { handles.shutdown(); } + + let Some(result) = outcome else { + return Err(format!("module {module} timed out after {:?}", timeout.unwrap_or_default()).into()); + }; result?; - info!("module {module_name} completed successfully"); + info!("module {module} completed successfully"); Ok(()) } diff --git a/services/ws-wasm-agent/src/lib.rs b/services/ws-wasm-agent/src/lib.rs index fa4a7b0..c2feb38 100644 --- a/services/ws-wasm-agent/src/lib.rs +++ b/services/ws-wasm-agent/src/lib.rs @@ -1,10 +1,7 @@ #![expect( clippy::single_call_fn, - reason = "load_/store_ localStorage helpers are a matched group; each is invoked once but kept named for symmetry" -)] -#![expect( unused_results, - reason = "js_sys::Reflect::set's bool result is deliberately discarded for fire-and-forget UI updates" + reason = "load_/store_ helpers each called once but kept named; Reflect::set's bool result discarded by design" )] use std::cell::RefCell; diff --git a/services/ws-web-runner/Cargo.toml b/services/ws-web-runner/Cargo.toml new file mode 100644 index 0000000..722b019 --- /dev/null +++ b/services/ws-web-runner/Cargo.toml @@ -0,0 +1,50 @@ +[package] +name = "et-ws-web-runner" +description = "Runner that fetches a ws-module from the server and executes its JS via embedded Deno" +version = "0.1.0" +edition.workspace = true +license.workspace = true +repository.workspace = true +rust-version.workspace = true + +[lib] +doctest = false +name = "et_ws_web_runner" +path = "src/lib.rs" + +[[bin]] +doctest = false +name = "et-ws-web-runner" +path = "src/main.rs" + +[dependencies] +deno_core.workspace = true +deno_error.workspace = true +deno_resolver.workspace = true +deno_runtime.workspace = true +edge-toolkit.workspace = true +et-rest-client = { workspace = true, features = ["tracing"] } +et-ws-runner-common.workspace = true +futures-util.workspace = true +serde.workspace = true +serde-env.workspace = true +sys_traits.workspace = true +thiserror.workspace = true +tokio = { workspace = true, features = ["macros", "rt-multi-thread"] } +tracing.workspace = true +tracing-subscriber.workspace = true + +# deno_io (pulled via deno_runtime) declares `winapi` without its `std` feature, +# so winapi defines its own `c_void` and its `HANDLE` stops matching std's +# `RawHandle`, breaking the `from_raw_handle(GetStdHandle(..))` path on Windows +# (a missing-winapi-feature bug, cf. denoland/deno#24212). Depend on winapi with +# `std` here so cargo feature unification turns it on for the shared winapi. +[target.'cfg(windows)'.dependencies] +winapi.workspace = true + +[dev-dependencies] +et-ws-test-server.workspace = true +rstest.workspace = true + +[lints] +workspace = true diff --git a/services/ws-web-runner/src/config.rs b/services/ws-web-runner/src/config.rs new file mode 100644 index 0000000..948a5b4 --- /dev/null +++ b/services/ws-web-runner/src/config.rs @@ -0,0 +1,19 @@ +//! Environment-driven configuration for the web runner. +//! +//! Deserialised from the process environment via `serde-env`. The `RUNNER_*` +//! and `WS_*` vars are parsed by the shared [`RunnerConfig`] / [`WsConfig`] +//! structs from `et-ws-runner-common`. + +use et_ws_runner_common::config::{RunnerConfig, WsConfig}; +use serde::Deserialize; + +/// Web-runner configuration sourced from the environment. +#[derive(Clone, Debug, Deserialize)] +#[non_exhaustive] +pub struct Config { + /// `RUNNER_*` settings (`RUNNER_MODULE`, `RUNNER_TIMEOUT`). + pub runner: RunnerConfig, + /// `WS_*` settings (`WS_SERVER_URL`). + #[serde(default)] + pub ws: WsConfig, +} diff --git a/services/ws-web-runner/src/error.rs b/services/ws-web-runner/src/error.rs new file mode 100644 index 0000000..e1d61cb --- /dev/null +++ b/services/ws-web-runner/src/error.rs @@ -0,0 +1,46 @@ +//! Error types + helpers for the embedded Deno runtime. +//! +//! `RunnerError` is the public error returned by `run_module`. `JsErrExt` +//! is an extension trait that wraps the only `.map_err(...)` calls in the +//! crate -- it converts foreign error types into `deno_error::JsErrorBox` +//! so call sites can use `.js_err()` / `.js_err_context(...)` instead of +//! hand-rolling closures. + +use thiserror::Error; + +/// Errors that `run_module` can produce. +#[derive(Debug, Error)] +#[non_exhaustive] +pub enum RunnerError { + #[error(transparent)] + Common(#[from] et_ws_runner_common::BootstrapError), + + #[error("deno runtime error: {0}")] + Deno(#[from] deno_core::error::CoreError), + + #[error("deno runtime error: {0}")] + DenoGeneric(#[from] deno_core::error::AnyError), +} + +/// Maps any `Display` error into a generic `JsErrorBox`. +/// +/// Per repo naming convention (see CLAUDE.md), these are `map_*` because they +/// are custom-`map_err` wrappers -- the name signals "this calls `map_err` +/// under the hood, just hiding the closure." +pub trait JsErrExt { + /// Convert the error via `Display` into a generic JS error. + fn map_js_err(self) -> Result; + + /// Convert the error via `Display` with additional context. + fn map_js_err_with_context(self, context: impl FnOnce() -> String) -> Result; +} + +impl JsErrExt for Result { + fn map_js_err(self) -> Result { + self.map_err(|err| deno_error::JsErrorBox::generic(err.to_string())) + } + + fn map_js_err_with_context(self, context: impl FnOnce() -> String) -> Result { + self.map_err(|err| deno_error::JsErrorBox::generic(format!("{}: {err}", context()))) + } +} diff --git a/services/ws-web-runner/src/lib.rs b/services/ws-web-runner/src/lib.rs new file mode 100644 index 0000000..db402b9 --- /dev/null +++ b/services/ws-web-runner/src/lib.rs @@ -0,0 +1,45 @@ +//! Native runner that executes browser-targeted ws-modules under embedded Deno. +//! +//! Counterpart to `et-ws-wasi-runner` (which runs WASI components inside +//! wasmtime); this crate runs the JavaScript entry points (wasm-bindgen glue, +//! Pyodide shims, Dart/Zig/Java shims) that normally load in a real browser. +//! +//! The runner fetches `package.json` from the ws-server, downloads the `main` +//! JS file, and evaluates it inside a Deno `JsRuntime` equipped with the +//! standard web platform extensions (fetch, `WebSocket`, `WebStorage`, timers, +//! crypto, WebGPU). + +use et_ws_runner_common::{derive_http_base, fetch_main_field}; + +pub mod config; +mod error; +mod runtime; + +pub use crate::error::RunnerError; + +/// Download, prepare, and run the browser-targeted JS module for `module_name`. +/// +/// The ws-server must be running and serving modules at the derived HTTP base. +#[expect( + clippy::future_not_send, + reason = "MainWorker is !Send; the caller must use a current_thread tokio runtime" +)] +pub async fn run_module(module_name: &str, ws_url: &str) -> Result<(), RunnerError> { + // Ensure a rustls crypto provider is installed (needed by deno_tls/deno_fetch). + // MainWorker bootstrap installs one but the workspace `et-rest-client` we + // use ahead of MainWorker (to fetch package.json) also wants a provider, so + // install eagerly here. + let _ignore = deno_runtime::deno_tls::rustls::crypto::aws_lc_rs::default_provider().install_default(); + let http_base = derive_http_base(ws_url)?; + + let rest = et_rest_client::Client::new(&http_base); + let main = fetch_main_field(&rest, module_name).await?; + + let module_base_url = format!("{http_base}/modules/{module_name}"); + let entry_url = format!("{module_base_url}/{main}"); + + tracing::info!(%entry_url, "running module JS"); + + runtime::run_js_module(&entry_url, &http_base, ws_url, rest).await?; + Ok(()) +} diff --git a/services/ws-web-runner/src/main.rs b/services/ws-web-runner/src/main.rs new file mode 100644 index 0000000..be6d6e2 --- /dev/null +++ b/services/ws-web-runner/src/main.rs @@ -0,0 +1,30 @@ +use et_ws_web_runner::config::Config; +use et_ws_web_runner::run_module; +use tracing::info; + +#[tokio::main(flavor = "current_thread")] +async fn main() -> Result<(), Box> { + tracing_subscriber::fmt() + .with_env_filter(tracing_subscriber::EnvFilter::try_from_default_env().unwrap_or_else(|_| "info".into())) + .init(); + + let config = serde_env::from_env::()?; + let module = &config.runner.module; + let ws_url = &config.ws.server_url; + + let run = run_module(module, ws_url); + let result = if let Some(timeout) = config.runner.timeout { + info!("et-ws-web-runner: module={module} server={ws_url} timeout={timeout:?}"); + match tokio::time::timeout(timeout, run).await { + Ok(result) => result, + Err(_) => return Err(format!("module {module} timed out after {timeout:?}").into()), + } + } else { + info!("et-ws-web-runner: module={module} server={ws_url} timeout=none"); + run.await + }; + + result?; + info!("module {module} completed successfully"); + Ok(()) +} diff --git a/services/ws-web-runner/src/runtime.rs b/services/ws-web-runner/src/runtime.rs new file mode 100644 index 0000000..f715a14 --- /dev/null +++ b/services/ws-web-runner/src/runtime.rs @@ -0,0 +1,341 @@ +//! Deno `MainWorker` setup and module evaluation. +//! +//! `MainWorker` (from `deno_runtime`) handles the heavy lifting we used +//! to do by hand: timers, `fetch`, `WebSocket`, `Headers`/`Request`/ +//! `Response`, crypto, `localStorage`, `Event`/`EventTarget`, `URL`, +//! `Blob`, `File`, base64, performance, and console -- all wired onto +//! `globalThis` by its bootstrap. We layer on top: +//! - a custom module loader that fetches from the ws-server +//! - browser-environment shims for wasm-bindgen modules (`window` / +//! `location` / `navigator` / `document` / `HTMLCanvasElement`) +//! - `WebAssembly.{instantiate,compile}Streaming` patches that fall +//! back to `arrayBuffer + instantiate/compile`, because `deno_fetch` +//! `Response` objects aren't streamable in V8's native path (dotnet +//! hits this) +//! - a `globalThis`-level event-target shim Pyodide expects +//! - removing the `Deno` global (Pyodide sniffs it and takes a +//! broken path) + +use std::rc::Rc; +use std::sync::Arc; + +use deno_core::error::CoreError; +use deno_core::futures::FutureExt as _; +use deno_core::v8::{BackingStore, SharedRef}; +use deno_core::{CrossIsolateStore, ModuleLoadResponse, ModuleSpecifier}; +use deno_resolver::npm::{DenoInNpmPackageChecker, NpmResolver}; +use deno_runtime::deno_fetch::dns::Resolver; +use deno_runtime::deno_fs::{FileSystemRc, RealFs}; +use deno_runtime::deno_inspector_server::MainInspectorSessionChannel; +use deno_runtime::deno_io::Stdio; +use deno_runtime::deno_permissions::PermissionsContainer; +use deno_runtime::deno_web::InMemoryBroadcastChannel; +use deno_runtime::ops::worker_host::CreateWebWorkerCb; +use deno_runtime::permissions::RuntimePermissionDescriptorParser; +use deno_runtime::web_worker::{WebWorker, WebWorkerOptions, WebWorkerServiceOptions}; +use deno_runtime::worker::{MainWorker, WorkerOptions, WorkerServiceOptions}; +use deno_runtime::{BootstrapOptions, WorkerExecutionMode}; +use et_rest_client::ClientInfo as _; +use sys_traits::impls::RealSys; + +use crate::error::JsErrExt as _; + +/// Module loader that fetches JavaScript from the ws-server over HTTP. +/// +/// Uses the typed REST client's inner `reqwest::Client` so the loader can +/// fetch arbitrary module sub-paths (ES `import("/modules/x/sub/dir/y.js")`) +/// that the typed `get_module_file` would percent-encode incorrectly via +/// `encode_path` (slashes inside the path segment get turned into `%2F`). +struct ServerModuleLoader { + rest: et_rest_client::Client, +} + +impl deno_core::ModuleLoader for ServerModuleLoader { + fn resolve( + &self, + specifier: &str, + referrer: &str, + _kind: deno_core::ResolutionKind, + ) -> deno_core::ModuleResolveResponse { + // Absolute URLs pass through directly. + if let Ok(url) = ModuleSpecifier::parse(specifier) { + return Ok(url); + } + + // Server-root-relative paths like "/modules/et-ws-wasm-agent/..." + if specifier.starts_with('/') { + let url = format!("{}{specifier}", self.rest.baseurl()); + return ModuleSpecifier::parse(&url).map_js_err(); + } + + // Relative paths resolved against the referrer. + let base = ModuleSpecifier::parse(referrer) + .map_js_err_with_context(|| format!("bad referrer (referrer={referrer:?}, specifier={specifier:?})"))?; + base.join(specifier).map_js_err() + } + + fn load( + &self, + module_specifier: &ModuleSpecifier, + _maybe_referrer: Option<&deno_core::ModuleLoadReferrer>, + _options: deno_core::ModuleLoadOptions, + ) -> ModuleLoadResponse { + let url = module_specifier.clone(); + let client = self.rest.client().clone(); + ModuleLoadResponse::Async( + async move { + // Retry transport-level send failures. reqwest reuses pooled + // keep-alive connections; the server can close an idle one in + // the gap since the previous request (MainWorker bootstrap can + // outlast the server's keep-alive), so the first send() fails + // with "error sending request". A fresh attempt dials anew. + let mut attempt = 0u8; + let response = loop { + match client.get(url.as_str()).send().await { + Ok(response) => break response, + Err(e) if (e.is_request() || e.is_connect()) && attempt < 2 => { + attempt = attempt.saturating_add(1); + tracing::warn!(url = %url, attempt, error = %e, "module fetch send error; retrying"); + } + Err(e) => return Err(e).map_js_err(), + } + }; + + let body = response.error_for_status().map_js_err()?.text().await.map_js_err()?; + let specifier = ModuleSpecifier::parse(url.as_str()).map_js_err()?; + + Ok(deno_core::ModuleSource::new( + deno_core::ModuleType::JavaScript, + deno_core::ModuleSourceCode::String(body.into()), + &specifier, + None, + )) + } + .boxed_local(), + ) + } +} + +/// The browser-environment shim layered on top of `MainWorker`'s bootstrap. +/// +/// Sourced from `shim.js` next to this file, with two placeholder tokens +/// substituted for the per-run URLs. +const SHIM_TEMPLATE: &str = include_str!("shim.js"); + +/// Render the shim with the per-run URL substitutions. +/// +/// Substitutes the ws-server's HTTP base (used for `location` and module URL +/// resolution) and the WebSocket URL (exposed on `globalThis.__ET_WS_URL`). +fn shim_js(http_base: &str, ws_url: &str) -> String { + SHIM_TEMPLATE + .replace("__ET_HTTP_BASE__", http_base) + .replace("__ET_WS_URL__", ws_url) +} + +/// Build the `CreateWebWorkerCb` that spawns child `WebWorker`s on fresh OS threads. +/// +/// The closure captures the bits a worker needs (REST client to build its own +/// module loader, the `fs`, the cross-isolate `SharedArrayBuffer` store) and +/// recurses by handing itself (cloned `Arc`) to each child so workers can spawn +/// grand-children. +fn create_web_worker_cb( + rest: et_rest_client::Client, + fs: FileSystemRc, + sab_store: CrossIsolateStore>, + http_base: String, + ws_url: String, +) -> Arc { + Arc::new(move |args| { + let rest = rest.clone(); + let fs = Arc::clone(&fs); + let sab_store = sab_store.clone(); + let http_base = http_base.clone(); + let ws_url = ws_url.clone(); + + let module_loader: Rc = Rc::new(ServerModuleLoader { rest: rest.clone() }); + + // Recurse so this worker can spawn its own children. + let create_web_worker_cb = create_web_worker_cb( + rest, + Arc::clone(&fs), + sab_store.clone(), + http_base.clone(), + ws_url.clone(), + ); + + let services = WebWorkerServiceOptions::, RealSys> { + fs, + module_loader, + permissions: args.permissions, + shared_array_buffer_store: Some(sab_store), + blob_store: Arc::default(), + broadcast_channel: InMemoryBroadcastChannel::default(), + bundle_provider: None, + compiled_wasm_module_store: None, + deno_rt_native_addon_loader: None, + feature_checker: Arc::default(), + main_inspector_session_tx: MainInspectorSessionChannel::default(), + node_services: None, + npm_process_state_provider: None, + root_cert_store_provider: None, + }; + + let options = WebWorkerOptions { + bootstrap: BootstrapOptions { + location: Some(args.main_module.clone()), + mode: WorkerExecutionMode::Worker, + user_agent: concat!(env!("CARGO_PKG_NAME"), "/", env!("CARGO_PKG_VERSION")).to_string(), + close_on_idle: false, + ..Default::default() + }, + create_web_worker_cb, + main_module: args.main_module.clone(), + name: args.name, + worker_id: args.worker_id, + worker_type: args.worker_type, + cache_storage_dir: None, + close_on_idle: false, + create_params: None, + enable_raw_imports: false, + enable_stack_trace_arg_in_ops: false, + extensions: vec![], + format_js_error_fn: None, + maybe_coverage_dir: None, + maybe_cpu_prof_config: None, + maybe_worker_metadata: None, + residual_lazy_esm_sources: &[], + residual_lazy_js_sources: &[], + seed: None, + startup_snapshot: None, + stdio: Stdio::default(), + trace_ops: None, + unsafely_ignore_certificate_errors: None, + }; + + // Pre-shim the worker so browser-environment fakes are in place + // before any module code runs. `bootstrap_from_options` returns + // a `(WebWorker, SendableWebWorkerHandle)` tuple. + let (mut worker, handle) = WebWorker::bootstrap_from_options(services, options); + let shim = shim_js(&http_base, &ws_url); + // No `Result` channel in this callback, so log and continue. + if let Err(e) = worker.js_runtime.execute_script("", shim) { + tracing::error!( + error = ?e, + "worker environment shim failed unexpectedly (it already succeeded on the main thread)" + ); + } + (worker, handle) + }) +} + +/// Construct a `MainWorker` and run the entry-point module. +/// +/// `MainWorker` brings the standard web-platform globals (fetch, +/// WebSocket, timers, etc.); `shim_js` layers the browser-environment +/// fakes browser-targeted WASM expects on top. `create_web_worker_cb` +/// hooks `new Worker(...)` to spawn fresh `WebWorker`s on their own +/// threads sharing a `BackingStore` store for `SharedArrayBuffer` +/// cross-isolate transfer. +#[expect( + clippy::single_call_fn, + clippy::future_not_send, + reason = "MainWorker is !Send; called from single-threaded tokio" +)] +pub async fn run_js_module( + entry_url: &str, + http_base: &str, + ws_url: &str, + rest: et_rest_client::Client, +) -> Result<(), CoreError> { + let module_loader: Rc = Rc::new(ServerModuleLoader { rest: rest.clone() }); + + let sys = RealSys; + let permission_desc_parser = Arc::new(RuntimePermissionDescriptorParser::new(sys)); + let permissions = PermissionsContainer::allow_all(permission_desc_parser); + + let fs: FileSystemRc = Arc::new(RealFs); + let sab_store: CrossIsolateStore> = CrossIsolateStore::default(); + + let service_options = WorkerServiceOptions::, RealSys> { + fs: Arc::clone(&fs), + module_loader, + permissions, + shared_array_buffer_store: Some(sab_store.clone()), + blob_store: Arc::default(), + broadcast_channel: InMemoryBroadcastChannel::default(), + bundle_provider: None, + compiled_wasm_module_store: None, + deno_rt_native_addon_loader: None, + feature_checker: Arc::default(), + fetch_dns_resolver: Resolver::default(), + node_services: None, + npm_process_state_provider: None, + root_cert_store_provider: None, + v8_code_cache: None, + }; + + let bootstrap = BootstrapOptions { + close_on_idle: true, + location: Some(ModuleSpecifier::parse(http_base).map_js_err()?), + mode: WorkerExecutionMode::Run, + user_agent: concat!(env!("CARGO_PKG_NAME"), "/", env!("CARGO_PKG_VERSION")).to_string(), + ..Default::default() + }; + + let create_web_worker_cb = create_web_worker_cb(rest, fs, sab_store, http_base.to_string(), ws_url.to_string()); + let main_specifier = ModuleSpecifier::parse(entry_url).map_js_err()?; + let mut worker = MainWorker::bootstrap_from_options::, RealSys>( + &main_specifier, + service_options, + WorkerOptions { + bootstrap, + create_web_worker_cb, + extensions: vec![], + startup_snapshot: None, + ..Default::default() + }, + ); + + // Apply our browser-environment shims on top of Deno's globals. The + // `Global` returned by `execute_script` is just the + // last-expression result; we don't need it. + drop( + worker + .js_runtime + .execute_script("", shim_js(http_base, ws_url))?, + ); + + // Load + run the module via an inline wrapper: dynamic `import()` works + // from ES-module context but not from `execute_script`, so synthesise a + // side ES module. + let wrapper_code = format!( + r#" +const mod = await import("{entry_url}"); +let invoked = false; +if (typeof mod.default === "function") {{ + await mod.default(); + invoked = true; +}} +if (typeof mod.run === "function") {{ + await mod.run(); + invoked = true; +}} +if (!invoked) {{ + throw new Error("module {entry_url} exports neither a `default` nor a `run` function"); +}} +"# + ); + let wrapper_specifier = ModuleSpecifier::parse("internal:///runner-wrapper.js")?; + let wrapper_id = worker + .js_runtime + .load_side_es_module_from_code(&wrapper_specifier, wrapper_code) + .await?; + let eval_future = std::pin::pin!(worker.js_runtime.mod_evaluate(wrapper_id)); + worker + .js_runtime + .with_event_loop_promise(eval_future, deno_core::PollEventLoopOptions::default()) + .await?; + + drop(worker); + Ok(()) +} diff --git a/services/ws-web-runner/src/shim.js b/services/ws-web-runner/src/shim.js new file mode 100644 index 0000000..64219f2 --- /dev/null +++ b/services/ws-web-runner/src/shim.js @@ -0,0 +1,195 @@ +// et-ws-web-runner browser-environment shim, layered on top of Deno's +// bootstrap. Placeholders __ET_HTTP_BASE__ and __ET_WS_URL__ are +// substituted by `shim_js()` in `runtime.rs` (plain literal replacement, +// nothing fancy) before the script is executed. + +globalThis.__ET_WS_URL = "__ET_WS_URL__"; +globalThis.__ET_HTTP_BASE = "__ET_HTTP_BASE__"; + +// Browser-only Symbol.hasInstance trick: wasm-bindgen's +// `globalThis instanceof Window` check. +if (typeof globalThis.Window === "undefined") { + globalThis.Window = class Window { + static [Symbol.hasInstance](instance) { + return instance === globalThis || instance === globalThis.window; + } + }; +} + +// `self` / `window` aliases (Deno provides `self`; alias `window`). +globalThis.window = globalThis; + +// NOTE: `location` is already populated via `BootstrapOptions.location = +// http_base`, and deno_web's location is read-only -- assignments throw +// `NotSupportedError: Cannot set "location"`. Don't override here. + +// `navigator.userAgent`. Deno already provides `navigator`, just add a +// useful UA string if it's missing. +if (typeof globalThis.navigator === "object" && !globalThis.navigator.userAgent) { + try { + Object.defineProperty(globalThis.navigator, "userAgent", { + value: "et-ws-web-runner/deno", + configurable: true, + }); + } catch (_) { /* navigator is read-only in some setups, ignore */ } +} + +// `document` stub -- enough for wasm-bindgen modules that probe DOM +// without actually touching it. dart2js's bootstrap takes the fast +// path if `document.currentScript` is defined (even null), bypassing +// the `document.scripts` load-event dance that needs real script tags. +if (typeof globalThis.document === "undefined") { + const noop = () => {}; + class StubElement { + constructor(tag) { + this.tagName = (tag || "DIV").toUpperCase(); + this.children = []; + this.style = {}; + this.classList = { + add: noop, + remove: noop, + toggle: noop, + contains: () => false, + }; + this.textContent = ""; + this.innerHTML = ""; + this.value = ""; + this.hidden = false; + this.src = ""; + this.id = ""; + this.className = ""; + this.type = ""; + this.onload = null; + this.onerror = null; + } + appendChild(child) { + this.children.push(child); + // A `