From 3e851bd0059b3362f22d2a2cb363dc2f38465464 Mon Sep 17 00:00:00 2001
From: Juha Kangas <42040080+valuecodes@users.noreply.github.com>
Date: Sun, 26 Apr 2026 12:21:08 +0300
Subject: [PATCH 1/4] chore: bump deps including typescript 6 and vitest 4.1.4
---
apps/operator/package.json | 16 +-
package.json | 2 +-
packages/http-client/package.json | 6 +-
packages/logger/package.json | 6 +-
pnpm-lock.yaml | 651 ++++++++++++++++--------------
tooling/eslint/package.json | 10 +-
tooling/prettier/package.json | 6 +-
7 files changed, 368 insertions(+), 329 deletions(-)
diff --git a/apps/operator/package.json b/apps/operator/package.json
index add0c15..e099c45 100644
--- a/apps/operator/package.json
+++ b/apps/operator/package.json
@@ -18,23 +18,23 @@
"@repo/http-client": "workspace:*",
"@repo/logger": "workspace:*",
"drizzle-orm": "0.45.2",
- "hono": "4.12.9",
+ "hono": "4.12.12",
"node-html-markdown": "2.0.0",
- "openai": "6.33.0",
+ "openai": "6.34.0",
"zod": "4.3.6"
},
"devDependencies": {
- "@cloudflare/workers-types": "4.20260317.1",
+ "@cloudflare/workers-types": "4.20260412.1",
"@repo/eslint": "workspace:*",
"@repo/prettier": "workspace:*",
"@repo/typescript": "workspace:*",
- "@types/node": "25.2.3",
+ "@types/node": "25.6.0",
"drizzle-kit": "0.31.10",
"eslint": "9.39.1",
- "prettier": "3.8.1",
+ "prettier": "3.8.2",
"tsx": "4.21.0",
- "typescript": "5.9.3",
- "vitest": "4.1.2",
- "wrangler": "4.78.0"
+ "typescript": "6.0.2",
+ "vitest": "4.1.4",
+ "wrangler": "4.81.1"
}
}
diff --git a/package.json b/package.json
index 9e6bd17..c57c62a 100644
--- a/package.json
+++ b/package.json
@@ -21,7 +21,7 @@
"devDependencies": {
"@ianvs/prettier-plugin-sort-imports": "4.7.1",
"@repo/prettier": "workspace:*",
- "prettier": "3.8.1",
+ "prettier": "3.8.2",
"prettier-plugin-tailwindcss": "0.7.2"
}
}
diff --git a/packages/http-client/package.json b/packages/http-client/package.json
index 7a40798..ca1076b 100644
--- a/packages/http-client/package.json
+++ b/packages/http-client/package.json
@@ -21,9 +21,9 @@
"@repo/prettier": "workspace:*",
"@repo/typescript": "workspace:*",
"eslint": "9.39.1",
- "prettier": "3.8.1",
- "typescript": "5.9.3",
- "vitest": "4.1.2"
+ "prettier": "3.8.2",
+ "typescript": "6.0.2",
+ "vitest": "4.1.4"
},
"prettier": "@repo/prettier"
}
diff --git a/packages/logger/package.json b/packages/logger/package.json
index 7b83648..12f2a61 100644
--- a/packages/logger/package.json
+++ b/packages/logger/package.json
@@ -17,9 +17,9 @@
"@repo/prettier": "workspace:*",
"@repo/typescript": "workspace:*",
"eslint": "9.39.1",
- "prettier": "3.8.1",
- "typescript": "5.9.3",
- "vitest": "4.1.2"
+ "prettier": "3.8.2",
+ "typescript": "6.0.2",
+ "vitest": "4.1.4"
},
"prettier": "@repo/prettier"
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c8ecd16..2c462b3 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -10,22 +10,22 @@ importers:
devDependencies:
'@ianvs/prettier-plugin-sort-imports':
specifier: 4.7.1
- version: 4.7.1(prettier@3.8.1)
+ version: 4.7.1(prettier@3.8.2)
'@repo/prettier':
specifier: workspace:*
version: link:tooling/prettier
prettier:
- specifier: 3.8.1
- version: 3.8.1
+ specifier: 3.8.2
+ version: 3.8.2
prettier-plugin-tailwindcss:
specifier: 0.7.2
- version: 0.7.2(@ianvs/prettier-plugin-sort-imports@4.7.1(prettier@3.8.1))(prettier@3.8.1)
+ version: 0.7.2(@ianvs/prettier-plugin-sort-imports@4.7.1(prettier@3.8.2))(prettier@3.8.2)
apps/operator:
dependencies:
'@hono/zod-validator':
specifier: 0.7.6
- version: 0.7.6(hono@4.12.9)(zod@4.3.6)
+ version: 0.7.6(hono@4.12.12)(zod@4.3.6)
'@repo/http-client':
specifier: workspace:*
version: link:../../packages/http-client
@@ -34,23 +34,23 @@ importers:
version: link:../../packages/logger
drizzle-orm:
specifier: 0.45.2
- version: 0.45.2(@cloudflare/workers-types@4.20260317.1)
+ version: 0.45.2(@cloudflare/workers-types@4.20260412.1)
hono:
- specifier: 4.12.9
- version: 4.12.9
+ specifier: 4.12.12
+ version: 4.12.12
node-html-markdown:
specifier: 2.0.0
version: 2.0.0
openai:
- specifier: 6.33.0
- version: 6.33.0(ws@8.18.0)(zod@4.3.6)
+ specifier: 6.34.0
+ version: 6.34.0(ws@8.18.0)(zod@4.3.6)
zod:
specifier: 4.3.6
version: 4.3.6
devDependencies:
'@cloudflare/workers-types':
- specifier: 4.20260317.1
- version: 4.20260317.1
+ specifier: 4.20260412.1
+ version: 4.20260412.1
'@repo/eslint':
specifier: workspace:*
version: link:../../tooling/eslint
@@ -61,8 +61,8 @@ importers:
specifier: workspace:*
version: link:../../tooling/typescript
'@types/node':
- specifier: 25.2.3
- version: 25.2.3
+ specifier: 25.6.0
+ version: 25.6.0
drizzle-kit:
specifier: 0.31.10
version: 0.31.10
@@ -70,20 +70,20 @@ importers:
specifier: 9.39.1
version: 9.39.1(jiti@2.6.1)
prettier:
- specifier: 3.8.1
- version: 3.8.1
+ specifier: 3.8.2
+ version: 3.8.2
tsx:
specifier: 4.21.0
version: 4.21.0
typescript:
- specifier: 5.9.3
- version: 5.9.3
+ specifier: 6.0.2
+ version: 6.0.2
vitest:
- specifier: 4.1.2
- version: 4.1.2(@types/node@25.2.3)(vite@8.0.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@types/node@25.2.3)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0))
+ specifier: 4.1.4
+ version: 4.1.4(@types/node@25.6.0)(vite@8.0.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.2)(@types/node@25.6.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0))
wrangler:
- specifier: 4.78.0
- version: 4.78.0(@cloudflare/workers-types@4.20260317.1)
+ specifier: 4.81.1
+ version: 4.81.1(@cloudflare/workers-types@4.20260412.1)
packages/http-client:
dependencies:
@@ -107,14 +107,14 @@ importers:
specifier: 9.39.1
version: 9.39.1(jiti@2.6.1)
prettier:
- specifier: 3.8.1
- version: 3.8.1
+ specifier: 3.8.2
+ version: 3.8.2
typescript:
- specifier: 5.9.3
- version: 5.9.3
+ specifier: 6.0.2
+ version: 6.0.2
vitest:
- specifier: 4.1.2
- version: 4.1.2(@types/node@25.2.3)(vite@8.0.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@types/node@25.2.3)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0))
+ specifier: 4.1.4
+ version: 4.1.4(@types/node@25.6.0)(vite@8.0.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.2)(@types/node@25.6.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0))
packages/logger:
devDependencies:
@@ -131,26 +131,26 @@ importers:
specifier: 9.39.1
version: 9.39.1(jiti@2.6.1)
prettier:
- specifier: 3.8.1
- version: 3.8.1
+ specifier: 3.8.2
+ version: 3.8.2
typescript:
- specifier: 5.9.3
- version: 5.9.3
+ specifier: 6.0.2
+ version: 6.0.2
vitest:
- specifier: 4.1.2
- version: 4.1.2(@types/node@25.2.3)(vite@8.0.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@types/node@25.2.3)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0))
+ specifier: 4.1.4
+ version: 4.1.4(@types/node@25.6.0)(vite@8.0.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.2)(@types/node@25.6.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0))
tooling/eslint:
dependencies:
'@eslint/compat':
- specifier: 2.0.2
- version: 2.0.2(eslint@9.39.1(jiti@2.6.1))
+ specifier: 2.0.5
+ version: 2.0.5(eslint@9.39.1(jiti@2.6.1))
'@eslint/js':
specifier: 9.39.1
version: 9.39.1
eslint-plugin-import:
specifier: 2.32.0
- version: 2.32.0(@typescript-eslint/parser@8.56.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1))
+ version: 2.32.0(@typescript-eslint/parser@8.58.1(eslint@9.39.1(jiti@2.6.1))(typescript@6.0.2))(eslint@9.39.1(jiti@2.6.1))
eslint-plugin-react:
specifier: 7.37.5
version: 7.37.5(eslint@9.39.1(jiti@2.6.1))
@@ -161,8 +161,8 @@ importers:
specifier: 2.6.1
version: 2.6.1
typescript-eslint:
- specifier: 8.56.0
- version: 8.56.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
+ specifier: 8.58.1
+ version: 8.58.1(eslint@9.39.1(jiti@2.6.1))(typescript@6.0.2)
devDependencies:
'@repo/prettier':
specifier: workspace:*
@@ -171,38 +171,38 @@ importers:
specifier: workspace:*
version: link:../typescript
'@types/node':
- specifier: 25.2.3
- version: 25.2.3
+ specifier: 25.6.0
+ version: 25.6.0
eslint:
specifier: 9.39.1
version: 9.39.1(jiti@2.6.1)
prettier:
- specifier: 3.8.1
- version: 3.8.1
+ specifier: 3.8.2
+ version: 3.8.2
typescript:
- specifier: 5.9.3
- version: 5.9.3
+ specifier: 6.0.2
+ version: 6.0.2
tooling/prettier:
devDependencies:
'@ianvs/prettier-plugin-sort-imports':
specifier: 4.7.1
- version: 4.7.1(prettier@3.8.1)
+ version: 4.7.1(prettier@3.8.2)
'@repo/typescript':
specifier: workspace:*
version: link:../typescript
'@types/node':
- specifier: 25.2.3
- version: 25.2.3
+ specifier: 25.6.0
+ version: 25.6.0
prettier:
- specifier: 3.8.1
- version: 3.8.1
+ specifier: 3.8.2
+ version: 3.8.2
prettier-plugin-tailwindcss:
specifier: 0.7.2
- version: 0.7.2(@ianvs/prettier-plugin-sort-imports@4.7.1(prettier@3.8.1))(prettier@3.8.1)
+ version: 0.7.2(@ianvs/prettier-plugin-sort-imports@4.7.1(prettier@3.8.2))(prettier@3.8.2)
typescript:
- specifier: 5.9.3
- version: 5.9.3
+ specifier: 6.0.2
+ version: 6.0.2
tooling/typescript: {}
@@ -288,38 +288,38 @@ packages:
workerd:
optional: true
- '@cloudflare/workerd-darwin-64@1.20260317.1':
- resolution: {integrity: sha512-8hjh3sPMwY8M/zedq3/sXoA2Q4BedlGufn3KOOleIG+5a4ReQKLlUah140D7J6zlKmYZAFMJ4tWC7hCuI/s79g==}
+ '@cloudflare/workerd-darwin-64@1.20260409.1':
+ resolution: {integrity: sha512-h/bkaC0HJL63aqAGnV0oagqpBiTSstabODThkeMSbG8kctl0Jb4jlq1pNHJPmYGazFNtfyagrUZFb6HN22GX7w==}
engines: {node: '>=16'}
cpu: [x64]
os: [darwin]
- '@cloudflare/workerd-darwin-arm64@1.20260317.1':
- resolution: {integrity: sha512-M/MnNyvO5HMgoIdr3QHjdCj2T1ki9gt0vIUnxYxBu9ISXS/jgtMl6chUVPJ7zHYBn9MyYr8ByeN6frjYxj0MGg==}
+ '@cloudflare/workerd-darwin-arm64@1.20260409.1':
+ resolution: {integrity: sha512-HTAC+B9uSYcm+GjN3UYJjuun19GqYtK1bAFJ0KECXyfsgIDwH1MTzxbTxzJpZUbWLw8s0jcwCU06MWZj6cgnxQ==}
engines: {node: '>=16'}
cpu: [arm64]
os: [darwin]
- '@cloudflare/workerd-linux-64@1.20260317.1':
- resolution: {integrity: sha512-1ltuEjkRcS3fsVF7CxsKlWiRmzq2ZqMfqDN0qUOgbUwkpXsLVJsXmoblaLf5OP00ELlcgF0QsN0p2xPEua4Uug==}
+ '@cloudflare/workerd-linux-64@1.20260409.1':
+ resolution: {integrity: sha512-QIoNq5cgmn1ko8qlngmgZLXQr2KglrjvIwVFOyJI3rbIpt8631n/YMzHPiOWgt38Cb6tcni8fXOzkcvIX2lBDg==}
engines: {node: '>=16'}
cpu: [x64]
os: [linux]
- '@cloudflare/workerd-linux-arm64@1.20260317.1':
- resolution: {integrity: sha512-3QrNnPF1xlaNwkHpasvRvAMidOvQs2NhXQmALJrEfpIJ/IDL2la8g499yXp3eqhG3hVMCB07XVY149GTs42Xtw==}
+ '@cloudflare/workerd-linux-arm64@1.20260409.1':
+ resolution: {integrity: sha512-HJGBMTfPDb0GCjwdxWFx63wS20TYDVmtOuA5KVri/CiFnit71y++kmseVmemjsgLFFIzoEAuFG/xUh1FJLo6tg==}
engines: {node: '>=16'}
cpu: [arm64]
os: [linux]
- '@cloudflare/workerd-windows-64@1.20260317.1':
- resolution: {integrity: sha512-MfZTz+7LfuIpMGTa3RLXHX8Z/pnycZLItn94WRdHr8LPVet+C5/1Nzei399w/jr3+kzT4pDKk26JF/tlI5elpQ==}
+ '@cloudflare/workerd-windows-64@1.20260409.1':
+ resolution: {integrity: sha512-GttFO0+TvE0rJNQbDlxC6kq2Q7uFxoZRo74Z9d/trUrLgA14HEVTTXobYyiWrDZ9Qp2W5KN1CrXQXiko0zE38Q==}
engines: {node: '>=16'}
cpu: [x64]
os: [win32]
- '@cloudflare/workers-types@4.20260317.1':
- resolution: {integrity: sha512-+G4eVwyCpm8Au1ex8vQBCuA9wnwqetz4tPNRoB/53qvktERWBRMQnrtvC1k584yRE3emMThtuY0gWshvSJ++PQ==}
+ '@cloudflare/workers-types@4.20260412.1':
+ resolution: {integrity: sha512-4jcYPBKH70/XOW40B6X/bEUlh+rjvem8wuvGJXuGebSScFcbJ5TuO5CjX/Nc8Y+RhH3RnTcynHX4tR6Rm0MNgA==}
'@cspotcode/source-map-support@0.8.1':
resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
@@ -331,8 +331,8 @@ packages:
'@emnapi/core@1.9.1':
resolution: {integrity: sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA==}
- '@emnapi/runtime@1.9.1':
- resolution: {integrity: sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==}
+ '@emnapi/runtime@1.9.2':
+ resolution: {integrity: sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==}
'@emnapi/wasi-threads@1.2.0':
resolution: {integrity: sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==}
@@ -799,8 +799,8 @@ packages:
resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- '@eslint/compat@2.0.2':
- resolution: {integrity: sha512-pR1DoD0h3HfF675QZx0xsyrsU8q70Z/plx7880NOhS02NuWLgBCOMDL787nUeQ7EWLkxv3bPQJaarjcPQb2Dwg==}
+ '@eslint/compat@2.0.5':
+ resolution: {integrity: sha512-IbHDbHJfkVNv6xjlET8AIVo/K1NQt7YT4Rp6ok/clyBGcpRx1l6gv0Rq3vBvYfPJIZt6ODf66Zq08FJNDpnzgg==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
peerDependencies:
eslint: ^8.40 || 9 || 10
@@ -820,8 +820,8 @@ packages:
resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/core@1.1.1':
- resolution: {integrity: sha512-QUPblTtE51/7/Zhfv8BDwO0qkkzQL7P/aWWbqcf4xWLEYn1oKjdO0gglQBB4GAsu7u6wjijbCmzsUTy6mnk6oQ==}
+ '@eslint/core@1.2.1':
+ resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
'@eslint/eslintrc@3.3.5':
@@ -910,89 +910,105 @@ packages:
resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@img/sharp-libvips-linux-arm@1.2.4':
resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==}
cpu: [arm]
os: [linux]
+ libc: [glibc]
'@img/sharp-libvips-linux-ppc64@1.2.4':
resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==}
cpu: [ppc64]
os: [linux]
+ libc: [glibc]
'@img/sharp-libvips-linux-riscv64@1.2.4':
resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==}
cpu: [riscv64]
os: [linux]
+ libc: [glibc]
'@img/sharp-libvips-linux-s390x@1.2.4':
resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==}
cpu: [s390x]
os: [linux]
+ libc: [glibc]
'@img/sharp-libvips-linux-x64@1.2.4':
resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@img/sharp-libvips-linuxmusl-arm64@1.2.4':
resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@img/sharp-libvips-linuxmusl-x64@1.2.4':
resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@img/sharp-linux-arm64@0.34.5':
resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@img/sharp-linux-arm@0.34.5':
resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm]
os: [linux]
+ libc: [glibc]
'@img/sharp-linux-ppc64@0.34.5':
resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [ppc64]
os: [linux]
+ libc: [glibc]
'@img/sharp-linux-riscv64@0.34.5':
resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [riscv64]
os: [linux]
+ libc: [glibc]
'@img/sharp-linux-s390x@0.34.5':
resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [s390x]
os: [linux]
+ libc: [glibc]
'@img/sharp-linux-x64@0.34.5':
resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@img/sharp-linuxmusl-arm64@0.34.5':
resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@img/sharp-linuxmusl-x64@0.34.5':
resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@img/sharp-wasm32@0.34.5':
resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==}
@@ -1036,8 +1052,8 @@ packages:
'@jridgewell/trace-mapping@0.3.9':
resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
- '@napi-rs/wasm-runtime@1.1.2':
- resolution: {integrity: sha512-sNXv5oLJ7ob93xkZ1XnxisYhGYXfaG9f65/ZgYuAu3qt7b3NadcOEhLvx28hv31PgX8SZJRYrAIPQilQmFpLVw==}
+ '@napi-rs/wasm-runtime@1.1.3':
+ resolution: {integrity: sha512-xK9sGVbJWYb08+mTJt3/YV24WxvxpXcXtP6B172paPZ+Ts69Re9dAr7lKwJoeIx8OoeuimEiRZ7umkiUVClmmQ==}
peerDependencies:
'@emnapi/core': ^1.7.1
'@emnapi/runtime': ^1.7.1
@@ -1089,36 +1105,42 @@ packages:
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@rolldown/binding-linux-arm64-musl@1.0.0-rc.12':
resolution: {integrity: sha512-V6/wZztnBqlx5hJQqNWwFdxIKN0m38p8Jas+VoSfgH54HSj9tKTt1dZvG6JRHcjh6D7TvrJPWFGaY9UBVOaWPw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.12':
resolution: {integrity: sha512-AP3E9BpcUYliZCxa3w5Kwj9OtEVDYK6sVoUzy4vTOJsjPOgdaJZKFmN4oOlX0Wp0RPV2ETfmIra9x1xuayFB7g==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ppc64]
os: [linux]
+ libc: [glibc]
'@rolldown/binding-linux-s390x-gnu@1.0.0-rc.12':
resolution: {integrity: sha512-nWwpvUSPkoFmZo0kQazZYOrT7J5DGOJ/+QHHzjvNlooDZED8oH82Yg67HvehPPLAg5fUff7TfWFHQS8IV1n3og==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [s390x]
os: [linux]
+ libc: [glibc]
'@rolldown/binding-linux-x64-gnu@1.0.0-rc.12':
resolution: {integrity: sha512-RNrafz5bcwRy+O9e6P8Z/OCAJW/A+qtBczIqVYwTs14pf4iV1/+eKEjdOUta93q2TsT/FI0XYDP3TCky38LMAg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@rolldown/binding-linux-x64-musl@1.0.0-rc.12':
resolution: {integrity: sha512-Jpw/0iwoKWx3LJ2rc1yjFrj+T7iHZn2JDg1Yny1ma0luviFS4mhAIcd1LFNxK3EYu3DHWCps0ydXQ5i/rrJ2ig==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@rolldown/binding-openharmony-arm64@1.0.0-rc.12':
resolution: {integrity: sha512-vRugONE4yMfVn0+7lUKdKvN4D5YusEiPilaoO2sgUWpCvrncvWgPMzK00ZFFJuiPgLwgFNP5eSiUlv2tfc+lpA==}
@@ -1177,73 +1199,73 @@ packages:
'@types/json5@0.0.29':
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
- '@types/node@25.2.3':
- resolution: {integrity: sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ==}
+ '@types/node@25.6.0':
+ resolution: {integrity: sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==}
- '@typescript-eslint/eslint-plugin@8.56.0':
- resolution: {integrity: sha512-lRyPDLzNCuae71A3t9NEINBiTn7swyOhvUj3MyUOxb8x6g6vPEFoOU+ZRmGMusNC3X3YMhqMIX7i8ShqhT74Pw==}
+ '@typescript-eslint/eslint-plugin@8.58.1':
+ resolution: {integrity: sha512-eSkwoemjo76bdXl2MYqtxg51HNwUSkWfODUOQ3PaTLZGh9uIWWFZIjyjaJnex7wXDu+TRx+ATsnSxdN9YWfRTQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- '@typescript-eslint/parser': ^8.56.0
+ '@typescript-eslint/parser': ^8.58.1
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
- typescript: '>=4.8.4 <6.0.0'
+ typescript: '>=4.8.4 <6.1.0'
- '@typescript-eslint/parser@8.56.0':
- resolution: {integrity: sha512-IgSWvLobTDOjnaxAfDTIHaECbkNlAlKv2j5SjpB2v7QHKv1FIfjwMy8FsDbVfDX/KjmCmYICcw7uGaXLhtsLNg==}
+ '@typescript-eslint/parser@8.58.1':
+ resolution: {integrity: sha512-gGkiNMPqerb2cJSVcruigx9eHBlLG14fSdPdqMoOcBfh+vvn4iCq2C8MzUB89PrxOXk0y3GZ1yIWb9aOzL93bw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
- typescript: '>=4.8.4 <6.0.0'
+ typescript: '>=4.8.4 <6.1.0'
- '@typescript-eslint/project-service@8.56.0':
- resolution: {integrity: sha512-M3rnyL1vIQOMeWxTWIW096/TtVP+8W3p/XnaFflhmcFp+U4zlxUxWj4XwNs6HbDeTtN4yun0GNTTDBw/SvufKg==}
+ '@typescript-eslint/project-service@8.58.1':
+ resolution: {integrity: sha512-gfQ8fk6cxhtptek+/8ZIqw8YrRW5048Gug8Ts5IYcMLCw18iUgrZAEY/D7s4hkI0FxEfGakKuPK/XUMPzPxi5g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- typescript: '>=4.8.4 <6.0.0'
+ typescript: '>=4.8.4 <6.1.0'
- '@typescript-eslint/scope-manager@8.56.0':
- resolution: {integrity: sha512-7UiO/XwMHquH+ZzfVCfUNkIXlp/yQjjnlYUyYz7pfvlK3/EyyN6BK+emDmGNyQLBtLGaYrTAI6KOw8tFucWL2w==}
+ '@typescript-eslint/scope-manager@8.58.1':
+ resolution: {integrity: sha512-TPYUEqJK6avLcEjumWsIuTpuYODTTDAtoMdt8ZZa93uWMTX13Nb8L5leSje1NluammvU+oI3QRr5lLXPgihX3w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/tsconfig-utils@8.56.0':
- resolution: {integrity: sha512-bSJoIIt4o3lKXD3xmDh9chZcjCz5Lk8xS7Rxn+6l5/pKrDpkCwtQNQQwZ2qRPk7TkUYhrq3WPIHXOXlbXP0itg==}
+ '@typescript-eslint/tsconfig-utils@8.58.1':
+ resolution: {integrity: sha512-JAr2hOIct2Q+qk3G+8YFfqkqi7sC86uNryT+2i5HzMa2MPjw4qNFvtjnw1IiA1rP7QhNKVe21mSSLaSjwA1Olw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- typescript: '>=4.8.4 <6.0.0'
+ typescript: '>=4.8.4 <6.1.0'
- '@typescript-eslint/type-utils@8.56.0':
- resolution: {integrity: sha512-qX2L3HWOU2nuDs6GzglBeuFXviDODreS58tLY/BALPC7iu3Fa+J7EOTwnX9PdNBxUI7Uh0ntP0YWGnxCkXzmfA==}
+ '@typescript-eslint/type-utils@8.58.1':
+ resolution: {integrity: sha512-HUFxvTJVroT+0rXVJC7eD5zol6ID+Sn5npVPWoFuHGg9Ncq5Q4EYstqR+UOqaNRFXi5TYkpXXkLhoCHe3G0+7w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
- typescript: '>=4.8.4 <6.0.0'
+ typescript: '>=4.8.4 <6.1.0'
- '@typescript-eslint/types@8.56.0':
- resolution: {integrity: sha512-DBsLPs3GsWhX5HylbP9HNG15U0bnwut55Lx12bHB9MpXxQ+R5GC8MwQe+N1UFXxAeQDvEsEDY6ZYwX03K7Z6HQ==}
+ '@typescript-eslint/types@8.58.1':
+ resolution: {integrity: sha512-io/dV5Aw5ezwzfPBBWLoT+5QfVtP8O7q4Kftjn5azJ88bYyp/ZMCsyW1lpKK46EXJcaYMZ1JtYj+s/7TdzmQMw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/typescript-estree@8.56.0':
- resolution: {integrity: sha512-ex1nTUMWrseMltXUHmR2GAQ4d+WjkZCT4f+4bVsps8QEdh0vlBsaCokKTPlnqBFqqGaxilDNJG7b8dolW2m43Q==}
+ '@typescript-eslint/typescript-estree@8.58.1':
+ resolution: {integrity: sha512-w4w7WR7GHOjqqPnvAYbazq+Y5oS68b9CzasGtnd6jIeOIeKUzYzupGTB2T4LTPSv4d+WPeccbxuneTFHYgAAWg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- typescript: '>=4.8.4 <6.0.0'
+ typescript: '>=4.8.4 <6.1.0'
- '@typescript-eslint/utils@8.56.0':
- resolution: {integrity: sha512-RZ3Qsmi2nFGsS+n+kjLAYDPVlrzf7UhTffrDIKr+h2yzAlYP/y5ZulU0yeDEPItos2Ph46JAL5P/On3pe7kDIQ==}
+ '@typescript-eslint/utils@8.58.1':
+ resolution: {integrity: sha512-Ln8R0tmWC7pTtLOzgJzYTXSCjJ9rDNHAqTaVONF4FEi2qwce8mD9iSOxOpLFFvWp/wBFlew0mjM1L1ihYWfBdQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
- typescript: '>=4.8.4 <6.0.0'
+ typescript: '>=4.8.4 <6.1.0'
- '@typescript-eslint/visitor-keys@8.56.0':
- resolution: {integrity: sha512-q+SL+b+05Ud6LbEE35qe4A99P+htKTKVbyiNEe45eCbJFyh/HVK9QXwlrbz+Q4L8SOW4roxSVwXYj4DMBT7Ieg==}
+ '@typescript-eslint/visitor-keys@8.58.1':
+ resolution: {integrity: sha512-y+vH7QE8ycjoa0bWciFg7OpFcipUuem1ujhrdLtq1gByKwfbC7bPeKsiny9e0urg93DqwGcHey+bGRKCnF1nZQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@vitest/expect@4.1.2':
- resolution: {integrity: sha512-gbu+7B0YgUJ2nkdsRJrFFW6X7NTP44WlhiclHniUhxADQJH5Szt9mZ9hWnJPJ8YwOK5zUOSSlSvyzRf0u1DSBQ==}
+ '@vitest/expect@4.1.4':
+ resolution: {integrity: sha512-iPBpra+VDuXmBFI3FMKHSFXp3Gx5HfmSCE8X67Dn+bwephCnQCaB7qWK2ldHa+8ncN8hJU8VTMcxjPpyMkUjww==}
- '@vitest/mocker@4.1.2':
- resolution: {integrity: sha512-Ize4iQtEALHDttPRCmN+FKqOl2vxTiNUhzobQFFt/BM1lRUTG7zRCLOykG/6Vo4E4hnUdfVLo5/eqKPukcWW7Q==}
+ '@vitest/mocker@4.1.4':
+ resolution: {integrity: sha512-R9HTZBhW6yCSGbGQnDnH3QHfJxokKN4KB+Yvk9Q1le7eQNYwiCyKxmLmurSpFy6BzJanSLuEUDrD+j97Q+ZLPg==}
peerDependencies:
msw: ^2.4.9
vite: ^6.0.0 || ^7.0.0 || ^8.0.0
@@ -1253,20 +1275,20 @@ packages:
vite:
optional: true
- '@vitest/pretty-format@4.1.2':
- resolution: {integrity: sha512-dwQga8aejqeuB+TvXCMzSQemvV9hNEtDDpgUKDzOmNQayl2OG241PSWeJwKRH3CiC+sESrmoFd49rfnq7T4RnA==}
+ '@vitest/pretty-format@4.1.4':
+ resolution: {integrity: sha512-ddmDHU0gjEUyEVLxtZa7xamrpIefdEETu3nZjWtHeZX4QxqJ7tRxSteHVXJOcr8jhiLoGAhkK4WJ3WqBpjx42A==}
- '@vitest/runner@4.1.2':
- resolution: {integrity: sha512-Gr+FQan34CdiYAwpGJmQG8PgkyFVmARK8/xSijia3eTFgVfpcpztWLuP6FttGNfPLJhaZVP/euvujeNYar36OQ==}
+ '@vitest/runner@4.1.4':
+ resolution: {integrity: sha512-xTp7VZ5aXP5ZJrn15UtJUWlx6qXLnGtF6jNxHepdPHpMfz/aVPx+htHtgcAL2mDXJgKhpoo2e9/hVJsIeFbytQ==}
- '@vitest/snapshot@4.1.2':
- resolution: {integrity: sha512-g7yfUmxYS4mNxk31qbOYsSt2F4m1E02LFqO53Xpzg3zKMhLAPZAjjfyl9e6z7HrW6LvUdTwAQR3HHfLjpko16A==}
+ '@vitest/snapshot@4.1.4':
+ resolution: {integrity: sha512-MCjCFgaS8aZz+m5nTcEcgk/xhWv0rEH4Yl53PPlMXOZ1/Ka2VcZU6CJ+MgYCZbcJvzGhQRjVrGQNZqkGPttIKw==}
- '@vitest/spy@4.1.2':
- resolution: {integrity: sha512-DU4fBnbVCJGNBwVA6xSToNXrkZNSiw59H8tcuUspVMsBDBST4nfvsPsEHDHGtWRRnqBERBQu7TrTKskmjqTXKA==}
+ '@vitest/spy@4.1.4':
+ resolution: {integrity: sha512-XxNdAsKW7C+FLydqFJLb5KhJtl3PGCMmYwFRfhvIgxJvLSXhhVI1zM8f1qD3Zg7RCjTSzDVyct6sghs9UEgBEQ==}
- '@vitest/utils@4.1.2':
- resolution: {integrity: sha512-xw2/TiX82lQHA06cgbqRKFb5lCAy3axQ4H4SoUFhUsg+wztiet+co86IAMDtF6Vm1hc7J6j09oh/rgDn+JdKIQ==}
+ '@vitest/utils@4.1.4':
+ resolution: {integrity: sha512-13QMT+eysM5uVGa1rG4kegGYNp6cnQcsTc67ELFbhNLQO+vgsygtYJx2khvdt4gVQqSSpC/KT5FZZxUpP3Oatw==}
acorn-jsx@5.3.2:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
@@ -1335,6 +1357,10 @@ packages:
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ balanced-match@4.0.4:
+ resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==}
+ engines: {node: 18 || 20 || >=22}
+
baseline-browser-mapping@2.10.12:
resolution: {integrity: sha512-qyq26DxfY4awP2gIRXhhLWfwzwI+N5Nxk6iQi8EFizIaWIjqicQTE4sLnZZVdeKPRcVNoJOkkpfzoIYuvCKaIQ==}
engines: {node: '>=6.0.0'}
@@ -1346,11 +1372,12 @@ packages:
boolbase@1.0.0:
resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
- brace-expansion@1.1.13:
- resolution: {integrity: sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==}
+ brace-expansion@1.1.14:
+ resolution: {integrity: sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==}
- brace-expansion@2.0.3:
- resolution: {integrity: sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==}
+ brace-expansion@5.0.5:
+ resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==}
+ engines: {node: 18 || 20 || >=22}
browserslist@4.28.1:
resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==}
@@ -1871,8 +1898,8 @@ packages:
hermes-parser@0.25.1:
resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==}
- hono@4.12.9:
- resolution: {integrity: sha512-wy3T8Zm2bsEvxKZM5w21VdHDDcwVS1yUFFY6i8UobSsKfFceT7TOwhbhfKsDyx7tYQlmRM5FLpIuYvNFyjctiA==}
+ hono@4.12.12:
+ resolution: {integrity: sha512-p1JfQMKaceuCbpJKAPKVqyqviZdS0eUxH9v82oWo1kb9xjQ5wA6iP3FNVAPDFlz5/p7d45lO+BpSk1tuSZMF4Q==}
engines: {node: '>=16.9.0'}
ignore@5.3.2:
@@ -2085,24 +2112,28 @@ packages:
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
lightningcss-linux-arm64-musl@1.32.0:
resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
+ libc: [musl]
lightningcss-linux-x64-gnu@1.32.0:
resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
+ libc: [glibc]
lightningcss-linux-x64-musl@1.32.0:
resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
+ libc: [musl]
lightningcss-win32-arm64-msvc@1.32.0:
resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==}
@@ -2141,18 +2172,18 @@ packages:
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
engines: {node: '>= 0.4'}
- miniflare@4.20260317.3:
- resolution: {integrity: sha512-tK78D3X4q30/SXqVwMhWrUfH+ffRou9dJLC+jkhNy5zh1I7i7T4JH6xihOvYxdCSBavJ5fQXaaxDJz6orh09BA==}
+ miniflare@4.20260409.0:
+ resolution: {integrity: sha512-ayl6To4av0YuXsSivGgWLj+Ug8xZ0Qz3sGV8+Ok2LhNVl6m8m5ktEBM3LX9iT9MtLZRJwBlJrKcraNs/DlZQfA==}
engines: {node: '>=18.0.0'}
hasBin: true
+ minimatch@10.2.5:
+ resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==}
+ engines: {node: 18 || 20 || >=22}
+
minimatch@3.1.5:
resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==}
- minimatch@9.0.9:
- resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==}
- engines: {node: '>=16 || 14 >=14.17'}
-
minimist@1.2.8:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
@@ -2219,8 +2250,8 @@ packages:
obug@2.1.1:
resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==}
- openai@6.33.0:
- resolution: {integrity: sha512-xAYN1W3YsDXJWA5F277135YfkEk6H7D3D6vWwRhJ3OEkzRgcyK8z/P5P9Gyi/wB4N8kK9kM5ZjprfvyHagKmpw==}
+ openai@6.34.0:
+ resolution: {integrity: sha512-yEr2jdGf4tVFYG6ohmr3pF6VJuveP0EA/sS8TBx+4Eq5NT10alu5zg2dmxMXMgqpihRDQlFGpRt2XwsGj+Fyxw==}
hasBin: true
peerDependencies:
ws: ^8.18.0
@@ -2279,8 +2310,8 @@ packages:
resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
engines: {node: '>= 0.4'}
- postcss@8.5.8:
- resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==}
+ postcss@8.5.9:
+ resolution: {integrity: sha512-7a70Nsot+EMX9fFU3064K/kdHWZqGVY+BADLyXc8Dfv+mTLLVl6JzJpPaCZ2kQL9gIJvKXSLMHhqdRRjwQeFtw==}
engines: {node: ^10 || ^12 || >=14}
prelude-ls@1.2.1:
@@ -2342,8 +2373,8 @@ packages:
prettier-plugin-svelte:
optional: true
- prettier@3.8.1:
- resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==}
+ prettier@3.8.2:
+ resolution: {integrity: sha512-8c3mgTe0ASwWAJK+78dpviD+A8EqhndQPUBpNUIPt6+xWlIigCwfN01lWr9MAede4uqXGTEKeQWTvzb3vjia0Q==}
engines: {node: '>=14'}
hasBin: true
@@ -2514,12 +2545,12 @@ packages:
tinybench@2.9.0:
resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
- tinyexec@1.0.4:
- resolution: {integrity: sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw==}
+ tinyexec@1.1.1:
+ resolution: {integrity: sha512-VKS/ZaQhhkKFMANmAOhhXVoIfBXblQxGX1myCQ2faQrfmobMftXeJPcZGp0gS07ocvGJWDLZGyOZDadDBqYIJg==}
engines: {node: '>=18'}
- tinyglobby@0.2.15:
- resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
+ tinyglobby@0.2.16:
+ resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==}
engines: {node: '>=12.0.0'}
tinyrainbow@3.1.0:
@@ -2563,15 +2594,15 @@ packages:
resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==}
engines: {node: '>= 0.4'}
- typescript-eslint@8.56.0:
- resolution: {integrity: sha512-c7toRLrotJ9oixgdW7liukZpsnq5CZ7PuKztubGYlNppuTqhIoWfhgHo/7EU0v06gS2l/x0i2NEFK1qMIf0rIg==}
+ typescript-eslint@8.58.1:
+ resolution: {integrity: sha512-gf6/oHChByg9HJvhMO1iBexJh12AqqTfnuxscMDOVqfJW3htsdRJI/GfPpHTTcyeB8cSTUY2JcZmVgoyPqcrDg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
- typescript: '>=4.8.4 <6.0.0'
+ typescript: '>=4.8.4 <6.1.0'
- typescript@5.9.3:
- resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
+ typescript@6.0.2:
+ resolution: {integrity: sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==}
engines: {node: '>=14.17'}
hasBin: true
@@ -2579,8 +2610,8 @@ packages:
resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
engines: {node: '>= 0.4'}
- undici-types@7.16.0:
- resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==}
+ undici-types@7.19.2:
+ resolution: {integrity: sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==}
undici@7.24.4:
resolution: {integrity: sha512-BM/JzwwaRXxrLdElV2Uo6cTLEjhSb3WXboncJamZ15NgUURmvlXvxa6xkwIOILIjPNo9i8ku136ZvWV0Uly8+w==}
@@ -2641,18 +2672,20 @@ packages:
yaml:
optional: true
- vitest@4.1.2:
- resolution: {integrity: sha512-xjR1dMTVHlFLh98JE3i/f/WePqJsah4A0FK9cc8Ehp9Udk0AZk6ccpIZhh1qJ/yxVWRZ+Q54ocnD8TXmkhspGg==}
+ vitest@4.1.4:
+ resolution: {integrity: sha512-tFuJqTxKb8AvfyqMfnavXdzfy3h3sWZRWwfluGbkeR7n0HUev+FmNgZ8SDrRBTVrVCjgH5cA21qGbCffMNtWvg==}
engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0}
hasBin: true
peerDependencies:
'@edge-runtime/vm': '*'
'@opentelemetry/api': ^1.9.0
'@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0
- '@vitest/browser-playwright': 4.1.2
- '@vitest/browser-preview': 4.1.2
- '@vitest/browser-webdriverio': 4.1.2
- '@vitest/ui': 4.1.2
+ '@vitest/browser-playwright': 4.1.4
+ '@vitest/browser-preview': 4.1.4
+ '@vitest/browser-webdriverio': 4.1.4
+ '@vitest/coverage-istanbul': 4.1.4
+ '@vitest/coverage-v8': 4.1.4
+ '@vitest/ui': 4.1.4
happy-dom: '*'
jsdom: '*'
vite: ^6.0.0 || ^7.0.0 || ^8.0.0
@@ -2669,6 +2702,10 @@ packages:
optional: true
'@vitest/browser-webdriverio':
optional: true
+ '@vitest/coverage-istanbul':
+ optional: true
+ '@vitest/coverage-v8':
+ optional: true
'@vitest/ui':
optional: true
happy-dom:
@@ -2706,17 +2743,17 @@ packages:
resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
engines: {node: '>=0.10.0'}
- workerd@1.20260317.1:
- resolution: {integrity: sha512-ZuEq1OdrJBS+NV+L5HMYPCzVn49a2O60slQiiLpG44jqtlOo+S167fWC76kEXteXLLLydeuRrluRel7WdOUa4g==}
+ workerd@1.20260409.1:
+ resolution: {integrity: sha512-kuWP20fAaqaLBqLbvUfY9nCF6c3C78L60G9lS6eVwBf+v8trVFIsAdLB/FtrnKm7vgVvpDzvFAfB80VIiVj95w==}
engines: {node: '>=16'}
hasBin: true
- wrangler@4.78.0:
- resolution: {integrity: sha512-He/vUhk4ih0D0eFmtNnlbT6Od8j+BEokaSR+oYjbVsH0SWIrIch+eHqfLRSBjBQaOoh6HCNxcafcIkBm2u0Hag==}
+ wrangler@4.81.1:
+ resolution: {integrity: sha512-fppPXi+W2KJ5bx1zxdUYe1e7CHj5cWPFVBPXy8hSMZhrHeIojMe3ozAktAOw1voVuQjXzbZJf/GVKyVeSjbF8w==}
engines: {node: '>=20.3.0'}
hasBin: true
peerDependencies:
- '@cloudflare/workers-types': ^4.20260317.1
+ '@cloudflare/workers-types': ^4.20260409.1
peerDependenciesMeta:
'@cloudflare/workers-types':
optional: true
@@ -2859,28 +2896,28 @@ snapshots:
'@cloudflare/kv-asset-handler@0.4.2': {}
- '@cloudflare/unenv-preset@2.16.0(unenv@2.0.0-rc.24)(workerd@1.20260317.1)':
+ '@cloudflare/unenv-preset@2.16.0(unenv@2.0.0-rc.24)(workerd@1.20260409.1)':
dependencies:
unenv: 2.0.0-rc.24
optionalDependencies:
- workerd: 1.20260317.1
+ workerd: 1.20260409.1
- '@cloudflare/workerd-darwin-64@1.20260317.1':
+ '@cloudflare/workerd-darwin-64@1.20260409.1':
optional: true
- '@cloudflare/workerd-darwin-arm64@1.20260317.1':
+ '@cloudflare/workerd-darwin-arm64@1.20260409.1':
optional: true
- '@cloudflare/workerd-linux-64@1.20260317.1':
+ '@cloudflare/workerd-linux-64@1.20260409.1':
optional: true
- '@cloudflare/workerd-linux-arm64@1.20260317.1':
+ '@cloudflare/workerd-linux-arm64@1.20260409.1':
optional: true
- '@cloudflare/workerd-windows-64@1.20260317.1':
+ '@cloudflare/workerd-windows-64@1.20260409.1':
optional: true
- '@cloudflare/workers-types@4.20260317.1': {}
+ '@cloudflare/workers-types@4.20260412.1': {}
'@cspotcode/source-map-support@0.8.1':
dependencies:
@@ -2894,7 +2931,7 @@ snapshots:
tslib: 2.8.1
optional: true
- '@emnapi/runtime@1.9.1':
+ '@emnapi/runtime@1.9.2':
dependencies:
tslib: 2.8.1
optional: true
@@ -3143,9 +3180,9 @@ snapshots:
'@eslint-community/regexpp@4.12.2': {}
- '@eslint/compat@2.0.2(eslint@9.39.1(jiti@2.6.1))':
+ '@eslint/compat@2.0.5(eslint@9.39.1(jiti@2.6.1))':
dependencies:
- '@eslint/core': 1.1.1
+ '@eslint/core': 1.2.1
optionalDependencies:
eslint: 9.39.1(jiti@2.6.1)
@@ -3165,7 +3202,7 @@ snapshots:
dependencies:
'@types/json-schema': 7.0.15
- '@eslint/core@1.1.1':
+ '@eslint/core@1.2.1':
dependencies:
'@types/json-schema': 7.0.15
@@ -3192,9 +3229,9 @@ snapshots:
'@eslint/core': 0.17.0
levn: 0.4.1
- '@hono/zod-validator@0.7.6(hono@4.12.9)(zod@4.3.6)':
+ '@hono/zod-validator@0.7.6(hono@4.12.12)(zod@4.3.6)':
dependencies:
- hono: 4.12.9
+ hono: 4.12.12
zod: 4.3.6
'@humanfs/core@0.19.1': {}
@@ -3208,13 +3245,13 @@ snapshots:
'@humanwhocodes/retry@0.4.3': {}
- '@ianvs/prettier-plugin-sort-imports@4.7.1(prettier@3.8.1)':
+ '@ianvs/prettier-plugin-sort-imports@4.7.1(prettier@3.8.2)':
dependencies:
'@babel/generator': 7.29.1
'@babel/parser': 7.29.2
'@babel/traverse': 7.29.0
'@babel/types': 7.29.0
- prettier: 3.8.1
+ prettier: 3.8.2
semver: 7.7.4
transitivePeerDependencies:
- supports-color
@@ -3303,7 +3340,7 @@ snapshots:
'@img/sharp-wasm32@0.34.5':
dependencies:
- '@emnapi/runtime': 1.9.1
+ '@emnapi/runtime': 1.9.2
optional: true
'@img/sharp-win32-arm64@0.34.5':
@@ -3339,10 +3376,10 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.5
- '@napi-rs/wasm-runtime@1.1.2(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)':
+ '@napi-rs/wasm-runtime@1.1.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.2)':
dependencies:
'@emnapi/core': 1.9.1
- '@emnapi/runtime': 1.9.1
+ '@emnapi/runtime': 1.9.2
'@tybys/wasm-util': 0.10.1
optional: true
@@ -3396,9 +3433,9 @@ snapshots:
'@rolldown/binding-openharmony-arm64@1.0.0-rc.12':
optional: true
- '@rolldown/binding-wasm32-wasi@1.0.0-rc.12(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)':
+ '@rolldown/binding-wasm32-wasi@1.0.0-rc.12(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.2)':
dependencies:
- '@napi-rs/wasm-runtime': 1.1.2(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)
+ '@napi-rs/wasm-runtime': 1.1.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.2)
transitivePeerDependencies:
- '@emnapi/core'
- '@emnapi/runtime'
@@ -3438,139 +3475,139 @@ snapshots:
'@types/json5@0.0.29': {}
- '@types/node@25.2.3':
+ '@types/node@25.6.0':
dependencies:
- undici-types: 7.16.0
+ undici-types: 7.19.2
- '@typescript-eslint/eslint-plugin@8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)':
+ '@typescript-eslint/eslint-plugin@8.58.1(@typescript-eslint/parser@8.58.1(eslint@9.39.1(jiti@2.6.1))(typescript@6.0.2))(eslint@9.39.1(jiti@2.6.1))(typescript@6.0.2)':
dependencies:
'@eslint-community/regexpp': 4.12.2
- '@typescript-eslint/parser': 8.56.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/scope-manager': 8.56.0
- '@typescript-eslint/type-utils': 8.56.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/utils': 8.56.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/visitor-keys': 8.56.0
+ '@typescript-eslint/parser': 8.58.1(eslint@9.39.1(jiti@2.6.1))(typescript@6.0.2)
+ '@typescript-eslint/scope-manager': 8.58.1
+ '@typescript-eslint/type-utils': 8.58.1(eslint@9.39.1(jiti@2.6.1))(typescript@6.0.2)
+ '@typescript-eslint/utils': 8.58.1(eslint@9.39.1(jiti@2.6.1))(typescript@6.0.2)
+ '@typescript-eslint/visitor-keys': 8.58.1
eslint: 9.39.1(jiti@2.6.1)
ignore: 7.0.5
natural-compare: 1.4.0
- ts-api-utils: 2.5.0(typescript@5.9.3)
- typescript: 5.9.3
+ ts-api-utils: 2.5.0(typescript@6.0.2)
+ typescript: 6.0.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.56.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)':
+ '@typescript-eslint/parser@8.58.1(eslint@9.39.1(jiti@2.6.1))(typescript@6.0.2)':
dependencies:
- '@typescript-eslint/scope-manager': 8.56.0
- '@typescript-eslint/types': 8.56.0
- '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3)
- '@typescript-eslint/visitor-keys': 8.56.0
+ '@typescript-eslint/scope-manager': 8.58.1
+ '@typescript-eslint/types': 8.58.1
+ '@typescript-eslint/typescript-estree': 8.58.1(typescript@6.0.2)
+ '@typescript-eslint/visitor-keys': 8.58.1
debug: 4.4.3
eslint: 9.39.1(jiti@2.6.1)
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/project-service@8.56.0(typescript@5.9.3)':
+ '@typescript-eslint/project-service@8.58.1(typescript@6.0.2)':
dependencies:
- '@typescript-eslint/tsconfig-utils': 8.56.0(typescript@5.9.3)
- '@typescript-eslint/types': 8.56.0
+ '@typescript-eslint/tsconfig-utils': 8.58.1(typescript@6.0.2)
+ '@typescript-eslint/types': 8.58.1
debug: 4.4.3
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@8.56.0':
+ '@typescript-eslint/scope-manager@8.58.1':
dependencies:
- '@typescript-eslint/types': 8.56.0
- '@typescript-eslint/visitor-keys': 8.56.0
+ '@typescript-eslint/types': 8.58.1
+ '@typescript-eslint/visitor-keys': 8.58.1
- '@typescript-eslint/tsconfig-utils@8.56.0(typescript@5.9.3)':
+ '@typescript-eslint/tsconfig-utils@8.58.1(typescript@6.0.2)':
dependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
- '@typescript-eslint/type-utils@8.56.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)':
+ '@typescript-eslint/type-utils@8.58.1(eslint@9.39.1(jiti@2.6.1))(typescript@6.0.2)':
dependencies:
- '@typescript-eslint/types': 8.56.0
- '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3)
- '@typescript-eslint/utils': 8.56.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/types': 8.58.1
+ '@typescript-eslint/typescript-estree': 8.58.1(typescript@6.0.2)
+ '@typescript-eslint/utils': 8.58.1(eslint@9.39.1(jiti@2.6.1))(typescript@6.0.2)
debug: 4.4.3
eslint: 9.39.1(jiti@2.6.1)
- ts-api-utils: 2.5.0(typescript@5.9.3)
- typescript: 5.9.3
+ ts-api-utils: 2.5.0(typescript@6.0.2)
+ typescript: 6.0.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/types@8.56.0': {}
+ '@typescript-eslint/types@8.58.1': {}
- '@typescript-eslint/typescript-estree@8.56.0(typescript@5.9.3)':
+ '@typescript-eslint/typescript-estree@8.58.1(typescript@6.0.2)':
dependencies:
- '@typescript-eslint/project-service': 8.56.0(typescript@5.9.3)
- '@typescript-eslint/tsconfig-utils': 8.56.0(typescript@5.9.3)
- '@typescript-eslint/types': 8.56.0
- '@typescript-eslint/visitor-keys': 8.56.0
+ '@typescript-eslint/project-service': 8.58.1(typescript@6.0.2)
+ '@typescript-eslint/tsconfig-utils': 8.58.1(typescript@6.0.2)
+ '@typescript-eslint/types': 8.58.1
+ '@typescript-eslint/visitor-keys': 8.58.1
debug: 4.4.3
- minimatch: 9.0.9
+ minimatch: 10.2.5
semver: 7.7.4
- tinyglobby: 0.2.15
- ts-api-utils: 2.5.0(typescript@5.9.3)
- typescript: 5.9.3
+ tinyglobby: 0.2.16
+ ts-api-utils: 2.5.0(typescript@6.0.2)
+ typescript: 6.0.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.56.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)':
+ '@typescript-eslint/utils@8.58.1(eslint@9.39.1(jiti@2.6.1))(typescript@6.0.2)':
dependencies:
'@eslint-community/eslint-utils': 4.9.1(eslint@9.39.1(jiti@2.6.1))
- '@typescript-eslint/scope-manager': 8.56.0
- '@typescript-eslint/types': 8.56.0
- '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.58.1
+ '@typescript-eslint/types': 8.58.1
+ '@typescript-eslint/typescript-estree': 8.58.1(typescript@6.0.2)
eslint: 9.39.1(jiti@2.6.1)
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/visitor-keys@8.56.0':
+ '@typescript-eslint/visitor-keys@8.58.1':
dependencies:
- '@typescript-eslint/types': 8.56.0
+ '@typescript-eslint/types': 8.58.1
eslint-visitor-keys: 5.0.1
- '@vitest/expect@4.1.2':
+ '@vitest/expect@4.1.4':
dependencies:
'@standard-schema/spec': 1.1.0
'@types/chai': 5.2.3
- '@vitest/spy': 4.1.2
- '@vitest/utils': 4.1.2
+ '@vitest/spy': 4.1.4
+ '@vitest/utils': 4.1.4
chai: 6.2.2
tinyrainbow: 3.1.0
- '@vitest/mocker@4.1.2(vite@8.0.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@types/node@25.2.3)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0))':
+ '@vitest/mocker@4.1.4(vite@8.0.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.2)(@types/node@25.6.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0))':
dependencies:
- '@vitest/spy': 4.1.2
+ '@vitest/spy': 4.1.4
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
- vite: 8.0.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@types/node@25.2.3)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)
+ vite: 8.0.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.2)(@types/node@25.6.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)
- '@vitest/pretty-format@4.1.2':
+ '@vitest/pretty-format@4.1.4':
dependencies:
tinyrainbow: 3.1.0
- '@vitest/runner@4.1.2':
+ '@vitest/runner@4.1.4':
dependencies:
- '@vitest/utils': 4.1.2
+ '@vitest/utils': 4.1.4
pathe: 2.0.3
- '@vitest/snapshot@4.1.2':
+ '@vitest/snapshot@4.1.4':
dependencies:
- '@vitest/pretty-format': 4.1.2
- '@vitest/utils': 4.1.2
+ '@vitest/pretty-format': 4.1.4
+ '@vitest/utils': 4.1.4
magic-string: 0.30.21
pathe: 2.0.3
- '@vitest/spy@4.1.2': {}
+ '@vitest/spy@4.1.4': {}
- '@vitest/utils@4.1.2':
+ '@vitest/utils@4.1.4':
dependencies:
- '@vitest/pretty-format': 4.1.2
+ '@vitest/pretty-format': 4.1.4
convert-source-map: 2.0.0
tinyrainbow: 3.1.0
@@ -3670,20 +3707,22 @@ snapshots:
balanced-match@1.0.2: {}
+ balanced-match@4.0.4: {}
+
baseline-browser-mapping@2.10.12: {}
blake3-wasm@2.1.5: {}
boolbase@1.0.0: {}
- brace-expansion@1.1.13:
+ brace-expansion@1.1.14:
dependencies:
balanced-match: 1.0.2
concat-map: 0.0.1
- brace-expansion@2.0.3:
+ brace-expansion@5.0.5:
dependencies:
- balanced-match: 1.0.2
+ balanced-match: 4.0.4
browserslist@4.28.1:
dependencies:
@@ -3822,9 +3861,9 @@ snapshots:
esbuild: 0.25.12
tsx: 4.21.0
- drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260317.1):
+ drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260412.1):
optionalDependencies:
- '@cloudflare/workers-types': 4.20260317.1
+ '@cloudflare/workers-types': 4.20260412.1
dunder-proto@1.0.1:
dependencies:
@@ -4037,17 +4076,17 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-module-utils@2.12.1(@typescript-eslint/parser@8.56.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.1(jiti@2.6.1)):
+ eslint-module-utils@2.12.1(@typescript-eslint/parser@8.58.1(eslint@9.39.1(jiti@2.6.1))(typescript@6.0.2))(eslint-import-resolver-node@0.3.9)(eslint@9.39.1(jiti@2.6.1)):
dependencies:
debug: 3.2.7
optionalDependencies:
- '@typescript-eslint/parser': 8.56.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.58.1(eslint@9.39.1(jiti@2.6.1))(typescript@6.0.2)
eslint: 9.39.1(jiti@2.6.1)
eslint-import-resolver-node: 0.3.9
transitivePeerDependencies:
- supports-color
- eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.56.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1)):
+ eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.58.1(eslint@9.39.1(jiti@2.6.1))(typescript@6.0.2))(eslint@9.39.1(jiti@2.6.1)):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.9
@@ -4058,7 +4097,7 @@ snapshots:
doctrine: 2.1.0
eslint: 9.39.1(jiti@2.6.1)
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.56.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.1(jiti@2.6.1))
+ eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.58.1(eslint@9.39.1(jiti@2.6.1))(typescript@6.0.2))(eslint-import-resolver-node@0.3.9)(eslint@9.39.1(jiti@2.6.1))
hasown: 2.0.2
is-core-module: 2.16.1
is-glob: 4.0.3
@@ -4070,7 +4109,7 @@ snapshots:
string.prototype.trimend: 1.0.9
tsconfig-paths: 3.15.0
optionalDependencies:
- '@typescript-eslint/parser': 8.56.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.58.1(eslint@9.39.1(jiti@2.6.1))(typescript@6.0.2)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
@@ -4306,7 +4345,7 @@ snapshots:
dependencies:
hermes-estree: 0.25.1
- hono@4.12.9: {}
+ hono@4.12.12: {}
ignore@5.3.2: {}
@@ -4553,25 +4592,25 @@ snapshots:
math-intrinsics@1.1.0: {}
- miniflare@4.20260317.3:
+ miniflare@4.20260409.0:
dependencies:
'@cspotcode/source-map-support': 0.8.1
sharp: 0.34.5
undici: 7.24.4
- workerd: 1.20260317.1
+ workerd: 1.20260409.1
ws: 8.18.0
youch: 4.1.0-beta.10
transitivePeerDependencies:
- bufferutil
- utf-8-validate
- minimatch@3.1.5:
+ minimatch@10.2.5:
dependencies:
- brace-expansion: 1.1.13
+ brace-expansion: 5.0.5
- minimatch@9.0.9:
+ minimatch@3.1.5:
dependencies:
- brace-expansion: 2.0.3
+ brace-expansion: 1.1.14
minimist@1.2.8: {}
@@ -4647,7 +4686,7 @@ snapshots:
obug@2.1.1: {}
- openai@6.33.0(ws@8.18.0)(zod@4.3.6):
+ openai@6.34.0(ws@8.18.0)(zod@4.3.6):
optionalDependencies:
ws: 8.18.0
zod: 4.3.6
@@ -4695,7 +4734,7 @@ snapshots:
possible-typed-array-names@1.1.0: {}
- postcss@8.5.8:
+ postcss@8.5.9:
dependencies:
nanoid: 3.3.11
picocolors: 1.1.1
@@ -4703,13 +4742,13 @@ snapshots:
prelude-ls@1.2.1: {}
- prettier-plugin-tailwindcss@0.7.2(@ianvs/prettier-plugin-sort-imports@4.7.1(prettier@3.8.1))(prettier@3.8.1):
+ prettier-plugin-tailwindcss@0.7.2(@ianvs/prettier-plugin-sort-imports@4.7.1(prettier@3.8.2))(prettier@3.8.2):
dependencies:
- prettier: 3.8.1
+ prettier: 3.8.2
optionalDependencies:
- '@ianvs/prettier-plugin-sort-imports': 4.7.1(prettier@3.8.1)
+ '@ianvs/prettier-plugin-sort-imports': 4.7.1(prettier@3.8.2)
- prettier@3.8.1: {}
+ prettier@3.8.2: {}
prop-types@15.8.1:
dependencies:
@@ -4760,7 +4799,7 @@ snapshots:
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
- rolldown@1.0.0-rc.12(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1):
+ rolldown@1.0.0-rc.12(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.2):
dependencies:
'@oxc-project/types': 0.122.0
'@rolldown/pluginutils': 1.0.0-rc.12
@@ -4777,7 +4816,7 @@ snapshots:
'@rolldown/binding-linux-x64-gnu': 1.0.0-rc.12
'@rolldown/binding-linux-x64-musl': 1.0.0-rc.12
'@rolldown/binding-openharmony-arm64': 1.0.0-rc.12
- '@rolldown/binding-wasm32-wasi': 1.0.0-rc.12(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)
+ '@rolldown/binding-wasm32-wasi': 1.0.0-rc.12(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.2)
'@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.12
'@rolldown/binding-win32-x64-msvc': 1.0.0-rc.12
transitivePeerDependencies:
@@ -4972,18 +5011,18 @@ snapshots:
tinybench@2.9.0: {}
- tinyexec@1.0.4: {}
+ tinyexec@1.1.1: {}
- tinyglobby@0.2.15:
+ tinyglobby@0.2.16:
dependencies:
fdir: 6.5.0(picomatch@4.0.4)
picomatch: 4.0.4
tinyrainbow@3.1.0: {}
- ts-api-utils@2.5.0(typescript@5.9.3):
+ ts-api-utils@2.5.0(typescript@6.0.2):
dependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
tsconfig-paths@3.15.0:
dependencies:
@@ -5039,18 +5078,18 @@ snapshots:
possible-typed-array-names: 1.1.0
reflect.getprototypeof: 1.0.10
- typescript-eslint@8.56.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3):
+ typescript-eslint@8.58.1(eslint@9.39.1(jiti@2.6.1))(typescript@6.0.2):
dependencies:
- '@typescript-eslint/eslint-plugin': 8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/parser': 8.56.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3)
- '@typescript-eslint/utils': 8.56.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/eslint-plugin': 8.58.1(@typescript-eslint/parser@8.58.1(eslint@9.39.1(jiti@2.6.1))(typescript@6.0.2))(eslint@9.39.1(jiti@2.6.1))(typescript@6.0.2)
+ '@typescript-eslint/parser': 8.58.1(eslint@9.39.1(jiti@2.6.1))(typescript@6.0.2)
+ '@typescript-eslint/typescript-estree': 8.58.1(typescript@6.0.2)
+ '@typescript-eslint/utils': 8.58.1(eslint@9.39.1(jiti@2.6.1))(typescript@6.0.2)
eslint: 9.39.1(jiti@2.6.1)
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- supports-color
- typescript@5.9.3: {}
+ typescript@6.0.2: {}
unbox-primitive@1.1.0:
dependencies:
@@ -5059,7 +5098,7 @@ snapshots:
has-symbols: 1.1.0
which-boxed-primitive: 1.1.1
- undici-types@7.16.0: {}
+ undici-types@7.19.2: {}
undici@7.24.4: {}
@@ -5077,15 +5116,15 @@ snapshots:
dependencies:
punycode: 2.3.1
- vite@8.0.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@types/node@25.2.3)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0):
+ vite@8.0.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.2)(@types/node@25.6.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0):
dependencies:
lightningcss: 1.32.0
picomatch: 4.0.4
- postcss: 8.5.8
- rolldown: 1.0.0-rc.12(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)
- tinyglobby: 0.2.15
+ postcss: 8.5.9
+ rolldown: 1.0.0-rc.12(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.2)
+ tinyglobby: 0.2.16
optionalDependencies:
- '@types/node': 25.2.3
+ '@types/node': 25.6.0
esbuild: 0.27.3
fsevents: 2.3.3
jiti: 2.6.1
@@ -5094,15 +5133,15 @@ snapshots:
- '@emnapi/core'
- '@emnapi/runtime'
- vitest@4.1.2(@types/node@25.2.3)(vite@8.0.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@types/node@25.2.3)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)):
+ vitest@4.1.4(@types/node@25.6.0)(vite@8.0.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.2)(@types/node@25.6.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)):
dependencies:
- '@vitest/expect': 4.1.2
- '@vitest/mocker': 4.1.2(vite@8.0.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@types/node@25.2.3)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0))
- '@vitest/pretty-format': 4.1.2
- '@vitest/runner': 4.1.2
- '@vitest/snapshot': 4.1.2
- '@vitest/spy': 4.1.2
- '@vitest/utils': 4.1.2
+ '@vitest/expect': 4.1.4
+ '@vitest/mocker': 4.1.4(vite@8.0.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.2)(@types/node@25.6.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0))
+ '@vitest/pretty-format': 4.1.4
+ '@vitest/runner': 4.1.4
+ '@vitest/snapshot': 4.1.4
+ '@vitest/spy': 4.1.4
+ '@vitest/utils': 4.1.4
es-module-lexer: 2.0.0
expect-type: 1.3.0
magic-string: 0.30.21
@@ -5111,13 +5150,13 @@ snapshots:
picomatch: 4.0.4
std-env: 4.0.0
tinybench: 2.9.0
- tinyexec: 1.0.4
- tinyglobby: 0.2.15
+ tinyexec: 1.1.1
+ tinyglobby: 0.2.16
tinyrainbow: 3.1.0
- vite: 8.0.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@types/node@25.2.3)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)
+ vite: 8.0.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.2)(@types/node@25.6.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)
why-is-node-running: 2.3.0
optionalDependencies:
- '@types/node': 25.2.3
+ '@types/node': 25.6.0
transitivePeerDependencies:
- msw
@@ -5173,26 +5212,26 @@ snapshots:
word-wrap@1.2.5: {}
- workerd@1.20260317.1:
+ workerd@1.20260409.1:
optionalDependencies:
- '@cloudflare/workerd-darwin-64': 1.20260317.1
- '@cloudflare/workerd-darwin-arm64': 1.20260317.1
- '@cloudflare/workerd-linux-64': 1.20260317.1
- '@cloudflare/workerd-linux-arm64': 1.20260317.1
- '@cloudflare/workerd-windows-64': 1.20260317.1
+ '@cloudflare/workerd-darwin-64': 1.20260409.1
+ '@cloudflare/workerd-darwin-arm64': 1.20260409.1
+ '@cloudflare/workerd-linux-64': 1.20260409.1
+ '@cloudflare/workerd-linux-arm64': 1.20260409.1
+ '@cloudflare/workerd-windows-64': 1.20260409.1
- wrangler@4.78.0(@cloudflare/workers-types@4.20260317.1):
+ wrangler@4.81.1(@cloudflare/workers-types@4.20260412.1):
dependencies:
'@cloudflare/kv-asset-handler': 0.4.2
- '@cloudflare/unenv-preset': 2.16.0(unenv@2.0.0-rc.24)(workerd@1.20260317.1)
+ '@cloudflare/unenv-preset': 2.16.0(unenv@2.0.0-rc.24)(workerd@1.20260409.1)
blake3-wasm: 2.1.5
esbuild: 0.27.3
- miniflare: 4.20260317.3
+ miniflare: 4.20260409.0
path-to-regexp: 6.3.0
unenv: 2.0.0-rc.24
- workerd: 1.20260317.1
+ workerd: 1.20260409.1
optionalDependencies:
- '@cloudflare/workers-types': 4.20260317.1
+ '@cloudflare/workers-types': 4.20260412.1
fsevents: 2.3.3
transitivePeerDependencies:
- bufferutil
diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json
index b6392c8..4474572 100644
--- a/tooling/eslint/package.json
+++ b/tooling/eslint/package.json
@@ -7,20 +7,20 @@
"./react": "./react.ts"
},
"dependencies": {
- "@eslint/compat": "2.0.2",
+ "@eslint/compat": "2.0.5",
"@eslint/js": "9.39.1",
"eslint-plugin-import": "2.32.0",
"eslint-plugin-react": "7.37.5",
"eslint-plugin-react-hooks": "7.0.1",
"jiti": "2.6.1",
- "typescript-eslint": "8.56.0"
+ "typescript-eslint": "8.58.1"
},
"devDependencies": {
"@repo/prettier": "workspace:*",
"@repo/typescript": "workspace:*",
- "@types/node": "25.2.3",
+ "@types/node": "25.6.0",
"eslint": "9.39.1",
- "prettier": "3.8.1",
- "typescript": "5.9.3"
+ "prettier": "3.8.2",
+ "typescript": "6.0.2"
}
}
diff --git a/tooling/prettier/package.json b/tooling/prettier/package.json
index c6b8f6d..734156d 100644
--- a/tooling/prettier/package.json
+++ b/tooling/prettier/package.json
@@ -8,10 +8,10 @@
"devDependencies": {
"@ianvs/prettier-plugin-sort-imports": "4.7.1",
"@repo/typescript": "workspace:*",
- "@types/node": "25.2.3",
- "prettier": "3.8.1",
+ "@types/node": "25.6.0",
+ "prettier": "3.8.2",
"prettier-plugin-tailwindcss": "0.7.2",
- "typescript": "5.9.3"
+ "typescript": "6.0.2"
},
"prettier": "@repo/prettier"
}
From ae9896ae4422a29a1fb0adc29ea12266ed19d620 Mon Sep 17 00:00:00 2001
From: Juha Kangas <42040080+valuecodes@users.noreply.github.com>
Date: Sun, 26 Apr 2026 12:26:22 +0300
Subject: [PATCH 2/4] chore: drop push step from pr-open command
---
.claude/commands/pr-open.md | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/.claude/commands/pr-open.md b/.claude/commands/pr-open.md
index 52ec4c5..b81c4b4 100644
--- a/.claude/commands/pr-open.md
+++ b/.claude/commands/pr-open.md
@@ -1,10 +1,10 @@
---
description: Open a GitHub PR for the current branch with an auto-generated title and body
-allowed-tools: Bash(git diff:*), Bash(git log:*), Bash(git status:*), Bash(git rev-parse:*), Bash(git branch:*), Bash(git push:*), Bash(gh auth status:*), Bash(gh pr create:*), Bash(gh pr view:*), Bash(gh repo view:*)
+allowed-tools: Bash(git diff:*), Bash(git log:*), Bash(git status:*), Bash(git rev-parse:*), Bash(git branch:*), Bash(gh auth status:*), Bash(gh pr create:*), Bash(gh pr view:*), Bash(gh repo view:*)
argument-hint: [--draft]
---
-Open a GitHub PR for the current branch. Generate the title + body, show them to me, confirm, then push + create.
+Open a GitHub PR for the current branch. Generate the title + body, show them to the user, get confirmation, then create the PR. The user pushes the branch themselves — never run `git push`.
Arguments: `$ARGUMENTS` — if it contains `--draft`, create the PR as draft.
@@ -17,7 +17,8 @@ Stop with a clear message if any of these fail:
3. Determine base branch: try `main`, fall back to `master`. If neither exists, stop.
4. `git log ..HEAD --oneline` — if empty, stop ("nothing to PR").
5. `gh pr view --json url,state` on the current branch — if a PR already exists, print its URL and stop. Do NOT create a duplicate.
-6. `git status --porcelain` — if there are uncommitted changes, warn me but do NOT commit them.
+6. `git status --porcelain` — if there are uncommitted changes, warn the user but do NOT commit them.
+7. Verify the branch is on the remote with `gh api repos/{owner}/{repo}/branches/` (or equivalent) — if it 404s, stop and tell the user to push first. Do NOT push for them.
## Generate
@@ -38,16 +39,15 @@ Run `git diff ...HEAD` and `git log ..HEAD --oneline`, then produce:
## Confirm
-Show me the title and body in two separate fenced code blocks. Then ASK explicitly: `Open this PR? (yes / edit / cancel)`. Wait for my reply. Do NOT push or create the PR without my confirmation.
+Show the user the title and body in two separate fenced code blocks. Then ASK explicitly: `Open this PR? (yes / edit / cancel)`. Wait for the user's reply. Do NOT create the PR without confirmation.
-If I say "edit", let me edit, then re-confirm.
+If the user says "edit", let them edit, then re-confirm.
## Create
On confirmation:
-1. Push the branch with `git push -u origin ` (skip if `git status -sb` shows the branch is already published and up to date).
-2. Run `gh pr create --base --title "" --body "$(cat <<'EOF' ... EOF)"` — pass the body via heredoc so newlines survive. Add `--draft` if requested.
-3. Print the PR URL that `gh` returns.
+1. Run `gh pr create --base --title "" --body "$(cat <<'EOF' ... EOF)"` — pass the body via heredoc so newlines survive. Add `--draft` if requested.
+2. Print the PR URL that `gh` returns.
-Do not commit on my behalf. Do not push without confirmation. Do not skip the confirmation step.
+Do not commit on the user's behalf. Do not push under any circumstances — the user pushes the branch before invoking this command. Do not skip the confirmation step.
From f26cb77ac6a54606258159d6cbcc2b765e845b63 Mon Sep 17 00:00:00 2001
From: Juha Kangas <42040080+valuecodes@users.noreply.github.com>
Date: Sun, 26 Apr 2026 12:36:31 +0300
Subject: [PATCH 3/4] chore: use AskUserQuestion for slash command
confirmations
---
.claude/commands/pnpm-update.md | 12 +++++++-----
.claude/commands/pr-address.md | 22 ++++++++++++++++------
.claude/commands/pr-open.md | 10 +++++++---
3 files changed, 30 insertions(+), 14 deletions(-)
diff --git a/.claude/commands/pnpm-update.md b/.claude/commands/pnpm-update.md
index 5dd3387..28466c0 100644
--- a/.claude/commands/pnpm-update.md
+++ b/.claude/commands/pnpm-update.md
@@ -1,6 +1,6 @@
---
description: Triage outdated pnpm packages, research what each upgrade entails, then update the approved set
-allowed-tools: Bash(pnpm outdated:*), Bash(pnpm up:*), Bash(pnpm typecheck:*), Bash(pnpm lint:*), Bash(pnpm test:*), Bash(pnpm build:*), Bash(git status:*), Bash(git diff:*), Bash(cat:*), Bash(jq:*), Read, WebSearch, WebFetch
+allowed-tools: Bash(pnpm outdated:*), Bash(pnpm up:*), Bash(pnpm typecheck:*), Bash(pnpm lint:*), Bash(pnpm test:*), Bash(pnpm build:*), Bash(git status:*), Bash(git diff:*), Bash(cat:*), Bash(jq:*), Read, WebSearch, WebFetch, AskUserQuestion
argument-hint: [--dev | --prod]
---
@@ -73,11 +73,13 @@ pnpm up --latest -r ...
If the list is empty (only `hold` rows), say so and stop — nothing to upgrade automatically.
-**Gate.** Ask exactly: `Run this update? (yes / edit / cancel)`. Wait for my reply.
+**Gate.** Call the `AskUserQuestion` tool with the question `Run this update?` and these three options (in this exact order):
-- `yes` → proceed.
-- `edit` → let me reclassify rows (e.g. "move to hold", "add back in"), then re-show the command and re-confirm.
-- `cancel` → stop without running anything.
+1. `Run update (Recommended)` — proceeds to section 6.
+2. `Edit list` — let the user reclassify rows (e.g. "move to hold", "add back in"), then re-show the command and re-ask.
+3. `Cancel` — stop without running anything.
+
+Do not run `pnpm up` without an affirmative answer from `AskUserQuestion`.
## 6. Apply (only after gate = yes)
diff --git a/.claude/commands/pr-address.md b/.claude/commands/pr-address.md
index 2d2f35f..60c1696 100644
--- a/.claude/commands/pr-address.md
+++ b/.claude/commands/pr-address.md
@@ -1,6 +1,6 @@
---
description: Triage PR review comments, fix the valid ones, then reply to each comment (manual commit + push)
-allowed-tools: Bash(gh pr view:*), Bash(gh pr checks:*), Bash(gh pr comment:*), Bash(gh api:*), Bash(gh repo view:*), Bash(gh run view:*), Bash(gh run list:*), Bash(git diff:*), Bash(git log:*), Bash(git status:*), Bash(git add:*), Bash(git commit:*), Bash(git push:*), Bash(git rev-parse:*), Bash(git branch:*), Bash(pnpm:*)
+allowed-tools: Bash(gh pr view:*), Bash(gh pr checks:*), Bash(gh pr comment:*), Bash(gh api:*), Bash(gh repo view:*), Bash(gh run view:*), Bash(gh run list:*), Bash(git diff:*), Bash(git log:*), Bash(git status:*), Bash(git add:*), Bash(git commit:*), Bash(git push:*), Bash(git rev-parse:*), Bash(git branch:*), Bash(pnpm:*), AskUserQuestion
argument-hint: [PR-number]
---
@@ -62,9 +62,11 @@ Then propose a fix plan for everything classified `valid` or `ci-failure`:
Group related fixes (same file or shared root cause) into a single edit when natural.
-**GATE 1.** Ask exactly: `Triage + fix plan look right? (yes / edit / cancel)`. Wait.
+**GATE 1.** Call `AskUserQuestion` with the question `Triage + fix plan look right?` and these three options (in this exact order):
-If `edit`: let me reclassify (e.g. "id 1234 is noise") or adjust the plan, then re-confirm.
+1. `Apply fixes (Recommended)` — proceeds to section 4.
+2. `Edit triage` — let the user reclassify (e.g. "id 1234 is noise") or adjust the plan, then re-ask.
+3. `Cancel` — stop without applying anything.
## 4. Apply fixes (only after Gate 1 = yes)
@@ -80,9 +82,13 @@ If `edit`: let me reclassify (e.g. "id 1234 is noise") or adjust the plan, then
If any fail, STOP and show the failure. Do not commit broken code, do not post replies promising a non-existent fix.
4. Show me the diff (`git diff`) for review.
-**GATE 2.** Ask: `Fixes look right? (yes / edit / cancel)`. Wait.
+**GATE 2.** Call `AskUserQuestion` with the question `Fixes look right?` and these three options (in this exact order):
-On `yes`, do NOT commit and do NOT push. Instead:
+1. `Looks good (Recommended)` — proceeds to draft commit message.
+2. `Edit fixes` — let the user request adjustments, then re-validate and re-ask.
+3. `Cancel` — stop; leave the working tree dirty for the user.
+
+On the affirmative answer, do NOT commit and do NOT push. Instead:
5. Print a suggested commit message I can copy-paste:
@@ -109,7 +115,11 @@ Style: terse, one or two sentences max. Per-class template:
Show all drafts in one block, grouped by comment id.
-**GATE 3.** Ask: `Post these replies (and resolve threads for fix-landed rows)? (yes / edit / cancel)`. Wait.
+**GATE 3.** Call `AskUserQuestion` with the question `Post these replies (and resolve threads for fix-landed rows)?` and these three options (in this exact order):
+
+1. `Post replies (Recommended)` — proceeds to section 6.
+2. `Edit drafts` — let the user revise specific replies, then re-ask.
+3. `Cancel` — stop without posting anything.
## 6. Post replies + resolve threads (only after Gate 3 = yes)
diff --git a/.claude/commands/pr-open.md b/.claude/commands/pr-open.md
index b81c4b4..ca06786 100644
--- a/.claude/commands/pr-open.md
+++ b/.claude/commands/pr-open.md
@@ -1,6 +1,6 @@
---
description: Open a GitHub PR for the current branch with an auto-generated title and body
-allowed-tools: Bash(git diff:*), Bash(git log:*), Bash(git status:*), Bash(git rev-parse:*), Bash(git branch:*), Bash(gh auth status:*), Bash(gh pr create:*), Bash(gh pr view:*), Bash(gh repo view:*)
+allowed-tools: Bash(git diff:*), Bash(git log:*), Bash(git status:*), Bash(git rev-parse:*), Bash(git branch:*), Bash(gh auth status:*), Bash(gh pr create:*), Bash(gh pr view:*), Bash(gh repo view:*), AskUserQuestion
argument-hint: [--draft]
---
@@ -39,9 +39,13 @@ Run `git diff ...HEAD` and `git log ..HEAD --oneline`, then produce:
## Confirm
-Show the user the title and body in two separate fenced code blocks. Then ASK explicitly: `Open this PR? (yes / edit / cancel)`. Wait for the user's reply. Do NOT create the PR without confirmation.
+Show the user the title and body in two separate fenced code blocks. Then call the `AskUserQuestion` tool with the question `Open this PR?` and these three options (in this exact order):
-If the user says "edit", let them edit, then re-confirm.
+1. `Open PR (Recommended)` — proceeds to the Create step.
+2. `Edit first` — let the user edit the title/body, then re-confirm.
+3. `Cancel` — stop without creating the PR.
+
+Do NOT create the PR without an affirmative answer from `AskUserQuestion`.
## Create
From a3a7213214d7ebb9b6a878e6cb30afe8e99bd4f3 Mon Sep 17 00:00:00 2001
From: Juha Kangas <42040080+valuecodes@users.noreply.github.com>
Date: Sun, 26 Apr 2026 12:43:49 +0300
Subject: [PATCH 4/4] fix: allow gh api in pr-open command tools
---
.claude/commands/pr-open.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.claude/commands/pr-open.md b/.claude/commands/pr-open.md
index ca06786..6dce486 100644
--- a/.claude/commands/pr-open.md
+++ b/.claude/commands/pr-open.md
@@ -1,6 +1,6 @@
---
description: Open a GitHub PR for the current branch with an auto-generated title and body
-allowed-tools: Bash(git diff:*), Bash(git log:*), Bash(git status:*), Bash(git rev-parse:*), Bash(git branch:*), Bash(gh auth status:*), Bash(gh pr create:*), Bash(gh pr view:*), Bash(gh repo view:*), AskUserQuestion
+allowed-tools: Bash(git diff:*), Bash(git log:*), Bash(git status:*), Bash(git rev-parse:*), Bash(git branch:*), Bash(gh auth status:*), Bash(gh api:*), Bash(gh pr create:*), Bash(gh pr view:*), Bash(gh repo view:*), AskUserQuestion
argument-hint: [--draft]
---