diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index c218caf265..b31da6c011 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -207,7 +207,7 @@ jobs:
# present or enabled on the runner.
- uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0
with:
- version: 11.25.0
+ version: 11.28.7
run_install: false
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
@@ -316,7 +316,7 @@ jobs:
- uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0
with:
- version: 11.25.0
+ version: 11.28.7
run_install: false
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
@@ -392,7 +392,7 @@ jobs:
- uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0
with:
- version: 11.25.0
+ version: 11.28.7
run_install: false
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
@@ -455,7 +455,7 @@ jobs:
- uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0
with:
- version: 11.25.0
+ version: 11.28.7
run_install: false
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
@@ -509,7 +509,7 @@ jobs:
- uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0
with:
- version: 11.25.0
+ version: 11.28.7
run_install: false
# setup-node and setup-go include runner OS and architecture in their cache
@@ -574,7 +574,7 @@ jobs:
# present or enabled on the runner.
- uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0
with:
- version: 11.25.0
+ version: 11.28.7
run_install: false
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
@@ -1805,7 +1805,7 @@ jobs:
- uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0
with:
- version: 11.25.0
+ version: 11.28.7
run_install: false
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
diff --git a/.github/workflows/release-sdk-typescript.yml b/.github/workflows/release-sdk-typescript.yml
index f8c0e75e04..17239b0ca7 100644
--- a/.github/workflows/release-sdk-typescript.yml
+++ b/.github/workflows/release-sdk-typescript.yml
@@ -38,7 +38,7 @@ jobs:
- uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0
with:
- version: 11.25.0
+ version: 11.28.7
run_install: false
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
diff --git a/apps/Dockerfile b/apps/Dockerfile
index ac9474ab87..ef39148d29 100644
--- a/apps/Dockerfile
+++ b/apps/Dockerfile
@@ -12,7 +12,7 @@
# one commit, and a change spanning all three needs no intermediate SDK release.
#
# Shape (multi-stage):
-# 1. build — node:26-slim (Debian + shell + toolchain): pnpm 12.4.2 via
+# 1. build — node:26-slim (Debian + shell + toolchain): pnpm 12.15.0 via
# corepack (the `packageManager` pin in package.json; Node 25+
# no longer bundles corepack, so it is installed first), a frozen
# lockfile installs for SDK and Studio, `pnpm build` (contracts
diff --git a/apps/README.md b/apps/README.md
index 390c2390cb..625873cef1 100644
--- a/apps/README.md
+++ b/apps/README.md
@@ -13,13 +13,13 @@ product features, starting with chat. The published image is
`ghcr.io/stacklok/mecatl/studio`.
Mecatl Studio is a browser UI for a mecatl deployment, split in three packages that form
-one self-contained pnpm workspace (pnpm 12.4.2, Node 26, see `package.json`):
+one self-contained pnpm workspace (pnpm 12.15.0, Node 26, see `package.json`):
-| Package | What it is |
-| ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `server/` (`@mecatl-studio/server`) | A Hono **backend for frontend (BFF)**. Holds the user's mecatl credential, talks to the daemon through the checked-out `@stacklok-oss/mecatl-sdk`, serves the SPA and `/api` from one origin. |
-| `web/` (`@mecatl-studio/web`) | A Vite + React SPA. Calls only the BFF's `/api/v1`; imports neither the SDK nor daemon protocol types. |
-| `contracts/` (`@mecatl-studio/contracts`) | Zod schemas, the generated `openapi.json`, and the generated Hey API / TanStack Query client. Generated files are committed and drift-gated. |
+| Package | What it is |
+| ----------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `server/` (`@mecatl-studio/server`) | A Hono **backend for frontend (BFF)**. Holds the user's mecatl credential, talks to the daemon through the checked-out `@stacklok-oss/mecatl-sdk`, serves the SPA and `/api` from one origin. |
+| `web/` (`@mecatl-studio/web`) | A Vite + React SPA. Calls only the BFF's `/api/v1`; imports neither the SDK nor daemon protocol types. |
+| `contracts/` (`@mecatl-studio/contracts`) | Zod schemas, the generated `openapi.json`, and the generated Hey API / TanStack Query client. Generated files are committed and drift-gated. |
The architecture guide has a [Mecatl Studio](../docs/architecture/api-surface.md#mecatl-studio)
section.
@@ -27,7 +27,6 @@ section.
## Boundary
Studio is a consumer of Mecatl's public surface, not part of the Go build:
-
- **Checked-out SDK.** `server/` uses the repository's `sdk/typescript` through a
frozen `file:` dependency, so Studio, its SDK, and the daemon contract it targets
are built from one commit, and a change spanning all three lands without an
@@ -103,14 +102,14 @@ The BFF connects to a mecatl runtime in exactly one of three modes, chosen from
environment at startup (a conflicting combination exits non-zero before listening, naming
the offending variable):
-| Mode | Selected by | What happens |
-| ---------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
-| `external` | `MECATL_BASE_URL` | Connects to an existing mecatl gRPC listener. The only mode allowed inside the image. Interactive login is discovered from the deployment's RFC 9728 resource document. |
-| `spawn` | neither `MECATL_BASE_URL` nor `MECATL_DEV_MOCK` | Spawns a local `mecated` from `MECATED_BIN` or `PATH`. Development only; refused when `STUDIO_IMAGE=1`. |
-| `mock` | `MECATL_DEV_MOCK=1` | Spawns `mecated --mock` (offline, no model). Development only; refused when `STUDIO_IMAGE=1` or with `MECATL_BASE_URL`. |
+| Mode | Selected by | What happens |
+| ---------- | ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `external` | `MECATL_BASE_URL` | Connects to an existing mecatl gRPC listener. The only mode allowed inside the image. Interactive login is discovered from the deployment's RFC 9728 resource document. |
+| `spawn` | neither `MECATL_BASE_URL` nor `MECATL_DEV_MOCK` | Spawns a local `mecated` from `MECATED_BIN` or `PATH`. Development only; refused when `STUDIO_IMAGE=1`. |
+| `mock` | `MECATL_DEV_MOCK=1` | Spawns `mecated --mock` (offline, no model). Development only; refused when `STUDIO_IMAGE=1` or with `MECATL_BASE_URL`. |
-Authentication follows from the mode and the target: **interactive** (Authorization Code
-+ PKCE against the single issuer the resource document names), **static**
+Authentication follows from the mode and the target: **interactive** (Authorization
+Code + PKCE against the single issuer the resource document names), **static**
(`MECATL_AUTH_TOKEN`, one service identity for every browser), or **none** (the target has
no issuer, e.g. a local `mecated` with no auth). Static and none WARN at startup and are
reported as `mode: "static"` / `"none"`; inside the image they additionally require
@@ -128,12 +127,12 @@ only local development. All configuration is environment variables read once at
Variables that matter only for development:
-| Variable | Default | Meaning |
-| ----------------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------- |
-| `MECATL_DEV_MOCK` | unset | `1` only. Spawns `mecated --mock`. Rejected together with `MECATL_BASE_URL` and inside the image. |
-| `MECATED_BIN` | `PATH` lookup | Path of the `mecated` binary for spawn mode (`task studio:dev` sets it to `bin/mecated`). |
-| `STUDIO_HOST` | `127.0.0.1` outside the image | Listen address. The development server binds loopback only unless you set this. |
-| `STUDIO_WEB_DIST` | `../web/dist` relative to the server package | Directory holding the built SPA the BFF serves. The Dockerfile sets it for the image. |
+| Variable | Default | Meaning |
+| ----------------- | -------------------------------------------- | ------------------------------------------------------------------------------------------------- |
+| `MECATL_DEV_MOCK` | unset | `1` only. Spawns `mecated --mock`. Rejected together with `MECATL_BASE_URL` and inside the image. |
+| `MECATED_BIN` | `PATH` lookup | Path of the `mecated` binary for spawn mode (`task studio:dev` sets it to `bin/mecated`). |
+| `STUDIO_HOST` | `127.0.0.1` outside the image | Listen address. The development server binds loopback only unless you set this. |
+| `STUDIO_WEB_DIST` | `../web/dist` relative to the server package | Directory holding the built SPA the BFF serves. The Dockerfile sets it for the image. |
Any startup error exits non-zero before listening, with a stderr line naming the variable.
diff --git a/apps/Taskfile.yml b/apps/Taskfile.yml
index 7e88c99044..4f0f3fe6a9 100644
--- a/apps/Taskfile.yml
+++ b/apps/Taskfile.yml
@@ -3,7 +3,7 @@
# Taskfile for Mecatl Studio (apps/), included in the root Taskfile as `studio:`.
# The checked-out SDK is compiled before pnpm installs the BFF's local file
# dependency; the browser never imports SDK sources.
-version: '3'
+version: "3"
tasks:
install:
@@ -116,7 +116,7 @@ tasks:
`task build` from the repository root first (for bin/mecated).
deps: [install]
env:
- MECATED_BIN: '{{.TASKFILE_DIR}}/../bin/mecated'
+ MECATED_BIN: "{{.TASKFILE_DIR}}/../bin/mecated"
cmds:
- cmd: |
test -x "$MECATED_BIN" || {
diff --git a/apps/biome.json b/apps/biome.json
index 83483bb073..17e363d5f5 100644
--- a/apps/biome.json
+++ b/apps/biome.json
@@ -1,10 +1,11 @@
{
- "$schema": "https://biomejs.dev/schemas/2.5.14/schema.json",
+ "$schema": "https://biomejs.dev/schemas/2.6.2/schema.json",
"files": {
"includes": [
"**",
"!**/dist",
"!**/node_modules",
+ "!pnpm-lock.yaml",
"!web/src/routeTree.gen.ts",
"!contracts/openapi.json",
"!contracts/src/generated"
diff --git a/apps/contracts/package.json b/apps/contracts/package.json
index a3f381ac3b..72a1a0eb4b 100644
--- a/apps/contracts/package.json
+++ b/apps/contracts/package.json
@@ -17,7 +17,7 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
- "@tanstack/react-query": "5.104.4",
+ "@tanstack/react-query": "5.104.5",
"zod": "4.6.7"
},
"devDependencies": {
diff --git a/apps/package.json b/apps/package.json
index 9ac7846690..edffd7e5d5 100644
--- a/apps/package.json
+++ b/apps/package.json
@@ -7,7 +7,7 @@
"engines": {
"node": ">=26 <27"
},
- "packageManager": "pnpm@12.4.2",
+ "packageManager": "pnpm@12.15.0",
"scripts": {
"build": "pnpm generate && pnpm -r --if-present run build",
"check": "biome check . && pnpm typecheck && pnpm test && pnpm generated:check",
@@ -20,7 +20,7 @@
"typecheck": "pnpm -r --if-present run typecheck"
},
"devDependencies": {
- "@biomejs/biome": "2.5.15",
+ "@biomejs/biome": "2.6.2",
"@playwright/test": "1.64.1",
"@types/node": "26.6.5",
"typescript": "6.0.3"
diff --git a/apps/pnpm-lock.yaml b/apps/pnpm-lock.yaml
index c00b8dabef..a6c927ee8f 100644
--- a/apps/pnpm-lock.yaml
+++ b/apps/pnpm-lock.yaml
@@ -7,153 +7,153 @@ importers:
configDependencies: {}
packageManagerDependencies:
pnpm:
- specifier: 12.4.2
- version: 12.4.2
+ specifier: 12.15.0
+ version: 12.15.0
packages:
- '@pnpm/exe.android-arm64@12.4.2':
- resolution: {integrity: sha512-E255MbcQ0V1577M2BV0ajWuP7KmTPYA0jqZnk3rK6Lq3kTvZWulMMb7iqRmnLsQbyWTkMEB2CfyM70loVDA8xg==}
+ '@pnpm/exe.android-arm64@12.15.0':
+ resolution: {integrity: sha512-eVCqmscY70LGvgRzu3mi8IBWBFGix+a6mNZoWmXxESsBdeiKEF9xQSuaeel10yn+zI7TXy2jlI63vFLzETk+aQ==}
cpu: [arm64]
os: [android]
- '@pnpm/exe.android-x64@12.4.2':
- resolution: {integrity: sha512-J1pSeCUwuKxMG70ZzpWn8JzElxiEa8NN/3N0SlZRtU2xbztChaJCKF3HaBNIj9yPfeofWzJo/lwNvDDjraQuZw==}
+ '@pnpm/exe.android-x64@12.15.0':
+ resolution: {integrity: sha512-Gx/WbkFcdUFUg8g8AShezcS9EiQxfYvdAm2hfKLO8sfJmJvKOCt5fzlgHWDzmGhoclibgW+tUGZ/KF4F4wOTCA==}
cpu: [x64]
os: [android]
- '@pnpm/exe.darwin-arm64@12.4.2':
- resolution: {integrity: sha512-A0WDo8iErfZBXgrLseQxw8i8Y9ctUpOEl/Uu+cubnTzpD8tT9ykIB548L8YTM2WD4OS+ZOHSxy8aGZcvKq8PaQ==}
+ '@pnpm/exe.darwin-arm64@12.15.0':
+ resolution: {integrity: sha512-N0ZykiDWCvqSBJvt71j7cSoBR993FqvYZFtmpCtqvW3pguiI+NAgraLPA5OTwu5mV+/d8hYpVcPktJA3xFDLtA==}
cpu: [arm64]
os: [darwin]
- '@pnpm/exe.darwin-x64@12.4.2':
- resolution: {integrity: sha512-MSgJdovBWHcb5DEOvfPH9yNi/T5O1Xa4ess+E1ESGo/5yuty7S4JoiIjami+fsNXfnoQMlwsMUqYU4zAvBcNCw==}
+ '@pnpm/exe.darwin-x64@12.15.0':
+ resolution: {integrity: sha512-7Ntr2HlBUxzwWOg7NwDxCbRW/3vXuqKO+hcXm+w3SBi9rrHY53li1wLqWVT7Gjxd+lVEHM1QJZo6WJEGFU8C6A==}
cpu: [x64]
os: [darwin]
- '@pnpm/exe.freebsd-x64@12.4.2':
- resolution: {integrity: sha512-h2YumlQSNvgbRPv+RXwABohX65f9bOBZn+jMIt7bFDISZPCzQ+Nvpt6Awbp4ip5PwQgYxbu5iREJ1fHE39Fm8A==}
+ '@pnpm/exe.freebsd-x64@12.15.0':
+ resolution: {integrity: sha512-btOiyL7fL7W4uQGH0aqFai2TNC3IoKcZ7gNHBVbEFZt2dWrnrD0SufL3iGs3fLlmb4OtuU35uf4Zpr9V9Jh9mA==}
cpu: [x64]
os: [freebsd]
- '@pnpm/exe.linux-arm64-musl@12.4.2':
- resolution: {integrity: sha512-LwSEtSEDTv6S51YLs3YvSkPyun/QmfMic1UGICUkPWFu6ByP43RdMlkKvmVkfGhAYCpnxO057vrmyJqtfZrPCA==}
+ '@pnpm/exe.linux-arm64-musl@12.15.0':
+ resolution: {integrity: sha512-pNC38k+O+90FOjbPNSnw0E7apq1PKTmz3fFe1amn+lys/U5kL++uzir8bRiho8ONcyA3d9EU7wdqcY0DKkj+JA==}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@pnpm/exe.linux-arm64@12.4.2':
- resolution: {integrity: sha512-2dSiDXyhx+RTHsewxex8f/jVjqQXWJ2oow4kCVHEWdZKeBpgMxvZ6fHkTAUBJXgqhbKIDHvuNlZBP7gJfUWL5A==}
+ '@pnpm/exe.linux-arm64@12.15.0':
+ resolution: {integrity: sha512-qML/8aCXslh8td/w4U+HJNqUcZ2+m6EfTbWScIzZRmyPsRFN+xB4LP1U/hymxc1iSJiKtG56HJx2fvUErWFIGw==}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-ppc64@12.4.2':
- resolution: {integrity: sha512-8Itc+jQk+MTz04LS9D1RcH+VctAWmzM4l1cJQ+Sx7pAJNo7EKHdRMbC0Tok1jyQ7eEHNJZD5EleYneZqWfZM+g==}
+ '@pnpm/exe.linux-ppc64@12.15.0':
+ resolution: {integrity: sha512-tjRDUUl7RCJ6T/6eoNPxOqkwU4Mzi5RtTXmSAxujyz37OTwwsMU7Ps087Zk4gHcUvRSeyF40ZFsew3vtE+nmUA==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-riscv64@12.4.2':
- resolution: {integrity: sha512-hleOeqhTVpH+z9RVMGnxvU4ZnrkBUClWjCbHD9u6kwyqhGSpevoU1wTGish+CBRhmIgMAy9pAfFpqhbAKOKNfw==}
+ '@pnpm/exe.linux-riscv64@12.15.0':
+ resolution: {integrity: sha512-bF1uBWEfbwaeryz6lIiaJ8AWD082otZfvzGX5l+6LZRpRwUEpJHUsJrORaYP5/cNMv5ZR2p6TvvcJcQzwtDzmw==}
cpu: [riscv64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-s390x@12.4.2':
- resolution: {integrity: sha512-LAsQRRdP9aToENR6dtcIJ9l+e1zMYOX0tQcLGpRyLPVBQcYRLlvAPcmDshsiIHQjp05SDa9FI0czX1ZQ1a7a/A==}
+ '@pnpm/exe.linux-s390x@12.15.0':
+ resolution: {integrity: sha512-zKMhIzsexYMToeLmqV5jPsvV/f9vwsJb2kUH2NFYzalbxImeBrlA4kL7GwF8gD4pagV6jYYcJb8RjbZIdjHptg==}
cpu: [s390x]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-x64-musl@12.4.2':
- resolution: {integrity: sha512-kzfzH2/0BWdTABK14Yj5a1xsdkTEQUp2eXEPNakaD9jKL025lq3hyaKHIz/gIZaPDMe/1bFFK/En4ztFlbBJxw==}
+ '@pnpm/exe.linux-x64-musl@12.15.0':
+ resolution: {integrity: sha512-A9J0Jg0Rdx+qQU4qXtwyST5tto9IOu1zi4fDk35nbc6DWahggbcKtFvZPKFwL2qgUXGXOX//hXv6z/sp6emO8A==}
cpu: [x64]
os: [linux]
libc: [musl]
- '@pnpm/exe.linux-x64@12.4.2':
- resolution: {integrity: sha512-/pbt0UVTa8NMDhzOWLQRfZ6G9ROKXlJPZtx845BqyWfc7hCrWXhTLBd70yO2y8+E+IWN3oHM1s/JsIQNGk1yvg==}
+ '@pnpm/exe.linux-x64@12.15.0':
+ resolution: {integrity: sha512-yc+QlZR+9+nr29J4fRzhMoapgxTBDndq/+peyoq1XUufnQFnfbXUMFudDIKzHi545linGqmOmXfn0NoufNgcOg==}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.win32-arm64@12.4.2':
- resolution: {integrity: sha512-PsW19e4dAUNpZ0cS9flaxFuAmpt2dKlH/Vvi8TZ4qyJjjQzue/CEsWm+6wKVP4CJ7IT8RdL4qh+soOPWIgF2Zw==}
+ '@pnpm/exe.win32-arm64@12.15.0':
+ resolution: {integrity: sha512-fPXZxuY1VclkOga9bc53qNCXcegfeoBR8+Ue+AospDwKzuGGSHll0oDxkLfkmpjyRqpe7bH5DyQPYp/xSMaIVA==}
cpu: [arm64]
os: [win32]
- '@pnpm/exe.win32-x64@12.4.2':
- resolution: {integrity: sha512-+xGoeE0g55ztWvl8i5QqdmNfW3nIrTVcoQrNshEOwxthm9Ag48oXton3uxOA3/SANyz5AXexEjj2KO20NnOrEw==}
+ '@pnpm/exe.win32-x64@12.15.0':
+ resolution: {integrity: sha512-nrd+Tp1We1DGj4DGG5Bea9lZNh9y1PjlLBdEwdInS4D0h0UIDtM7JaGGGDJhNzIwcHASyihWI7HLV+dtG+fhYg==}
cpu: [x64]
os: [win32]
- pnpm@12.4.2:
- resolution: {integrity: sha512-CK3GYTGAJ1x8ntraOdzwjJxhrU5+rzMKTzRh8QKw+QdCNFTRF/mOctR/7wYWBwZE17/8lzpqV/UJCm18NosHyQ==}
- engines: {node: '>=18.*'}
+ pnpm@12.15.0:
+ resolution: {integrity: sha512-s5UdbW/0qfE9x89WzSjSuOs328ycaOUuHhGRhz6p+CoBcoerULqtxczElPA2xnwOR+sTYIwvo29HcRth6hKOYQ==}
+ engines: {node: '>=18'}
hasBin: true
snapshots:
- '@pnpm/exe.android-arm64@12.4.2':
+ '@pnpm/exe.android-arm64@12.15.0':
optional: true
- '@pnpm/exe.android-x64@12.4.2':
+ '@pnpm/exe.android-x64@12.15.0':
optional: true
- '@pnpm/exe.darwin-arm64@12.4.2':
+ '@pnpm/exe.darwin-arm64@12.15.0':
optional: true
- '@pnpm/exe.darwin-x64@12.4.2':
+ '@pnpm/exe.darwin-x64@12.15.0':
optional: true
- '@pnpm/exe.freebsd-x64@12.4.2':
+ '@pnpm/exe.freebsd-x64@12.15.0':
optional: true
- '@pnpm/exe.linux-arm64-musl@12.4.2':
+ '@pnpm/exe.linux-arm64-musl@12.15.0':
optional: true
- '@pnpm/exe.linux-arm64@12.4.2':
+ '@pnpm/exe.linux-arm64@12.15.0':
optional: true
- '@pnpm/exe.linux-ppc64@12.4.2':
+ '@pnpm/exe.linux-ppc64@12.15.0':
optional: true
- '@pnpm/exe.linux-riscv64@12.4.2':
+ '@pnpm/exe.linux-riscv64@12.15.0':
optional: true
- '@pnpm/exe.linux-s390x@12.4.2':
+ '@pnpm/exe.linux-s390x@12.15.0':
optional: true
- '@pnpm/exe.linux-x64-musl@12.4.2':
+ '@pnpm/exe.linux-x64-musl@12.15.0':
optional: true
- '@pnpm/exe.linux-x64@12.4.2':
+ '@pnpm/exe.linux-x64@12.15.0':
optional: true
- '@pnpm/exe.win32-arm64@12.4.2':
+ '@pnpm/exe.win32-arm64@12.15.0':
optional: true
- '@pnpm/exe.win32-x64@12.4.2':
+ '@pnpm/exe.win32-x64@12.15.0':
optional: true
- pnpm@12.4.2:
+ pnpm@12.15.0:
optionalDependencies:
- '@pnpm/exe.android-arm64': 12.4.2
- '@pnpm/exe.android-x64': 12.4.2
- '@pnpm/exe.darwin-arm64': 12.4.2
- '@pnpm/exe.darwin-x64': 12.4.2
- '@pnpm/exe.freebsd-x64': 12.4.2
- '@pnpm/exe.linux-arm64': 12.4.2
- '@pnpm/exe.linux-arm64-musl': 12.4.2
- '@pnpm/exe.linux-ppc64': 12.4.2
- '@pnpm/exe.linux-riscv64': 12.4.2
- '@pnpm/exe.linux-s390x': 12.4.2
- '@pnpm/exe.linux-x64': 12.4.2
- '@pnpm/exe.linux-x64-musl': 12.4.2
- '@pnpm/exe.win32-arm64': 12.4.2
- '@pnpm/exe.win32-x64': 12.4.2
+ '@pnpm/exe.android-arm64': 12.15.0
+ '@pnpm/exe.android-x64': 12.15.0
+ '@pnpm/exe.darwin-arm64': 12.15.0
+ '@pnpm/exe.darwin-x64': 12.15.0
+ '@pnpm/exe.freebsd-x64': 12.15.0
+ '@pnpm/exe.linux-arm64': 12.15.0
+ '@pnpm/exe.linux-arm64-musl': 12.15.0
+ '@pnpm/exe.linux-ppc64': 12.15.0
+ '@pnpm/exe.linux-riscv64': 12.15.0
+ '@pnpm/exe.linux-s390x': 12.15.0
+ '@pnpm/exe.linux-x64': 12.15.0
+ '@pnpm/exe.linux-x64-musl': 12.15.0
+ '@pnpm/exe.win32-arm64': 12.15.0
+ '@pnpm/exe.win32-x64': 12.15.0
---
lockfileVersion: '9.0'
@@ -167,8 +167,8 @@ importers:
.:
devDependencies:
'@biomejs/biome':
- specifier: 2.5.15
- version: 2.5.15
+ specifier: 2.6.2
+ version: 2.6.2
'@playwright/test':
specifier: 1.64.1
version: 1.64.1
@@ -182,8 +182,8 @@ importers:
contracts:
dependencies:
'@tanstack/react-query':
- specifier: 5.104.4
- version: 5.104.4(@types/react@19.3.0)(react@19.3.1)
+ specifier: 5.104.5
+ version: 5.104.5(@types/react@19.3.0)(react@19.3.1)
zod:
specifier: 4.6.7
version: 4.6.7
@@ -233,7 +233,7 @@ importers:
version: 6.0.3
vitest:
specifier: 5.0.5
- version: 5.0.5(@types/node@26.6.5)(happy-dom@20.14.5)(jsdom@30.1.1)(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))
+ version: 5.0.5(@types/node@26.6.5)(happy-dom@21.0.4)(jsdom@30.1.1)(vite@8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))
web:
dependencies:
@@ -304,8 +304,8 @@ importers:
specifier: 1.4.1
version: 1.4.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)
'@tanstack/react-query':
- specifier: 5.104.4
- version: 5.104.4(@types/react@19.3.0)(react@19.3.1)
+ specifier: 5.104.5
+ version: 5.104.5(@types/react@19.3.0)(react@19.3.1)
'@tanstack/react-router':
specifier: 1.170.45
version: 1.170.45(react-dom@19.3.1(react@19.3.1))(react@19.3.1)
@@ -319,11 +319,11 @@ importers:
specifier: 1.1.1
version: 1.1.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)
cronstrue:
- specifier: 3.33.0
- version: 3.33.0
+ specifier: 3.38.0
+ version: 3.38.0
lucide-react:
- specifier: 1.59.0
- version: 1.59.0(@types/react@19.3.0)(react@19.3.1)
+ specifier: 1.61.0
+ version: 1.61.0(@types/react@19.3.0)(react@19.3.1)
react:
specifier: 19.3.1
version: 19.3.1
@@ -348,13 +348,13 @@ importers:
devDependencies:
'@tailwindcss/vite':
specifier: 4.3.3
- version: 4.3.3(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.1))
+ version: 4.3.3(vite@8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))
'@tanstack/router-cli':
specifier: 1.167.45
version: 1.167.45
'@tanstack/router-plugin':
specifier: 1.168.47
- version: 1.168.47(@tanstack/react-router@1.170.45(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(esbuild@0.28.2)(rolldown@1.2.9)(rollup@4.63.4)(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.1))
+ version: 1.168.47(@tanstack/react-router@1.170.45(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(esbuild@0.28.2)(rolldown@1.2.14)(rollup@4.63.4)(vite@8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))
'@testing-library/react':
specifier: 16.3.3
version: 16.3.3(@testing-library/dom@10.4.2)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)
@@ -369,7 +369,7 @@ importers:
version: 19.3.0(@types/react@19.3.0)
'@vitejs/plugin-react':
specifier: 6.1.2
- version: 6.1.2(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.1))
+ version: 6.1.2(vite@8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))
happy-dom:
specifier: 21.0.4
version: 21.0.4
@@ -380,11 +380,11 @@ importers:
specifier: 6.0.3
version: 6.0.3
vite:
- specifier: 8.3.4
- version: 8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.1)
+ specifier: 8.3.5
+ version: 8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)
vitest:
specifier: 5.0.5
- version: 5.0.5(@types/node@26.6.5)(happy-dom@21.0.4)(jsdom@30.1.1)(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.1))
+ version: 5.0.5(@types/node@26.6.5)(happy-dom@21.0.4)(jsdom@30.1.1)(vite@8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))
packages:
@@ -472,59 +472,71 @@ packages:
resolution: {integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==}
engines: {node: '>=6.9.0'}
- '@biomejs/biome@2.5.15':
- resolution: {integrity: sha512-WZTW4slm/pdkh92K6t/3aEN++44JD1PQ7squ7RCMLI1flHGl43DVOIGXvCjHiZgBMO1V4uYxoFNtqrIA4qGuIQ==}
+ '@biomejs/biome@2.6.2':
+ resolution: {integrity: sha512-JLTFAFF9vfJcWwLhwuL4ZHflLg+XfTEC4IUnAlJRX1cMRt57++Xd1Ysb9Fdmlh9YUrvyCXfPEHjjEIqKJGdPKw==}
engines: {node: '>=14.21.3'}
hasBin: true
- '@biomejs/cli-darwin-arm64@2.5.15':
- resolution: {integrity: sha512-BZVzFhJ/mUvTLMYbc9x6el0o2Uv5zP7bACYyhFb6fSc1giroXm7PL0a5KqMJ9F+/BnkYRjagD/ROSDVOZ6eapg==}
+ '@biomejs/cli-android-arm64@2.6.2':
+ resolution: {integrity: sha512-dMpdpH7zFEL5FxuIA9LJW+RoNyC3oeDB7PJyjqVVwtMNoKB5uo8OZYmrVSBikn71txzYwy/3xga7UME6bJQZ6A==}
+ engines: {node: '>=14.21.3'}
+ cpu: [arm64]
+ os: [android]
+
+ '@biomejs/cli-android-x64@2.6.2':
+ resolution: {integrity: sha512-XCwEhPBGYzuRA502dRkCcQ+5cefQwuxQR7f9wa4do92dvIcuBL6VMLMFB/fL9hlpZ4dGSfHdpGFSIDlp52mg0A==}
+ engines: {node: '>=14.21.3'}
+ cpu: [x64]
+ os: [android]
+
+ '@biomejs/cli-darwin-arm64@2.6.2':
+ resolution: {integrity: sha512-rpXtabRgyZNz3aCjd/cRoSZGYi92R9eAXdUUe1sigIsRDyfMwgThaa98Yxt1fiZ7mxquqkAyIHIo08N/e1ToBA==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [darwin]
- '@biomejs/cli-darwin-x64@2.5.15':
- resolution: {integrity: sha512-V5Kw63V+fVGNFhFrizDxMbGXAzZCh8kYzJpy3GI6gTapWDg7bZK9oYC9CbVgQSEdTnupz0U5Efz8Ev+5vdBBXw==}
+ '@biomejs/cli-darwin-x64@2.6.2':
+ resolution: {integrity: sha512-7GGzlm1GxUKoQ9CNV8tQZ+XXad4sz+v+uzNsWlhaGjsnZqUOVBw1OmAMpG3uNV/Mr0UrCpRJvSK0qvfuqSQOjg==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [darwin]
- '@biomejs/cli-linux-arm64-musl@2.5.15':
- resolution: {integrity: sha512-tGzZUTcJCV7tj5Adh/Gn6nR4MycqA3iohq2LEcrarAgRBkU0h0OKd2UzCRkOsOYOuUGaUJb4YmqRqyy2feGGSw==}
+ '@biomejs/cli-linux-arm64-musl@2.6.2':
+ resolution: {integrity: sha512-I+FYCLVSmR3cYfKcQ+KNeLOZ5w0wRd9fQFlw3JbSvy7bkegvTqdHaBRRcJzHQB/1ldldTLIcG21ka6X2cTWmJw==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@biomejs/cli-linux-arm64@2.5.15':
- resolution: {integrity: sha512-XaG7P7eeSLYETD3K9grfB0mQmpLQZjygdbsxekWBJAg4am79fGAtRpfRyNnTvXB2fZFNnJZG3nXm7HBat0+VUw==}
+ '@biomejs/cli-linux-arm64@2.6.2':
+ resolution: {integrity: sha512-Qs4CofCE8MdkjZFfEjswh2NAcbyQ7IVYtGSzQBvLqFlla/CSXroGbktUFndWG/kVSTywadauzAspYWtSfqAc2g==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@biomejs/cli-linux-x64-musl@2.5.15':
- resolution: {integrity: sha512-IlxUcyxilVGPsE008x13pWdkTbU3nQpP2i9b5UrbOYj6goBkKsRX1XB7yJLcV+O1H9LBchIIm4adOaVLZBX0ZQ==}
+ '@biomejs/cli-linux-x64-musl@2.6.2':
+ resolution: {integrity: sha512-wnjEXAK2pDd2j8r9gKI3L+44sIxjkYzS5aHmD1+K57RNJ3sFyT4n22NH6QFPqqeVdRBxN54H3kckUUCrFKCcJw==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [linux]
libc: [musl]
- '@biomejs/cli-linux-x64@2.5.15':
- resolution: {integrity: sha512-xE4iEW/3LqlYj9GFgGrFsFSH51dEEpUbYWBfeOv0q87WkUDxK2o/HhreSb7qMJqck70RVM6Lg96hgedcAYcOkA==}
+ '@biomejs/cli-linux-x64@2.6.2':
+ resolution: {integrity: sha512-FJKsb95418139xDdbv9XnNJsIIwvsgR21Of0aE9B9U+nQlOtRq5gJl2ps0jZUmYBxTaOlP9BKo8N+Ff8+Rui1g==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@biomejs/cli-win32-arm64@2.5.15':
- resolution: {integrity: sha512-2kPKzhNlm8C+Ru3GcO0Me2ODkCBLrVOUNuyi84RJyWDVKAA4+Kjj3jMjL938lF6BRfvltC4vB2nPY9SvN51Ovg==}
+ '@biomejs/cli-win32-arm64@2.6.2':
+ resolution: {integrity: sha512-/PEOo6evlgrQOfKhMNtC/4Gk8ai3hySXXEtjUzCqZe/4iAbMdqelpp7qvZEDyLxlZS+BjOMQFpq2gXI/BPaAqw==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [win32]
- '@biomejs/cli-win32-x64@2.5.15':
- resolution: {integrity: sha512-yAzh4UqEImV6Hcy0zjUqNfJAsUhoD64FBQCdTG8Md/Z2wQeVP/ZmJ3XRYAs1g8J9fjTFyl2fCtc5FB5til47+g==}
+ '@biomejs/cli-win32-x64@2.6.2':
+ resolution: {integrity: sha512-FVlWD+mDDz8nN5LWKRWUhhb7wKIK0VE3oXQvQBX7Fwwj00CvqMVhMyiz1iz8O5aZGmnkhFlKSwJPrUvMh5prQw==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [win32]
@@ -844,9 +856,6 @@ packages:
os: [linux]
libc: [glibc]
- '@oxc-project/types@0.150.0':
- resolution: {integrity: sha512-rDS5/31E9HfPl/CIzGrn0DOlvBbXFseQ5URJ9sYMfstbKLD/c6Gm9vmRzRGDdAXyOIL4zmO37lc9RIwYqVruZw==}
-
'@oxc-project/types@0.154.0':
resolution: {integrity: sha512-KYOUGQFlLWR+s4QMV2Q9ko38TZm7EdO87Qm7rvZLqk/webse/cDjtyxKhg/47l0byCbs/k46LT8qc4PKjAikzA==}
@@ -1386,72 +1395,36 @@ packages:
cpu: [arm]
os: [android]
- '@rolldown/binding-android-arm-eabi@1.2.9':
- resolution: {integrity: sha512-tNISae1QEf/vkb3xkRcjV5SEdzPE97We5IVaa2Z8jSszQPZ8U60B/YCYpw4QI7VidYsBtKavczXf+DyDs9WGxw==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm]
- os: [android]
-
'@rolldown/binding-android-arm64@1.2.14':
resolution: {integrity: sha512-QiVxHofl6A8lQU7WAtOUY4QMVZXohxwz7WJJoeh8NBEUyKfIkMRKhYyq8az/1RypNiIXzNTtiS6KwHz0erxYRQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [android]
- '@rolldown/binding-android-arm64@1.2.9':
- resolution: {integrity: sha512-YC8YsI30o606GTZi0VyzYlsDKFP8W61i/QzayHDkLbNEz/IShqAmTa+hsJRj13xTHA0H+6fk4b2UmGn+Q/cMlg==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [android]
-
'@rolldown/binding-darwin-arm64@1.2.14':
resolution: {integrity: sha512-lTQOzHuBIooh3jIr5XINQkjPGEuGy+Dsy0meXDr6Sjty0b99kYgGh4uBC/8mJX1T0kC8d6S0aPP1Y+bHkh6aBw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [darwin]
- '@rolldown/binding-darwin-arm64@1.2.9':
- resolution: {integrity: sha512-IwhlH3qK5urrY8hZiEgGkHKEFN901p/p2bjxCxJlr4GyNnF7wYpUvK+Y43uaRYuC4hpfjzbR3SJC3arX1jGvmw==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [darwin]
-
'@rolldown/binding-darwin-x64@1.2.14':
resolution: {integrity: sha512-hyMKEGatjmBYCs/Q4sbIcL/GqpFEqsX3wc+HYVQ/85A4rxc1o7rPm4DUI4GV4k/h0ITddwFSGpqQunI14GXjTA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [darwin]
- '@rolldown/binding-darwin-x64@1.2.9':
- resolution: {integrity: sha512-XxpJfVzFh+jilRxIXUqcfYAYcunIc/XEzIizsOL1fcJee5Sf7H3mH8WlLmfHfluz5amqR88QQo9izKtmMlavAw==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [darwin]
-
'@rolldown/binding-freebsd-x64@1.2.14':
resolution: {integrity: sha512-u371GbXoVXrEgP20PwzoGNOdAOqAMhzo19JzzY+V4YmmnC+DTOoqdbMu+O+54emM59Mik/UdrtWgcuEDKWRPKA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [freebsd]
- '@rolldown/binding-freebsd-x64@1.2.9':
- resolution: {integrity: sha512-kSfvhmgeWyfkbT3p/1s5vSgboogoah2zkm9fX2zjg2hHxSV7T4KhMWRUUaRk4OXNqoD3QAUeRqLcs1aZOK4U1g==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [freebsd]
-
'@rolldown/binding-linux-arm-gnueabihf@1.2.14':
resolution: {integrity: sha512-BqwKsdZQf6EqVWr8fv2MrDYzAvOZ7+NYFSJESRGs87fkseEhs0TU9TXgRJTkZoRRkxTizyEg1LKUXfU3/78uqg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
- '@rolldown/binding-linux-arm-gnueabihf@1.2.9':
- resolution: {integrity: sha512-1RVzG17pxqbTfYLC352JlLt6kKLG+6Hr30n8DlIJqsnV5luUDd2Qdx9Ayw1Cabfyb1K9k0jXEZ7evxkRoT+uiw==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm]
- os: [linux]
-
'@rolldown/binding-linux-arm64-gnu@1.2.14':
resolution: {integrity: sha512-SD9kY8M009x/7s57Z1dgUVlP5+uYBgKQK0Tkr1WIWngrtUJmRCW1RJFMY7QDla2khXhmg2i5Io7MUjcmZNZ/KQ==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1459,13 +1432,6 @@ packages:
os: [linux]
libc: [glibc]
- '@rolldown/binding-linux-arm64-gnu@1.2.9':
- resolution: {integrity: sha512-BXqPvZ2drqVD+/Z8UpKwcs4Mp7grM+eGFku4CAEKrEtcbAsUpzREphK1sogCRZGreVPiMkiiBtw0n3TPteuqvw==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [linux]
- libc: [glibc]
-
'@rolldown/binding-linux-arm64-musl@1.2.14':
resolution: {integrity: sha512-BJ2CL19M6uuWesMgnqJzgxoI+N+eV7b0A9O9vLV42y+gitC41fNa8KElau1tHVzuLWX5GzEuxMPhAO0tQXQMkg==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1473,13 +1439,6 @@ packages:
os: [linux]
libc: [musl]
- '@rolldown/binding-linux-arm64-musl@1.2.9':
- resolution: {integrity: sha512-11vWvo8YDwLzukt27J3aYDWU+gg2P7J+ZOmiJ0hkF5BXZDW7pVya7r40MXDy6ya0i9KamoENSVKIugvJNgFXIA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [linux]
- libc: [musl]
-
'@rolldown/binding-linux-ppc64-gnu@1.2.14':
resolution: {integrity: sha512-4+Kl8daPV8NDHaD7mfCcc1pRM+Qg7ab8DyMm5FG5WoZgv4h2i3KFN1CybYBNbQqmuYm7ftJLvmMI1eHYJ22S/Q==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1487,13 +1446,6 @@ packages:
os: [linux]
libc: [glibc]
- '@rolldown/binding-linux-ppc64-gnu@1.2.9':
- resolution: {integrity: sha512-a1tijMkdwsIARtc0F39ApURROkf3NwqinI6TOiSSWCTR7dT96dffNvMUtDHnq64wKNTIZOIlzKrFvvFUznJiyw==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [ppc64]
- os: [linux]
- libc: [glibc]
-
'@rolldown/binding-linux-s390x-gnu@1.2.14':
resolution: {integrity: sha512-V/h8ePq1fKDrmtFMz6xcCN3DKvuvMRrwwD1q0PkBeeo4DpK64biaKvqWGVxqCeYKqeRk7gE7/iKPxLCn08O97A==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1501,13 +1453,6 @@ packages:
os: [linux]
libc: [glibc]
- '@rolldown/binding-linux-s390x-gnu@1.2.9':
- resolution: {integrity: sha512-x6SQNdAvv4c3hWqTMaWuawzMX9myaCs/yEmlGsxJzkdClnHW7FbrjQuSiRDhuSYzEYoEMhsaJy9qHG/XNemJPQ==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [s390x]
- os: [linux]
- libc: [glibc]
-
'@rolldown/binding-linux-x64-gnu@1.2.14':
resolution: {integrity: sha512-WxalXzgrLVpKC93xfpaJ3gCXUWzeCr+FRCbDVD2mUAy4L6Vo3lNVz0epUEUpxPWJkLNYUwM4OSIikv36OJ9mLg==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1515,13 +1460,6 @@ packages:
os: [linux]
libc: [glibc]
- '@rolldown/binding-linux-x64-gnu@1.2.9':
- resolution: {integrity: sha512-9s0AZ8BFK5/n7B/TBoa2yJE3gI3KURrbXcPBlsAsvjU4VeJKgE90y1YtNxyEUIcHPQkg6/yfF3qihUrcM/Kf0Q==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [linux]
- libc: [glibc]
-
'@rolldown/binding-linux-x64-musl@1.2.14':
resolution: {integrity: sha512-3G3tnAmTpdk9jO3GQtyHXqeFD2SlecfTws/Y3M2mmj9nMBwwuLT4kur8sZKeu7ENUHSpVO3cIsm5A52LEWWwlg==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1529,49 +1467,24 @@ packages:
os: [linux]
libc: [musl]
- '@rolldown/binding-linux-x64-musl@1.2.9':
- resolution: {integrity: sha512-P7VWAmV+WdJluH7ovnRGoiv2i8To7GAZ+kGzfGup635cyL7SyYl3lSUaA3Gp5THf0n/Co5EyEqb2zbqq+nMOHQ==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [linux]
- libc: [musl]
-
'@rolldown/binding-openharmony-arm64@1.2.14':
resolution: {integrity: sha512-qyr5XiNGxm2ytx17vvtcJ9nXn6v1gENETi503bJx3OGwZ1tSonj7BosxbMa/xeAfSl5iS9X6KjEWYXLu6v1L7Q==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [openharmony]
- '@rolldown/binding-openharmony-arm64@1.2.9':
- resolution: {integrity: sha512-1qixtsE4BK8h+yS3BfmZ09UhA7O/N4IACva6YBr7EBvCJraByTuRcgOTaiA62Tm0vey3UcKXLOaoGHtYmNGEVg==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [openharmony]
-
'@rolldown/binding-win32-arm64-msvc@1.2.14':
resolution: {integrity: sha512-oA4o5o0S2yB199YyYXDzKUv1Z56Rc+mgOjwm7Z/vJ9Z8igiDPYvoOuDyo6g7AK/ZaF09nPhDKVnGBcYHO11GXA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [win32]
- '@rolldown/binding-win32-arm64-msvc@1.2.9':
- resolution: {integrity: sha512-ok8IQjcEPs1AKZfuEUznVBrJw+gK4soq+bx8b1X2XoMqVClarc1q5JDmVtWXY1xfr6ZuHTAsPXHTgTrqKTZeww==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [win32]
-
'@rolldown/binding-win32-x64-msvc@1.2.14':
resolution: {integrity: sha512-9mE94bf2GZUaR/fUSXCMpBoWkctu421Mi0ORpm4zqfbkjKep7RxzPFa5etcGs5h+2KApoWBOA/hAJa/7saGgEQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [win32]
- '@rolldown/binding-win32-x64-msvc@1.2.9':
- resolution: {integrity: sha512-Ip2mXoU0hM0boq3Rf+ekuT653OROSo6aSYcPT1VHE4q52KvyxgFkQgrgb/IEsxOuvQ2fZZbs8khJAyCEPM24/g==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [win32]
-
'@rolldown/pluginutils@1.0.1':
resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==}
@@ -1846,11 +1759,11 @@ packages:
resolution: {integrity: sha512-w1+YvwmTkwt5n8yUqEH3IWZ9DsmorCZW/EQ3KYHnqEgIkOZpH54NvW6/Epq3Dzb8H0ifIeYX8PExvrNLIH5FIA==}
engines: {node: '>=20.19'}
- '@tanstack/query-core@5.104.4':
- resolution: {integrity: sha512-nU4Yrb8Sjn0DeVb7PKG9uiepNavys3yoxy1FX0hViY4/P6Ng/mBje2SMl7i9812rtyHKtHyqiaC/td6GkI8StA==}
+ '@tanstack/query-core@5.104.5':
+ resolution: {integrity: sha512-Q94gI8Opd+CbdVNOdj8ZCyV8WqLYitrDq1t96Xc8WZT6lY0r5iRnJLXYDxMex7EEf2v+mXvn4FcjaBKSxXZQ9A==}
- '@tanstack/react-query@5.104.4':
- resolution: {integrity: sha512-YD5QkvUNy8Ey3LbOy2vwL97JjoYycwDv++cWAibTe+9BLYvl3c09XpYp5dZ2VcxcguwoDhGF+utYJYb79RB36w==}
+ '@tanstack/react-query@5.104.5':
+ resolution: {integrity: sha512-RORgFe052U+93weaNuqg7qHq7vNVNzXN/VrXqD4bbAuQCWUqOl2lV5Ui9flWk5CVvMyL/Bh27QWhzwH0aaOx9g==}
peerDependencies:
'@types/react': ^18 || ^19
react: ^18 || ^19
@@ -2164,8 +2077,8 @@ packages:
cookie-es@3.1.1:
resolution: {integrity: sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg==}
- cronstrue@3.33.0:
- resolution: {integrity: sha512-vyatYcfUXxPZxv8/zwC+j9LZNfSdn1k5t3sCLFZrLw+HvU6H4pNhUulPKgtji9tLTTAUCJs45z2+rJrPsbPxlw==}
+ cronstrue@3.38.0:
+ resolution: {integrity: sha512-i10xR7fS4AH9LKwmt3gYdt/5lSsB2qFGSNfC8aeyYybxo48DCMz+nUrSVI4kUj8yo+SgTbMJqp/BWEem9avlcA==}
hasBin: true
cross-spawn@7.0.6:
@@ -2326,10 +2239,6 @@ packages:
graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
- happy-dom@20.14.5:
- resolution: {integrity: sha512-x/RzkpWO40bTjIoT30iQtt64FLLmH/iRcUCN2X//bLx7H3ifkdfPXyqsro/OYtqzIAhiLMMA7mmiOR9C3NOKjQ==}
- engines: {node: '>=20.0.0'}
-
happy-dom@21.0.4:
resolution: {integrity: sha512-tFm+GaLBgo6o0awHnvHaNoraVo27qJ+2tZEtZ+cIa08hXbeitrxAJajLI05hsUy/2/YTKcUjQYzHe5mCcraLBw==}
engines: {node: '>=20.0.0'}
@@ -2598,8 +2507,8 @@ packages:
lru-cache@5.1.1:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
- lucide-react@1.59.0:
- resolution: {integrity: sha512-5qgMyyCPU6OvnKpLS2t693+ZtiqA8oaSweWoUows0BLFKFf6V75m4+CptpmohZHpD5IuOVIBXHBBiv2vpLJmtw==}
+ lucide-react@1.61.0:
+ resolution: {integrity: sha512-v2SQPPPNjnr+BlhL9Spuzmo5yR+hLkftfuE4E3jaxdNPgSH0hJKPcLJBP7yAta87jQNPsSERS59PJjCJ/CorBA==}
peerDependencies:
'@types/react': '*'
react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
@@ -2938,11 +2847,6 @@ packages:
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
- rolldown@1.2.9:
- resolution: {integrity: sha512-hx/Pv0N1haXRb11qkfnK5MXB/iqr7i0yjWQqmO9uHqZpBgQSqzc8UsSnEpalsh+j1I8qQ2CkXAkJC8Br3dKSlg==}
- engines: {node: ^20.19.0 || >=22.12.0}
- hasBin: true
-
rollup@4.63.4:
resolution: {integrity: sha512-4U0liVayNIoLp3GFl1FcI8561WepLnZ1rqfraGh7S9B3Ur5F9S283y8Futii7RUU2C/97tOBmBy7nYvhoiOpbQ==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
@@ -3065,11 +2969,6 @@ packages:
tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
- tsx@4.23.13:
- resolution: {integrity: sha512-BL5MGkRln6aDYhb0xbQlEAGw743BaZYWdbWtdJOBriYJboKgUUYCadFp2/FpBBZquBC/ezNBn7wMMPx7FDZUDw==}
- engines: {node: '>=18.0.0'}
- hasBin: true
-
tsx@4.23.15:
resolution: {integrity: sha512-Yiex1Ovn8z2xPpOWckIiysV1SSyRMY9BkLF++q0yKiDxCqRhosKfMg3janKkiLBwZ5c/YryloKwGZcrEmtwxKw==}
engines: {node: '>=18.0.0'}
@@ -3181,13 +3080,13 @@ packages:
vfile@6.0.3:
resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
- vite@8.3.4:
- resolution: {integrity: sha512-IftLE8phJhdNRIGNEV4JCCvfNScoZQVfcXaN8TQropWGJtOHcu+iAB9pHcuGvmEb/kddw0LBe/jS8ztdC6xdiQ==}
+ vite@8.3.5:
+ resolution: {integrity: sha512-z1YpjieJ9g0ebTmQpLBv/oq9E3F9EIlOe+7LahW8SrE3LTiG3udBRUXQOlYXP9b+IC2q2phHeVxj9xGlw34OEQ==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
'@types/node': ^20.19.0 || >=22.12.0
- '@vitejs/devtools': ^0.7.1
+ '@vitejs/devtools': ^0.7.1 || ^0.8.0
esbuild: ^0.27.0 || ^0.28.0
jiti: '>=1.21.0'
less: ^4.0.0
@@ -3465,39 +3364,47 @@ snapshots:
'@babel/helper-string-parser': 7.29.7
'@babel/helper-validator-identifier': 7.29.7
- '@biomejs/biome@2.5.15':
+ '@biomejs/biome@2.6.2':
optionalDependencies:
- '@biomejs/cli-darwin-arm64': 2.5.15
- '@biomejs/cli-darwin-x64': 2.5.15
- '@biomejs/cli-linux-arm64': 2.5.15
- '@biomejs/cli-linux-arm64-musl': 2.5.15
- '@biomejs/cli-linux-x64': 2.5.15
- '@biomejs/cli-linux-x64-musl': 2.5.15
- '@biomejs/cli-win32-arm64': 2.5.15
- '@biomejs/cli-win32-x64': 2.5.15
+ '@biomejs/cli-android-arm64': 2.6.2
+ '@biomejs/cli-android-x64': 2.6.2
+ '@biomejs/cli-darwin-arm64': 2.6.2
+ '@biomejs/cli-darwin-x64': 2.6.2
+ '@biomejs/cli-linux-arm64': 2.6.2
+ '@biomejs/cli-linux-arm64-musl': 2.6.2
+ '@biomejs/cli-linux-x64': 2.6.2
+ '@biomejs/cli-linux-x64-musl': 2.6.2
+ '@biomejs/cli-win32-arm64': 2.6.2
+ '@biomejs/cli-win32-x64': 2.6.2
- '@biomejs/cli-darwin-arm64@2.5.15':
+ '@biomejs/cli-android-arm64@2.6.2':
optional: true
- '@biomejs/cli-darwin-x64@2.5.15':
+ '@biomejs/cli-android-x64@2.6.2':
optional: true
- '@biomejs/cli-linux-arm64-musl@2.5.15':
+ '@biomejs/cli-darwin-arm64@2.6.2':
optional: true
- '@biomejs/cli-linux-arm64@2.5.15':
+ '@biomejs/cli-darwin-x64@2.6.2':
optional: true
- '@biomejs/cli-linux-x64-musl@2.5.15':
+ '@biomejs/cli-linux-arm64-musl@2.6.2':
optional: true
- '@biomejs/cli-linux-x64@2.5.15':
+ '@biomejs/cli-linux-arm64@2.6.2':
optional: true
- '@biomejs/cli-win32-arm64@2.5.15':
+ '@biomejs/cli-linux-x64-musl@2.6.2':
optional: true
- '@biomejs/cli-win32-x64@2.5.15':
+ '@biomejs/cli-linux-x64@2.6.2':
+ optional: true
+
+ '@biomejs/cli-win32-arm64@2.6.2':
+ optional: true
+
+ '@biomejs/cli-win32-x64@2.6.2':
optional: true
'@bramus/specificity@2.4.2':
@@ -3741,9 +3648,6 @@ snapshots:
'@napi-rs/lzma-linux-x64-gnu@1.5.1':
optional: true
- '@oxc-project/types@0.150.0':
- optional: true
-
'@oxc-project/types@0.154.0': {}
'@playwright/test@1.64.1':
@@ -4305,93 +4209,48 @@ snapshots:
'@rolldown/binding-android-arm-eabi@1.2.14':
optional: true
- '@rolldown/binding-android-arm-eabi@1.2.9':
- optional: true
-
'@rolldown/binding-android-arm64@1.2.14':
optional: true
- '@rolldown/binding-android-arm64@1.2.9':
- optional: true
-
'@rolldown/binding-darwin-arm64@1.2.14':
optional: true
- '@rolldown/binding-darwin-arm64@1.2.9':
- optional: true
-
'@rolldown/binding-darwin-x64@1.2.14':
optional: true
- '@rolldown/binding-darwin-x64@1.2.9':
- optional: true
-
'@rolldown/binding-freebsd-x64@1.2.14':
optional: true
- '@rolldown/binding-freebsd-x64@1.2.9':
- optional: true
-
'@rolldown/binding-linux-arm-gnueabihf@1.2.14':
optional: true
- '@rolldown/binding-linux-arm-gnueabihf@1.2.9':
- optional: true
-
'@rolldown/binding-linux-arm64-gnu@1.2.14':
optional: true
- '@rolldown/binding-linux-arm64-gnu@1.2.9':
- optional: true
-
'@rolldown/binding-linux-arm64-musl@1.2.14':
optional: true
- '@rolldown/binding-linux-arm64-musl@1.2.9':
- optional: true
-
'@rolldown/binding-linux-ppc64-gnu@1.2.14':
optional: true
- '@rolldown/binding-linux-ppc64-gnu@1.2.9':
- optional: true
-
'@rolldown/binding-linux-s390x-gnu@1.2.14':
optional: true
- '@rolldown/binding-linux-s390x-gnu@1.2.9':
- optional: true
-
'@rolldown/binding-linux-x64-gnu@1.2.14':
optional: true
- '@rolldown/binding-linux-x64-gnu@1.2.9':
- optional: true
-
'@rolldown/binding-linux-x64-musl@1.2.14':
optional: true
- '@rolldown/binding-linux-x64-musl@1.2.9':
- optional: true
-
'@rolldown/binding-openharmony-arm64@1.2.14':
optional: true
- '@rolldown/binding-openharmony-arm64@1.2.9':
- optional: true
-
'@rolldown/binding-win32-arm64-msvc@1.2.14':
optional: true
- '@rolldown/binding-win32-arm64-msvc@1.2.9':
- optional: true
-
'@rolldown/binding-win32-x64-msvc@1.2.14':
optional: true
- '@rolldown/binding-win32-x64-msvc@1.2.9':
- optional: true
-
'@rolldown/pluginutils@1.0.1': {}
'@rollup/rollup-android-arm-eabi@4.63.4':
@@ -4578,20 +4437,20 @@ snapshots:
'@tailwindcss/oxide-win32-arm64-msvc': 4.3.3
'@tailwindcss/oxide-win32-x64-msvc': 4.3.3
- '@tailwindcss/vite@4.3.3(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.1))':
+ '@tailwindcss/vite@4.3.3(vite@8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))':
dependencies:
'@tailwindcss/node': 4.3.3
'@tailwindcss/oxide': 4.3.3
tailwindcss: 4.3.3
- vite: 8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.1)
+ vite: 8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)
'@tanstack/history@1.162.5': {}
- '@tanstack/query-core@5.104.4': {}
+ '@tanstack/query-core@5.104.5': {}
- '@tanstack/react-query@5.104.4(@types/react@19.3.0)(react@19.3.1)':
+ '@tanstack/react-query@5.104.5(@types/react@19.3.0)(react@19.3.1)':
dependencies:
- '@tanstack/query-core': 5.104.4
+ '@tanstack/query-core': 5.104.5
react: 19.3.1
optionalDependencies:
'@types/react': 19.3.0
@@ -4640,7 +4499,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@tanstack/router-plugin@1.168.47(@tanstack/react-router@1.170.45(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(esbuild@0.28.2)(rolldown@1.2.9)(rollup@4.63.4)(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.1))':
+ '@tanstack/router-plugin@1.168.47(@tanstack/react-router@1.170.45(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(esbuild@0.28.2)(rolldown@1.2.14)(rollup@4.63.4)(vite@8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))':
dependencies:
'@babel/core': 7.29.7
'@babel/template': 7.29.7
@@ -4649,11 +4508,11 @@ snapshots:
'@tanstack/router-generator': 1.167.45
'@tanstack/router-utils': 1.162.4
chokidar: 5.0.0
- unplugin: 3.4.0(esbuild@0.28.2)(rolldown@1.2.9)(rollup@4.63.4)(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.1))
+ unplugin: 3.4.0(esbuild@0.28.2)(rolldown@1.2.14)(rollup@4.63.4)(vite@8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))
zod: 4.6.7
optionalDependencies:
'@tanstack/react-router': 1.170.45(react-dom@19.3.1(react@19.3.1))(react@19.3.1)
- vite: 8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.1)
+ vite: 8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)
transitivePeerDependencies:
- '@farmfe/core'
- '@rspack/core'
@@ -4765,28 +4624,19 @@ snapshots:
'@ungap/structured-clone@1.4.0': {}
- '@vitejs/plugin-react@6.1.2(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.1))':
+ '@vitejs/plugin-react@6.1.2(vite@8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))':
dependencies:
'@rolldown/pluginutils': 1.0.1
- vite: 8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.1)
-
- '@vitest/mocker@5.0.5(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.1))':
- dependencies:
- '@jridgewell/trace-mapping': 0.3.31
- '@vitest/spy': 5.0.5
- estree-walker: 3.0.3
- magic-string: 1.4.3
- optionalDependencies:
- vite: 8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.1)
+ vite: 8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)
- '@vitest/mocker@5.0.5(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))':
+ '@vitest/mocker@5.0.5(vite@8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))':
dependencies:
'@jridgewell/trace-mapping': 0.3.31
'@vitest/spy': 5.0.5
estree-walker: 3.0.3
magic-string: 1.4.3
optionalDependencies:
- vite: 8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)
+ vite: 8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)
'@vitest/spy@5.0.5': {}
@@ -4918,7 +4768,7 @@ snapshots:
cookie-es@3.1.1: {}
- cronstrue@3.33.0: {}
+ cronstrue@3.38.0: {}
cross-spawn@7.0.6:
dependencies:
@@ -5064,20 +4914,6 @@ snapshots:
graceful-fs@4.2.11: {}
- happy-dom@20.14.5:
- dependencies:
- '@types/node': 26.6.5
- '@types/whatwg-mimetype': 3.0.2
- '@types/ws': 8.18.1
- buffer-image-size: 0.6.4
- entities: 7.0.1
- whatwg-mimetype: 3.0.0
- ws: 8.21.3
- transitivePeerDependencies:
- - bufferutil
- - utf-8-validate
- optional: true
-
happy-dom@21.0.4:
dependencies:
'@types/node': 26.6.5
@@ -5325,7 +5161,7 @@ snapshots:
dependencies:
yallist: 3.1.1
- lucide-react@1.59.0(@types/react@19.3.0)(react@19.3.1):
+ lucide-react@1.61.0(@types/react@19.3.0)(react@19.3.1):
dependencies:
react: 19.3.1
optionalDependencies:
@@ -5916,28 +5752,6 @@ snapshots:
'@rolldown/binding-win32-arm64-msvc': 1.2.14
'@rolldown/binding-win32-x64-msvc': 1.2.14
- rolldown@1.2.9:
- dependencies:
- '@oxc-project/types': 0.150.0
- '@rolldown/pluginutils': 1.0.1
- optionalDependencies:
- '@rolldown/binding-android-arm-eabi': 1.2.9
- '@rolldown/binding-android-arm64': 1.2.9
- '@rolldown/binding-darwin-arm64': 1.2.9
- '@rolldown/binding-darwin-x64': 1.2.9
- '@rolldown/binding-freebsd-x64': 1.2.9
- '@rolldown/binding-linux-arm-gnueabihf': 1.2.9
- '@rolldown/binding-linux-arm64-gnu': 1.2.9
- '@rolldown/binding-linux-arm64-musl': 1.2.9
- '@rolldown/binding-linux-ppc64-gnu': 1.2.9
- '@rolldown/binding-linux-s390x-gnu': 1.2.9
- '@rolldown/binding-linux-x64-gnu': 1.2.9
- '@rolldown/binding-linux-x64-musl': 1.2.9
- '@rolldown/binding-openharmony-arm64': 1.2.9
- '@rolldown/binding-win32-arm64-msvc': 1.2.9
- '@rolldown/binding-win32-x64-msvc': 1.2.9
- optional: true
-
rollup@4.63.4:
dependencies:
'@types/estree': 1.0.9
@@ -6072,13 +5886,6 @@ snapshots:
tslib@2.8.1: {}
- tsx@4.23.13:
- dependencies:
- esbuild: 0.28.2
- optionalDependencies:
- fsevents: 2.3.3
- optional: true
-
tsx@4.23.15:
dependencies:
esbuild: 0.28.2
@@ -6127,16 +5934,16 @@ snapshots:
unist-util-is: 6.0.1
unist-util-visit-parents: 6.0.2
- unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.9)(rollup@4.63.4)(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.1)):
+ unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.14)(rollup@4.63.4)(vite@8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(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.9
+ rolldown: 1.2.14
rollup: 4.63.4
- vite: 8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.1)
+ vite: 8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)
update-browserslist-db@1.3.3(browserslist@4.29.0):
dependencies:
@@ -6173,22 +5980,7 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.3
- vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.1):
- dependencies:
- lightningcss: 1.33.0
- picomatch: 4.0.7
- postcss: 8.5.31
- rolldown: 1.2.14
- tinyglobby: 0.2.17
- optionalDependencies:
- '@types/node': 26.6.5
- esbuild: 0.28.2
- fsevents: 2.3.3
- jiti: 2.7.0
- tsx: 4.23.13
- yaml: 2.9.1
-
- vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1):
+ vite@8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1):
dependencies:
lightningcss: 1.33.0
picomatch: 4.0.7
@@ -6203,33 +5995,10 @@ snapshots:
tsx: 4.23.15
yaml: 2.9.1
- vitest@5.0.5(@types/node@26.6.5)(happy-dom@20.14.5)(jsdom@30.1.1)(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)):
- dependencies:
- '@types/chai': 5.2.3
- '@vitest/mocker': 5.0.5(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))
- chai: 6.3.0
- es-module-lexer: 2.3.2
- expect-type: 1.4.0
- magic-string: 1.4.3
- obug: 3.0.0
- picomatch: 4.0.7
- std-env: 4.3.0
- tinybench: 6.2.2
- tinyexec: 1.3.1
- tinyglobby: 0.2.17
- vite: 8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)
- why-is-node-running: 3.2.1
- optionalDependencies:
- '@types/node': 26.6.5
- happy-dom: 20.14.5
- jsdom: 30.1.1
- transitivePeerDependencies:
- - msw
-
- vitest@5.0.5(@types/node@26.6.5)(happy-dom@21.0.4)(jsdom@30.1.1)(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.1)):
+ vitest@5.0.5(@types/node@26.6.5)(happy-dom@21.0.4)(jsdom@30.1.1)(vite@8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)):
dependencies:
'@types/chai': 5.2.3
- '@vitest/mocker': 5.0.5(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.1))
+ '@vitest/mocker': 5.0.5(vite@8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))
chai: 6.3.0
es-module-lexer: 2.3.2
expect-type: 1.4.0
@@ -6240,7 +6009,7 @@ snapshots:
tinybench: 6.2.2
tinyexec: 1.3.1
tinyglobby: 0.2.17
- vite: 8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.1)
+ vite: 8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)
why-is-node-running: 3.2.1
optionalDependencies:
'@types/node': 26.6.5
diff --git a/apps/web/package.json b/apps/web/package.json
index 700d9b80a6..6e48c687df 100644
--- a/apps/web/package.json
+++ b/apps/web/package.json
@@ -34,13 +34,13 @@
"@radix-ui/react-toggle": "1.2.1",
"@radix-ui/react-toggle-group": "1.2.1",
"@radix-ui/react-tooltip": "1.4.1",
- "@tanstack/react-query": "5.104.4",
+ "@tanstack/react-query": "5.104.5",
"@tanstack/react-router": "1.170.45",
"class-variance-authority": "0.7.1",
"clsx": "2.1.1",
"cmdk": "1.1.1",
- "cronstrue": "3.33.0",
- "lucide-react": "1.59.0",
+ "cronstrue": "3.38.0",
+ "lucide-react": "1.61.0",
"react": "19.3.1",
"react-dom": "19.3.1",
"react-markdown": "10.1.0",
@@ -61,7 +61,7 @@
"happy-dom": "21.0.4",
"tailwindcss": "4.3.3",
"typescript": "6.0.3",
- "vite": "8.3.4",
+ "vite": "8.3.5",
"vitest": "5.0.5"
}
}
diff --git a/apps/web/src/components/error-page/error-routes.test.tsx b/apps/web/src/components/error-page/error-routes.test.tsx
index 0bcf839aea..cd992bf40b 100644
--- a/apps/web/src/components/error-page/error-routes.test.tsx
+++ b/apps/web/src/components/error-page/error-routes.test.tsx
@@ -28,6 +28,10 @@ const chatApi = { broken: false };
let container: HTMLDivElement;
let reactRoot: Root;
+function CrashedRoot(): React.ReactNode {
+ throw new Error(privateError);
+}
+
async function mount(element: React.ReactNode) {
container = document.createElement("div");
document.body.append(container);
@@ -260,9 +264,6 @@ describe("Studio error routes", () => {
it("keeps a root render failure generic and offers reload and home", async () => {
vi.spyOn(console, "error").mockImplementation(() => undefined);
const reload = vi.fn();
- function CrashedRoot(): React.ReactNode {
- throw new Error(privateError);
- }
await mount(
Recovered panel
{delivery}
+ > + ); +} + describe("shared side panel frame", () => { it("preserves the active panel and width during stream updates", () => { const onClose = vi.fn(); @@ -88,21 +105,6 @@ describe("shared side panel frame", () => { }); it("hosts activity and authorization without owning their content", () => { - function OwnedContent({ delivery }: { delivery: string }) { - const [selection, setSelection] = useState("activity-a"); - const [decision, setDecision] = useState("pending"); - return ( - <> - - -{delivery}
- > - ); - } const { rerender } = render(