diff --git a/.github/workflows/checks.apicheck.yml b/.github/workflows/checks.apicheck.yml index 0c5f0b3402..f0714c4b35 100644 --- a/.github/workflows/checks.apicheck.yml +++ b/.github/workflows/checks.apicheck.yml @@ -88,7 +88,7 @@ jobs: fetch-depth: 0 persist-credentials: false - name: "Setup: Node" - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 with: node-version: 22 - name: "Setup: Bun" diff --git a/.github/workflows/checks.clippy.yml b/.github/workflows/checks.clippy.yml index 1089c20b4e..dbd23b2047 100644 --- a/.github/workflows/checks.clippy.yml +++ b/.github/workflows/checks.clippy.yml @@ -53,6 +53,6 @@ jobs: run: | cargo clippy --all-targets --all-features --message-format=json | clippy-sarif | tee results.sarif | sarif-fmt - name: "Report: SARIF Upload" - uses: github/codeql-action/upload-sarif@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6 + uses: github/codeql-action/upload-sarif@17a820bf2e43b47be2c72b39cc905417bc1ab6d0 # v3.28.6 with: sarif_file: results.sarif diff --git a/.github/workflows/checks.codeql.yml b/.github/workflows/checks.codeql.yml index 487569a2f7..a7733b41f7 100644 --- a/.github/workflows/checks.codeql.yml +++ b/.github/workflows/checks.codeql.yml @@ -101,7 +101,7 @@ jobs: java-version: "23" github-token: ${{ secrets.GITHUB_TOKEN }} - name: "Setup: Initialize CodeQL" - uses: github/codeql-action/init@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6 + uses: github/codeql-action/init@17a820bf2e43b47be2c72b39cc905417bc1ab6d0 # v3.28.6 with: config-file: ./.github/codeql/codeql-config.yml languages: ${{ matrix.language }} @@ -126,5 +126,5 @@ jobs: -x nativeCompile -x nativeOptimizedCompile - name: "Analysis: CodeQL" - uses: github/codeql-action/analyze@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6 + uses: github/codeql-action/analyze@17a820bf2e43b47be2c72b39cc905417bc1ab6d0 # v3.28.6 continue-on-error: true diff --git a/.github/workflows/checks.dependency-review.yml b/.github/workflows/checks.dependency-review.yml index 4cf8fcfee0..8f9310116d 100644 --- a/.github/workflows/checks.dependency-review.yml +++ b/.github/workflows/checks.dependency-review.yml @@ -41,7 +41,7 @@ jobs: fetch-depth: 0 persist-credentials: false - name: "Check: Dependency Review" - uses: actions/dependency-review-action@5a2ce3f5b92ee19cbb1541a4984c76d921601d7c # v4.3.4 + uses: actions/dependency-review-action@3b139cfc5fae8b618d3eae3675e383bb1769c019 # v4.5.0 continue-on-error: true if: github.event_name == 'pull_request' with: diff --git a/.github/workflows/checks.detekt.yml b/.github/workflows/checks.detekt.yml index ac3c1b534a..96f4f7a297 100644 --- a/.github/workflows/checks.detekt.yml +++ b/.github/workflows/checks.detekt.yml @@ -99,6 +99,6 @@ jobs: -x nativeCompile \ -x nativeOptimizedCompile - name: "Report: SARIF Upload" - uses: github/codeql-action/upload-sarif@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6 + uses: github/codeql-action/upload-sarif@17a820bf2e43b47be2c72b39cc905417bc1ab6d0 # v3.28.6 with: sarif_file: build/reports/detekt/detekt.sarif diff --git a/.github/workflows/checks.formatting.yml b/.github/workflows/checks.formatting.yml index de7b8c8180..42686bf9b6 100644 --- a/.github/workflows/checks.formatting.yml +++ b/.github/workflows/checks.formatting.yml @@ -84,7 +84,7 @@ jobs: fetch-depth: 0 persist-credentials: false - name: "Setup: Node" - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 with: node-version: 22 - name: "Setup: Bun" diff --git a/.github/workflows/checks.qodana.yml b/.github/workflows/checks.qodana.yml index 6b3f7595f4..b0e683d1c2 100644 --- a/.github/workflows/checks.qodana.yml +++ b/.github/workflows/checks.qodana.yml @@ -92,6 +92,6 @@ jobs: with: args: --baseline,qodana.sarif.json - name: "Report: SARIF Upload" - uses: github/codeql-action/upload-sarif@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6 + uses: github/codeql-action/upload-sarif@17a820bf2e43b47be2c72b39cc905417bc1ab6d0 # v3.28.6 with: sarif_file: ${{ runner.temp }}/qodana/results/qodana.sarif.json diff --git a/.github/workflows/checks.scorecards.yml b/.github/workflows/checks.scorecards.yml index 559b7e8462..1ae7a69968 100644 --- a/.github/workflows/checks.scorecards.yml +++ b/.github/workflows/checks.scorecards.yml @@ -64,13 +64,13 @@ jobs: # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF # format to the repository Actions tab. - name: "Artifact: Scorecard Analysis" - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 with: name: SARIF file path: results.sarif retention-days: 5 # Upload the results to GitHub's code scanning dashboard. - name: "Artifact: Scorecard SARIF" - uses: github/codeql-action/upload-sarif@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6 + uses: github/codeql-action/upload-sarif@17a820bf2e43b47be2c72b39cc905417bc1ab6d0 # v3.28.6 with: sarif_file: results.sarif diff --git a/.github/workflows/job.bench.yml b/.github/workflows/job.bench.yml index 39d873bb82..2c94670cf2 100644 --- a/.github/workflows/job.bench.yml +++ b/.github/workflows/job.bench.yml @@ -89,7 +89,7 @@ jobs: distribution: ${{ matrix.engine }} java-version: ${{ matrix.java }} - name: "Setup: Node" - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 with: node-version: 22 - name: "Setup: Yarn" diff --git a/.github/workflows/job.build.yml b/.github/workflows/job.build.yml index a6617c0657..5ad5f3d4ef 100644 --- a/.github/workflows/job.build.yml +++ b/.github/workflows/job.build.yml @@ -264,7 +264,7 @@ jobs: if: false # temporarily disabled uses: buildless/setup@30e82389418c7f17046606183bc4c78b2c8913e0 # v1.0.2 - name: "Setup: Node" - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 with: node-version: 22 - name: "Setup: Bun" @@ -351,7 +351,7 @@ jobs: -PbuildSamples=false \ -PbuildDocs=false - name: "Artifact: Build Outputs" - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 with: name: elide-framework path: | diff --git a/.github/workflows/job.cli.yml b/.github/workflows/job.cli.yml index bd626bf65d..88e2b643a8 100644 --- a/.github/workflows/job.cli.yml +++ b/.github/workflows/job.cli.yml @@ -202,7 +202,7 @@ jobs: - recursive: true args: [--frozen-lockfile, --strict-peer-dependencies] - name: "Setup: Node" - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 with: node-version: 22 cache: "pnpm" @@ -245,21 +245,21 @@ jobs: popd; echo "Binary compressed."; - name: "Artifacts: Debug Binary (Unix)" - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 if: success() && !contains(matrix.runner, 'windows') with: name: cli-debug-${{ matrix.tag }} path: | ./packages/cli/build/native/nativeCompile/elide.debug.xz - name: "Artifacts: Debug Binary (Windows)" - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 if: success() && contains(matrix.runner, 'windows') with: name: cli-debug-${{ matrix.tag }} path: | ./packages/cli/build/native/nativeCompile/elide.debug - name: "Artifacts: Dashboard Dump" - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 if: success() with: name: cli-debug-report-${{ matrix.tag }} @@ -341,7 +341,7 @@ jobs: java-version: "23" github-token: ${{ secrets.GITHUB_TOKEN }} - name: "Setup: Node" - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 with: node-version: 22 - name: "Setup: Bun" @@ -390,7 +390,7 @@ jobs: -Pversion=${{ inputs.version }} \ -Pelide.version=${{ inputs.version }} - name: "Artifacts: Release Binary (Posix)" - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 if: success() && contains(matrix.runner, 'windows') != true with: name: cli-release-${{ matrix.tag }} @@ -400,7 +400,7 @@ jobs: ./packages/cli/build/nativeOptimizedCompile/elide-${{ inputs.version }}-${{ matrix.tag }}.*.tgz ./packages/cli/build/nativeOptimizedCompile/elide-${{ inputs.version }}-${{ matrix.tag }}.*.txz - name: "Artifacts: Release Binary (Windows)" - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 if: success() && contains(matrix.runner, 'windows') with: name: cli-release-${{ matrix.tag }} diff --git a/.github/workflows/job.containers.yml b/.github/workflows/job.containers.yml index 4d2ae23eac..7e71e00bee 100644 --- a/.github/workflows/job.containers.yml +++ b/.github/workflows/job.containers.yml @@ -196,14 +196,14 @@ jobs: java-version: "23" github-token: ${{ secrets.GITHUB_TOKEN }} - name: "Setup: QEMU" - uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0 + uses: docker/setup-qemu-action@53851d14592bedcffcf25ea515637cff71ef929a # v3.3.0 - name: "Setup: Docker" uses: docker/setup-buildx-action@6524bf65af31da8d45b59e8c27de4bd072b392f5 # v3.8.0 id: buildx with: install: true - name: "Setup: Node" - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 with: node-version: 22 - name: "Setup: PNPM" @@ -308,14 +308,14 @@ jobs: java-version: "23" github-token: ${{ secrets.GITHUB_TOKEN }} - name: "Setup: QEMU" - uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0 + uses: docker/setup-qemu-action@53851d14592bedcffcf25ea515637cff71ef929a # v3.3.0 - name: "Setup: Docker" uses: docker/setup-buildx-action@6524bf65af31da8d45b59e8c27de4bd072b392f5 # v3.8.0 id: buildx with: install: true - name: "Setup: Node" - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 with: node-version: 22 - name: "Setup: PNPM" diff --git a/.github/workflows/job.site.yml b/.github/workflows/job.site.yml index a19a22b622..9af41d3477 100644 --- a/.github/workflows/job.site.yml +++ b/.github/workflows/job.site.yml @@ -49,7 +49,7 @@ jobs: fetch-depth: 0 persist-credentials: false - name: "Setup: QEMU" - uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0 + uses: docker/setup-qemu-action@53851d14592bedcffcf25ea515637cff71ef929a # v3.3.0 - name: "Setup: Docker Buildx" uses: docker/setup-buildx-action@6524bf65af31da8d45b59e8c27de4bd072b392f5 # v3.8.0 - name: "Setup: GraalVM" @@ -81,7 +81,7 @@ jobs: username: elidebot password: ${{ secrets.BUILDBOT_GHCR_TOKEN }} - name: "Setup: Node" - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 with: node-version: 22 - name: "Setup: Yarn" @@ -119,12 +119,12 @@ jobs: run: | tar -czf site.tar.gz build/site - name: "Upload: Manifest" - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 with: name: site-tarball-phase1 path: ./site.tar.gz - name: "Upload: Site" - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 with: name: site-manifest path: ./site/docs/app/build/generated/ksp/main/resources/elide/runtime/generated/app.manifest.pb @@ -167,7 +167,7 @@ jobs: - name: "Setup: Checkout" uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: "Setup: QEMU" - uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0 + uses: docker/setup-qemu-action@53851d14592bedcffcf25ea515637cff71ef929a # v3.3.0 - name: "Setup: Docker Buildx" uses: docker/setup-buildx-action@6524bf65af31da8d45b59e8c27de4bd072b392f5 # v3.8.0 - name: "Setup: GraalVM" @@ -200,7 +200,7 @@ jobs: username: elidebot password: ${{ secrets.BUILDBOT_GHCR_TOKEN }} - name: "Setup: Node" - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 with: node-version: 22 - name: "Setup: Yarn" @@ -247,7 +247,7 @@ jobs: rm -fv site.tar.gz; tar -czf site.tar.gz build/site; - name: "Upload: Site Tarball" - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 with: name: site-tarball-phase2 path: ./site.tar.gz diff --git a/.github/workflows/job.test.yml b/.github/workflows/job.test.yml index d69c1f83b3..df5525eaee 100644 --- a/.github/workflows/job.test.yml +++ b/.github/workflows/job.test.yml @@ -269,7 +269,7 @@ jobs: if: false uses: buildless/setup@30e82389418c7f17046606183bc4c78b2c8913e0 # v1.0.2 - name: "Setup: Node" - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 with: node-version: 22 - name: "Setup: Bun" @@ -367,7 +367,7 @@ jobs: -Pelide.ci=true \ -PbuildDocs=false - name: "Artifact: Reports" - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 with: name: test-reports-jvm path: | @@ -535,7 +535,7 @@ jobs: if: false uses: buildless/setup@30e82389418c7f17046606183bc4c78b2c8913e0 # v1.0.2 - name: "Setup: Node" - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 with: node-version: 22 - name: "Setup: PNPM" @@ -604,7 +604,7 @@ jobs: -Pelide.ci=true \ -PbuildDocs=false - name: "Artifact: Reports" - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 with: name: test-reports-native path: | diff --git a/.github/workflows/on.scheduled.yml b/.github/workflows/on.scheduled.yml index f63834d525..4efc65d887 100644 --- a/.github/workflows/on.scheduled.yml +++ b/.github/workflows/on.scheduled.yml @@ -171,7 +171,7 @@ jobs: if: false # temporarily disabled uses: buildless/setup@30e82389418c7f17046606183bc4c78b2c8913e0 # v1.0.2 - name: "Setup: Node" - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 with: node-version: 22 - name: "Setup: PNPM" diff --git a/Cargo.lock b/Cargo.lock index 66ed37fc55..596e972197 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -24,6 +24,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", + "getrandom 0.2.15", "once_cell", "version_check", "zerocopy 0.7.35", @@ -38,21 +39,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "alloc-no-stdlib" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" - -[[package]] -name = "alloc-stdlib" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" -dependencies = [ - "alloc-no-stdlib", -] - [[package]] name = "allocator-api2" version = "0.2.21" @@ -81,7 +67,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccaf7e9dfbb6ab22c82e473cd1a8a7bd313c19a5b7e40970f3d89ef5a5c9e81e" dependencies = [ "unicode-width 0.1.14", - "yansi-term", ] [[package]] @@ -140,6 +125,12 @@ version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" +[[package]] +name = "append-only-vec" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7992085ec035cfe96992dd31bfd495a2ebd31969bb95f624471cb6c0b349e571" + [[package]] name = "arbitrary" version = "1.4.1" @@ -149,13 +140,25 @@ dependencies = [ "derive_arbitrary", ] +[[package]] +name = "arc-swap" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" + +[[package]] +name = "arcstr" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03918c3dbd7701a85c6b9887732e2921175f26c350b4563841d0958c21d57e6d" + [[package]] name = "argfile" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0a1cc0ba69de57db40674c66f7cf2caee3981ddef084388482c95c0e2133e5e8" dependencies = [ - "fs-err", + "fs-err 2.11.0", "os_str_bytes 7.0.0", ] @@ -199,7 +202,6 @@ version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df895a515f70646414f4b45c0b79082783b80552b373a68283012928df56f522" dependencies = [ - "brotli", "bzip2", "flate2", "futures-core", @@ -207,6 +209,7 @@ dependencies = [ "memchr", "pin-project-lite", "tokio", + "xz2", "zstd", "zstd-safe", ] @@ -323,7 +326,7 @@ dependencies = [ "futures-core", "futures-io", "futures-lite", - "gloo-timers", + "gloo-timers 0.2.6", "kv-log-macro", "log", "memchr", @@ -389,15 +392,15 @@ dependencies = [ [[package]] name = "async_http_range_reader" -version = "0.8.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1a0e0571c5d724d17fbe0b608d31a91e94938722c141877d3a2982216b084c2" +checksum = "2b537c00269e3f943e06f5d7cabf8ccd281b800fd0c7f111dd82f77154334197" dependencies = [ "bisection", "futures 0.3.31", "http-content-range", - "itertools 0.12.1", - "memmap2", + "itertools 0.13.0", + "memmap2 0.9.5", "reqwest", "reqwest-middleware", "thiserror 1.0.69", @@ -410,7 +413,7 @@ dependencies = [ [[package]] name = "async_zip" version = "0.0.17" -source = "git+https://github.com/charliermarsh/rs-async-zip?rev=1dcb40cfe1bf5325a6fd4bfcf9894db40241f585#1dcb40cfe1bf5325a6fd4bfcf9894db40241f585" +source = "git+https://github.com/charliermarsh/rs-async-zip?rev=c909fda63fcafe4af496a07bfda28a5aae97e58d#c909fda63fcafe4af496a07bfda28a5aae97e58d" dependencies = [ "async-compression", "crc32fast", @@ -456,7 +459,7 @@ dependencies = [ "rustversion", "serde", "sync_wrapper 0.1.2", - "tower", + "tower 0.4.13", "tower-layer", "tower-service", ] @@ -478,29 +481,14 @@ dependencies = [ "tower-service", ] -[[package]] -name = "backoff" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" -dependencies = [ - "futures-core", - "getrandom", - "instant", - "pin-project-lite", - "rand", - "tokio", -] - [[package]] name = "backon" -version = "0.4.4" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d67782c3f868daa71d3533538e98a8e13713231969def7536e8039606fc46bf0" +checksum = "ba5289ec98f68f28dd809fd601059e6aa908bb8f6108620930828283d4ee23d7" dependencies = [ "fastrand", - "futures-core", - "pin-project", + "gloo-timers 0.3.0", "tokio", ] @@ -577,41 +565,38 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.69.5" +version = "0.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" +checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" dependencies = [ "bitflags 2.8.0", "cexpr", "clang-sys", - "itertools 0.12.1", - "lazy_static", - "lazycell", - "log", - "prettyplease", + "itertools 0.13.0", "proc-macro2", "quote", "regex", "rustc-hash 1.1.0", "shlex", "syn 2.0.96", - "which 4.4.2", ] [[package]] name = "bindgen" -version = "0.70.1" +version = "0.71.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" +checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" dependencies = [ "bitflags 2.8.0", "cexpr", "clang-sys", "itertools 0.13.0", + "log", + "prettyplease", "proc-macro2", "quote", "regex", - "rustc-hash 1.1.0", + "rustc-hash 2.1.0", "shlex", "syn 2.0.96", ] @@ -952,18 +937,6 @@ version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" -[[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 = "block-buffer" version = "0.10.4" @@ -1013,6 +986,12 @@ dependencies = [ "fslock", ] +[[package]] +name = "boxcar" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2721c3c5a6f0e7f7e607125d963fedeb765f545f67adc9d71ed934693881eb42" + [[package]] name = "bpaf" version = "0.9.16" @@ -1033,27 +1012,6 @@ dependencies = [ "syn 2.0.96", ] -[[package]] -name = "brotli" -version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor", -] - -[[package]] -name = "brotli-decompressor" -version = "4.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74fa05ad7d803d413eb8380983b092cbbaf9a85f151b871360e7b00cd7060b37" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", -] - [[package]] name = "bstr" version = "1.11.3" @@ -1076,7 +1034,7 @@ name = "builder" version = "1.0.0-alpha11-SNAPSHOT" dependencies = [ "base", - "bindgen 0.69.5", + "bindgen 0.71.1", "cc", "model", ] @@ -1092,24 +1050,25 @@ dependencies = [ [[package]] name = "bytecheck" -version = "0.6.12" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2" +checksum = "50c8f430744b23b54ad15161fcbc22d82a29b73eacbe425fea23ec822600bc6f" dependencies = [ "bytecheck_derive", "ptr_meta", + "rancor", "simdutf8", ] [[package]] name = "bytecheck_derive" -version = "0.6.12" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" +checksum = "523363cbe1df49b68215efdf500b103ac3b0fb4836aed6d15689a076eadb8fff" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.96", ] [[package]] @@ -1163,16 +1122,17 @@ dependencies = [ [[package]] name = "cacache" -version = "13.0.0" -source = "git+https://github.com/elide-tools/cacache-rs?rev=93f2020d6ccb119b09b01e10f4ad98f6586cb79c#93f2020d6ccb119b09b01e10f4ad98f6586cb79c" +version = "13.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5063741c7b2e260bbede781cf4679632dd90e2718e99f7715e46824b65670b" dependencies = [ "digest", "either", "futures 0.3.31", "hex", "libc", - "memmap2", - "miette 7.2.0", + "memmap2 0.5.10", + "miette 5.10.0", "reflink-copy", "serde", "serde_derive", @@ -1187,16 +1147,6 @@ dependencies = [ "walkdir", ] -[[package]] -name = "cache-key" -version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" -dependencies = [ - "hex", - "seahash", - "url", -] - [[package]] name = "cachedir" version = "0.3.1" @@ -1207,21 +1157,12 @@ dependencies = [ ] [[package]] -name = "capnp" -version = "0.19.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e985a566bdaae9a428a957d12b10c318d41b2afddb54cfbb764878059df636e" -dependencies = [ - "embedded-io", -] - -[[package]] -name = "capnpc" -version = "0.19.0" +name = "camino" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c75ba30e0f08582d53c2f3710cf4bb65ff562614b1ba86906d7391adffe189ec" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" dependencies = [ - "capnp", + "serde", ] [[package]] @@ -1288,12 +1229,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "cfg_aliases" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" - [[package]] name = "cfg_aliases" version = "0.2.1" @@ -1327,7 +1262,6 @@ dependencies = [ "iana-time-zone", "js-sys", "num-traits", - "serde", "wasm-bindgen", "windows-targets 0.52.6", ] @@ -1370,7 +1304,6 @@ checksum = "1b26884eb4b57140e4d2d93652abfa49498b938b3c9179f9fc487b0acc3edad7" dependencies = [ "anstream", "anstyle", - "backtrace", "clap_lex", "strsim", "terminal_size 0.4.1", @@ -1378,40 +1311,29 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.42" +version = "4.5.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33a7e468e750fa4b6be660e8b5651ad47372e8fb114030b594c2d75d48c5ffd0" +checksum = "0952013545c9c6dca60f491602655b795c6c062ab180c9cb0bccb83135461861" dependencies = [ "clap", ] [[package]] name = "clap_complete_command" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "183495371ea78d4c9ff638bfc6497d46fed2396e4f9c50aebc1278a4a9919a3d" +checksum = "da8e198c052315686d36371e8a3c5778b7852fc75cc313e4e11eeb7a644a1b62" dependencies = [ "clap", "clap_complete", - "clap_complete_fig", "clap_complete_nushell", ] -[[package]] -name = "clap_complete_fig" -version = "4.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d494102c8ff3951810c72baf96910b980fb065ca5d3101243e6a8dc19747c86b" -dependencies = [ - "clap", - "clap_complete", -] - [[package]] name = "clap_complete_nushell" -version = "0.1.11" +version = "4.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d02bc8b1a18ee47c4d2eec3fb5ac034dc68ebea6125b1509e9ccdffcddce66e" +checksum = "c6a8b1593457dfc2fe539002b795710d022dc62a65bf15023f039f9760c7b18a" dependencies = [ "clap", "clap_complete", @@ -1437,22 +1359,22 @@ checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "clearscreen" -version = "3.0.0" +version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f8c93eb5f77c9050c7750e14f13ef1033a40a0aac70c6371535b6763a01438c" +checksum = "8c41dc435a7b98e4608224bbf65282309f5403719df9113621b30f8b6f74e2f4" dependencies = [ - "nix 0.28.0", + "nix", "terminfo", - "thiserror 1.0.69", - "which 6.0.3", - "winapi", + "thiserror 2.0.11", + "which", + "windows-sys 0.59.0", ] [[package]] name = "cmake" -version = "0.1.52" +version = "0.1.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c682c223677e0e5b6b7f63a64b9351844c3f1b1678a68b7ee617e30fb082620e" +checksum = "e24a03c8b52922d68a1589ad61032f2c1aa5a8158d2aa0d93c6e9534944bbad6" dependencies = [ "cc", ] @@ -1465,11 +1387,10 @@ checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" [[package]] name = "colored" -version = "2.2.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" +checksum = "fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e" dependencies = [ - "lazy_static", "windows-sys 0.59.0", ] @@ -1496,6 +1417,21 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "compact_str" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b79c4069c6cad78e2e0cdfcbd26275770669fb39fd308a752dc110e83b9af32" +dependencies = [ + "castaway", + "cfg-if", + "itoa", + "rustversion", + "ryu", + "serde", + "static_assertions", +] + [[package]] name = "concurrent-queue" version = "2.5.0" @@ -1507,13 +1443,13 @@ dependencies = [ [[package]] name = "config" -version = "0.14.1" +version = "0.15.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68578f196d2a33ff61b27fae256c3164f65e36382648e30666dde05b8cc9dfdf" +checksum = "e329294a796e9b22329669c1f433a746983f9e324e07f4ef135be81bb2262de4" dependencies = [ - "nom", "pathdiff", "serde", + "winnow", ] [[package]] @@ -1689,6 +1625,19 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26bb92ecea20291efcf0009e2713d64b7e327dedb8ce780545250f24075429e2" +[[package]] +name = "crossbeam" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" +dependencies = [ + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-epoch", + "crossbeam-queue", + "crossbeam-utils", +] + [[package]] name = "crossbeam-channel" version = "0.5.14" @@ -1717,6 +1666,15 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "crossbeam-queue" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "crossbeam-utils" version = "0.8.21" @@ -1760,7 +1718,7 @@ version = "3.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3" dependencies = [ - "nix 0.29.0", + "nix", "windows-sys 0.59.0", ] @@ -1832,16 +1790,6 @@ version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e60eed09d8c01d3cee5b7d30acb059b76614c918fa0f992e0dd6eeb10daad6f" -[[package]] -name = "debugid" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d" -dependencies = [ - "serde", - "uuid", -] - [[package]] name = "deps" version = "1.0.0-alpha11-SNAPSHOT" @@ -1852,7 +1800,7 @@ dependencies = [ "purl", "semver", "serde", - "toml 0.8.19", + "toml", "toml_edit", "typeshare", ] @@ -1866,17 +1814,6 @@ dependencies = [ "powerfmt", ] -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "derive_arbitrary" version = "1.4.1" @@ -1942,20 +1879,11 @@ dependencies = [ [[package]] name = "directories" -version = "5.0.1" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35" +checksum = "16f5094c54661b38d03bd7e50df373292118db60b585c08a411c6d840017fe7d" dependencies = [ - "dirs-sys 0.4.1", -] - -[[package]] -name = "dirs" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" -dependencies = [ - "dirs-sys 0.3.7", + "dirs-sys 0.5.0", ] [[package]] @@ -1969,25 +1897,26 @@ dependencies = [ [[package]] name = "dirs-sys" -version = "0.3.7" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" dependencies = [ "libc", - "redox_users", - "winapi", + "option-ext", + "redox_users 0.4.6", + "windows-sys 0.48.0", ] [[package]] name = "dirs-sys" -version = "0.4.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" dependencies = [ "libc", "option-ext", - "redox_users", - "windows-sys 0.48.0", + "redox_users 0.5.0", + "windows-sys 0.59.0", ] [[package]] @@ -2002,46 +1931,10 @@ dependencies = [ ] [[package]] -name = "distribution-filename" -version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" -dependencies = [ - "pep440_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "platform-tags", - "rkyv", - "serde", - "thiserror 1.0.69", - "url", - "uv-normalize 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", -] - -[[package]] -name = "distribution-types" -version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" -dependencies = [ - "anyhow", - "cache-key", - "distribution-filename", - "fs-err", - "itertools 0.13.0", - "once_cell", - "pep440_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "pep508_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "platform-tags", - "pypi-types", - "rkyv", - "schemars", - "serde", - "serde_json", - "thiserror 1.0.69", - "tracing", - "url", - "urlencoding", - "uv-fs 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "uv-git", - "uv-normalize 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", -] +name = "dotenvy" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" [[package]] name = "drop_bomb" @@ -2069,23 +1962,18 @@ checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "embed-resource" -version = "1.8.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e62abb876c07e4754fae5c14cafa77937841f01740637e17d78dc04352f32a5e" +checksum = "4762ce03154ba57ebaeee60cc631901ceae4f18219cbb874e464347471594742" dependencies = [ "cc", + "memchr", "rustc_version", - "toml 0.5.11", + "toml", "vswhom", - "winreg 0.10.1", + "winreg 0.52.0", ] -[[package]] -name = "embedded-io" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" - [[package]] name = "encode_unicode" version = "1.0.0" @@ -2134,12 +2022,28 @@ dependencies = [ "syn 2.0.96", ] +[[package]] +name = "env_home" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7f84e12ccf0a7ddc17a6c41c93326024c42920d7ee630d04950e6926645c0fe" + [[package]] name = "equivalent" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +[[package]] +name = "erased-serde" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24e2389d65ab4fab27dc2a5de7b191e1f6617d1f1c8855c0dc569c94a4cbb18d" +dependencies = [ + "serde", + "typeid", +] + [[package]] name = "errno" version = "0.3.10" @@ -2190,9 +2094,9 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "fern" -version = "0.6.2" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9f0c14694cbd524c8720dd69b0e3179344f04ebb5f90f2e4a440c6ea3b2f1ee" +checksum = "4316185f709b23713e41e3195f90edef7fb00c3ed4adc79769cf09cc762a3b29" dependencies = [ "log", ] @@ -2210,22 +2114,16 @@ dependencies = [ ] [[package]] -name = "findshlibs" -version = "0.10.2" +name = "fixedbitset" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40b9e59cd0f7e0806cca4be089683ecb6434e602038df21fe6bf6711b2f07f64" -dependencies = [ - "cc", - "lazy_static", - "libc", - "winapi", -] +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "fixedbitset" -version = "0.4.2" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" [[package]] name = "flate2" @@ -2235,15 +2133,31 @@ checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" dependencies = [ "crc32fast", "libz-ng-sys", + "libz-rs-sys", "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.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" + [[package]] name = "foreign-types" version = "0.3.2" @@ -2302,12 +2216,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" dependencies = [ "autocfg", - "tokio", ] [[package]] -name = "fs2" -version = "0.4.3" +name = "fs-err" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f89bda4c2a21204059a977ed3bfe746677dfd137b83c339e702b0ac91d482aa" +dependencies = [ + "autocfg", + "tokio", +] + +[[package]] +name = "fs2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" dependencies = [ @@ -2340,12 +2263,6 @@ dependencies = [ "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.1.31" @@ -2484,10 +2401,22 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "wasm-bindgen", ] +[[package]] +name = "getrandom" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.13.3+wasi-0.2.2", + "windows-targets 0.52.6", +] + [[package]] name = "gimli" version = "0.31.1" @@ -2513,6 +2442,17 @@ dependencies = [ "regex-syntax 0.8.5", ] +[[package]] +name = "globwalk" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf760ebf69878d9fd8f110c89703d90ce35095324d1f1edcb595c63945ee757" +dependencies = [ + "bitflags 2.8.0", + "ignore", + "walkdir", +] + [[package]] name = "gloo-timers" version = "0.2.6" @@ -2525,6 +2465,29 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "gloo-timers" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "goblin" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daa0a64d21a7eb230583b4c5f4e23b7e4e57974f96620f42a7e75e08ae66d745" +dependencies = [ + "log", + "plain", + "scroll", +] + [[package]] name = "h2" version = "0.3.26" @@ -2544,6 +2507,35 @@ dependencies = [ "tracing", ] +[[package]] +name = "h2" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" +dependencies = [ + "atomic-waker", + "bytes 1.9.0", + "fnv", + "futures-core", + "futures-sink", + "http 1.2.0", + "indexmap 2.7.1", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[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 = "hashbrown" version = "0.12.3" @@ -2565,6 +2557,20 @@ name = "hashbrown" version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + +[[package]] +name = "hashlink" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" +dependencies = [ + "hashbrown 0.14.5", +] [[package]] name = "hdrhistogram" @@ -2606,17 +2612,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "hostname" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9c7c7c8ac16c798734b8a24560c1362120597c40d5e1459f09498f8f6c8f2ba" -dependencies = [ - "cfg-if", - "libc", - "windows 0.52.0", -] - [[package]] name = "html-escape" version = "0.2.13" @@ -2684,9 +2679,9 @@ dependencies = [ [[package]] name = "http-cache" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6ffb12b95bb2a369fe47ca8924016c72c2fa0e6059ba98bd1516f558696c5a8" +checksum = "33b65cd1687caf2c7fff496741a2f264c26f54e6d6cec03dac8f276fa4e5430e" dependencies = [ "async-trait", "bincode", @@ -2700,9 +2695,9 @@ dependencies = [ [[package]] name = "http-cache-reqwest" -version = "0.14.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be3e27c4e2e510571cbcc601407b639667146aa9a4e818d5cc1d97c8b4b27d61" +checksum = "735586904a5ce0c13877c57cb4eb8195eb7c11ec1ffd64d4db053fb8559ca62e" dependencies = [ "anyhow", "async-trait", @@ -2729,9 +2724,9 @@ dependencies = [ [[package]] name = "http-content-range" -version = "0.1.4" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa7929c876417cd3ece616950474c7dff5b0150a2b53bd7e7fda55afa086c22b" +checksum = "b4aa8e0a9f1496d70bdd43b1e30ff373857c952609ad64b89f50569cfb8cbfca" [[package]] name = "http-serde" @@ -2777,7 +2772,7 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2", + "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", "httparse", @@ -2800,6 +2795,7 @@ dependencies = [ "bytes 1.9.0", "futures-channel", "futures-util", + "h2 0.4.7", "http 1.2.0", "http-body 1.0.1", "httparse", @@ -2821,7 +2817,7 @@ dependencies = [ "hyper 1.5.2", "hyper-util", "rustls", - "rustls-native-certs 0.8.1", + "rustls-native-certs", "rustls-pki-types", "tokio", "tokio-rustls", @@ -3114,11 +3110,11 @@ checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" [[package]] name = "inotify" -version = "0.9.6" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" +checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.8.0", "inotify-sys", "libc", ] @@ -3132,40 +3128,6 @@ dependencies = [ "libc", ] -[[package]] -name = "install-wheel-rs" -version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" -dependencies = [ - "clap", - "configparser", - "csv", - "data-encoding", - "distribution-filename", - "fs-err", - "mailparse", - "once_cell", - "pathdiff", - "pep440_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "platform-info", - "platform-tags", - "pypi-types", - "reflink-copy", - "regex", - "rustc-hash 2.1.0", - "schemars", - "serde", - "serde_json", - "sha2", - "tempfile", - "thiserror 1.0.69", - "tracing", - "uv-fs 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "uv-normalize 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "walkdir", - "zip", -] - [[package]] name = "instant" version = "0.1.13" @@ -3271,6 +3233,15 @@ 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.14" @@ -3296,6 +3267,35 @@ dependencies = [ "syn 2.0.96", ] +[[package]] +name = "jiff" +version = "0.1.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c607c728e28764fecde611a2764a3a5db19ae21dcec46f292244f5cc5c085a81" +dependencies = [ + "jiff-tzdb-platform", + "log", + "portable-atomic", + "portable-atomic-util", + "serde", + "windows-sys 0.59.0", +] + +[[package]] +name = "jiff-tzdb" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf2cec2f5d266af45a071ece48b1fb89f3b00b2421ac3a5fe10285a6caaa60d3" + +[[package]] +name = "jiff-tzdb-platform" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a63c62e404e7b92979d2792352d885a7f8f83fd1d0d31eea582d77b2ceca697e" +dependencies = [ + "jiff-tzdb", +] + [[package]] name = "jni" version = "0.21.1" @@ -3342,6 +3342,12 @@ dependencies = [ "libc", ] +[[package]] +name = "jod-thread" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b23360e99b8717f20aaa4598f5a6541efbe30630039fbc7706cf954a87947ae" + [[package]] name = "js-sys" version = "0.3.77" @@ -3401,6 +3407,22 @@ dependencies = [ "libc", ] +[[package]] +name = "krata-tokio-tar" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8bd5fee9b96acb5fc36b401896d601e6fdcce52b0e651ce24a3b21fb524e79f" +dependencies = [ + "filetime", + "futures-core", + "libc", + "portable-atomic", + "redox_syscall 0.3.5", + "tokio", + "tokio-stream", + "xattr 1.4.0", +] + [[package]] name = "kv-log-macro" version = "1.0.7" @@ -3416,12 +3438,6 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - [[package]] name = "libabort" version = "0.1.9" @@ -3494,14 +3510,23 @@ dependencies = [ [[package]] name = "libz-ng-sys" -version = "1.1.21" +version = "1.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cee1488e961a80d172564fd6fcda11d8a4ac6672c06fe008e9213fa60520c2b" +checksum = "4436751a01da56f1277f323c80d584ffad94a3d14aecd959dd0dff75aa73a438" dependencies = [ "cmake", "libc", ] +[[package]] +name = "libz-rs-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a90e19106f1b2c93f1fa6cdeec2e56facbf2e403559c1e1c0ddcc6d46e979cdf" +dependencies = [ + "zlib-rs", +] + [[package]] name = "linux-raw-sys" version = "0.4.15" @@ -3533,6 +3558,42 @@ dependencies = [ "value-bag", ] +[[package]] +name = "lsp-server" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9462c4dc73e17f971ec1f171d44bfffb72e65a130117233388a0ebc7ec5656f9" +dependencies = [ + "crossbeam-channel", + "log", + "serde", + "serde_derive", + "serde_json", +] + +[[package]] +name = "lsp-types" +version = "0.95.1" +source = "git+https://github.com/astral-sh/lsp-types.git?rev=3512a9f#3512a9f33eadc5402cfab1b8f7340824c8ca1439" +dependencies = [ + "bitflags 1.3.2", + "serde", + "serde_json", + "serde_repr", + "url", +] + +[[package]] +name = "lzma-sys" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + [[package]] name = "mailparse" version = "0.15.0" @@ -3587,6 +3648,15 @@ version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +[[package]] +name = "memmap2" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" +dependencies = [ + "libc", +] + [[package]] name = "memmap2" version = "0.9.5" @@ -3665,6 +3735,16 @@ 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 = "minimal-lexical" version = "0.2.1" @@ -3680,18 +3760,6 @@ dependencies = [ "adler2", ] -[[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.0.3" @@ -3699,7 +3767,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ "libc", - "wasi", + "log", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", ] @@ -3729,19 +3798,39 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" +[[package]] +name = "munge" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64142d38c84badf60abf06ff9bd80ad2174306a5b11bd4706535090a30a419df" +dependencies = [ + "munge_macro", +] + +[[package]] +name = "munge_macro" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bb5c1d8184f13f7d0ccbeeca0def2f9a181bce2624302793005f5ca8aa62e5e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.96", +] + [[package]] name = "nanoid" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ffa00dec017b5b1a8b7cf5e2c008bfda1aa7e0697ac1508b491fdf2622fb4d8" dependencies = [ - "rand", + "rand 0.8.5", ] [[package]] name = "nassun" version = "0.3.35-elide" -source = "git+https://github.com/elide-dev/orogene?rev=c8dc2a63e67b0984beccfee2b2fa74990bfa9e15#c8dc2a63e67b0984beccfee2b2fa74990bfa9e15" +source = "git+https://github.com/elide-dev/orogene?rev=c62295d37d07743e9c46a66b47cfbc74cfbdf531#c62295d37d07743e9c46a66b47cfbc74cfbdf531" dependencies = [ "async-compression", "async-process", @@ -3767,6 +3856,7 @@ dependencies = [ "serde", "serde-wasm-bindgen 0.6.5", "serde_json", + "simd-json", "ssri", "tar", "tempfile", @@ -3777,7 +3867,7 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "wasm-streams", - "which 6.0.3", + "which", ] [[package]] @@ -3814,32 +3904,20 @@ dependencies = [ [[package]] name = "nix" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ "bitflags 2.8.0", "cfg-if", - "cfg_aliases 0.1.1", - "libc", -] - -[[package]] -name = "nix" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" -dependencies = [ - "bitflags 2.8.0", - "cfg-if", - "cfg_aliases 0.2.1", + "cfg_aliases", "libc", ] [[package]] name = "node-maintainer" version = "0.3.35-elide" -source = "git+https://github.com/elide-dev/orogene?rev=c8dc2a63e67b0984beccfee2b2fa74990bfa9e15#c8dc2a63e67b0984beccfee2b2fa74990bfa9e15" +source = "git+https://github.com/elide-dev/orogene?rev=c62295d37d07743e9c46a66b47cfbc74cfbdf531#c62295d37d07743e9c46a66b47cfbc74cfbdf531" dependencies = [ "async-std", "colored", @@ -3859,7 +3937,7 @@ dependencies = [ "oro-script", "oro-shim-bin", "pathdiff", - "petgraph", + "petgraph 0.7.1", "reflink-copy", "serde", "serde-wasm-bindgen 0.6.5", @@ -3901,23 +3979,29 @@ dependencies = [ [[package]] name = "notify" -version = "6.1.1" +version = "8.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" +checksum = "2fee8403b3d66ac7b26aee6e40a897d85dc5ce26f44da36b8b73e987cc52e943" dependencies = [ "bitflags 2.8.0", - "crossbeam-channel", "filetime", "fsevent-sys", "inotify", "kqueue", "libc", "log", - "mio 0.8.11", + "mio", + "notify-types", "walkdir", - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] +[[package]] +name = "notify-types" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e0826a989adedc2a244799e823aece04662b66609d96af8dff7ac6df9a8925d" + [[package]] name = "ntapi" version = "0.4.1" @@ -3995,16 +4079,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "once-map" -version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" -dependencies = [ - "dashmap 6.1.0", - "futures 0.3.31", - "tokio", -] - [[package]] name = "once_cell" version = "1.20.2" @@ -4054,6 +4128,15 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" +[[package]] +name = "openssl-src" +version = "300.4.1+3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "faa4eac4138c62414b5622d1b31c5c304f34b406b013c079c2bbc652fdd6678c" +dependencies = [ + "cc", +] + [[package]] name = "openssl-sys" version = "0.9.104" @@ -4062,6 +4145,7 @@ checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" dependencies = [ "cc", "libc", + "openssl-src", "pkg-config", "vcpkg", ] @@ -4072,10 +4156,19 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" +[[package]] +name = "ordermap" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c55fdf45a2b1e929e3656d404395767e05c98b6ebd8157eb31e370077d545160" +dependencies = [ + "indexmap 2.7.1", +] + [[package]] name = "oro-client" version = "0.3.35-elide" -source = "git+https://github.com/elide-dev/orogene?rev=c8dc2a63e67b0984beccfee2b2fa74990bfa9e15#c8dc2a63e67b0984beccfee2b2fa74990bfa9e15" +source = "git+https://github.com/elide-dev/orogene?rev=c62295d37d07743e9c46a66b47cfbc74cfbdf531#c62295d37d07743e9c46a66b47cfbc74cfbdf531" dependencies = [ "anyhow", "async-trait", @@ -4101,7 +4194,7 @@ dependencies = [ [[package]] name = "oro-common" version = "0.3.35-elide" -source = "git+https://github.com/elide-dev/orogene?rev=c8dc2a63e67b0984beccfee2b2fa74990bfa9e15#c8dc2a63e67b0984beccfee2b2fa74990bfa9e15" +source = "git+https://github.com/elide-dev/orogene?rev=c62295d37d07743e9c46a66b47cfbc74cfbdf531#c62295d37d07743e9c46a66b47cfbc74cfbdf531" dependencies = [ "derive_builder", "indexmap 2.7.1", @@ -4119,7 +4212,7 @@ dependencies = [ [[package]] name = "oro-config" version = "0.3.35-elide" -source = "git+https://github.com/elide-dev/orogene?rev=c8dc2a63e67b0984beccfee2b2fa74990bfa9e15#c8dc2a63e67b0984beccfee2b2fa74990bfa9e15" +source = "git+https://github.com/elide-dev/orogene?rev=c62295d37d07743e9c46a66b47cfbc74cfbdf531#c62295d37d07743e9c46a66b47cfbc74cfbdf531" dependencies = [ "clap", "config", @@ -4132,7 +4225,7 @@ dependencies = [ [[package]] name = "oro-npm-account" version = "0.3.35-elide" -source = "git+https://github.com/elide-dev/orogene?rev=c8dc2a63e67b0984beccfee2b2fa74990bfa9e15#c8dc2a63e67b0984beccfee2b2fa74990bfa9e15" +source = "git+https://github.com/elide-dev/orogene?rev=c62295d37d07743e9c46a66b47cfbc74cfbdf531#c62295d37d07743e9c46a66b47cfbc74cfbdf531" dependencies = [ "async-std", "base64 0.22.1", @@ -4150,7 +4243,7 @@ dependencies = [ [[package]] name = "oro-package-spec" version = "0.3.35-elide" -source = "git+https://github.com/elide-dev/orogene?rev=c8dc2a63e67b0984beccfee2b2fa74990bfa9e15#c8dc2a63e67b0984beccfee2b2fa74990bfa9e15" +source = "git+https://github.com/elide-dev/orogene?rev=c62295d37d07743e9c46a66b47cfbc74cfbdf531#c62295d37d07743e9c46a66b47cfbc74cfbdf531" dependencies = [ "bytecount", "miette 7.2.0", @@ -4164,7 +4257,7 @@ dependencies = [ [[package]] name = "oro-pretty-json" version = "0.3.35-elide" -source = "git+https://github.com/elide-dev/orogene?rev=c8dc2a63e67b0984beccfee2b2fa74990bfa9e15#c8dc2a63e67b0984beccfee2b2fa74990bfa9e15" +source = "git+https://github.com/elide-dev/orogene?rev=c62295d37d07743e9c46a66b47cfbc74cfbdf531#c62295d37d07743e9c46a66b47cfbc74cfbdf531" dependencies = [ "serde_json", ] @@ -4172,7 +4265,7 @@ dependencies = [ [[package]] name = "oro-script" version = "0.3.35-elide" -source = "git+https://github.com/elide-dev/orogene?rev=c8dc2a63e67b0984beccfee2b2fa74990bfa9e15#c8dc2a63e67b0984beccfee2b2fa74990bfa9e15" +source = "git+https://github.com/elide-dev/orogene?rev=c62295d37d07743e9c46a66b47cfbc74cfbdf531#c62295d37d07743e9c46a66b47cfbc74cfbdf531" dependencies = [ "dunce", "miette 7.2.0", @@ -4182,13 +4275,13 @@ dependencies = [ "serde_json", "thiserror 1.0.69", "tracing", - "which 6.0.3", + "which", ] [[package]] name = "oro-shim-bin" version = "0.3.35-elide" -source = "git+https://github.com/elide-dev/orogene?rev=c8dc2a63e67b0984beccfee2b2fa74990bfa9e15#c8dc2a63e67b0984beccfee2b2fa74990bfa9e15" +source = "git+https://github.com/elide-dev/orogene?rev=c62295d37d07743e9c46a66b47cfbc74cfbdf531#c62295d37d07743e9c46a66b47cfbc74cfbdf531" dependencies = [ "once_cell", "pathdiff", @@ -4198,7 +4291,7 @@ dependencies = [ [[package]] name = "orogene" version = "0.3.35-elide" -source = "git+https://github.com/elide-dev/orogene?rev=c8dc2a63e67b0984beccfee2b2fa74990bfa9e15#c8dc2a63e67b0984beccfee2b2fa74990bfa9e15" +source = "git+https://github.com/elide-dev/orogene?rev=c62295d37d07743e9c46a66b47cfbc74cfbdf531#c62295d37d07743e9c46a66b47cfbc74cfbdf531" dependencies = [ "async-std", "async-trait", @@ -4223,14 +4316,15 @@ dependencies = [ "oro-npm-account", "oro-package-spec", "oro-pretty-json", - "rand", - "sentry", + "rand 0.9.0", "serde", "serde_json", + "snmalloc-rs", "supports-unicode", "term_grid", "term_size", "thiserror 1.0.69", + "tokio", "tracing", "tracing-appender", "tracing-indicatif", @@ -4238,17 +4332,6 @@ dependencies = [ "url", ] -[[package]] -name = "os_info" -version = "3.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e6520c8cc998c5741ee68ec1dc369fc47e5f0ea5320018ecf2a1ccd6328f48b" -dependencies = [ - "log", - "serde", - "windows-sys 0.52.0", -] - [[package]] name = "os_str_bytes" version = "6.6.1" @@ -4386,7 +4469,7 @@ name = "oxc_span" version = "0.16.0" source = "git+https://github.com/elide-dev/oxc?rev=ea30aecb676e5cf4e1b24647d5198e36b39cc22b#ea30aecb676e5cf4e1b24647d5198e36b39cc22b" dependencies = [ - "compact_str", + "compact_str 0.7.1", "miette 7.2.0", ] @@ -4421,6 +4504,16 @@ dependencies = [ "parking_lot_core 0.8.6", ] +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core 0.9.10", +] + [[package]] name = "parking_lot_core" version = "0.8.6" @@ -4513,60 +4606,37 @@ checksum = "e3aeb8f54c078314c2065ee649a7241f46b9d8e418e1a9581ba0546657d7aa3a" [[package]] name = "pep440_rs" -version = "0.6.0" -source = "git+https://github.com/elide-dev/uv?rev=7c3eb5e431d1fe392f71a21b03e8b6da70f7b451#7c3eb5e431d1fe392f71a21b03e8b6da70f7b451" -dependencies = [ - "once_cell", - "rkyv", - "serde", - "unicode-width 0.1.14", - "unscanny", -] - -[[package]] -name = "pep440_rs" -version = "0.6.0" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31095ca1f396e3de32745f42b20deef7bc09077f918b085307e8eab6ddd8fb9c" dependencies = [ "once_cell", - "rkyv", "serde", - "unicode-width 0.1.14", + "unicode-width 0.2.0", "unscanny", + "version-ranges 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "pep508_rs" -version = "0.6.0" -source = "git+https://github.com/elide-dev/uv?rev=7c3eb5e431d1fe392f71a21b03e8b6da70f7b451#7c3eb5e431d1fe392f71a21b03e8b6da70f7b451" -dependencies = [ - "derivative", - "once_cell", - "pep440_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=7c3eb5e431d1fe392f71a21b03e8b6da70f7b451)", - "regex", - "serde", - "thiserror 1.0.69", - "unicode-width 0.1.14", - "url", - "uv-fs 0.0.1 (git+https://github.com/elide-dev/uv?rev=7c3eb5e431d1fe392f71a21b03e8b6da70f7b451)", - "uv-normalize 0.0.1 (git+https://github.com/elide-dev/uv?rev=7c3eb5e431d1fe392f71a21b03e8b6da70f7b451)", -] - -[[package]] -name = "pep508_rs" -version = "0.6.0" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "faee7227064121fcadcd2ff788ea26f0d8f2bd23a0574da11eca23bc935bcc05" dependencies = [ - "derivative", + "boxcar", + "indexmap 2.7.1", + "itertools 0.13.0", "once_cell", - "pep440_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "pep440_rs", "regex", + "rustc-hash 2.1.0", "serde", + "smallvec", "thiserror 1.0.69", - "unicode-width 0.1.14", + "unicode-width 0.2.0", "url", - "uv-fs 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "uv-normalize 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "urlencoding", + "version-ranges 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -4581,7 +4651,17 @@ version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ - "fixedbitset", + "fixedbitset 0.4.2", + "indexmap 2.7.1", +] + +[[package]] +name = "petgraph" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" +dependencies = [ + "fixedbitset 0.5.7", "indexmap 2.7.1", ] @@ -4612,7 +4692,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ "phf_shared", - "rand", + "rand 0.8.5", ] [[package]] @@ -4688,6 +4768,12 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" +[[package]] +name = "plain" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" + [[package]] name = "platform-info" version = "2.0.5" @@ -4698,16 +4784,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "platform-tags" -version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" -dependencies = [ - "rustc-hash 2.1.0", - "serde", - "thiserror 1.0.69", -] - [[package]] name = "polling" version = "3.7.4" @@ -4729,6 +4805,15 @@ version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" +[[package]] +name = "portable-atomic-util" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +dependencies = [ + "portable-atomic", +] + [[package]] name = "posix" version = "1.0.0-alpha11-SNAPSHOT" @@ -4807,6 +4892,29 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "procfs" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc5b72d8145275d844d4b5f6d4e1eef00c8cd889edb6035c21675d1bb1f45c9f" +dependencies = [ + "bitflags 2.8.0", + "flate2", + "hex", + "procfs-core", + "rustix", +] + +[[package]] +name = "procfs-core" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "239df02d8349b06fc07398a3a1697b06418223b1c7725085e801e7c0fc6a12ec" +dependencies = [ + "bitflags 2.8.0", + "hex", +] + [[package]] name = "project" version = "1.0.0-alpha11-SNAPSHOT" @@ -4814,7 +4922,7 @@ dependencies = [ "builder", "model", "serde", - "toml 0.8.19", + "toml", "toml_edit", "typeshare", ] @@ -4850,7 +4958,7 @@ dependencies = [ "log", "multimap", "once_cell", - "petgraph", + "petgraph 0.6.5", "prettyplease", "prost 0.13.4", "prost-types 0.13.4", @@ -4909,8 +5017,6 @@ version = "1.0.0-alpha11-SNAPSHOT" dependencies = [ "builder", "bytes 1.9.0", - "capnp", - "capnpc", "const_format", "model", "prost 0.13.4", @@ -4919,22 +5025,22 @@ dependencies = [ [[package]] name = "ptr_meta" -version = "0.1.4" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" +checksum = "fe9e76f66d3f9606f44e45598d155cb13ecf09f4a28199e48daf8c8fc937ea90" dependencies = [ "ptr_meta_derive", ] [[package]] name = "ptr_meta_derive" -version = "0.1.4" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" +checksum = "ca414edb151b4c8d125c12566ab0d74dc9cdba36fb80eb7b848c15f495fd32d1" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.96", ] [[package]] @@ -4973,62 +5079,40 @@ dependencies = [ "unicase", ] -[[package]] -name = "pypi-types" -version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" -dependencies = [ - "chrono", - "indexmap 2.7.1", - "itertools 0.13.0", - "mailparse", - "once_cell", - "pep440_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "pep508_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "regex", - "rkyv", - "serde", - "thiserror 1.0.69", - "toml 0.8.19", - "tracing", - "url", - "uv-git", - "uv-normalize 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", -] - [[package]] name = "pyproject-toml" -version = "0.11.0" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef7061023bcb58a0fc4a4bbe9819c13b0dca7c2abc14da14f5ecc1532ab3a36a" +checksum = "643af57c3f36ba90a8b53e972727d8092f7408a9ebfbaf4c3d2c17b07c58d835" dependencies = [ "indexmap 2.7.1", - "pep440_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=7c3eb5e431d1fe392f71a21b03e8b6da70f7b451)", - "pep508_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=7c3eb5e431d1fe392f71a21b03e8b6da70f7b451)", + "pep440_rs", + "pep508_rs", "serde", - "toml 0.8.19", + "thiserror 1.0.69", + "toml", ] [[package]] name = "quick-junit" -version = "0.4.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfc1a6a5406a114913df2df8507998c755311b55b78584bed5f6e88f6417c4d4" +checksum = "3ed1a693391a16317257103ad06a88c6529ac640846021da7c435a06fffdacd7" dependencies = [ "chrono", "indexmap 2.7.1", "newtype-uuid", "quick-xml", "strip-ansi-escapes", - "thiserror 1.0.69", + "thiserror 2.0.11", "uuid", ] [[package]] name = "quick-xml" -version = "0.31.0" +version = "0.37.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" +checksum = "165859e9e55f79d67b96c5d96f4e88b6f2695a1972849c15a6a3f5c59fc2c003" dependencies = [ "memchr", ] @@ -5058,8 +5142,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ "bytes 1.9.0", - "getrandom", - "rand", + "getrandom 0.2.15", + "rand 0.8.5", "ring", "rustc-hash 2.1.0", "rustls", @@ -5077,7 +5161,7 @@ version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c40286217b4ba3a71d644d752e6a0b71f13f1b6a2c5311acfcbe0c2418ed904" dependencies = [ - "cfg_aliases 0.2.1", + "cfg_aliases", "libc", "once_cell", "socket2", @@ -5101,10 +5185,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "640c9bd8497b02465aeef5375144c26062e0dcd5939dfcbb0f5db76cb8c17c73" [[package]] -name = "radium" -version = "0.7.0" +name = "rancor" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" +checksum = "caf5f7161924b9d1cea0e4cabc97c372cea92b5f927fc13c6bca67157a0ad947" +dependencies = [ + "ptr_meta", +] [[package]] name = "rand" @@ -5113,8 +5200,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.0", + "zerocopy 0.8.14", ] [[package]] @@ -5124,7 +5222,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.0", ] [[package]] @@ -5133,7 +5241,17 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.15", +] + +[[package]] +name = "rand_core" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b08f3c9802962f7e1b25113931d94f43ed9725bebc59db9d0c3e9a23b67e15ff" +dependencies = [ + "getrandom 0.3.1", + "zerocopy 0.8.14", ] [[package]] @@ -5156,6 +5274,41 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "red_knot_python_semantic" +version = "0.0.0" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" +dependencies = [ + "anyhow", + "bitflags 2.8.0", + "camino", + "compact_str 0.8.1", + "countme", + "drop_bomb", + "hashbrown 0.15.2", + "indexmap 2.7.1", + "itertools 0.14.0", + "memchr", + "ordermap", + "ruff_db", + "ruff_index", + "ruff_macros", + "ruff_python_ast", + "ruff_python_literal", + "ruff_python_parser", + "ruff_python_stdlib", + "ruff_python_trivia", + "ruff_source_file", + "ruff_text_size", + "rustc-hash 2.1.0", + "salsa", + "smallvec", + "static_assertions", + "test-case", + "thiserror 2.0.11", + "tracing", +] + [[package]] name = "redox_syscall" version = "0.2.16" @@ -5189,11 +5342,42 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "getrandom", + "getrandom 0.2.15", "libredox", "thiserror 1.0.69", ] +[[package]] +name = "redox_users" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b" +dependencies = [ + "getrandom 0.2.15", + "libredox", + "thiserror 2.0.11", +] + +[[package]] +name = "ref-cast" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.96", +] + [[package]] name = "reflink-copy" version = "0.1.23" @@ -5252,47 +5436,27 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "rend" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" +checksum = "a35e8a6bf28cd121053a66aa2e6a2e3eaffad4a60012179f0e864aa5ffeff215" dependencies = [ "bytecheck", ] [[package]] -name = "requirements-txt" -version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" -dependencies = [ - "distribution-types", - "fs-err", - "pep508_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "pypi-types", - "regex", - "reqwest", - "reqwest-middleware", - "thiserror 1.0.69", - "tracing", - "unscanny", - "url", - "uv-client", - "uv-configuration", - "uv-fs 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "uv-normalize 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "uv-warnings 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", -] - -[[package]] -name = "reqwest" -version = "0.12.5" -source = "git+https://github.com/elide-tools/reqwest?rev=cc6b9a9b198033ac3d8161871627a4787cef3aec#cc6b9a9b198033ac3d8161871627a4787cef3aec" +name = "reqwest" +version = "0.12.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43e734407157c3c2034e0258f5e4473ddb361b1e85f95a66690d67264d7cd1da" dependencies = [ "async-compression", "base64 0.22.1", "bytes 1.9.0", + "encoding_rs", "futures-channel", "futures-core", "futures-util", + "h2 0.4.7", "http 1.2.0", "http-body 1.0.1", "http-body-util", @@ -5304,23 +5468,27 @@ dependencies = [ "js-sys", "log", "mime", + "mime_guess", "native-tls", "once_cell", "percent-encoding", "pin-project-lite", "quinn", "rustls", - "rustls-native-certs 0.7.3", + "rustls-native-certs", "rustls-pemfile", "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", "sync_wrapper 1.0.2", + "system-configuration", "tokio", "tokio-native-tls", "tokio-rustls", + "tokio-socks", "tokio-util", + "tower 0.5.2", "tower-service", "url", "wasm-bindgen", @@ -5328,14 +5496,14 @@ dependencies = [ "wasm-streams", "web-sys", "webpki-roots", - "winreg 0.52.0", + "windows-registry 0.2.0", ] [[package]] name = "reqwest-middleware" -version = "0.3.3" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "562ceb5a604d3f7c885a792d42c199fd8af239d0a51b2fa6a78aafa092452b04" +checksum = "d1ccd3b55e711f91a9885a2fa6fbbb2e39db1776420b062efc058c6410f7e5e3" dependencies = [ "anyhow", "async-trait", @@ -5348,20 +5516,21 @@ dependencies = [ [[package]] name = "reqwest-retry" -version = "0.6.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a83df1aaec00176d0fabb65dea13f832d2a446ca99107afc17c5d2d4981221d0" +checksum = "29c73e4195a6bfbcb174b790d9b3407ab90646976c55de58a6515da25d851178" dependencies = [ "anyhow", "async-trait", "futures 0.3.31", - "getrandom", + "getrandom 0.2.15", "http 1.2.0", "hyper 1.5.2", - "parking_lot", + "parking_lot 0.11.2", "reqwest", "reqwest-middleware", "retry-policies", + "thiserror 1.0.69", "tokio", "tracing", "wasm-timer", @@ -5379,7 +5548,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5875471e6cab2871bc150ecb8c727db5113c9338cc3354dc5ee3425b6aa40a1c" dependencies = [ - "rand", + "rand 0.8.5", ] [[package]] @@ -5390,7 +5559,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom", + "getrandom 0.2.15", "libc", "spin", "untrusted", @@ -5399,29 +5568,33 @@ dependencies = [ [[package]] name = "rkyv" -version = "0.7.44" -source = "git+https://github.com/elide-tools/rkyv?rev=7b883203b216fcfc594077a5785555d2b52061c9#7b883203b216fcfc594077a5785555d2b52061c9" +version = "0.8.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e147371c75553e1e2fcdb483944a8540b8438c31426279553b9a8182a9b7b65" dependencies = [ - "bitvec", "bytecheck", "bytes 1.9.0", - "hashbrown 0.14.5", + "hashbrown 0.15.2", + "indexmap 2.7.1", + "munge", "ptr_meta", + "rancor", "rend", "rkyv_derive", - "seahash", + "smallvec", "tinyvec", "uuid", ] [[package]] name = "rkyv_derive" -version = "0.7.44" -source = "git+https://github.com/elide-tools/rkyv?rev=7b883203b216fcfc594077a5785555d2b52061c9#7b883203b216fcfc594077a5785555d2b52061c9" +version = "0.8.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "246b40ac189af6c675d124b802e8ef6d5246c53e17367ce9501f8f66a81abb7a" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.96", ] [[package]] @@ -5448,8 +5621,8 @@ dependencies = [ [[package]] name = "ruff" -version = "0.5.0" -source = "git+https://github.com/elide-dev/ruff?rev=902f4b913f4eaefa8845232cb2b7bd10368f9faa#902f4b913f4eaefa8845232cb2b7bd10368f9faa" +version = "0.9.3" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" dependencies = [ "anyhow", "argfile", @@ -5462,9 +5635,10 @@ dependencies = [ "clearscreen", "colored", "filetime", + "globwalk", "ignore", "is-macro", - "itertools 0.13.0", + "itertools 0.14.0", "log", "mimalloc", "notify", @@ -5472,12 +5646,15 @@ dependencies = [ "rayon", "regex", "ruff_cache", + "ruff_db", "ruff_diagnostics", + "ruff_graph", "ruff_linter", "ruff_macros", "ruff_notebook", "ruff_python_ast", "ruff_python_formatter", + "ruff_server", "ruff_source_file", "ruff_text_size", "ruff_workspace", @@ -5487,31 +5664,70 @@ dependencies = [ "shellexpand", "strum", "tempfile", - "thiserror 1.0.69", + "thiserror 2.0.11", "tikv-jemallocator", - "toml 0.8.19", + "toml", "tracing", "walkdir", "wild", ] +[[package]] +name = "ruff_annotate_snippets" +version = "0.1.0" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" +dependencies = [ + "anstyle", + "memchr", + "unicode-width 0.2.0", +] + [[package]] name = "ruff_cache" version = "0.0.0" -source = "git+https://github.com/elide-dev/ruff?rev=902f4b913f4eaefa8845232cb2b7bd10368f9faa#902f4b913f4eaefa8845232cb2b7bd10368f9faa" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" dependencies = [ "filetime", "glob", "globset", - "itertools 0.13.0", + "itertools 0.14.0", "regex", "seahash", ] +[[package]] +name = "ruff_db" +version = "0.0.0" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" +dependencies = [ + "camino", + "countme", + "dashmap 6.1.0", + "dunce", + "filetime", + "glob", + "ignore", + "matchit 0.8.6", + "path-slash", + "ruff_notebook", + "ruff_python_ast", + "ruff_python_parser", + "ruff_python_trivia", + "ruff_source_file", + "ruff_text_size", + "rustc-hash 2.1.0", + "salsa", + "serde", + "thiserror 2.0.11", + "tracing", + "web-time", + "zip", +] + [[package]] name = "ruff_diagnostics" version = "0.0.0" -source = "git+https://github.com/elide-dev/ruff?rev=902f4b913f4eaefa8845232cb2b7bd10368f9faa#902f4b913f4eaefa8845232cb2b7bd10368f9faa" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" dependencies = [ "anyhow", "is-macro", @@ -5523,7 +5739,7 @@ dependencies = [ [[package]] name = "ruff_formatter" version = "0.0.0" -source = "git+https://github.com/elide-dev/ruff?rev=902f4b913f4eaefa8845232cb2b7bd10368f9faa#902f4b913f4eaefa8845232cb2b7bd10368f9faa" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" dependencies = [ "drop_bomb", "ruff_cache", @@ -5533,24 +5749,43 @@ dependencies = [ "serde", "static_assertions", "tracing", - "unicode-width 0.1.14", + "unicode-width 0.2.0", +] + +[[package]] +name = "ruff_graph" +version = "0.1.0" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" +dependencies = [ + "anyhow", + "clap", + "red_knot_python_semantic", + "ruff_cache", + "ruff_db", + "ruff_linter", + "ruff_macros", + "ruff_python_ast", + "ruff_python_parser", + "salsa", + "schemars", + "serde", + "zip", ] [[package]] name = "ruff_index" version = "0.0.0" -source = "git+https://github.com/elide-dev/ruff?rev=902f4b913f4eaefa8845232cb2b7bd10368f9faa#902f4b913f4eaefa8845232cb2b7bd10368f9faa" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" dependencies = [ "ruff_macros", ] [[package]] name = "ruff_linter" -version = "0.5.0" -source = "git+https://github.com/elide-dev/ruff?rev=902f4b913f4eaefa8845232cb2b7bd10368f9faa#902f4b913f4eaefa8845232cb2b7bd10368f9faa" +version = "0.9.3" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" dependencies = [ "aho-corasick", - "annotate-snippets", "anyhow", "bitflags 2.8.0", "chrono", @@ -5562,20 +5797,21 @@ dependencies = [ "imperative", "is-macro", "is-wsl", - "itertools 0.13.0", + "itertools 0.14.0", "libcst", "log", "memchr", "natord", - "once_cell", "path-absolutize", "pathdiff", - "pep440_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=7c3eb5e431d1fe392f71a21b03e8b6da70f7b451)", + "pep440_rs", "pyproject-toml", "quick-junit", "regex", + "ruff_annotate_snippets", "ruff_cache", "ruff_diagnostics", + "ruff_index", "ruff_macros", "ruff_notebook", "ruff_python_ast", @@ -5595,10 +5831,11 @@ dependencies = [ "smallvec", "strum", "strum_macros", - "thiserror 1.0.69", - "toml 0.8.19", + "thiserror 2.0.11", + "toml", "typed-arena", - "unicode-width 0.1.14", + "unicode-normalization", + "unicode-width 0.2.0", "unicode_names2", "url", ] @@ -5606,9 +5843,9 @@ dependencies = [ [[package]] name = "ruff_macros" version = "0.0.0" -source = "git+https://github.com/elide-dev/ruff?rev=902f4b913f4eaefa8845232cb2b7bd10368f9faa#902f4b913f4eaefa8845232cb2b7bd10368f9faa" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" dependencies = [ - "itertools 0.13.0", + "itertools 0.14.0", "proc-macro2", "quote", "ruff_python_trivia", @@ -5618,32 +5855,34 @@ dependencies = [ [[package]] name = "ruff_notebook" version = "0.0.0" -source = "git+https://github.com/elide-dev/ruff?rev=902f4b913f4eaefa8845232cb2b7bd10368f9faa#902f4b913f4eaefa8845232cb2b7bd10368f9faa" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" dependencies = [ "anyhow", - "itertools 0.13.0", - "once_cell", - "rand", + "itertools 0.14.0", + "rand 0.8.5", "ruff_diagnostics", "ruff_source_file", "ruff_text_size", "serde", "serde_json", "serde_with", - "thiserror 1.0.69", + "thiserror 2.0.11", "uuid", ] [[package]] name = "ruff_python_ast" version = "0.0.0" -source = "git+https://github.com/elide-dev/ruff?rev=902f4b913f4eaefa8845232cb2b7bd10368f9faa#902f4b913f4eaefa8845232cb2b7bd10368f9faa" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" dependencies = [ "aho-corasick", "bitflags 2.8.0", + "compact_str 0.8.1", "is-macro", - "itertools 0.13.0", - "once_cell", + "itertools 0.14.0", + "memchr", + "ruff_cache", + "ruff_macros", "ruff_python_trivia", "ruff_source_file", "ruff_text_size", @@ -5654,9 +5893,8 @@ dependencies = [ [[package]] name = "ruff_python_codegen" version = "0.0.0" -source = "git+https://github.com/elide-dev/ruff?rev=902f4b913f4eaefa8845232cb2b7bd10368f9faa#902f4b913f4eaefa8845232cb2b7bd10368f9faa" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" dependencies = [ - "once_cell", "ruff_python_ast", "ruff_python_literal", "ruff_python_parser", @@ -5667,14 +5905,13 @@ dependencies = [ [[package]] name = "ruff_python_formatter" version = "0.0.0" -source = "git+https://github.com/elide-dev/ruff?rev=902f4b913f4eaefa8845232cb2b7bd10368f9faa#902f4b913f4eaefa8845232cb2b7bd10368f9faa" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" dependencies = [ "anyhow", "clap", "countme", - "itertools 0.13.0", + "itertools 0.14.0", "memchr", - "once_cell", "regex", "ruff_cache", "ruff_formatter", @@ -5688,14 +5925,14 @@ dependencies = [ "serde", "smallvec", "static_assertions", - "thiserror 1.0.69", + "thiserror 2.0.11", "tracing", ] [[package]] name = "ruff_python_index" version = "0.0.0" -source = "git+https://github.com/elide-dev/ruff?rev=902f4b913f4eaefa8845232cb2b7bd10368f9faa#902f4b913f4eaefa8845232cb2b7bd10368f9faa" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" dependencies = [ "ruff_python_ast", "ruff_python_parser", @@ -5707,10 +5944,10 @@ dependencies = [ [[package]] name = "ruff_python_literal" version = "0.0.0" -source = "git+https://github.com/elide-dev/ruff?rev=902f4b913f4eaefa8845232cb2b7bd10368f9faa#902f4b913f4eaefa8845232cb2b7bd10368f9faa" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" dependencies = [ "bitflags 2.8.0", - "itertools 0.13.0", + "itertools 0.14.0", "ruff_python_ast", "unic-ucd-category", ] @@ -5718,10 +5955,11 @@ dependencies = [ [[package]] name = "ruff_python_parser" version = "0.0.0" -source = "git+https://github.com/elide-dev/ruff?rev=902f4b913f4eaefa8845232cb2b7bd10368f9faa#902f4b913f4eaefa8845232cb2b7bd10368f9faa" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" dependencies = [ "bitflags 2.8.0", "bstr", + "compact_str 0.8.1", "memchr", "ruff_python_ast", "ruff_python_trivia", @@ -5736,44 +5974,82 @@ dependencies = [ [[package]] name = "ruff_python_semantic" version = "0.0.0" -source = "git+https://github.com/elide-dev/ruff?rev=902f4b913f4eaefa8845232cb2b7bd10368f9faa#902f4b913f4eaefa8845232cb2b7bd10368f9faa" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" dependencies = [ "bitflags 2.8.0", "is-macro", + "ruff_cache", "ruff_index", + "ruff_macros", "ruff_python_ast", + "ruff_python_parser", "ruff_python_stdlib", - "ruff_source_file", "ruff_text_size", "rustc-hash 2.1.0", + "serde", + "smallvec", ] [[package]] name = "ruff_python_stdlib" version = "0.0.0" -source = "git+https://github.com/elide-dev/ruff?rev=902f4b913f4eaefa8845232cb2b7bd10368f9faa#902f4b913f4eaefa8845232cb2b7bd10368f9faa" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" dependencies = [ + "bitflags 2.8.0", "unicode-ident", ] [[package]] name = "ruff_python_trivia" version = "0.0.0" -source = "git+https://github.com/elide-dev/ruff?rev=902f4b913f4eaefa8845232cb2b7bd10368f9faa#902f4b913f4eaefa8845232cb2b7bd10368f9faa" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" dependencies = [ - "itertools 0.13.0", + "itertools 0.14.0", "ruff_source_file", "ruff_text_size", "unicode-ident", ] +[[package]] +name = "ruff_server" +version = "0.2.2" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" +dependencies = [ + "anyhow", + "crossbeam", + "ignore", + "jod-thread", + "libc", + "lsp-server", + "lsp-types", + "regex", + "ruff_diagnostics", + "ruff_formatter", + "ruff_linter", + "ruff_notebook", + "ruff_python_ast", + "ruff_python_codegen", + "ruff_python_formatter", + "ruff_python_index", + "ruff_python_parser", + "ruff_source_file", + "ruff_text_size", + "ruff_workspace", + "rustc-hash 2.1.0", + "serde", + "serde_json", + "shellexpand", + "thiserror 2.0.11", + "tracing", + "tracing-subscriber", +] + [[package]] name = "ruff_source_file" version = "0.0.0" -source = "git+https://github.com/elide-dev/ruff?rev=902f4b913f4eaefa8845232cb2b7bd10368f9faa#902f4b913f4eaefa8845232cb2b7bd10368f9faa" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" dependencies = [ "memchr", - "once_cell", "ruff_text_size", "serde", ] @@ -5781,7 +6057,7 @@ dependencies = [ [[package]] name = "ruff_text_size" version = "0.0.0" -source = "git+https://github.com/elide-dev/ruff?rev=902f4b913f4eaefa8845232cb2b7bd10368f9faa#902f4b913f4eaefa8845232cb2b7bd10368f9faa" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" dependencies = [ "serde", ] @@ -5789,7 +6065,7 @@ dependencies = [ [[package]] name = "ruff_workspace" version = "0.0.0" -source = "git+https://github.com/elide-dev/ruff?rev=902f4b913f4eaefa8845232cb2b7bd10368f9faa#902f4b913f4eaefa8845232cb2b7bd10368f9faa" +source = "git+https://github.com/elide-dev/ruff?rev=9f065f4a340089406eefbb2dde21f8f9e31f8515#9f065f4a340089406eefbb2dde21f8f9e31f8515" dependencies = [ "anyhow", "colored", @@ -5798,25 +6074,28 @@ dependencies = [ "globset", "ignore", "is-macro", - "itertools 0.13.0", + "itertools 0.14.0", "log", "matchit 0.8.6", "path-absolutize", "path-slash", - "pep440_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=7c3eb5e431d1fe392f71a21b03e8b6da70f7b451)", + "pep440_rs", "regex", "ruff_cache", "ruff_formatter", + "ruff_graph", "ruff_linter", "ruff_macros", "ruff_python_ast", "ruff_python_formatter", + "ruff_python_semantic", + "ruff_python_stdlib", "ruff_source_file", "rustc-hash 2.1.0", "serde", "shellexpand", "strum", - "toml 0.8.19", + "toml", ] [[package]] @@ -5893,19 +6172,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "rustls-native-certs" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5bfb394eeed242e909609f56089eecfe5fda225042e8b171791b9c95f5931e5" -dependencies = [ - "openssl-probe", - "rustls-pemfile", - "rustls-pki-types", - "schannel", - "security-framework 2.11.1", -] - [[package]] name = "rustls-native-certs" version = "0.8.1" @@ -5929,9 +6195,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" +checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" dependencies = [ "web-time", ] @@ -5961,9 +6227,46 @@ checksum = "4cfa9e87e97427c3a1b472eace073b2bc577ad0e1444c128d938b3d5bcdacb17" [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" + +[[package]] +name = "salsa" +version = "0.18.0" +source = "git+https://github.com/salsa-rs/salsa.git?rev=88a1d7774d78f048fbd77d40abca9ebd729fd1f0#88a1d7774d78f048fbd77d40abca9ebd729fd1f0" +dependencies = [ + "append-only-vec", + "arc-swap", + "crossbeam", + "dashmap 6.1.0", + "hashlink", + "indexmap 2.7.1", + "parking_lot 0.12.3", + "rayon", + "rustc-hash 2.1.0", + "salsa-macro-rules", + "salsa-macros", + "smallvec", + "tracing", +] + +[[package]] +name = "salsa-macro-rules" +version = "0.1.0" +source = "git+https://github.com/salsa-rs/salsa.git?rev=88a1d7774d78f048fbd77d40abca9ebd729fd1f0#88a1d7774d78f048fbd77d40abca9ebd729fd1f0" + +[[package]] +name = "salsa-macros" +version = "0.18.0" +source = "git+https://github.com/salsa-rs/salsa.git?rev=88a1d7774d78f048fbd77d40abca9ebd729fd1f0#88a1d7774d78f048fbd77d40abca9ebd729fd1f0" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 2.0.96", + "synstructure", +] [[package]] name = "same-file" @@ -6016,6 +6319,26 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "scroll" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ab8598aa408498679922eff7fa985c25d58a90771bd6be794434c5277eab1a6" +dependencies = [ + "scroll_derive", +] + +[[package]] +name = "scroll_derive" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f81c2fde025af7e69b1d1420531c8a8811ca898919db177141a85313b1cb932" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.96", +] + [[package]] name = "seahash" version = "4.1.0" @@ -6058,6 +6381,17 @@ dependencies = [ "libc", ] +[[package]] +name = "self-replace" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03ec815b5eab420ab893f63393878d89c90fdd94c0bcc44c07abb8ad95552fb7" +dependencies = [ + "fastrand", + "tempfile", + "windows-sys 0.52.0", +] + [[package]] name = "semver" version = "1.0.25" @@ -6065,177 +6399,80 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03" [[package]] -name = "sentry" -version = "0.34.0" +name = "seq-macro" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5484316556650182f03b43d4c746ce0e3e48074a21e2f51244b648b6542e1066" -dependencies = [ - "httpdate", - "native-tls", - "reqwest", - "sentry-backtrace", - "sentry-contexts", - "sentry-core", - "sentry-debug-images", - "sentry-panic", - "sentry-tracing", - "tokio", - "ureq", -] +checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" [[package]] -name = "sentry-backtrace" -version = "0.34.0" +name = "serde" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40aa225bb41e2ec9d7c90886834367f560efc1af028f1c5478a6cce6a59c463a" +checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" dependencies = [ - "backtrace", - "once_cell", - "regex", - "sentry-core", + "serde_derive", ] [[package]] -name = "sentry-contexts" -version = "0.34.0" +name = "serde-untagged" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a8dd746da3d16cb8c39751619cefd4fcdbd6df9610f3310fd646b55f6e39910" +checksum = "2676ba99bd82f75cae5cbd2c8eda6fa0b8760f18978ea840e980dd5567b5c5b6" dependencies = [ - "hostname", - "libc", - "os_info", - "rustc_version", - "sentry-core", - "uname", + "erased-serde", + "serde", + "typeid", ] [[package]] -name = "sentry-core" -version = "0.34.0" +name = "serde-wasm-bindgen" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "161283cfe8e99c8f6f236a402b9ccf726b201f365988b5bb637ebca0abbd4a30" +checksum = "f3b143e2833c57ab9ad3ea280d21fd34e285a42837aeb0ee301f4f41890fa00e" dependencies = [ - "once_cell", - "rand", - "sentry-types", + "js-sys", "serde", - "serde_json", + "wasm-bindgen", ] [[package]] -name = "sentry-debug-images" -version = "0.34.0" +name = "serde-wasm-bindgen" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc6b25e945fcaa5e97c43faee0267eebda9f18d4b09a251775d8fef1086238a" +checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b" dependencies = [ - "findshlibs", - "once_cell", - "sentry-core", + "js-sys", + "serde", + "wasm-bindgen", ] [[package]] -name = "sentry-panic" -version = "0.34.0" +name = "serde_derive" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc74f229c7186dd971a9491ffcbe7883544aa064d1589bd30b83fb856cd22d63" +checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ - "sentry-backtrace", - "sentry-core", + "proc-macro2", + "quote", + "syn 2.0.96", ] [[package]] -name = "sentry-tracing" -version = "0.34.0" +name = "serde_derive_internals" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd3c5faf2103cd01eeda779ea439b68c4ee15adcdb16600836e97feafab362ec" +checksum = "e578a843d40b4189a4d66bba51d7684f57da5bd7c304c64e14bd63efbef49509" dependencies = [ - "sentry-backtrace", - "sentry-core", - "tracing-core", - "tracing-subscriber", + "proc-macro2", + "quote", + "syn 2.0.96", ] [[package]] -name = "sentry-types" -version = "0.34.0" +name = "serde_derive_internals" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d68cdf6bc41b8ff3ae2a9c4671e97426dcdd154cc1d4b6b72813f285d6b163f" -dependencies = [ - "debugid", - "hex", - "rand", - "serde", - "serde_json", - "thiserror 1.0.69", - "time", - "url", - "uuid", -] - -[[package]] -name = "seq-macro" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" - -[[package]] -name = "serde" -version = "1.0.217" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde-wasm-bindgen" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3b143e2833c57ab9ad3ea280d21fd34e285a42837aeb0ee301f4f41890fa00e" -dependencies = [ - "js-sys", - "serde", - "wasm-bindgen", -] - -[[package]] -name = "serde-wasm-bindgen" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b" -dependencies = [ - "js-sys", - "serde", - "wasm-bindgen", -] - -[[package]] -name = "serde_derive" -version = "1.0.217" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.96", -] - -[[package]] -name = "serde_derive_internals" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e578a843d40b4189a4d66bba51d7684f57da5bd7c304c64e14bd63efbef49509" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.96", -] - -[[package]] -name = "serde_derive_internals" -version = "0.29.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" +checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", @@ -6266,6 +6503,17 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_repr" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.96", +] + [[package]] name = "serde_spanned" version = "0.6.8" @@ -6371,7 +6619,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b" dependencies = [ "bstr", - "dirs 5.0.1", + "dirs", "os_str_bytes 6.6.1", ] @@ -6390,6 +6638,23 @@ dependencies = [ "libc", ] +[[package]] +name = "simd-json" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2bcf6c6e164e81bc7a5d49fc6988b3d515d9e8c07457d7b74ffb9324b9cd40" +dependencies = [ + "ahash", + "getrandom 0.2.15", + "halfbrown", + "once_cell", + "ref-cast", + "serde", + "serde_json", + "simdutf8", + "value-trait", +] + [[package]] name = "simdutf" version = "0.4.18" @@ -6456,6 +6721,24 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" +[[package]] +name = "snmalloc-rs" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d43ff92911d7d9705d1c0203300a3edfd00d16c8b8b0c27c56f9407a3f31e7a6" +dependencies = [ + "snmalloc-sys", +] + +[[package]] +name = "snmalloc-sys" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "954e1f984860770475196be81a547ed1517d34fcb8a15cb87bdb37cff3353230" +dependencies = [ + "cmake", +] + [[package]] name = "socket2" version = "0.5.8" @@ -6466,6 +6749,15 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "spdx" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58b69356da67e2fc1f542c71ea7e654a361a79c938e4424392ecf4fa065d2193" +dependencies = [ + "smallvec", +] + [[package]] name = "spin" version = "0.9.8" @@ -6476,7 +6768,7 @@ checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" name = "sqlite" version = "1.0.0-alpha11-SNAPSHOT" dependencies = [ - "bindgen 0.69.5", + "bindgen 0.71.1", "builder", "cc", "java_native", @@ -6555,7 +6847,7 @@ dependencies = [ name = "substrate" version = "1.0.0-alpha11-SNAPSHOT" dependencies = [ - "bindgen 0.69.5", + "bindgen 0.71.1", "builder", "java_native", "jni", @@ -6623,6 +6915,9 @@ name = "sync_wrapper" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] [[package]] name = "synstructure" @@ -6661,10 +6956,25 @@ dependencies = [ ] [[package]] -name = "tap" -version = "1.0.1" +name = "system-configuration" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" +dependencies = [ + "bitflags 2.8.0", + "core-foundation 0.9.4", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] [[package]] name = "tar" @@ -6679,9 +6989,9 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.16" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" +checksum = "dc12939a1c9b9d391e0b7135f72fd30508b73450753e28341fed159317582a77" [[package]] name = "tempfile" @@ -6691,7 +7001,7 @@ checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" dependencies = [ "cfg-if", "fastrand", - "getrandom", + "getrandom 0.2.15", "once_cell", "rustix", "windows-sys 0.59.0", @@ -6729,7 +7039,7 @@ dependencies = [ name = "terminal" version = "1.0.0-alpha11-SNAPSHOT" dependencies = [ - "bindgen 0.69.5", + "bindgen 0.71.1", "builder", "cc", "java_native", @@ -6759,17 +7069,49 @@ dependencies = [ [[package]] name = "terminfo" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "666cd3a6681775d22b200409aad3b089c5b99fb11ecdd8a204d9d62f8148498f" +checksum = "d4ea810f0692f9f51b382fff5893887bb4580f5fa246fde546e0b13e7fcee662" dependencies = [ - "dirs 4.0.0", "fnv", "nom", "phf", "phf_codegen", ] +[[package]] +name = "test-case" +version = "3.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb2550dd13afcd286853192af8601920d959b14c401fcece38071d53bf0768a8" +dependencies = [ + "test-case-macros", +] + +[[package]] +name = "test-case-core" +version = "3.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adcb7fd841cd518e279be3d5a3eb0636409487998a4aff22f3de87b81e88384f" +dependencies = [ + "cfg-if", + "proc-macro2", + "quote", + "syn 2.0.96", +] + +[[package]] +name = "test-case-macros" +version = "3.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.96", + "test-case-core", +] + [[package]] name = "textwrap" version = "0.16.1" @@ -6833,9 +7175,9 @@ dependencies = [ [[package]] name = "tikv-jemalloc-sys" -version = "0.5.4+5.3.0-patched" +version = "0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1" +checksum = "cd3c60906412afa9c2b5b5a48ca6a5abe5736aec9eb48ad05037a677e52e4e2d" dependencies = [ "cc", "libc", @@ -6843,9 +7185,9 @@ dependencies = [ [[package]] name = "tikv-jemallocator" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "965fe0c26be5c56c94e38ba547249074803efd52adfb66de62107d95aab3eaca" +checksum = "4cec5ff18518d81584f477e9bfdf957f5bb0979b0bac3af4ca30b5b3ae2d2865" dependencies = [ "libc", "tikv-jemalloc-sys", @@ -6910,8 +7252,7 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tl" version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b130bd8a58c163224b44e217b4239ca7b927d82bf6cc2fea1fc561d15056e3f7" +source = "git+https://github.com/astral-sh/tl.git?rev=6e25b2ee2513d75385101a8ff9f591ef51f314ec#6e25b2ee2513d75385101a8ff9f591ef51f314ec" [[package]] name = "tokio" @@ -6922,7 +7263,8 @@ dependencies = [ "backtrace", "bytes 1.9.0", "libc", - "mio 1.0.3", + "mio", + "parking_lot 0.12.3", "pin-project-lite", "signal-hook-registry", "socket2", @@ -6984,30 +7326,27 @@ dependencies = [ ] [[package]] -name = "tokio-stream" -version = "0.1.17" +name = "tokio-socks" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" +checksum = "0d4770b8024672c1101b3f6733eab95b18007dbe0847a8afe341fcf79e06043f" dependencies = [ - "futures-core", - "pin-project-lite", + "either", + "futures-util", + "thiserror 1.0.69", "tokio", - "tokio-util", ] [[package]] -name = "tokio-tar" -version = "0.3.1" +name = "tokio-stream" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d5714c010ca3e5c27114c1cdeb9d14641ace49874aa5626d7149e47aedace75" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" dependencies = [ - "filetime", "futures-core", - "libc", - "redox_syscall 0.3.5", + "pin-project-lite", "tokio", - "tokio-stream", - "xattr 1.4.0", + "tokio-util", ] [[package]] @@ -7024,15 +7363,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "toml" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -dependencies = [ - "serde", -] - [[package]] name = "toml" version = "0.8.19" @@ -7078,7 +7408,7 @@ dependencies = [ "axum", "base64 0.21.7", "bytes 1.9.0", - "h2", + "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", "hyper 0.14.32", @@ -7088,7 +7418,7 @@ dependencies = [ "prost 0.12.6", "tokio", "tokio-stream", - "tower", + "tower 0.4.13", "tower-layer", "tower-service", "tracing", @@ -7105,7 +7435,7 @@ dependencies = [ "indexmap 1.9.3", "pin-project", "pin-project-lite", - "rand", + "rand 0.8.5", "slab", "tokio", "tokio-util", @@ -7114,6 +7444,21 @@ dependencies = [ "tracing", ] +[[package]] +name = "tower" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper 1.0.2", + "tokio", + "tower-layer", + "tower-service", +] + [[package]] name = "tower-layer" version = "0.3.3" @@ -7227,9 +7572,9 @@ dependencies = [ [[package]] name = "tracing-tree" -version = "0.3.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b56c62d2c80033cb36fae448730a2f2ef99410fe3ecbffc916681a32f6807dbe" +checksum = "f459ca79f1b0d5f71c54ddfde6debfc59c8b6eeb46808ae492077f739dc7b49c" dependencies = [ "nu-ansi-term 0.50.1", "tracing-core", @@ -7241,7 +7586,7 @@ dependencies = [ name = "transport" version = "1.0.0-alpha11-SNAPSHOT" dependencies = [ - "bindgen 0.69.5", + "bindgen 0.71.1", "boring", "builder", "cc", @@ -7286,6 +7631,12 @@ version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" +[[package]] +name = "typeid" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e" + [[package]] name = "typenum" version = "1.17.0" @@ -7375,15 +7726,6 @@ dependencies = [ "uv", ] -[[package]] -name = "uname" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b72f89f0ca32e4db1c04e2a72f5345d59796d4866a1ee0609084569f73683dc8" -dependencies = [ - "libc", -] - [[package]] name = "unic-char-property" version = "0.9.0" @@ -7446,9 +7788,9 @@ checksum = "2f322b60f6b9736017344fa0635d64be2f458fbc04eef65f6be22976dd1ffd5b" [[package]] name = "unicode-ident" -version = "1.0.15" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11cd88e12b17c6494200a9c1b683a04fcac9573ed74cd1b62aeb2727c5592243" +checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" [[package]] name = "unicode-linebreak" @@ -7508,7 +7850,7 @@ dependencies = [ "getopts", "log", "phf_codegen", - "rand", + "rand 0.8.5", ] [[package]] @@ -7523,19 +7865,6 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" -[[package]] -name = "ureq" -version = "2.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02d1a66277ed75f640d608235660df48c8e3c19f3b4edb6a263315626cc3c01d" -dependencies = [ - "base64 0.22.1", - "log", - "native-tls", - "once_cell", - "url", -] - [[package]] name = "url" version = "2.5.4" @@ -7585,8 +7914,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3758f5e68192bb96cc8f9b7e2c2cfdabb435499a28499a42f8f984092adad4b" dependencies = [ "arbitrary", - "getrandom", - "rand", + "getrandom 0.2.15", + "rand 0.8.5", "serde", "uuid-macro-internal", "wasm-bindgen", @@ -7606,110 +7935,174 @@ dependencies = [ [[package]] name = "uv" -version = "0.2.17" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +version = "0.5.24" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ "anstream", "anyhow", - "chrono", "clap", - "distribution-types", + "console", + "ctrlc", + "dotenvy", "flate2", - "fs-err", + "fs-err 3.1.0", "futures 0.3.31", + "http 1.2.0", "indicatif", - "install-wheel-rs", - "itertools 0.13.0", + "indoc", + "itertools 0.14.0", + "jiff", "miette 7.2.0", - "mimalloc", + "nix", "owo-colors", - "pep440_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "pep508_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "platform-tags", - "pypi-types", - "rayon", + "petgraph 0.7.1", "regex", + "reqwest", + "rkyv", "rustc-hash 2.1.0", + "self-replace", "serde", "serde_json", + "tempfile", "textwrap", - "thiserror 1.0.69", - "tikv-jemallocator", + "thiserror 2.0.11", "tokio", - "toml 0.8.19", + "toml", + "toml_edit", "tracing", "tracing-subscriber", "tracing-tree", "unicode-width 0.1.14", "url", "uv-auth", + "uv-build-backend", + "uv-build-frontend", "uv-cache", + "uv-cache-info", + "uv-cache-key", "uv-cli", "uv-client", "uv-configuration", + "uv-console", "uv-dispatch", "uv-distribution", - "uv-fs 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "uv-distribution-filename", + "uv-distribution-types", + "uv-extract", + "uv-fs", "uv-git", + "uv-install-wheel", "uv-installer", - "uv-normalize 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "uv-normalize", + "uv-pep440", + "uv-pep508", + "uv-performance-flate2-backend", + "uv-performance-memory-allocator", + "uv-platform-tags", + "uv-publish", + "uv-pypi-types", + "uv-python", "uv-requirements", "uv-resolver", + "uv-scripts", "uv-settings", + "uv-shell", + "uv-static", "uv-tool", - "uv-toolchain", + "uv-trampoline-builder", "uv-types", + "uv-version", "uv-virtualenv", - "uv-warnings 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "uv-warnings", + "uv-workspace", + "version-ranges 0.1.1 (git+https://github.com/astral-sh/pubgrub?rev=648aa343486e5529953153781fc86025c73c4a61)", + "walkdir", + "which", + "zip", ] [[package]] name = "uv-auth" version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ "anyhow", "async-trait", "base64 0.22.1", "futures 0.3.31", "http 1.2.0", - "once-map", - "once_cell", "reqwest", "reqwest-middleware", "rust-netrc", + "rustc-hash 2.1.0", "tokio", "tracing", "url", "urlencoding", + "uv-once-map", + "uv-static", ] [[package]] -name = "uv-build" -version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +name = "uv-build-backend" +version = "0.1.0" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ - "anyhow", - "distribution-types", - "fs-err", - "indoc", - "itertools 0.13.0", - "once_cell", - "pep440_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "pep508_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "pypi-types", - "regex", - "rustc-hash 2.1.0", + "csv", + "flate2", + "fs-err 3.1.0", + "globset", + "itertools 0.14.0", "serde", - "serde_json", - "tempfile", - "thiserror 1.0.69", + "sha2", + "spdx", + "tar", + "thiserror 2.0.11", + "toml", + "tracing", + "uv-distribution-filename", + "uv-fs", + "uv-globfilter", + "uv-normalize", + "uv-pep440", + "uv-pep508", + "uv-platform-tags", + "uv-pypi-types", + "uv-version", + "uv-warnings", + "version-ranges 0.1.1 (git+https://github.com/astral-sh/pubgrub?rev=648aa343486e5529953153781fc86025c73c4a61)", + "walkdir", + "zip", +] + +[[package]] +name = "uv-build-frontend" +version = "0.0.1" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" +dependencies = [ + "anstream", + "fs-err 3.1.0", + "indoc", + "itertools 0.14.0", + "owo-colors", + "regex", + "rustc-hash 2.1.0", + "serde", + "serde_json", + "tempfile", + "thiserror 2.0.11", "tokio", - "toml 0.8.19", + "toml_edit", "tracing", "uv-configuration", - "uv-fs 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "uv-toolchain", + "uv-distribution", + "uv-distribution-types", + "uv-fs", + "uv-pep440", + "uv-pep508", + "uv-pypi-types", + "uv-python", + "uv-static", "uv-types", "uv-virtualenv", ] @@ -7717,73 +8110,96 @@ dependencies = [ [[package]] name = "uv-cache" version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ - "cache-key", "clap", - "directories", - "distribution-types", - "fs-err", + "fs-err 3.1.0", "nanoid", - "pypi-types", "rmp-serde", "rustc-hash 2.1.0", "serde", "tempfile", "tracing", "url", - "uv-fs 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "uv-normalize 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "uv-cache-info", + "uv-cache-key", + "uv-dirs", + "uv-distribution-types", + "uv-fs", + "uv-normalize", + "uv-pypi-types", + "uv-static", + "walkdir", +] + +[[package]] +name = "uv-cache-info" +version = "0.0.1" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" +dependencies = [ + "fs-err 3.1.0", + "globwalk", + "schemars", + "serde", + "thiserror 2.0.11", + "toml", + "tracing", "walkdir", ] +[[package]] +name = "uv-cache-key" +version = "0.0.1" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" +dependencies = [ + "hex", + "seahash", + "url", +] + [[package]] name = "uv-cli" version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ "anstream", "anyhow", "clap", "clap_complete_command", - "distribution-types", - "fs-err", - "install-wheel-rs", + "fs-err 3.1.0", "serde", "url", "uv-cache", "uv-configuration", - "uv-normalize 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "uv-distribution-types", + "uv-install-wheel", + "uv-normalize", + "uv-pep508", + "uv-pypi-types", + "uv-python", "uv-resolver", "uv-settings", - "uv-toolchain", + "uv-static", "uv-version", - "uv-warnings 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "uv-warnings", ] [[package]] name = "uv-client" version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ "anyhow", "async-trait", "async_http_range_reader", "async_zip", - "cache-key", - "chrono", - "distribution-filename", - "distribution-types", - "fs-err", + "bytecheck", + "fs-err 3.1.0", "futures 0.3.31", "html-escape", "http 1.2.0", - "install-wheel-rs", - "itertools 0.13.0", - "pep440_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "pep508_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "platform-tags", - "pypi-types", + "itertools 0.14.0", + "jiff", "reqwest", "reqwest-middleware", "reqwest-retry", @@ -7792,7 +8208,7 @@ dependencies = [ "serde", "serde_json", "sys-info", - "thiserror 1.0.69", + "thiserror 2.0.11", "tl", "tokio", "tokio-util", @@ -7801,502 +8217,933 @@ dependencies = [ "urlencoding", "uv-auth", "uv-cache", + "uv-cache-key", "uv-configuration", - "uv-fs 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "uv-normalize 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "uv-distribution-filename", + "uv-distribution-types", + "uv-fs", + "uv-metadata", + "uv-normalize", + "uv-pep440", + "uv-pep508", + "uv-platform-tags", + "uv-pypi-types", + "uv-static", "uv-version", - "uv-warnings 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "uv-warnings", ] [[package]] name = "uv-configuration" version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ "clap", "either", - "pep508_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "platform-tags", - "pypi-types", + "fs-err 3.1.0", + "rayon", "rustc-hash 2.1.0", "schemars", "serde", + "serde-untagged", "serde_json", + "thiserror 2.0.11", "tracing", + "url", "uv-auth", - "uv-normalize 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "uv-cache", + "uv-cache-info", + "uv-cache-key", + "uv-normalize", + "uv-pep440", + "uv-pep508", + "uv-platform-tags", + "uv-pypi-types", + "uv-static", + "which", +] + +[[package]] +name = "uv-console" +version = "0.0.1" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" +dependencies = [ + "console", + "ctrlc", +] + +[[package]] +name = "uv-dirs" +version = "0.0.1" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" +dependencies = [ + "etcetera", + "uv-static", ] [[package]] name = "uv-dispatch" version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ "anyhow", - "distribution-types", "futures 0.3.31", - "install-wheel-rs", - "itertools 0.13.0", - "pypi-types", + "itertools 0.14.0", "rustc-hash 2.1.0", + "thiserror 2.0.11", + "tokio", "tracing", - "uv-build", + "uv-build-backend", + "uv-build-frontend", "uv-cache", "uv-client", "uv-configuration", "uv-distribution", + "uv-distribution-filename", + "uv-distribution-types", "uv-git", + "uv-install-wheel", "uv-installer", + "uv-platform-tags", + "uv-pypi-types", + "uv-python", "uv-resolver", - "uv-toolchain", "uv-types", + "uv-version", ] [[package]] name = "uv-distribution" version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ "anyhow", - "distribution-filename", - "distribution-types", - "fs-err", + "either", + "fs-err 3.1.0", "futures 0.3.31", - "glob", - "install-wheel-rs", "nanoid", - "once_cell", - "path-absolutize", - "pep440_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "pep508_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "platform-tags", - "pypi-types", + "owo-colors", "reqwest", "reqwest-middleware", "rmp-serde", "rustc-hash 2.1.0", "serde", "tempfile", - "thiserror 1.0.69", + "thiserror 2.0.11", "tokio", "tokio-util", - "toml 0.8.19", - "toml_edit", + "toml", "tracing", "url", "uv-cache", + "uv-cache-info", + "uv-cache-key", "uv-client", "uv-configuration", + "uv-distribution-filename", + "uv-distribution-types", "uv-extract", - "uv-fs 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "uv-fs", "uv-git", - "uv-normalize 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "uv-metadata", + "uv-normalize", + "uv-pep440", + "uv-pep508", + "uv-platform-tags", + "uv-pypi-types", "uv-types", - "uv-warnings 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "uv-warnings", + "uv-workspace", + "walkdir", "zip", ] +[[package]] +name = "uv-distribution-filename" +version = "0.0.1" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" +dependencies = [ + "memchr", + "rkyv", + "serde", + "smallvec", + "thiserror 2.0.11", + "url", + "uv-normalize", + "uv-pep440", + "uv-platform-tags", + "uv-small-str", +] + +[[package]] +name = "uv-distribution-types" +version = "0.0.1" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" +dependencies = [ + "arcstr", + "bitflags 2.8.0", + "fs-err 3.1.0", + "itertools 0.14.0", + "jiff", + "owo-colors", + "petgraph 0.7.1", + "rkyv", + "rustc-hash 2.1.0", + "schemars", + "serde", + "serde_json", + "thiserror 2.0.11", + "tracing", + "url", + "urlencoding", + "uv-auth", + "uv-cache-info", + "uv-cache-key", + "uv-distribution-filename", + "uv-fs", + "uv-git", + "uv-normalize", + "uv-pep440", + "uv-pep508", + "uv-platform-tags", + "uv-pypi-types", + "version-ranges 0.1.1 (git+https://github.com/astral-sh/pubgrub?rev=648aa343486e5529953153781fc86025c73c4a61)", +] + [[package]] name = "uv-extract" version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ "async-compression", "async_zip", - "fs-err", + "fs-err 3.1.0", "futures 0.3.31", + "krata-tokio-tar", "md-5", - "pypi-types", "rayon", + "reqwest", "rustc-hash 2.1.0", "sha2", - "thiserror 1.0.69", + "thiserror 2.0.11", "tokio", - "tokio-tar", "tokio-util", "tracing", + "uv-configuration", + "uv-distribution-filename", + "uv-pypi-types", + "xz2", "zip", ] [[package]] name = "uv-fs" version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=7c3eb5e431d1fe392f71a21b03e8b6da70f7b451#7c3eb5e431d1fe392f71a21b03e8b6da70f7b451" -dependencies = [ - "backoff", - "cachedir", - "dunce", - "either", - "encoding_rs_io", - "fs-err", - "fs2", - "junction", - "once_cell", - "path-absolutize", - "path-slash", - "tempfile", - "tracing", - "urlencoding", - "uv-warnings 0.0.1 (git+https://github.com/elide-dev/uv?rev=7c3eb5e431d1fe392f71a21b03e8b6da70f7b451)", -] - -[[package]] -name = "uv-fs" -version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ - "backoff", + "backon", "cachedir", "dunce", "either", "encoding_rs_io", - "fs-err", + "fs-err 3.1.0", "fs2", "junction", - "once_cell", - "path-absolutize", "path-slash", + "rustix", + "schemars", + "serde", "tempfile", + "tokio", "tracing", "urlencoding", - "uv-warnings 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "winsafe 0.0.22", ] [[package]] name = "uv-git" version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ "anyhow", - "cache-key", "cargo-util", "dashmap 6.1.0", - "fs-err", + "fs-err 3.1.0", "reqwest", "reqwest-middleware", - "thiserror 1.0.69", + "serde", + "thiserror 2.0.11", "tokio", "tracing", "url", - "uv-fs 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "uv-auth", + "uv-cache-key", + "uv-fs", + "uv-static", + "uv-version", + "which", +] + +[[package]] +name = "uv-globfilter" +version = "0.1.0" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" +dependencies = [ + "globset", + "regex", + "regex-automata 0.4.9", + "thiserror 2.0.11", + "tracing", + "walkdir", +] + +[[package]] +name = "uv-install-wheel" +version = "0.0.1" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" +dependencies = [ + "clap", + "configparser", + "csv", + "data-encoding", + "fs-err 3.1.0", + "mailparse", + "pathdiff", + "platform-info", + "reflink-copy", + "regex", + "rustc-hash 2.1.0", + "same-file", + "schemars", + "self-replace", + "serde", + "serde_json", + "sha2", + "tempfile", + "thiserror 2.0.11", + "tracing", + "uv-cache-info", + "uv-distribution-filename", + "uv-fs", + "uv-normalize", + "uv-pep440", + "uv-platform-tags", + "uv-pypi-types", + "uv-shell", + "uv-trampoline-builder", + "uv-warnings", + "walkdir", + "zip", ] [[package]] name = "uv-installer" version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ "anyhow", "async-channel", - "cache-key", - "distribution-filename", - "distribution-types", - "fs-err", + "fs-err 3.1.0", "futures 0.3.31", - "install-wheel-rs", - "pep440_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "pep508_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "platform-tags", - "pypi-types", "rayon", "rustc-hash 2.1.0", "same-file", - "serde", "tempfile", - "thiserror 1.0.69", + "thiserror 2.0.11", "tokio", - "toml 0.8.19", "tracing", "url", "uv-cache", + "uv-cache-info", + "uv-cache-key", "uv-configuration", "uv-distribution", - "uv-extract", - "uv-fs 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "uv-distribution-types", + "uv-fs", "uv-git", - "uv-normalize 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "uv-toolchain", + "uv-install-wheel", + "uv-normalize", + "uv-pep440", + "uv-pep508", + "uv-platform-tags", + "uv-pypi-types", + "uv-python", + "uv-static", "uv-types", - "uv-warnings 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "uv-warnings", "walkdir", ] [[package]] name = "uv-macros" version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ + "proc-macro2", "quote", "syn 2.0.96", + "textwrap", +] + +[[package]] +name = "uv-metadata" +version = "0.1.0" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" +dependencies = [ + "async_zip", + "fs-err 3.1.0", + "futures 0.3.31", + "thiserror 2.0.11", + "tokio", + "tokio-util", + "uv-distribution-filename", + "uv-normalize", + "uv-pypi-types", + "zip", ] [[package]] name = "uv-normalize" version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=7c3eb5e431d1fe392f71a21b03e8b6da70f7b451#7c3eb5e431d1fe392f71a21b03e8b6da70f7b451" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" +dependencies = [ + "rkyv", + "schemars", + "serde", + "uv-small-str", +] + +[[package]] +name = "uv-once-map" +version = "0.0.1" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" +dependencies = [ + "dashmap 6.1.0", + "futures 0.3.31", + "tokio", +] + +[[package]] +name = "uv-options-metadata" +version = "0.0.1" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ + "serde", +] + +[[package]] +name = "uv-pep440" +version = "0.7.0" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" +dependencies = [ + "rkyv", + "serde", + "tracing", + "unicode-width 0.1.14", + "unscanny", + "version-ranges 0.1.1 (git+https://github.com/astral-sh/pubgrub?rev=648aa343486e5529953153781fc86025c73c4a61)", +] + +[[package]] +name = "uv-pep508" +version = "0.6.0" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" +dependencies = [ + "arcstr", + "boxcar", + "indexmap 2.7.1", + "itertools 0.14.0", + "regex", + "rustc-hash 2.1.0", + "schemars", + "serde", + "smallvec", + "thiserror 2.0.11", + "unicode-width 0.1.14", + "url", + "uv-fs", + "uv-normalize", + "uv-pep440", + "version-ranges 0.1.1 (git+https://github.com/astral-sh/pubgrub?rev=648aa343486e5529953153781fc86025c73c4a61)", +] + +[[package]] +name = "uv-performance-flate2-backend" +version = "0.1.0" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" +dependencies = [ + "flate2", + "libz-ng-sys", +] + +[[package]] +name = "uv-performance-memory-allocator" +version = "0.1.0" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" +dependencies = [ + "mimalloc", + "tikv-jemallocator", +] + +[[package]] +name = "uv-platform-tags" +version = "0.0.1" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" +dependencies = [ + "memchr", + "rkyv", + "rustc-hash 2.1.0", + "serde", + "thiserror 2.0.11", + "uv-small-str", +] + +[[package]] +name = "uv-publish" +version = "0.1.0" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" +dependencies = [ + "async-compression", + "base64 0.22.1", + "fs-err 3.1.0", + "futures 0.3.31", + "glob", + "itertools 0.14.0", + "krata-tokio-tar", + "reqwest", + "reqwest-middleware", + "reqwest-retry", + "rustc-hash 2.1.0", + "serde", + "serde_json", + "thiserror 2.0.11", + "tokio", + "tokio-util", + "tracing", + "url", + "uv-cache", + "uv-client", + "uv-configuration", + "uv-distribution-filename", + "uv-distribution-types", + "uv-extract", + "uv-fs", + "uv-metadata", + "uv-pypi-types", + "uv-static", + "uv-warnings", +] + +[[package]] +name = "uv-pypi-types" +version = "0.0.1" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" +dependencies = [ + "hashbrown 0.15.2", + "indexmap 2.7.1", + "itertools 0.14.0", + "jiff", + "mailparse", + "regex", "rkyv", + "schemars", "serde", + "serde-untagged", + "thiserror 2.0.11", + "toml", + "toml_edit", + "tracing", + "url", + "uv-distribution-filename", + "uv-fs", + "uv-git", + "uv-normalize", + "uv-pep440", + "uv-pep508", ] [[package]] -name = "uv-normalize" +name = "uv-python" version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ - "rkyv", + "anyhow", + "clap", + "configparser", + "fs-err 3.1.0", + "futures 0.3.31", + "goblin", + "itertools 0.14.0", + "owo-colors", + "procfs", + "regex", + "reqwest", + "reqwest-middleware", + "reqwest-retry", + "rmp-serde", + "same-file", "schemars", "serde", + "serde_json", + "target-lexicon", + "tempfile", + "thiserror 2.0.11", + "tokio", + "tokio-util", + "tracing", + "url", + "uv-cache", + "uv-cache-info", + "uv-cache-key", + "uv-client", + "uv-dirs", + "uv-distribution-filename", + "uv-extract", + "uv-fs", + "uv-install-wheel", + "uv-pep440", + "uv-pep508", + "uv-platform-tags", + "uv-pypi-types", + "uv-state", + "uv-static", + "uv-trampoline-builder", + "uv-warnings", + "which", + "windows-registry 0.4.0", + "windows-result 0.3.0", + "windows-sys 0.59.0", ] [[package]] name = "uv-requirements" version = "0.1.0" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ - "anstream", "anyhow", - "cache-key", "configparser", "console", - "ctrlc", - "distribution-filename", - "distribution-types", - "fs-err", + "fs-err 3.1.0", "futures 0.3.31", - "pep508_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "pypi-types", - "requirements-txt", "rustc-hash 2.1.0", "serde", - "thiserror 1.0.69", - "toml 0.8.19", + "thiserror 2.0.11", + "toml", "tracing", "url", + "uv-cache-key", "uv-client", "uv-configuration", + "uv-console", "uv-distribution", - "uv-fs 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "uv-distribution-filename", + "uv-distribution-types", + "uv-fs", "uv-git", - "uv-normalize 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "uv-normalize", + "uv-pep508", + "uv-pypi-types", + "uv-requirements-txt", "uv-resolver", "uv-types", - "uv-warnings 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "uv-warnings", + "uv-workspace", +] + +[[package]] +name = "uv-requirements-txt" +version = "0.0.1" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" +dependencies = [ + "fs-err 3.1.0", + "regex", + "reqwest", + "reqwest-middleware", + "thiserror 2.0.11", + "tracing", + "unscanny", + "url", + "uv-client", + "uv-configuration", + "uv-distribution-types", + "uv-fs", + "uv-normalize", + "uv-pep508", + "uv-pypi-types", + "uv-warnings", ] [[package]] name = "uv-resolver" version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ - "anyhow", - "cache-key", - "chrono", + "arcstr", "clap", "dashmap 6.1.0", - "derivative", - "distribution-filename", - "distribution-types", "either", "futures 0.3.31", + "hashbrown 0.15.2", "indexmap 2.7.1", - "install-wheel-rs", - "itertools 0.13.0", - "once-map", + "itertools 0.14.0", + "jiff", "owo-colors", - "path-slash", - "pep440_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "pep508_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "petgraph", - "platform-tags", + "petgraph 0.7.1", "pubgrub 0.2.1 (git+https://github.com/elide-tools/pubgrub?rev=8fd8d1370302508991e1b39ec936c363d582ee4c)", - "pypi-types", - "requirements-txt", "rkyv", "rustc-hash 2.1.0", "same-file", "schemars", "serde", + "smallvec", "textwrap", - "thiserror 1.0.69", + "thiserror 2.0.11", "tokio", "tokio-stream", + "toml", "toml_edit", "tracing", "url", + "uv-cache-key", "uv-client", "uv-configuration", "uv-distribution", + "uv-distribution-filename", + "uv-distribution-types", + "uv-fs", "uv-git", - "uv-normalize 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "uv-toolchain", + "uv-metadata", + "uv-normalize", + "uv-once-map", + "uv-pep440", + "uv-pep508", + "uv-platform-tags", + "uv-pypi-types", + "uv-python", + "uv-requirements-txt", + "uv-static", "uv-types", - "uv-warnings 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "uv-warnings", + "uv-workspace", +] + +[[package]] +name = "uv-scripts" +version = "0.0.1" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" +dependencies = [ + "fs-err 3.1.0", + "indoc", + "memchr", + "serde", + "thiserror 2.0.11", + "toml", + "uv-pep440", + "uv-pep508", + "uv-pypi-types", + "uv-settings", + "uv-workspace", ] [[package]] name = "uv-settings" version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ - "dirs-sys 0.4.1", - "distribution-types", - "fs-err", - "install-wheel-rs", - "pep508_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "pypi-types", + "clap", + "etcetera", + "fs-err 3.1.0", "schemars", "serde", - "thiserror 1.0.69", - "toml 0.8.19", + "textwrap", + "thiserror 2.0.11", + "toml", "tracing", + "url", + "uv-cache-info", "uv-configuration", - "uv-fs 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "uv-distribution-types", + "uv-fs", + "uv-install-wheel", "uv-macros", - "uv-normalize 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "uv-normalize", + "uv-options-metadata", + "uv-pep508", + "uv-pypi-types", + "uv-python", "uv-resolver", - "uv-toolchain", - "uv-warnings 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "uv-static", + "uv-warnings", +] + +[[package]] +name = "uv-shell" +version = "0.0.1" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" +dependencies = [ + "anyhow", + "home", + "same-file", + "tracing", + "uv-fs", + "uv-static", + "winreg 0.53.0", +] + +[[package]] +name = "uv-small-str" +version = "0.0.1" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" +dependencies = [ + "arcstr", + "rkyv", + "schemars", + "serde", ] [[package]] name = "uv-state" version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ - "directories", - "fs-err", + "fs-err 3.1.0", "tempfile", + "uv-dirs", +] + +[[package]] +name = "uv-static" +version = "0.0.1" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" +dependencies = [ + "uv-macros", ] [[package]] name = "uv-tool" version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ - "dirs-sys 0.4.1", - "fs-err", - "install-wheel-rs", - "pep440_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "pep508_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "pypi-types", + "fs-err 3.1.0", + "pathdiff", + "self-replace", "serde", - "thiserror 1.0.69", - "toml 0.8.19", + "thiserror 2.0.11", + "toml", + "toml_edit", "tracing", "uv-cache", - "uv-fs 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", + "uv-dirs", + "uv-fs", + "uv-install-wheel", + "uv-installer", + "uv-pep440", + "uv-pep508", + "uv-pypi-types", + "uv-python", + "uv-settings", "uv-state", - "uv-toolchain", + "uv-static", "uv-virtualenv", ] [[package]] -name = "uv-toolchain" +name = "uv-trampoline-builder" version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ - "anyhow", - "cache-key", - "clap", - "configparser", - "fs-err", - "futures 0.3.31", - "install-wheel-rs", - "itertools 0.13.0", - "once_cell", - "pep440_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "pep508_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "platform-tags", - "pypi-types", - "regex", - "reqwest", - "reqwest-middleware", - "rmp-serde", - "same-file", - "schemars", - "serde", - "serde_json", - "target-lexicon", - "tempfile", - "thiserror 1.0.69", - "tokio-util", - "tracing", - "url", - "uv-cache", - "uv-client", - "uv-configuration", - "uv-extract", - "uv-fs 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "uv-state", - "uv-warnings 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "which 6.0.3", - "winapi", + "fs-err 3.1.0", + "thiserror 2.0.11", + "uv-fs", + "zip", ] [[package]] name = "uv-types" version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ "anyhow", - "distribution-types", - "once-map", - "pep440_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "pep508_rs 0.6.0 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "pypi-types", "rustc-hash 2.1.0", - "thiserror 1.0.69", + "thiserror 2.0.11", "url", "uv-cache", "uv-configuration", + "uv-distribution-filename", + "uv-distribution-types", "uv-git", - "uv-normalize 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "uv-toolchain", + "uv-normalize", + "uv-once-map", + "uv-pep440", + "uv-pep508", + "uv-pypi-types", + "uv-python", ] [[package]] name = "uv-version" -version = "0.2.17" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +version = "0.5.24" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" [[package]] name = "uv-virtualenv" version = "0.0.4" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ - "fs-err", - "itertools 0.13.0", + "fs-err 3.1.0", + "itertools 0.14.0", "pathdiff", - "platform-tags", - "pypi-types", - "thiserror 1.0.69", + "self-replace", + "thiserror 2.0.11", "tracing", - "uv-fs 0.0.1 (git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3)", - "uv-toolchain", + "uv-fs", + "uv-platform-tags", + "uv-pypi-types", + "uv-python", + "uv-shell", "uv-version", ] [[package]] name = "uv-warnings" version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=7c3eb5e431d1fe392f71a21b03e8b6da70f7b451#7c3eb5e431d1fe392f71a21b03e8b6da70f7b451" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ "anstream", - "once_cell", "owo-colors", "rustc-hash 2.1.0", ] [[package]] -name = "uv-warnings" +name = "uv-workspace" version = "0.0.1" -source = "git+https://github.com/elide-dev/uv?rev=f068af78f779f4ea3f6629b63ebef39ddc1cf3e3#f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" +source = "git+https://github.com/elide-dev/uv?rev=daa5270203156f150c8407e5256827a366656107#daa5270203156f150c8407e5256827a366656107" dependencies = [ - "anstream", - "once_cell", + "fs-err 3.1.0", + "glob", + "itertools 0.14.0", "owo-colors", "rustc-hash 2.1.0", + "same-file", + "serde", + "thiserror 2.0.11", + "tokio", + "toml", + "toml_edit", + "tracing", + "url", + "uv-cache-key", + "uv-distribution-types", + "uv-fs", + "uv-git", + "uv-macros", + "uv-normalize", + "uv-options-metadata", + "uv-pep440", + "uv-pep508", + "uv-pypi-types", + "uv-static", + "uv-warnings", ] [[package]] @@ -8311,12 +9158,41 @@ version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ef4c4aa54d5d05a279399bfa921ec387b7aba77caf7a682ae8d86785b8fdad2" +[[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" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" +[[package]] +name = "version-ranges" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8d079415ceb2be83fc355adbadafe401307d5c309c7e6ade6638e6f9f42f42d" +dependencies = [ + "smallvec", +] + +[[package]] +name = "version-ranges" +version = "0.1.1" +source = "git+https://github.com/astral-sh/pubgrub?rev=648aa343486e5529953153781fc86025c73c4a61#648aa343486e5529953153781fc86025c73c4a61" +dependencies = [ + "smallvec", +] + [[package]] name = "version_check" version = "0.9.5" @@ -8422,6 +9298,15 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.13.3+wasi-0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasm-bindgen" version = "0.2.100" @@ -8514,7 +9399,7 @@ checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f" dependencies = [ "futures 0.3.31", "js-sys", - "parking_lot", + "parking_lot 0.11.2", "pin-utils", "wasm-bindgen", "wasm-bindgen-futures", @@ -8552,26 +9437,15 @@ dependencies = [ [[package]] name = "which" -version = "4.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" -dependencies = [ - "either", - "home", - "once_cell", - "rustix", -] - -[[package]] -name = "which" -version = "6.0.3" +version = "7.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4ee928febd44d98f2f459a4a79bd4d928591333a494a10a868418ac1b39cf1f" +checksum = "fb4a9e33648339dc1642b0e36e21b3385e6148e289226f657c809dee59df5028" dependencies = [ "either", - "home", + "env_home", + "regex", "rustix", - "winsafe", + "winsafe 0.0.19", ] [[package]] @@ -8651,8 +9525,8 @@ checksum = "810ce18ed2112484b0d4e15d022e5f598113e220c53e373fb31e67e21670c1ce" dependencies = [ "windows-implement", "windows-interface", - "windows-result", - "windows-strings", + "windows-result 0.3.0", + "windows-strings 0.3.0", "windows-targets 0.53.0", ] @@ -8678,6 +9552,37 @@ dependencies = [ "syn 2.0.96", ] +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result 0.2.0", + "windows-strings 0.1.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-registry" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" +dependencies = [ + "windows-result 0.3.0", + "windows-strings 0.3.0", + "windows-targets 0.53.0", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-result" version = "0.3.0" @@ -8687,6 +9592,16 @@ dependencies = [ "windows-targets 0.53.0", ] +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result 0.2.0", + "windows-targets 0.52.6", +] + [[package]] name = "windows-strings" version = "0.3.0" @@ -8910,27 +9825,28 @@ checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" [[package]] name = "winnow" -version = "0.6.24" +version = "0.6.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8d71a593cc5c42ad7876e2c1fda56f314f3754c084128833e64f1345ff8a03a" +checksum = "ad699df48212c6cc6eb4435f35500ac6fd3b9913324f938aea302022ce19d310" dependencies = [ "memchr", ] [[package]] name = "winreg" -version = "0.10.1" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" dependencies = [ - "winapi", + "cfg-if", + "windows-sys 0.48.0", ] [[package]] name = "winreg" -version = "0.52.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" +checksum = "89a47b489f8fc5b949477e89dca4d1617f162c6c53fbcbefde553ab17b342ff9" dependencies = [ "cfg-if", "windows-sys 0.48.0", @@ -8942,6 +9858,21 @@ version = "0.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" +[[package]] +name = "winsafe" +version = "0.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d6ad6cbd9c6e5144971e326303f0e453b61d82e4f72067fccf23106bccd8437" + +[[package]] +name = "wit-bindgen-rt" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +dependencies = [ + "bitflags 2.8.0", +] + [[package]] name = "write16" version = "1.0.0" @@ -8954,15 +9885,6 @@ version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" -[[package]] -name = "wyz" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" -dependencies = [ - "tap", -] - [[package]] name = "xattr" version = "0.2.3" @@ -8990,12 +9912,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" [[package]] -name = "yansi-term" -version = "0.1.2" +name = "xz2" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe5c30ade05e61656247b2e334a031dfd0cc466fadef865bdcdea8d537951bf1" +checksum = "388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2" dependencies = [ - "winapi", + "lzma-sys", ] [[package]] @@ -9124,6 +10046,12 @@ dependencies = [ "flate2", ] +[[package]] +name = "zlib-rs" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aada01553a9312bad4b9569035a1f12b05e5ec9770a1a4b323757356928944f8" + [[package]] name = "zstd" version = "0.13.2" diff --git a/Cargo.toml b/Cargo.toml index 0c57f3f714..f8f446b95b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -51,19 +51,12 @@ split-debuginfo = "unpacked" ## Version Pins / Overrides async-std = { git = "https://github.com/elide-tools/async-std", rev = "0802b3439e42167825359567cffeb35f0f4525af" } base64 = { git = "https://github.com/elide-tools/rust-base64", rev = "e14400697453bcc85997119b874bc03d9601d0af" } -cacache = { git = "https://github.com/elide-tools/cacache-rs", rev = "93f2020d6ccb119b09b01e10f4ad98f6586cb79c" } charset = { git = "https://github.com/elide-tools/charset", rev = "62cb8a4f42bf43df7c654da073d106de777252b7" } chic = { git = "https://github.com/elide-tools/chic", rev = "a69a935636126d8d758e3952484347ee4cdcee62" } libcst = { git = "https://github.com/elide-tools/libcst", rev = "a2dff05ebfd5ccebfa6a57ac4417cccea5a33515" } -reqwest = { git = "https://github.com/elide-tools/reqwest", rev = "cc6b9a9b198033ac3d8161871627a4787cef3aec" } -rkyv = { git = "https://github.com/elide-tools/rkyv", rev = "7b883203b216fcfc594077a5785555d2b52061c9" } ssri = { git = "https://github.com/elide-tools/ssri-rs", rev = "015e101918b6664cbae4c38c6b122db2e76bf9d0" } jni = { git = "https://github.com/elide-tools/jni-rs", rev = "b8ec9b0c717833a640de835ab1d91577bfbd6300" } -## Astral Patches -pep508_rs = { git = "https://github.com/elide-dev/uv", rev = "7c3eb5e431d1fe392f71a21b03e8b6da70f7b451" } -pep440_rs = { git = "https://github.com/elide-dev/uv", rev = "7c3eb5e431d1fe392f71a21b03e8b6da70f7b451" } - [patch."https://github.com/astral-sh/pubgrub"] pubgrub = { git = "https://github.com/elide-tools/pubgrub", rev = "8fd8d1370302508991e1b39ec936c363d582ee4c" } @@ -88,7 +81,7 @@ arbitrary = { version = "1", features = ["derive"] } argfile = { version = "0.2.0" } base64 = { version = "0.22.1", default-features = false, features = ["alloc"] } base64-simd = { version = "0.8.0" } -bindgen = { version = "0.69.4" } +bindgen = { version = "0.71.1" } boring = { version = "4.7.0" } build_const = { version = "0.2.2", default-features = false } bytes = { version = "1.6.0" } @@ -100,13 +93,9 @@ bytemuck = { version = "1.16.1", features = [ "nightly_portable_simd", "aarch64_simd", ] } -capnp = { version = "0.19.6" } -capnpc = { version = "0.19.0" } -capnp-futures = { version = "0.19.0" } -capnp-rpc = { version = "0.19.2" } cc = { version = "1.0.104", features = ["parallel"] } clap = { version = "4.5.3", features = ["derive"] } -colored = { version = "2.1.0" } +colored = { version = "3.0.0" } console-subscriber = { version = "0.3.0" } const_fn = { version = "0.4" } const_format = { version = "0.2.32" } @@ -128,7 +117,7 @@ maven-toolbox = { version = "0.0.3" } miette = { version = "7.2.0", features = ["fancy", "supports-hyperlinks"] } mimalloc = { version = "0.1.43" } mvn = { version = "0.2.0" } -orogene = { git = "https://github.com/elide-dev/orogene", rev = "c8dc2a63e67b0984beccfee2b2fa74990bfa9e15" } +orogene = { git = "https://github.com/elide-dev/orogene", rev = "c62295d37d07743e9c46a66b47cfbc74cfbdf531" } panic-abort = { version = "0.3.2" } panic-halt = { version = "0.2.0" } pkg-config = { version = "0.3.30" } @@ -149,7 +138,7 @@ serde = { version = "1.0.203", default-features = false } simdutf = { version = "0.4.17" } smartstring = { version = "1.0.1", default-features = false } sysinfo = { version = "0.30.13" } -tikv-jemallocator = { version = "0.5.4", default-features = false, features = ["disable_initial_exec_tls"] } +tikv-jemallocator = { version = "0.6.0", default-features = false, features = ["disable_initial_exec_tls"] } tokio = { version = "1", default-features = false, features = [ "fs", "io-util", @@ -198,10 +187,7 @@ oxc = { git = "https://github.com/elide-dev/oxc", rev = "ea30aecb676e5cf4e1b2464 ] } ## Uv -uv = { git = "https://github.com/elide-dev/uv", rev = "f068af78f779f4ea3f6629b63ebef39ddc1cf3e3" } +uv = { git = "https://github.com/elide-dev/uv", rev = "daa5270203156f150c8407e5256827a366656107" } ## Ruff -ruff = { git = "https://github.com/elide-dev/ruff", rev = "902f4b913f4eaefa8845232cb2b7bd10368f9faa", default-features = false, features = [ - "check", - "format", -] } +ruff = { git = "https://github.com/elide-dev/ruff", rev = "9f065f4a340089406eefbb2dde21f8f9e31f8515" } diff --git a/crates/builder/src/lib.rs b/crates/builder/src/lib.rs index cda9d9c856..ef1c2699be 100644 --- a/crates/builder/src/lib.rs +++ b/crates/builder/src/lib.rs @@ -19,7 +19,7 @@ )] #![forbid(unsafe_code, dead_code)] -pub use model::{Architecture as TargetArch, OperatingSystem as TargetOs}; +pub use model::{Architecture as TargetArch, OperatingSystem as TargetOs, MACOS_MIN}; use bindgen::Builder; use cc::Build; @@ -494,6 +494,7 @@ pub fn setup_cc() -> Build { // C Flags: macOS .flag("-march=armv8-a+crypto+crc+simd") .flag("-mbranch-protection=standard") + .flag(format!("-macos-version-min={}", MACOS_MIN)) .define("__ARM_NEON", "1") .define("__ARM_FEATURE_AES", "1") .define("__ARM_FEATURE_SHA2", "1"), @@ -517,6 +518,7 @@ pub fn build_dual_cc( shared_lib_name: &str, extra_static_cflags: Option>, extra_shared_cflags: Option>, + extra_shared_linkflags: Option>, ) { let os = target_os(); let link_paths = base_lib_paths(); @@ -562,7 +564,10 @@ pub fn build_dual_cc( for flag in extra_shared_cflags.unwrap_or_default() { shared_lib.flag(flag); } - + // add extra linker flags, if any + for flag in extra_shared_linkflags.unwrap_or_default() { + shared_lib.flag(flag); + } match shared_lib .get_compiler() .to_command() diff --git a/crates/model/src/lib.rs b/crates/model/src/lib.rs index bdf91e9a55..f6defab35b 100644 --- a/crates/model/src/lib.rs +++ b/crates/model/src/lib.rs @@ -35,6 +35,9 @@ const ARM64: &str = "aarch64"; const DEBUG: &str = "debug"; const RELEASE: &str = "release"; +/// Minimum supported version of macOS. +pub const MACOS_MIN: &str = "12.3"; + /// Enumerates the types of build profiles which Elide supports. #[derive(Debug, Serialize, Deserialize, PartialEq, Eq)] #[typeshare] diff --git a/crates/project/Cargo.toml b/crates/project/Cargo.toml index ac5e962942..1bbae7fd2f 100644 --- a/crates/project/Cargo.toml +++ b/crates/project/Cargo.toml @@ -24,7 +24,7 @@ crate-type = ["lib"] [dependencies] model = { workspace = true } serde = { workspace = true } -toml = { workspace = true } +toml = { workspace = true, features = ["parse"] } toml_edit = { workspace = true } typeshare = { workspace = true } diff --git a/crates/protocol/Cargo.toml b/crates/protocol/Cargo.toml index ef72661331..a7037b61d0 100644 --- a/crates/protocol/Cargo.toml +++ b/crates/protocol/Cargo.toml @@ -23,12 +23,10 @@ crate-type = ["lib"] [dependencies] bytes = { workspace = true } -capnp = { version = "0.19.6" } prost = { workspace = true } [build-dependencies] builder = { workspace = true } -capnpc = { workspace = true } const_format = { workspace = true } model = { workspace = true } prost-build = { workspace = true } diff --git a/crates/sqlite/build.rs b/crates/sqlite/build.rs index 4349fb00f3..0aff7cb294 100644 --- a/crates/sqlite/build.rs +++ b/crates/sqlite/build.rs @@ -92,6 +92,7 @@ fn main() { "sqlitejdbc", Some(extra_args.clone()), Some(extra_args.clone()), + None, ); build_bindings( diff --git a/crates/terminal/build.rs b/crates/terminal/build.rs index fbb0f5075f..8ac7f91f9c 100644 --- a/crates/terminal/build.rs +++ b/crates/terminal/build.rs @@ -59,6 +59,6 @@ fn main() { } }; - build_dual_cc(build, "terminalcore", "terminal", None, None); + build_dual_cc(build, "terminalcore", "terminal", None, None, None); build_bindings("terminal", "libterminal.rs", bindings_builder); } diff --git a/crates/transport/build.rs b/crates/transport/build.rs index bd3f44ee0e..1ba17f7c29 100644 --- a/crates/transport/build.rs +++ b/crates/transport/build.rs @@ -30,14 +30,11 @@ fn main() { .define("TCN_BUILD_STATIC", "1") .define("NETTY_BUILD_STATIC", "1") .define("NETTY_BUILD_GRAALVM", "1") - .define("NETTY_GVM_STATIC", "1"); + .define("NETTY_GVM_STATIC", "1") + .define("OPENSSL_IS_BORINGSSL", "1"); - let bindings_builder: Builder = match os { + let mut bindings_builder: Builder = match os { TargetOs::Darwin => { - build - // C Flags: macOS - .flag("-mmacosx-version-min=12.3"); - build // Sources: Netty KQueue .file(src_file("netty_kqueue_bsdsocket.c")) @@ -48,7 +45,6 @@ fn main() { .header(header_file("netty_jni_util.h")) .header(header_file("netty_kqueue_bsdsocket.h")) .header(header_file("netty_kqueue_eventarray.h")) - .header(header_file("ssl.h")) } TargetOs::Linux => { @@ -98,7 +94,13 @@ fn main() { .file(src_file("netty_unix_socket.c")) .file(src_file("netty_unix_util.c")); - let shared_cflags = vec!["-lssl", "-lcrypto", "-lapr-2", "-lz", "-lc++"]; + let shared_cflags = vec!["-nostdlibs", "-lssl", "-lcrypto", "-lapr-2", "-lz", "-lc++"]; + let shared_linkflags = vec![ + // force resolution of all symbols at build time + "-Wl,--no-undefined", + // enable read-only relocations + "-Wl,-z,relro,-z,now", + ]; build_dual_cc( build, @@ -106,7 +108,16 @@ fn main() { "transport", None, Some(shared_cflags), + Some(shared_linkflags), ); + bindings_builder = bindings_builder + // Defines & Compiler Settings (For the header generator this time) + .clang_arg("-DTCN_BUILD_STATIC=1") + .clang_arg("-DNETTY_BUILD_STATIC=1") + .clang_arg("-DNETTY_BUILD_GRAALVM=1") + .clang_arg("-DNETTY_GVM_STATIC=1") + .clang_arg("-DOPENSSL_IS_BORINGSSL=1"); + build_bindings("transport", "libtransport.rs", bindings_builder); } diff --git a/crates/transport/src/sslcontext.c b/crates/transport/src/sslcontext.c index 20071f91e4..6db8175c96 100644 --- a/crates/transport/src/sslcontext.c +++ b/crates/transport/src/sslcontext.c @@ -205,6 +205,11 @@ TCN_IMPLEMENT_CALL(jlong, SSLContext, make)(TCN_STDARGS, jint protocol, jint mod // See https://github.com/google/boringssl/blob/chromium-stable/PORTING.md#crypto_buffer ctx = SSL_CTX_new(TLS_with_buffers_method()); + // We need to set the minimum TLS version to TLS1 to be able to enable it explicitly later. By default + // TLS1_2_VERSION is the minimum with BoringSSL these days: + // See https://github.com/google/boringssl/commit/e95b0cad901abd49755d2a2a2f1f6c3e87d12b94 + SSL_CTX_set_min_proto_version(ctx, TLS1_VERSION); + // Needed in BoringSSL to be able to use TLSv1.3 // // See http://hg.nginx.org/nginx/rev/7ad0f4ace359 @@ -649,7 +654,7 @@ TCN_IMPLEMENT_CALL(jboolean, SSLContext, setNumTickets)(TCN_STDARGS, jlong ctx, TCN_CHECK_NULL(c, ctx, JNI_FALSE); #ifdef OPENSSL_IS_BORINGSSL - // Not supported by BoringSSL + // Not supported by BoringSSL return JNI_FALSE; #else // Only supported with GCC @@ -1437,7 +1442,7 @@ tcn_ssl_task_t* tcn_ssl_task_new(JNIEnv* e, jobject task) { if (sslTask == NULL) { return NULL; } - + if ((sslTask->task = (*e)->NewGlobalRef(e, task)) == NULL) { // NewGlobalRef failed because we ran out of memory, free what we malloc'ed and fail the handshake. OPENSSL_free(sslTask); @@ -1496,7 +1501,7 @@ static jbyteArray get_certs(JNIEnv *e, SSL* ssl, STACK_OF(X509)* chain) { jbyteArray bArray = NULL; jclass byteArrayClass = tcn_get_byte_array_class(); - // Create the byte[][] array that holds all the certs + // Create the byte[][] array that holds all the certs if ((array = (*e)->NewObjectArray(e, len, byteArrayClass, NULL)) == NULL) { return NULL; } @@ -1680,7 +1685,7 @@ enum ssl_verify_result_t tcn_SSL_cert_custom_verify(SSL* ssl, uint8_t *out_alert goto complete; } - // Create the byte[][] array that holds all the certs + // Create the byte[][] array that holds all the certs if ((array = get_certs(e, ssl, chain)) == NULL) { goto complete; } @@ -1986,7 +1991,7 @@ TCN_IMPLEMENT_CALL(void, SSLContext, setCertRequestedCallback)(TCN_STDARGS, jlon tcn_throwOutOfMemoryError(e, "Unable to allocate memory for global reference"); return; } - + c->cert_requested_callback = cb; c->cert_requested_callback_method = method; @@ -2132,7 +2137,7 @@ TCN_IMPLEMENT_CALL(void, SSLContext, setCertificateCallback)(TCN_STDARGS, jlong SSL_CTX_set_cert_cb(c->ctx, certificate_cb, NULL); } - + if (oldCallback != NULL) { (*e)->DeleteGlobalRef(e, oldCallback); } @@ -2481,7 +2486,7 @@ TCN_IMPLEMENT_CALL(void, SSLContext, setSSLSessionCache)(TCN_STDARGS, jlong ctx, tcn_ssl_ctxt_t *c = J2P(ctx, tcn_ssl_ctxt_t *); TCN_CHECK_NULL(c, ctx, /* void */); - + jobject oldCache = c->ssl_session_cache; if (cache == NULL) { c->ssl_session_cache = NULL; @@ -2524,7 +2529,7 @@ TCN_IMPLEMENT_CALL(void, SSLContext, setSSLSessionCache)(TCN_STDARGS, jlong ctx, } if (oldCache != NULL) { (*e)->DeleteGlobalRef(e, oldCache); - } + } } static int ssl_servername_cb(SSL *ssl, int *ad, void *arg) @@ -2627,7 +2632,7 @@ static void keylog_cb(const SSL* ssl, const char *line) { return; } (*e)->SetByteArrayRegion(e, outputLine, 0, len, (const jbyte*) line); - + // Execute the java callback (*e)->CallVoidMethod(e, state->ctx->keylog_callback, state->ctx->keylog_callback_method, P2J(ssl), outputLine); @@ -3043,7 +3048,7 @@ static JNINativeMethod* createDynamicMethodsTable(const char* packagePrefix) { netty_jni_util_free_dynamic_name(&dynamicTypeName); dynamicMethod->name = "setKeyLogCallback"; dynamicMethod->fnPtr = (void *) TCN_FUNCTION_NAME(SSLContext, setKeyLogCallback); - + dynamicMethod = &dynamicMethods[fixed_method_table_size + 5]; NETTY_JNI_UTIL_PREPEND(packagePrefix, "io/netty/internal/tcnative/AsyncSSLPrivateKeyMethod;)V", dynamicTypeName, error); NETTY_JNI_UTIL_PREPEND("(JL", dynamicTypeName, dynamicMethod->signature, error); @@ -3052,7 +3057,7 @@ static JNINativeMethod* createDynamicMethodsTable(const char* packagePrefix) { dynamicMethod->fnPtr = (void *) TCN_FUNCTION_NAME(SSLContext, setPrivateKeyMethod0); dynamicMethod = &dynamicMethods[fixed_method_table_size + 6]; - NETTY_JNI_UTIL_PREPEND(packagePrefix, "io/netty/internal/tcnative/SSLSessionCache;)V", dynamicTypeName, error); + NETTY_JNI_UTIL_PREPEND(packagePrefix, "io/netty/internal/tcnative/SSLSessionCache;)V", dynamicTypeName, error); NETTY_JNI_UTIL_PREPEND("(JL", dynamicTypeName, dynamicMethod->signature, error); netty_jni_util_free_dynamic_name(&dynamicTypeName); dynamicMethod->name = "setSSLSessionCache"; diff --git a/gradle/elide.versions.toml b/gradle/elide.versions.toml index bc93bcd7ce..0f7b4cca6d 100644 --- a/gradle/elide.versions.toml +++ b/gradle/elide.versions.toml @@ -83,7 +83,7 @@ gradleTestRetry = "1.5.9" grpc-java = "1.62.2" grpc-kotlin = "1.4.1" grpc-web = "1.4.2" -guava = "33.4.0-jre" +guava = "33.3.1-jre" h2 = "2.2.224" hamcrest-core = "2.2" hamcrest-junit = "2.0.0.0" @@ -97,6 +97,7 @@ jacoco = "0.8.11" jakarta = "2.0.1" jakarta-annotation-api = "2.1.1" jakarta-persistence = "3.1.0" +jakarta-validation = "3.1.0" jansi = "2.4.1" javax-annotations = "1.3.2" javax-persistence = "2.2" @@ -540,6 +541,7 @@ jackson-module-kotlin = { group = "com.fasterxml.jackson.module", name = "jackso jakarta-annotation-api = { group = "jakarta.annotation", name = "jakarta.annotation-api", version.ref = "jakarta-annotation-api" } jakarta-inject = { group = "jakarta.inject", name = "jakarta.inject-api", version.ref = "jakarta" } jakarta-persistence = { group = "jakarta.persistence", name = "jakarta.persistence-api", version.ref = "jakarta-persistence" } +jakarta-validation = { group = "jakarta.validation", name = "jakarta.validation-api", version.ref = "jakarta-validation" } jansi = { group = "org.fusesource.jansi", name = "jansi", version.ref = "jansi" } javax-annotations = { group = "javax.annotation", name = "javax.annotation-api", version.ref = "javax-annotations" } javax-persistence = { group = "javax.persistence", name = "javax.persistence-api", version.ref = "javax-persistence" } diff --git a/package-lock.kdl b/package-lock.kdl index a8fc9b109a..3e943e6135 100644 --- a/package-lock.kdl +++ b/package-lock.kdl @@ -21,18 +21,18 @@ root { "@mitata/counters" "0.0.8" "@prettier/plugin-xml" "3.4.1" "@types/google-protobuf" "3.15.12" - "@types/node" "22.10.7" - "@typescript-eslint/eslint-plugin" "8.20.0" - "@typescript-eslint/parser" "8.20.0" + "@types/node" "22.10.10" + "@typescript-eslint/eslint-plugin" "8.21.0" + "@typescript-eslint/parser" "8.21.0" commitlint "19.6.1" esbuild "0.24.2" - eslint "9.18.0" + eslint "9.19.0" husky "9.1.7" - lint-staged "15.4.1" - mitata "1.0.30" + lint-staged "15.4.3" + mitata "1.0.32" postcss-cli "11.0.0" prettier "3.4.2" - prettier-plugin-java "2.6.6" + prettier-plugin-java "2.6.7" prettier-plugin-properties "0.3.0" prettier-plugin-sh "0.14.0" prettier-plugin-toml "2.0.1" @@ -609,9 +609,9 @@ pkg "@eslint/eslintrc" { } } pkg "@eslint/js" { - version "9.18.0" - resolved "https://registry.npmjs.org/@eslint/js/-/js-9.18.0.tgz" - integrity "sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA==" + version "9.19.0" + resolved "https://registry.npmjs.org/@eslint/js/-/js-9.19.0.tgz" + integrity "sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ==" } pkg "@eslint/object-schema" { version "2.1.5" @@ -773,6 +773,14 @@ pkg "@types/conventional-commits-parser" { "@types/node" ">=0.0.0" } } +pkg "@types/conventional-commits-parser" "@types/node" { + version "22.10.7" + resolved "https://registry.npmjs.org/@types/node/-/node-22.10.7.tgz" + integrity "sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==" + dependencies { + undici-types ">=6.20.0 <6.21.0-0" + } +} pkg "@types/debug" { version "4.1.12" resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz" @@ -831,9 +839,9 @@ pkg "@types/ms" { integrity "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" } pkg "@types/node" { - version "22.10.7" - resolved "https://registry.npmjs.org/@types/node/-/node-22.10.7.tgz" - integrity "sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==" + version "22.10.10" + resolved "https://registry.npmjs.org/@types/node/-/node-22.10.10.tgz" + integrity "sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==" dependencies { undici-types ">=6.20.0 <6.21.0-0" } @@ -844,15 +852,15 @@ pkg "@types/unist" { integrity "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" } pkg "@typescript-eslint/eslint-plugin" { - version "8.20.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.20.0.tgz" - integrity "sha512-naduuphVw5StFfqp4Gq4WhIBE2gN1GEmMUExpJYknZJdRnc+2gDzB8Z3+5+/Kv33hPQRDGzQO/0opHE72lZZ6A==" + version "8.21.0" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.21.0.tgz" + integrity "sha512-eTH+UOR4I7WbdQnG4Z48ebIA6Bgi7WO8HvFEneeYBxG8qCOYgTOFPSg6ek9ITIDvGjDQzWHcoWHCDO2biByNzA==" dependencies { "@eslint-community/regexpp" ">=4.10.0 <5.0.0-0" - "@typescript-eslint/scope-manager" "8.20.0" - "@typescript-eslint/type-utils" "8.20.0" - "@typescript-eslint/utils" "8.20.0" - "@typescript-eslint/visitor-keys" "8.20.0" + "@typescript-eslint/scope-manager" "8.21.0" + "@typescript-eslint/type-utils" "8.21.0" + "@typescript-eslint/utils" "8.21.0" + "@typescript-eslint/visitor-keys" "8.21.0" graphemer ">=1.4.0 <2.0.0-0" ignore ">=5.3.1 <6.0.0-0" natural-compare ">=1.4.0 <2.0.0-0" @@ -860,49 +868,49 @@ pkg "@typescript-eslint/eslint-plugin" { } } pkg "@typescript-eslint/parser" { - version "8.20.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.20.0.tgz" - integrity "sha512-gKXG7A5HMyjDIedBi6bUrDcun8GIjnI8qOwVLiY3rx6T/sHP/19XLJOnIq/FgQvWLHja5JN/LSE7eklNBr612g==" - dependencies { - "@typescript-eslint/scope-manager" "8.20.0" - "@typescript-eslint/types" "8.20.0" - "@typescript-eslint/typescript-estree" "8.20.0" - "@typescript-eslint/visitor-keys" "8.20.0" + version "8.21.0" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.21.0.tgz" + integrity "sha512-Wy+/sdEH9kI3w9civgACwabHbKl+qIOu0uFZ9IMKzX3Jpv9og0ZBJrZExGrPpFAY7rWsXuxs5e7CPPP17A4eYA==" + dependencies { + "@typescript-eslint/scope-manager" "8.21.0" + "@typescript-eslint/types" "8.21.0" + "@typescript-eslint/typescript-estree" "8.21.0" + "@typescript-eslint/visitor-keys" "8.21.0" debug ">=4.3.4 <5.0.0-0" } } pkg "@typescript-eslint/scope-manager" { - version "8.20.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.20.0.tgz" - integrity "sha512-J7+VkpeGzhOt3FeG1+SzhiMj9NzGD/M6KoGn9f4dbz3YzK9hvbhVTmLj/HiTp9DazIzJ8B4XcM80LrR9Dm1rJw==" + version "8.21.0" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.21.0.tgz" + integrity "sha512-G3IBKz0/0IPfdeGRMbp+4rbjfSSdnGkXsM/pFZA8zM9t9klXDnB/YnKOBQ0GoPmoROa4bCq2NeHgJa5ydsQ4mA==" dependencies { - "@typescript-eslint/types" "8.20.0" - "@typescript-eslint/visitor-keys" "8.20.0" + "@typescript-eslint/types" "8.21.0" + "@typescript-eslint/visitor-keys" "8.21.0" } } pkg "@typescript-eslint/type-utils" { - version "8.20.0" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.20.0.tgz" - integrity "sha512-bPC+j71GGvA7rVNAHAtOjbVXbLN5PkwqMvy1cwGeaxUoRQXVuKCebRoLzm+IPW/NtFFpstn1ummSIasD5t60GA==" + version "8.21.0" + resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.21.0.tgz" + integrity "sha512-95OsL6J2BtzoBxHicoXHxgk3z+9P3BEcQTpBKriqiYzLKnM2DeSqs+sndMKdamU8FosiadQFT3D+BSL9EKnAJQ==" dependencies { - "@typescript-eslint/typescript-estree" "8.20.0" - "@typescript-eslint/utils" "8.20.0" + "@typescript-eslint/typescript-estree" "8.21.0" + "@typescript-eslint/utils" "8.21.0" debug ">=4.3.4 <5.0.0-0" ts-api-utils ">=2.0.0 <3.0.0-0" } } pkg "@typescript-eslint/types" { - version "8.20.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.20.0.tgz" - integrity "sha512-cqaMiY72CkP+2xZRrFt3ExRBu0WmVitN/rYPZErA80mHjHx/Svgp8yfbzkJmDoQ/whcytOPO9/IZXnOc+wigRA==" + version "8.21.0" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.21.0.tgz" + integrity "sha512-PAL6LUuQwotLW2a8VsySDBwYMm129vFm4tMVlylzdoTybTHaAi0oBp7Ac6LhSrHHOdLM3efH+nAR6hAWoMF89A==" } pkg "@typescript-eslint/typescript-estree" { - version "8.20.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.20.0.tgz" - integrity "sha512-Y7ncuy78bJqHI35NwzWol8E0X7XkRVS4K4P4TCyzWkOJih5NDvtoRDW4Ba9YJJoB2igm9yXDdYI/+fkiiAxPzA==" + version "8.21.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.21.0.tgz" + integrity "sha512-x+aeKh/AjAArSauz0GiQZsjT8ciadNMHdkUSwBB9Z6PrKc/4knM4g3UfHml6oDJmKC88a6//cdxnO/+P2LkMcg==" dependencies { - "@typescript-eslint/types" "8.20.0" - "@typescript-eslint/visitor-keys" "8.20.0" + "@typescript-eslint/types" "8.21.0" + "@typescript-eslint/visitor-keys" "8.21.0" debug ">=4.3.4 <5.0.0-0" fast-glob ">=3.3.2 <4.0.0-0" is-glob ">=4.0.3 <5.0.0-0" @@ -928,22 +936,22 @@ pkg "@typescript-eslint/typescript-estree" "minimatch" { } } pkg "@typescript-eslint/utils" { - version "8.20.0" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.20.0.tgz" - integrity "sha512-dq70RUw6UK9ei7vxc4KQtBRk7qkHZv447OUZ6RPQMQl71I3NZxQJX/f32Smr+iqWrB02pHKn2yAdHBb0KNrRMA==" + version "8.21.0" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.21.0.tgz" + integrity "sha512-xcXBfcq0Kaxgj7dwejMbFyq7IOHgpNMtVuDveK7w3ZGwG9owKzhALVwKpTF2yrZmEwl9SWdetf3fxNzJQaVuxw==" dependencies { "@eslint-community/eslint-utils" ">=4.4.0 <5.0.0-0" - "@typescript-eslint/scope-manager" "8.20.0" - "@typescript-eslint/types" "8.20.0" - "@typescript-eslint/typescript-estree" "8.20.0" + "@typescript-eslint/scope-manager" "8.21.0" + "@typescript-eslint/types" "8.21.0" + "@typescript-eslint/typescript-estree" "8.21.0" } } pkg "@typescript-eslint/visitor-keys" { - version "8.20.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.20.0.tgz" - integrity "sha512-v/BpkeeYAsPkKCkR8BDwcno0llhzWVqPOamQrAEMdpZav2Y9OVjd9dwJyBLJWwf335B5DmlifECIkZRJCaGaHA==" + version "8.21.0" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.21.0.tgz" + integrity "sha512-BkLMNpdV6prozk8LlyK/SOoWLmUFi+ZD+pcqti9ILCbVvHGk1ui1g4jJOc2WDLaeExz2qWwojxlPce5PljcT3w==" dependencies { - "@typescript-eslint/types" "8.20.0" + "@typescript-eslint/types" "8.21.0" eslint-visitor-keys ">=4.2.0 <5.0.0-0" } } @@ -1324,9 +1332,9 @@ pkg "comma-separated-tokens" { integrity "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==" } pkg "commander" { - version "12.1.0" - resolved "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz" - integrity "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==" + version "13.1.0" + resolved "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz" + integrity "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==" } pkg "commitlint" { version "19.6.1" @@ -1687,16 +1695,16 @@ pkg "escape-string-regexp" { integrity "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" } pkg "eslint" { - version "9.18.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-9.18.0.tgz" - integrity "sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA==" + version "9.19.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-9.19.0.tgz" + integrity "sha512-ug92j0LepKlbbEv6hD911THhoRHmbdXt2gX+VDABAW/Ir7D3nqKdv5Pf5vtlyY6HQMTEP2skXY43ueqTCWssEA==" dependencies { "@eslint-community/eslint-utils" ">=4.2.0 <5.0.0-0" "@eslint-community/regexpp" ">=4.12.1 <5.0.0-0" "@eslint/config-array" ">=0.19.0 <0.20.0-0" "@eslint/core" ">=0.10.0 <0.11.0-0" "@eslint/eslintrc" ">=3.2.0 <4.0.0-0" - "@eslint/js" "9.18.0" + "@eslint/js" "9.19.0" "@eslint/plugin-kit" ">=0.2.5 <0.3.0-0" "@humanfs/node" ">=0.16.6 <0.17.0-0" "@humanwhocodes/module-importer" ">=1.0.1 <2.0.0-0" @@ -2447,20 +2455,20 @@ pkg "lines-and-columns" { integrity "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" } pkg "lint-staged" { - version "15.4.1" - resolved "https://registry.npmjs.org/lint-staged/-/lint-staged-15.4.1.tgz" - integrity "sha512-P8yJuVRyLrm5KxCtFx+gjI5Bil+wO7wnTl7C3bXhvtTaAFGirzeB24++D0wGoUwxrUKecNiehemgCob9YL39NA==" - dependencies { - chalk ">=5.4.1 <5.5.0-0" - commander ">=12.1.0 <12.2.0-0" - debug ">=4.4.0 <4.5.0-0" - execa ">=8.0.1 <8.1.0-0" - lilconfig ">=3.1.3 <3.2.0-0" - listr2 ">=8.2.5 <8.3.0-0" - micromatch ">=4.0.8 <4.1.0-0" + version "15.4.3" + resolved "https://registry.npmjs.org/lint-staged/-/lint-staged-15.4.3.tgz" + integrity "sha512-FoH1vOeouNh1pw+90S+cnuoFwRfUD9ijY2GKy5h7HS3OR7JVir2N2xrsa0+Twc1B7cW72L+88geG5cW4wIhn7g==" + dependencies { + chalk ">=5.4.1 <6.0.0-0" + commander ">=13.1.0 <14.0.0-0" + debug ">=4.4.0 <5.0.0-0" + execa ">=8.0.1 <9.0.0-0" + lilconfig ">=3.1.3 <4.0.0-0" + listr2 ">=8.2.5 <9.0.0-0" + micromatch ">=4.0.8 <5.0.0-0" pidtree ">=0.6.0 <0.7.0-0" string-argv ">=0.3.2 <0.4.0-0" - yaml ">=2.6.1 <2.7.0-0" + yaml ">=2.7.0 <3.0.0-0" } } pkg "lint-staged" "chalk" { @@ -2496,9 +2504,9 @@ pkg "lint-staged" "ms" { integrity "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" } pkg "lint-staged" "yaml" { - version "2.6.1" - resolved "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz" - integrity "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==" + version "2.7.0" + resolved "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz" + integrity "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==" } pkg "listr2" { version "8.2.5" @@ -3106,9 +3114,9 @@ pkg "minimist" { integrity "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" } pkg "mitata" { - version "1.0.30" - resolved "https://registry.npmjs.org/mitata/-/mitata-1.0.30.tgz" - integrity "sha512-zefhVHdXznlD92aojkn7sZ+ZUzvbG8vmFvLllIHZZoUwGlO+YMqMbnA3tcutwe/yAVdkL5/3z65isEfvdomoJQ==" + version "1.0.32" + resolved "https://registry.npmjs.org/mitata/-/mitata-1.0.32.tgz" + integrity "sha512-UioSpAqd+QRTzIjtudWKVar3LbNt0jKS6i7S12uvRxr+eiv77TK7oMi8gNRbdNPH1rKWxrA5M48/QqVKigSQ9Q==" } pkg "ms" { version "2.1.2" @@ -3627,9 +3635,9 @@ pkg "prettier" { integrity "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==" } pkg "prettier-plugin-java" { - version "2.6.6" - resolved "https://registry.npmjs.org/prettier-plugin-java/-/prettier-plugin-java-2.6.6.tgz" - integrity "sha512-DGWZPJ5nZg/wcFgJJxxwkzL95G/SrLXJVAcNfZ6ERjw7ha04pk6m1OAWxqhaq29Zl3FYlEjYrW796fFOWUWpnw==" + version "2.6.7" + resolved "https://registry.npmjs.org/prettier-plugin-java/-/prettier-plugin-java-2.6.7.tgz" + integrity "sha512-AVm+X7fhAZpYKiUCdUIGZ8HJbkGkTUgYQIKVuCQEplcqpGw2ewVnNGcPb1Kc3+MYMfiEqzhd8ZYhMGVHw6tZdQ==" dependencies { java-parser "2.3.3" lodash "4.17.21" diff --git a/packages/cli/build.gradle.kts b/packages/cli/build.gradle.kts index d1d3b52057..665b3a4ea9 100644 --- a/packages/cli/build.gradle.kts +++ b/packages/cli/build.gradle.kts @@ -120,7 +120,7 @@ val enablePgo = false val enablePgoSampling = false val enablePgoInstrumentation = false val enablePgoReport = true -val enableJna = false +val enableJna = true val enableJnaStatic = false val enableSbom = oracleGvm val enableSbomStrict = false @@ -145,16 +145,7 @@ val exclusions = listOfNotNull( // exclude kotlin compiler if kotlin is not enabled; it includes shadowed jline configs if (enableKotlin) null else libs.kotlin.compiler.embedded, -).plus(listOf( - // disable netty native transports if our own transport libraries are in use - libs.netty.transport.native.epoll, - libs.netty.transport.native.kqueue, - libs.netty.transport.native.iouring, - - // disable netty's exotic libs which don't have static jni support yet - libs.netty.resolver.dns.native.macos, - libs.netty.incubator.codec.http3, -).onlyIf(enableNativeTransportV2)) +) // Java Launcher (GraalVM at either EA or LTS) val edgeJvmTarget = 23 @@ -368,6 +359,10 @@ dependencies { api(mn.micronaut.inject) implementation(projects.packages.terminal) + // Native-image transitive compile dependencies + nativeImageCompileOnly(libs.jakarta.validation) + nativeImageCompileOnly(libs.guava) + if (oracleGvm && oracleGvmLibs && enableAuxCache && enableAuxCacheTool) { api(":tools:auximage") } @@ -722,6 +717,8 @@ val commonNativeArgs = listOfNotNull( "--enable-url-protocols=http,https,jar", "--color=always", "-H:+UnlockExperimentalVMOptions", + "--link-at-build-time=elide", + "--link-at-build-time=dev.elide", "-H:-ReduceImplicitExceptionStackTraceInformation", onlyIf(enableJna, "--enable-native-access=com.sun.jna,ALL-UNNAMED") ?: "--enable-native-access=ALL-UNNAMED", "-J--add-exports=org.graalvm.nativeimage.builder/com.oracle.svm.core.jdk=ALL-UNNAMED", @@ -940,6 +937,8 @@ val initializeAtBuildtime: List = listOf( "oshi", "sun.awt.resources.awt", "org.pkl.core.runtime.VmLanguageProvider", + "elide.runtime.lang.typescript.internals.TypeScriptLanguageProvider", + "com.sun.jna.Library", ) val initializeAtBuildTimeTest: List = listOf( @@ -1017,6 +1016,7 @@ val initializeAtRuntime: List = listOfNotNull( "org.jline.terminal.impl.jna.linux.LinuxNativePty${'$'}UtilLibrary", "org.jline.terminal.impl.jna.solaris.SolarisNativePty", "org.jline.terminal.impl.jna.freebsd.FreeBsdNativePty", + "org.jline.terminal.impl.jna.freebsd.FreeBsdNativePty${'$'}UtilLibrary", "org.jline.terminal.impl.jna.openbsd.OpenBsdNativePty", "org.jline.nativ.Kernel32", "org.fusesource.jansi.AnsiConsole", @@ -1691,6 +1691,15 @@ tasks { processResources { filterResources() + + // add `[lib]umbrella.{so,dylib,jnilib,dll}` to the jar + from(rootProject.layout.projectDirectory.dir("target/${nativesType}")) { + include("libumbrella.so") + include("libumbrella.dylib") + include("libumbrella.jnilib") + include("umbrella.dll") + into("META-INF/native/") + } } jar { diff --git a/packages/cli/detekt-baseline.xml b/packages/cli/detekt-baseline.xml index 908857d892..7df169bea6 100644 --- a/packages/cli/detekt-baseline.xml +++ b/packages/cli/detekt-baseline.xml @@ -12,6 +12,7 @@ ConstructorParameterNaming:AbstractSubcommand.kt$AbstractSubcommand.DefaultOutputController$private val _settings: ToolState.OutputSettings = _state.output ConstructorParameterNaming:AbstractSubcommand.kt$AbstractSubcommand.DefaultOutputController$private val _state: State ConstructorParameterNaming:AbstractSubcommand.kt$AbstractSubcommand.ToolExecutionContextImpl$private val _state: T + CyclomaticComplexMethod:NativeUtil.kt$NativeUtil$@Suppress("LongParameterList") @JvmStatic internal fun loadOrCopy( workdir: File, path: String, libName: String, loader: ClassLoader, allCandidatePaths: Sequence<Path>, forceCopy: Boolean = false, forceLoad: Boolean = false, loadFromPath: Boolean = true, ): Pair<Boolean, Boolean> CyclomaticComplexMethod:ToolShellCommand.kt$ToolShellCommand$override fun PolyglotEngineConfiguration.configureEngine(langs: EnumSet<GuestLanguage>) CyclomaticComplexMethod:ToolShellCommand.kt$ToolShellCommand$override suspend fun CommandContext.invoke(state: ToolContext<ToolState>): CommandResult CyclomaticComplexMethod:ToolShellCommand.kt$ToolShellCommand$private fun beginInteractiveSession( languages: EnumSet<GuestLanguage>, primaryLanguage: GuestLanguage, engine: PolyglotEngine, ctxAccessor: ContextAccessor, ) @@ -35,7 +36,7 @@ NestedBlockDepth:main.kt$private suspend inline fun runInner(args: Array<String>): Int ObjectPropertyNaming:Statics.kt$Statics$val `in`: InputStream get() = delegatedInStream.get() ?: System.`in` ReturnCount:ExecutionController.kt$ExecutionController$private fun toHost(polyglotException: PolyglotException): Throwable - ReturnCount:NativeUtil.kt$NativeUtil$@JvmStatic internal fun loadOrCopy( workdir: File, path: String, libName: String, loader: ClassLoader, forceCopy: Boolean = false, forceLoad: Boolean = false, loadFromPath: Boolean = true, ): Pair<Boolean, Boolean> + ReturnCount:NativeUtil.kt$NativeUtil$@Suppress("LongParameterList") @JvmStatic internal fun loadOrCopy( workdir: File, path: String, libName: String, loader: ClassLoader, allCandidatePaths: Sequence<Path>, forceCopy: Boolean = false, forceLoad: Boolean = false, loadFromPath: Boolean = true, ): Pair<Boolean, Boolean> ReturnCount:RuntimeWorkdirManager.kt$RuntimeWorkdirManager$private fun nearestDirectoryWithAnyOfTheseFiles( files: Array<String>, base: File? = null, depth: Int? = null, ): File? SpreadOperator:Elide.kt$Elide.Companion$(*args) SpreadOperator:ToolInvokeCommand.kt$ToolInvokeCommand$(*selectedTools.map { it to buildArgs(action, it) }.toTypedArray()) @@ -51,8 +52,7 @@ SwallowedException:ToolShellCommand.kt$ToolShellCommand$exc: NoSuchElementException SwallowedException:ToolShellCommand.kt$ToolShellCommand$ioe: Exception SwallowedException:ToolShellCommand.kt$ToolShellCommand$userInterrupt: UserInterruptException - ThrowsCount:NativeUtil.kt$NativeUtil$@JvmStatic internal fun loadOrCopy( workdir: File, path: String, libName: String, loader: ClassLoader, forceCopy: Boolean = false, forceLoad: Boolean = false, loadFromPath: Boolean = true, ): Pair<Boolean, Boolean> - ThrowsCount:ToolShellCommand.kt$ToolShellCommand$private fun readExecutableScript(languages: EnumSet<GuestLanguage>, language: GuestLanguage, script: File): Source + ThrowsCount:NativeUtil.kt$NativeUtil$@Suppress("LongParameterList") @JvmStatic internal fun loadOrCopy( workdir: File, path: String, libName: String, loader: ClassLoader, allCandidatePaths: Sequence<Path>, forceCopy: Boolean = false, forceLoad: Boolean = false, loadFromPath: Boolean = true, ): Pair<Boolean, Boolean> TooGenericExceptionCaught:AbstractSubcommand.kt$AbstractSubcommand$err: Throwable TooGenericExceptionCaught:AbstractToolCommand.kt$AbstractToolCommand$err: Throwable TooGenericExceptionCaught:CommandTestRunner.kt$CommandTestRunner$thr: Throwable @@ -70,7 +70,6 @@ TooGenericExceptionCaught:ToolShellCommand.kt$ToolShellCommand$ioe: Exception TooGenericExceptionCaught:main.kt$err: RuntimeException TooGenericExceptionCaught:main.kt$err: Throwable - TooGenericExceptionThrown:NativeUtil.kt$NativeUtil$throw RuntimeException("An error occurred while getting the resources for $path", iox) TooManyFunctions:ToolShellCommand.kt$ToolShellCommand : AbstractSubcommand TopLevelPropertyNaming:ToolInvokeCommand.kt$private const val jsHint = "package.json" TopLevelPropertyNaming:ToolInvokeCommand.kt$private const val pyHint = "requirements.txt" @@ -79,10 +78,6 @@ UnusedParameter:NativeEngine.kt$NativeEngine$extraProps: List<Pair<String, String>> UnusedPrivateProperty:AbstractToolCommand.kt$AbstractToolCommand$// Initialization state. private val initialized: AtomicBoolean = AtomicBoolean(false) UnusedPrivateProperty:ExecutionController.kt$ExecutionController$private val tRunException: Lazy<Value> = Lazy.of { loadClass("jdk.jshell.spi.ExecutionControl\$RunException") } - UnusedPrivateProperty:NativeEngine.kt$NativeEngine$val javaLibraryPath = System.getenv("JAVA_HOME")?.ifBlank { null }?.let { Path(it).resolve("lib") } - UnusedPrivateProperty:NativeEngine.kt$NativeEngine$val libExecPaths = listOf( resolvedExecPrefix, resolvedExecPrefix.resolve("python/python-home/lib/graalpy24.0"), resolvedExecPrefix.resolve("llvm/libsulong-native"), resolvedExecPrefix.resolve("ruby/ruby-home"), ) - UnusedPrivateProperty:NativeEngine.kt$NativeEngine$val libraryPath = System.getProperty("java.library.path", "") - UnusedPrivateProperty:NativeEngine.kt$NativeEngine$val nativesPath = natives.absolutePath UnusedPrivateProperty:ToolInvokeCommand.kt$// Sub-commands for Orogene. private val orogeneActions = sortedSetOf( "add", "apply", "login", "logout", "ping", "reapply", "remove", "view", "help", ) UnusedPrivateProperty:ToolInvokeCommand.kt$// Sub-commands for Uv. private val uvActions = sortedSetOf( "pip", "tool", "toolchain", "venv", "cache", "self", "version", "help", ) VariableNaming:AbstractScriptEngineFactory.kt$AbstractScriptEngineFactory.PolyglotContext$private val `in`: PolyglotReader diff --git a/packages/cli/src/main/kotlin/dev/elide/cli/bridge/CliNativeBridge.kt b/packages/cli/src/main/kotlin/dev/elide/cli/bridge/CliNativeBridge.kt index c873f6c2aa..d75de3ac7c 100644 --- a/packages/cli/src/main/kotlin/dev/elide/cli/bridge/CliNativeBridge.kt +++ b/packages/cli/src/main/kotlin/dev/elide/cli/bridge/CliNativeBridge.kt @@ -2,12 +2,17 @@ package dev.elide.cli.bridge +import org.graalvm.nativeimage.ImageInfo + /** * # Native Bridge * * Bridges native methods from Elide's `umbrella` library, via JNI access points. */ object CliNativeBridge { + // If flipped, the CLI native bridge will only be eagerly loaded under native conditions. + private const val EAGER_LOAD_NATIVE_ONLY = false + /** Token expected for the tooling API at version 1. */ const val VERSION_V1: String = "v1" @@ -19,7 +24,7 @@ object CliNativeBridge { /** Initialize the native layer. */ @Synchronized public fun initialize() { - if (!initialized) { + if (!initialized && (!EAGER_LOAD_NATIVE_ONLY || ImageInfo.inImageCode())) { System.loadLibrary(NATIVE_LIB_NAME) initialized = true val init = initializeNative() diff --git a/packages/cli/src/main/kotlin/elide/tool/cli/AbstractSubcommand.kt b/packages/cli/src/main/kotlin/elide/tool/cli/AbstractSubcommand.kt index b02a7bd8be..6cb7abdd9a 100644 --- a/packages/cli/src/main/kotlin/elide/tool/cli/AbstractSubcommand.kt +++ b/packages/cli/src/main/kotlin/elide/tool/cli/AbstractSubcommand.kt @@ -91,7 +91,7 @@ import org.graalvm.polyglot.Engine as VMEngine val logging = Statics.logging logging.trace("Retrieving supported guest languages") return VMEngine.create().languages.values.mapNotNull { - val supported = GuestLanguage.resolveFromEngine(it.id) + val supported = GuestLanguage.resolveFromId(it.id) if (supported == null) { logging.debug("Language '${it.name}' not supported for CLI use: no support in Elide") null diff --git a/packages/cli/src/main/kotlin/elide/tool/engine/NativeEngine.kt b/packages/cli/src/main/kotlin/elide/tool/engine/NativeEngine.kt index 6d5ac1251f..04e5b01c9c 100644 --- a/packages/cli/src/main/kotlin/elide/tool/engine/NativeEngine.kt +++ b/packages/cli/src/main/kotlin/elide/tool/engine/NativeEngine.kt @@ -10,17 +10,24 @@ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under the License. */ + +@file:Suppress( + "TooManyFunctions", + "WildcardImport", +) + package elide.tool.engine import io.netty.util.internal.PlatformDependent import org.graalvm.nativeimage.ImageInfo +import org.sqlite.SQLiteJDBCLoader import java.io.File +import java.nio.file.Path import java.util.concurrent.ConcurrentSkipListMap import java.util.concurrent.ConcurrentSkipListSet import java.util.concurrent.atomic.AtomicBoolean import java.util.concurrent.atomic.AtomicReference import kotlin.io.path.Path -import kotlin.io.path.absolutePathString import elide.runtime.LogLevel.DEBUG import elide.runtime.core.HostPlatform import elide.runtime.core.HostPlatform.OperatingSystem.* @@ -39,7 +46,7 @@ object NativeEngine { private val errHolder: AtomicReference = AtomicReference(null) private val missingLibraries: MutableSet = ConcurrentSkipListSet() private val nativeLibraryGroups: MutableMap = ConcurrentSkipListMap() - private val staticJniMode: Boolean = System.getProperty("elide.staticJni") == "true" + private val staticJniMode: Boolean = System.getProperty("elide.staticJni") == "true" && ImageInfo.inImageCode() internal fun transportEngine(): Pair = transportEngine.get() to nativeTransportAvailable.get() @@ -63,7 +70,7 @@ object NativeEngine { append(staticName) } - val path = libname.toString() to StringBuilder(base).apply { + val path = StringBuilder(base).apply { // `META-INF/native/libumbrella` ... append("lib") append(libname) @@ -78,7 +85,7 @@ object NativeEngine { return NativeLib.of( group, libname.toString(), - path.toString(), + path, staticName, ) } @@ -97,7 +104,7 @@ object NativeEngine { builder.invoke(this) } - val path = libname.toString() to StringBuilder(base).apply { + val path = StringBuilder(base).apply { // `META-INF/native/libnetty_transport_native_epoll_linux-x86_64` ... append("lib") append(libname) @@ -112,7 +119,7 @@ object NativeEngine { return NativeLib.of( group, libname.toString(), - path.toString(), + path, staticName, ) } @@ -141,11 +148,13 @@ object NativeEngine { } // Ensure a native library is loadable from the Java native path, copying from resources if necessary. + @Suppress("LongParameterList") @JvmStatic private fun ensureLoadableFromNatives( group: String, libs: List, workdir: File, loader: ClassLoader, + allCandidatePaths: Sequence, forceLoad: Boolean = false, ) = libs.map { val (loaded, copied) = try { @@ -154,6 +163,7 @@ object NativeEngine { it.path, it.name, loader, + allCandidatePaths, forceLoad = forceLoad, ) } catch (err: Throwable) { @@ -170,10 +180,12 @@ object NativeEngine { } // Load a named native library, varying by OS. + @Suppress("LongParameterList") @JvmStatic private fun HostPlatform.loadByPlatform( loader: ClassLoader, group: String, workdir: File, + allCandidatePaths: Sequence, forceLoad: Boolean = !ImageInfo.inImageCode(), linux: (() -> List?)? = null, darwin: (() -> List?)? = null, @@ -187,9 +199,9 @@ object NativeEngine { }.let { when (val target = (it?.invoke() ?: default?.invoke())) { null -> {} - else -> ensureLoadableFromNatives(group, target, workdir, loader, forceLoad).also { didLoad -> + else -> ensureLoadableFromNatives(group, target, workdir, loader, allCandidatePaths, forceLoad).also { result -> if (Statics.logging.isEnabled(DEBUG)) { - Statics.logging.debug("Native library group $group (loaded=$didLoad)") + Statics.logging.debug("Native library group $group (loaded=$result)") } } } @@ -197,20 +209,30 @@ object NativeEngine { } // Load native tooling libraries, based on OS. - @JvmStatic private fun HostPlatform.loadNativeTooling(workdir: File, loader: ClassLoader) = loadByPlatform( + @JvmStatic private fun HostPlatform.loadNativeTooling( + workdir: File, + allCandidatePaths: Sequence, + loader: ClassLoader, + ) = loadByPlatform( loader, "tools", workdir, + allCandidatePaths, default = { listOf(nativeLib("tools", "umbrella", os)) }, ) // Load native transport libraries, based on OS. - @JvmStatic private fun HostPlatform.loadNativeTransport(workdir: File, loader: ClassLoader) = loadByPlatform( + @JvmStatic private fun HostPlatform.loadNativeTransport( + workdir: File, + allCandidatePaths: Sequence, + loader: ClassLoader, + ) = loadByPlatform( loader, "transport", workdir, + allCandidatePaths, linux = { listOf( nettyNative("transport", "transport_native_epoll", os), // nettyNative("transport", "quiche_linux", os), @@ -223,10 +245,15 @@ object NativeEngine { ) // Load native OpenSSL libraries. - @JvmStatic private fun HostPlatform.loadNativeCrypto(workdir: File, loader: ClassLoader) = loadByPlatform( + @JvmStatic private fun HostPlatform.loadNativeCrypto( + workdir: File, + allCandidatePaths: Sequence, + loader: ClassLoader, + ) = loadByPlatform( loader, "crypto", workdir, + allCandidatePaths, linux = { listOf(nettyNative("crypto", "tcnative_linux", os)) }, @@ -236,18 +263,24 @@ object NativeEngine { ) // Load natives from the CWD while it is swapped in. - @JvmStatic private fun loadAllNatives(platform: HostPlatform, natives: File, loader: ClassLoader) = platform.apply { + @JvmStatic private fun loadAllNatives( + platform: HostPlatform, + natives: File, + allCandidatePaths: Sequence, + loader: ClassLoader, + ) = platform.apply { // in static JNI mode, we don't do any of this anymore - val loadNatives: () -> Unit = if (staticJniMode) { + val loadNatives: () -> Unit = if (ImageInfo.inImageCode() && staticJniMode) { // nothing to load { - loadNativeTransport(natives, loader) + loadNativeTransport(natives, allCandidatePaths, loader) } } else { // trigger load of native libs { - loadNativeCrypto(natives, loader) - loadNativeTooling(natives, loader) + loadNativeTransport(natives, allCandidatePaths, loader) + loadNativeCrypto(natives, allCandidatePaths, loader) + loadNativeTooling(natives, allCandidatePaths, loader) } } @@ -301,25 +334,44 @@ object NativeEngine { */ @JvmStatic fun load(workdir: WorkdirManager, extraProps: List>) { val natives = workdir.nativesDirectory() - val nativesPath = natives.absolutePath val platform = HostPlatform.resolve() val separator = File.separator val libraryPath = System.getProperty("java.library.path", "") // sanity check: exec path should exist, then convert it into a suite of lib exec paths - val resolvedExecPrefix = Path(System.getProperty("user.dir")) - val libExecPaths = listOf( + val resolvedExecPrefix = (if (ImageInfo.inImageCode()) { + ProcessHandle.current().info().command().orElse(null) + } else { + // if we are on jvm mode, take the current directory + System.getProperty("user.dir") + } ?: error( + "Failed to resolve exec prefix" + )).let { + Path.of(it) + } + val libExecPaths = listOf( resolvedExecPrefix, - resolvedExecPrefix.resolve("python/python-home/lib/graalpy24.0"), + resolvedExecPrefix.resolve("python/python-home/lib/graalpy24.1"), resolvedExecPrefix.resolve("llvm/libsulong-native"), resolvedExecPrefix.resolve("ruby/ruby-home"), ) val javaLibraryPath = System.getenv("JAVA_HOME")?.ifBlank { null }?.let { Path(it).resolve("lib") } + val combinedFullPath = sequence { + yield(natives.toPath()) + yieldAll(libraryPath.split(separator).map { Path.of(it) }) + yieldAll(libExecPaths) + javaLibraryPath?.let { yield(it) } + } // load all required native libs for current platform - loadAllNatives(platform, natives.toFile(), this::class.java.classLoader) + loadAllNatives(platform, natives.toFile(), combinedFullPath, this::class.java.classLoader) + + // in jvm mode, force-load sqlite + if (!ImageInfo.inImageCode()) { + nativeLibraryGroups["sqlite"] = SQLiteJDBCLoader.initialize() + } // fix: account for static jni if (ImageInfo.inImageCode()) listOf( @@ -341,7 +393,8 @@ object NativeEngine { * @param group Name of the group to check. * @return Whether the group was loaded. */ - @JvmStatic fun didLoad(group: String): Boolean = nativeLibraryGroups[group] ?: false + @JvmStatic fun didLoad(group: String): Boolean = + nativeLibraryGroups[group] ?: false /** * ## Boot Entrypoint diff --git a/packages/cli/src/main/kotlin/elide/tool/engine/NativeUtil.kt b/packages/cli/src/main/kotlin/elide/tool/engine/NativeUtil.kt index 4bbf7b9f6f..11316e8ab3 100644 --- a/packages/cli/src/main/kotlin/elide/tool/engine/NativeUtil.kt +++ b/packages/cli/src/main/kotlin/elide/tool/engine/NativeUtil.kt @@ -20,7 +20,10 @@ import io.netty.util.internal.PlatformDependent import io.netty.util.internal.ThrowableUtil import java.io.* import java.net.URL +import java.nio.file.Files +import java.nio.file.Path import java.util.* +import kotlin.collections.ArrayList import elide.runtime.Logger import elide.tool.cli.Statics @@ -62,7 +65,7 @@ internal object NativeUtil { val urls: Enumeration = try { if (loader == null) ClassLoader.getSystemResources(path) else loader.getResources(path) } catch (iox: IOException) { - throw RuntimeException("An error occurred while getting the resources for $path", iox) + throw IOException("An error occurred while getting the resources for $path", iox) } val urlsList: List = Collections.list(urls) @@ -101,11 +104,13 @@ internal object NativeUtil { } } + @Suppress("LongParameterList") @JvmStatic internal fun loadOrCopy( workdir: File, path: String, libName: String, loader: ClassLoader, + allCandidatePaths: Sequence, forceCopy: Boolean = false, forceLoad: Boolean = false, loadFromPath: Boolean = true, @@ -126,7 +131,6 @@ internal object NativeUtil { return true to false } catch (thr: Throwable) { // ignore - logger.debug("Failed to load system library TEMP") } } loadNativeLibrary(libTarget.absolutePath, true) @@ -150,8 +154,34 @@ internal object NativeUtil { var `in`: InputStream? = null var out: OutputStream? = null + + // what about an embedded resource? var url = getResource(path, loader) + if (url == null) { + // allow all potential natives candidate paths + for (candidatePath in allCandidatePaths) { + val expectedTargets: LinkedList = LinkedList() + + // if it's a directory, resolve lib names within that directory + if (Files.isDirectory(candidatePath)) { + expectedTargets.add(candidatePath.resolve(libname)) + if (libname.endsWith(".dylib")) { + expectedTargets.add(libname.replace(".dylib", ".jnilib").let { candidatePath.resolve(it) }) + } + } else if (Files.isRegularFile(candidatePath)) { + // otherwise, if it's a file, it could be a direct match + expectedTargets.add(candidatePath) + } + expectedTargets.firstOrNull { + if (Files.exists(it)) { + url = it.toUri().toURL() + true + } else false + } + } + } + try { if (url == null) { if (PlatformDependent.isOsx()) { @@ -167,7 +197,7 @@ internal object NativeUtil { } } - `in` = url.openStream() + `in` = url!!.openStream() out = FileOutputStream(libTarget) val buffer = ByteArray(8192) var length: Int diff --git a/packages/cli/src/test/kotlin/elide/tool/cli/ElideToolTest.kt b/packages/cli/src/test/kotlin/elide/tool/cli/ElideToolTest.kt index 61add65fe8..41da96ca67 100644 --- a/packages/cli/src/test/kotlin/elide/tool/cli/ElideToolTest.kt +++ b/packages/cli/src/test/kotlin/elide/tool/cli/ElideToolTest.kt @@ -100,6 +100,17 @@ import elide.testing.annotations.TestCase } } + @Test fun testRootEntrypointExecuteTsCode() { + assertDoesNotThrow { + assertToolRunsWith( + "run", + "--typescript", + "-c", + "'console.log(\"Hello!\");'", + ) + } + } + @Test fun testRootEntrypointExecuteJsFile() { Assumptions.assumeTrue(Files.exists(testScriptsPath)) val scriptPath = testScriptsPath.resolve("hello.js").toAbsolutePath() @@ -113,6 +124,19 @@ import elide.testing.annotations.TestCase } } + @Test fun testRootEntrypointExecuteTsFile() { + Assumptions.assumeTrue(Files.exists(testScriptsPath)) + val scriptPath = testScriptsPath.resolve("hello.ts").toAbsolutePath() + Assumptions.assumeTrue(Files.exists(scriptPath)) + + assertDoesNotThrow { + assertToolExitsWithCode( + 0, + scriptPath.toString(), + ) + } + } + @Test fun testRootEntrypointExecutePyFile() { Assumptions.assumeTrue(Files.exists(testScriptsPath)) val scriptPath = testScriptsPath.resolve("hello.py").toAbsolutePath() diff --git a/packages/graalvm/detekt-baseline.xml b/packages/graalvm/detekt-baseline.xml index b58449c990..6175090d16 100644 --- a/packages/graalvm/detekt-baseline.xml +++ b/packages/graalvm/detekt-baseline.xml @@ -76,8 +76,6 @@ SpreadOperator:NativeCryptoFeature.kt$NativeCryptoFeature$( "netty_tcnative_osx_$archTag", *tcnative, builtin = true, ) SpreadOperator:NativeCryptoFeature.kt$NativeCryptoFeature$( "transport", *tcnative, builtin = true, initializer = true, absolutePath = Path(System.getProperty("elide.target")).resolve("libtransport.a"), ) SpreadOperator:NativeCryptoFeature.kt$NativeCryptoFeature$(lib, *deps) - SpreadOperator:NativeSQLiteFeature.kt$NativeSQLiteFeature$(*fields( NativeDB::class.java, "pointer", "busyHandler", "commitListener", "updateListener", "progressHandler", )) - SpreadOperator:NativeSQLiteFeature.kt$NativeSQLiteFeature$(*fields(Function::class.java, "context", "value", "args")) SpreadOperator:NativeTransportFeature.kt$NativeTransportFeature$( "umbrella", *impl, builtin = true, ) SpreadOperator:NativeTransportFeature.kt$NativeTransportFeature$("epoll", "aarch64", *epollImpls) SpreadOperator:NativeTransportFeature.kt$NativeTransportFeature$("epoll", "x86-64", *epollImpls) diff --git a/tools/elide-build/src/main/kotlin/elide/internal/conventions/Constants.kt b/tools/elide-build/src/main/kotlin/elide/internal/conventions/Constants.kt index cdcad148d0..c4050fadd9 100644 --- a/tools/elide-build/src/main/kotlin/elide/internal/conventions/Constants.kt +++ b/tools/elide-build/src/main/kotlin/elide/internal/conventions/Constants.kt @@ -120,7 +120,7 @@ public object Constants { const val JVM_DEFAULT = "21" /** GraalVM metadata repository version. */ - const val GRAALVM_METADATA = "0.3.6" + const val GRAALVM_METADATA = "0.3.8" /** Version to pin for Diktat. */ const val DIKTAT = "2.0.0" @@ -144,7 +144,7 @@ public object Constants { const val NETTY = "4.1.110.Final" /** Guava version. */ - const val GUAVA = "33.2.1-jre" + const val GUAVA = "33.3.1-jre" /** gRPC version. */ const val GRPC = "1.62.2" @@ -153,10 +153,10 @@ public object Constants { const val JLINE = "3.26.1" /** Okio version. */ - const val OKIO = "3.7.1" + const val OKIO = "3.9.1" /** GraalVM version. */ - const val GRAALVM = "24.1.1" + const val GRAALVM = "24.1.2" } /** Kotlin conventions. */ diff --git a/tools/elide-build/src/main/kotlin/elide/internal/conventions/jvm/JavaConventions.kt b/tools/elide-build/src/main/kotlin/elide/internal/conventions/jvm/JavaConventions.kt index a4873cf047..b4ca270fdc 100644 --- a/tools/elide-build/src/main/kotlin/elide/internal/conventions/jvm/JavaConventions.kt +++ b/tools/elide-build/src/main/kotlin/elide/internal/conventions/jvm/JavaConventions.kt @@ -57,6 +57,7 @@ internal val automaticModuleConfigurations = sortedSetOf( internal val minifiedConfigurations = listOf() internal val globallyPinnedVersions: Map> = sortedMapOf( + "com.google.guava:guava" to (Versions.GUAVA to "sensitive compatibility"), "com.google.protobuf:protobuf-java" to (Versions.PROTOBUF to "sensitive compatibility"), "com.google.protobuf:protobuf-java-util" to (Versions.PROTOBUF to "sensitive compatibility"), "com.google.protobuf:protobuf-kotlin" to (Versions.PROTOBUF to "sensitive compatibility"), diff --git a/tools/umbrella/Cargo.toml b/tools/umbrella/Cargo.toml index 08faf577d2..7f681e94fe 100644 --- a/tools/umbrella/Cargo.toml +++ b/tools/umbrella/Cargo.toml @@ -11,8 +11,15 @@ name = "umbrella" crate-type = ["lib", "staticlib", "cdylib"] [features] -default = ["lib", "all", "entry"] -all = ["js", "python", "jvm"] +default = [ + "lib", + "all", + "entry", +] +all = [ + "js", + "jvm", +] diag = [] js = ["orogene"] jvm = [] diff --git a/tools/umbrella/src/lib.rs b/tools/umbrella/src/lib.rs index 496374a580..4c18b12402 100644 --- a/tools/umbrella/src/lib.rs +++ b/tools/umbrella/src/lib.rs @@ -33,8 +33,7 @@ static GLOBAL: mimalloc::MiMalloc = mimalloc::MiMalloc; static GLOBAL: tikv_jemallocator::Jemalloc = tikv_jemallocator::Jemalloc; use clap::Args as ClapArgs; -use clap::{Command, Parser}; -use colored::Colorize; +use clap::Command; use java_native::{jni, on_load, on_unload}; use jni::objects::{JClass, JObjectArray, JString}; use jni::sys::{jint, jobjectArray, jstring, JavaVM}; @@ -276,12 +275,12 @@ pub fn runOrogene<'local>( #[jni("dev.elide.cli.bridge.CliNativeBridge")] pub fn runRuff<'local>( - env: JNIEnv<'local>, + _env: JNIEnv<'local>, _class: JClass<'local>, - args: JObjectArray<'local>, + _args: JObjectArray<'local>, ) -> jint { #[cfg(feature = "ruff")] - match run_ruff_entry(decode_tool_args(env, args)) { + match run_ruff_entry(decode_tool_args(_env, _args)) { ExitStatus::Success => 0, ExitStatus::Failure => 1, ExitStatus::Error => 2,