diff --git a/.changeset/effect-4-0-5-peer-floor.md b/.changeset/effect-4-0-5-peer-floor.md index 327503d..0c4806a 100644 --- a/.changeset/effect-4-0-5-peer-floor.md +++ b/.changeset/effect-4-0-5-peer-floor.md @@ -4,7 +4,7 @@ "@systemfsoftware/storybook-gherkin": patch --- -The Effect dependency now resolves to 4.0.5, and so does every `@effect/*` package installed with it. +The Effect dependency resolved to 4.0.5, and so did every `@effect/*` package installed with it. - Effect 4.0.5 requires `effect@^4.0.5` as a peer, so a tree mixing 4.0.5 with an earlier 4.0.x fails at import, not at install. Install the versions your tree's `@effect/*` packages name. - `FileSystem.File.Info` reports `dev`, `ino`, `rdev`, `nlink` and `blocks` as `bigint` where it reported `number`. Convert at your own boundary with `BigInt` or `Number`. diff --git a/.changeset/effect-4-1-0-resolved.md b/.changeset/effect-4-1-0-resolved.md new file mode 100644 index 0000000..214322e --- /dev/null +++ b/.changeset/effect-4-1-0-resolved.md @@ -0,0 +1,10 @@ +--- +"@systemfsoftware/effect-atom": patch +"@systemfsoftware/effect-atom-react": patch +"@systemfsoftware/storybook-gherkin": patch +"@systemfsoftware/oxlint-config-frontend": patch +--- + +These packages are now verified against effect 4.1.0. The published peer range on `effect` stays `^4`, so no install requirement changes. + +A pull atom in `@systemfsoftware/effect-atom` now keeps the longest batch it has delivered: when two concurrent pulls finish out of order, the atom no longer drops back to the shorter batch. diff --git a/.changeset/tsgo-0-63-brands.md b/.changeset/tsgo-0-63-brands.md index 1d189d7..e0c2142 100644 --- a/.changeset/tsgo-0-63-brands.md +++ b/.changeset/tsgo-0-63-brands.md @@ -1,7 +1,7 @@ --- -"@systemfsoftware/effect-atom-react": patch -"@systemfsoftware/effect-atom": patch -"@systemfsoftware/storybook-gherkin": minor +"@systemfsoftware/effect-atom-react": major +"@systemfsoftware/effect-atom": major +"@systemfsoftware/storybook-gherkin": major --- - `DuplicateCapture` carries its capture name in `capture` and `OutlineDuplicateRowName` carries its row name in `rowName`, where both carried it in `name`. A `name` payload field shadows the error's own `name`, so logs showed the field value instead of the error type. Read `capture` or `rowName`. diff --git a/.github/actions/cloudflare-secrets/action.yml b/.github/actions/cloudflare-secrets/action.yml deleted file mode 100644 index 9b5c35c..0000000 --- a/.github/actions/cloudflare-secrets/action.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: Cloudflare secrets -description: >- - Fails fast when this repository's own Cloudflare secrets are absent, so a - deploy or preview names the missing secret instead of failing inside alchemy. -runs: - using: composite - steps: - - name: Check the Cloudflare secrets are set - shell: bash - run: | - missing=0 - for name in CLOUDFLARE_API_TOKEN CLOUDFLARE_ACCOUNT_ID; do - if [ -z "${!name:-}" ]; then - echo "::error::Repository secret ${name} is not set. This workflow deploys to your own Cloudflare account: add ${name} under Settings > Secrets and variables > Actions." - missing=1 - fi - done - exit "$missing" diff --git a/.github/actions/dev-shell/action.yml b/.github/actions/dev-shell/action.yml deleted file mode 100644 index 65a7fb3..0000000 --- a/.github/actions/dev-shell/action.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: Dev shell and sandbox -description: >- - Installs Nix, lets the sandbox create user namespaces on ubuntu-24.04, - creates .cache/ (where sandboxed steps leave files for the host, since - the runner's $GITHUB_OUTPUT and /tmp are outside the sandbox), and - installs the workspace through the sandbox, offline from the Nix pnpm - store. -inputs: - install: - description: Install the workspace through the sandbox - default: "true" -runs: - using: composite - steps: - - uses: cachix/install-nix-action@v31 - - name: Lift the ubuntu-24.04 AppArmor block on user namespaces - if: runner.os == 'Linux' - shell: bash - run: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 - - name: Create the sandbox's output directory - shell: bash - run: mkdir -p .cache - - name: Install through the sandbox, offline from the Nix pnpm store - if: inputs.install == 'true' - shell: bash - run: nix develop --command pnpm bootstrap diff --git a/.github/rulesets/gates.json b/.github/rulesets/gates.json index c5c7849..2f270f8 100644 --- a/.github/rulesets/gates.json +++ b/.github/rulesets/gates.json @@ -25,16 +25,7 @@ "parameters": { "strict_required_status_checks_policy": true, "required_status_checks": [ - { "context": "check (format)" }, - { "context": "check (lint)" }, - { "context": "check (typecheck)" }, - { "context": "check (test)" }, - { "context": "check (dist)" }, - { "context": "check (sfs-sources)" }, - { "context": "journeys" }, - { "context": "lint PR commits" }, - { "context": "changeset · shared tooling / a publishable-package change needs an intent" }, - { "context": "rules" } + { "context": "check" } ] } } diff --git a/.github/workflows/changeset-check.yml b/.github/workflows/changeset-check.yml deleted file mode 100644 index e0eaf55..0000000 --- a/.github/workflows/changeset-check.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: Changeset Check - -on: - pull_request: - types: [opened, synchronize, reopened, ready_for_review] - -permissions: - contents: read - pull-requests: read - -jobs: - check: - name: changeset · shared tooling - uses: systemfsoftware/pnpm-release-management/.github/workflows/changeset-check.yml@main - with: - tools-ref: main - devshell: true - permissions: - contents: read - pull-requests: read diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml new file mode 100644 index 0000000..2b5818e --- /dev/null +++ b/.github/workflows/check.yml @@ -0,0 +1,57 @@ +name: Check + +on: + pull_request: + types: [opened, synchronize, reopened] + push: + branches: [main] + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: check-${{ github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + +jobs: + check: + name: check + runs-on: ubuntu-latest + timeout-minutes: 45 + env: + CI: "true" + OXLINT_FORMAT: github + steps: + - uses: actions/checkout@v7 + with: + persist-credentials: false + fetch-depth: 0 + - uses: cachix/install-nix-action@v31 + - name: Lift the ubuntu-24.04 AppArmor block on user namespaces + run: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 + - name: Create the sandbox's output directory + run: mkdir -p .cache + - name: Install through the sandbox, offline from the Nix pnpm store + run: nix develop --command pnpm bootstrap + - name: Turbo cache + uses: actions/cache@v6 + with: + path: .turbo/cache + key: turbo-${{ runner.os }}-check-${{ github.sha }} + restore-keys: | + turbo-${{ runner.os }}-check- + turbo-${{ runner.os }}- + - name: Check + run: nix develop --command pnpm exec turbo run format:check lint typecheck test --affected + - name: Lint PR commits + if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' + env: + BASE_SHA: ${{ github.event.pull_request.base.sha }} + HEAD_SHA: ${{ github.event.pull_request.head.sha }} + run: nix develop --command sandbox -- pnpm exec commitlint --from "$BASE_SHA" --to "$HEAD_SHA" --verbose + - name: Require a change intent for every publishable-package change + if: github.event_name == 'pull_request' && !(github.head_ref == 'changeset-release/main' && github.event.pull_request.head.repo.full_name == github.repository) + env: + BASE_SHA: ${{ github.event.pull_request.base.sha }} + run: nix develop --command changeset-management check "$BASE_SHA" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index 9c88ffd..0000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,97 +0,0 @@ -name: CI - -on: - pull_request: - workflow_dispatch: - workflow_call: - -permissions: - contents: read - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - check: - name: check (${{ matrix.leg }}) - strategy: - fail-fast: false - matrix: - include: - - leg: format - runs-on: ubuntu-latest - gate: pnpm format:check - - leg: lint - runs-on: ubuntu-latest - gate: pnpm lint - - leg: typecheck - runs-on: ubuntu-latest - gate: pnpm typecheck - - leg: test - runs-on: ubuntu-latest - gate: pnpm test - - leg: dist - runs-on: ubuntu-latest - gate: pnpm gate:dist - - leg: sfs-sources - runs-on: ubuntu-latest - gate: pnpm check:sfs-sources - runs-on: ${{ matrix.runs-on }} - timeout-minutes: 45 - env: - CI: "true" - OXLINT_FORMAT: github - steps: - - uses: actions/checkout@v7 - with: - persist-credentials: false - - uses: ./.github/actions/dev-shell - - name: Turbo cache - uses: actions/cache@v6 - with: - path: .turbo/cache - key: turbo-${{ runner.os }}-dist-${{ github.sha }} - restore-keys: | - turbo-${{ runner.os }}-dist- - turbo-${{ runner.os }}- - - name: Gate - run: nix develop --command ${{ matrix.gate }} - - journeys: - name: journeys - runs-on: ubuntu-latest - timeout-minutes: 30 - env: - CI: "true" - steps: - - uses: actions/checkout@v7 - with: - persist-credentials: false - - uses: ./.github/actions/dev-shell - - name: Journeys against pnpm dev - run: nix develop --command pnpm journeys - - if: always() - uses: actions/upload-artifact@v6 - with: - name: journeys - path: | - apps/site-e2e/artifacts/ - .journeys/dev.log - if-no-files-found: ignore - - rules: - name: rules - runs-on: ubuntu-latest - timeout-minutes: 15 - permissions: - contents: read - steps: - - uses: actions/checkout@v7 - with: - persist-credentials: false - - uses: ./.github/actions/dev-shell - - name: Main's active rules require every pull-request check - env: - GITHUB_TOKEN: ${{ github.token }} - run: nix develop --command pnpm check:branch-rules diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml deleted file mode 100644 index d9b4ac8..0000000 --- a/.github/workflows/commitlint.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: Commitlint - -on: - pull_request: - branches: [main] - -permissions: - contents: read - -jobs: - commitlint: - if: github.actor != 'dependabot[bot]' - name: lint PR commits - runs-on: ubuntu-latest - timeout-minutes: 15 - steps: - - uses: actions/checkout@v7 - with: - fetch-depth: 0 - persist-credentials: false - - uses: ./.github/actions/dev-shell - - run: nix develop --command sandbox -- pnpm exec commitlint --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }} --verbose diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..c3f2ad4 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,81 @@ +name: Deploy + +on: + push: + branches: [main] + pull_request: + types: [opened, reopened, synchronize, closed] + +permissions: + contents: read + pull-requests: write + +concurrency: + group: deploy-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: false + +env: + ALCHEMY_STAGE: ${{ github.event_name == 'pull_request' && format('pr-{0}', github.event.number) || (github.ref == 'refs/heads/main' && 'prod' || github.ref_name) }} + +jobs: + deploy: + name: deploy + if: ${{ github.event.action != 'closed' && !github.event.repository.is_template && vars.ALCHEMY_DEPLOY == 'true' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) }} + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v7 + with: + persist-credentials: false + - uses: cachix/install-nix-action@v31 + - name: Lift the ubuntu-24.04 AppArmor block on user namespaces + run: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 + - name: Create the sandbox's output directory + run: mkdir -p .cache + - name: Install through the sandbox, offline from the Nix pnpm store + run: nix develop --command pnpm bootstrap + - name: Check provider environment + env: + CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} + CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + run: nix develop --command pnpm run check-env + - name: Deploy + env: + CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} + CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + SITE_DOMAIN: ${{ github.ref == 'refs/heads/main' && vars.SITE_DOMAIN || '' }} + ALCHEMY_GITHUB_TOKEN: ${{ github.token }} + PULL_REQUEST: ${{ github.event.number }} + GITHUB_SHA: ${{ github.sha }} + run: nix develop --command pnpm run deploy + + cleanup: + name: cleanup + if: ${{ github.event_name == 'pull_request' && github.event.action == 'closed' && !github.event.repository.is_template && vars.ALCHEMY_DEPLOY == 'true' && github.event.pull_request.head.repo.full_name == github.repository }} + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v7 + with: + persist-credentials: false + - uses: cachix/install-nix-action@v31 + - name: Lift the ubuntu-24.04 AppArmor block on user namespaces + run: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 + - name: Create the sandbox's output directory + run: mkdir -p .cache + - name: Install through the sandbox, offline from the Nix pnpm store + run: nix develop --command pnpm bootstrap + - name: Safety check + run: | + if [ "$ALCHEMY_STAGE" = "prod" ]; then + echo "refusing to destroy the prod stage" >&2 + exit 1 + fi + - name: Destroy preview + env: + CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} + CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + ALCHEMY_GITHUB_TOKEN: ${{ github.token }} + PULL_REQUEST: ${{ github.event.number }} + GITHUB_SHA: ${{ github.sha }} + run: nix develop --command pnpm run destroy diff --git a/.github/workflows/previews.yml b/.github/workflows/previews.yml deleted file mode 100644 index f35f01d..0000000 --- a/.github/workflows/previews.yml +++ /dev/null @@ -1,65 +0,0 @@ -name: Preview - -on: - pull_request: - types: [opened, synchronize, reopened, closed] - -permissions: - contents: read - pull-requests: write - -concurrency: - group: preview-${{ github.event.pull_request.number }} - cancel-in-progress: false - -jobs: - deploy: - name: preview · deploy - if: ${{ !github.event.repository.is_template && github.event.action != 'closed' && github.event.pull_request.head.repo.full_name == github.repository }} - runs-on: ubuntu-latest - timeout-minutes: 45 - env: - ALCHEMY_STAGE: pr-${{ github.event.pull_request.number }} - CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} - CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} - steps: - - uses: actions/checkout@v7 - with: - persist-credentials: false - - uses: ./.github/actions/cloudflare-secrets - - uses: ./.github/actions/dev-shell - - name: Deploy the preview - run: nix develop --command pnpm run deploy - - name: Read the preview URL - id: site - run: | - state="$(nix develop --command ./bin/cloud pnpm --filter @endgame/site exec alchemy state cat --backend cloudflare "Endgame/${ALCHEMY_STAGE}/output" | sed -n '/^{/,$p')" - echo "url=$(jq -er '.url' <<<"$state")" >> "$GITHUB_OUTPUT" - - name: Comment on the pull request - env: - GH_TOKEN: ${{ github.token }} - GH_REPO: ${{ github.repository }} - SITE_URL: ${{ steps.site.outputs.url }} - PR: ${{ github.event.pull_request.number }} - run: | - body="$(printf '### Preview %s\n\n%s\n\n[Preview run](%s/%s/actions/runs/%s)\n' \ - "$ALCHEMY_STAGE" "$SITE_URL" "${{ github.server_url }}" "${{ github.repository }}" "${{ github.run_id }}")" - gh pr comment "$PR" --edit-last --create-if-none --body "$body" - - destroy: - name: preview · destroy - if: ${{ !github.event.repository.is_template && github.event.action == 'closed' && github.event.pull_request.head.repo.full_name == github.repository }} - runs-on: ubuntu-latest - timeout-minutes: 30 - env: - ALCHEMY_STAGE: pr-${{ github.event.pull_request.number }} - CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} - CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} - steps: - - uses: actions/checkout@v7 - with: - persist-credentials: false - - uses: ./.github/actions/cloudflare-secrets - - uses: ./.github/actions/dev-shell - - name: Destroy the preview - run: nix develop --command pnpm run destroy diff --git a/.github/workflows/release-gate.yml b/.github/workflows/release-gate.yml deleted file mode 100644 index 5992b1e..0000000 --- a/.github/workflows/release-gate.yml +++ /dev/null @@ -1,102 +0,0 @@ -name: Release gate - -on: - push: - branches: [main] - -permissions: - contents: read - -concurrency: - group: release-gate-${{ github.ref }} - cancel-in-progress: false - -jobs: - ci: - uses: ./.github/workflows/ci.yml - - plan: - name: plan · mutation shards - runs-on: ubuntu-latest - timeout-minutes: 15 - outputs: - shards: ${{ steps.shards.outputs.shards }} - steps: - - uses: actions/checkout@v7 - with: - persist-credentials: false - - uses: ./.github/actions/dev-shell - with: - install: "false" - - id: shards - run: | - nix develop --command sandbox --allow-host jsr.io -- ./scripts/mutation-shards.ts --output .cache/mutation-shards.out - cat .cache/mutation-shards.out >> "$GITHUB_OUTPUT" - - mutation: - name: mutation · ${{ matrix.shard.package }} - needs: [plan] - runs-on: ubuntu-latest - timeout-minutes: 75 - strategy: - fail-fast: false - matrix: - shard: ${{ fromJSON(needs.plan.outputs.shards) }} - env: - CI: "true" - PACKAGE: ${{ matrix.shard.package }} - MUTATE: ${{ join(matrix.shard.mutate, ',') }} - steps: - - uses: actions/checkout@v7 - with: - persist-credentials: false - - uses: ./.github/actions/dev-shell - - name: Stryker incremental cache - uses: actions/cache@v6 - with: - path: | - apps/*/reports/stryker-incremental.json - packages/*/reports/stryker-incremental.json - key: stryker-${{ matrix.shard.package }}-${{ github.sha }} - restore-keys: stryker-${{ matrix.shard.package }}- - - name: Mutation dependencies - shell: bash - run: | - deps="$(nix develop --command pnpm exec turbo run mutation --filter="$PACKAGE" --dry=json | jq -r --arg self "$PACKAGE#mutation" '[.tasks[].taskId | select(. != $self)] | join(" ")')" - read -ra tasks <<< "$deps" - if [ "${#tasks[@]}" -gt 0 ]; then nix develop --command pnpm exec sandbox -- turbo run "${tasks[@]}"; fi - - name: Mutation at break 100 - run: nix develop --command pnpm exec sandbox --pass-env GITHUB_ACTIONS -- turbo run mutation --filter="$PACKAGE" --only -- --mutate "$MUTATE" - - if: always() - uses: actions/upload-artifact@v6 - with: - name: mutation-report-${{ strategy.job-index }} - path: | - apps/*/reports/mutation-report.* - packages/*/reports/mutation-report.* - if-no-files-found: ignore - - deploy: - name: deploy · production - needs: [ci, plan, mutation] - if: ${{ !github.event.repository.is_template }} - runs-on: ubuntu-latest - timeout-minutes: 45 - env: - ALCHEMY_STAGE: prod - CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} - CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} - SITE_DOMAIN: ${{ vars.SITE_DOMAIN }} - steps: - - uses: actions/checkout@v7 - with: - persist-credentials: false - - uses: ./.github/actions/cloudflare-secrets - - uses: ./.github/actions/dev-shell - - name: Deploy production - run: nix develop --command pnpm run deploy - - name: Read the production URL - id: site - run: | - state="$(nix develop --command ./bin/cloud pnpm --filter @endgame/site exec alchemy state cat --backend cloudflare "Endgame/prod/output" | sed -n '/^{/,$p')" - echo "url=$(jq -er '.url' <<<"$state")" >> "$GITHUB_OUTPUT" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a8e8a89..65251bc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,11 +14,30 @@ permissions: actions: write jobs: + types: + name: types · attw + runs-on: ubuntu-latest + timeout-minutes: 15 + steps: + - uses: actions/checkout@v7 + with: + persist-credentials: false + - uses: cachix/install-nix-action@v31 + - name: Lift the ubuntu-24.04 AppArmor block on user namespaces + run: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 + - name: Create the sandbox's output directory + run: mkdir -p .cache + - name: Install through the sandbox, offline from the Nix pnpm store + run: nix develop --command pnpm bootstrap + - name: Check the published type shape of every publishable package + run: nix develop --command pnpm attw + release: name: release · shared tooling + needs: types uses: systemfsoftware/pnpm-release-management/.github/workflows/release.yml@main with: - ci-workflow: ci.yml + ci-workflow: check.yml permissions: contents: write pull-requests: write diff --git a/.mergify.yml b/.mergify.yml index 563ee81..177cb93 100644 --- a/.mergify.yml +++ b/.mergify.yml @@ -10,27 +10,9 @@ queue_rules: - -label = hold - "approved-reviews-by = kiro-systemf[bot]" - "#changes-requested-reviews-by = 0" - - check-success = check (format) - - check-success = check (lint) - - check-success = check (typecheck) - - check-success = check (test) - - check-success = check (dist) - - check-success = check (sfs-sources) - - check-success = journeys - - check-success = rules - - check-success = lint PR commits - - check-success = changeset · shared tooling + - check-success = check merge_conditions: - - check-success = check (format) - - check-success = check (lint) - - check-success = check (typecheck) - - check-success = check (test) - - check-success = check (dist) - - check-success = check (sfs-sources) - - check-success = journeys - - check-success = rules - - check-success = lint PR commits - - check-success = changeset · shared tooling + - check-success = check pull_request_rules: - name: queue when ready diff --git a/AGENTS.md b/AGENTS.md index 84f58c8..dca7d81 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -31,7 +31,7 @@ applications — both are workspace globs in `pnpm-workspace.yaml`. Turbo declar - This repo is a template and holds no credentials; CI proves everything locally. Gate: review of the workflow diff; a job that needs a secret carries `if: ${{ !github.event.repository.is_template }}`. - Every job runs on GitHub-hosted `ubuntu-latest` runners. This repository is public, and the org's self-hosted fleet runner group admits only private repositories (fork safety), so a `[self-hosted, systemfsoftware-runner, *]` job here queues forever. Gate: review of the workflow diff. - Cloudflare credentials enter a sandbox only through `bin/cloud` (deploy, destroy, state reads). Gate: review of the workflow diff — wrong: `sandbox --pass-env CLOUDFLARE_API_TOKEN -- pnpm --filter @endgame/site exec alchemy deploy`; right: `./bin/cloud pnpm --filter @endgame/site exec alchemy deploy`. -- Heavy suites split across parallel hosted jobs instead of a larger runner: Linux `check:ci` runs as one job per part (format, lint, typecheck, test, dist), and mutation on `main` runs one job per package. Gate: review of the workflow diff. +- CI is three workflows: `check.yml` (one `check` job: `turbo run format:check lint typecheck test --affected`, commitlint over the PR range, and the change-intent gate on PRs), `deploy.yml` (a `deploy` and a `cleanup` job, dormant until the repository variable `ALCHEMY_DEPLOY` is `true`) and `release.yml` (the shared release tooling that versions and tags the four published packages, dispatching `check.yml` on the release PR); mutation is an on-demand package script and never gates a deploy. Gate: review of the workflow diff. ## End of Session diff --git a/README.md b/README.md index 61475de..82bc4f3 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![License: Apache-2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE) [![Effect: 4.0](https://img.shields.io/badge/Effect-4.0-purple.svg)](https://effect.website) -[![CI](https://github.com/systemfsoftware/starter/actions/workflows/ci.yml/badge.svg)](https://github.com/systemfsoftware/starter/actions/workflows/ci.yml) +[![CI](https://github.com/systemfsoftware/starter/actions/workflows/check.yml/badge.svg)](https://github.com/systemfsoftware/starter/actions/workflows/check.yml) > 🏛️ **starter** is an opinionated monorepo template for serious TypeScript with Effect and AI coding agents. > 🔒 One architecture, zero knobs, and mechanical gates that reject the slop agents produce when left unconstrained. @@ -139,7 +139,9 @@ A copy gets the template's files, not its repository settings, so nothing stops gh api -X POST repos/{owner}/{repo}/rulesets --input .github/rulesets/gates.json ``` -Until it is installed, CI's `rules` check fails on every pull request and every push to `main`, and the production deploy waits on it. +When the checks a ruleset requires change, update the installed ruleset instead of creating a second one: PUT the file to the ruleset's id (`gh api repos/{owner}/{repo}/rulesets/ -X PUT --input .github/rulesets/gates.json`, id from `gh api repos/{owner}/{repo}/rulesets`), then run `pnpm check:branch-rules` to confirm the live ruleset and [`scripts/check-branch-rules.ts`](scripts/check-branch-rules.ts) agree. A pull request whose checks were renamed hangs on the old contexts until it is applied. + +Until it is installed, nothing stops a pull request with failing checks from merging. The ruleset requires the single `check` job. ### 6. Deploy @@ -153,7 +155,46 @@ ALCHEMY_STAGE=pr-12 pnpm run destroy `pnpm run deploy`, not `pnpm deploy`: the bare form is pnpm's own built-in command. -In your copy, with the two secrets set as repository secrets (and `SITE_DOMAIN` as a repository variable), every same-repo pull request gets a preview with its URL in a comment, and `main` deploys production once the release gate passes. The template itself never deploys. +In a copy that has run the [section 7](#7-credentials-for-ci) bootstrap and set the repository variable `ALCHEMY_DEPLOY` to `true` (plus `SITE_DOMAIN` as a repository variable to serve production on a domain), every same-repo pull request gets a preview deploy with its URL in a comment and its stage destroyed on close, and `main` deploys production in one job with no gate in front of it. The template itself never deploys. + +### 7. Credentials for CI + +The operator runs this once per repository that opts in to deploys. It runs on the host, outside every sandbox (not through `bin/cloud` or `sandbox --`), and never on the template. It mints a scoped Cloudflare token and writes it to the repository as secrets, so no one hand-copies a token into repository settings. + +The bootstrap requires `SITE_DOMAIN`: a hostname in a zone on the account, because the CI token's zone grants are scoped to that zone. A copy that serves only on `workers.dev` skips the bootstrap and creates the `CLOUDFLARE_API_TOKEN` and `CLOUDFLARE_ACCOUNT_ID` repository secrets by hand instead. + +From `apps/site` in the dev shell, with the operator's own secrets (supplied from Doppler, key named by the operator; never print them): + +```bash +cd apps/site +CLOUDFLARE_API_TOKEN=… CLOUDFLARE_ACCOUNT_ID=… GITHUB_ACCESS_TOKEN=… \ + GITHUB_REPOSITORY=/ SITE_DOMAIN= \ + pnpm exec alchemy deploy --config stacks/github.ts --stage ci-credentials +``` + +- `CLOUDFLARE_API_TOKEN`: an admin-scoped Cloudflare token that can create API tokens. A standard Edit Workers token is not enough; use an account API token with `Account > API Tokens > Write`, or the Global API Key. +- `CLOUDFLARE_ACCOUNT_ID`: the target account. +- `GITHUB_ACCESS_TOKEN`: a fine-grained personal access token on that one repository with only Secrets: write, and a short expiry. +- `GITHUB_REPOSITORY`: `/` of the repository that receives the secrets. +- `SITE_DOMAIN`: a hostname in a zone on the account. The CI token's zone grants are limited to that zone. + +These environment credentials win over any alchemy profile, so no `--profile` flag is needed. The fixed `ci-credentials` stage means a rerun updates the same token and secrets instead of minting new ones. A rerun changes the token's grants in place and keeps its value. + +The stack is named `github--` from `GITHUB_REPOSITORY`, so every repository's bootstrap carries its own state: alchemy's state store keys each resource by stack, stage, and resource name (`@alchemy.run/cloudflare` `src/StateStore/Api.ts:75-79`, `:121-135`; the stack name flows from `Alchemy.Stack` into that key, `alchemy/src/Stack.ts:155-157`, `:216`). Two repositories therefore never share a state key, and one repository's `destroy` cannot delete another's token or secrets. + +The stack creates a Cloudflare account API token and two repository secrets, `CLOUDFLARE_API_TOKEN` and `CLOUDFLARE_ACCOUNT_ID`. The token holds: + +- Account: Workers Scripts Write, D1 Write, Workers Tail Read, and Secrets Store Write. Secrets Store Write is needed because every cloud stage keeps its state in a worker that is bound to the account's Secrets Store. +- The `SITE_DOMAIN` zone only: Workers Routes Write, DNS Write, and Zone Read. Zone Read is needed because the custom-domain path looks the zone up by name. + +After it runs: + +1. Confirm the secrets exist with `gh secret list` (names only). +2. Revoke the previous hand-made Cloudflare token by name in the Cloudflare dashboard. +3. Set the repository variable `ALCHEMY_DEPLOY` to `true`, and `SITE_DOMAIN` to the same hostname so production serves on it. Nothing deploys until `ALCHEMY_DEPLOY` is set. +4. To rotate the token's value, at least every 90 days, run `pnpm exec alchemy destroy --config stacks/github.ts --stage ci-credentials` with the same environment, then run the deploy command again. The destroy deletes the token, the deploy mints a new one and rewrites both secrets, and deploys fail in between. + +A new resource type needs its permission group added to `apps/site/stacks/github.ts`. --- @@ -173,7 +214,7 @@ pnpm lint # Run unit and integration tests pnpm test -# Run full CI suite locally +# Run every local gate (a superset of what CI runs) pnpm check:ci ``` @@ -198,7 +239,7 @@ Every configuration toggle provides a route for AI agents to downgrade verificat
How does mutation testing work in this template? -Stryker introduces deliberate syntax and logic mutations into your code and runs your test suite against each mutant. If your tests still pass when code behavior changes, the mutant survives and the gate fails. The release gate mutates only `*.workflow.ts` decision files. Its planner (`scripts/mutation-shards.ts`) lists each package's workflow files and hands exactly that list to Stryker, and it refuses anything that would change that set before Stryker starts. Those files require a 100% kill score. Mutation runs only in the release gate on pushes to `main`, never locally or on pull requests. +Stryker introduces deliberate syntax and logic mutations into your code and runs your test suite against each mutant. If your tests still pass when code behavior changes, the mutant survives. Mutation is an on-demand script, `pnpm --filter @endgame/site mutation` (`stryker run`), never a CI job and never a gate in front of a deploy. The shared config (`stryker.shared.ts`) mutates only `**/*.workflow.ts` files in the package, runs the Vitest tests related to each mutant, and breaks the run below a 100% kill score.
diff --git a/STRATEGY.md b/STRATEGY.md index f21dd17..54dd288 100644 --- a/STRATEGY.md +++ b/STRATEGY.md @@ -39,7 +39,7 @@ their own review attention, and drift can't accumulate behind their back. - No light preset, no opt-out, no `warn` severity — ever. - No second exemplar: the starter is the exemplar, and a demo app would drift from doctrine; systemfsoftware's `examples/` is deleted in its favour. - Cloudflare is the one deploy target. -- Mutation runs only on push to `main`. +- Mutation runs on demand (`pnpm --filter @endgame/site mutation`), never as a CI or deploy gate. - No Effect 3 compatibility surface: Effect 4 is the price of entry. _Resist a change when:_ it buys adoption — or stars — by making the endgame shape optional. diff --git a/apps/site/alchemy.run.ts b/apps/site/alchemy.run.ts index 8580e80..ea9f8ce 100644 --- a/apps/site/alchemy.run.ts +++ b/apps/site/alchemy.run.ts @@ -1,5 +1,7 @@ +import * as Cloudflare from '@alchemy.run/cloudflare' +import * as GitHub from '@alchemy.run/github' import * as Alchemy from 'alchemy' -import * as Cloudflare from 'alchemy/Cloudflare' +import * as Output from 'alchemy/Output' import * as Effect from 'effect/Effect' import * as Layer from 'effect/Layer' @@ -34,9 +36,18 @@ const stateOfStage = Layer.unwrap( export default Alchemy.Stack( 'Endgame', - { providers: Cloudflare.providers(), state: stateOfStage }, + { providers: Layer.mergeAll(GitHub.providers(), Cloudflare.providers()), state: stateOfStage }, Effect.gen(function*() { const site = yield* Site + const github = yield* GitHub.GitHubEnv + if (github?.pr !== undefined) { + yield* GitHub.Comment('preview-comment', { + owner: github.owner, + repository: github.repository, + issueNumber: github.pr, + body: Output.interpolate`### Preview\n\n${site.url}\n\nCommit \`${github.sha.slice(0, 7)}\``, + }) + } return { url: site.url, workerName: site.workerName } }), ) diff --git a/apps/site/package.json b/apps/site/package.json index 45292a4..fd9d4f9 100644 --- a/apps/site/package.json +++ b/apps/site/package.json @@ -11,7 +11,8 @@ "react-dom": "catalog:" }, "devDependencies": { - "@alchemy.run/frontend-frameworks": "catalog:", + "@alchemy.run/cloudflare": "catalog:", + "@alchemy.run/github": "catalog:", "@babel/core": "catalog:", "@cloudflare/vite-plugin": "catalog:", "@cloudflare/workers-types": "catalog:", diff --git a/apps/site/src/cloudflare-env.d.ts b/apps/site/src/cloudflare-env.d.ts index 56ece9c..66873f9 100644 --- a/apps/site/src/cloudflare-env.d.ts +++ b/apps/site/src/cloudflare-env.d.ts @@ -1,4 +1,4 @@ -import type * as Alchemy from 'alchemy/Cloudflare' +import type * as Alchemy from '@alchemy.run/cloudflare' import type { Site } from '../alchemy.run' diff --git a/apps/site/stacks/github.ts b/apps/site/stacks/github.ts new file mode 100644 index 0000000..bf5dda9 --- /dev/null +++ b/apps/site/stacks/github.ts @@ -0,0 +1,60 @@ +// Mints the scoped Cloudflare token CI deploys with and stores it as repository secrets. +// Run once per roll-out repository, from the host, with an admin-scoped Cloudflare token. +// Never run it through bin/cloud or a sandbox. Stage: ci-credentials (README, "Credentials for CI"). +// A new resource type needs its permission group added here. +import * as Cloudflare from '@alchemy.run/cloudflare' +import * as GitHub from '@alchemy.run/github' +import * as Alchemy from 'alchemy' +import * as Config from 'effect/Config' +import * as Effect from 'effect/Effect' +import * as Layer from 'effect/Layer' +import * as Redacted from 'effect/Redacted' + +const slug = process.env['GITHUB_REPOSITORY']?.toLowerCase() +if (slug === undefined || !/^[^/]+\/[^/]+$/.test(slug)) { + throw new Error( + 'GITHUB_REPOSITORY must be set to /: the credentials stack is named after it, so each repository keys its own alchemy state, and its secrets are written to that repository.', + ) +} +const owner = slug.slice(0, slug.indexOf('/')) +const repository = slug.slice(slug.indexOf('/') + 1) + +export default Alchemy.Stack( + `github-${owner}-${repository}`, + { providers: Layer.mergeAll(Cloudflare.providers(), GitHub.providers()), state: Cloudflare.state() }, + Effect.gen(function*() { + const hostname = yield* Config.NonEmptyString('SITE_DOMAIN') + const { accountId } = yield* yield* Cloudflare.CloudflareEnvironment + const zoneId = yield* Cloudflare.Zone.resolveZoneId({ accountId, zone: undefined, hostname }).pipe(Effect.orDie) + const accountKey = `com.cloudflare.api.account.${accountId}` as const + + const token = yield* Cloudflare.ApiToken.AccountApiToken('CIToken', { + accountId, + policies: [ + { + effect: 'allow', + permissionGroups: ['Workers Scripts Write', 'D1 Write', 'Workers Tail Read', 'Secrets Store Write'], + resources: { [accountKey]: '*' }, + }, + { + effect: 'allow', + permissionGroups: ['Workers Routes Write', 'DNS Write', 'Zone Read'], + resources: { [accountKey]: { [`com.cloudflare.api.account.zone.${zoneId}`]: '*' } }, + }, + ], + }) + + yield* GitHub.Secret('CloudflareApiToken', { + owner, + repository, + name: 'CLOUDFLARE_API_TOKEN', + value: token.value, + }) + yield* GitHub.Secret('CloudflareAccountId', { + owner, + repository, + name: 'CLOUDFLARE_ACCOUNT_ID', + value: Redacted.make(accountId), + }) + }), +) diff --git a/bin/cloud b/bin/cloud index 1ae183c..aabe13d 100755 --- a/bin/cloud +++ b/bin/cloud @@ -2,17 +2,28 @@ # Run a Cloudflare-facing command (an alchemy deploy, destroy or state read) # inside the sandbox. This is the one place the Cloudflare credentials enter a # sandbox, and the one list of hosts such a command may reach: Cloudflare's -# API, and the account's workers.dev hosts, where alchemy's state store -# answers. Telemetry stays off, so nothing else needs to be reachable. +# API, the account's workers.dev hosts, where alchemy's state store answers, +# and api.github.com, where the app stack's GitHub.Comment posts the preview +# URL. The Actions token enters only under the CI-only name +# ALCHEMY_GITHUB_TOKEN, mapped here to the provider's GITHUB_ACCESS_TOKEN, so an +# ambient GITHUB_TOKEN or PAT never crosses. Telemetry stays off. set -euo pipefail export DO_NOT_TRACK=1 +export GITHUB_ACCESS_TOKEN="${ALCHEMY_GITHUB_TOKEN-}" exec sandbox \ --allow-host api.cloudflare.com \ --allow-host '*.workers.dev' \ + --allow-host api.github.com \ --pass-env CLOUDFLARE_API_TOKEN \ --pass-env CLOUDFLARE_ACCOUNT_ID \ --pass-env SITE_DOMAIN \ + --pass-env GITHUB_ACCESS_TOKEN \ + --pass-env GITHUB_ACTIONS \ + --pass-env GITHUB_SHA \ + --pass-env GITHUB_REPOSITORY \ + --pass-env GITHUB_REPOSITORY_OWNER \ + --pass-env PULL_REQUEST \ --pass-env DO_NOT_TRACK \ --pass-env CI \ -- "$@" diff --git a/package.json b/package.json index 3bcbf8b..659f4bf 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "check:branch-rules": "sandbox --allow-host api.github.com --allow-host jsr.io --pass-env GITHUB_TOKEN --pass-env GITHUB_REPOSITORY -- ./scripts/check-branch-rules.ts", "check:sfs-sources": "sandbox --allow-host jsr.io -- ./scripts/check-sfs-sources.ts", "clean": "sandbox -- turbo clean", + "check-env": "./bin/cloud pnpm --filter @endgame/site exec alchemy provider check-env --provider cloudflare", "deploy": "./bin/cloud pnpm --filter @endgame/site exec alchemy deploy --stage \"${ALCHEMY_STAGE:-prod}\" --no-input --yes", "destroy": "./bin/cloud pnpm --filter @endgame/site exec alchemy destroy --stage \"${ALCHEMY_STAGE:?set ALCHEMY_STAGE, e.g. pr-}\" --no-input --yes", "format": "./bin/dprint fmt", diff --git a/packages/atom/effect-atom-react/vitest.config.ts b/packages/atom/effect-atom-react/vitest.config.ts index b153b34..eafb06b 100644 --- a/packages/atom/effect-atom-react/vitest.config.ts +++ b/packages/atom/effect-atom-react/vitest.config.ts @@ -10,6 +10,7 @@ export default defineConfig({ projects: [ { extends: true, + define: { 'process.platform': JSON.stringify('linux') }, test: { name: 'browser', include: ['./tests/**/*.integration.test.ts', '!./tests/ssr.integration.test.ts'], diff --git a/packages/atom/effect-atom/src/atom.blueprint.ts b/packages/atom/effect-atom/src/atom.blueprint.ts index f86a998..fa25400 100644 --- a/packages/atom/effect-atom/src/atom.blueprint.ts +++ b/packages/atom/effect-atom/src/atom.blueprint.ts @@ -1625,19 +1625,53 @@ function pullAccumulatedItems( return items } +interface PullDelivery { + readonly accumulate: boolean + count: number + result: PullResult | undefined +} + function finishPullCallback( get: AtomContext, cancels: Set<() => void>, cancel: (() => void) | undefined, exit: Exit.Exit<{ readonly done: boolean; readonly items: Arr.NonEmptyReadonlyArray }, E>, + delivery: PullDelivery, ): void { if (cancel !== undefined) { cancels.delete(cancel) } - const result = AsyncResult.fromExitWithPrevious(exit, Option.none()) + const result = newerPullResult(AsyncResult.fromExitWithPrevious(exit, Option.none()), delivery) get.setSelf(pullCallbackResult(result, cancels.size > 0)) } +// Concurrent pulls can finish in a different order than their batches were produced in. An +// accumulating pull keeps the longest batch it has delivered, so a late, shorter one is dropped. +function newerPullResult(fresh: PullResult, delivery: PullDelivery): PullResult { + recordPullDelivery(fresh, delivery) + return delivery.result ?? fresh +} + +function recordPullDelivery(fresh: PullResult, delivery: PullDelivery): void { + if (isOlderPullBatch(fresh, delivery)) { + return + } + delivery.result = fresh + delivery.count = largerPullCount(fresh, delivery.count) +} + +function isOlderPullBatch(fresh: PullResult, delivery: PullDelivery): boolean { + return delivery.accumulate ? delivery.count > pullBatchSize(fresh) : false +} + +function pullBatchSize(result: PullResult): number { + return AsyncResult.isSuccess(result) ? result.value.items.length : Number.POSITIVE_INFINITY +} + +function largerPullCount(fresh: PullResult, count: number): number { + return AsyncResult.isSuccess(fresh) ? Math.max(count, fresh.value.items.length) : count +} + function pullCallbackResult( result: AsyncResult.Result, pending: boolean, @@ -2867,6 +2901,11 @@ const makeStreamPullEffect = ( }) const cancels = new Set<() => void>() + const delivery: PullDelivery = { + accumulate: !pullDisableAccumulation(options), + count: 0, + result: undefined, + } get.addFinalizer(() => { for (const cancel of cancels) cancel() }) @@ -2875,7 +2914,7 @@ const makeStreamPullEffect = ( get.setSelf(AsyncResult.waitingFrom(Option.none())) let cancel: (() => void) | undefined = undefined cancel = runCallbackSync(services, pull, (exit) => { - finishPullCallback(get, cancels, cancel, exit) + finishPullCallback(get, cancels, cancel, exit, delivery) }) addPullCancel(cancels, cancel) }) diff --git a/packages/atom/effect-atom/tests/Atom.integration.test.ts b/packages/atom/effect-atom/tests/Atom.integration.test.ts index 31bcf17..fe711ba 100644 --- a/packages/atom/effect-atom/tests/Atom.integration.test.ts +++ b/packages/atom/effect-atom/tests/Atom.integration.test.ts @@ -1647,6 +1647,7 @@ Feature('Deriving values from other values on a page') }), clear: Effect.sync(() => storage.clear()), size: Effect.sync(() => storage.size), + keys: Effect.sync(() => Array.from(storage.keys())), }), ) const kvsRuntime = Atom.context()(DelayedKVS) @@ -1701,6 +1702,7 @@ Feature('Deriving values from other values on a page') }), clear: Effect.sync(() => storage.clear()), size: Effect.sync(() => storage.size), + keys: Effect.sync(() => Array.from(storage.keys())), }), ) const kvsRuntime = Atom.context()(DelayedKVS) @@ -1746,6 +1748,7 @@ Feature('Deriving values from other values on a page') }), clear: Effect.sync(() => storage.clear()), size: Effect.sync(() => storage.size), + keys: Effect.sync(() => Array.from(storage.keys())), }), ) const kvsRuntime = Atom.context()(DelayedKVS) diff --git a/packages/atom/effect-atom/vitest.config.ts b/packages/atom/effect-atom/vitest.config.ts index cc4f03e..c94382e 100644 --- a/packages/atom/effect-atom/vitest.config.ts +++ b/packages/atom/effect-atom/vitest.config.ts @@ -12,6 +12,7 @@ export default defineConfig({ { extends: true, test: nodeTest }, { extends: true, + define: { 'process.platform': JSON.stringify('linux') }, test: { name: 'browser', include: ['./tests/browser/**/*.test.ts'], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d33a581..12cdc39 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -164,9 +164,12 @@ settings: catalogs: default: - '@alchemy.run/frontend-frameworks': - specifier: 2.0.0-beta.80 - version: 2.0.0-beta.80 + '@alchemy.run/cloudflare': + specifier: https://pkg.alchemy.run/@alchemy.run/cloudflare/-/d48c0fa92f25f97b8ab3d76fd38d810c2583c34a11e5898ffd46c544abf21630.tgz + version: https://pkg.alchemy.run/@alchemy.run/cloudflare/-/d48c0fa92f25f97b8ab3d76fd38d810c2583c34a11e5898ffd46c544abf21630.tgz + '@alchemy.run/github': + specifier: https://pkg.alchemy.run/@alchemy.run/github/-/a5e3e91478a3df06b3ec7a3d9b5bfb7f162c5dceab108c35c0a9d164d0213092.tgz + version: https://pkg.alchemy.run/@alchemy.run/github/-/a5e3e91478a3df06b3ec7a3d9b5bfb7f162c5dceab108c35c0a9d164d0213092.tgz '@babel/core': specifier: 8.0.6 version: 8.0.6 @@ -237,8 +240,8 @@ catalogs: specifier: 5.0.5 version: 5.0.5 alchemy: - specifier: 2.0.0-beta.80 - version: 2.0.0-beta.80 + specifier: https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz + version: https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz babel-plugin-react-compiler: specifier: 1.0.0 version: 1.0.0 @@ -355,14 +358,15 @@ overrides: '@systemfsoftware/vitest': file:.sfs-deps/vitest-2.0.0.tgz '@systemfsoftware/vitest-config': file:.sfs-deps/vitest-config-0.1.0.tgz '@systemfsoftware/xstate': file:.sfs-deps/xstate-6.0.0-alpha.64.tgz - '@effect/opentelemetry': 4.0.5 - '@effect/platform-node': 4.0.5 - '@effect/platform-node-shared': 4.0.5 - '@effect/sql-d1': 4.0.5 - '@effect/sql-sqlite-do': 4.0.5 + '@effect/opentelemetry': 4.1.0 + '@effect/platform-node': 4.1.0 + '@effect/platform-node-shared': 4.1.0 + '@effect/sql-d1': 4.1.0 + '@effect/sql-sqlite-do': 4.1.0 '@effect/tsgo': 0.63.0 - effect: 4.0.5 + effect: 4.1.0 esbuild: ^0.28.2 + rolldown: 1.2.13 rolldown-plugin-dts: 0.28.6 workerd: 1.20261005.1 @@ -387,13 +391,13 @@ importers: version: 0.63.0 '@systemfsoftware/oxlint-config-recommended': specifier: file:.sfs-deps/oxlint-config-recommended-4.0.0.tgz - version: file:.sfs-deps/oxlint-config-recommended-4.0.0.tgz(effect@4.0.5)(oxlint-tsgolint@7.0.2005)(oxlint@1.90.0(oxlint-tsgolint@7.0.2005))(typescript@7.0.2) + version: file:.sfs-deps/oxlint-config-recommended-4.0.0.tgz(effect@4.1.0)(oxlint-tsgolint@7.0.2005)(oxlint@1.90.0(oxlint-tsgolint@7.0.2005))(typescript@7.0.2) '@systemfsoftware/oxlint-plugin-test-discipline': specifier: file:.sfs-deps/oxlint-plugin-test-discipline-5.0.0.tgz - version: file:.sfs-deps/oxlint-plugin-test-discipline-5.0.0.tgz(effect@4.0.5)(typescript@7.0.2) + version: file:.sfs-deps/oxlint-plugin-test-discipline-5.0.0.tgz(effect@4.1.0)(typescript@7.0.2) '@systemfsoftware/stryker-js': specifier: file:.sfs-deps/stryker-js-17.0.2.tgz - version: file:.sfs-deps/stryker-js-17.0.2.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@10.2.2)(vitest@5.0.5) + version: file:.sfs-deps/stryker-js-17.0.2.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@10.2.2)(vitest@5.0.5) '@systemfsoftware/tsconfig': specifier: file:.sfs-deps/tsconfig-2.0.1.tgz version: file:.sfs-deps/tsconfig-2.0.1.tgz @@ -401,8 +405,8 @@ importers: specifier: 'catalog:' version: 24.19.1 effect: - specifier: 4.0.5 - version: 4.0.5 + specifier: 4.1.0 + version: 4.1.0 lint-staged: specifier: 'catalog:' version: 17.6.0 @@ -429,7 +433,7 @@ importers: dependencies: '@systemfsoftware/effect-cell-types': specifier: file:../../.sfs-deps/effect-cell-types-12.0.0.tgz - version: file:.sfs-deps/effect-cell-types-12.0.0.tgz(effect@4.0.5) + version: file:.sfs-deps/effect-cell-types-12.0.0.tgz(effect@4.1.0) '@systemfsoftware/xstate': specifier: file:../../.sfs-deps/xstate-6.0.0-alpha.64.tgz version: file:.sfs-deps/xstate-6.0.0-alpha.64.tgz @@ -438,10 +442,10 @@ importers: version: 1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/react-start': specifier: 'catalog:' - version: 1.168.60(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(supports-color@10.2.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) + version: 1.168.60(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.13)(supports-color@10.2.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) effect: - specifier: 4.0.5 - version: 4.0.5 + specifier: 4.1.0 + version: 4.1.0 react: specifier: 'catalog:' version: 19.3.0 @@ -449,9 +453,12 @@ importers: specifier: 'catalog:' version: 19.3.0(react@19.3.0) devDependencies: - '@alchemy.run/frontend-frameworks': + '@alchemy.run/cloudflare': + specifier: 'catalog:' + version: https://pkg.alchemy.run/@alchemy.run/cloudflare/-/d48c0fa92f25f97b8ab3d76fd38d810c2583c34a11e5898ffd46c544abf21630.tgz(@effect/platform-node@4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/node@24.19.1)(alchemy@https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz(@effect/platform-node@4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/react@19.3.0)(effect@4.1.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(ws@8.22.0))(effect@4.1.0)(typescript@7.0.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) + '@alchemy.run/github': specifier: 'catalog:' - version: 2.0.0-beta.80(@types/node@24.19.1)(@vitejs/plugin-react@6.1.2(@rolldown/plugin-babel@0.2.4(@babel/core@8.0.6)(@babel/runtime@7.29.10)(rolldown@1.2.12)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)))(babel-plugin-react-compiler@1.0.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)))(effect@4.0.5)(hono@4.11.4)(redis@6.2.1(@opentelemetry/api@1.9.1))(typescript@7.0.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) + version: https://pkg.alchemy.run/@alchemy.run/github/-/a5e3e91478a3df06b3ec7a3d9b5bfb7f162c5dceab108c35c0a9d164d0213092.tgz(alchemy@https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz(@effect/platform-node@4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/react@19.3.0)(effect@4.1.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(ws@8.22.0))(effect@4.1.0) '@babel/core': specifier: 'catalog:' version: 8.0.6 @@ -463,28 +470,28 @@ importers: version: 5.20261005.1 '@rolldown/plugin-babel': specifier: 'catalog:' - version: 0.2.4(@babel/core@8.0.6)(@babel/runtime@7.29.10)(rolldown@1.2.12)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) + version: 0.2.4(@babel/core@8.0.6)(@babel/runtime@7.29.10)(rolldown@1.2.13)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) '@systemfsoftware/oxlint-config-recommended': specifier: file:../../.sfs-deps/oxlint-config-recommended-4.0.0.tgz - version: file:.sfs-deps/oxlint-config-recommended-4.0.0.tgz(effect@4.0.5)(oxlint-tsgolint@7.0.2005)(oxlint@1.90.0(oxlint-tsgolint@7.0.2005))(typescript@7.0.2) + version: file:.sfs-deps/oxlint-config-recommended-4.0.0.tgz(effect@4.1.0)(oxlint-tsgolint@7.0.2005)(oxlint@1.90.0(oxlint-tsgolint@7.0.2005))(typescript@7.0.2) '@systemfsoftware/stryker-ignorer-effect-schema-declarations': specifier: file:../../.sfs-deps/stryker-ignorer-effect-schema-declarations-0.2.0.tgz - version: file:.sfs-deps/stryker-ignorer-effect-schema-declarations-0.2.0.tgz(rolldown@1.2.12) + version: file:.sfs-deps/stryker-ignorer-effect-schema-declarations-0.2.0.tgz(rolldown@1.2.13) '@systemfsoftware/stryker-js': specifier: file:../../.sfs-deps/stryker-js-17.0.2.tgz - version: file:.sfs-deps/stryker-js-17.0.2.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@10.2.2)(vitest@5.0.5) + version: file:.sfs-deps/stryker-js-17.0.2.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@10.2.2)(vitest@5.0.5) '@systemfsoftware/stryker-js-typescript-checker': specifier: file:../../.sfs-deps/stryker-js-typescript-checker-8.2.1.tgz - version: file:.sfs-deps/stryker-js-typescript-checker-8.2.1.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(rolldown@1.2.12)(supports-color@10.2.2) + version: file:.sfs-deps/stryker-js-typescript-checker-8.2.1.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(rolldown@1.2.13)(supports-color@10.2.2) '@systemfsoftware/stryker-js-vitest-runner': specifier: file:../../.sfs-deps/stryker-js-vitest-runner-8.1.1.tgz - version: file:.sfs-deps/stryker-js-vitest-runner-8.1.1.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5)(supports-color@10.2.2)(vitest@5.0.5) + version: file:.sfs-deps/stryker-js-vitest-runner-8.1.1.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0)(supports-color@10.2.2)(vitest@5.0.5) '@systemfsoftware/tsconfig': specifier: file:../../.sfs-deps/tsconfig-2.0.1.tgz version: file:.sfs-deps/tsconfig-2.0.1.tgz '@systemfsoftware/vitest': specifier: file:../../.sfs-deps/vitest-2.0.0.tgz - version: file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) + version: file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) '@tanstack/router-cli': specifier: 'catalog:' version: 1.167.40(supports-color@10.2.2) @@ -499,10 +506,10 @@ importers: version: 19.3.0(@types/react@19.3.0) '@vitejs/plugin-react': specifier: 'catalog:' - version: 6.1.2(@rolldown/plugin-babel@0.2.4(@babel/core@8.0.6)(@babel/runtime@7.29.10)(rolldown@1.2.12)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)))(babel-plugin-react-compiler@1.0.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) + version: 6.1.2(@rolldown/plugin-babel@0.2.4(@babel/core@8.0.6)(@babel/runtime@7.29.10)(rolldown@1.2.13)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)))(babel-plugin-react-compiler@1.0.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) alchemy: specifier: 'catalog:' - version: 2.0.0-beta.80(@alchemy.run/frontend-frameworks@2.0.0-beta.80(@types/node@24.19.1)(@vitejs/plugin-react@6.1.2(@rolldown/plugin-babel@0.2.4(@babel/core@8.0.6)(@babel/runtime@7.29.10)(rolldown@1.2.12)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)))(babel-plugin-react-compiler@1.0.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)))(effect@4.0.5)(hono@4.11.4)(redis@6.2.1(@opentelemetry/api@1.9.1))(typescript@7.0.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)))(@effect/platform-node@4.0.5(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/node@24.19.1)(@types/react@19.3.0)(effect@4.0.5)(hono@4.11.4)(typescript@7.0.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(ws@8.22.0) + version: https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz(@effect/platform-node@4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/react@19.3.0)(effect@4.1.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(ws@8.22.0) babel-plugin-react-compiler: specifier: 'catalog:' version: 1.0.0 @@ -526,22 +533,22 @@ importers: devDependencies: '@systemfsoftware/effect-gherkin-spec': specifier: file:../../.sfs-deps/effect-gherkin-spec-7.0.1.tgz - version: file:.sfs-deps/effect-gherkin-spec-7.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.0.5)(vitest@5.0.5) + version: file:.sfs-deps/effect-gherkin-spec-7.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.1.0)(vitest@5.0.5) '@systemfsoftware/oxlint-config-recommended': specifier: file:../../.sfs-deps/oxlint-config-recommended-4.0.0.tgz - version: file:.sfs-deps/oxlint-config-recommended-4.0.0.tgz(effect@4.0.5)(oxlint-tsgolint@7.0.2005)(oxlint@1.90.0(oxlint-tsgolint@7.0.2005))(typescript@7.0.2) + version: file:.sfs-deps/oxlint-config-recommended-4.0.0.tgz(effect@4.1.0)(oxlint-tsgolint@7.0.2005)(oxlint@1.90.0(oxlint-tsgolint@7.0.2005))(typescript@7.0.2) '@systemfsoftware/tsconfig': specifier: file:../../.sfs-deps/tsconfig-2.0.1.tgz version: file:.sfs-deps/tsconfig-2.0.1.tgz '@systemfsoftware/vitest': specifier: file:../../.sfs-deps/vitest-2.0.0.tgz - version: file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) + version: file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) '@types/node': specifier: 'catalog:' version: 24.19.1 effect: - specifier: 4.0.5 - version: 4.0.5 + specifier: 4.1.0 + version: 4.1.0 oxlint: specifier: 'catalog:' version: 1.90.0(oxlint-tsgolint@7.0.2005) @@ -562,7 +569,7 @@ importers: dependencies: '@systemfsoftware/effect-cell-types': specifier: file:../../../.sfs-deps/effect-cell-types-12.0.0.tgz - version: file:.sfs-deps/effect-cell-types-12.0.0.tgz(effect@4.0.5) + version: file:.sfs-deps/effect-cell-types-12.0.0.tgz(effect@4.1.0) devDependencies: '@microsoft/api-extractor': specifier: 'catalog:' @@ -572,40 +579,40 @@ importers: version: file:.sfs-deps/arethetypeswrong-cli-4.2.0.tgz '@systemfsoftware/conformance-spec': specifier: file:../../../.sfs-deps/conformance-spec-1.0.0.tgz - version: file:.sfs-deps/conformance-spec-1.0.0.tgz(effect@4.0.5) + version: file:.sfs-deps/conformance-spec-1.0.0.tgz(effect@4.1.0) '@systemfsoftware/differential-spec': specifier: file:../../../.sfs-deps/differential-spec-1.0.1.tgz version: file:.sfs-deps/differential-spec-1.0.1.tgz(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) '@systemfsoftware/effect-gherkin-spec': specifier: file:../../../.sfs-deps/effect-gherkin-spec-7.0.1.tgz - version: file:.sfs-deps/effect-gherkin-spec-7.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.0.5)(vitest@5.0.5) + version: file:.sfs-deps/effect-gherkin-spec-7.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.1.0)(vitest@5.0.5) '@systemfsoftware/effect-schema-law': specifier: file:../../../.sfs-deps/effect-schema-law-5.0.1.tgz - version: file:.sfs-deps/effect-schema-law-5.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.0.5)(vitest@5.0.5) + version: file:.sfs-deps/effect-schema-law-5.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.1.0)(vitest@5.0.5) '@systemfsoftware/effect-schema-vite': specifier: file:../../../.sfs-deps/effect-schema-vite-3.0.1.tgz - version: file:.sfs-deps/effect-schema-vite-3.0.1.tgz(@systemfsoftware/effect-schema-law@file:.sfs-deps/effect-schema-law-5.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.0.5)(vitest@5.0.5))(effect@4.0.5)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(vitest@5.0.5) + version: file:.sfs-deps/effect-schema-vite-3.0.1.tgz(@systemfsoftware/effect-schema-law@file:.sfs-deps/effect-schema-law-5.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.1.0)(vitest@5.0.5))(effect@4.1.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(vitest@5.0.5) '@systemfsoftware/oxlint-config-frontend': specifier: workspace:^ version: link:../../oxlint-presets/oxlint-config-frontend '@systemfsoftware/stryker-config': specifier: file:../../../.sfs-deps/stryker-config-0.1.0.tgz - version: file:.sfs-deps/stryker-config-0.1.0.tgz(@systemfsoftware/stryker-js@file:.sfs-deps/stryker-js-17.0.2.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@10.2.2)(vitest@5.0.5)) + version: file:.sfs-deps/stryker-config-0.1.0.tgz(@systemfsoftware/stryker-js@file:.sfs-deps/stryker-js-17.0.2.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@10.2.2)(vitest@5.0.5)) '@systemfsoftware/stryker-ignorer-effect-schema-declarations': specifier: file:../../../.sfs-deps/stryker-ignorer-effect-schema-declarations-0.2.0.tgz - version: file:.sfs-deps/stryker-ignorer-effect-schema-declarations-0.2.0.tgz(rolldown@1.2.12) + version: file:.sfs-deps/stryker-ignorer-effect-schema-declarations-0.2.0.tgz(rolldown@1.2.13) '@systemfsoftware/stryker-ignorer-in-source-vitest-block': specifier: file:../../../.sfs-deps/stryker-ignorer-in-source-vitest-block-0.1.1.tgz - version: file:.sfs-deps/stryker-ignorer-in-source-vitest-block-0.1.1.tgz(rolldown@1.2.12) + version: file:.sfs-deps/stryker-ignorer-in-source-vitest-block-0.1.1.tgz(rolldown@1.2.13) '@systemfsoftware/stryker-js': specifier: file:../../../.sfs-deps/stryker-js-17.0.2.tgz - version: file:.sfs-deps/stryker-js-17.0.2.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@10.2.2)(vitest@5.0.5) + version: file:.sfs-deps/stryker-js-17.0.2.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@10.2.2)(vitest@5.0.5) '@systemfsoftware/stryker-js-typescript-checker': specifier: file:../../../.sfs-deps/stryker-js-typescript-checker-8.2.1.tgz - version: file:.sfs-deps/stryker-js-typescript-checker-8.2.1.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(rolldown@1.2.12)(supports-color@10.2.2) + version: file:.sfs-deps/stryker-js-typescript-checker-8.2.1.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(rolldown@1.2.13)(supports-color@10.2.2) '@systemfsoftware/stryker-js-vitest-runner': specifier: file:../../../.sfs-deps/stryker-js-vitest-runner-8.1.1.tgz - version: file:.sfs-deps/stryker-js-vitest-runner-8.1.1.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5)(supports-color@10.2.2)(vitest@5.0.5) + version: file:.sfs-deps/stryker-js-vitest-runner-8.1.1.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0)(supports-color@10.2.2)(vitest@5.0.5) '@systemfsoftware/tsconfig': specifier: file:../../../.sfs-deps/tsconfig-2.0.1.tgz version: file:.sfs-deps/tsconfig-2.0.1.tgz @@ -614,7 +621,7 @@ importers: version: file:.sfs-deps/tsdown-config-0.1.0.tgz(@microsoft/api-extractor@7.59.4(@types/node@24.19.1))(tsdown@0.23.0(oxc-resolver@11.21.2)(typescript@7.0.2)) '@systemfsoftware/vitest': specifier: file:../../../.sfs-deps/vitest-2.0.0.tgz - version: file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) + version: file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) '@systemfsoftware/vitest-config': specifier: file:../../../.sfs-deps/vitest-config-0.1.0.tgz version: file:.sfs-deps/vitest-config-0.1.0.tgz(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(vitest@5.0.5) @@ -631,8 +638,8 @@ importers: specifier: 'catalog:' version: 5.0.5(vitest@5.0.5) effect: - specifier: 4.0.5 - version: 4.0.5 + specifier: 4.1.0 + version: 4.1.0 fast-check: specifier: 'catalog:' version: 4.10.2 @@ -668,7 +675,7 @@ importers: version: link:../effect-atom '@systemfsoftware/effect-cell-types': specifier: file:../../../.sfs-deps/effect-cell-types-12.0.0.tgz - version: file:.sfs-deps/effect-cell-types-12.0.0.tgz(effect@4.0.5) + version: file:.sfs-deps/effect-cell-types-12.0.0.tgz(effect@4.1.0) devDependencies: '@microsoft/api-extractor': specifier: 'catalog:' @@ -678,34 +685,34 @@ importers: version: file:.sfs-deps/arethetypeswrong-cli-4.2.0.tgz '@systemfsoftware/effect-gherkin-spec': specifier: file:../../../.sfs-deps/effect-gherkin-spec-7.0.1.tgz - version: file:.sfs-deps/effect-gherkin-spec-7.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.0.5)(vitest@5.0.5) + version: file:.sfs-deps/effect-gherkin-spec-7.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.1.0)(vitest@5.0.5) '@systemfsoftware/effect-schema-law': specifier: file:../../../.sfs-deps/effect-schema-law-5.0.1.tgz - version: file:.sfs-deps/effect-schema-law-5.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.0.5)(vitest@5.0.5) + version: file:.sfs-deps/effect-schema-law-5.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.1.0)(vitest@5.0.5) '@systemfsoftware/effect-schema-vite': specifier: file:../../../.sfs-deps/effect-schema-vite-3.0.1.tgz - version: file:.sfs-deps/effect-schema-vite-3.0.1.tgz(@systemfsoftware/effect-schema-law@file:.sfs-deps/effect-schema-law-5.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.0.5)(vitest@5.0.5))(effect@4.0.5)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(vitest@5.0.5) + version: file:.sfs-deps/effect-schema-vite-3.0.1.tgz(@systemfsoftware/effect-schema-law@file:.sfs-deps/effect-schema-law-5.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.1.0)(vitest@5.0.5))(effect@4.1.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(vitest@5.0.5) '@systemfsoftware/oxlint-config-frontend': specifier: workspace:^ version: link:../../oxlint-presets/oxlint-config-frontend '@systemfsoftware/stryker-config': specifier: file:../../../.sfs-deps/stryker-config-0.1.0.tgz - version: file:.sfs-deps/stryker-config-0.1.0.tgz(@systemfsoftware/stryker-js@file:.sfs-deps/stryker-js-17.0.2.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@10.2.2)(vitest@5.0.5)) + version: file:.sfs-deps/stryker-config-0.1.0.tgz(@systemfsoftware/stryker-js@file:.sfs-deps/stryker-js-17.0.2.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@10.2.2)(vitest@5.0.5)) '@systemfsoftware/stryker-ignorer-effect-schema-declarations': specifier: file:../../../.sfs-deps/stryker-ignorer-effect-schema-declarations-0.2.0.tgz - version: file:.sfs-deps/stryker-ignorer-effect-schema-declarations-0.2.0.tgz(rolldown@1.2.12) + version: file:.sfs-deps/stryker-ignorer-effect-schema-declarations-0.2.0.tgz(rolldown@1.2.13) '@systemfsoftware/stryker-ignorer-in-source-vitest-block': specifier: file:../../../.sfs-deps/stryker-ignorer-in-source-vitest-block-0.1.1.tgz - version: file:.sfs-deps/stryker-ignorer-in-source-vitest-block-0.1.1.tgz(rolldown@1.2.12) + version: file:.sfs-deps/stryker-ignorer-in-source-vitest-block-0.1.1.tgz(rolldown@1.2.13) '@systemfsoftware/stryker-js': specifier: file:../../../.sfs-deps/stryker-js-17.0.2.tgz - version: file:.sfs-deps/stryker-js-17.0.2.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@10.2.2)(vitest@5.0.5) + version: file:.sfs-deps/stryker-js-17.0.2.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@10.2.2)(vitest@5.0.5) '@systemfsoftware/stryker-js-typescript-checker': specifier: file:../../../.sfs-deps/stryker-js-typescript-checker-8.2.1.tgz - version: file:.sfs-deps/stryker-js-typescript-checker-8.2.1.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(rolldown@1.2.12)(supports-color@10.2.2) + version: file:.sfs-deps/stryker-js-typescript-checker-8.2.1.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(rolldown@1.2.13)(supports-color@10.2.2) '@systemfsoftware/stryker-js-vitest-runner': specifier: file:../../../.sfs-deps/stryker-js-vitest-runner-8.1.1.tgz - version: file:.sfs-deps/stryker-js-vitest-runner-8.1.1.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5)(supports-color@10.2.2)(vitest@5.0.5) + version: file:.sfs-deps/stryker-js-vitest-runner-8.1.1.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0)(supports-color@10.2.2)(vitest@5.0.5) '@systemfsoftware/tsconfig': specifier: file:../../../.sfs-deps/tsconfig-2.0.1.tgz version: file:.sfs-deps/tsconfig-2.0.1.tgz @@ -714,7 +721,7 @@ importers: version: file:.sfs-deps/tsdown-config-0.1.0.tgz(@microsoft/api-extractor@7.59.4(@types/node@24.19.1))(tsdown@0.23.0(oxc-resolver@11.21.2)(typescript@7.0.2)) '@systemfsoftware/vitest': specifier: file:../../../.sfs-deps/vitest-2.0.0.tgz - version: file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) + version: file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) '@systemfsoftware/vitest-config': specifier: file:../../../.sfs-deps/vitest-config-0.1.0.tgz version: file:.sfs-deps/vitest-config-0.1.0.tgz(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(vitest@5.0.5) @@ -746,8 +753,8 @@ importers: specifier: 'catalog:' version: 5.0.5(vitest@5.0.5) effect: - specifier: 4.0.5 - version: 4.0.5 + specifier: 4.1.0 + version: 4.1.0 oxlint: specifier: catalog:oxlint version: 1.90.0(oxlint-tsgolint@7.0.2005) @@ -802,16 +809,16 @@ importers: version: file:.sfs-deps/arethetypeswrong-cli-4.2.0.tgz '@systemfsoftware/conformance-spec': specifier: file:../../../.sfs-deps/conformance-spec-1.0.0.tgz - version: file:.sfs-deps/conformance-spec-1.0.0.tgz(effect@4.0.5) + version: file:.sfs-deps/conformance-spec-1.0.0.tgz(effect@4.1.0) '@systemfsoftware/effect-gherkin-spec': specifier: file:../../../.sfs-deps/effect-gherkin-spec-7.0.1.tgz - version: file:.sfs-deps/effect-gherkin-spec-7.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.0.5)(vitest@5.0.5) + version: file:.sfs-deps/effect-gherkin-spec-7.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.1.0)(vitest@5.0.5) '@systemfsoftware/effect-sim-kernel': specifier: file:../../../.sfs-deps/effect-sim-kernel-1.0.0.tgz - version: file:.sfs-deps/effect-sim-kernel-1.0.0.tgz(effect@4.0.5) + version: file:.sfs-deps/effect-sim-kernel-1.0.0.tgz(effect@4.1.0) '@systemfsoftware/effect-spec-runtime': specifier: file:../../../.sfs-deps/effect-spec-runtime-1.0.1.tgz - version: file:.sfs-deps/effect-spec-runtime-1.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.0.5)(vitest@5.0.5) + version: file:.sfs-deps/effect-spec-runtime-1.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.1.0)(vitest@5.0.5) '@systemfsoftware/oxlint-config-frontend': specifier: workspace:^ version: link:../../oxlint-presets/oxlint-config-frontend @@ -823,7 +830,7 @@ importers: version: file:.sfs-deps/tsdown-config-0.1.0.tgz(@microsoft/api-extractor@7.59.4(@types/node@24.19.1))(tsdown@0.23.0(oxc-resolver@11.21.2)(typescript@7.0.2)) '@systemfsoftware/vitest': specifier: file:../../../.sfs-deps/vitest-2.0.0.tgz - version: file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) + version: file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) '@systemfsoftware/vitest-config': specifier: file:../../../.sfs-deps/vitest-config-0.1.0.tgz version: file:.sfs-deps/vitest-config-0.1.0.tgz(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(vitest@5.0.5) @@ -843,8 +850,8 @@ importers: specifier: 'catalog:' version: 5.0.5(playwright@1.63.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(vitest@5.0.5) effect: - specifier: 4.0.5 - version: 4.0.5 + specifier: 4.1.0 + version: 4.1.0 jsdom: specifier: 30.1.2 version: 30.1.2(@noble/hashes@2.4.0) @@ -886,10 +893,10 @@ importers: version: 1.90.0 '@systemfsoftware/oxlint-config-recommended': specifier: file:../../../.sfs-deps/oxlint-config-recommended-4.0.0.tgz - version: file:.sfs-deps/oxlint-config-recommended-4.0.0.tgz(effect@4.0.5)(oxlint-tsgolint@7.0.2005)(oxlint@1.90.0(oxlint-tsgolint@7.0.2005))(typescript@7.0.2) + version: file:.sfs-deps/oxlint-config-recommended-4.0.0.tgz(effect@4.1.0)(oxlint-tsgolint@7.0.2005)(oxlint@1.90.0(oxlint-tsgolint@7.0.2005))(typescript@7.0.2) '@systemfsoftware/oxlint-plugin-effect-platform': specifier: file:../../../.sfs-deps/oxlint-plugin-effect-platform-2.0.0.tgz - version: file:.sfs-deps/oxlint-plugin-effect-platform-2.0.0.tgz(effect@4.0.5)(oxlint-tsgolint@7.0.2005)(typescript@7.0.2) + version: file:.sfs-deps/oxlint-plugin-effect-platform-2.0.0.tgz(effect@4.1.0)(oxlint-tsgolint@7.0.2005)(typescript@7.0.2) oxlint: specifier: catalog:oxlint version: 1.90.0(oxlint-tsgolint@7.0.2005) @@ -916,8 +923,8 @@ importers: specifier: 'catalog:' version: 24.19.1 effect: - specifier: 4.0.5 - version: 4.0.5 + specifier: 4.1.0 + version: 4.1.0 rimraf: specifier: 'catalog:' version: 6.1.3 @@ -936,14 +943,22 @@ packages: '@adobe/css-tools@4.5.0': resolution: {integrity: sha512-6OzddxPio9UiWTCemp4N8cYLV2ZN1ncRnV1cVGtve7dhPOtRkleRyx32GQCYSwDYgaHU3USMm84tNsvKzRCa1Q==} - '@alchemy.run/cloudflare-runtime@2.0.0-beta.80': - resolution: {integrity: sha512-vrMDVAQ+LlzFGkgfIbi/65iwskdSxxWYhJX03sFL72mvkGxvb8RQSKrbxLGHhMz0QSZh796dOff1z9zOwxsIbA==} + '@alchemy.run/acme@https://pkg.alchemy.run/@alchemy.run/acme/-/94b874c8e2e62bbcc2aa01d951bae517132da09ffd298a2bc438c5ce3ee9eb20.tgz': + resolution: {integrity: sha512-2bDA4Ky/YxSf7MD/2L3FjzlDrPR7T3hVT8wVY05bGgqGyiRAuFyMlnhgTpsfWcgMA/lvmrN7XxOpV6vf4baeog==, tarball: https://pkg.alchemy.run/@alchemy.run/acme/-/94b874c8e2e62bbcc2aa01d951bae517132da09ffd298a2bc438c5ce3ee9eb20.tgz} + version: 2.0.0-beta.84 + peerDependencies: + alchemy: https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz + effect: 4.1.0 + + '@alchemy.run/cloudflare-runtime@https://pkg.alchemy.run/@alchemy.run/cloudflare-runtime/-/82efb388b666ffa77775a0841c3cf30abc1d26df96f4ea4c8c97e3bffc06cf1d.tgz': + resolution: {integrity: sha512-C+rjrPlxMq6eHaUbHSBI/rnmArluBYkZ/tY4pYmvrJEyREVRzde/Yx9mdwgaBw+oNI/Bd7T3NLphHpDQ1LcuOQ==, tarball: https://pkg.alchemy.run/@alchemy.run/cloudflare-runtime/-/82efb388b666ffa77775a0841c3cf30abc1d26df96f4ea4c8c97e3bffc06cf1d.tgz} + version: 2.0.0-beta.84 peerDependencies: - '@distilled.cloud/cloudflare': 1.0.0-rc.13 - '@effect/platform-bun': ^4.0.0 - '@effect/platform-node': 4.0.5 - effect: 4.0.5 - rolldown: 1.2.5 + '@distilled.cloud/cloudflare': https://pkg.alchemy.run/@distilled.cloud/cloudflare/-/56e485b8ac5c256515f34acbe3fac34bce061a5b8911c0583fd2b25b4a6fd8bf.tgz + '@effect/platform-bun': ^4.1.0 + '@effect/platform-node': 4.1.0 + effect: 4.1.0 + rolldown: 1.2.13 vite: ^7.0.0 || ^8.0.0 peerDependenciesMeta: '@effect/platform-bun': @@ -955,52 +970,50 @@ packages: vite: optional: true - '@alchemy.run/floci@2.0.0-beta.80': - resolution: {integrity: sha512-gtUXFitVY9pSQQYCDtSVyjfd5YOKY3Wleg3WCG5yWno7/l7xBo4kfOMbM63tzWnmka9LewVSITbMfwnC4D/73A==} + '@alchemy.run/cloudflare@https://pkg.alchemy.run/@alchemy.run/cloudflare/-/d48c0fa92f25f97b8ab3d76fd38d810c2583c34a11e5898ffd46c544abf21630.tgz': + resolution: {integrity: sha512-rbEBlvF/I/N2kE75xzKd3e8DTd5A8mxADDgTxB1lMHfn/BiFSiAnN7F63M9Sgq1T3jw4jWNDu/3fnmhPy38bvQ==, tarball: https://pkg.alchemy.run/@alchemy.run/cloudflare/-/d48c0fa92f25f97b8ab3d76fd38d810c2583c34a11e5898ffd46c544abf21630.tgz} + version: 2.0.0-beta.84 peerDependencies: - effect: 4.0.5 - - '@alchemy.run/frontend-frameworks@2.0.0-beta.80': - resolution: {integrity: sha512-zi3+18wBj561A7bXqcSv7KqRSgu8Q4iHlQjUkBi0TO/I+CNSx9Sslgbb+7rwhjVysUOXRxLzOzqR7QOVP1yFlw==} - peerDependencies: - '@effect/platform-bun': ^4.0.0 - '@octanejs/vite-plugin': '>=0.1.22' - '@opennextjs/cloudflare': 1.20.1 - '@sveltejs/kit': '>=3.0.0-next.27' - '@vitejs/plugin-react': ^6.0.2 - astro: ^7.0.0 - effect: 4.0.5 - hono: ^4.12.14 - nuxt: '>=4.5.0' + '@alchemy.run/domain': https://pkg.alchemy.run/@alchemy.run/domain/-/3463c1a6a9d03f98d3df1439d2dd881baee7d9e6bf37f6aaf58bb84ab191a885.tgz + '@alchemy.run/frontend-frameworks': https://pkg.alchemy.run/@alchemy.run/frontend-frameworks/-/b413a964ee6b0ab093418b91229f3b79d3c15a01add2b9ebf222342a2d091a91.tgz + '@effect/platform-bun': ^4.1.0 + '@effect/platform-node': 4.1.0 + alchemy: https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz + effect: 4.1.0 vite: ^7.0.0 || ^8.0.0 - vocs: 2.8.2 - waku: 1.0.0-beta.7 peerDependenciesMeta: - '@effect/platform-bun': - optional: true - '@octanejs/vite-plugin': + '@alchemy.run/domain': optional: true - '@opennextjs/cloudflare': - optional: true - '@sveltejs/kit': - optional: true - '@vitejs/plugin-react': - optional: true - astro: + '@alchemy.run/frontend-frameworks': optional: true - hono: + '@effect/platform-bun': optional: true - nuxt: + '@effect/platform-node': optional: true vite: optional: true - vocs: - optional: true - waku: + + '@alchemy.run/docker@https://pkg.alchemy.run/@alchemy.run/docker/-/1125f2ebf64b81a81b118848fca1f6902201548f25ff01ef06e92228d7b8aa9d.tgz': + resolution: {integrity: sha512-RiD00XbAxQp8CSOAumYdy6NMNl3n3CFZMEiuPXl76LyljXLDXPXUIDMvfXFk7q1OSovf6PIkwQJQASDThBVn3w==, tarball: https://pkg.alchemy.run/@alchemy.run/docker/-/1125f2ebf64b81a81b118848fca1f6902201548f25ff01ef06e92228d7b8aa9d.tgz} + version: 2.0.0-beta.84 + peerDependencies: + '@effect/platform-bun': ^4.1.0 + alchemy: https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz + effect: 4.1.0 + peerDependenciesMeta: + '@effect/platform-bun': optional: true - '@alchemy.run/node-utils@2.0.0-beta.80': - resolution: {integrity: sha512-uOhVDQZTjwh1AU4mrk0wB5rQaziTwSrVMfqwFP8wALfU//nveu4goOWZimHtqytXiybENh+iEbALH25EFAkc7A==} + '@alchemy.run/github@https://pkg.alchemy.run/@alchemy.run/github/-/a5e3e91478a3df06b3ec7a3d9b5bfb7f162c5dceab108c35c0a9d164d0213092.tgz': + resolution: {integrity: sha512-sZWskxXxl4I1fOm6ik8quIor6wKcu4o/p9ojyImDLn1tbu+kOWNTTpWd9xDTOKnvGdZE9xjDfM7wfubaCSdrlQ==, tarball: https://pkg.alchemy.run/@alchemy.run/github/-/a5e3e91478a3df06b3ec7a3d9b5bfb7f162c5dceab108c35c0a9d164d0213092.tgz} + version: 2.0.0-beta.84 + peerDependencies: + alchemy: https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz + effect: 4.1.0 + + '@alchemy.run/node-utils@https://pkg.alchemy.run/@alchemy.run/node-utils/-/f7ed79ab54e4abbdb7445242a8127338f02468a98f12a5ce681b50f7e1b0ca50.tgz': + resolution: {integrity: sha512-w8g4tRGL/mHodQ7dBA0g1xYU4p4ZQIB0NPVFUxBhyJBOJmsz6+1R8FklmxonNGwYBrdUf4LeO57KYdMU/0FXGA==, tarball: https://pkg.alchemy.run/@alchemy.run/node-utils/-/f7ed79ab54e4abbdb7445242a8127338f02468a98f12a5ce681b50f7e1b0ca50.tgz} + version: 2.0.0-beta.84 '@alchemy.run/sigil@0.1.0-alpha.1': resolution: {integrity: sha512-RtHELG2w+GluVewRsuKm66idtPzC+4STptMr/61X1Vy5uBkDzcCzjzV8G6jUa4iBv6Il0hHV7UL6wvv//9nD/Q==} @@ -1014,6 +1027,29 @@ packages: react-devtools-core: optional: true + '@alchemy.run/sql@https://pkg.alchemy.run/@alchemy.run/sql/-/9d4e1e5294ba3ab78de2e78607cbc5309326f84745b23dbe5f6403984e6e780c.tgz': + resolution: {integrity: sha512-ck/0F2NB8TxrbvcjgUT34JBjWsMFaku2yfCTWu5l+11uMH4EH8gxO99/qELEOFGHZBa35dd/yucSmcfx6bGWpQ==, tarball: https://pkg.alchemy.run/@alchemy.run/sql/-/9d4e1e5294ba3ab78de2e78607cbc5309326f84745b23dbe5f6403984e6e780c.tgz} + version: 2.0.0-beta.84 + peerDependencies: + '@effect/sql-libsql': ^4.1.0 + '@effect/sql-mysql2': ^4.1.0 + '@effect/sql-pg': ^4.1.0 + alchemy: https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz + effect: 4.1.0 + mysql2: ^3.24.2 + pg: ^8.22.0 + peerDependenciesMeta: + '@effect/sql-libsql': + optional: true + '@effect/sql-mysql2': + optional: true + '@effect/sql-pg': + optional: true + mysql2: + optional: true + pg: + optional: true + '@asamuzakjp/css-color@7.1.7': resolution: {integrity: sha512-Q7ioeear07HwixdIitIn9KS1LZi97CEDFCSjPNm9v+y8KNbsu9q4Lrd4zUQW4faED+E7qxvfeVnbNRW46wFKuw==} engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} @@ -1157,18 +1193,6 @@ packages: resolution: {integrity: sha512-0GEz8qJWokkUVYQYRukmkSHIFNoBH8QTreeHrAFbvz1XFYc3Y+puhMs8PQ5x8GNugiC2l5jvDBXKLbBIByeSBw==} hasBin: true - '@chevrotain/cst-dts-gen@10.5.0': - resolution: {integrity: sha512-lhmC/FyqQ2o7pGK4Om+hzuDrm9rhFYIJ/AXoQBeongmn870Xeb0L6oGEiuR8nohFNL5sMaQEJWCxr1oIVIVXrw==} - - '@chevrotain/gast@10.5.0': - resolution: {integrity: sha512-pXdMJ9XeDAbgOWKuD1Fldz4ieCs6+nLNmyVhe2gZVqoO7v8HXuHYs5OV2EzUtbuai37TlOAQHrTDvxMnvMJz3A==} - - '@chevrotain/types@10.5.0': - resolution: {integrity: sha512-f1MAia0x/pAVPWH/T73BJVyO2XU5tI4/iE7cnxb7tqdNTNhQI3Uq3XkqcoteTmD4t1aM0LbHCJOhgIDn07kl2A==} - - '@chevrotain/utils@10.5.0': - resolution: {integrity: sha512-hBzuU5+JjB2cqNZyszkDHZgOSrUUT8V3dhgRl8Q9Gp6dAj/H5+KILGjbhDpc3Iy9qmqlm/akuOI2ut9VUtzJxQ==} - '@cloudflare/kv-asset-handler@0.5.0': resolution: {integrity: sha512-jxQYkj8dSIzc0cD6cMMNdOc1UVjqSqu8BZdor5s8cGjW2I8BjODt/kWPVdY+u9zj3ms75Q5qaZgnxUad83+eAg==} engines: {node: '>=22.0.0'} @@ -1350,89 +1374,51 @@ packages: resolution: {integrity: sha512-OoKoR0f76dCY666JlcbhmVTs2drYj1GUXZTYTcbUgJjh9Nv41aFfZ21bPQTERm5+L5cBDo466NltB2lplS5GBw==} engines: {node: '>=20.19.0'} - '@distilled.cloud/acme@1.0.0-rc.13': - resolution: {integrity: sha512-3rmzH125jQxk0zpCvXGNEybSaqpAolyCX+8LWDDrXf+wIKs67GflkJyQLjOOh0lKARe29hdUZGgqEbbvpp0LNA==} - peerDependencies: - effect: 4.0.5 - - '@distilled.cloud/aws@1.0.0-rc.13': - resolution: {integrity: sha512-6ZGcp0LkniB0I2l8Gr7vKRQgTZTch0/07iuvuMZv9Nu+rWwNuZG9VHTUdlIoarWgCHFUNN8yvSYBGOjaeN99tQ==} - peerDependencies: - effect: 4.0.5 - - '@distilled.cloud/axiom@1.0.0-rc.13': - resolution: {integrity: sha512-aRoJtvfXgWi5dtfjuJvDwnArRKvv2MPYHCxYeZcxZbqe62IaQA5yu/khft7TJvxeDyJoSDnVXZu3RyJjNmBA4g==} - peerDependencies: - effect: 4.0.5 - - '@distilled.cloud/cloudflare@1.0.0-rc.13': - resolution: {integrity: sha512-Py5FoA6azyYExDb91VaeC+9x+ravOBSRhXeUmpcQjCtgqmOdiXgc2YZGMMPI68DF+kMuHRVIrR+2uRZNDOhYjw==} + '@distilled.cloud/acme@https://pkg.alchemy.run/@distilled.cloud/acme/-/31b5ed0bd279dafa32adf9452c20cecbc16449a278dc709f73f70f3a821a497c.tgz': + resolution: {integrity: sha512-l8V1TF5Fhsf8+qFaYqSI+e7zwsH126yCZ1IdYdVj9+3GWjq6YfqxJrYREBDc5H6cViM/V8Gop2QChnxy+U2zsQ==, tarball: https://pkg.alchemy.run/@distilled.cloud/acme/-/31b5ed0bd279dafa32adf9452c20cecbc16449a278dc709f73f70f3a821a497c.tgz} + version: 1.0.0-rc.17 peerDependencies: - effect: 4.0.5 + effect: 4.1.0 - '@distilled.cloud/core@1.0.0-rc.13': - resolution: {integrity: sha512-RYyrxW+F5zrTuu1UWV/JoycholBCIkXIusYJdDniDwCdmbjdKGl07KlkkeeY774uBawNGf+pt1ESNGeLVnNHsg==} + '@distilled.cloud/aws4signer@https://pkg.alchemy.run/@distilled.cloud/aws4signer/-/d5d12f0fa0f9b5f9693b1d49d7634fd4e88a5b90cc972e8859eaf45e2385c3b1.tgz': + resolution: {integrity: sha512-tveFBfg+/MnbL8CxrVKfIWUOzoLqjrTwZwEOuGJNOLuFXHFWiantfwhYYMupqii6jRfzt3Gpt7s6ZcjBbD/tEw==, tarball: https://pkg.alchemy.run/@distilled.cloud/aws4signer/-/d5d12f0fa0f9b5f9693b1d49d7634fd4e88a5b90cc972e8859eaf45e2385c3b1.tgz} + version: 1.0.0-rc.17 peerDependencies: - effect: 4.0.5 + effect: 4.1.0 - '@distilled.cloud/doppler@1.0.0-rc.13': - resolution: {integrity: sha512-GgOEUCc4Bx0C+lYNfZ4OqaA3ULvqDUQTJC8gobSh1L0jfrWclv/kRcSr43v4IXyStld+saUvDfDZgeGzlE74OA==} + '@distilled.cloud/aws@https://pkg.alchemy.run/@distilled.cloud/aws/-/854428e08c3015bbb423377a045c676b38749d042da8de12cb65cdd25e965951.tgz': + resolution: {integrity: sha512-8bGa3RbVfcFkLde7eceT4KCv7n2CELMckRBNgdrL4owyN49ZBOonmZ+Js+Vkr8V6r7Auds2U/Yd8PiONYIDUiQ==, tarball: https://pkg.alchemy.run/@distilled.cloud/aws/-/854428e08c3015bbb423377a045c676b38749d042da8de12cb65cdd25e965951.tgz} + version: 1.0.0-rc.17 peerDependencies: - effect: 4.0.5 + effect: 4.1.0 - '@distilled.cloud/fly-io@1.0.0-rc.13': - resolution: {integrity: sha512-Ipp+9nvs+PzqwDPhZq2/BEHNUeWzXKhrvjfT/eBLFHo/QpH0HgdMH8MSQe6/LGszZoormwA6ZrTv2wxaFO7ZiQ==} + '@distilled.cloud/cloudflare@https://pkg.alchemy.run/@distilled.cloud/cloudflare/-/56e485b8ac5c256515f34acbe3fac34bce061a5b8911c0583fd2b25b4a6fd8bf.tgz': + resolution: {integrity: sha512-CPp6YWYrQm/xN6sos7mbB0dWyo298yc/pOhkSYAUJF/I8vzjw8ldYJgF07KNMjta04c7i2HQLJoQI3fnUdXHmw==, tarball: https://pkg.alchemy.run/@distilled.cloud/cloudflare/-/56e485b8ac5c256515f34acbe3fac34bce061a5b8911c0583fd2b25b4a6fd8bf.tgz} + version: 1.0.0-rc.17 peerDependencies: - effect: 4.0.5 + effect: 4.1.0 - '@distilled.cloud/gcp@1.0.0-rc.13': - resolution: {integrity: sha512-un8jqil9ejt96oN+OfEDUsbrEOpC6Ut4B/73DqKDttvt0Btal1OeBNTTQsftVCpeEzXAvkYKGRIT2AeEu1J5jA==} + '@distilled.cloud/core@https://pkg.alchemy.run/@distilled.cloud/core/-/e9c00fbcf63b89460387f62c60b7319f682a4fbd1c438f41175bf4fffa1da9df.tgz': + resolution: {integrity: sha512-gRtG71ly/mZrna8epY9p9xFk5h58/30kOhLAalfEQNqUdjcYfECaMjU8Z7AKj3yUOv81BfF3/KiSwRiuP+Jwvw==, tarball: https://pkg.alchemy.run/@distilled.cloud/core/-/e9c00fbcf63b89460387f62c60b7319f682a4fbd1c438f41175bf4fffa1da9df.tgz} + version: 1.0.0-rc.17 peerDependencies: - effect: 4.0.5 + effect: 4.1.0 - '@distilled.cloud/hetzner@1.0.0-rc.13': - resolution: {integrity: sha512-FvqofgMypNkeZbnjGjWMZqvqGd9GxcMzdbi/6JrbcPaHMJG+CCBGt/mAa7mLlEovzwVaGCsBnOXJ6rP5pZjB4Q==} + '@distilled.cloud/github@https://pkg.alchemy.run/@distilled.cloud/github/-/b656793cc3031e7e63f3255902a1e751d28d9bf8c13ab70cfca6b00a5a831cb4.tgz': + resolution: {integrity: sha512-mOVSHbEfnj4APId37RY1DBnRjtZrus/vrtmkPZoBb3tdZdSSTgE4DszExqA50yKfEGugmudUpnN02ZJLrJUKjw==, tarball: https://pkg.alchemy.run/@distilled.cloud/github/-/b656793cc3031e7e63f3255902a1e751d28d9bf8c13ab70cfca6b00a5a831cb4.tgz} + version: 1.0.0-rc.17 peerDependencies: - effect: 4.0.5 + effect: 4.1.0 - '@distilled.cloud/infisical@1.0.0-rc.13': - resolution: {integrity: sha512-Zz8ksA/Y8UUUnWag2UBxB5WYA6wLqOS78ugWJ3cOr9Ot+4bC0NJYWanq35uFInozLXWhun84USU2wOI+mdwQUQ==} + '@distilled.cloud/iceberg@https://pkg.alchemy.run/@distilled.cloud/iceberg/-/01378c8b70513ccbc2e49ba1f00984a2851bf7a9160e1ee31c61511c16ab4bb7.tgz': + resolution: {integrity: sha512-899gpcDCo/eb/mNQxFvwtfjncZFJI9NSZKtoOpYzPu13fsRJLnDuuYUEbJpkWjFr0bW2YepqzDs5RnU9Uj8rnQ==, tarball: https://pkg.alchemy.run/@distilled.cloud/iceberg/-/01378c8b70513ccbc2e49ba1f00984a2851bf7a9160e1ee31c61511c16ab4bb7.tgz} + version: 1.0.0-rc.17 peerDependencies: - effect: 4.0.5 + effect: 4.1.0 - '@distilled.cloud/neon@1.0.0-rc.13': - resolution: {integrity: sha512-2JvbBFj1kBfkDVPnWcJZ7TJ1cJwWBtScAY7SNJ2qNBUuAK1Wf2kjJXU0/j16eCJ48BQigPArQFWL51wVu/EUQQ==} - peerDependencies: - effect: 4.0.5 - - '@distilled.cloud/planetscale@1.0.0-rc.13': - resolution: {integrity: sha512-AM97YGRnDfZdqsxFgQMQ83p7ZlRqxS6/foTTJA5P590UMbbOyrQyFyd33BD0agul8a3ngZde3Oej6v7BN55aWw==} - peerDependencies: - effect: 4.0.5 - - '@distilled.cloud/prisma@1.0.0-rc.13': - resolution: {integrity: sha512-+UmHSp9JV8XQl5t5tTdQBY+dWZ9abrEoc7leYEctA0Ar1TrKZEl2EaeQDoumrg4RyGaacRlirEbxaDFI4SOPtQ==} - peerDependencies: - effect: 4.0.5 - - '@distilled.cloud/railway@1.0.0-rc.13': - resolution: {integrity: sha512-yXalRS3GFLo3hWM0HXptqudi23NVCM4FRD20db2/Ob9FFcNrMJik1fopv+74HOiV+BuxfkCP609KsEK6LVdB/g==} - peerDependencies: - effect: 4.0.5 - - '@distilled.cloud/stripe@1.0.0-rc.13': - resolution: {integrity: sha512-jLTJ1mg4U39lHZb9EGYBJLR91yB3LSG6fVxix+r1BbqaTovWzE+NuJ7fu9fRSeax9jRAqsGLLxe9IxJbOtwQnQ==} - peerDependencies: - effect: 4.0.5 - - '@distilled.cloud/zerossl@1.0.0-rc.13': - resolution: {integrity: sha512-dnxhg39lZjpTdZbHCVYPoUC9E2r8eSHbqiYDhSq2EurVPJcc9YRXlxZR1bP1nniSp078XV8GA+aUECt/Z56aQg==} - peerDependencies: - effect: 4.0.5 - - '@effect/opentelemetry@4.0.5': - resolution: {integrity: sha512-/Ms5DCZyHZzAbQQtXP4QRCSvHnKXaw3vLnDUegFmO3K3qIRqRdqfVtIqbGa1pbjMKdTShggiitDjRAYOHyWo1A==} - engines: {node: '>=18.0.0'} + '@effect/opentelemetry@4.1.0': + resolution: {integrity: sha512-j9bNzQaoQvcnimBFMG0i3piEW20E8HjkXAQHTJN/XqG2e4uJ9zCv53/HCNzD7+ooFn5S4nwQy/BOXeNReMIe+A==} + engines: {node: '>=22.19.0'} peerDependencies: '@opentelemetry/api': '>=1.9.0 <2.0.0' '@opentelemetry/api-logs': '>=0.203.0 <0.300.0' @@ -1443,7 +1429,7 @@ packages: '@opentelemetry/sdk-trace-node': '>=2.0.0 <3.0.0' '@opentelemetry/sdk-trace-web': '>=2.0.0 <3.0.0' '@opentelemetry/semantic-conventions': '>=1.33.0 <2.0.0' - effect: 4.0.5 + effect: 4.1.0 peerDependenciesMeta: '@opentelemetry/api': optional: true @@ -1462,28 +1448,23 @@ packages: '@opentelemetry/sdk-trace-web': optional: true - '@effect/platform-node-shared@4.0.5': - resolution: {integrity: sha512-a8rCdEkfZBGe9C6bsIjxVZuRp73svIyK5IHwHdDAVsvZXjrbkxusfI+rZ8WlX31RP1mKizwI/E72GQTNfdMWHw==} - engines: {node: '>=18.0.0'} + '@effect/platform-node-shared@4.1.0': + resolution: {integrity: sha512-uYQfFRoxWLo8fIhiSeBcmz/R1ooOfE3HF3cWHFgxz82tZMk2Wn02BGABcdLmaAch9VpDLbtWnuhSxNyBsGMUFg==} + engines: {node: '>=22.19.0'} peerDependencies: - effect: 4.0.5 + effect: 4.1.0 - '@effect/platform-node@4.0.5': - resolution: {integrity: sha512-v4KD5fWvEUa4QmWFpZFbBsRhmfnTP6ETCME2r9ifyXVDPjhfpxpTZl41prjgQFMqZBHdWWCl7YC5ImbXv5ui5g==} - engines: {node: '>=18.0.0'} + '@effect/platform-node@4.1.0': + resolution: {integrity: sha512-v+X7moGVF9k5oMVvz0slA+NgtEod+W+oygeI285MDJgSlUCW3JcqElj+cD3rlijFZtpKhC7RLkU1GuCxjGHTpA==} + engines: {node: '>=22.19.0'} peerDependencies: - effect: 4.0.5 + effect: 4.1.0 redis: '>=5.0.0 <7.0.0' - '@effect/sql-d1@4.0.5': - resolution: {integrity: sha512-ERArvCS/qOHx52yKFePc8v5qs0y18Ld+Ha6Xkkm/I1R+zTf+flfWpsuxlxkPKlwQCqB9K+yfU6Kw1gshKGRCPQ==} - peerDependencies: - effect: 4.0.5 - - '@effect/sql-sqlite-do@4.0.5': - resolution: {integrity: sha512-TGlU65ZJJMa81I7EoicQXxhRsJDxDPz6A/PNOPzMYRgmCdLs6EsTTXIkKZ+8apb7pl2o0OKVcrT6i6mGlluyLg==} + '@effect/sql-d1@4.1.0': + resolution: {integrity: sha512-Sg3UxQGc5yPc9LZ4WmiwHzVv+Wpqntue+4QRYx/XdLLyrZH4w+BkshPzifC7p7uQg9OaiaeQJPlsKZs6Bm9plw==} peerDependencies: - effect: 4.0.5 + effect: 4.1.0 '@effect/tsgo-darwin-arm64@0.63.0': resolution: {integrity: sha512-KBvYatuEol71+i+BERWuDRU9XE+4sTK78N83Ko6VNF5gy6yXiujj/bgtWs2P3cDGXsevAV6L+HtpuAWjAQKC6Q==} @@ -1524,20 +1505,6 @@ packages: resolution: {integrity: sha512-bRbvVj+YLE/nBmcBWGAwsul3mjEYlqqOmWMxvwSVKq/oNnJEuZYgi2OFDeUf7q49E2g3w+oMHMWyN2QayZ77RQ==} hasBin: true - '@electric-sql/pglite-socket@0.0.20': - resolution: {integrity: sha512-J5nLGsicnD9wJHnno9r+DGxfcZWh+YJMCe0q/aCgtG6XOm9Z7fKeite8IZSNXgZeGltSigM9U/vAWZQWdgcSFg==} - hasBin: true - peerDependencies: - '@electric-sql/pglite': 0.3.15 - - '@electric-sql/pglite-tools@0.2.20': - resolution: {integrity: sha512-BK50ZnYa3IG7ztXhtgYf0Q7zijV32Iw1cYS8C+ThdQlwx12V5VZ9KRJ42y82Hyb4PkTxZQklVQA9JHyUlex33A==} - peerDependencies: - '@electric-sql/pglite': 0.3.15 - - '@electric-sql/pglite@0.3.15': - resolution: {integrity: sha512-Cj++n1Mekf9ETfdc16TlDi+cDDQF0W7EcbyRHYOAeZdsAe8M/FJg18itDTSwyHfar2WIezawM9o0EKaRGVKygQ==} - '@emnapi/core@1.11.0': resolution: {integrity: sha512-l9Oo58x0HOP5znGzVhYW9U3e5wVuA4LAZU2AGezTmkhO1CgQRFDhDg4nneHsu/t3WniXg9QrG2nIXL/ZS8ln8Q==} @@ -1737,12 +1704,6 @@ packages: engines: {node: '>=6'} hasBin: true - '@hono/node-server@1.19.9': - resolution: {integrity: sha512-vHL6w3ecZsky+8P5MD+eFfaGTyCeOHUIFYMGpQGbrBTSmNNoxv0if69rEZ5giu36weC5saFuznL411gRX7bJDw==} - engines: {node: '>=18.14.1'} - peerDependencies: - hono: ^4 - '@img/colour@1.1.0': resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==} engines: {node: '>=18'} @@ -2101,63 +2062,6 @@ packages: '@js-sdsl/ordered-map@4.4.2': resolution: {integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==} - '@libsql/client@0.17.4': - resolution: {integrity: sha512-lYayFWasDV78A+TjlEhr6ubb3odBV6OHjb+wdp8VQcyWWAEIjuwbCHaraEUS4m4yWoo0BvZo96It4VdzZRmRWw==} - - '@libsql/core@0.17.4': - resolution: {integrity: sha512-LqF9gIvnJ38nmAH1y/ChizHqDO/MO1wLgA96XrraulEEbqXxLjleSH92YWTolbuJKgPUmGu4aJk9W3UnAcxLOQ==} - - '@libsql/darwin-arm64@0.5.29': - resolution: {integrity: sha512-K+2RIB1OGFPYQbfay48GakLhqf3ArcbHqPFu7EZiaUcRgFcdw8RoltsMyvbj5ix2fY0HV3Q3Ioa/ByvQdaSM0A==} - cpu: [arm64] - os: [darwin] - - '@libsql/darwin-x64@0.5.29': - resolution: {integrity: sha512-OtT+KFHsKFy1R5FVadr8FJ2Bb1mghtXTyJkxv0trocq7NuHntSki1eUbxpO5ezJesDvBlqFjnWaYYY516QNLhQ==} - cpu: [x64] - os: [darwin] - - '@libsql/hrana-client@0.10.0': - resolution: {integrity: sha512-OoA4EMqRAC7kn7V2P6EQqRcpZf2W+AjsNIyCizBg339Tq/aMC7sRnzs3SklderhmQWAqEzvv8A2vhxVmWpkVvw==} - - '@libsql/isomorphic-ws@0.1.5': - resolution: {integrity: sha512-DtLWIH29onUYR00i0GlQ3UdcTRC6EP4u9w/h9LxpUZJWRMARk6dQwZ6Jkd+QdwVpuAOrdxt18v0K2uIYR3fwFg==} - - '@libsql/linux-arm-gnueabihf@0.5.29': - resolution: {integrity: sha512-CD4n4zj7SJTHso4nf5cuMoWoMSS7asn5hHygsDuhRl8jjjCTT3yE+xdUvI4J7zsyb53VO5ISh4cwwOtf6k2UhQ==} - cpu: [arm] - os: [linux] - - '@libsql/linux-arm-musleabihf@0.5.29': - resolution: {integrity: sha512-2Z9qBVpEJV7OeflzIR3+l5yAd4uTOLxklScYTwpZnkm2vDSGlC1PRlueLaufc4EFITkLKXK2MWBpexuNJfMVcg==} - cpu: [arm] - os: [linux] - - '@libsql/linux-arm64-gnu@0.5.29': - resolution: {integrity: sha512-gURBqaiXIGGwFNEaUj8Ldk7Hps4STtG+31aEidCk5evMMdtsdfL3HPCpvys+ZF/tkOs2MWlRWoSq7SOuCE9k3w==} - cpu: [arm64] - os: [linux] - - '@libsql/linux-arm64-musl@0.5.29': - resolution: {integrity: sha512-fwgYZ0H8mUkyVqXZHF3mT/92iIh1N94Owi/f66cPVNsk9BdGKq5gVpoKO+7UxaNzuEH1roJp2QEwsCZMvBLpqg==} - cpu: [arm64] - os: [linux] - - '@libsql/linux-x64-gnu@0.5.29': - resolution: {integrity: sha512-y14V0vY0nmMC6G0pHeJcEarcnGU2H6cm21ZceRkacWHvQAEhAG0latQkCtoS2njFOXiYIg+JYPfAoWKbi82rkg==} - cpu: [x64] - os: [linux] - - '@libsql/linux-x64-musl@0.5.29': - resolution: {integrity: sha512-gquqwA/39tH4pFl+J9n3SOMSymjX+6kZ3kWgY3b94nXFTwac9bnFNMffIomgvlFaC4ArVqMnOZD3nuJ3H3VO1w==} - cpu: [x64] - os: [linux] - - '@libsql/win32-x64-msvc@0.5.29': - resolution: {integrity: sha512-4/0CvEdhi6+KjMxMaVbFM2n2Z44escBRoEYpR+gZg64DdetzGnYm8mcNLcoySaDJZNaBd6wz5DNdgRmcI4hXcg==} - cpu: [x64] - os: [win32] - '@microsoft/api-extractor-model@7.33.15': resolution: {integrity: sha512-UpCnItIJwu03iNTWtJVKv8Qbf0MXN7WLQZUail9cpAQmnZiIX36YPRRoRxz0pocwytzUpmJhstsLkyW5tsaHBA==} engines: {node: '>=20.9.0'} @@ -2173,10 +2077,6 @@ packages: '@microsoft/tsdoc@0.17.1': resolution: {integrity: sha512-VHyYyyoH63jFoO3shpw9Zfijk5v/9p/VrClW35z0/q6ooK7sSmxpzOkS4iZPxs3vO4XtBW4H38HRAKkAMIK7DA==} - '@mrleebo/prisma-ast@0.13.1': - resolution: {integrity: sha512-XyroGQXcHrZdvmrGJvsA9KNeOOgGMg1Vg9OlheUsBOSKznLMDl+YChxbkboRHvtFYJEMRYmlV3uoo/njCw05iw==} - engines: {node: '>=16'} - '@napi-rs/wasm-runtime@1.2.5': resolution: {integrity: sha512-HshSvXzmBxNzqejd3k/KemgQ3hdREUYFRRrgxOZ+gPljDIsO2SDZrVZMd4Z/HsxudQbE62OVyVFE8z9BCurfjA==} engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0} @@ -2184,91 +2084,10 @@ packages: '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4 - '@neon-rs/load@0.0.4': - resolution: {integrity: sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw==} - - '@neon/functions@0.11.0': - resolution: {integrity: sha512-xyIEk9aULR2nBTzyTgxljkM8aS+Ppe9oVw/t5mdqYOlY/mLFppHSZHq8hiWVDWy6Ca8oLd3loTtfVz+cZQQjsA==} - engines: {node: '>=20.19.0'} - peerDependencies: - hono: ^4.7.8 - peerDependenciesMeta: - hono: - optional: true - '@noble/hashes@2.4.0': resolution: {integrity: sha512-X5XaVWZIBCT7HHZGm5I7ZQXDwLG+bGXuSrMQAW+7Zvl87h1kmc1ZB1VSRJcpUfoUrGQp4Fkoxm5kZ+Ms+aW+eA==} engines: {node: '>= 20.19.0'} - '@octokit/auth-token@6.0.0': - resolution: {integrity: sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==} - engines: {node: '>= 20'} - - '@octokit/core@7.0.8': - resolution: {integrity: sha512-L7y8eYc+AwxGr2PWI4WFt1VG4TiJ66c26BD16mXpYIlXxG0SMigM1+m4aTSlYyBr5BlQsGAlz8uDCoZN4SEMcg==} - engines: {node: '>= 20'} - - '@octokit/endpoint@11.0.5': - resolution: {integrity: sha512-iXa654H3yFafF/ieHkukfbgWo2rmXD2ceD0ZOtrPhw1bc3FDch1d9N/TNs0FQ1/cIbwb7kspUX8jzIs8nzb9DQ==} - engines: {node: '>= 20'} - - '@octokit/graphql@9.0.5': - resolution: {integrity: sha512-bt/hm03LeU6Vy7FwTrkkC9p3XGT/lBwClglMqxBSe5/q0E5CdJTXeAqEI0vlw89/LF/G6tryTIH8HirZ3prMVg==} - engines: {node: '>= 20'} - - '@octokit/openapi-types@27.0.0': - resolution: {integrity: sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==} - - '@octokit/openapi-types@29.0.1': - resolution: {integrity: sha512-9qWOMFNxxLokERcms42rU0PTLqQmVs7g5E41TI4mCOxmpFayD1rfC7XxOL55cG9MBZLFlC31BrR37myMKardwg==} - - '@octokit/openapi-webhooks-types@12.1.0': - resolution: {integrity: sha512-WiuzhOsiOvb7W3Pvmhf8d2C6qaLHXrWiLBP4nJ/4kydu+wpagV5Fkz9RfQwV2afYzv3PB+3xYgp4mAdNGjDprA==} - - '@octokit/plugin-paginate-rest@14.0.0': - resolution: {integrity: sha512-fNVRE7ufJiAA3XUrha2omTA39M6IXIc6GIZLvlbsm8QOQCYvpq/LkMNGyFlB1d8hTDzsAXa3OKtybdMAYsV/fw==} - engines: {node: '>= 20'} - peerDependencies: - '@octokit/core': '>=6' - - '@octokit/plugin-request-log@6.0.0': - resolution: {integrity: sha512-UkOzeEN3W91/eBq9sPZNQ7sUBvYCqYbrrD8gTbBuGtHEuycE4/awMXcYvx6sVYo7LypPhmQwwpUe4Yyu4QZN5Q==} - engines: {node: '>= 20'} - peerDependencies: - '@octokit/core': '>=6' - - '@octokit/plugin-rest-endpoint-methods@17.0.0': - resolution: {integrity: sha512-B5yCyIlOJFPqUUeiD0cnBJwWJO8lkJs5d8+ze9QDP6SvfiXSz1BF+91+0MeI1d2yxgOhU/O+CvtiZ9jSkHhFAw==} - engines: {node: '>= 20'} - peerDependencies: - '@octokit/core': '>=6' - - '@octokit/request-error@7.1.2': - resolution: {integrity: sha512-XZRuT3xZ84D3gYErI1DZvhJ33dCWVV6uzBtWkaBB4TvA/L6eOeTZodxLFVB44bBEEo3vEx7y00UfX1tBLrtLRg==} - engines: {node: '>= 20'} - - '@octokit/request@10.0.16': - resolution: {integrity: sha512-A0zWGjHzISIb+9ccG8s0dq7LKO5zVpJLRICjgUb+sJxEWqn8RUHB1rD3AE51+PECvXHIxqZ1VVvs4fHTSD9nUQ==} - engines: {node: '>= 20'} - - '@octokit/rest@22.0.1': - resolution: {integrity: sha512-Jzbhzl3CEexhnivb1iQ0KJ7s5vvjMWcmRtq5aUsKmKDrRW6z3r84ngmiFKFvpZjpiU/9/S6ITPFRpn5s/3uQJw==} - engines: {node: '>= 20'} - - '@octokit/types@16.0.0': - resolution: {integrity: sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==} - - '@octokit/types@18.0.0': - resolution: {integrity: sha512-l6bAF43PNxkJp6g+W4PjoUSSkxHomXw2nOum5CTftJz1NlV3vu93NImgOYtLf6CbBUb5j+fiuzW0PPQ5JTSvZA==} - - '@octokit/webhooks-methods@6.0.0': - resolution: {integrity: sha512-MFlzzoDJVw/GcbfzVC1RLR36QqkTLUf79vLVO3D+xn7r0QgxnFoLZgtrzxiQErAjFUOdH6fas2KeQJ1yr/qaXQ==} - engines: {node: '>= 20'} - - '@octokit/webhooks@14.2.0': - resolution: {integrity: sha512-da6KbdNCV5sr1/txD896V+6W0iamFWrvVl8cHkBSPT+YlvmT3DwXa4jxZnQc+gnuTEqSWbBeoSZYTayXH9wXcw==} - engines: {node: '>= 20'} - '@oozcitak/dom@2.0.2': resolution: {integrity: sha512-GjpKhkSYC3Mj4+lfwEyI1dqnsKTgwGy48ytZEhm4A/xnH/8z9M3ZVXKr/YGQi3uCLs1AEBS+x5T2JPiueEDW8w==} engines: {node: '>=20.0'} @@ -2836,15 +2655,9 @@ packages: '@oxc-project/types@0.127.0': resolution: {integrity: sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==} - '@oxc-project/types@0.146.0': - resolution: {integrity: sha512-XC0QsnnhVe7sLIWmYmdPw7x5P0h4W8vUU3Nv1ySgWXtvCz8NizoAEpGXA0sOYoJQV2Rl13LgURAHQ5cI5ILCSA==} - '@oxc-project/types@0.150.0': resolution: {integrity: sha512-rDS5/31E9HfPl/CIzGrn0DOlvBbXFseQ5URJ9sYMfstbKLD/c6Gm9vmRzRGDdAXyOIL4zmO37lc9RIwYqVruZw==} - '@oxc-project/types@0.152.0': - resolution: {integrity: sha512-oM/5rLBm2tPkg0iBgkH/FOeR3PCDpY19GTgAZjMFM8h9WI9VW7cLgzp6nwtarYKmovavIQZ+Fe/RKX/8C8O/Rw==} - '@oxc-project/types@0.153.0': resolution: {integrity: sha512-jSNrRIyvPVLL5E1z/tS5zLAprosGz/FuI1PWwEOz59j3E4TTTzSpqKb/RDGqJhhW0QHYISGXxq582wGx6T11Tw==} @@ -3341,18 +3154,6 @@ packages: '@poppinss/exception@1.2.3': resolution: {integrity: sha512-dCED+QRChTVatE9ibtoaxc+WkdzOSjYTKi/+uacHWIsfodVfpsueo3+DKpgU5Px8qXjgmXkSvhXvSCz3fnP9lw==} - '@prisma/debug@7.2.0': - resolution: {integrity: sha512-YSGTiSlBAVJPzX4ONZmMotL+ozJwQjRmZweQNIq/ER0tQJKJynNkRB3kyvt37eOfsbMCXk3gnLF6J9OJ4QWftw==} - - '@prisma/dev@0.20.0': - resolution: {integrity: sha512-ovlBYwWor0OzG+yH4J3Ot+AneD818BttLA+Ii7wjbcLHUrnC4tbUPVGyNd3c/+71KETPKZfjhkTSpdS15dmXNQ==} - - '@prisma/get-platform@7.2.0': - resolution: {integrity: sha512-k1V0l0Td1732EHpAfi2eySTezyllok9dXb6UQanajkJQzPUGi3vO2z7jdkz67SypFTdmbnyGYxvEvYZdZsMAVA==} - - '@prisma/query-plan-executor@7.2.0': - resolution: {integrity: sha512-EOZmNzcV8uJ0mae3DhTsiHgoNCuu1J9mULQpGCh62zN3PxPTd+qI9tJvk5jOst8WHKQNwJWR3b39t0XvfBB0WQ==} - '@protobufjs/aspromise@1.1.2': resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} @@ -3380,8 +3181,8 @@ packages: '@protobufjs/utf8@1.1.2': resolution: {integrity: sha512-b1UQwcEZ4yCnMCD8DAL1VlbvBJE9/IX4FTIp7BG1xYpf29SLazLSrqUkj4w7Y5y7cCVP6E5tcqqcI0xemPkHug==} - '@puppeteer/browsers@3.2.3': - resolution: {integrity: sha512-2Bt3m6dDAJqmZehn0wiXSYyQmuhyiHHZ7FjvrVaS1W2RoFGV6eCK71UvKYkNJjkwC1Q9nobjhvTMhLQztFVINA==} + '@puppeteer/browsers@3.2.6': + resolution: {integrity: sha512-MJP29gVoHznmqmwhH1tlZqzfeQ3aylTpSSa6WKZXtkwYUH02i9imBmWGTyZrbnAou5paX78SE4jMAUqnEPf8ug==} engines: {node: '>=22.12.0'} hasBin: true peerDependencies: @@ -3432,194 +3233,98 @@ packages: peerDependencies: '@redis/client': ^6.2.1 - '@rolldown/binding-android-arm-eabi@1.2.12': - resolution: {integrity: sha512-dB/a1214qKfHMXCpgqR4OZT+jS4kTyEXbQGJPqzobt5EwH5rX080pxE37alt3RzvR1bf1Yz/yGqRfrYAxuPw0A==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [android] - - '@rolldown/binding-android-arm-eabi@1.2.5': - resolution: {integrity: sha512-DLe/i+l8ynIBY7XEQ191TeZvCoowIGa18R+dIV30GW7DiOtp74i/xX8hs8GUjW5ARV7VZuie3d6AumSmCwbeRA==} + '@rolldown/binding-android-arm-eabi@1.2.13': + resolution: {integrity: sha512-Vu/NICrgdRvUOeaJZIyB2FP63s6fO/4ud5l8dXmxDx9yDyn+mN0y+gsvsVviSli+T361Aqo0h46EuMoobrwawA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@rolldown/binding-android-arm64@1.2.12': - resolution: {integrity: sha512-7KHFgQ5VJxIHcLlrwrc3Xbds7oTNQT7Pgi9gQCJKrd2VGab/UksIOYp6VD8MzCstGxOKMgNamPwUCfxPdP1OHg==} + '@rolldown/binding-android-arm64@1.2.13': + resolution: {integrity: sha512-6LEoIrGy5vvCd2boNnv2soPSUZj/PRvhp8R/t9KlX+mIZxThIE/ZqxrGXxmuNX0FuvQFvLdZr7S4HrYpYBVhEQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-android-arm64@1.2.5': - resolution: {integrity: sha512-zXcwKlQApYAOELHd8PwKDFkagYF9Wy4e0RJ+0qnzl9Pjnpj75TEG8ufv40p2J7kCEfwZAsNiuzRIyNNMWT38ig==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [android] - - '@rolldown/binding-darwin-arm64@1.2.12': - resolution: {integrity: sha512-3YIhqHD96nA5SaYNRBR16HnGv4oavZvXfD/ayHM+oYZ0WD/8lBAtf6zQua4kEyAvpqrluKXl0lnOBoiNby7x9w==} + '@rolldown/binding-darwin-arm64@1.2.13': + resolution: {integrity: sha512-CaJSRzlQ6Q+zkDMVA9OkVxBjVoPRCDEE3v0FSJ9kIQBgRjFApA3Si4ijhbNVUji7ZJt+PfO0e46qy4nPInHUPA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-arm64@1.2.5': - resolution: {integrity: sha512-dK4QakI42nzWgJT5sm4y4y/O//D4OxM75/cH28RLV+nzIN9AY+YsbuUVrUTjlLjXR6vpyxFbSsbmNuJ6BP9sww==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [darwin] - - '@rolldown/binding-darwin-x64@1.2.12': - resolution: {integrity: sha512-UuuJ35MFw4gmFOrE9pEqIV+K3syIKveph+Qc1/ljHZVdoDW4pz/JHR/eMVom+TZGl/5OOvGJOWaOCVt3ZfqhxA==} + '@rolldown/binding-darwin-x64@1.2.13': + resolution: {integrity: sha512-e4r340I5hxSzJkD3YJBxgzq/rJ3wwxwdLLb2FPt1Zpyem20nrQPT11DDEEkazwxaHumH8wpglsp/Ozgj/wT6mw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-darwin-x64@1.2.5': - resolution: {integrity: sha512-fqSALaUu1Wjd1nK2uW2kJDWdLCc8lx1IcY+MTY26Aurfdx19anlzhqXOgCFbBFQnlFDTn4TC1/7Nz4Bl2mLP3A==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [darwin] - - '@rolldown/binding-freebsd-x64@1.2.12': - resolution: {integrity: sha512-uMvssit0a4W+/7D8CbHUvG719mH3R2jwXAlh/XcPvuHTE0g++LymF88DCGNX0HM2rBOn0xrzgXktIB6fLSJBTQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [freebsd] - - '@rolldown/binding-freebsd-x64@1.2.5': - resolution: {integrity: sha512-/vCnNxlkxs9tKxNDcyWUePpJ/PgTzxIaVhoM5SmG8UV+GR/IcPam4VYxi7GIMo7PSDuNqlJqvprqii9NqqVCMw==} + '@rolldown/binding-freebsd-x64@1.2.13': + resolution: {integrity: sha512-hoBWDZ4/K/mJKVMbsgUd1jfpA2DiOrJ54mpegObU9TBHBBrtX4FLIXJJQRDPZ/2Dn91GvPob+Z2hwKJzf4E5SQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.2.12': - resolution: {integrity: sha512-XcFu0R0xWnwzSf4IQgFH1rJIckPN1pLy2R+4r9IDB7Yfu/ys9cVqfa4pBrMHj7a3gl8mIR4nRNPg0e5IvEVs6g==} + '@rolldown/binding-linux-arm-gnueabihf@1.2.13': + resolution: {integrity: sha512-oF9fZu3vTWnTiVAkDFxU9PJLt1nh20K9RRpuHsR7ZnE2L7XookBbDBVLojCVSLGbvtSlxeUNnjAj6DbNsKyzbg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm-gnueabihf@1.2.5': - resolution: {integrity: sha512-abk0NLA519LxRCszmbE0jYKuQ9YPocOXTiOXOo6Yr+YAT95VH+PtqYAjOJvGKt3viEd/x4qzabAlwd5bHOOARg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [linux] - - '@rolldown/binding-linux-arm64-gnu@1.2.12': - resolution: {integrity: sha512-260UrKgn8tz39ak+SMDOirKzr7V04M9dWPw5llW00SwBivCZoWcRBKV1d8cXnRkUmSZA3BdiUmBHWk7734Ulpw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [linux] - libc: [glibc] - - '@rolldown/binding-linux-arm64-gnu@1.2.5': - resolution: {integrity: sha512-Y7eALiJ8lr0M2HH103Js+g7V34wf6snlpZLAsHI90uLhr3PVlNsbFVAXJC9d/V6BnPyKtpSwI+NcB/RLxsQxuA==} + '@rolldown/binding-linux-arm64-gnu@1.2.13': + resolution: {integrity: sha512-DTpb/+jMiqWMPgphn4ksW1zW+XLJ6dJJ9FMvnIk9I291LhCctMPhMYJrP5t9p6C9qa3KXadDdUEZHBaPh3kNxQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-musl@1.2.12': - resolution: {integrity: sha512-5YK1I9SqDkbPgc1IA8BgDl34suqUS2q0KWnBrirm0E51YjOs6eo6dV6jbQfNE/argHRSvd0QUGgtpIoYx+WWpw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [linux] - libc: [musl] - - '@rolldown/binding-linux-arm64-musl@1.2.5': - resolution: {integrity: sha512-xMvZgnbZg4YVnR/AX2b3oOPDTFYJvUVaJg5FedA/LuvexAtXibZQej4cnTkw3rjsJ/ggUROB64TdtETiim+FYA==} + '@rolldown/binding-linux-arm64-musl@1.2.13': + resolution: {integrity: sha512-xU+Kvv9N2A3SY35zFh1FWWNjxbadE/BKeqnkXe7vScU4GZsw757BlVmDLITZEq8DPpk6m7uoDYkK7P+x/uU5Ow==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-ppc64-gnu@1.2.12': - resolution: {integrity: sha512-Rkcrmp7eFRg74yL5fXEU91JEWbdEPLevWwGtXpmhbjlD1StScbWTmO94Bhly+Mo+ketKYkdmM1vNUKeWSlx8cQ==} + '@rolldown/binding-linux-ppc64-gnu@1.2.13': + resolution: {integrity: sha512-XMk/hnhh25oQ756Lclb1Q11h4ll0xC0Esa5w4Vzp+mAE2S3AGJgeM0SonrIgY8fHhjarb6hcoTuwoFG0VVP2ig==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-ppc64-gnu@1.2.5': - resolution: {integrity: sha512-GRjeqTUDHTo5GwntsLaAMcBahG3nlpjftXWZLN73HiYQlhwEowvarFgQnRnQZtIp4keXX7quXFbG38uPZBa2EA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [ppc64] - os: [linux] - libc: [glibc] - - '@rolldown/binding-linux-s390x-gnu@1.2.12': - resolution: {integrity: sha512-qvK4DuAsQc2BSjlx+Xr+IzOIvvxbGZqxFwdWfG6F518Erj0GGISyQbJ6pIappnOxlNPzNHvo/L0BwB30GZ+zVw==} + '@rolldown/binding-linux-s390x-gnu@1.2.13': + resolution: {integrity: sha512-U1BoTHYmlywE2n3HUWjzZ+8EQsKr+OwpxYuDWaubx42tUL8QSL7nOqRz/NVHanibbFP3M1Rxuprz/wNcbMKjqw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.2.5': - resolution: {integrity: sha512-vLNTR45F2Uwc8AufkNXPmB4VliaXs+FvcheEogIzOXzO4l+LzieXF5A/TWxLy5HtqpsRCHUfd0lPVrrdgXdLHQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [s390x] - os: [linux] - libc: [glibc] - - '@rolldown/binding-linux-x64-gnu@1.2.12': - resolution: {integrity: sha512-Q9uLBO53Xd4QIq1WOycVQyPP1O4HhraEV2qqb3uTrnVw6QZih9duY4vNXOivL1xoUS1/z+W8eF4NMfl2a8Sdjw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [linux] - libc: [glibc] - - '@rolldown/binding-linux-x64-gnu@1.2.5': - resolution: {integrity: sha512-Mgj59/HTuYeK9Gz2MA+mBWKnHsAgkBSec15ZMb1st3oIfFbX7gCjOae7GydHhzcyQi9Z/7M1QuN9bR3oFqF0jQ==} + '@rolldown/binding-linux-x64-gnu@1.2.13': + resolution: {integrity: sha512-J4cm80Pc6wEwV5AZ42o62sIQgDk+Y7R2s646jIwuvO+4V46QB58N4vVuMPWCBaNgursXLpmUWJV//WQAkPvHBQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-musl@1.2.12': - resolution: {integrity: sha512-3IBxWFMjbOZskDPKv8Lf9BCnahlKuHthWkYnyIxOH/QcJrFcS4EmcenthApkwr/5+nEqZlLzeYbxeMaX7A5u4g==} + '@rolldown/binding-linux-x64-musl@1.2.13': + resolution: {integrity: sha512-W0euZS40U4V6JkmEnVCIX9mcsL6cbXQ4X8c2w+MMOIjFg68TXUW+u3RT+2e1t1pv9mg/EP3pDtK3POXdQ7Rxyw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-linux-x64-musl@1.2.5': - resolution: {integrity: sha512-mY8AP0/ichsbhAxGnLa3d3+MwV0EfgrPND2bplI3Ym8T6R2pJ0N87bvrKVwNXmdy3jnr6eQBecdqx/HMknBmpA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [linux] - libc: [musl] - - '@rolldown/binding-openharmony-arm64@1.2.12': - resolution: {integrity: sha512-xtX61xg4LKPkPWilZU1ynKClz5Gj4bf74LML4r3eVLWumKnGjoEr1OSHQhMdbBDoYTi+yjrujvpZe2pUnqCrrA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [openharmony] - - '@rolldown/binding-openharmony-arm64@1.2.5': - resolution: {integrity: sha512-8SLssA2oweAxyRgDp789ACfRb/3P+zNRJpzZxSizxF9m8NUDQ4+3xjo8ttjhVGGw6Qxb70oZiEtIjaKikCO7Yw==} + '@rolldown/binding-openharmony-arm64@1.2.13': + resolution: {integrity: sha512-do/AF/4n9MRshia3a5aXoy8xM2c6mgfT6D7H/dY6my5z+hfCIR4ab7mk4IRj++nsEQpKy39kd0DQnDq+r692tw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-win32-arm64-msvc@1.2.12': - resolution: {integrity: sha512-At7fPB6PCaIjzgIhEZFxuT+BBFqiQibJDT4d3PhiR3f4E7bbMZF4aKblbFfEM3sETRDd1YiQx/+U/g/B/ou5Ew==} + '@rolldown/binding-win32-arm64-msvc@1.2.13': + resolution: {integrity: sha512-6FtUf2cJZobutJdxnGYX8z0vtbgqU0b2v8vfBhkXb9wp2MppMFtkunE+IaOntyi01rkIQoPW2GHABtfzsC0BRQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-arm64-msvc@1.2.5': - resolution: {integrity: sha512-vGbruD5zquhoc8D9SViXgN2FBJtNdTyQ4DtG+SWiEGlJiAzoKcZ2xp+xuXCffhubVdt0NJlTZqkeRuERy7g8Cw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [win32] - - '@rolldown/binding-win32-x64-msvc@1.2.12': - resolution: {integrity: sha512-WIw2haVKwjuYdXkHaoC0mF8Le71TuCBxjrdKqLbJGctbBABj+ClfmNvtbOnzpq3RokNo5+V1qhtSzJyXorsklQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [win32] - - '@rolldown/binding-win32-x64-msvc@1.2.5': - resolution: {integrity: sha512-e/SXpgISz+IoqVcSSI0rx/d/he8zqLex+/rCWpnHpmVfmPIUjag9H6P7zotf0gJHwPUhQxZ/mF8tr6acebT9yw==} + '@rolldown/binding-win32-x64-msvc@1.2.13': + resolution: {integrity: sha512-UKhFaZTeTcbKrb3iU82m17jVcPEAoqDkCN5MBqgPyZSwp/cQmib21crTS0DdH7T1B7wZRWEI89YQAOJMet5yhg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -3631,7 +3336,7 @@ packages: '@babel/core': ^7.29.0 || ^8.0.0-rc.1 '@babel/plugin-transform-runtime': ^7.29.0 || ^8.0.0-rc.1 '@babel/runtime': ^7.27.0 || ^8.0.0-rc.1 - rolldown: ^1.0.0-rc.5 + rolldown: 1.2.13 vite: ^8.0.0 peerDependenciesMeta: '@babel/plugin-transform-runtime': @@ -3706,10 +3411,6 @@ packages: resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} engines: {node: '>=18'} - '@smithy/types@4.19.0': - resolution: {integrity: sha512-r7jh49VJxGerfAcTQA6gXcKc+98zOp/tqRwzYjgOE+iSQsP6cEU1hq2QzbuipmP68QtYdY9wKEhiCQZIzHgZ4Q==} - engines: {node: '>=18.0.0'} - '@speed-highlight/core@1.2.24': resolution: {integrity: sha512-qeW2e1l78afw8VhRPfPQ1Gjj+KU5XFQ/OFV5ti6eTa9bruO7mJyZtA4vw0ofqmA3tKCkROE9xLk3VZoeRc98nw==} @@ -3798,7 +3499,7 @@ packages: resolution: {integrity: sha512-f1vjP48xEgH7Jvt7BDs4RPnnp9NOQJbUoVrcH/XTShxubAVs676rHYQ0/b0E/x6vfHqAyRwwR8DTxOlrlRwmAg==, tarball: file:.sfs-deps/conformance-spec-1.0.0.tgz} version: 1.0.0 peerDependencies: - effect: 4.0.5 + effect: 4.1.0 '@systemfsoftware/differential-spec@file:.sfs-deps/differential-spec-1.0.1.tgz': resolution: {integrity: sha512-oyUqpJYt6WKrmnZznwNr1PaPgkYnUW0PXaMi4gAAGcBsuy1D9IRYdGhCjjRnrjkUO+UHizQ6fsVlfvLhoDmOGQ==, tarball: file:.sfs-deps/differential-spec-1.0.1.tgz} @@ -3808,14 +3509,14 @@ packages: resolution: {integrity: sha512-MewiGEO5DMlC0zGOcGJo05ATNKvakCHHtmoRHGXiB4wfAIvSBYx12B+wyxtWN+y3KEkqOcSlFG+exPMo1+Iq8w==, tarball: file:.sfs-deps/effect-cell-types-12.0.0.tgz} version: 12.0.0 peerDependencies: - effect: 4.0.5 + effect: 4.1.0 '@systemfsoftware/effect-gherkin-spec@file:.sfs-deps/effect-gherkin-spec-7.0.1.tgz': resolution: {integrity: sha512-ATePKdi79QYKz1O0IIGdFJ2gqw4X3MR4wrZrIc6CRSzP0ZqV8kZq/ThQ8K3Sz5q7L8CqG9uCC0K2yAYydRmpSA==, tarball: file:.sfs-deps/effect-gherkin-spec-7.0.1.tgz} version: 7.0.1 peerDependencies: '@systemfsoftware/vitest': ^2.0.0 - effect: 4.0.5 + effect: 4.1.0 vitest: ^5.0.5 '@systemfsoftware/effect-schema-discovery@file:.sfs-deps/effect-schema-discovery-2.0.0.tgz': @@ -3827,21 +3528,21 @@ packages: version: 5.0.1 peerDependencies: '@systemfsoftware/vitest': ^2.0.0 - effect: 4.0.5 + effect: 4.1.0 vitest: ^5.0.5 '@systemfsoftware/effect-schema-recursion-budget@file:.sfs-deps/effect-schema-recursion-budget-2.0.0.tgz': resolution: {integrity: sha512-LzK3wNBDEjdgL3Clc7upvDvSZMK28pdYGWXfLfF6f4b3WzDljt7nt1422C4Sx1X0qL9lSDGtFpI5BZ+ku+S36g==, tarball: file:.sfs-deps/effect-schema-recursion-budget-2.0.0.tgz} version: 2.0.0 peerDependencies: - effect: 4.0.5 + effect: 4.1.0 '@systemfsoftware/effect-schema-vite@file:.sfs-deps/effect-schema-vite-3.0.1.tgz': resolution: {integrity: sha512-spx7L+vtvFAKQYy3ko76Lr/8u1OkOWinc6oNe+84rxctPe2nhzPJ6WjB0mojkYtF2cfXIxYDAqBoax/8mGrLjw==, tarball: file:.sfs-deps/effect-schema-vite-3.0.1.tgz} version: 3.0.1 peerDependencies: '@systemfsoftware/effect-schema-law': 5.0.1 - effect: 4.0.5 + effect: 4.1.0 vite: '>5.0.0' vitest: ^5.0.5 @@ -3849,21 +3550,21 @@ packages: resolution: {integrity: sha512-4YBesLhEcrYOVvM88COGnP211BqkRqv/R9D5s+ZnHZP7jVVxqiqqNGyTp4Pcg9Yx1hTg50A0oK38jKKmP+bR+w==, tarball: file:.sfs-deps/effect-sim-kernel-1.0.0.tgz} version: 1.0.0 peerDependencies: - effect: 4.0.5 + effect: 4.1.0 '@systemfsoftware/effect-spec-runtime@file:.sfs-deps/effect-spec-runtime-1.0.1.tgz': resolution: {integrity: sha512-8RhZPPNmMaObZMaburvmzLYrWQASfu7/xZrf8vUs8bDEtGdAQulhyFpZo40XYdILajvN/oMzkt1fyZsqIWIwdg==, tarball: file:.sfs-deps/effect-spec-runtime-1.0.1.tgz} version: 1.0.1 peerDependencies: '@systemfsoftware/vitest': ^2.0.0 - effect: 4.0.5 + effect: 4.1.0 vitest: ^5.0.5 '@systemfsoftware/oxlint-config-cell-architecture@file:.sfs-deps/oxlint-config-cell-architecture-4.0.0.tgz': resolution: {integrity: sha512-CUhWMNrMxcdk7d0H76UzPYrd82Wtu/UYfoGpO6cFvGbhdGvZTYfHZMXDMmDIe7fuNjU0S9Vs6lpUaTfAmXxn0Q==, tarball: file:.sfs-deps/oxlint-config-cell-architecture-4.0.0.tgz} version: 4.0.0 peerDependencies: - effect: 4.0.5 + effect: 4.1.0 oxlint: ~1.87.0 typescript: '>=5.0.0' @@ -3871,7 +3572,7 @@ packages: resolution: {integrity: sha512-w2EGm3P+aWFh6Wt9KVUWe5sxW8XMaaiWBUKf0euEtNz03AIjKJowgSBiG9H71WNOwgz2OjeN6ebjj9cyie+bbQ==, tarball: file:.sfs-deps/oxlint-config-dmmf-2.0.0.tgz} version: 2.0.0 peerDependencies: - effect: 4.0.5 + effect: 4.1.0 oxlint: ~1.87.0 oxlint-tsgolint: 7.0.2003 typescript: '>=5.0.0' @@ -3880,7 +3581,7 @@ packages: resolution: {integrity: sha512-MRpNEezWWUA8O4tKMvf/ETYDK5D/Gx2Mf6FLxUgXkiWfDhJ20Q9bMMzXBrNp6sYmpmno05JLqz3LpMrYBf24ow==, tarball: file:.sfs-deps/oxlint-config-recommended-4.0.0.tgz} version: 4.0.0 peerDependencies: - effect: 4.0.5 + effect: 4.1.0 oxlint: ~1.87.0 oxlint-tsgolint: 7.0.2003 typescript: '>=5.0.0' @@ -3896,28 +3597,28 @@ packages: resolution: {integrity: sha512-Rqq9ntfhIMAwXzGTHb7b9b9aOjPK2ClehaTThNUz49/VyAmUznlKFkSLXvcuYO74ekfbdEQ6Pv96VsIQ3P6Tbw==, tarball: file:.sfs-deps/oxlint-plugin-cell-architecture-5.0.0.tgz} version: 5.0.0 peerDependencies: - effect: 4.0.5 + effect: 4.1.0 typescript: '>=5.0.0' '@systemfsoftware/oxlint-plugin-dmmf-workflow@file:.sfs-deps/oxlint-plugin-dmmf-workflow-7.0.0.tgz': resolution: {integrity: sha512-5a/w2r5oXEBRdZq6du2ITb+gyTyAJLYFGtaODj8ukJWiGaikSvb03U1g573g3QfRlOzn4ZwgzcqMI0MkcrmtIw==, tarball: file:.sfs-deps/oxlint-plugin-dmmf-workflow-7.0.0.tgz} version: 7.0.0 peerDependencies: - effect: 4.0.5 + effect: 4.1.0 typescript: '>=5.0.0' '@systemfsoftware/oxlint-plugin-effect-platform@file:.sfs-deps/oxlint-plugin-effect-platform-2.0.0.tgz': resolution: {integrity: sha512-27EThTmZMsatbpjYZegrU7atSMnyuXELfyZTqCefTTJ7ObOw23n2WhP+8xRkNIhM1gR+XPVed31C9Nz0VGrylA==, tarball: file:.sfs-deps/oxlint-plugin-effect-platform-2.0.0.tgz} version: 2.0.0 peerDependencies: - effect: 4.0.5 + effect: 4.1.0 typescript: '>=5.0.0' '@systemfsoftware/oxlint-plugin-effect-schema@file:.sfs-deps/oxlint-plugin-effect-schema-6.0.0.tgz': resolution: {integrity: sha512-20abuSP5rvBCH1SF4tIJNvzEH242k6S7hhlVhn7LgRt7StKJ6lDfJlGfG74dt1lX1JudkiPrJ45TGxO1rk5Weg==, tarball: file:.sfs-deps/oxlint-plugin-effect-schema-6.0.0.tgz} version: 6.0.0 peerDependencies: - effect: 4.0.5 + effect: 4.1.0 typescript: '>=5.0.0' '@systemfsoftware/oxlint-plugin-test-discipline@file:.sfs-deps/oxlint-plugin-test-discipline-5.0.0.tgz': @@ -3925,7 +3626,7 @@ packages: version: 5.0.0 hasBin: true peerDependencies: - effect: 4.0.5 + effect: 4.1.0 typescript: '>=5.0.0' '@systemfsoftware/stryker-config@file:.sfs-deps/stryker-config-0.1.0.tgz': @@ -3994,7 +3695,7 @@ packages: engines: {node: '>=24.13.1'} hasBin: true peerDependencies: - effect: 4.0.5 + effect: 4.1.0 '@systemfsoftware/tsconfig@file:.sfs-deps/tsconfig-2.0.1.tgz': resolution: {integrity: sha512-DOBlgfypDiU1IdMAkWTio/xV42eoZj5v+4vTMpRzQu0GvLqK1RdeEtsTE7PrtF3YqbPYyaoTlx8GdgOiMeoXsg==, tarball: file:.sfs-deps/tsconfig-2.0.1.tgz} @@ -4024,7 +3725,7 @@ packages: resolution: {integrity: sha512-Qop/XEvBCmTdJJCRU/CVQ8lrOM04DWJbvU/spyIxL7S63RRdf66FuFI1OKaxSJmGJTq7F+Cj2frV1Jw3gL4SDg==, tarball: file:.sfs-deps/vitest-2.0.0.tgz} version: 2.0.0 peerDependencies: - effect: 4.0.5 + effect: 4.1.0 vitest: ^5.0.5 '@systemfsoftware/xstate@file:.sfs-deps/xstate-6.0.0-alpha.64.tgz': @@ -4237,9 +3938,6 @@ packages: '@types/aria-query@5.0.4': resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} - '@types/aws-lambda@8.10.164': - resolution: {integrity: sha512-XOnrazWcOd6yWPnR7DxqCBPPYciDjHq+NN8LPwwqBCJNXLyPJgKo47fZpJ113+oyAn9Zti0Cf6H4k6yPcE3WFg==} - '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} @@ -4287,9 +3985,6 @@ packages: '@types/scheduler@0.28.0': resolution: {integrity: sha512-WuK7EQ0YBvNbYwanHo+x3kixrg10+7Ak4rmYmy1dYo3l4FCh0XWeoq/SdqQamKA5wShXse8WRhh0Tt1czTAuTQ==} - '@types/ws@8.18.1': - resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} - '@types/ws@8.18.2': resolution: {integrity: sha512-67MQl+fpWKVTT1NYdnmo3U4sc/xPo/zQBncVnI74qmQa0z/b+1g6iYqNmGCPbxO+zz2aklb08a0oHfegiVd0/w==} @@ -4682,59 +4377,24 @@ packages: ajv@8.20.0: resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} - alchemy@2.0.0-beta.80: - resolution: {integrity: sha512-2y7mswypPiApxuEdp8NGMfzCGB5+9W6OmQAuePyZ2xBkgoCpEqtKAnASuvKGUZPSYNESENbamXDuI5428ewu9w==} + alchemy@https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz: + resolution: {integrity: sha512-VxAkmhS+aDFb7NPkkv3YZ/oki43s10WvQkPN0vKnogvG0VaqFQIZDdtknJZi9T2HdAJkIfXAn8itHarusu9QuQ==, tarball: https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz} + version: 2.0.0-beta.84 hasBin: true peerDependencies: - '@alchemy.run/frontend-frameworks': 2.0.0-beta.80 - '@aws/durable-execution-sdk-js': ^2.1.0 - '@effect/platform-bun': ^4.0.0 - '@effect/platform-node': 4.0.5 - '@effect/sql-mysql2': ^4.0.0 - '@effect/sql-pg': ^4.0.0 - '@effect/vitest': ^4.0.0 - '@prisma/orm-postgres': 8.0.0-rc.11 - '@vercel/nft': ^1.10.2 - drizzle-kit: 1.0.0-rc.5-ab785fc - drizzle-orm: 1.0.0-rc.5-ab785fc - effect: 4.0.5 - mongodb: ^6.10.0 - mysql2: ^3.24.2 - pg: ^8.22.0 - prisma: 8.0.0-rc.15 - vite: ^8.0.7 + '@alchemy.run/frontend-frameworks': https://pkg.alchemy.run/@alchemy.run/frontend-frameworks/-/b413a964ee6b0ab093418b91229f3b79d3c15a01add2b9ebf222342a2d091a91.tgz + '@effect/platform-bun': ^4.1.0 + '@effect/platform-node': 4.1.0 + effect: 4.1.0 + vite: ^7.0.0 || ^8.0.0 ws: ^8.21.0 peerDependenciesMeta: '@alchemy.run/frontend-frameworks': optional: true - '@aws/durable-execution-sdk-js': - optional: true '@effect/platform-bun': optional: true '@effect/platform-node': optional: true - '@effect/sql-mysql2': - optional: true - '@effect/sql-pg': - optional: true - '@effect/vitest': - optional: true - '@prisma/orm-postgres': - optional: true - '@vercel/nft': - optional: true - drizzle-kit: - optional: true - drizzle-orm: - optional: true - mongodb: - optional: true - mysql2: - optional: true - pg: - optional: true - prisma: - optional: true vite: optional: true ws: @@ -4804,9 +4464,6 @@ packages: engines: {node: '>=6.0.0'} hasBin: true - before-after-hook@4.0.0: - resolution: {integrity: sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==} - bidi-js@1.1.0: resolution: {integrity: sha512-fX1Onk0tdVPC7obPWB5EbJ1z7NVhLq4m2xZLq2YXBkxzMXIGRpNMU88n0EPgWseKl12J7zXs7qrDxPK4sRs2fg==} @@ -4872,9 +4529,6 @@ packages: resolution: {integrity: sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==} engines: {node: '>= 16'} - chevrotain@10.5.0: - resolution: {integrity: sha512-Pkv5rBY3+CsHOYfV5g/Vs5JY9WTHHDEKOlohI2XeygaZhUeqhAlldZ8Hz9cRmxu709bvS08YzxHdTPHhffc13A==} - chokidar@5.0.0: resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==} engines: {node: '>= 20.19.0'} @@ -4901,10 +4555,6 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - content-type@3.1.1: - resolution: {integrity: sha512-GW4qUsfFo59d0HbUibDlWv5wPz+vAAcaTWbKIuKCf0JkC7wWkSyf8f13IpXn5JkeMlB2P8iTSSIjwXljorg2vA==} - engines: {node: '>=22'} - conventional-changelog-angular@9.4.0: resolution: {integrity: sha512-HdxRxuS8bBXVIuo4V82gvSwAXT0vYQUizrjs/izmPg5JdDstr8v8I5hduGL3iQbG+o310dUDxC4+LetuS5hu9w==} engines: {node: '>=22'} @@ -5002,10 +4652,6 @@ packages: resolution: {integrity: sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A==} engines: {node: '>=12.20'} - detect-libc@2.0.2: - resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} - engines: {node: '>=8'} - detect-libc@2.1.2: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} @@ -5033,8 +4679,8 @@ packages: oxc-resolver: optional: true - effect@4.0.5: - resolution: {integrity: sha512-BY4/28NlpOd99yzmV741xbVGmp+1U7tks4oB7F/Png64bTa5tm5eCA6W0RiXsnuLDDoJpjfVSo4Dnq4BZb/89Q==} + effect@4.1.0: + resolution: {integrity: sha512-lGx2MJJyrXA8RZb2UpQ/0Nkb5Utaimby7oD92+18noBxLPE85IFOvptdzau8dvcxAOwfwHo9iqapbKeFzqQM/Q==} electron-to-chromium@1.5.444: resolution: {integrity: sha512-5ss/uJfoDYDHT0lfJzT6FbcskIzROIOPf0BbbFkGcvDzoJU7i//9GDrwwIHQVmIsrAGiF3ihpADBRIsrEFt1rQ==} @@ -5158,10 +4804,6 @@ packages: resolution: {integrity: sha512-kWyh8ADvHBFz6ua5xYOPnUroZTT/bwWfrCeL0Wj1dzG4/YOmOcfJ99W8dOVyyynJN35rZ9aCOtHChqQovV7yog==} engines: {node: '>=6'} - foreground-child@3.3.1: - resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} - engines: {node: '>=14'} - fs-extra@11.3.6: resolution: {integrity: sha512-w8ZNZr2mKIc7qeNaQ9AVPT1+iFaI+Avd4xudVOvdDJ8VytREi1Ft5Ih7hd9jjehod8vAM5GMsfQ/TpPf4EyoEA==} engines: {node: '>=14.14'} @@ -5186,9 +4828,6 @@ packages: resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==} engines: {node: '>=18'} - get-port-please@3.2.0: - resolution: {integrity: sha512-I9QVvBw5U/hw3RmWpYKRumUeaDgxTPd401x364rLmWBJcOQ753eov1eTgzDqRG9bqFIfDc7gfzcQEWrUri3o1A==} - get-stream@9.0.1: resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} engines: {node: '>=18'} @@ -5208,16 +4847,6 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - grammex@3.1.13: - resolution: {integrity: sha512-LnPnhOBLEJEVKS8WFDVaA397L9Kq55Q9oSITJiVLHVdhAclfUkWzQv74KhvZHKL2Q09Pb1XdsrOsZ4LfTFFTEg==} - - graphmatch@1.1.1: - resolution: {integrity: sha512-5ykVn/EXM1hF0XCaWh05VbYvEiOL2lY1kBxZtaYsyvjp7cmWOU1XsAdfQBwClraEofXDT197lFbXOEVMHpvQOg==} - - graphql@16.11.0: - resolution: {integrity: sha512-mS1lbMsxgQj6hge1XZ6p7GPhbrtFwUFYi3wRzXAC/FmYnyXMTvvI3td3rjmQ2u8ewXueaSvRPWaEcgVVOT9Jnw==} - engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} - h3@2.0.1-rc.20: resolution: {integrity: sha512-28ljodXuUp0fZovdiSRq4G9OgrxCztrJe5VdYzXAB7ueRvI7pIUqLU14Xi3XqdYJ/khXjfpUOOD2EQa6CmBgsg==} engines: {node: '>=20.11.1'} @@ -5236,10 +4865,6 @@ packages: resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} engines: {node: '>= 0.4'} - hono@4.11.4: - resolution: {integrity: sha512-U7tt8JsyrxSRKspfhtLET79pU8K+tInj5QZXs1jSugO1Vq5dFj3kmZsRldo29mTBfcjDRVRXrEZ6LS63Cog9ZA==} - engines: {node: '>=16.9.0'} - hookable@6.1.2: resolution: {integrity: sha512-+abwxtiEA52GCVIsQqut3S/uKTbUwYIp4Pe/vv+6py5XiXBCqMZHg6pA6Y5qhgLSEys0/cYuPbO0z1QFj5ZCmg==} @@ -5247,9 +4872,6 @@ packages: resolution: {integrity: sha512-UikN5yr7xsCDAq87Or5or0PAlD3HJJOKVzM05az588WnpDJ4Ux7a2A53Qi6gofGg2/EtvF/H4hCi/TXfCW4Y6w==} engines: {node: ^22.13.0 || >=24.0.0} - http-status-codes@2.3.0: - resolution: {integrity: sha512-RJ8XvFvpPM/Dmc5SV+dC4y5PCeOhT3x1Hq0NU3rjGeg5a/CqlhZ7uudknPwZFz4aeAXDcbAyaeP7GAo9lvngtA==} - human-signals@8.0.1: resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} engines: {node: '>=18.18.0'} @@ -5354,9 +4976,6 @@ packages: jju@1.4.0: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - js-base64@3.9.4: - resolution: {integrity: sha512-PtOMXpEGuP0RRiRXsjzHzl44dMHxSu2CPvAhinupR1tBa88me+1DPqsobl7eupn5UukjLkln1ZnAOAOXOrYG0Q==} - js-tokens@10.0.0: resolution: {integrity: sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==} @@ -5387,9 +5006,6 @@ packages: json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - json-with-bigint@3.5.12: - resolution: {integrity: sha512-uwbF/wSSuOgC7qqlq27Xp5B6a2MHVug3t0idZdTqu0JnlFvgJuH7ju+KAk/J06C7GfhoYy2gnb9wz2INqcne7w==} - json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -5411,11 +5027,6 @@ packages: libsodium@0.8.4: resolution: {integrity: sha512-lMcYaRi0zcs7tarATsQUYC7rstliIXZuoq0c6zXSgNtSNtdvBgkSegjWhpMJAXzKX3SUSwIp7+zEsob+j3LuRw==} - libsql@0.5.29: - resolution: {integrity: sha512-8lMP8iMgiBzzoNbAPQ59qdVcj6UaE/Vnm+fiwX4doX4Narook0a4GPKWBEv+CR8a1OwbfkgL18uBfBjWdF0Fzg==} - cpu: [x64, arm64, wasm32, arm] - os: [darwin, linux, win32] - lightningcss-android-arm64@1.33.0: resolution: {integrity: sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==} engines: {node: '>= 12.0.0'} @@ -5490,10 +5101,6 @@ packages: resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==} engines: {node: '>= 12.0.0'} - lilconfig@2.1.0: - resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} - engines: {node: '>=10'} - lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -5509,9 +5116,6 @@ packages: lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} - lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - long@5.3.2: resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==} @@ -5552,8 +5156,8 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} - mime@4.1.0: - resolution: {integrity: sha512-X5ju04+cAzsojXKes0B/S4tcYtFAJ6tTMuSPBEn9CPGlrWr8Fiw7qYeLT0XyH80HSoAoqWCaz+MWKh22P7G1cw==} + mime@4.1.2: + resolution: {integrity: sha512-ikRzZ2RwbUVDyL9SsU0f2Phcmav4yq5r8faH5ZZKHtOZrMBLnrQOrj0uvqZ5R1uQnj+RO7Wcklw/lAf81mP9LQ==} engines: {node: '>=16'} hasBin: true @@ -5584,8 +5188,8 @@ packages: resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} engines: {node: '>=16 || 14 >=14.17'} - modern-tar@0.8.5: - resolution: {integrity: sha512-snEhs+6G5Tjd4I7tLCDOaoln2RgE0bD19RzEKgvgK2hZ5VKy3MpLhLTZ2fWpXSTg4K2cyPwp+VHATFJhxfnOeA==} + modern-tar@0.8.6: + resolution: {integrity: sha512-LYSks0tNVqbtez/9OB0YFP6qLRSqkdAxJWOQpVaR67lNTbj2zNLyYpowkRMia5lXLCZKzxwoxkxH2MbbBR2aEg==} engines: {node: '>=18.0.0'} module-details-from-path@1.0.4: @@ -5643,7 +5247,7 @@ packages: peerDependencies: '@oxc-project/types': '>=0.98.0' oxc-parser: '>=0.98.0' - rolldown: '>=1.0.0' + rolldown: 1.2.13 peerDependenciesMeta: '@oxc-project/types': optional: true @@ -5789,12 +5393,6 @@ packages: resolution: {integrity: sha512-HzMy3Geq23nVALD/M2LliU+F+M+gVNsvkQWWqeBZ8HDiCgzo6YPJ/Omrmtq24EFrIsk0a3EkQGEd7bDOo+IhGA==} engines: {node: '>=18'} - promise-limit@2.7.0: - resolution: {integrity: sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw==} - - proper-lockfile@4.1.2: - resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==} - protobufjs@7.6.6: resolution: {integrity: sha512-dYDWdjSl5RNb7SgPxGQcRU+GtvP7s2fpkrY0r432PcOIaZ0/rBcxEZnQN67iJhFuQiVw754JDoPruPCNdGsbjg==} engines: {node: '>=12.0.0'} @@ -5859,12 +5457,6 @@ packages: resolution: {integrity: sha512-Z9VHtgYs48PiQC77X9O2Er8Hj4T+5BtFjT91/vi5Is1D04N72cA946ZslM1ImJw8ZctFBZWAVjM7S5wJNeHMpg==} engines: {node: '>= 20.0.0'} - regexp-to-ast@0.5.0: - resolution: {integrity: sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==} - - remeda@2.33.4: - resolution: {integrity: sha512-ygHswjlc/opg2VrtiYvUOPLjxjtdKvjGz1/plDhkG66hjNjFr1xmfrs2ClNFo/E6TyUFiwYNh53bKV26oBoMGQ==} - require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -5893,10 +5485,6 @@ packages: engines: {node: '>= 0.4'} hasBin: true - retry@0.12.0: - resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} - engines: {node: '>= 4'} - rimraf@6.1.3: resolution: {integrity: sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==} engines: {node: 20 || >=22} @@ -5909,7 +5497,7 @@ packages: '@typescript/native-preview': '*' '@volar/typescript': ~2.4.0 '@vue/language-core': ~3.2.0 || ~3.3.0 - rolldown: ^1.2.0 + rolldown: 1.2.13 typescript: ^5.0.0 || ^6.0.0 || ~7.0.0 vue-tsc: ~3.2.0 || ~3.3.0 peerDependenciesMeta: @@ -5924,13 +5512,8 @@ packages: vue-tsc: optional: true - rolldown@1.2.12: - resolution: {integrity: sha512-8wafseiaG80xmXSfqidUNqZcylTlhmPZZt+za2m+js2sFZ8dTNlhIOV2WcbIPx2hgwPBJpEUGFAMZ9bgBBLTSQ==} - engines: {node: ^20.19.0 || >=22.12.0} - hasBin: true - - rolldown@1.2.5: - resolution: {integrity: sha512-VD2IE5PUG4Oj8zz2VGykiYd5wbnjdIiSsNQb8Qu5B+noEp+A78mu2iVvpp27g8es14Tk9rofNs5Tku9iQCS4fA==} + rolldown@1.2.13: + resolution: {integrity: sha512-/5apOkwWxtACcQtZ5WlrAsKS4JwXVThQPJZ3RqIruRY9UG9M8e0VlXN068xum/JRKA4aIUoJ13ghe/kGCvidiQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -6005,9 +5588,6 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} @@ -6044,14 +5624,6 @@ packages: engines: {node: '>=20.16.0'} hasBin: true - srvx@1.0.5: - resolution: {integrity: sha512-KvSKRpgPG/oaq3cyT614OQ2bAa7DynuGamivCZeoZzIUULOdbQz6wUtnnVuC4+DCx2Zglzo8v5gBYmWIWYhDxA==} - engines: {node: '>=20.16.0'} - hasBin: true - - std-env@3.10.0: - resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} - std-env@4.3.0: resolution: {integrity: sha512-OtU/EgQ1kIm5KwqQpBC6ZEMXrZRui11w8zgfTWp8cdO9B8OaPsbA8bTHO2P+HNo1VlUTGMVBwPhydu6poeXiag==} @@ -6297,9 +5869,6 @@ packages: resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} engines: {node: '>=18'} - universal-user-agent@7.0.3: - resolution: {integrity: sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==} - universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} @@ -6313,7 +5882,7 @@ packages: '@rspack/core': '*' bun-types-no-globals: '*' esbuild: ^0.28.2 - rolldown: '*' + rolldown: 1.2.13 rollup: '*' unloader: '*' vite: '*' @@ -6351,14 +5920,6 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - valibot@1.2.0: - resolution: {integrity: sha512-mm1rxUsmOxzrwnX5arGS+U4T25RdvpPjPN4yR0u9pUBov9+zGVtO84tif1eY4r6zWxVxu3KzIyknJy3rxfRZZg==} - peerDependencies: - typescript: '>=5' - peerDependenciesMeta: - typescript: - optional: true - verkit@0.3.2: resolution: {integrity: sha512-zj/ob3UsvJGN0whEAKFp53REA5X66hvffVqoCtVQAakJKnKlH+/PcOfMoFwIG/o4rElqLv/ycAFlx8ZlXUorCg==} engines: {node: '>=18.12.0'} @@ -6609,9 +6170,6 @@ packages: yuku-parser@0.10.2: resolution: {integrity: sha512-CgaU0/PPjCAIEZ3WQroosOxTY3eeKldAN3h+vk8pMNz4+jl1CZzBR4pW+K/rRPF112VooCL5FdjJoiMNjDrL2A==} - zeptomatch@2.1.0: - resolution: {integrity: sha512-KiGErG2J0G82LSpniV0CtIzjlJ10E04j02VOudJsPyPwNZgGnRKQy7I1R7GMyg/QswnE4l7ohSGrQbQbjXPPDA==} - zod@4.6.5: resolution: {integrity: sha512-v5l/aFXZQeai4awLbOpSoHecE9UiMrnfx75tEXLjNonXVARxQ5mOeipTjROUchszUNCqnE+hqAMujRsRHsut2Q==} @@ -6619,65 +6177,93 @@ snapshots: '@adobe/css-tools@4.5.0': {} - '@alchemy.run/cloudflare-runtime@2.0.0-beta.80(@distilled.cloud/cloudflare@1.0.0-rc.13(effect@4.0.5))(@effect/platform-node@4.0.5(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/node@24.19.1)(effect@4.0.5)(rolldown@1.2.5)(typescript@7.0.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))': + '@alchemy.run/acme@https://pkg.alchemy.run/@alchemy.run/acme/-/94b874c8e2e62bbcc2aa01d951bae517132da09ffd298a2bc438c5ce3ee9eb20.tgz(alchemy@https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz(@effect/platform-node@4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/react@19.3.0)(effect@4.1.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(ws@8.22.0))(effect@4.1.0)': dependencies: - '@alchemy.run/node-utils': 2.0.0-beta.80 + '@distilled.cloud/acme': https://pkg.alchemy.run/@distilled.cloud/acme/-/31b5ed0bd279dafa32adf9452c20cecbc16449a278dc709f73f70f3a821a497c.tgz(effect@4.1.0) + alchemy: https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz(@effect/platform-node@4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/react@19.3.0)(effect@4.1.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(ws@8.22.0) + effect: 4.1.0 + + '@alchemy.run/cloudflare-runtime@https://pkg.alchemy.run/@alchemy.run/cloudflare-runtime/-/82efb388b666ffa77775a0841c3cf30abc1d26df96f4ea4c8c97e3bffc06cf1d.tgz(@distilled.cloud/cloudflare@https://pkg.alchemy.run/@distilled.cloud/cloudflare/-/56e485b8ac5c256515f34acbe3fac34bce061a5b8911c0583fd2b25b4a6fd8bf.tgz(effect@4.1.0))(@effect/platform-node@4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/node@24.19.1)(effect@4.1.0)(rolldown@1.2.13)(typescript@7.0.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))': + dependencies: + '@alchemy.run/node-utils': https://pkg.alchemy.run/@alchemy.run/node-utils/-/f7ed79ab54e4abbdb7445242a8127338f02468a98f12a5ce681b50f7e1b0ca50.tgz '@cloudflare/unenv-preset': 2.16.2(unenv@2.0.0-rc.24)(workerd@1.20261005.1) - '@distilled.cloud/cloudflare': 1.0.0-rc.13(effect@4.0.5) - '@puppeteer/browsers': 3.2.3(yauzl@3.4.0) + '@distilled.cloud/cloudflare': https://pkg.alchemy.run/@distilled.cloud/cloudflare/-/56e485b8ac5c256515f34acbe3fac34bce061a5b8911c0583fd2b25b4a6fd8bf.tgz(effect@4.1.0) + '@puppeteer/browsers': 3.2.6(yauzl@3.4.0) capnp-es: 0.0.16(typescript@7.0.2) - effect: 4.0.5 + effect: 4.1.0 magic-string: 0.30.21 - mime: 4.1.0 + mime: 4.1.2 sharp: 0.35.5(@types/node@24.19.1) unenv: 2.0.0-rc.24 workerd: 1.20261005.1 yauzl: 3.4.0 optionalDependencies: - '@effect/platform-node': 4.0.5(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1)) - rolldown: 1.2.5 + '@effect/platform-node': 4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)) + rolldown: 1.2.13 vite: 8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1) transitivePeerDependencies: - '@types/node' - proxy-agent - typescript - '@alchemy.run/floci@2.0.0-beta.80(effect@4.0.5)': - dependencies: - effect: 4.0.5 - - '@alchemy.run/frontend-frameworks@2.0.0-beta.80(@types/node@24.19.1)(@vitejs/plugin-react@6.1.2(@rolldown/plugin-babel@0.2.4(@babel/core@8.0.6)(@babel/runtime@7.29.10)(rolldown@1.2.12)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)))(babel-plugin-react-compiler@1.0.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)))(effect@4.0.5)(hono@4.11.4)(redis@6.2.1(@opentelemetry/api@1.9.1))(typescript@7.0.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))': - dependencies: - '@alchemy.run/cloudflare-runtime': 2.0.0-beta.80(@distilled.cloud/cloudflare@1.0.0-rc.13(effect@4.0.5))(@effect/platform-node@4.0.5(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/node@24.19.1)(effect@4.0.5)(rolldown@1.2.5)(typescript@7.0.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) - '@distilled.cloud/aws': 1.0.0-rc.13(effect@4.0.5) - '@distilled.cloud/cloudflare': 1.0.0-rc.13(effect@4.0.5) - '@effect/platform-node': 4.0.5(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1)) - effect: 4.0.5 - esbuild: 0.28.2 - rolldown: 1.2.5 - srvx: 1.0.5 + '@alchemy.run/cloudflare@https://pkg.alchemy.run/@alchemy.run/cloudflare/-/d48c0fa92f25f97b8ab3d76fd38d810c2583c34a11e5898ffd46c544abf21630.tgz(@effect/platform-node@4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/node@24.19.1)(alchemy@https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz(@effect/platform-node@4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/react@19.3.0)(effect@4.1.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(ws@8.22.0))(effect@4.1.0)(typescript@7.0.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))': + dependencies: + '@alchemy.run/acme': https://pkg.alchemy.run/@alchemy.run/acme/-/94b874c8e2e62bbcc2aa01d951bae517132da09ffd298a2bc438c5ce3ee9eb20.tgz(alchemy@https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz(@effect/platform-node@4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/react@19.3.0)(effect@4.1.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(ws@8.22.0))(effect@4.1.0) + '@alchemy.run/cloudflare-runtime': https://pkg.alchemy.run/@alchemy.run/cloudflare-runtime/-/82efb388b666ffa77775a0841c3cf30abc1d26df96f4ea4c8c97e3bffc06cf1d.tgz(@distilled.cloud/cloudflare@https://pkg.alchemy.run/@distilled.cloud/cloudflare/-/56e485b8ac5c256515f34acbe3fac34bce061a5b8911c0583fd2b25b4a6fd8bf.tgz(effect@4.1.0))(@effect/platform-node@4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/node@24.19.1)(effect@4.1.0)(rolldown@1.2.13)(typescript@7.0.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) + '@alchemy.run/docker': https://pkg.alchemy.run/@alchemy.run/docker/-/1125f2ebf64b81a81b118848fca1f6902201548f25ff01ef06e92228d7b8aa9d.tgz(alchemy@https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz(@effect/platform-node@4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/react@19.3.0)(effect@4.1.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(ws@8.22.0))(effect@4.1.0) + '@alchemy.run/sql': https://pkg.alchemy.run/@alchemy.run/sql/-/9d4e1e5294ba3ab78de2e78607cbc5309326f84745b23dbe5f6403984e6e780c.tgz(alchemy@https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz(@effect/platform-node@4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/react@19.3.0)(effect@4.1.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(ws@8.22.0))(effect@4.1.0) + '@distilled.cloud/aws': https://pkg.alchemy.run/@distilled.cloud/aws/-/854428e08c3015bbb423377a045c676b38749d042da8de12cb65cdd25e965951.tgz(effect@4.1.0) + '@distilled.cloud/aws4signer': https://pkg.alchemy.run/@distilled.cloud/aws4signer/-/d5d12f0fa0f9b5f9693b1d49d7634fd4e88a5b90cc972e8859eaf45e2385c3b1.tgz(effect@4.1.0) + '@distilled.cloud/cloudflare': https://pkg.alchemy.run/@distilled.cloud/cloudflare/-/56e485b8ac5c256515f34acbe3fac34bce061a5b8911c0583fd2b25b4a6fd8bf.tgz(effect@4.1.0) + '@distilled.cloud/core': https://pkg.alchemy.run/@distilled.cloud/core/-/e9c00fbcf63b89460387f62c60b7319f682a4fbd1c438f41175bf4fffa1da9df.tgz(effect@4.1.0) + '@distilled.cloud/iceberg': https://pkg.alchemy.run/@distilled.cloud/iceberg/-/01378c8b70513ccbc2e49ba1f00984a2851bf7a9160e1ee31c61511c16ab4bb7.tgz(effect@4.1.0) + '@effect/sql-d1': 4.1.0(effect@4.1.0) + alchemy: https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz(@effect/platform-node@4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/react@19.3.0)(effect@4.1.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(ws@8.22.0) + effect: 4.1.0 + pathe: 2.0.3 + rolldown: 1.2.13 tinyglobby: 0.2.17 optionalDependencies: - '@vitejs/plugin-react': 6.1.2(@rolldown/plugin-babel@0.2.4(@babel/core@8.0.6)(@babel/runtime@7.29.10)(rolldown@1.2.12)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)))(babel-plugin-react-compiler@1.0.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) - hono: 4.11.4 + '@effect/platform-node': 4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)) vite: 8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1) transitivePeerDependencies: + - '@effect/sql-libsql' + - '@effect/sql-mysql2' + - '@effect/sql-pg' - '@types/node' - - bufferutil + - mysql2 + - pg - proxy-agent - - redis - typescript - - utf-8-validate - '@alchemy.run/node-utils@2.0.0-beta.80': + '@alchemy.run/docker@https://pkg.alchemy.run/@alchemy.run/docker/-/1125f2ebf64b81a81b118848fca1f6902201548f25ff01ef06e92228d7b8aa9d.tgz(alchemy@https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz(@effect/platform-node@4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/react@19.3.0)(effect@4.1.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(ws@8.22.0))(effect@4.1.0)': + dependencies: + alchemy: https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz(@effect/platform-node@4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/react@19.3.0)(effect@4.1.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(ws@8.22.0) + effect: 4.1.0 + rolldown: 1.2.13 + + '@alchemy.run/github@https://pkg.alchemy.run/@alchemy.run/github/-/a5e3e91478a3df06b3ec7a3d9b5bfb7f162c5dceab108c35c0a9d164d0213092.tgz(alchemy@https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz(@effect/platform-node@4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/react@19.3.0)(effect@4.1.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(ws@8.22.0))(effect@4.1.0)': + dependencies: + '@distilled.cloud/core': https://pkg.alchemy.run/@distilled.cloud/core/-/e9c00fbcf63b89460387f62c60b7319f682a4fbd1c438f41175bf4fffa1da9df.tgz(effect@4.1.0) + '@distilled.cloud/github': https://pkg.alchemy.run/@distilled.cloud/github/-/b656793cc3031e7e63f3255902a1e751d28d9bf8c13ab70cfca6b00a5a831cb4.tgz(effect@4.1.0) + alchemy: https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz(@effect/platform-node@4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/react@19.3.0)(effect@4.1.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(ws@8.22.0) + effect: 4.1.0 + libsodium-wrappers: 0.8.4 + + '@alchemy.run/node-utils@https://pkg.alchemy.run/@alchemy.run/node-utils/-/f7ed79ab54e4abbdb7445242a8127338f02468a98f12a5ce681b50f7e1b0ca50.tgz': dependencies: chokidar: 5.0.0 - rolldown: 1.2.5 + rolldown: 1.2.13 '@alchemy.run/sigil@0.1.0-alpha.1(@types/react@19.3.0)': optionalDependencies: '@types/react': 19.3.0 + '@alchemy.run/sql@https://pkg.alchemy.run/@alchemy.run/sql/-/9d4e1e5294ba3ab78de2e78607cbc5309326f84745b23dbe5f6403984e6e780c.tgz(alchemy@https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz(@effect/platform-node@4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/react@19.3.0)(effect@4.1.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(ws@8.22.0))(effect@4.1.0)': + dependencies: + alchemy: https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz(@effect/platform-node@4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/react@19.3.0)(effect@4.1.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(ws@8.22.0) + effect: 4.1.0 + '@asamuzakjp/css-color@7.1.7': dependencies: '@csstools/css-calc': 3.4.3(@csstools/css-parser-algorithms@4.0.2(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2) @@ -6882,21 +6468,6 @@ snapshots: dependencies: css-tree: 3.2.1 - '@chevrotain/cst-dts-gen@10.5.0': - dependencies: - '@chevrotain/gast': 10.5.0 - '@chevrotain/types': 10.5.0 - lodash: 4.17.21 - - '@chevrotain/gast@10.5.0': - dependencies: - '@chevrotain/types': 10.5.0 - lodash: 4.17.21 - - '@chevrotain/types@10.5.0': {} - - '@chevrotain/utils@10.5.0': {} - '@cloudflare/kv-asset-handler@0.5.0': {} '@cloudflare/unenv-preset@2.16.2(unenv@2.0.0-rc.24)(workerd@1.20261005.1)': @@ -7085,91 +6656,45 @@ snapshots: '@csstools/css-tokenizer@4.0.2': {} - '@distilled.cloud/acme@1.0.0-rc.13(effect@4.0.5)': - dependencies: - '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.5) - effect: 4.0.5 - - '@distilled.cloud/aws@1.0.0-rc.13(effect@4.0.5)': - dependencies: - '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.5) - '@smithy/types': 4.19.0 - effect: 4.0.5 - - '@distilled.cloud/axiom@1.0.0-rc.13(effect@4.0.5)': - dependencies: - '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.5) - effect: 4.0.5 - - '@distilled.cloud/cloudflare@1.0.0-rc.13(effect@4.0.5)': - dependencies: - '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.5) - effect: 4.0.5 - - '@distilled.cloud/core@1.0.0-rc.13(effect@4.0.5)': - dependencies: - effect: 4.0.5 - graphql: 16.11.0 - - '@distilled.cloud/doppler@1.0.0-rc.13(effect@4.0.5)': + '@distilled.cloud/acme@https://pkg.alchemy.run/@distilled.cloud/acme/-/31b5ed0bd279dafa32adf9452c20cecbc16449a278dc709f73f70f3a821a497c.tgz(effect@4.1.0)': dependencies: - '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.5) - effect: 4.0.5 + '@distilled.cloud/core': https://pkg.alchemy.run/@distilled.cloud/core/-/e9c00fbcf63b89460387f62c60b7319f682a4fbd1c438f41175bf4fffa1da9df.tgz(effect@4.1.0) + effect: 4.1.0 - '@distilled.cloud/fly-io@1.0.0-rc.13(effect@4.0.5)': + '@distilled.cloud/aws4signer@https://pkg.alchemy.run/@distilled.cloud/aws4signer/-/d5d12f0fa0f9b5f9693b1d49d7634fd4e88a5b90cc972e8859eaf45e2385c3b1.tgz(effect@4.1.0)': dependencies: - '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.5) - effect: 4.0.5 + '@distilled.cloud/core': https://pkg.alchemy.run/@distilled.cloud/core/-/e9c00fbcf63b89460387f62c60b7319f682a4fbd1c438f41175bf4fffa1da9df.tgz(effect@4.1.0) + effect: 4.1.0 - '@distilled.cloud/gcp@1.0.0-rc.13(effect@4.0.5)': + '@distilled.cloud/aws@https://pkg.alchemy.run/@distilled.cloud/aws/-/854428e08c3015bbb423377a045c676b38749d042da8de12cb65cdd25e965951.tgz(effect@4.1.0)': dependencies: - '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.5) - effect: 4.0.5 + '@distilled.cloud/aws4signer': https://pkg.alchemy.run/@distilled.cloud/aws4signer/-/d5d12f0fa0f9b5f9693b1d49d7634fd4e88a5b90cc972e8859eaf45e2385c3b1.tgz(effect@4.1.0) + '@distilled.cloud/core': https://pkg.alchemy.run/@distilled.cloud/core/-/e9c00fbcf63b89460387f62c60b7319f682a4fbd1c438f41175bf4fffa1da9df.tgz(effect@4.1.0) + effect: 4.1.0 - '@distilled.cloud/hetzner@1.0.0-rc.13(effect@4.0.5)': + '@distilled.cloud/cloudflare@https://pkg.alchemy.run/@distilled.cloud/cloudflare/-/56e485b8ac5c256515f34acbe3fac34bce061a5b8911c0583fd2b25b4a6fd8bf.tgz(effect@4.1.0)': dependencies: - '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.5) - effect: 4.0.5 + '@distilled.cloud/core': https://pkg.alchemy.run/@distilled.cloud/core/-/e9c00fbcf63b89460387f62c60b7319f682a4fbd1c438f41175bf4fffa1da9df.tgz(effect@4.1.0) + effect: 4.1.0 - '@distilled.cloud/infisical@1.0.0-rc.13(effect@4.0.5)': + '@distilled.cloud/core@https://pkg.alchemy.run/@distilled.cloud/core/-/e9c00fbcf63b89460387f62c60b7319f682a4fbd1c438f41175bf4fffa1da9df.tgz(effect@4.1.0)': dependencies: - '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.5) - effect: 4.0.5 + effect: 4.1.0 - '@distilled.cloud/neon@1.0.0-rc.13(effect@4.0.5)': + '@distilled.cloud/github@https://pkg.alchemy.run/@distilled.cloud/github/-/b656793cc3031e7e63f3255902a1e751d28d9bf8c13ab70cfca6b00a5a831cb4.tgz(effect@4.1.0)': dependencies: - '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.5) - effect: 4.0.5 + '@distilled.cloud/core': https://pkg.alchemy.run/@distilled.cloud/core/-/e9c00fbcf63b89460387f62c60b7319f682a4fbd1c438f41175bf4fffa1da9df.tgz(effect@4.1.0) + effect: 4.1.0 - '@distilled.cloud/planetscale@1.0.0-rc.13(effect@4.0.5)': + '@distilled.cloud/iceberg@https://pkg.alchemy.run/@distilled.cloud/iceberg/-/01378c8b70513ccbc2e49ba1f00984a2851bf7a9160e1ee31c61511c16ab4bb7.tgz(effect@4.1.0)': dependencies: - '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.5) - effect: 4.0.5 + '@distilled.cloud/core': https://pkg.alchemy.run/@distilled.cloud/core/-/e9c00fbcf63b89460387f62c60b7319f682a4fbd1c438f41175bf4fffa1da9df.tgz(effect@4.1.0) + effect: 4.1.0 - '@distilled.cloud/prisma@1.0.0-rc.13(effect@4.0.5)': - dependencies: - '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.5) - effect: 4.0.5 - - '@distilled.cloud/railway@1.0.0-rc.13(effect@4.0.5)': - dependencies: - '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.5) - effect: 4.0.5 - - '@distilled.cloud/stripe@1.0.0-rc.13(effect@4.0.5)': - dependencies: - '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.5) - effect: 4.0.5 - - '@distilled.cloud/zerossl@1.0.0-rc.13(effect@4.0.5)': - dependencies: - '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.5) - effect: 4.0.5 - - '@effect/opentelemetry@4.0.5(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5)': + '@effect/opentelemetry@4.1.0(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0)': dependencies: '@opentelemetry/semantic-conventions': 1.43.0 - effect: 4.0.5 + effect: 4.1.0 optionalDependencies: '@opentelemetry/api': 1.9.1 '@opentelemetry/api-logs': 0.222.0 @@ -7179,33 +6704,29 @@ snapshots: '@opentelemetry/sdk-trace-base': 2.11.0(@opentelemetry/api@1.9.1) '@opentelemetry/sdk-trace-node': 2.11.0(@opentelemetry/api@1.9.1) - '@effect/platform-node-shared@4.0.5(effect@4.0.5)': + '@effect/platform-node-shared@4.1.0(effect@4.1.0)': dependencies: '@types/ws': 8.18.2 - effect: 4.0.5 + effect: 4.1.0 ws: 8.22.0 transitivePeerDependencies: - bufferutil - utf-8-validate - '@effect/platform-node@4.0.5(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))': + '@effect/platform-node@4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))': dependencies: - '@effect/platform-node-shared': 4.0.5(effect@4.0.5) - effect: 4.0.5 + '@effect/platform-node-shared': 4.1.0(effect@4.1.0) + effect: 4.1.0 redis: 6.2.1(@opentelemetry/api@1.9.1) undici: 8.12.3 transitivePeerDependencies: - bufferutil - utf-8-validate - '@effect/sql-d1@4.0.5(effect@4.0.5)': + '@effect/sql-d1@4.1.0(effect@4.1.0)': dependencies: '@cloudflare/workers-types': 5.20261028.1 - effect: 4.0.5 - - '@effect/sql-sqlite-do@4.0.5(effect@4.0.5)': - dependencies: - effect: 4.0.5 + effect: 4.1.0 '@effect/tsgo-darwin-arm64@0.63.0': optional: true @@ -7238,16 +6759,6 @@ snapshots: '@effect/tsgo-win32-arm64': 0.63.0 '@effect/tsgo-win32-x64': 0.63.0 - '@electric-sql/pglite-socket@0.0.20(@electric-sql/pglite@0.3.15)': - dependencies: - '@electric-sql/pglite': 0.3.15 - - '@electric-sql/pglite-tools@0.2.20(@electric-sql/pglite@0.3.15)': - dependencies: - '@electric-sql/pglite': 0.3.15 - - '@electric-sql/pglite@0.3.15': {} - '@emnapi/core@1.11.0': dependencies: '@emnapi/wasi-threads': 1.2.2 @@ -7381,10 +6892,6 @@ snapshots: protobufjs: 7.6.6 yargs: 17.7.3 - '@hono/node-server@1.19.9(hono@4.11.4)': - dependencies: - hono: 4.11.4 - '@img/colour@1.1.0': {} '@img/sharp-darwin-arm64@0.35.4': @@ -7636,64 +7143,6 @@ snapshots: '@js-sdsl/ordered-map@4.4.2': {} - '@libsql/client@0.17.4': - dependencies: - '@libsql/core': 0.17.4 - '@libsql/hrana-client': 0.10.0 - js-base64: 3.9.4 - libsql: 0.5.29 - promise-limit: 2.7.0 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - '@libsql/core@0.17.4': - dependencies: - js-base64: 3.9.4 - - '@libsql/darwin-arm64@0.5.29': - optional: true - - '@libsql/darwin-x64@0.5.29': - optional: true - - '@libsql/hrana-client@0.10.0': - dependencies: - '@libsql/isomorphic-ws': 0.1.5 - js-base64: 3.9.4 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - '@libsql/isomorphic-ws@0.1.5': - dependencies: - '@types/ws': 8.18.1 - ws: 8.22.0 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - '@libsql/linux-arm-gnueabihf@0.5.29': - optional: true - - '@libsql/linux-arm-musleabihf@0.5.29': - optional: true - - '@libsql/linux-arm64-gnu@0.5.29': - optional: true - - '@libsql/linux-arm64-musl@0.5.29': - optional: true - - '@libsql/linux-x64-gnu@0.5.29': - optional: true - - '@libsql/linux-x64-musl@0.5.29': - optional: true - - '@libsql/win32-x64-msvc@0.5.29': - optional: true - '@microsoft/api-extractor-model@7.33.15(@types/node@24.19.1)': dependencies: '@microsoft/tsdoc': 0.17.1 @@ -7729,11 +7178,6 @@ snapshots: '@microsoft/tsdoc@0.17.1': {} - '@mrleebo/prisma-ast@0.13.1': - dependencies: - chevrotain: 10.5.0 - lilconfig: 2.1.0 - '@napi-rs/wasm-runtime@1.2.5(@emnapi/core@1.11.0)(@emnapi/runtime@1.11.0)': dependencies: '@emnapi/core': 1.11.0 @@ -7748,93 +7192,8 @@ snapshots: '@tybys/wasm-util': 0.10.4 optional: true - '@neon-rs/load@0.0.4': {} - - '@neon/functions@0.11.0(hono@4.11.4)': - optionalDependencies: - hono: 4.11.4 - '@noble/hashes@2.4.0': {} - '@octokit/auth-token@6.0.0': {} - - '@octokit/core@7.0.8': - dependencies: - '@octokit/auth-token': 6.0.0 - '@octokit/graphql': 9.0.5 - '@octokit/request': 10.0.16 - '@octokit/request-error': 7.1.2 - '@octokit/types': 18.0.0 - before-after-hook: 4.0.0 - universal-user-agent: 7.0.3 - - '@octokit/endpoint@11.0.5': - dependencies: - '@octokit/types': 18.0.0 - universal-user-agent: 7.0.3 - - '@octokit/graphql@9.0.5': - dependencies: - '@octokit/request': 10.0.16 - '@octokit/types': 18.0.0 - universal-user-agent: 7.0.3 - - '@octokit/openapi-types@27.0.0': {} - - '@octokit/openapi-types@29.0.1': {} - - '@octokit/openapi-webhooks-types@12.1.0': {} - - '@octokit/plugin-paginate-rest@14.0.0(@octokit/core@7.0.8)': - dependencies: - '@octokit/core': 7.0.8 - '@octokit/types': 16.0.0 - - '@octokit/plugin-request-log@6.0.0(@octokit/core@7.0.8)': - dependencies: - '@octokit/core': 7.0.8 - - '@octokit/plugin-rest-endpoint-methods@17.0.0(@octokit/core@7.0.8)': - dependencies: - '@octokit/core': 7.0.8 - '@octokit/types': 16.0.0 - - '@octokit/request-error@7.1.2': - dependencies: - '@octokit/types': 18.0.0 - - '@octokit/request@10.0.16': - dependencies: - '@octokit/endpoint': 11.0.5 - '@octokit/request-error': 7.1.2 - '@octokit/types': 18.0.0 - content-type: 3.1.1 - json-with-bigint: 3.5.12 - universal-user-agent: 7.0.3 - - '@octokit/rest@22.0.1': - dependencies: - '@octokit/core': 7.0.8 - '@octokit/plugin-paginate-rest': 14.0.0(@octokit/core@7.0.8) - '@octokit/plugin-request-log': 6.0.0(@octokit/core@7.0.8) - '@octokit/plugin-rest-endpoint-methods': 17.0.0(@octokit/core@7.0.8) - - '@octokit/types@16.0.0': - dependencies: - '@octokit/openapi-types': 27.0.0 - - '@octokit/types@18.0.0': - dependencies: - '@octokit/openapi-types': 29.0.1 - - '@octokit/webhooks-methods@6.0.0': {} - - '@octokit/webhooks@14.2.0': - dependencies: - '@octokit/openapi-webhooks-types': 12.1.0 - '@octokit/request-error': 7.1.2 - '@octokit/webhooks-methods': 6.0.0 - '@oozcitak/dom@2.0.2': dependencies: '@oozcitak/infra': 2.0.2 @@ -8256,12 +7615,8 @@ snapshots: '@oxc-project/types@0.127.0': {} - '@oxc-project/types@0.146.0': {} - '@oxc-project/types@0.150.0': {} - '@oxc-project/types@0.152.0': {} - '@oxc-project/types@0.153.0': {} '@oxc-resolver/binding-android-arm-eabi@11.21.2': @@ -8620,36 +7975,6 @@ snapshots: '@poppinss/exception@1.2.3': {} - '@prisma/debug@7.2.0': {} - - '@prisma/dev@0.20.0(typescript@7.0.2)': - dependencies: - '@electric-sql/pglite': 0.3.15 - '@electric-sql/pglite-socket': 0.0.20(@electric-sql/pglite@0.3.15) - '@electric-sql/pglite-tools': 0.2.20(@electric-sql/pglite@0.3.15) - '@hono/node-server': 1.19.9(hono@4.11.4) - '@mrleebo/prisma-ast': 0.13.1 - '@prisma/get-platform': 7.2.0 - '@prisma/query-plan-executor': 7.2.0 - foreground-child: 3.3.1 - get-port-please: 3.2.0 - hono: 4.11.4 - http-status-codes: 2.3.0 - pathe: 2.0.3 - proper-lockfile: 4.1.2 - remeda: 2.33.4 - std-env: 3.10.0 - valibot: 1.2.0(typescript@7.0.2) - zeptomatch: 2.1.0 - transitivePeerDependencies: - - typescript - - '@prisma/get-platform@7.2.0': - dependencies: - '@prisma/debug': 7.2.0 - - '@prisma/query-plan-executor@7.2.0': {} - '@protobufjs/aspromise@1.1.2': {} '@protobufjs/base64@1.1.2': {} @@ -8670,9 +7995,9 @@ snapshots: '@protobufjs/utf8@1.1.2': {} - '@puppeteer/browsers@3.2.3(yauzl@3.4.0)': + '@puppeteer/browsers@3.2.6(yauzl@3.4.0)': dependencies: - modern-tar: 0.8.5 + modern-tar: 0.8.6 yargs: 18.1.0 optionalDependencies: yauzl: 3.4.0 @@ -8703,101 +8028,56 @@ snapshots: dependencies: '@redis/client': 6.2.1(@opentelemetry/api@1.9.1) - '@rolldown/binding-android-arm-eabi@1.2.12': - optional: true - - '@rolldown/binding-android-arm-eabi@1.2.5': - optional: true - - '@rolldown/binding-android-arm64@1.2.12': - optional: true - - '@rolldown/binding-android-arm64@1.2.5': - optional: true - - '@rolldown/binding-darwin-arm64@1.2.12': - optional: true - - '@rolldown/binding-darwin-arm64@1.2.5': - optional: true - - '@rolldown/binding-darwin-x64@1.2.12': - optional: true - - '@rolldown/binding-darwin-x64@1.2.5': - optional: true - - '@rolldown/binding-freebsd-x64@1.2.12': - optional: true - - '@rolldown/binding-freebsd-x64@1.2.5': - optional: true - - '@rolldown/binding-linux-arm-gnueabihf@1.2.12': - optional: true - - '@rolldown/binding-linux-arm-gnueabihf@1.2.5': - optional: true - - '@rolldown/binding-linux-arm64-gnu@1.2.12': + '@rolldown/binding-android-arm-eabi@1.2.13': optional: true - '@rolldown/binding-linux-arm64-gnu@1.2.5': + '@rolldown/binding-android-arm64@1.2.13': optional: true - '@rolldown/binding-linux-arm64-musl@1.2.12': + '@rolldown/binding-darwin-arm64@1.2.13': optional: true - '@rolldown/binding-linux-arm64-musl@1.2.5': + '@rolldown/binding-darwin-x64@1.2.13': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.2.12': + '@rolldown/binding-freebsd-x64@1.2.13': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.2.5': + '@rolldown/binding-linux-arm-gnueabihf@1.2.13': optional: true - '@rolldown/binding-linux-s390x-gnu@1.2.12': + '@rolldown/binding-linux-arm64-gnu@1.2.13': optional: true - '@rolldown/binding-linux-s390x-gnu@1.2.5': + '@rolldown/binding-linux-arm64-musl@1.2.13': optional: true - '@rolldown/binding-linux-x64-gnu@1.2.12': + '@rolldown/binding-linux-ppc64-gnu@1.2.13': optional: true - '@rolldown/binding-linux-x64-gnu@1.2.5': + '@rolldown/binding-linux-s390x-gnu@1.2.13': optional: true - '@rolldown/binding-linux-x64-musl@1.2.12': + '@rolldown/binding-linux-x64-gnu@1.2.13': optional: true - '@rolldown/binding-linux-x64-musl@1.2.5': + '@rolldown/binding-linux-x64-musl@1.2.13': optional: true - '@rolldown/binding-openharmony-arm64@1.2.12': + '@rolldown/binding-openharmony-arm64@1.2.13': optional: true - '@rolldown/binding-openharmony-arm64@1.2.5': + '@rolldown/binding-win32-arm64-msvc@1.2.13': optional: true - '@rolldown/binding-win32-arm64-msvc@1.2.12': + '@rolldown/binding-win32-x64-msvc@1.2.13': optional: true - '@rolldown/binding-win32-arm64-msvc@1.2.5': - optional: true - - '@rolldown/binding-win32-x64-msvc@1.2.12': - optional: true - - '@rolldown/binding-win32-x64-msvc@1.2.5': - optional: true - - '@rolldown/plugin-babel@0.2.4(@babel/core@8.0.6)(@babel/runtime@7.29.10)(rolldown@1.2.12)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))': + '@rolldown/plugin-babel@0.2.4(@babel/core@8.0.6)(@babel/runtime@7.29.10)(rolldown@1.2.13)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))': dependencies: '@babel/core': 8.0.6 picomatch: 4.0.7 - rolldown: 1.2.12 + rolldown: 1.2.13 optionalDependencies: '@babel/runtime': 7.29.10 vite: 8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1) @@ -8861,10 +8141,6 @@ snapshots: '@sindresorhus/merge-streams@4.0.0': {} - '@smithy/types@4.19.0': - dependencies: - tslib: 2.8.1 - '@speed-highlight/core@1.2.24': {} '@storybook/addon-vitest@10.6.2(@vitest/browser-playwright@5.0.5)(@vitest/browser@5.0.5(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(vitest@5.0.5))(react@19.3.0)(storybook@10.6.2(@types/react@19.3.0)(prettier@3.9.9)(react@19.3.0))(vitest@5.0.5)': @@ -8941,17 +8217,17 @@ snapshots: '@systemfsoftware/arethetypeswrong-cli@file:.sfs-deps/arethetypeswrong-cli-4.2.0.tgz': {} - '@systemfsoftware/conformance-spec@file:.sfs-deps/conformance-spec-1.0.0.tgz(effect@4.0.5)': + '@systemfsoftware/conformance-spec@file:.sfs-deps/conformance-spec-1.0.0.tgz(effect@4.1.0)': dependencies: - '@systemfsoftware/effect-sim-kernel': file:.sfs-deps/effect-sim-kernel-1.0.0.tgz(effect@4.0.5) - effect: 4.0.5 + '@systemfsoftware/effect-sim-kernel': file:.sfs-deps/effect-sim-kernel-1.0.0.tgz(effect@4.1.0) + effect: 4.1.0 '@systemfsoftware/differential-spec@file:.sfs-deps/differential-spec-1.0.1.tgz(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5)': dependencies: - '@systemfsoftware/effect-cell-types': file:.sfs-deps/effect-cell-types-12.0.0.tgz(effect@4.0.5) - '@systemfsoftware/effect-sim-kernel': file:.sfs-deps/effect-sim-kernel-1.0.0.tgz(effect@4.0.5) - '@systemfsoftware/vitest': file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) - effect: 4.0.5 + '@systemfsoftware/effect-cell-types': file:.sfs-deps/effect-cell-types-12.0.0.tgz(effect@4.1.0) + '@systemfsoftware/effect-sim-kernel': file:.sfs-deps/effect-sim-kernel-1.0.0.tgz(effect@4.1.0) + '@systemfsoftware/vitest': file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) + effect: 4.1.0 fast-check: 4.10.2 transitivePeerDependencies: - bufferutil @@ -8959,15 +8235,15 @@ snapshots: - utf-8-validate - vitest - '@systemfsoftware/effect-cell-types@file:.sfs-deps/effect-cell-types-12.0.0.tgz(effect@4.0.5)': + '@systemfsoftware/effect-cell-types@file:.sfs-deps/effect-cell-types-12.0.0.tgz(effect@4.1.0)': dependencies: - effect: 4.0.5 + effect: 4.1.0 - '@systemfsoftware/effect-gherkin-spec@file:.sfs-deps/effect-gherkin-spec-7.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.0.5)(vitest@5.0.5)': + '@systemfsoftware/effect-gherkin-spec@file:.sfs-deps/effect-gherkin-spec-7.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.1.0)(vitest@5.0.5)': dependencies: - '@systemfsoftware/effect-spec-runtime': file:.sfs-deps/effect-spec-runtime-1.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.0.5)(vitest@5.0.5) - '@systemfsoftware/vitest': file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) - effect: 4.0.5 + '@systemfsoftware/effect-spec-runtime': file:.sfs-deps/effect-spec-runtime-1.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.1.0)(vitest@5.0.5) + '@systemfsoftware/vitest': file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) + effect: 4.1.0 vitest: 5.0.5(@opentelemetry/api@1.9.1)(@types/node@24.19.1)(@vitest/browser-playwright@5.0.5)(@vitest/coverage-istanbul@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.2(@noble/hashes@2.4.0))(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) '@systemfsoftware/effect-schema-discovery@file:.sfs-deps/effect-schema-discovery-2.0.0.tgz': @@ -8975,69 +8251,69 @@ snapshots: '@oxc-project/types': 0.153.0 oxc-parser: 0.153.0 - '@systemfsoftware/effect-schema-law@file:.sfs-deps/effect-schema-law-5.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.0.5)(vitest@5.0.5)': + '@systemfsoftware/effect-schema-law@file:.sfs-deps/effect-schema-law-5.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.1.0)(vitest@5.0.5)': dependencies: - '@systemfsoftware/vitest': file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) - effect: 4.0.5 + '@systemfsoftware/vitest': file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) + effect: 4.1.0 vitest: 5.0.5(@opentelemetry/api@1.9.1)(@types/node@24.19.1)(@vitest/browser-playwright@5.0.5)(@vitest/coverage-istanbul@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.2(@noble/hashes@2.4.0))(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) - '@systemfsoftware/effect-schema-recursion-budget@file:.sfs-deps/effect-schema-recursion-budget-2.0.0.tgz(effect@4.0.5)': + '@systemfsoftware/effect-schema-recursion-budget@file:.sfs-deps/effect-schema-recursion-budget-2.0.0.tgz(effect@4.1.0)': dependencies: '@oxc-project/types': 0.153.0 - effect: 4.0.5 + effect: 4.1.0 oxc-parser: 0.153.0 - '@systemfsoftware/effect-schema-vite@file:.sfs-deps/effect-schema-vite-3.0.1.tgz(@systemfsoftware/effect-schema-law@file:.sfs-deps/effect-schema-law-5.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.0.5)(vitest@5.0.5))(effect@4.0.5)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(vitest@5.0.5)': + '@systemfsoftware/effect-schema-vite@file:.sfs-deps/effect-schema-vite-3.0.1.tgz(@systemfsoftware/effect-schema-law@file:.sfs-deps/effect-schema-law-5.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.1.0)(vitest@5.0.5))(effect@4.1.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(vitest@5.0.5)': dependencies: '@oxc-project/types': 0.153.0 '@systemfsoftware/effect-schema-discovery': file:.sfs-deps/effect-schema-discovery-2.0.0.tgz - '@systemfsoftware/effect-schema-law': file:.sfs-deps/effect-schema-law-5.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.0.5)(vitest@5.0.5) - '@systemfsoftware/effect-schema-recursion-budget': file:.sfs-deps/effect-schema-recursion-budget-2.0.0.tgz(effect@4.0.5) - effect: 4.0.5 + '@systemfsoftware/effect-schema-law': file:.sfs-deps/effect-schema-law-5.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.1.0)(vitest@5.0.5) + '@systemfsoftware/effect-schema-recursion-budget': file:.sfs-deps/effect-schema-recursion-budget-2.0.0.tgz(effect@4.1.0) + effect: 4.1.0 oxc-parser: 0.153.0 vite: 8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1) vitest: 5.0.5(@opentelemetry/api@1.9.1)(@types/node@24.19.1)(@vitest/browser-playwright@5.0.5)(@vitest/coverage-istanbul@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.2(@noble/hashes@2.4.0))(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) - '@systemfsoftware/effect-sim-kernel@file:.sfs-deps/effect-sim-kernel-1.0.0.tgz(effect@4.0.5)': + '@systemfsoftware/effect-sim-kernel@file:.sfs-deps/effect-sim-kernel-1.0.0.tgz(effect@4.1.0)': dependencies: - effect: 4.0.5 + effect: 4.1.0 - '@systemfsoftware/effect-spec-runtime@file:.sfs-deps/effect-spec-runtime-1.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.0.5)(vitest@5.0.5)': + '@systemfsoftware/effect-spec-runtime@file:.sfs-deps/effect-spec-runtime-1.0.1.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.1.0)(vitest@5.0.5)': dependencies: - '@systemfsoftware/effect-sim-kernel': file:.sfs-deps/effect-sim-kernel-1.0.0.tgz(effect@4.0.5) - '@systemfsoftware/vitest': file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) - effect: 4.0.5 + '@systemfsoftware/effect-sim-kernel': file:.sfs-deps/effect-sim-kernel-1.0.0.tgz(effect@4.1.0) + '@systemfsoftware/vitest': file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) + effect: 4.1.0 vitest: 5.0.5(@opentelemetry/api@1.9.1)(@types/node@24.19.1)(@vitest/browser-playwright@5.0.5)(@vitest/coverage-istanbul@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.2(@noble/hashes@2.4.0))(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) - '@systemfsoftware/oxlint-config-cell-architecture@file:.sfs-deps/oxlint-config-cell-architecture-4.0.0.tgz(effect@4.0.5)(oxlint@1.90.0(oxlint-tsgolint@7.0.2005))(typescript@7.0.2)': + '@systemfsoftware/oxlint-config-cell-architecture@file:.sfs-deps/oxlint-config-cell-architecture-4.0.0.tgz(effect@4.1.0)(oxlint@1.90.0(oxlint-tsgolint@7.0.2005))(typescript@7.0.2)': dependencies: '@systemfsoftware/oxlint-config-rule-authoring': file:.sfs-deps/oxlint-config-rule-authoring-1.1.0.tgz(oxlint@1.90.0(oxlint-tsgolint@7.0.2005))(typescript@7.0.2) - '@systemfsoftware/oxlint-plugin-cell-architecture': file:.sfs-deps/oxlint-plugin-cell-architecture-5.0.0.tgz(effect@4.0.5)(typescript@7.0.2) - effect: 4.0.5 + '@systemfsoftware/oxlint-plugin-cell-architecture': file:.sfs-deps/oxlint-plugin-cell-architecture-5.0.0.tgz(effect@4.1.0)(typescript@7.0.2) + effect: 4.1.0 oxlint: 1.90.0(oxlint-tsgolint@7.0.2005) typescript: 7.0.2 - '@systemfsoftware/oxlint-config-dmmf@file:.sfs-deps/oxlint-config-dmmf-2.0.0.tgz(effect@4.0.5)(oxlint-tsgolint@7.0.2005)(oxlint@1.90.0(oxlint-tsgolint@7.0.2005))(typescript@7.0.2)': + '@systemfsoftware/oxlint-config-dmmf@file:.sfs-deps/oxlint-config-dmmf-2.0.0.tgz(effect@4.1.0)(oxlint-tsgolint@7.0.2005)(oxlint@1.90.0(oxlint-tsgolint@7.0.2005))(typescript@7.0.2)': dependencies: '@systemfsoftware/oxlint-config-rule-authoring': file:.sfs-deps/oxlint-config-rule-authoring-1.1.0.tgz(oxlint@1.90.0(oxlint-tsgolint@7.0.2005))(typescript@7.0.2) - '@systemfsoftware/oxlint-plugin-dmmf-workflow': file:.sfs-deps/oxlint-plugin-dmmf-workflow-7.0.0.tgz(effect@4.0.5)(oxlint-tsgolint@7.0.2005)(typescript@7.0.2) - '@systemfsoftware/oxlint-plugin-effect-schema': file:.sfs-deps/oxlint-plugin-effect-schema-6.0.0.tgz(effect@4.0.5)(typescript@7.0.2) - effect: 4.0.5 + '@systemfsoftware/oxlint-plugin-dmmf-workflow': file:.sfs-deps/oxlint-plugin-dmmf-workflow-7.0.0.tgz(effect@4.1.0)(oxlint-tsgolint@7.0.2005)(typescript@7.0.2) + '@systemfsoftware/oxlint-plugin-effect-schema': file:.sfs-deps/oxlint-plugin-effect-schema-6.0.0.tgz(effect@4.1.0)(typescript@7.0.2) + effect: 4.1.0 oxlint: 1.90.0(oxlint-tsgolint@7.0.2005) oxlint-tsgolint: 7.0.2005 typescript: 7.0.2 transitivePeerDependencies: - vite-plus - '@systemfsoftware/oxlint-config-recommended@file:.sfs-deps/oxlint-config-recommended-4.0.0.tgz(effect@4.0.5)(oxlint-tsgolint@7.0.2005)(oxlint@1.90.0(oxlint-tsgolint@7.0.2005))(typescript@7.0.2)': + '@systemfsoftware/oxlint-config-recommended@file:.sfs-deps/oxlint-config-recommended-4.0.0.tgz(effect@4.1.0)(oxlint-tsgolint@7.0.2005)(oxlint@1.90.0(oxlint-tsgolint@7.0.2005))(typescript@7.0.2)': dependencies: '@effect/tsgo': 0.63.0 - '@systemfsoftware/oxlint-config-cell-architecture': file:.sfs-deps/oxlint-config-cell-architecture-4.0.0.tgz(effect@4.0.5)(oxlint@1.90.0(oxlint-tsgolint@7.0.2005))(typescript@7.0.2) - '@systemfsoftware/oxlint-config-dmmf': file:.sfs-deps/oxlint-config-dmmf-2.0.0.tgz(effect@4.0.5)(oxlint-tsgolint@7.0.2005)(oxlint@1.90.0(oxlint-tsgolint@7.0.2005))(typescript@7.0.2) + '@systemfsoftware/oxlint-config-cell-architecture': file:.sfs-deps/oxlint-config-cell-architecture-4.0.0.tgz(effect@4.1.0)(oxlint@1.90.0(oxlint-tsgolint@7.0.2005))(typescript@7.0.2) + '@systemfsoftware/oxlint-config-dmmf': file:.sfs-deps/oxlint-config-dmmf-2.0.0.tgz(effect@4.1.0)(oxlint-tsgolint@7.0.2005)(oxlint@1.90.0(oxlint-tsgolint@7.0.2005))(typescript@7.0.2) '@systemfsoftware/oxlint-config-rule-authoring': file:.sfs-deps/oxlint-config-rule-authoring-1.1.0.tgz(oxlint@1.90.0(oxlint-tsgolint@7.0.2005))(typescript@7.0.2) - '@systemfsoftware/oxlint-plugin-effect-platform': file:.sfs-deps/oxlint-plugin-effect-platform-2.0.0.tgz(effect@4.0.5)(oxlint-tsgolint@7.0.2005)(typescript@7.0.2) - '@systemfsoftware/oxlint-plugin-test-discipline': file:.sfs-deps/oxlint-plugin-test-discipline-5.0.0.tgz(effect@4.0.5)(typescript@7.0.2) - effect: 4.0.5 + '@systemfsoftware/oxlint-plugin-effect-platform': file:.sfs-deps/oxlint-plugin-effect-platform-2.0.0.tgz(effect@4.1.0)(oxlint-tsgolint@7.0.2005)(typescript@7.0.2) + '@systemfsoftware/oxlint-plugin-test-discipline': file:.sfs-deps/oxlint-plugin-test-discipline-5.0.0.tgz(effect@4.1.0)(typescript@7.0.2) + effect: 4.1.0 oxlint: 1.90.0(oxlint-tsgolint@7.0.2005) oxlint-tsgolint: 7.0.2005 typescript: 7.0.2 @@ -9049,36 +8325,36 @@ snapshots: oxlint: 1.90.0(oxlint-tsgolint@7.0.2005) typescript: 7.0.2 - '@systemfsoftware/oxlint-plugin-cell-architecture@file:.sfs-deps/oxlint-plugin-cell-architecture-5.0.0.tgz(effect@4.0.5)(typescript@7.0.2)': + '@systemfsoftware/oxlint-plugin-cell-architecture@file:.sfs-deps/oxlint-plugin-cell-architecture-5.0.0.tgz(effect@4.1.0)(typescript@7.0.2)': dependencies: '@oxc-project/types': 0.153.0 '@oxlint/plugins': 1.87.0 - effect: 4.0.5 + effect: 4.1.0 typescript: 7.0.2 - '@systemfsoftware/oxlint-plugin-dmmf-workflow@file:.sfs-deps/oxlint-plugin-dmmf-workflow-7.0.0.tgz(effect@4.0.5)(oxlint-tsgolint@7.0.2005)(typescript@7.0.2)': + '@systemfsoftware/oxlint-plugin-dmmf-workflow@file:.sfs-deps/oxlint-plugin-dmmf-workflow-7.0.0.tgz(effect@4.1.0)(oxlint-tsgolint@7.0.2005)(typescript@7.0.2)': dependencies: '@oxc-project/types': 0.153.0 '@oxlint/plugins': 1.87.0 - effect: 4.0.5 + effect: 4.1.0 oxlint: 1.87.0(oxlint-tsgolint@7.0.2005) typescript: 7.0.2 transitivePeerDependencies: - oxlint-tsgolint - vite-plus - '@systemfsoftware/oxlint-plugin-effect-platform@file:.sfs-deps/oxlint-plugin-effect-platform-2.0.0.tgz(effect@4.0.5)(oxlint-tsgolint@7.0.2005)(typescript@7.0.2)': + '@systemfsoftware/oxlint-plugin-effect-platform@file:.sfs-deps/oxlint-plugin-effect-platform-2.0.0.tgz(effect@4.1.0)(oxlint-tsgolint@7.0.2005)(typescript@7.0.2)': dependencies: '@oxc-project/types': 0.153.0 '@oxlint/plugins': 1.87.0 - effect: 4.0.5 + effect: 4.1.0 oxlint: 1.87.0(oxlint-tsgolint@7.0.2005) typescript: 7.0.2 transitivePeerDependencies: - oxlint-tsgolint - vite-plus - '@systemfsoftware/oxlint-plugin-effect-schema@file:.sfs-deps/oxlint-plugin-effect-schema-6.0.0.tgz(effect@4.0.5)(typescript@7.0.2)': + '@systemfsoftware/oxlint-plugin-effect-schema@file:.sfs-deps/oxlint-plugin-effect-schema-6.0.0.tgz(effect@4.1.0)(typescript@7.0.2)': dependencies: '@oxc-project/types': 0.153.0 '@oxlint/plugins': 1.87.0 @@ -9086,96 +8362,96 @@ snapshots: '@pnpm/workspace.projects-reader': 1101.1.4(@pnpm/logger@1100.0.0) '@pnpm/workspace.root-finder': 1100.1.3 '@pnpm/workspace.workspace-manifest-reader': 1100.2.2 - effect: 4.0.5 + effect: 4.1.0 typescript: 7.0.2 - '@systemfsoftware/oxlint-plugin-test-discipline@file:.sfs-deps/oxlint-plugin-test-discipline-5.0.0.tgz(effect@4.0.5)(typescript@7.0.2)': + '@systemfsoftware/oxlint-plugin-test-discipline@file:.sfs-deps/oxlint-plugin-test-discipline-5.0.0.tgz(effect@4.1.0)(typescript@7.0.2)': dependencies: '@oxc-project/types': 0.153.0 '@oxlint/plugins': 1.87.0 - effect: 4.0.5 + effect: 4.1.0 oxc-parser: 0.153.0 typescript: 7.0.2 - '@systemfsoftware/stryker-config@file:.sfs-deps/stryker-config-0.1.0.tgz(@systemfsoftware/stryker-js@file:.sfs-deps/stryker-js-17.0.2.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@10.2.2)(vitest@5.0.5))': + '@systemfsoftware/stryker-config@file:.sfs-deps/stryker-config-0.1.0.tgz(@systemfsoftware/stryker-js@file:.sfs-deps/stryker-js-17.0.2.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@10.2.2)(vitest@5.0.5))': optionalDependencies: - '@systemfsoftware/stryker-js': file:.sfs-deps/stryker-js-17.0.2.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@10.2.2)(vitest@5.0.5) + '@systemfsoftware/stryker-js': file:.sfs-deps/stryker-js-17.0.2.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@10.2.2)(vitest@5.0.5) '@systemfsoftware/stryker-framework-interface@file:.sfs-deps/stryker-framework-interface-0.0.0.tgz': dependencies: '@systemfsoftware/stryker-ignorer-interface': file:.sfs-deps/stryker-ignorer-interface-0.1.1.tgz - '@systemfsoftware/stryker-ignorer-effect-schema-declarations@file:.sfs-deps/stryker-ignorer-effect-schema-declarations-0.2.0.tgz(rolldown@1.2.12)': + '@systemfsoftware/stryker-ignorer-effect-schema-declarations@file:.sfs-deps/stryker-ignorer-effect-schema-declarations-0.2.0.tgz(rolldown@1.2.13)': dependencies: '@systemfsoftware/stryker-ignorer-interface': file:.sfs-deps/stryker-ignorer-interface-0.1.1.tgz - '@systemfsoftware/stryker-ignorer-kit': file:.sfs-deps/stryker-ignorer-kit-0.1.1.tgz(rolldown@1.2.12) + '@systemfsoftware/stryker-ignorer-kit': file:.sfs-deps/stryker-ignorer-kit-0.1.1.tgz(rolldown@1.2.13) transitivePeerDependencies: - rolldown - '@systemfsoftware/stryker-ignorer-in-source-vitest-block@file:.sfs-deps/stryker-ignorer-in-source-vitest-block-0.1.1.tgz(rolldown@1.2.12)': + '@systemfsoftware/stryker-ignorer-in-source-vitest-block@file:.sfs-deps/stryker-ignorer-in-source-vitest-block-0.1.1.tgz(rolldown@1.2.13)': dependencies: '@systemfsoftware/stryker-ignorer-interface': file:.sfs-deps/stryker-ignorer-interface-0.1.1.tgz - '@systemfsoftware/stryker-ignorer-kit': file:.sfs-deps/stryker-ignorer-kit-0.1.1.tgz(rolldown@1.2.12) + '@systemfsoftware/stryker-ignorer-kit': file:.sfs-deps/stryker-ignorer-kit-0.1.1.tgz(rolldown@1.2.13) transitivePeerDependencies: - rolldown '@systemfsoftware/stryker-ignorer-interface@file:.sfs-deps/stryker-ignorer-interface-0.1.1.tgz': {} - '@systemfsoftware/stryker-ignorer-kit@file:.sfs-deps/stryker-ignorer-kit-0.1.1.tgz(rolldown@1.2.12)': + '@systemfsoftware/stryker-ignorer-kit@file:.sfs-deps/stryker-ignorer-kit-0.1.1.tgz(rolldown@1.2.13)': dependencies: '@oxc-project/types': 0.150.0 '@systemfsoftware/stryker-ignorer-interface': file:.sfs-deps/stryker-ignorer-interface-0.1.1.tgz oxc-parser: 0.150.0 - oxc-walker: 1.1.1(@oxc-project/types@0.150.0)(oxc-parser@0.150.0)(rolldown@1.2.12) + oxc-walker: 1.1.1(@oxc-project/types@0.150.0)(oxc-parser@0.150.0)(rolldown@1.2.13) transitivePeerDependencies: - rolldown '@systemfsoftware/stryker-js-cli-contract@file:.sfs-deps/stryker-js-cli-contract-0.3.1.tgz': dependencies: '@systemfsoftware/stryker-js-plugin-interface': file:.sfs-deps/stryker-js-plugin-interface-14.0.0.tgz - effect: 4.0.5 + effect: 4.1.0 - '@systemfsoftware/stryker-js-instrumenter@file:.sfs-deps/stryker-js-instrumenter-12.1.1.tgz(rolldown@1.2.12)': + '@systemfsoftware/stryker-js-instrumenter@file:.sfs-deps/stryker-js-instrumenter-12.1.1.tgz(rolldown@1.2.13)': dependencies: '@eslint-community/regexpp': 4.12.2 '@noble/hashes': 2.4.0 '@oxc-project/types': 0.150.0 - '@systemfsoftware/effect-cell-types': file:.sfs-deps/effect-cell-types-12.0.0.tgz(effect@4.0.5) + '@systemfsoftware/effect-cell-types': file:.sfs-deps/effect-cell-types-12.0.0.tgz(effect@4.1.0) '@systemfsoftware/stryker-framework-interface': file:.sfs-deps/stryker-framework-interface-0.0.0.tgz '@systemfsoftware/stryker-js-cli-contract': file:.sfs-deps/stryker-js-cli-contract-0.3.1.tgz '@systemfsoftware/stryker-js-plugin-interface': file:.sfs-deps/stryker-js-plugin-interface-14.0.0.tgz - effect: 4.0.5 + effect: 4.1.0 oxc-parser: 0.150.0 - oxc-walker: 1.1.1(@oxc-project/types@0.150.0)(oxc-parser@0.150.0)(rolldown@1.2.12) + oxc-walker: 1.1.1(@oxc-project/types@0.150.0)(oxc-parser@0.150.0)(rolldown@1.2.13) transitivePeerDependencies: - rolldown '@systemfsoftware/stryker-js-plugin-interface@file:.sfs-deps/stryker-js-plugin-interface-14.0.0.tgz': dependencies: '@systemfsoftware/stryker-ignorer-interface': file:.sfs-deps/stryker-ignorer-interface-0.1.1.tgz - effect: 4.0.5 + effect: 4.1.0 '@systemfsoftware/stryker-js-plugin-runtime@file:.sfs-deps/stryker-js-plugin-runtime-7.0.2.tgz': dependencies: '@opentelemetry/api': 1.9.1 - '@systemfsoftware/effect-cell-types': file:.sfs-deps/effect-cell-types-12.0.0.tgz(effect@4.0.5) + '@systemfsoftware/effect-cell-types': file:.sfs-deps/effect-cell-types-12.0.0.tgz(effect@4.1.0) '@systemfsoftware/stryker-js-cli-contract': file:.sfs-deps/stryker-js-cli-contract-0.3.1.tgz '@systemfsoftware/stryker-js-plugin-interface': file:.sfs-deps/stryker-js-plugin-interface-14.0.0.tgz - effect: 4.0.5 + effect: 4.1.0 - '@systemfsoftware/stryker-js-typescript-checker@file:.sfs-deps/stryker-js-typescript-checker-8.2.1.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(rolldown@1.2.12)(supports-color@10.2.2)': + '@systemfsoftware/stryker-js-typescript-checker@file:.sfs-deps/stryker-js-typescript-checker-8.2.1.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(rolldown@1.2.13)(supports-color@10.2.2)': dependencies: - '@effect/opentelemetry': 4.0.5(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5) + '@effect/opentelemetry': 4.1.0(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0) '@noble/hashes': 2.4.0 '@opentelemetry/exporter-trace-otlp-http': 0.222.0(@opentelemetry/api@1.9.1) '@opentelemetry/sdk-node': 0.222.0(@opentelemetry/api@1.9.1)(supports-color@10.2.2) '@opentelemetry/sdk-trace-base': 2.11.0(@opentelemetry/api@1.9.1) - '@systemfsoftware/effect-cell-types': file:.sfs-deps/effect-cell-types-12.0.0.tgz(effect@4.0.5) + '@systemfsoftware/effect-cell-types': file:.sfs-deps/effect-cell-types-12.0.0.tgz(effect@4.1.0) '@systemfsoftware/stryker-js-cli-contract': file:.sfs-deps/stryker-js-cli-contract-0.3.1.tgz - '@systemfsoftware/stryker-js-instrumenter': file:.sfs-deps/stryker-js-instrumenter-12.1.1.tgz(rolldown@1.2.12) + '@systemfsoftware/stryker-js-instrumenter': file:.sfs-deps/stryker-js-instrumenter-12.1.1.tgz(rolldown@1.2.13) '@systemfsoftware/stryker-js-plugin-interface': file:.sfs-deps/stryker-js-plugin-interface-14.0.0.tgz '@systemfsoftware/stryker-js-plugin-runtime': file:.sfs-deps/stryker-js-plugin-runtime-7.0.2.tgz - effect: 4.0.5 + effect: 4.1.0 typescript: 7.0.2 transitivePeerDependencies: - '@opentelemetry/api' @@ -9189,13 +8465,13 @@ snapshots: - rolldown - supports-color - '@systemfsoftware/stryker-js-vitest-runner@file:.sfs-deps/stryker-js-vitest-runner-8.1.1.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5)(supports-color@10.2.2)(vitest@5.0.5)': + '@systemfsoftware/stryker-js-vitest-runner@file:.sfs-deps/stryker-js-vitest-runner-8.1.1.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0)(supports-color@10.2.2)(vitest@5.0.5)': dependencies: - '@effect/opentelemetry': 4.0.5(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5) + '@effect/opentelemetry': 4.1.0(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0) '@opentelemetry/exporter-trace-otlp-http': 0.222.0(@opentelemetry/api@1.9.1) '@opentelemetry/sdk-node': 0.222.0(@opentelemetry/api@1.9.1)(supports-color@10.2.2) '@opentelemetry/sdk-trace-base': 2.11.0(@opentelemetry/api@1.9.1) - '@systemfsoftware/effect-cell-types': file:.sfs-deps/effect-cell-types-12.0.0.tgz(effect@4.0.5) + '@systemfsoftware/effect-cell-types': file:.sfs-deps/effect-cell-types-12.0.0.tgz(effect@4.1.0) vitest: 5.0.5(@opentelemetry/api@1.9.1)(@types/node@24.19.1)(@vitest/browser-playwright@5.0.5)(@vitest/coverage-istanbul@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.2(@noble/hashes@2.4.0))(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) transitivePeerDependencies: - '@opentelemetry/api' @@ -9209,20 +8485,20 @@ snapshots: - effect - supports-color - '@systemfsoftware/stryker-js@file:.sfs-deps/stryker-js-17.0.2.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@10.2.2)(vitest@5.0.5)': + '@systemfsoftware/stryker-js@file:.sfs-deps/stryker-js-17.0.2.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@10.2.2)(vitest@5.0.5)': dependencies: - '@effect/opentelemetry': 4.0.5(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5) - '@effect/platform-node': 4.0.5(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1)) - '@effect/platform-node-shared': 4.0.5(effect@4.0.5) + '@effect/opentelemetry': 4.1.0(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0) + '@effect/platform-node': 4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)) + '@effect/platform-node-shared': 4.1.0(effect@4.1.0) '@noble/hashes': 2.4.0 '@opentelemetry/api': 1.9.1 '@opentelemetry/exporter-metrics-otlp-http': 0.222.0(@opentelemetry/api@1.9.1) '@opentelemetry/exporter-trace-otlp-http': 0.222.0(@opentelemetry/api@1.9.1) '@opentelemetry/sdk-metrics': 2.11.0(@opentelemetry/api@1.9.1) '@opentelemetry/sdk-trace-base': 2.11.0(@opentelemetry/api@1.9.1) - '@systemfsoftware/effect-cell-types': file:.sfs-deps/effect-cell-types-12.0.0.tgz(effect@4.0.5) - '@systemfsoftware/stryker-js-vm-runner': '@systemfsoftware/stryker-js-vitest-runner@file:.sfs-deps/stryker-js-vitest-runner-8.1.1.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5)(supports-color@10.2.2)(vitest@5.0.5)' - effect: 4.0.5 + '@systemfsoftware/effect-cell-types': file:.sfs-deps/effect-cell-types-12.0.0.tgz(effect@4.1.0) + '@systemfsoftware/stryker-js-vm-runner': '@systemfsoftware/stryker-js-vitest-runner@file:.sfs-deps/stryker-js-vitest-runner-8.1.1.tgz(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0)(supports-color@10.2.2)(vitest@5.0.5)' + effect: 4.1.0 transitivePeerDependencies: - '@opentelemetry/api-logs' - '@opentelemetry/resources' @@ -9248,10 +8524,10 @@ snapshots: vite: 8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1) vitest: 5.0.5(@opentelemetry/api@1.9.1)(@types/node@24.19.1)(@vitest/browser-playwright@5.0.5)(@vitest/coverage-istanbul@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.2(@noble/hashes@2.4.0))(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) - '@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5)': + '@systemfsoftware/vitest@file:.sfs-deps/vitest-2.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5)': dependencies: - '@effect/platform-node': 4.0.5(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1)) - effect: 4.0.5 + '@effect/platform-node': 4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)) + effect: 4.1.0 vitest: 5.0.5(@opentelemetry/api@1.9.1)(@types/node@24.19.1)(@vitest/browser-playwright@5.0.5)(@vitest/coverage-istanbul@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.2(@noble/hashes@2.4.0))(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) transitivePeerDependencies: - bufferutil @@ -9279,14 +8555,14 @@ snapshots: react: 19.3.0 react-dom: 19.3.0(react@19.3.0) - '@tanstack/react-start-rsc@0.1.59(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(supports-color@10.2.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))': + '@tanstack/react-start-rsc@0.1.59(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.13)(supports-color@10.2.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))': dependencies: '@tanstack/react-router': 1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/router-core': 1.171.34 '@tanstack/router-utils': 1.162.3(supports-color@10.2.2) '@tanstack/start-client-core': 1.170.34 '@tanstack/start-fn-stubs': 1.162.0 - '@tanstack/start-plugin-core': 1.171.49(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.12)(supports-color@10.2.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) + '@tanstack/start-plugin-core': 1.171.49(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.13)(supports-color@10.2.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) '@tanstack/start-storage-context': 1.167.36 pathe: 2.0.3 react: 19.3.0 @@ -9315,15 +8591,15 @@ snapshots: transitivePeerDependencies: - crossws - '@tanstack/react-start@1.168.60(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(supports-color@10.2.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))': + '@tanstack/react-start@1.168.60(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.13)(supports-color@10.2.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))': dependencies: '@tanstack/react-router': 1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/react-start-client': 1.168.39(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@tanstack/react-start-rsc': 0.1.59(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(supports-color@10.2.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) + '@tanstack/react-start-rsc': 0.1.59(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.13)(supports-color@10.2.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) '@tanstack/react-start-server': 1.167.46(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/router-utils': 1.162.3(supports-color@10.2.2) '@tanstack/start-client-core': 1.170.34 - '@tanstack/start-plugin-core': 1.171.49(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.12)(supports-color@10.2.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) + '@tanstack/start-plugin-core': 1.171.49(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.13)(supports-color@10.2.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) '@tanstack/start-server-core': 1.169.39 pathe: 2.0.3 react: 19.3.0 @@ -9379,7 +8655,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/router-plugin@1.168.42(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.12)(supports-color@10.2.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))': + '@tanstack/router-plugin@1.168.42(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.13)(supports-color@10.2.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))': dependencies: '@babel/core': 7.29.7(supports-color@10.2.2) '@babel/template': 7.29.7 @@ -9388,7 +8664,7 @@ snapshots: '@tanstack/router-generator': 1.167.40(supports-color@10.2.2) '@tanstack/router-utils': 1.162.3(supports-color@10.2.2) chokidar: 5.0.0 - unplugin: 3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) + unplugin: 3.4.0(esbuild@0.28.2)(rolldown@1.2.13)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) zod: 4.6.5 optionalDependencies: '@tanstack/react-router': 1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0) @@ -9425,7 +8701,7 @@ snapshots: '@tanstack/start-fn-stubs@1.162.0': {} - '@tanstack/start-plugin-core@1.171.49(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.12)(supports-color@10.2.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))': + '@tanstack/start-plugin-core@1.171.49(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.13)(supports-color@10.2.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))': dependencies: '@babel/code-frame': 7.29.7 '@babel/core': 7.29.7(supports-color@10.2.2) @@ -9433,7 +8709,7 @@ snapshots: '@jridgewell/remapping': 2.3.5 '@tanstack/router-core': 1.171.34 '@tanstack/router-generator': 1.167.40(supports-color@10.2.2) - '@tanstack/router-plugin': 1.168.42(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.12)(supports-color@10.2.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) + '@tanstack/router-plugin': 1.168.42(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.13)(supports-color@10.2.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) '@tanstack/router-utils': 1.162.3(supports-color@10.2.2) '@tanstack/start-server-core': 1.169.39 exsolve: 1.1.3 @@ -9545,8 +8821,6 @@ snapshots: '@types/aria-query@5.0.4': {} - '@types/aws-lambda@8.10.164': {} - '@types/babel__core@7.20.5': dependencies: '@babel/parser': 7.29.9 @@ -9599,10 +8873,6 @@ snapshots: '@types/scheduler@0.28.0': {} - '@types/ws@8.18.1': - dependencies: - '@types/node': 24.19.1 - '@types/ws@8.18.2': dependencies: '@types/node': 24.19.1 @@ -9667,12 +8937,12 @@ snapshots: '@typescript/typescript-win32-x64@7.0.2': optional: true - '@vitejs/plugin-react@6.1.2(@rolldown/plugin-babel@0.2.4(@babel/core@8.0.6)(@babel/runtime@7.29.10)(rolldown@1.2.12)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)))(babel-plugin-react-compiler@1.0.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))': + '@vitejs/plugin-react@6.1.2(@rolldown/plugin-babel@0.2.4(@babel/core@8.0.6)(@babel/runtime@7.29.10)(rolldown@1.2.13)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)))(babel-plugin-react-compiler@1.0.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))': dependencies: '@rolldown/pluginutils': 1.0.1 vite: 8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1) optionalDependencies: - '@rolldown/plugin-babel': 0.2.4(@babel/core@8.0.6)(@babel/runtime@7.29.10)(rolldown@1.2.12)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) + '@rolldown/plugin-babel': 0.2.4(@babel/core@8.0.6)(@babel/runtime@7.29.10)(rolldown@1.2.13)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) babel-plugin-react-compiler: 1.0.0 '@vitest/browser-playwright@5.0.5(playwright@1.63.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(vitest@5.0.5)': @@ -9894,59 +9164,25 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - alchemy@2.0.0-beta.80(@alchemy.run/frontend-frameworks@2.0.0-beta.80(@types/node@24.19.1)(@vitejs/plugin-react@6.1.2(@rolldown/plugin-babel@0.2.4(@babel/core@8.0.6)(@babel/runtime@7.29.10)(rolldown@1.2.12)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)))(babel-plugin-react-compiler@1.0.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)))(effect@4.0.5)(hono@4.11.4)(redis@6.2.1(@opentelemetry/api@1.9.1))(typescript@7.0.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)))(@effect/platform-node@4.0.5(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/node@24.19.1)(@types/react@19.3.0)(effect@4.0.5)(hono@4.11.4)(typescript@7.0.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(ws@8.22.0): + alchemy@https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz(@effect/platform-node@4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/react@19.3.0)(effect@4.1.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))(ws@8.22.0): dependencies: - '@alchemy.run/cloudflare-runtime': 2.0.0-beta.80(@distilled.cloud/cloudflare@1.0.0-rc.13(effect@4.0.5))(@effect/platform-node@4.0.5(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@types/node@24.19.1)(effect@4.0.5)(rolldown@1.2.5)(typescript@7.0.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) - '@alchemy.run/floci': 2.0.0-beta.80(effect@4.0.5) - '@alchemy.run/node-utils': 2.0.0-beta.80 + '@alchemy.run/node-utils': https://pkg.alchemy.run/@alchemy.run/node-utils/-/f7ed79ab54e4abbdb7445242a8127338f02468a98f12a5ce681b50f7e1b0ca50.tgz '@alchemy.run/sigil': 0.1.0-alpha.1(@types/react@19.3.0) - '@distilled.cloud/acme': 1.0.0-rc.13(effect@4.0.5) - '@distilled.cloud/aws': 1.0.0-rc.13(effect@4.0.5) - '@distilled.cloud/axiom': 1.0.0-rc.13(effect@4.0.5) - '@distilled.cloud/cloudflare': 1.0.0-rc.13(effect@4.0.5) - '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.5) - '@distilled.cloud/doppler': 1.0.0-rc.13(effect@4.0.5) - '@distilled.cloud/fly-io': 1.0.0-rc.13(effect@4.0.5) - '@distilled.cloud/gcp': 1.0.0-rc.13(effect@4.0.5) - '@distilled.cloud/hetzner': 1.0.0-rc.13(effect@4.0.5) - '@distilled.cloud/infisical': 1.0.0-rc.13(effect@4.0.5) - '@distilled.cloud/neon': 1.0.0-rc.13(effect@4.0.5) - '@distilled.cloud/planetscale': 1.0.0-rc.13(effect@4.0.5) - '@distilled.cloud/prisma': 1.0.0-rc.13(effect@4.0.5) - '@distilled.cloud/railway': 1.0.0-rc.13(effect@4.0.5) - '@distilled.cloud/stripe': 1.0.0-rc.13(effect@4.0.5) - '@distilled.cloud/zerossl': 1.0.0-rc.13(effect@4.0.5) - '@effect/sql-d1': 4.0.5(effect@4.0.5) - '@effect/sql-sqlite-do': 4.0.5(effect@4.0.5) - '@libsql/client': 0.17.4 - '@neon/functions': 0.11.0(hono@4.11.4) - '@octokit/rest': 22.0.1 - '@octokit/webhooks': 14.2.0 - '@prisma/dev': 0.20.0(typescript@7.0.2) - '@types/aws-lambda': 8.10.164 capnweb: 0.12.0 - effect: 4.0.5 + effect: 4.1.0 fflate: 0.8.3 - libsodium-wrappers: 0.8.4 pathe: 2.0.3 picomatch: 4.0.7 - rolldown: 1.2.5 + rolldown: 1.2.13 tinyglobby: 0.2.17 yaml: 2.9.1 optionalDependencies: - '@alchemy.run/frontend-frameworks': 2.0.0-beta.80(@types/node@24.19.1)(@vitejs/plugin-react@6.1.2(@rolldown/plugin-babel@0.2.4(@babel/core@8.0.6)(@babel/runtime@7.29.10)(rolldown@1.2.12)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)))(babel-plugin-react-compiler@1.0.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)))(effect@4.0.5)(hono@4.11.4)(redis@6.2.1(@opentelemetry/api@1.9.1))(typescript@7.0.2)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)) - '@effect/platform-node': 4.0.5(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1)) + '@effect/platform-node': 4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)) vite: 8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1) ws: 8.22.0 transitivePeerDependencies: - - '@types/node' - '@types/react' - - bufferutil - - hono - - proxy-agent - react-devtools-core - - typescript - - utf-8-validate ansi-regex@5.0.1: {} @@ -9999,8 +9235,6 @@ snapshots: baseline-browser-mapping@2.11.27: {} - before-after-hook@4.0.0: {} - bidi-js@1.1.0: dependencies: require-from-string: 2.0.2 @@ -10058,15 +9292,6 @@ snapshots: check-error@2.1.3: {} - chevrotain@10.5.0: - dependencies: - '@chevrotain/cst-dts-gen': 10.5.0 - '@chevrotain/gast': 10.5.0 - '@chevrotain/types': 10.5.0 - '@chevrotain/utils': 10.5.0 - lodash: 4.17.21 - regexp-to-ast: 0.5.0 - chokidar@5.0.0: dependencies: readdirp: 5.1.1 @@ -10093,8 +9318,6 @@ snapshots: color-name@1.1.4: {} - content-type@3.1.1: {} - conventional-changelog-angular@9.4.0: dependencies: '@conventional-changelog/template': 1.4.0 @@ -10177,8 +9400,6 @@ snapshots: detect-indent@7.0.2: {} - detect-libc@2.0.2: {} - detect-libc@2.1.2: {} diff@8.0.4: {} @@ -10195,7 +9416,7 @@ snapshots: optionalDependencies: oxc-resolver: 11.21.2 - effect@4.0.5: {} + effect@4.1.0: {} electron-to-chromium@1.5.444: {} @@ -10315,11 +9536,6 @@ snapshots: flru@1.0.2: {} - foreground-child@3.3.1: - dependencies: - cross-spawn: 7.0.6 - signal-exit: 4.1.0 - fs-extra@11.3.6: dependencies: graceful-fs: 4.2.11 @@ -10337,8 +9553,6 @@ snapshots: get-east-asian-width@1.6.0: {} - get-port-please@3.2.0: {} - get-stream@9.0.1: dependencies: '@sec-ant/readable-stream': 0.4.1 @@ -10360,12 +9574,6 @@ snapshots: graceful-fs@4.2.11: {} - grammex@3.1.13: {} - - graphmatch@1.1.1: {} - - graphql@16.11.0: {} - h3@2.0.1-rc.20: dependencies: rou3: 0.8.1 @@ -10377,8 +9585,6 @@ snapshots: dependencies: function-bind: 1.1.2 - hono@4.11.4: {} - hookable@6.1.2: {} html-encoding-sniffer@7.0.0(@noble/hashes@2.4.0): @@ -10387,8 +9593,6 @@ snapshots: transitivePeerDependencies: - '@noble/hashes' - http-status-codes@2.3.0: {} - human-signals@8.0.1: {} import-fresh@3.3.1: @@ -10456,8 +9660,6 @@ snapshots: jju@1.4.0: {} - js-base64@3.9.4: {} - js-tokens@10.0.0: {} js-tokens@4.0.0: {} @@ -10497,8 +9699,6 @@ snapshots: json-schema-traverse@1.0.0: {} - json-with-bigint@3.5.12: {} - json5@2.2.3: {} jsonc-parser@3.3.1: {} @@ -10517,21 +9717,6 @@ snapshots: libsodium@0.8.4: {} - libsql@0.5.29: - dependencies: - '@neon-rs/load': 0.0.4 - detect-libc: 2.0.2 - optionalDependencies: - '@libsql/darwin-arm64': 0.5.29 - '@libsql/darwin-x64': 0.5.29 - '@libsql/linux-arm-gnueabihf': 0.5.29 - '@libsql/linux-arm-musleabihf': 0.5.29 - '@libsql/linux-arm64-gnu': 0.5.29 - '@libsql/linux-arm64-musl': 0.5.29 - '@libsql/linux-x64-gnu': 0.5.29 - '@libsql/linux-x64-musl': 0.5.29 - '@libsql/win32-x64-msvc': 0.5.29 - lightningcss-android-arm64@1.33.0: optional: true @@ -10581,8 +9766,6 @@ snapshots: lightningcss-win32-arm64-msvc: 1.33.0 lightningcss-win32-x64-msvc: 1.33.0 - lilconfig@2.1.0: {} - lines-and-columns@1.2.4: {} lint-staged@17.6.0: @@ -10597,8 +9780,6 @@ snapshots: lodash.camelcase@4.3.0: {} - lodash@4.17.21: {} - long@5.3.2: {} loupe@3.2.1: {} @@ -10640,7 +9821,7 @@ snapshots: braces: 3.0.3 picomatch: 2.3.2 - mime@4.1.0: {} + mime@4.1.2: {} mimic-function@5.0.1: {} @@ -10671,7 +9852,7 @@ snapshots: minipass@7.1.3: {} - modern-tar@0.8.5: {} + modern-tar@0.8.6: {} module-details-from-path@1.0.4: {} @@ -10794,11 +9975,11 @@ snapshots: '@oxc-resolver/binding-win32-arm64-msvc': 11.21.2 '@oxc-resolver/binding-win32-x64-msvc': 11.21.2 - oxc-walker@1.1.1(@oxc-project/types@0.150.0)(oxc-parser@0.150.0)(rolldown@1.2.12): + oxc-walker@1.1.1(@oxc-project/types@0.150.0)(oxc-parser@0.150.0)(rolldown@1.2.13): optionalDependencies: '@oxc-project/types': 0.150.0 oxc-parser: 0.150.0 - rolldown: 1.2.12 + rolldown: 1.2.13 oxlint-tsgolint@7.0.2005: optionalDependencies: @@ -10943,14 +10124,6 @@ snapshots: dependencies: parse-ms: 4.0.0 - promise-limit@2.7.0: {} - - proper-lockfile@4.1.2: - dependencies: - graceful-fs: 4.2.11 - retry: 0.12.0 - signal-exit: 3.0.7 - protobufjs@7.6.6: dependencies: '@protobufjs/aspromise': 1.1.2 @@ -11036,10 +10209,6 @@ snapshots: - '@node-rs/xxhash' - '@opentelemetry/api' - regexp-to-ast@0.5.0: {} - - remeda@2.33.4: {} - require-directory@2.1.1: {} require-from-string@2.0.2: {} @@ -11064,19 +10233,17 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - retry@0.12.0: {} - rimraf@6.1.3: dependencies: glob: 13.0.6 package-json-from-dist: 1.0.1 - rolldown-plugin-dts@0.28.6(patch_hash=c4d02f422daffea3f211c29c3c2b926625c17774e763cc9a3643bf730fe57eba)(oxc-resolver@11.21.2)(rolldown@1.2.12)(typescript@7.0.2): + rolldown-plugin-dts@0.28.6(patch_hash=c4d02f422daffea3f211c29c3c2b926625c17774e763cc9a3643bf730fe57eba)(oxc-resolver@11.21.2)(rolldown@1.2.13)(typescript@7.0.2): dependencies: dts-resolver: 3.0.0(oxc-resolver@11.21.2) get-tsconfig: 5.0.0-beta.6 obug: 3.0.0 - rolldown: 1.2.12 + rolldown: 1.2.13 yuku-ast: 0.10.2 yuku-codegen: 0.10.2 yuku-parser: 0.10.2 @@ -11085,47 +10252,26 @@ snapshots: transitivePeerDependencies: - oxc-resolver - rolldown@1.2.12: + rolldown@1.2.13: dependencies: - '@oxc-project/types': 0.152.0 - '@rolldown/pluginutils': 1.0.1 - optionalDependencies: - '@rolldown/binding-android-arm-eabi': 1.2.12 - '@rolldown/binding-android-arm64': 1.2.12 - '@rolldown/binding-darwin-arm64': 1.2.12 - '@rolldown/binding-darwin-x64': 1.2.12 - '@rolldown/binding-freebsd-x64': 1.2.12 - '@rolldown/binding-linux-arm-gnueabihf': 1.2.12 - '@rolldown/binding-linux-arm64-gnu': 1.2.12 - '@rolldown/binding-linux-arm64-musl': 1.2.12 - '@rolldown/binding-linux-ppc64-gnu': 1.2.12 - '@rolldown/binding-linux-s390x-gnu': 1.2.12 - '@rolldown/binding-linux-x64-gnu': 1.2.12 - '@rolldown/binding-linux-x64-musl': 1.2.12 - '@rolldown/binding-openharmony-arm64': 1.2.12 - '@rolldown/binding-win32-arm64-msvc': 1.2.12 - '@rolldown/binding-win32-x64-msvc': 1.2.12 - - rolldown@1.2.5: - dependencies: - '@oxc-project/types': 0.146.0 + '@oxc-project/types': 0.153.0 '@rolldown/pluginutils': 1.0.1 optionalDependencies: - '@rolldown/binding-android-arm-eabi': 1.2.5 - '@rolldown/binding-android-arm64': 1.2.5 - '@rolldown/binding-darwin-arm64': 1.2.5 - '@rolldown/binding-darwin-x64': 1.2.5 - '@rolldown/binding-freebsd-x64': 1.2.5 - '@rolldown/binding-linux-arm-gnueabihf': 1.2.5 - '@rolldown/binding-linux-arm64-gnu': 1.2.5 - '@rolldown/binding-linux-arm64-musl': 1.2.5 - '@rolldown/binding-linux-ppc64-gnu': 1.2.5 - '@rolldown/binding-linux-s390x-gnu': 1.2.5 - '@rolldown/binding-linux-x64-gnu': 1.2.5 - '@rolldown/binding-linux-x64-musl': 1.2.5 - '@rolldown/binding-openharmony-arm64': 1.2.5 - '@rolldown/binding-win32-arm64-msvc': 1.2.5 - '@rolldown/binding-win32-x64-msvc': 1.2.5 + '@rolldown/binding-android-arm-eabi': 1.2.13 + '@rolldown/binding-android-arm64': 1.2.13 + '@rolldown/binding-darwin-arm64': 1.2.13 + '@rolldown/binding-darwin-x64': 1.2.13 + '@rolldown/binding-freebsd-x64': 1.2.13 + '@rolldown/binding-linux-arm-gnueabihf': 1.2.13 + '@rolldown/binding-linux-arm64-gnu': 1.2.13 + '@rolldown/binding-linux-arm64-musl': 1.2.13 + '@rolldown/binding-linux-ppc64-gnu': 1.2.13 + '@rolldown/binding-linux-s390x-gnu': 1.2.13 + '@rolldown/binding-linux-x64-gnu': 1.2.13 + '@rolldown/binding-linux-x64-musl': 1.2.13 + '@rolldown/binding-openharmony-arm64': 1.2.13 + '@rolldown/binding-win32-arm64-msvc': 1.2.13 + '@rolldown/binding-win32-x64-msvc': 1.2.13 rou3@0.8.1: {} @@ -11229,8 +10375,6 @@ snapshots: shebang-regex@3.0.0: {} - signal-exit@3.0.7: {} - signal-exit@4.1.0: {} sirv@3.0.2: @@ -11253,10 +10397,6 @@ snapshots: srvx@0.11.22: {} - srvx@1.0.5: {} - - std-env@3.10.0: {} - std-env@4.3.0: {} storybook@10.6.2(@types/react@19.3.0)(prettier@3.9.9)(react@19.3.0): @@ -11393,8 +10533,8 @@ snapshots: import-without-cache: 0.4.1 obug: 2.2.1 picomatch: 4.0.7 - rolldown: 1.2.12 - rolldown-plugin-dts: 0.28.6(patch_hash=c4d02f422daffea3f211c29c3c2b926625c17774e763cc9a3643bf730fe57eba)(oxc-resolver@11.21.2)(rolldown@1.2.12)(typescript@7.0.2) + rolldown: 1.2.13 + rolldown-plugin-dts: 0.28.6(patch_hash=c4d02f422daffea3f211c29c3c2b926625c17774e763cc9a3643bf730fe57eba)(oxc-resolver@11.21.2)(rolldown@1.2.13)(typescript@7.0.2) tinyexec: 1.3.1 tinyglobby: 0.2.17 tree-kill: 1.2.2 @@ -11478,18 +10618,16 @@ snapshots: unicorn-magic@0.3.0: {} - universal-user-agent@7.0.3: {} - universalify@2.0.1: {} - unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)): + unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.13)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)): dependencies: '@jridgewell/remapping': 2.3.5 picomatch: 4.0.7 webpack-virtual-modules: 0.6.2 optionalDependencies: esbuild: 0.28.2 - rolldown: 1.2.12 + rolldown: 1.2.13 vite: 8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1) update-browserslist-db@1.3.3(browserslist@4.29.3): @@ -11502,10 +10640,6 @@ snapshots: dependencies: react: 19.3.0 - valibot@1.2.0(typescript@7.0.2): - optionalDependencies: - typescript: 7.0.2 - verkit@0.3.2: {} verkit@0.4.1: {} @@ -11515,7 +10649,7 @@ snapshots: lightningcss: 1.33.0 picomatch: 4.0.7 postcss: 8.5.31 - rolldown: 1.2.12 + rolldown: 1.2.13 tinyglobby: 0.2.17 optionalDependencies: '@types/node': 24.19.1 @@ -11728,9 +10862,4 @@ snapshots: '@yuku-parser/binding-win32-arm64': 0.10.2 '@yuku-parser/binding-win32-x64': 0.10.2 - zeptomatch@2.1.0: - dependencies: - grammex: 3.1.13 - graphmatch: 1.1.1 - zod@4.6.5: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 527cf9f..31e0500 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -6,18 +6,19 @@ allowBuilds: sharp: false workerd: true catalog: - "@alchemy.run/frontend-frameworks": 2.0.0-beta.80 + "@alchemy.run/cloudflare": https://pkg.alchemy.run/@alchemy.run/cloudflare/-/d48c0fa92f25f97b8ab3d76fd38d810c2583c34a11e5898ffd46c544abf21630.tgz + "@alchemy.run/github": https://pkg.alchemy.run/@alchemy.run/github/-/a5e3e91478a3df06b3ec7a3d9b5bfb7f162c5dceab108c35c0a9d164d0213092.tgz "@babel/core": 8.0.6 "@cloudflare/vite-plugin": 1.62.5 "@cloudflare/workers-types": 5.20261005.1 "@commitlint/cli": 21.2.3 "@commitlint/config-conventional": 21.2.3 "@commitlint/types": 21.2.3 - "@effect/opentelemetry": 4.0.5 - "@effect/platform-node": 4.0.5 - "@effect/platform-node-shared": 4.0.5 - "@effect/sql-d1": 4.0.5 - "@effect/sql-sqlite-do": 4.0.5 + "@effect/opentelemetry": 4.1.0 + "@effect/platform-node": 4.1.0 + "@effect/platform-node-shared": 4.1.0 + "@effect/sql-d1": 4.1.0 + "@effect/sql-sqlite-do": 4.1.0 "@effect/tsgo": 0.63.0 "@microsoft/api-extractor": 7.59.4 "@rolldown/plugin-babel": 0.2.4 @@ -80,9 +81,9 @@ catalog: "@vitest/browser-playwright": 5.0.5 "@vitest/coverage-istanbul": 5.0.5 "@vitejs/plugin-react": 6.1.2 - alchemy: 2.0.0-beta.80 + alchemy: https://pkg.alchemy.run/alchemy/-/91ebdb8e04073116e85fff74fae5e337f96a3733000b01dcf7354f6fd969995a.tgz babel-plugin-react-compiler: 1.0.0 - effect: 4.0.5 + effect: 4.1.0 fast-check: 4.10.2 lint-staged: 17.6.0 oxlint: ~1.90.0 @@ -118,7 +119,10 @@ catalogs: catalogMode: prefer ignoreScripts: true minimumReleaseAge: 1440 +blockExoticSubdeps: false minimumReleaseAgeExclude: + - alchemy + - "@alchemy.run/*" - effect - "@effect/*" verifyDepsBeforeRun: warn @@ -175,6 +179,7 @@ overrides: "@effect/tsgo": "catalog:" effect: "catalog:" esbuild: ^0.28.2 + rolldown: 1.2.13 rolldown-plugin-dts: 0.28.6 workerd: 1.20261005.1 packages: diff --git a/scripts/check-branch-rules.test.ts b/scripts/check-branch-rules.test.ts index 6034699..c65c53b 100644 --- a/scripts/check-branch-rules.test.ts +++ b/scripts/check-branch-rules.test.ts @@ -3,18 +3,7 @@ import { Result } from 'effect' import { branchRulesVerdict, decodeBranchRules, REQUIRED_CHECKS } from './check-branch-rules.ts' -const R22_CHECKS = [ - 'check (format)', - 'check (lint)', - 'check (typecheck)', - 'check (test)', - 'check (dist)', - 'check (sfs-sources)', - 'journeys', - 'lint PR commits', - 'changeset · shared tooling / a publishable-package change needs an intent', - 'rules', -] +const R22_CHECKS = ['check'] const RULESET_SOURCE = { ruleset_source_type: 'Repository', diff --git a/scripts/check-branch-rules.ts b/scripts/check-branch-rules.ts index 5837135..2786457 100755 --- a/scripts/check-branch-rules.ts +++ b/scripts/check-branch-rules.ts @@ -1,18 +1,7 @@ #!/usr/bin/env -S deno run --config=scripts/deno.json --allow-net=api.github.com --allow-env=GITHUB_TOKEN,GITHUB_REPOSITORY import { Result, Schema as S } from 'effect' -export const REQUIRED_CHECKS = [ - 'check (format)', - 'check (lint)', - 'check (typecheck)', - 'check (test)', - 'check (dist)', - 'check (sfs-sources)', - 'journeys', - 'lint PR commits', - 'changeset · shared tooling / a publishable-package change needs an intent', - 'rules', -] as const +export const REQUIRED_CHECKS = ['check'] as const const StatusChecksRule = S.Struct({ type: S.Literal('required_status_checks'), diff --git a/scripts/mutation-shards.test.ts b/scripts/mutation-shards.test.ts deleted file mode 100644 index 8a9167f..0000000 --- a/scripts/mutation-shards.test.ts +++ /dev/null @@ -1,155 +0,0 @@ -import { assertEquals } from '@std/assert' -import { dirname, join } from '@std/path' - -import { planMutationShards } from './mutation-shards.ts' - -type PackageFixture = { - readonly name: string - readonly mutation?: string | false - readonly mutate?: string[] - readonly files: string[] -} - -const workspaceOf = async (packages: PackageFixture[]): Promise => { - const root = await Deno.makeTempDir({ prefix: 'mutation-shards-' }) - await Deno.writeTextFile(join(root, 'pnpm-workspace.yaml'), 'packages:\n - packages/*\n') - for (const fixture of packages) { - const dir = join(root, 'packages', fixture.name) - await Deno.mkdir(dir, { recursive: true }) - const stryker = fixture.mutate === undefined ? {} : { stryker: { mutate: fixture.mutate } } - const scripts = fixture.mutation === false ? {} : { scripts: { mutation: fixture.mutation ?? 'stryker run' } } - await Deno.writeTextFile( - join(dir, 'package.json'), - JSON.stringify({ name: `@fixture/${fixture.name}`, ...scripts, ...stryker }), - ) - for (const file of fixture.files) { - await Deno.mkdir(dirname(join(dir, file)), { recursive: true }) - await Deno.writeTextFile(join(dir, file), 'export {}\n') - } - } - return root -} - -Deno.test('a shard mutates exactly the package workflow files, never tests, other source or dependencies', async () => { - const root = await workspaceOf([{ - name: 'core', - files: [ - 'src/order.workflow.ts', - 'src/billing/invoice.workflow.ts', - 'src/order.test.ts', - 'src/__tests__/order.workflow.property.test.ts', - 'src/page.tsx', - 'src/order.schema.ts', - 'node_modules/dep/x.workflow.ts', - '.stryker-tmp/sandbox-1/src/order.workflow.ts', - ], - }]) - assertEquals(await planMutationShards(root), { - shards: [{ package: '@fixture/core', mutate: ['src/billing/invoice.workflow.ts', 'src/order.workflow.ts'] }], - refusals: [], - }) -}) - -Deno.test('a package that widens its own mutated set is refused', async () => { - const root = await workspaceOf([{ name: 'core', mutate: ['src/**/*.ts'], files: ['src/order.workflow.ts'] }]) - assertEquals((await planMutationShards(root)).refusals, [ - { _tag: 'OwnMutate', dir: 'packages/core', mutate: ['src/**/*.ts'] }, - ]) -}) - -Deno.test('a package that points its mutated set at test files is refused', async () => { - const root = await workspaceOf([{ - name: 'core', - mutate: ['src/**/*.test.ts'], - files: ['src/order.workflow.ts', 'src/order.test.ts'], - }]) - assertEquals((await planMutationShards(root)).refusals, [ - { _tag: 'OwnMutate', dir: 'packages/core', mutate: ['src/**/*.test.ts'] }, - ]) -}) - -Deno.test('a package that sets its own mutated set without a mutation script is still refused', async () => { - const root = await workspaceOf([ - { name: 'core', files: ['src/order.workflow.ts'] }, - { name: 'tools', mutation: false, mutate: ['src/**/*.ts'], files: ['src/cli.ts'] }, - ]) - assertEquals((await planMutationShards(root)).refusals, [ - { _tag: 'OwnMutate', dir: 'packages/tools', mutate: ['src/**/*.ts'] }, - ]) -}) - -Deno.test('a mutation script that passes its own files to stryker is refused', async () => { - const root = await workspaceOf([{ - name: 'core', - mutation: 'stryker run -m src/**/*.ts', - files: ['src/order.workflow.ts'], - }]) - assertEquals(await planMutationShards(root), { - shards: [], - refusals: [{ - _tag: 'MutationScriptNotStrykerRun', - dir: 'packages/core', - script: 'stryker run -m src/**/*.ts', - }], - }) -}) - -Deno.test('a mutating package without a workflow file is refused by name', async () => { - const root = await workspaceOf([ - { name: 'core', files: ['src/order.workflow.ts'] }, - { name: 'site', files: ['src/page.tsx'] }, - ]) - assertEquals(await planMutationShards(root), { - shards: [{ package: '@fixture/core', mutate: ['src/order.workflow.ts'] }], - refusals: [{ _tag: 'NoWorkflowFiles', dir: 'packages/site' }], - }) -}) - -Deno.test('a workspace without a single *.workflow.ts file is refused as an empty set', async () => { - const root = await workspaceOf([ - { name: 'site', files: ['src/page.tsx'] }, - { name: 'tools', mutation: false, files: ['src/cli.ts'] }, - ]) - assertEquals(await planMutationShards(root), { shards: [], refusals: [{ _tag: 'NoWorkflowFilesInWorkspace' }] }) -}) - -Deno.test('workflow files in a package without a mutation script are refused by package', async () => { - const root = await workspaceOf([ - { name: 'core', files: ['src/order.workflow.ts'] }, - { name: 'billing', mutation: false, files: ['src/invoice.workflow.ts', 'src/refund.workflow.ts'] }, - ]) - assertEquals(await planMutationShards(root), { - shards: [{ package: '@fixture/core', mutate: ['src/order.workflow.ts'] }], - refusals: [{ _tag: 'WorkflowFilesNotMutated', dir: 'packages/billing', workflows: 2 }], - }) -}) - -Deno.test('decisions that no package mutates are refused', async () => { - const root = await workspaceOf([{ name: 'core', mutation: false, files: ['src/order.workflow.ts'] }]) - assertEquals(await planMutationShards(root), { - shards: [], - refusals: [{ _tag: 'WorkflowFilesNotMutated', dir: 'packages/core', workflows: 1 }], - }) -}) - -Deno.test('a workflow copy in a directory Stryker ignores is not planned', async () => { - const root = await workspaceOf([{ name: 'core', files: ['src/order.workflow.ts', 'dist/order.workflow.ts'] }]) - assertEquals(await planMutationShards(root), { - shards: [{ package: '@fixture/core', mutate: ['src/order.workflow.ts'] }], - refusals: [], - }) -}) - -Deno.test('a workflow path the comma-joined --mutate list would split or expand is refused by name', async () => { - const root = await workspaceOf([{ - name: 'core', - files: ['src/order.workflow.ts', 'src/a,b.workflow.ts', 'src/page[1].workflow.ts'], - }]) - assertEquals(await planMutationShards(root), { - shards: [], - refusals: [ - { _tag: 'UnsafeWorkflowPath', dir: 'packages/core', path: 'src/a,b.workflow.ts' }, - { _tag: 'UnsafeWorkflowPath', dir: 'packages/core', path: 'src/page[1].workflow.ts' }, - ], - }) -}) diff --git a/scripts/mutation-shards.ts b/scripts/mutation-shards.ts deleted file mode 100755 index c14daf9..0000000 --- a/scripts/mutation-shards.ts +++ /dev/null @@ -1,110 +0,0 @@ -#!/usr/bin/env -S deno run --config=scripts/deno.json --allow-read --allow-write --allow-import=jsr.io - -import { parseArgs } from '@std/cli/parse-args' -import { expandGlob } from '@std/fs/expand-glob' -import { dirname, join, relative } from '@std/path' -import { parse } from '@std/yaml' - -import { packageStrykerConfig, WORKFLOW_FILES } from '../stryker.shared.ts' - -type Manifest = { name?: string; scripts?: Record; stryker?: { mutate?: unknown } } - -export type Shard = { readonly package: string; readonly mutate: string[] } - -export type Refusal = - | { readonly _tag: 'OwnMutate'; readonly dir: string; readonly mutate: unknown } - | { readonly _tag: 'MutationScriptNotStrykerRun'; readonly dir: string; readonly script: string } - | { readonly _tag: 'NoWorkflowFiles'; readonly dir: string } - | { readonly _tag: 'WorkflowFilesNotMutated'; readonly dir: string; readonly workflows: number } - | { readonly _tag: 'UnsafeWorkflowPath'; readonly dir: string; readonly path: string } - | { readonly _tag: 'NoWorkflowFilesInWorkspace' } - -export type ShardPlan = { readonly shards: Shard[]; readonly refusals: Refusal[] } - -const STRYKER_RUN = 'stryker run' - -const UNSAFE_PATH = /[,*?[\]{}()!\\]/ - -const IGNORED_DIRS = [...(packageStrykerConfig.ignorePatterns ?? []), 'node_modules', '.stryker-tmp'] - -export const describeRefusal = (refusal: Refusal): string => { - switch (refusal._tag) { - case 'OwnMutate': - return `${refusal.dir}: sets its own stryker.mutate ${ - JSON.stringify(refusal.mutate) - }; the release gate mutates exactly the package's ${WORKFLOW_FILES} files` - case 'MutationScriptNotStrykerRun': - return `${refusal.dir}: the mutation script is ${ - JSON.stringify(refusal.script) - }, not exactly "${STRYKER_RUN}"; the release gate passes the mutated files itself` - case 'NoWorkflowFiles': - return `${refusal.dir}: declares a mutation script but has no ${WORKFLOW_FILES} file` - case 'WorkflowFilesNotMutated': - return `${refusal.dir}: has ${refusal.workflows} ${WORKFLOW_FILES} file(s) but no package name or \`mutation\` script to mutate them` - case 'UnsafeWorkflowPath': - return `${refusal.dir}: ${ - JSON.stringify(refusal.path) - } holds a comma or glob metacharacter, so the --mutate list would split or expand it; rename the file` - case 'NoWorkflowFilesInWorkspace': - return `no workspace package has a ${WORKFLOW_FILES} file; the release gate refuses an empty set` - } -} - -const workflowFilesOf = async (dir: string): Promise => { - const files: string[] = [] - const walk = expandGlob(WORKFLOW_FILES, { - root: dir, - exclude: IGNORED_DIRS.map((ignored) => `**/${ignored}/**`), - includeDirs: false, - }) - for await (const entry of walk) files.push(relative(dir, entry.path)) - return files.sort() -} - -export const planMutationShards = async (root: string): Promise => { - const workspace = parse(await Deno.readTextFile(join(root, 'pnpm-workspace.yaml'))) as { packages?: string[] } - const shards: Shard[] = [] - const refusals: Refusal[] = [] - let workflows = 0 - for (const glob of workspace.packages ?? []) { - for await (const entry of expandGlob(join(glob, 'package.json'), { root, exclude: ['**/node_modules/**'] })) { - const packageDir = dirname(entry.path) - const dir = relative(root, packageDir) - const files = await workflowFilesOf(packageDir) - workflows += files.length - const manifest = JSON.parse(await Deno.readTextFile(entry.path)) as Manifest - if (manifest.stryker?.mutate !== undefined) { - refusals.push({ _tag: 'OwnMutate', dir, mutate: manifest.stryker.mutate }) - } - const script = manifest.scripts?.mutation - if (manifest.name === undefined || script === undefined) { - if (files.length > 0) refusals.push({ _tag: 'WorkflowFilesNotMutated', dir, workflows: files.length }) - } else if (script !== STRYKER_RUN) { - refusals.push({ _tag: 'MutationScriptNotStrykerRun', dir, script }) - } else if (files.length === 0) { - refusals.push({ _tag: 'NoWorkflowFiles', dir }) - } else if (files.some((path) => UNSAFE_PATH.test(path))) { - for (const path of files.filter((path) => UNSAFE_PATH.test(path))) { - refusals.push({ _tag: 'UnsafeWorkflowPath', dir, path }) - } - } else { - shards.push({ package: manifest.name, mutate: files }) - } - } - } - if (workflows === 0) return { shards: [], refusals: [{ _tag: 'NoWorkflowFilesInWorkspace' }] } - return { shards: shards.sort((a, b) => a.package.localeCompare(b.package)), refusals } -} - -if (import.meta.main) { - const { output, root = '.' } = parseArgs(Deno.args, { string: ['output', 'root'] }) - const plan = await planMutationShards(root) - if (plan.refusals.length > 0) { - for (const refusal of plan.refusals) console.error(`mutation-shards: ${describeRefusal(refusal)}`) - Deno.exit(1) - } - const line = `shards=${JSON.stringify(plan.shards)}` - console.error(`mutation-shards: ${line}`) - if (output) await Deno.writeTextFile(output, `${line}\n`, { append: true }) - else console.log(line) -} diff --git a/turbo.json b/turbo.json index 1c70a3d..ed4ef69 100644 --- a/turbo.json +++ b/turbo.json @@ -1,6 +1,17 @@ { "$schema": "https://v2-11-7.turborepo.dev/schema.json", "agentGuidance": false, + "globalDependencies": [ + "oxlint.shared.ts", + "stryker.shared.ts", + "tsconfig.base.json", + "tsconfig.node.json", + "commitlint.config.ts", + ".lintstagedrc.js", + "flake.nix", + "flake.lock", + "scripts/**" + ], "globalPassThroughEnv": [ "XDG_CACHE_HOME", "SANDBOX", @@ -55,7 +66,9 @@ "dependsOn": [ "^build", "build", - "generate" + "generate", + "//#typecheck:node", + "test:types" ], "cache": true }, @@ -82,6 +95,21 @@ "outputs": [], "cache": true }, + "//#format:check": { + "outputLogs": "errors-only", + "inputs": [ + "$TURBO_DEFAULT$", + "$TURBO_ROOT$/dprint.json", + "$TURBO_ROOT$/**/*.{ts,tsx,js,jsx,mjs,cjs,json,jsonc,md,toml,yaml,yml}", + "!$TURBO_ROOT$/**/node_modules/**", + "!$TURBO_ROOT$/**/dist/**", + "!$TURBO_ROOT$/coverage/**", + "!$TURBO_ROOT$/reports/**", + "!$TURBO_ROOT$/repos/**" + ], + "outputs": [], + "cache": true + }, "//#lint:suppressions": { "outputLogs": "errors-only", "cache": false @@ -100,7 +128,8 @@ "outputLogs": "new-only", "dependsOn": [ "^build", - "build" + "build", + "//#test:scripts" ], "outputs": [ "coverage/**" @@ -205,7 +234,10 @@ "dependsOn": [ "^build", "build", - "generate" + "generate", + "//#lint:suppressions", + "//#format:check", + "lint:tsgo" ], "env": [ "NODE_ENV",