From 10527ff8a332b122d03a67bad86f5987eb940dd4 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 27 Mar 2026 02:25:58 +0000 Subject: [PATCH] build: refresh deps and vitest cache lanes --- docs/help/testing.md | 4 +- docs/reference/test.md | 2 +- extensions/diagnostics-otel/package.json | 20 +- extensions/diffs/package.json | 2 +- extensions/feishu/package.json | 2 +- extensions/matrix/package.json | 2 +- extensions/memory-lancedb/package.json | 2 +- extensions/msteams/package.json | 4 +- extensions/tlon/package.json | 4 +- extensions/zalo/package.json | 2 +- package.json | 44 +- pnpm-lock.yaml | 2483 +++++++------- scripts/test-planner/executor.mjs | 69 +- ...compaction.identifier-preservation.test.ts | 6 +- src/agents/compaction.retry.test.ts | 2 +- src/agents/compaction.ts | 4 + .../pi-extensions/compaction-safeguard.ts | 23 +- src/agents/skills-install.download.test.ts | 8 +- src/agents/skills-install.ts | 4 +- src/agents/skills-status.test.ts | 8 +- src/agents/skills-status.ts | 4 +- .../skills.buildworkspaceskillstatus.test.ts | 8 +- .../skills.resolveskillspromptforrun.test.ts | 8 +- src/agents/skills/compact-format.test.ts | 8 +- src/agents/skills/config.ts | 2 +- src/cli/skills-cli.format.ts | 2 +- src/cli/skills-cli.formatting.test.ts | 9 +- src/security/audit-extra.async.ts | 2 +- test/scripts/test-planner.test.ts | 40 + test/vitest-performance-config.test.ts | 16 + ui/package.json | 6 +- ui/src/ui/app-render.helpers.ts | 83 +- ui/src/ui/app-render.ts | 2852 ++++++++--------- ui/src/ui/chat/grouped-render.ts | 128 +- ui/src/ui/chat/tool-cards.ts | 48 +- ui/src/ui/components/dashboard-header.ts | 5 +- ui/src/ui/icons.ts | 20 +- ui/src/ui/views/agents-panels-overview.ts | 64 +- ui/src/ui/views/agents-panels-status-files.ts | 518 ++- ui/src/ui/views/agents-panels-tools-skills.ts | 394 ++- ui/src/ui/views/agents.ts | 357 +-- ui/src/ui/views/channels.config.ts | 38 +- ui/src/ui/views/channels.discord.ts | 8 +- ui/src/ui/views/channels.googlechat.ts | 8 +- ui/src/ui/views/channels.imessage.ts | 7 +- .../ui/views/channels.nostr-profile-form.ts | 104 +- ui/src/ui/views/channels.nostr.ts | 116 +- ui/src/ui/views/channels.shared.ts | 17 +- ui/src/ui/views/channels.signal.ts | 8 +- ui/src/ui/views/channels.slack.ts | 8 +- ui/src/ui/views/channels.telegram.ts | 58 +- ui/src/ui/views/channels.ts | 56 +- ui/src/ui/views/channels.whatsapp.ts | 33 +- ui/src/ui/views/chat.ts | 411 +-- ui/src/ui/views/command-palette.ts | 81 +- ui/src/ui/views/config-form.node.ts | 512 ++- ui/src/ui/views/config-form.render.ts | 90 +- ui/src/ui/views/config.ts | 438 ++- ui/src/ui/views/cron.ts | 1092 ++++--- ui/src/ui/views/debug.ts | 65 +- ui/src/ui/views/exec-approval.ts | 25 +- ui/src/ui/views/gateway-url-confirmation.ts | 12 +- ui/src/ui/views/instances.ts | 41 +- ui/src/ui/views/login-gate.ts | 20 +- ui/src/ui/views/logs.ts | 44 +- ui/src/ui/views/markdown-sidebar.ts | 20 +- ui/src/ui/views/nodes-exec-approvals.ts | 130 +- ui/src/ui/views/nodes.ts | 135 +- ui/src/ui/views/overview-attention.ts | 11 +- ui/src/ui/views/overview-cards.ts | 46 +- ui/src/ui/views/overview-event-log.ts | 10 +- ui/src/ui/views/overview-log-tail.ts | 3 +- ui/src/ui/views/overview.ts | 104 +- ui/src/ui/views/sessions.ts | 227 +- ui/src/ui/views/skills-shared.ts | 16 +- ui/src/ui/views/skills.ts | 162 +- ui/src/ui/views/usage-metrics.ts | 4 +- ui/src/ui/views/usage-render-details.ts | 583 ++-- ui/src/ui/views/usage-render-overview.ts | 363 ++- ui/src/ui/views/usage.ts | 383 +-- vendor/a2ui/renderers/lit/tsconfig.json | 1 + vitest.performance-config.ts | 5 + 82 files changed, 6215 insertions(+), 6549 deletions(-) diff --git a/docs/help/testing.md b/docs/help/testing.md index 8965ddfdd96..acada562f78 100644 --- a/docs/help/testing.md +++ b/docs/help/testing.md @@ -92,8 +92,8 @@ Think of the suites as “increasing realism” (and increasing flakiness/cost): - `pnpm test:max` exposes that same planner profile for a full local run. - On supported local Node versions, including Node 25, the normal profile can use top-level lane parallelism. `pnpm test:max` still pushes the planner harder when you want a more aggressive local run. - The base Vitest config marks the wrapper manifests/config files as `forceRerunTriggers` so changed-mode reruns stay correct when scheduler inputs change. - - Vitest's filesystem module cache is now enabled by default for Node-side test reruns. - - Opt out with `OPENCLAW_VITEST_FS_MODULE_CACHE=0` or `OPENCLAW_VITEST_FS_MODULE_CACHE=false` if you suspect stale transform cache behavior. + - The wrapper keeps `OPENCLAW_VITEST_FS_MODULE_CACHE` enabled on supported hosts, but assigns a lane-local `OPENCLAW_VITEST_FS_MODULE_CACHE_PATH` so concurrent Vitest processes do not race on one shared experimental cache directory. + - Set `OPENCLAW_VITEST_FS_MODULE_CACHE_PATH=/abs/path` if you want one explicit cache location for direct single-run profiling. - Perf-debug note: - `pnpm test:perf:imports` enables Vitest import-duration reporting plus import-breakdown output. - `pnpm test:perf:imports:changed` scopes the same profiling view to files changed since `origin/main`. diff --git a/docs/reference/test.md b/docs/reference/test.md index 840dd3ba4c0..edb481c0858 100644 --- a/docs/reference/test.md +++ b/docs/reference/test.md @@ -40,7 +40,7 @@ For local PR land/gate checks, run: If `pnpm test` flakes on a loaded host, rerun once before treating it as a regression, then isolate with `pnpm vitest run `. For memory-constrained hosts, use: - `OPENCLAW_TEST_PROFILE=low OPENCLAW_TEST_SERIAL_GATEWAY=1 pnpm test` -- `OPENCLAW_VITEST_FS_MODULE_CACHE=0 pnpm test:changed` +- `OPENCLAW_VITEST_FS_MODULE_CACHE_PATH=/tmp/openclaw-vitest-cache pnpm test:changed` ## Model latency bench (local keys) diff --git a/extensions/diagnostics-otel/package.json b/extensions/diagnostics-otel/package.json index 5162ff1b8d6..a225426fe72 100644 --- a/extensions/diagnostics-otel/package.json +++ b/extensions/diagnostics-otel/package.json @@ -4,16 +4,16 @@ "description": "OpenClaw diagnostics OpenTelemetry exporter", "type": "module", "dependencies": { - "@opentelemetry/api": "^1.9.0", - "@opentelemetry/api-logs": "^0.213.0", - "@opentelemetry/exporter-logs-otlp-proto": "^0.213.0", - "@opentelemetry/exporter-metrics-otlp-proto": "^0.213.0", - "@opentelemetry/exporter-trace-otlp-proto": "^0.213.0", - "@opentelemetry/resources": "^2.6.0", - "@opentelemetry/sdk-logs": "^0.213.0", - "@opentelemetry/sdk-metrics": "^2.6.0", - "@opentelemetry/sdk-node": "^0.213.0", - "@opentelemetry/sdk-trace-base": "^2.6.0", + "@opentelemetry/api": "^1.9.1", + "@opentelemetry/api-logs": "^0.214.0", + "@opentelemetry/exporter-logs-otlp-proto": "^0.214.0", + "@opentelemetry/exporter-metrics-otlp-proto": "^0.214.0", + "@opentelemetry/exporter-trace-otlp-proto": "^0.214.0", + "@opentelemetry/resources": "^2.6.1", + "@opentelemetry/sdk-logs": "^0.214.0", + "@opentelemetry/sdk-metrics": "^2.6.1", + "@opentelemetry/sdk-node": "^0.214.0", + "@opentelemetry/sdk-trace-base": "^2.6.1", "@opentelemetry/semantic-conventions": "^1.40.0" }, "openclaw": { diff --git a/extensions/diffs/package.json b/extensions/diffs/package.json index 9b11bb99508..dadec29dbcb 100644 --- a/extensions/diffs/package.json +++ b/extensions/diffs/package.json @@ -8,7 +8,7 @@ "build:viewer": "bun build src/viewer-client.ts --target browser --format esm --minify --outfile assets/viewer-runtime.js" }, "dependencies": { - "@pierre/diffs": "1.1.3", + "@pierre/diffs": "1.1.5", "@sinclair/typebox": "0.34.48", "playwright-core": "1.58.2" }, diff --git a/extensions/feishu/package.json b/extensions/feishu/package.json index e9a767c821d..3e38fd26e8e 100644 --- a/extensions/feishu/package.json +++ b/extensions/feishu/package.json @@ -4,7 +4,7 @@ "description": "OpenClaw Feishu/Lark channel plugin (community maintained by @m1heng)", "type": "module", "dependencies": { - "@larksuiteoapi/node-sdk": "^1.59.0", + "@larksuiteoapi/node-sdk": "^1.60.0", "@sinclair/typebox": "0.34.48", "https-proxy-agent": "^8.0.0", "zod": "^4.3.6" diff --git a/extensions/matrix/package.json b/extensions/matrix/package.json index 16f575d7005..c15f482f434 100644 --- a/extensions/matrix/package.json +++ b/extensions/matrix/package.json @@ -7,7 +7,7 @@ "@matrix-org/matrix-sdk-crypto-nodejs": "^0.4.0", "fake-indexeddb": "^6.2.5", "markdown-it": "14.1.1", - "matrix-js-sdk": "41.2.0-rc.0", + "matrix-js-sdk": "41.2.0", "music-metadata": "^11.12.3", "zod": "^4.3.6" }, diff --git a/extensions/memory-lancedb/package.json b/extensions/memory-lancedb/package.json index 84ebdde2ea2..663f643bcae 100644 --- a/extensions/memory-lancedb/package.json +++ b/extensions/memory-lancedb/package.json @@ -6,7 +6,7 @@ "dependencies": { "@lancedb/lancedb": "^0.27.1", "@sinclair/typebox": "0.34.48", - "openai": "^6.32.0" + "openai": "^6.33.0" }, "openclaw": { "extensions": [ diff --git a/extensions/msteams/package.json b/extensions/msteams/package.json index 6f1db71f2d8..98f2b2393ff 100644 --- a/extensions/msteams/package.json +++ b/extensions/msteams/package.json @@ -4,8 +4,8 @@ "description": "OpenClaw Microsoft Teams channel plugin", "type": "module", "dependencies": { - "@microsoft/teams.api": "2.0.5", - "@microsoft/teams.apps": "2.0.5", + "@microsoft/teams.api": "2.0.6", + "@microsoft/teams.apps": "2.0.6", "express": "^5.2.1" }, "devDependencies": { diff --git a/extensions/tlon/package.json b/extensions/tlon/package.json index b351d7a45b0..3e40cba85e6 100644 --- a/extensions/tlon/package.json +++ b/extensions/tlon/package.json @@ -4,8 +4,8 @@ "description": "OpenClaw Tlon/Urbit channel plugin", "type": "module", "dependencies": { - "@aws-sdk/client-s3": "3.1014.0", - "@aws-sdk/s3-request-presigner": "3.1014.0", + "@aws-sdk/client-s3": "3.1018.0", + "@aws-sdk/s3-request-presigner": "3.1018.0", "@tloncorp/tlon-skill": "0.3.0", "@urbit/aura": "^3.0.0", "zod": "^4.3.6" diff --git a/extensions/zalo/package.json b/extensions/zalo/package.json index 7e95fc0d219..30370160aa8 100644 --- a/extensions/zalo/package.json +++ b/extensions/zalo/package.json @@ -4,7 +4,7 @@ "description": "OpenClaw Zalo channel plugin", "type": "module", "dependencies": { - "undici": "7.24.5", + "undici": "7.24.6", "zod": "^4.3.6" }, "devDependencies": { diff --git a/package.json b/package.json index f745ebaccbf..6496a3abe66 100644 --- a/package.json +++ b/package.json @@ -810,18 +810,18 @@ "ui:install": "node scripts/ui.js install" }, "dependencies": { - "@agentclientprotocol/sdk": "0.16.1", + "@agentclientprotocol/sdk": "0.17.0", "@anthropic-ai/vertex-sdk": "^0.14.4", - "@aws-sdk/client-bedrock": "^3.1014.0", + "@aws-sdk/client-bedrock": "^3.1018.0", "@clack/prompts": "^1.1.0", "@homebridge/ciao": "^1.3.5", "@line/bot-sdk": "^10.6.0", "@lydell/node-pty": "1.2.0-beta.3", - "@mariozechner/pi-agent-core": "0.61.1", - "@mariozechner/pi-ai": "0.61.1", - "@mariozechner/pi-coding-agent": "0.61.1", - "@mariozechner/pi-tui": "0.61.1", - "@modelcontextprotocol/sdk": "1.27.1", + "@mariozechner/pi-agent-core": "0.63.0", + "@mariozechner/pi-ai": "0.63.0", + "@mariozechner/pi-coding-agent": "0.63.0", + "@mariozechner/pi-tui": "0.63.0", + "@modelcontextprotocol/sdk": "1.28.0", "@mozilla/readability": "^0.6.0", "@sinclair/typebox": "0.34.48", "ajv": "^8.18.0", @@ -832,9 +832,9 @@ "croner": "^10.0.1", "dotenv": "^17.3.1", "express": "^5.2.1", - "file-type": "21.3.4", + "file-type": "22.0.0", "gaxios": "7.1.4", - "hono": "4.12.8", + "hono": "4.12.9", "ipaddr.js": "^2.3.0", "jiti": "^2.6.1", "json5": "^2.2.3", @@ -849,9 +849,9 @@ "qrcode-terminal": "^0.12.0", "sharp": "^0.34.5", "sqlite-vec": "0.1.7", - "tar": "7.5.12", + "tar": "7.5.13", "tslog": "^4.10.2", - "undici": "^7.24.5", + "undici": "^7.24.6", "uuid": "^13.0.0", "ws": "^8.20.0", "yaml": "^2.8.3", @@ -866,19 +866,19 @@ "@types/node": "^25.5.0", "@types/qrcode-terminal": "^0.12.2", "@types/ws": "^8.18.1", - "@typescript/native-preview": "7.0.0-dev.20260322.1", - "@vitest/coverage-v8": "^4.1.0", + "@typescript/native-preview": "7.0.0-dev.20260326.1", + "@vitest/coverage-v8": "^4.1.2", "jscpd": "4.0.8", "jsdom": "^29.0.1", "lit": "^3.3.2", - "oxfmt": "0.41.0", - "oxlint": "^1.56.0", - "oxlint-tsgolint": "^0.17.1", + "oxfmt": "0.42.0", + "oxlint": "^1.57.0", + "oxlint-tsgolint": "^0.17.4", "signal-utils": "0.21.1", - "tsdown": "0.21.4", + "tsdown": "0.21.5", "tsx": "^4.21.0", - "typescript": "^5.9.3", - "vitest": "^4.1.0" + "typescript": "^6.0.2", + "vitest": "^4.1.2" }, "peerDependencies": { "@napi-rs/canvas": "^0.1.89", @@ -899,18 +899,18 @@ "pnpm": { "minimumReleaseAge": 2880, "overrides": { - "hono": "4.12.8", + "hono": "4.12.9", "@hono/node-server": "1.19.10", "fast-xml-parser": "5.5.7", "request": "npm:@cypress/request@3.0.10", "request-promise": "npm:@cypress/request-promise@5.0.0", - "file-type": "21.3.4", + "file-type": "22.0.0", "form-data": "2.5.4", "minimatch": "10.2.4", "qs": "6.14.2", "node-domexception": "npm:@nolyfill/domexception@^1.0.28", "@sinclair/typebox": "0.34.48", - "tar": "7.5.12", + "tar": "7.5.13", "tough-cookie": "4.1.3", "yauzl": "3.2.1" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 10a77f0c561..51a789bc9d7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,18 +5,18 @@ settings: excludeLinksFromLockfile: false overrides: - hono: 4.12.8 + hono: 4.12.9 '@hono/node-server': 1.19.10 fast-xml-parser: 5.5.7 request: npm:@cypress/request@3.0.10 request-promise: npm:@cypress/request-promise@5.0.0 - file-type: 21.3.4 + file-type: 22.0.0 form-data: 2.5.4 minimatch: 10.2.4 qs: 6.14.2 node-domexception: npm:@nolyfill/domexception@^1.0.28 '@sinclair/typebox': 0.34.48 - tar: 7.5.12 + tar: 7.5.13 tough-cookie: 4.1.3 yauzl: 3.2.1 @@ -27,14 +27,14 @@ importers: .: dependencies: '@agentclientprotocol/sdk': - specifier: 0.16.1 - version: 0.16.1(zod@4.3.6) + specifier: 0.17.0 + version: 0.17.0(zod@4.3.6) '@anthropic-ai/vertex-sdk': specifier: ^0.14.4 version: 0.14.4(zod@4.3.6) '@aws-sdk/client-bedrock': - specifier: ^3.1014.0 - version: 3.1014.0 + specifier: ^3.1018.0 + version: 3.1018.0 '@clack/prompts': specifier: ^1.1.0 version: 1.1.0 @@ -48,20 +48,20 @@ importers: specifier: 1.2.0-beta.3 version: 1.2.0-beta.3 '@mariozechner/pi-agent-core': - specifier: 0.61.1 - version: 0.61.1(@modelcontextprotocol/sdk@1.27.1(zod@4.3.6))(ws@8.20.0)(zod@4.3.6) + specifier: 0.63.0 + version: 0.63.0(@modelcontextprotocol/sdk@1.28.0(zod@4.3.6))(ws@8.20.0)(zod@4.3.6) '@mariozechner/pi-ai': - specifier: 0.61.1 - version: 0.61.1(@modelcontextprotocol/sdk@1.27.1(zod@4.3.6))(ws@8.20.0)(zod@4.3.6) + specifier: 0.63.0 + version: 0.63.0(@modelcontextprotocol/sdk@1.28.0(zod@4.3.6))(ws@8.20.0)(zod@4.3.6) '@mariozechner/pi-coding-agent': - specifier: 0.61.1 - version: 0.61.1(@modelcontextprotocol/sdk@1.27.1(zod@4.3.6))(ws@8.20.0)(zod@4.3.6) + specifier: 0.63.0 + version: 0.63.0(@modelcontextprotocol/sdk@1.28.0(zod@4.3.6))(ws@8.20.0)(zod@4.3.6) '@mariozechner/pi-tui': - specifier: 0.61.1 - version: 0.61.1 + specifier: 0.63.0 + version: 0.63.0 '@modelcontextprotocol/sdk': - specifier: 1.27.1 - version: 1.27.1(zod@4.3.6) + specifier: 1.28.0 + version: 1.28.0(zod@4.3.6) '@mozilla/readability': specifier: ^0.6.0 version: 0.6.0 @@ -96,14 +96,14 @@ importers: specifier: ^5.2.1 version: 5.2.1 file-type: - specifier: 21.3.4 - version: 21.3.4 + specifier: 22.0.0 + version: 22.0.0 gaxios: specifier: 7.1.4 version: 7.1.4 hono: - specifier: 4.12.8 - version: 4.12.8 + specifier: 4.12.9 + version: 4.12.9 ipaddr.js: specifier: ^2.3.0 version: 2.3.0 @@ -150,14 +150,14 @@ importers: specifier: 0.1.7 version: 0.1.7 tar: - specifier: 7.5.12 - version: 7.5.12 + specifier: 7.5.13 + version: 7.5.13 tslog: specifier: ^4.10.2 version: 4.10.2 undici: - specifier: ^7.24.5 - version: 7.24.5 + specifier: ^7.24.6 + version: 7.24.6 uuid: specifier: ^13.0.0 version: 13.0.0 @@ -196,11 +196,11 @@ importers: specifier: ^8.18.1 version: 8.18.1 '@typescript/native-preview': - specifier: 7.0.0-dev.20260322.1 - version: 7.0.0-dev.20260322.1 + specifier: 7.0.0-dev.20260326.1 + version: 7.0.0-dev.20260326.1 '@vitest/coverage-v8': - specifier: ^4.1.0 - version: 4.1.0(@vitest/browser@4.1.0(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.0))(vitest@4.1.0) + specifier: ^4.1.2 + version: 4.1.2(@vitest/browser@4.1.2(vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.2))(vitest@4.1.2) jscpd: specifier: 4.0.8 version: 4.0.8 @@ -211,29 +211,29 @@ importers: specifier: ^3.3.2 version: 3.3.2 oxfmt: - specifier: 0.41.0 - version: 0.41.0 + specifier: 0.42.0 + version: 0.42.0 oxlint: - specifier: ^1.56.0 - version: 1.56.0(oxlint-tsgolint@0.17.1) + specifier: ^1.57.0 + version: 1.57.0(oxlint-tsgolint@0.17.4) oxlint-tsgolint: - specifier: ^0.17.1 - version: 0.17.1 + specifier: ^0.17.4 + version: 0.17.4 signal-utils: specifier: 0.21.1 version: 0.21.1(signal-polyfill@0.2.2) tsdown: - specifier: 0.21.4 - version: 0.21.4(@typescript/native-preview@7.0.0-dev.20260322.1)(typescript@5.9.3) + specifier: 0.21.5 + version: 0.21.5(@typescript/native-preview@7.0.0-dev.20260326.1)(typescript@6.0.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.0 - version: 4.1.0(@opentelemetry/api@1.9.0)(@types/node@25.5.0)(@vitest/browser-playwright@4.1.0)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) + specifier: ^4.1.2 + version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.5.0)(@vitest/browser-playwright@4.1.2)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) optionalDependencies: openshell: specifier: 0.1.0 @@ -278,35 +278,35 @@ importers: extensions/diagnostics-otel: dependencies: '@opentelemetry/api': - specifier: ^1.9.0 - version: 1.9.0 + specifier: ^1.9.1 + version: 1.9.1 '@opentelemetry/api-logs': - specifier: ^0.213.0 - version: 0.213.0 + specifier: ^0.214.0 + version: 0.214.0 '@opentelemetry/exporter-logs-otlp-proto': - specifier: ^0.213.0 - version: 0.213.0(@opentelemetry/api@1.9.0) + specifier: ^0.214.0 + version: 0.214.0(@opentelemetry/api@1.9.1) '@opentelemetry/exporter-metrics-otlp-proto': - specifier: ^0.213.0 - version: 0.213.0(@opentelemetry/api@1.9.0) + specifier: ^0.214.0 + version: 0.214.0(@opentelemetry/api@1.9.1) '@opentelemetry/exporter-trace-otlp-proto': - specifier: ^0.213.0 - version: 0.213.0(@opentelemetry/api@1.9.0) + specifier: ^0.214.0 + version: 0.214.0(@opentelemetry/api@1.9.1) '@opentelemetry/resources': - specifier: ^2.6.0 - version: 2.6.0(@opentelemetry/api@1.9.0) + specifier: ^2.6.1 + version: 2.6.1(@opentelemetry/api@1.9.1) '@opentelemetry/sdk-logs': - specifier: ^0.213.0 - version: 0.213.0(@opentelemetry/api@1.9.0) + specifier: ^0.214.0 + version: 0.214.0(@opentelemetry/api@1.9.1) '@opentelemetry/sdk-metrics': - specifier: ^2.6.0 - version: 2.6.0(@opentelemetry/api@1.9.0) + specifier: ^2.6.1 + version: 2.6.1(@opentelemetry/api@1.9.1) '@opentelemetry/sdk-node': - specifier: ^0.213.0 - version: 0.213.0(@opentelemetry/api@1.9.0) + specifier: ^0.214.0 + version: 0.214.0(@opentelemetry/api@1.9.1) '@opentelemetry/sdk-trace-base': - specifier: ^2.6.0 - version: 2.6.0(@opentelemetry/api@1.9.0) + specifier: ^2.6.1 + version: 2.6.1(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': specifier: ^1.40.0 version: 1.40.0 @@ -314,8 +314,8 @@ importers: extensions/diffs: dependencies: '@pierre/diffs': - specifier: 1.1.3 - version: 1.1.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: 1.1.5 + version: 1.1.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@sinclair/typebox': specifier: 0.34.48 version: 0.34.48 @@ -327,7 +327,7 @@ importers: dependencies: '@buape/carbon': specifier: 0.0.0-beta-20260317045421 - version: 0.0.0-beta-20260317045421(@discordjs/opus@0.10.0)(hono@4.12.8)(opusscript@0.1.1) + version: 0.0.0-beta-20260317045421(@discordjs/opus@0.10.0)(hono@4.12.9)(opusscript@0.1.1) '@discordjs/voice': specifier: ^0.19.2 version: 0.19.2(@discordjs/opus@0.10.0)(opusscript@0.1.1) @@ -356,8 +356,8 @@ importers: extensions/feishu: dependencies: '@larksuiteoapi/node-sdk': - specifier: ^1.59.0 - version: 1.59.0 + specifier: ^1.60.0 + version: 1.60.0 '@sinclair/typebox': specifier: 0.34.48 version: 0.34.48 @@ -437,8 +437,8 @@ importers: specifier: 14.1.1 version: 14.1.1 matrix-js-sdk: - specifier: 41.2.0-rc.0 - version: 41.2.0-rc.0 + specifier: 41.2.0 + version: 41.2.0 music-metadata: specifier: ^11.12.3 version: 11.12.3 @@ -481,8 +481,8 @@ importers: specifier: 0.34.48 version: 0.34.48 openai: - specifier: ^6.32.0 - version: 6.32.0(ws@8.20.0)(zod@4.3.6) + specifier: ^6.33.0 + version: 6.33.0(ws@8.20.0)(zod@4.3.6) extensions/microsoft: dependencies: @@ -503,11 +503,11 @@ importers: extensions/msteams: dependencies: '@microsoft/teams.api': - specifier: 2.0.5 - version: 2.0.5(@microsoft/teams.cards@2.0.5)(@microsoft/teams.common@2.0.5) + specifier: 2.0.6 + version: 2.0.6 '@microsoft/teams.apps': - specifier: 2.0.5 - version: 2.0.5(@microsoft/teams.api@2.0.5(@microsoft/teams.cards@2.0.5)(@microsoft/teams.common@2.0.5))(@microsoft/teams.common@2.0.5)(@microsoft/teams.graph@2.0.5) + specifier: 2.0.6 + version: 2.0.6 express: specifier: ^5.2.1 version: 5.2.1 @@ -530,7 +530,7 @@ importers: dependencies: nostr-tools: specifier: ^2.23.3 - version: 2.23.3(typescript@5.9.3) + version: 2.23.3(typescript@6.0.2) zod: specifier: ^4.3.6 version: 4.3.6 @@ -597,11 +597,11 @@ importers: extensions/tlon: dependencies: '@aws-sdk/client-s3': - specifier: 3.1014.0 - version: 3.1014.0 + specifier: 3.1018.0 + version: 3.1018.0 '@aws-sdk/s3-request-presigner': - specifier: 3.1014.0 - version: 3.1014.0 + specifier: 3.1018.0 + version: 3.1018.0 '@tloncorp/tlon-skill': specifier: 0.3.0 version: 0.3.0 @@ -682,8 +682,8 @@ importers: extensions/zalo: dependencies: undici: - specifier: 7.24.5 - version: 7.24.5 + specifier: 7.24.6 + version: 7.24.6 zod: specifier: ^4.3.6 version: 4.3.6 @@ -739,8 +739,8 @@ importers: version: 17.0.5 devDependencies: '@vitest/browser-playwright': - specifier: 4.1.0 - version: 4.1.0(playwright@1.58.2)(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.0) + specifier: 4.1.2 + version: 4.1.2(playwright@1.58.2)(vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.2) jsdom: specifier: ^29.0.1 version: 29.0.1(@noble/hashes@2.0.1) @@ -748,11 +748,11 @@ importers: specifier: ^1.58.2 version: 1.58.2 vite: - specifier: 8.0.1 - version: 8.0.1(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) + specifier: 8.0.3 + version: 8.0.3(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) vitest: - specifier: 4.1.0 - version: 4.1.0(@opentelemetry/api@1.9.0)(@types/node@25.5.0)(@vitest/browser-playwright@4.1.0)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) + specifier: 4.1.2 + version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.5.0)(@vitest/browser-playwright@4.1.2)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) packages: @@ -761,8 +761,8 @@ packages: peerDependencies: zod: ^3.25.0 || ^4.0.0 - '@agentclientprotocol/sdk@0.16.1': - resolution: {integrity: sha512-1ad+Sc/0sCtZGHthxxvgEUo5Wsbw16I+aF+YwdiLnPwkZG8KAGUEAPK6LM6Pf69lCyJPt1Aomk1d+8oE3C4ZEw==} + '@agentclientprotocol/sdk@0.17.0': + resolution: {integrity: sha512-inBMYAEd9t4E+ULZK2os9kmLG5jbPvMLbPvY71XDDem1YteW/uDwkahg6OwsGR3tvvgVhYbRJ9mJCp2VXqG4xQ==} peerDependencies: zod: ^3.25.0 || ^4.0.0 @@ -812,76 +812,76 @@ packages: '@aws-crypto/util@5.2.0': resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - '@aws-sdk/client-bedrock-runtime@3.997.0': - resolution: {integrity: sha512-yEgCc/HvI7dLeXQLCuc4cnbzwE/NbNpKX8NmSSWTy3jnjiMZwrNKdHMBgPoNvaEb0klHhnTyO+JCHVVCPI/eYw==} + '@aws-sdk/client-bedrock-runtime@3.1018.0': + resolution: {integrity: sha512-uJYVPDn+5n63hISPg/Q0YXITuqdWeC+wssIWKKvnX2Tgn+rPo5piAhvyCE2YzxGoBdBVHIUfu/KyGzUc7OgBYA==} engines: {node: '>=20.0.0'} - '@aws-sdk/client-bedrock@3.1014.0': - resolution: {integrity: sha512-tXvaFMGAv2SfZaXT7aA2KrJBGgd5voyWJKR4OA1u/qZvLpnU3EyzrFRPFNTkGiz6IDHdQ5EhTK1Mme0Ep4E5QQ==} + '@aws-sdk/client-bedrock@3.1018.0': + resolution: {integrity: sha512-P5TTSu3pV2zgYULTjPNBmcOXtWupn7pqhpXO7DhdDqR6fTBCBjATM0j4WLrHMHFKSXzM7ZlkBaBez7ixQorPlw==} engines: {node: '>=20.0.0'} - '@aws-sdk/client-s3@3.1014.0': - resolution: {integrity: sha512-0XLrOT4Cm3NEhhiME7l/8LbTXS4KdsbR4dSrY207KNKTcHLLTZ9EXt4ZpgnTfLvWQF3pGP2us4Zi1fYLo0N+Ow==} + '@aws-sdk/client-s3@3.1018.0': + resolution: {integrity: sha512-BiGKMjrkAJkyse1ECpVyxVYugf82FB3cM9zgKpx3boFuWobyolG5ri6XjoMIY8fpHddaO8ZClXEedACyelSLWA==} engines: {node: '>=20.0.0'} - '@aws-sdk/core@3.973.23': - resolution: {integrity: sha512-aoJncvD1XvloZ9JLnKqTRL9dBy+Szkryoag9VT+V1TqsuUgIxV9cnBVM/hrDi2vE8bDqLiDR8nirdRcCdtJu0w==} + '@aws-sdk/core@3.973.25': + resolution: {integrity: sha512-TNrx7eq6nKNOO62HWPqoBqPLXEkW6nLZQGwjL6lq1jZtigWYbK1NbCnT7mKDzbLMHZfuOECUt3n6CzxjUW9HWQ==} engines: {node: '>=20.0.0'} '@aws-sdk/crc64-nvme@3.972.5': resolution: {integrity: sha512-2VbTstbjKdT+yKi8m7b3a9CiVac+pL/IY2PHJwsaGkkHmuuqkJZIErPck1h6P3T9ghQMLSdMPyW6Qp7Di5swFg==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-env@3.972.21': - resolution: {integrity: sha512-BkAfKq8Bd4shCtec1usNz//urPJF/SZy14qJyxkSaRJQ/Vv1gVh0VZSTmS7aE6aLMELkFV5wHHrS9ZcdG8Kxsg==} + '@aws-sdk/credential-provider-env@3.972.23': + resolution: {integrity: sha512-EamaclJcCEaPHp6wiVknNMM2RlsPMjAHSsYSFLNENBM8Wz92QPc6cOn3dif6vPDQt0Oo4IEghDy3NMDCzY/IvA==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-http@3.972.23': - resolution: {integrity: sha512-4XZ3+Gu5DY8/n8zQFHBgcKTF7hWQl42G6CY9xfXVo2d25FM/lYkpmuzhYopYoPL1ITWkJ2OSBQfYEu5JRfHOhA==} + '@aws-sdk/credential-provider-http@3.972.25': + resolution: {integrity: sha512-qPymamdPcLp6ugoVocG1y5r69ScNiRzb0hogX25/ij+Wz7c7WnsgjLTaz7+eB5BfRxeyUwuw5hgULMuwOGOpcw==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-ini@3.972.23': - resolution: {integrity: sha512-PZLSmU0JFpNCDFReidBezsgL5ji9jOBry8CnZdw4Jj6d0K2z3Ftnp44NXgADqYx5BLMu/ZHujfeJReaDoV+IwQ==} + '@aws-sdk/credential-provider-ini@3.972.25': + resolution: {integrity: sha512-G/v/PicYn4qs7xCv4vT6I4QKdvMyRvsgIFNBkUueCGlbLo7/PuKcNKgUozmLSsaYnE7jIl6UrfkP07EUubr48w==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-login@3.972.23': - resolution: {integrity: sha512-OmE/pSkbMM3dCj1HdOnZ5kXnKK+R/Yz+kbBugraBecp0pGAs21eEURfQRz+1N2gzIHLVyGIP1MEjk/uSrFsngg==} + '@aws-sdk/credential-provider-login@3.972.25': + resolution: {integrity: sha512-bUdmyJeVua7SmD+g2a65x2/0YqsGn4K2k4GawI43js0odaNaIzpIhLtHehUnPnfLuyhPWbJR1NyuIO4iMVfM0w==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-node@3.972.24': - resolution: {integrity: sha512-9Jwi7aps3AfUicJyF5udYadPypPpCwUZ6BSKr/QjRbVCpRVS1wc+1Q6AEZ/qz8J4JraeRd247pSzyMQSIHVebw==} + '@aws-sdk/credential-provider-node@3.972.26': + resolution: {integrity: sha512-5XSK74rCXxCNj+UWv5bjq1EccYkiyW4XOHFU9NXnsCcQF8dJuHdua1qFg0m/LIwVOWklbKsrcnMtfxIXwgvwzQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-process@3.972.21': - resolution: {integrity: sha512-nRxbeOJ1E1gVA0lNQezuMVndx+ZcuyaW/RB05pUsznN5BxykSlH6KkZ/7Ca/ubJf3i5N3p0gwNO5zgPSCzj+ww==} + '@aws-sdk/credential-provider-process@3.972.23': + resolution: {integrity: sha512-IL/TFW59++b7MpHserjUblGrdP5UXy5Ekqqx1XQkERXBFJcZr74I7VaSrQT5dxdRMU16xGK4L0RQ5fQG1pMgnA==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-sso@3.972.23': - resolution: {integrity: sha512-APUccADuYPLL0f2htpM8Z4czabSmHOdo4r41W6lKEZdy++cNJ42Radqy6x4TopENzr3hR6WYMyhiuiqtbf/nAA==} + '@aws-sdk/credential-provider-sso@3.972.25': + resolution: {integrity: sha512-r4OGAfHmlEa1QBInHWz+/dOD4tRljcjVNQe9wJ/AJNXEj1d2WdsRLppvRFImRV6FIs+bTpjtL0a23V5ELQpRPw==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-web-identity@3.972.23': - resolution: {integrity: sha512-H5JNqtIwOu/feInmMMWcK0dL5r897ReEn7n2m16Dd0DPD9gA2Hg8Cq4UDzZ/9OzaLh/uqBM6seixz0U6Fi2Eag==} + '@aws-sdk/credential-provider-web-identity@3.972.25': + resolution: {integrity: sha512-uM1OtoJgj+yK3MlAmda8uR9WJJCdm5HB25JyCeFL5a5q1Fbafalf4uKidFO3/L0Pgd+Fsflkb4cM6jHIswi3QQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/eventstream-handler-node@3.972.7': - resolution: {integrity: sha512-p8k2ZWKJVrR3KIcBbI+/+FcWXdwe3LLgGnixsA7w8lDwWjzSVDHFp6uPeSqBt5PQpRxzak9EheJ1xTmOnHGf4g==} + '@aws-sdk/eventstream-handler-node@3.972.12': + resolution: {integrity: sha512-ruyc/MNR6e+cUrGCth7fLQ12RXBZDy/bV06tgqB9Z5n/0SN/C0m6bsQEV8FF9zPI6VSAOaRd0rNgmpYVnGawrQ==} engines: {node: '>=20.0.0'} '@aws-sdk/middleware-bucket-endpoint@3.972.8': resolution: {integrity: sha512-WR525Rr2QJSETa9a050isktyWi/4yIGcmY3BQ1kpHqb0LqUglQHCS8R27dTJxxWNZvQ0RVGtEZjTCbZJpyF3Aw==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-eventstream@3.972.4': - resolution: {integrity: sha512-0t+2Dn46cRE9iu5ynUXINBtR0wNHi/Jz3FbrqS5k3dGot2O7Ln1xCqXbJUAtGM5ZAqN77SbnpETAgVWC84DeoA==} + '@aws-sdk/middleware-eventstream@3.972.8': + resolution: {integrity: sha512-r+oP+tbCxgqXVC3pu3MUVePgSY0ILMjA+aEwOosS77m3/DRbtvHrHwqvMcw+cjANMeGzJ+i0ar+n77KXpRA8RQ==} engines: {node: '>=20.0.0'} '@aws-sdk/middleware-expect-continue@3.972.8': resolution: {integrity: sha512-5DTBTiotEES1e2jOHAq//zyzCjeMB78lEHd35u15qnrid4Nxm7diqIf9fQQ3Ov0ChH1V3Vvt13thOnrACmfGVQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-flexible-checksums@3.974.3': - resolution: {integrity: sha512-fB7FNLH1+VPUs0QL3PLrHW+DD4gKu6daFgWtyq3R0Y0Lx8DLZPvyGAxCZNFBxH+M2xt9KvBJX6USwjuqvitmCQ==} + '@aws-sdk/middleware-flexible-checksums@3.974.5': + resolution: {integrity: sha512-SPSvF0G1t8m8CcB0L+ClNFszzQOvXaxmRj25oRWDf6aU+TuN2PXPFAJ9A6lt1IvX4oGAqqbTdMPTYs/SSHUYYQ==} engines: {node: '>=20.0.0'} '@aws-sdk/middleware-host-header@3.972.8': @@ -896,48 +896,44 @@ packages: resolution: {integrity: sha512-CWl5UCM57WUFaFi5kB7IBY1UmOeLvNZAZ2/OZ5l20ldiJ3TiIz1pC65gYj8X0BCPWkeR1E32mpsCk1L1I4n+lA==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-recursion-detection@3.972.8': - resolution: {integrity: sha512-BnnvYs2ZEpdlmZ2PNlV2ZyQ8j8AEkMTjN79y/YA475ER1ByFYrkVR85qmhni8oeTaJcDqbx364wDpitDAA/wCA==} + '@aws-sdk/middleware-recursion-detection@3.972.9': + resolution: {integrity: sha512-/Wt5+CT8dpTFQxEJ9iGy/UGrXr7p2wlIOEHvIr/YcHYByzoLjrqkYqXdJjd9UIgWjv7eqV2HnFJen93UTuwfTQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-sdk-s3@3.972.23': - resolution: {integrity: sha512-50QgHGPQAb2veqFOmTF1A3GsAklLHZXL47KbY35khIkfbXH5PLvqpEc/gOAEBPj/yFxrlgxz/8mqWcWTNxBkwQ==} + '@aws-sdk/middleware-sdk-s3@3.972.26': + resolution: {integrity: sha512-5q7UGSTtt7/KF0Os8wj2VZtlLxeWJVb0e2eDrDJlWot2EIxUNKDDMPFq/FowUqrwZ40rO2bu6BypxaKNvQhI+g==} engines: {node: '>=20.0.0'} '@aws-sdk/middleware-ssec@3.972.8': resolution: {integrity: sha512-wqlK0yO/TxEC2UsY9wIlqeeutF6jjLe0f96Pbm40XscTo57nImUk9lBcw0dPgsm0sppFtAkSlDrfpK+pC30Wqw==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-user-agent@3.972.24': - resolution: {integrity: sha512-dLTWy6IfAMhNiSEvMr07g/qZ54be6pLqlxVblbF6AzafmmGAzMMj8qMoY9B4+YgT+gY9IcuxZslNh03L6PyMCQ==} + '@aws-sdk/middleware-user-agent@3.972.26': + resolution: {integrity: sha512-AilFIh4rI/2hKyyGN6XrB0yN96W2o7e7wyrPWCM6QjZM1mcC/pVkW3IWWRvuBWMpVP8Fg+rMpbzeLQ6dTM4gig==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-websocket@3.972.8': - resolution: {integrity: sha512-KPUXz8lRw73Rh12/QkELxiryC9Wi9Ah1xNzFe2Vtbz2/81c2ZA0yM8er+u0iCF/SRMMhDQshLcmRNgn/ueA+gA==} + '@aws-sdk/middleware-websocket@3.972.14': + resolution: {integrity: sha512-qnfDlIHjm6DrTYNvWOUbnZdVKgtoKbO/Qzj+C0Wp5Y7VUrsvBRQtGKxD+hc+mRTS4N0kBJ6iZ3+zxm4N1OSyjg==} engines: {node: '>= 14.0.0'} - '@aws-sdk/nested-clients@3.996.13': - resolution: {integrity: sha512-ptZ1HF4yYHNJX8cgFF+8NdYO69XJKZn7ft0/ynV3c0hCbN+89fAbrLS+fqniU2tW8o9Kfqhj8FUh+IPXb2Qsuw==} + '@aws-sdk/nested-clients@3.996.15': + resolution: {integrity: sha512-k6WAVNkub5DrU46iPQvH1m0xc1n+0dX79+i287tYJzf5g1yU2rX3uf4xNeL5JvK1NtYgfwMnsxHqhOXFBn367A==} engines: {node: '>=20.0.0'} - '@aws-sdk/region-config-resolver@3.972.9': - resolution: {integrity: sha512-eQ+dFU05ZRC/lC2XpYlYSPlXtX3VT8sn5toxN2Fv7EXlMoA2p9V7vUBKqHunfD4TRLpxUq8Y8Ol/nCqiv327Ng==} + '@aws-sdk/region-config-resolver@3.972.10': + resolution: {integrity: sha512-1dq9ToC6e070QvnVhhbAs3bb5r6cQ10gTVc6cyRV5uvQe7P138TV2uG2i6+Yok4bAkVAcx5AqkTEBUvWEtBlsQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/s3-request-presigner@3.1014.0': - resolution: {integrity: sha512-XEcK50lToSoLPrQztKQhONYQW45613H8oEL00mBUd/+OZgk0+3zJ8kSNDsIJioZ3H7Be+yC3CL6a22dZFIKUXQ==} + '@aws-sdk/s3-request-presigner@3.1018.0': + resolution: {integrity: sha512-DEb/p6275ZRKnScU2IhFiiB6U8B1HYjBwSGWNuAZxf7aNqOc1ZQeM31yUb3qBw6aezyNRYly8JqE7/Vyc3vbwA==} engines: {node: '>=20.0.0'} - '@aws-sdk/signature-v4-multi-region@3.996.11': - resolution: {integrity: sha512-SKgZY7x6AloLUXO20FJGnkKJ3a6CXzNDt6PYs2yqoPzgU0xKWcUoGGJGEBTsfM5eihKW42lbwp+sXzACLbSsaA==} + '@aws-sdk/signature-v4-multi-region@3.996.14': + resolution: {integrity: sha512-4nZSrBr1NO+48HCM/6BRU8mnRjuHZjcpziCvLXZk5QVftwWz5Mxqbhwdz4xf7WW88buaTB8uRO2MHklSX1m0vg==} engines: {node: '>=20.0.0'} - '@aws-sdk/token-providers@3.1014.0': - resolution: {integrity: sha512-gHTHNUoaOGNrSWkl32A7wFsU78jlNTlqMccLu0byUk5CysYYXaxNMIonIVr4YcykC7vgtDS5ABuz83giy6fzJA==} - engines: {node: '>=20.0.0'} - - '@aws-sdk/token-providers@3.997.0': - resolution: {integrity: sha512-UdG36F7lU9aTqGFRieEyuRUJlgEJBqKeKKekC0esH21DbUSKhPR1kZBah214kYasIaWe1hLJLaqUigoTa5hZAQ==} + '@aws-sdk/token-providers@3.1018.0': + resolution: {integrity: sha512-97OPNJHy37wmGOX44xAcu6E9oSTiqK9uPcy/fWpmN5uB3JuEp1f6x60Xot/jp+FxwhQWIFUsVJFnm3QKqt7T6Q==} engines: {node: '>=20.0.0'} '@aws-sdk/types@3.973.6': @@ -956,15 +952,15 @@ packages: resolution: {integrity: sha512-J6DS9oocrgxM8xlUTTmQOuwRF6rnAGEujAN9SAzllcrQmwn5iJ58ogxy3SEhD0Q7JZvlA5jvIXBkpQRqEqlE9A==} engines: {node: '>=20.0.0'} - '@aws-sdk/util-locate-window@3.965.4': - resolution: {integrity: sha512-H1onv5SkgPBK2P6JR2MjGgbOnttoNzSPIRoeZTNPZYyaplwGg50zS3amXvXqF0/qfXpWEC9rLWU564QTB9bSog==} + '@aws-sdk/util-locate-window@3.965.5': + resolution: {integrity: sha512-WhlJNNINQB+9qtLtZJcpQdgZw3SCDCpXdUJP7cToGwHbCWCnRckGlc6Bx/OhWwIYFNAn+FIydY8SZ0QmVu3xTQ==} engines: {node: '>=20.0.0'} '@aws-sdk/util-user-agent-browser@3.972.8': resolution: {integrity: sha512-B3KGXJviV2u6Cdw2SDY2aDhoJkVfY/Q/Trwk2CMSkikE1Oi6gRzxhvhIfiRpHfmIsAhV4EA54TVEX8K6CbHbkA==} - '@aws-sdk/util-user-agent-node@3.973.10': - resolution: {integrity: sha512-E99zeTscCc+pTMfsvnfi6foPpKmdD1cZfOC7/P8UUrjsoQdg9VEWPRD+xdFduKnfPXwcvby58AlO9jwwF6U96g==} + '@aws-sdk/util-user-agent-node@3.973.12': + resolution: {integrity: sha512-8phW0TS8ntENJgDcFewYT/Q8dOmarpvSxEjATu2GUBAutiHr++oEGCiBUwxslCMNvwW2cAPZNT53S/ym8zm/gg==} engines: {node: '>=20.0.0'} peerDependencies: aws-crt: '>=1.0.0' @@ -972,12 +968,12 @@ packages: aws-crt: optional: true - '@aws-sdk/xml-builder@3.972.15': - resolution: {integrity: sha512-PxMRlCFNiQnke9YR29vjFQwz4jq+6Q04rOVFeTDR2K7Qpv9h9FOWOxG+zJjageimYbWqE3bTuLjmryWHAWbvaA==} + '@aws-sdk/xml-builder@3.972.16': + resolution: {integrity: sha512-iu2pyvaqmeatIJLURLqx9D+4jKAdTH20ntzB6BFwjyN7V960r4jK32mx0Zf7YbtOYAbmbtQfDNuL60ONinyw7A==} engines: {node: '>=20.0.0'} - '@aws/lambda-invoke-store@0.2.3': - resolution: {integrity: sha512-oLvsaPMTBejkkmHhjf09xTgk71mOqyr/409NKhRIL08If7AhVfUsJhVsx386uJaqNd42v9kWamQ9lFbkoC2dYw==} + '@aws/lambda-invoke-store@0.2.4': + resolution: {integrity: sha512-iY8yvjE0y651BixKNPgmv1WrQc+GZ142sb0z4gYnChDDY2YqI4P/jsSopBWrKfAt7LOJAkOXt7rC/hms+WclQQ==} engines: {node: '>=18.0.0'} '@azure/msal-common@15.17.0': @@ -996,8 +992,8 @@ packages: resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@8.0.0-rc.2': - resolution: {integrity: sha512-noLx87RwlBEMrTzncWd/FvTxoJ9+ycHNg0n8yyYydIoDsLZuxknKgWRJUqcrVkNrJ74uGyhWQzQaS3q8xfGAhQ==} + '@babel/helper-string-parser@8.0.0-rc.3': + resolution: {integrity: sha512-AmwWFx1m8G/a5cXkxLxTiWl+YEoWuoFLUCwqMlNuWO1tqAYITQAbCRPUkyBHv1VOFgfjVOqEj6L3u15J5ZCzTA==} engines: {node: ^20.19.0 || >=22.12.0} '@babel/helper-validator-identifier@7.28.5': @@ -1013,6 +1009,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.29.2': + resolution: {integrity: sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/parser@8.0.0-rc.2': resolution: {integrity: sha512-29AhEtcq4x8Dp3T72qvUMZHx0OMXCj4Jy/TEReQa+KWLln524Cj1fWb3QFi0l/xSpptQBR6y9RNEXuxpFvwiUQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1022,6 +1023,10 @@ packages: resolution: {integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==} engines: {node: '>=6.9.0'} + '@babel/runtime@7.29.2': + resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==} + engines: {node: '>=6.9.0'} + '@babel/types@7.29.0': resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} @@ -1354,8 +1359,8 @@ packages: '@noble/hashes': optional: true - '@google/genai@1.42.0': - resolution: {integrity: sha512-+3nlMTcrQufbQ8IumGkOphxD5Pd5kKyJOzLcnY0/1IuE8upJk5aLmoexZ2BJhBp1zAjRJMEB4a2CJwKI9e2EYw==} + '@google/genai@1.46.0': + resolution: {integrity: sha512-ewPMN5JkKfgU5/kdco9ZhXBHDPhVqZpMQqIFQhwsHLf8kyZfx1cNpw1pHo1eV6PGEW7EhIBFi3aYZraFndAXqg==} engines: {node: '>=20.0.0'} peerDependencies: '@modelcontextprotocol/sdk': ^1.25.2 @@ -1401,7 +1406,7 @@ packages: resolution: {integrity: sha512-hZ7nOssGqRgyV3FVVQdfi+U4q02uB23bpnYpdvNXkYTRRyWx84b7yf1ans+dnJ/7h41sGL3CeQTfO+ZGxuO+Iw==} engines: {node: '>=18.14.1'} peerDependencies: - hono: 4.12.8 + hono: 4.12.9 '@huggingface/jinja@0.5.6': resolution: {integrity: sha512-MyMWyLnjqo+KRJYSH7oWNbsOn5onuIvfXYPcc0WOGxU0eHUV7oAYUoQTl2BMdu7ml+ea/bu11UM+EshbeHwtIA==} @@ -1776,8 +1781,8 @@ packages: peerDependencies: apache-arrow: '>=15.0.0 <=18.1.0' - '@larksuiteoapi/node-sdk@1.59.0': - resolution: {integrity: sha512-sBpkruTvZDOxnVtoTbepWKRX0j1Y1ZElQYu0x7+v088sI9pcpbVp6ZzCGn62dhrKPatzNyCJyzYCPXPYQWccrA==} + '@larksuiteoapi/node-sdk@1.60.0': + resolution: {integrity: sha512-MS1eXx7K6HHIyIcCBkJLb21okoa8ZatUGQWZaCCUePm6a37RWFmT6ZKlKvHxAanSX26wNuNlwP0RhgscsE+T6g==} '@line/bot-sdk@10.6.0': resolution: {integrity: sha512-4hSpglL/G/cW2JCcohaYz/BS0uOSJNV9IEYdMm0EiPEvDLayoI2hGq2D86uYPQFD2gvgkyhmzdShpWLG3P5r3w==} @@ -1900,22 +1905,22 @@ packages: resolution: {integrity: sha512-faGUlTcXka5l7rv0lP3K3vGW/ejRuOS24RR2aSFWREUQqzjgdsuWNo/IiPqL3kWRGt6Ahl2+qcDAwtdeWeuGUw==} hasBin: true - '@mariozechner/pi-agent-core@0.61.1': - resolution: {integrity: sha512-ELZsyx6INGBYXPAbYTAiRWtkmnwAlcXOOVPY434BE605TBdpzMrXF5gNckKdEyCCWYJiLzSKpHaAzWwB7Vx2nA==} + '@mariozechner/pi-agent-core@0.63.0': + resolution: {integrity: sha512-W1gUBVIZJsITDVVx4tyv+H/yfwjNjL25zUQN8u7u0plqU15lrSqnJhwFE24sUqmpIiptBTSz1siTPZOXHbVHoQ==} engines: {node: '>=20.0.0'} - '@mariozechner/pi-ai@0.61.1': - resolution: {integrity: sha512-BOk8xwluIgauX93qgC9qyrWteKKnk6pNDM8szE1m/EJKMhcJ/jIJpgAUQgj4yXiwSMtcZm30h2Po97gqqXTIIg==} + '@mariozechner/pi-ai@0.63.0': + resolution: {integrity: sha512-8czcfH2186kCJoXRi5XDiu97qX72s8tSdETfB23myha825Lmgccl42NoSM2pVqifYrg/HaZgF3oAH59RtTcxpw==} engines: {node: '>=20.0.0'} hasBin: true - '@mariozechner/pi-coding-agent@0.61.1': - resolution: {integrity: sha512-w0QTn+LFFdyFhpaaYDOacGwBjW4MKYrl40b6LPfKDuVJ+9fDfHl3kWkbx6xJb9brk6M5lEFMheC82UIQdkeK3Q==} + '@mariozechner/pi-coding-agent@0.63.0': + resolution: {integrity: sha512-rTstEaXVKpjBhSFNjrS+/G9HXcLOe/b4mIt0cakQwjEQZ55YdHPb8o3O5/VfqR7932Eld+TPeBc2ITT+6N+xBQ==} engines: {node: '>=20.6.0'} hasBin: true - '@mariozechner/pi-tui@0.61.1': - resolution: {integrity: sha512-J3EI1gU5knUf1dXiHJsimDP4IRXLG7QJ1NVykU/yWOJoBPAgG6/qjjPPRcaUA7MYMUfKi+Z/zzGOyQSCVAajPA==} + '@mariozechner/pi-tui@0.63.0': + resolution: {integrity: sha512-ehyHEgaJZj7tAXbHnIq7whY57yao419Oe/A4YNp9J95Ls/YfzbxCGCdEkYkk56IMHh3lsw8OAckbVIQCoXFpjA==} engines: {node: '>=20.0.0'} '@matrix-org/matrix-sdk-crypto-nodejs@0.4.0': @@ -1926,38 +1931,31 @@ packages: resolution: {integrity: sha512-88+n+dvxLI1cjS10UIlKXVYK7TGWbpAnnaDC9fow7ch/hCvdu3dFhJ3tS3/13N9s9+1QFXB4FFuommj+tHJPhQ==} engines: {node: '>= 18'} - '@microsoft/teams.api@2.0.5': - resolution: {integrity: sha512-GZ70z038pLjycTDTy/r/mQUdRiuwAUGbyLHPszq+hxpo2HutzuIVfmCUOeGrSDhDPZLaw03PaML3SdqE9R1zZw==} - engines: {node: '>=20'} - peerDependencies: - '@microsoft/teams.cards': 2.0.5 - '@microsoft/teams.common': 2.0.5 - - '@microsoft/teams.apps@2.0.5': - resolution: {integrity: sha512-z5m8gV6tbrOrbR1mU0RqyRkT4A+ilStlwXrafAfvkALrTW3ge9VwEgvDg0qEhkM2Bnomx1Y9rmqLc87LD2PLOg==} - engines: {node: '>=20'} - peerDependencies: - '@microsoft/teams.api': 2.0.5 - '@microsoft/teams.common': 2.0.5 - '@microsoft/teams.graph': 2.0.5 - - '@microsoft/teams.cards@2.0.5': - resolution: {integrity: sha512-6BI3WKyjrDwJ1OyMo7t6mjfCIwZUeHN+B4p9Sewjk54+9FfTl3bp83OW3zT/rs1YXKhiKPEJ1WrXnNiiw7V9vA==} + '@microsoft/teams.api@2.0.6': + resolution: {integrity: sha512-akOEq/VwNL0QQe2luJcD9fMSFLRqdo69ROsIw8351wCSZWYcO5ArH+0LCsJKW5YWF4y7UM7seW0/lXeiwSPgtw==} engines: {node: '>=20'} - '@microsoft/teams.common@2.0.5': - resolution: {integrity: sha512-S2F27BGd2YT6CZnuN/NrtWF2CUO9FMB9Y5oe04YYJSFZNpGbv/KkvUWE5FPqi8P1ag+wj2gvQr3HLZK+ApuXtg==} + '@microsoft/teams.apps@2.0.6': + resolution: {integrity: sha512-L6IQNaXfVLIKqVa+bH5pdnFWehLjCofjtChxNBYcNv3hkeKRCw8wGhpjpveKR100etmI2DwTBD3xwb7JejzIRw==} engines: {node: '>=20'} - '@microsoft/teams.graph@2.0.5': - resolution: {integrity: sha512-qJhs9eaJPsIf45EaACHrMy5yF8OuwXZLCopbzQx09sXCB89NqoCGTSa2rwtsI0nPmi79MFiioeSQYZAkpBSHDQ==} + '@microsoft/teams.cards@2.0.6': + resolution: {integrity: sha512-bgynJiAG48EanCxMECt55ktGWQ1bKhi4HqdRyVauAI1aDbqgBozvY/3aJciDpm8Wnn70cou5US+GsNYfin1Qtg==} + engines: {node: '>=20'} + + '@microsoft/teams.common@2.0.6': + resolution: {integrity: sha512-zrwFfba6B6R6TFKLKRXH6Mtqd0gnZ0m7tVW+aF71DPJdCiCpq7CpsaoZ/Bu0Owy676bz+q0Z0PSqRNIkpRKcbA==} + engines: {node: '>=20'} + + '@microsoft/teams.graph@2.0.6': + resolution: {integrity: sha512-tiPEDOE5k2kbW63WG0iLom/osWJRBm5bYKGRuPgfq/fiaopgefU50lufB+FQRdRBIOKuehzRMjotUNaQYQRlDA==} engines: {node: '>=20'} '@mistralai/mistralai@1.14.1': resolution: {integrity: sha512-IiLmmZFCCTReQgPAT33r7KQ1nYo5JPdvGkrkZqA8qQ2qB1GHgs5LoP5K2ICyrjnpw2n8oSxMM/VP+liiKcGNlQ==} - '@modelcontextprotocol/sdk@1.27.1': - resolution: {integrity: sha512-sr6GbP+4edBwFndLbM60gf07z0FQ79gaExpnsjMGePXqFcSSb7t6iscpjk9DhFhwd+mTEQrzNafGP8/iGGFYaA==} + '@modelcontextprotocol/sdk@1.28.0': + resolution: {integrity: sha512-gmloF+i+flI8ouQK7MWW4mOwuMh4RePBuPFAEPC6+pdqyWOUMDOixb6qZ69owLJpz6XmyllCouc4t8YWO+E2Nw==} engines: {node: '>=18'} peerDependencies: '@cfworker/json-schema': ^4.1.1 @@ -2238,166 +2236,166 @@ packages: resolution: {integrity: sha512-tlc/FcYIv5i8RYsl2iDil4A0gOihaas1R5jPcIC4Zw3GhjKsVilw90aHcVlhZPTBLGBzd379S+VcnsDjd9ChiA==} engines: {node: '>=12.4.0'} - '@opentelemetry/api-logs@0.213.0': - resolution: {integrity: sha512-zRM5/Qj6G84Ej3F1yt33xBVY/3tnMxtL1fiDIxYbDWYaZ/eudVw3/PBiZ8G7JwUxXxjW8gU4g6LnOyfGKYHYgw==} + '@opentelemetry/api-logs@0.214.0': + resolution: {integrity: sha512-40lSJeqYO8Uz2Yj7u94/SJWE/wONa7rmMKjI1ZcIjgf3MHNHv1OZUCrCETGuaRF62d5pQD1wKIW+L4lmSMTzZA==} engines: {node: '>=8.0.0'} - '@opentelemetry/api@1.9.0': - resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} + '@opentelemetry/api@1.9.1': + resolution: {integrity: sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==} engines: {node: '>=8.0.0'} - '@opentelemetry/configuration@0.213.0': - resolution: {integrity: sha512-MfVgZiUuwL1d3bPPvXcEkVHGTGNUGoqGK97lfwBuRoKttcVGGqDyxTCCVa5MGbirtBQkUTysXMBUVWPaq7zbWw==} + '@opentelemetry/configuration@0.214.0': + resolution: {integrity: sha512-Q+awuEwxhETwIAXuxHvIY5ZMEP0ZqvxLTi9kclrkyVJppEUXYL3Bhiw3jYrxdHYMh0Y0tVInQH9FEZ1aMinvLA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.9.0 - '@opentelemetry/context-async-hooks@2.6.0': - resolution: {integrity: sha512-L8UyDwqpTcbkIK5cgwDRDYDoEhQoj8wp8BwsO19w3LB1Z41yEQm2VJyNfAi9DrLP/YTqXqWpKHyZfR9/tFYo1Q==} + '@opentelemetry/context-async-hooks@2.6.1': + resolution: {integrity: sha512-XHzhwRNkBpeP8Fs/qjGrAf9r9PRv67wkJQ/7ZPaBQQ68DYlTBBx5MF9LvPx7mhuXcDessKK2b+DcxqwpgkcivQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/core@2.6.0': - resolution: {integrity: sha512-HLM1v2cbZ4TgYN6KEOj+Bbj8rAKriOdkF9Ed3tG25FoprSiQl7kYc+RRT6fUZGOvx0oMi5U67GoFdT+XUn8zEg==} + '@opentelemetry/core@2.6.1': + resolution: {integrity: sha512-8xHSGWpJP9wBxgBpnqGL0R3PbdWQndL1Qp50qrg71+B28zK5OQmUgcDKLJgzyAAV38t4tOyLMGDD60LneR5W8g==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/exporter-logs-otlp-grpc@0.213.0': - resolution: {integrity: sha512-QiRZzvayEOFnenSXi85Eorgy5WTqyNQ+E7gjl6P6r+W3IUIwAIH8A9/BgMWfP056LwmdrBL6+qvnwaIEmug6Yg==} + '@opentelemetry/exporter-logs-otlp-grpc@0.214.0': + resolution: {integrity: sha512-SwmFRwO8mi6nndzbsjPgSFg7qy1WeNHRFD+s6uCsdiUDUt3+yzI2qiHE3/ub2f37+/CbeGcG+Ugc8Gwr6nu2Aw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-logs-otlp-http@0.213.0': - resolution: {integrity: sha512-vqDVSpLp09ZzcFIdb7QZrEFPxUlO3GzdhBKLstq3jhYB5ow3+ZtV5V0ngSdi/0BZs+J5WPiN1+UDV4X5zD/GzA==} + '@opentelemetry/exporter-logs-otlp-http@0.214.0': + resolution: {integrity: sha512-9qv2Tl/Hq6qc5pJCbzFJnzA0uvlb9DgM70yGJPYf3bA5LlLkRCpcn81i4JbcIH4grlQIWY6A+W7YG0LLvS1BAw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-logs-otlp-proto@0.213.0': - resolution: {integrity: sha512-gQk41nqfK3KhDk8jbSo3LR/fQBlV7f6Q5xRcfDmL1hZlbgXQPdVFV9/rIfYUrCoq1OM+2NnKnFfGjBt6QpLSsA==} + '@opentelemetry/exporter-logs-otlp-proto@0.214.0': + resolution: {integrity: sha512-IWAVvCO1TlpotRjFmhQFz9RSfQy5BsLtDRBtptSrXZRwfyRPpuql/RMe5zdmu0Gxl3ERDFwOzOqkf3bwy7Jzcw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-metrics-otlp-grpc@0.213.0': - resolution: {integrity: sha512-Z8gYKUAU48qwm+a1tjnGv9xbE7a5lukVIwgF6Z5i3VPXPVMe4Sjra0nN3zU7m277h+V+ZpsPGZJ2Xf0OTkL7/w==} + '@opentelemetry/exporter-metrics-otlp-grpc@0.214.0': + resolution: {integrity: sha512-0NGxWHVYHgbp51SEzmsP+Hdups81eRs229STcSWHo3WO0aqY6RpJ9csxfyEtFgaNrBDv6UfOh0je4ss/ROS6XA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-metrics-otlp-http@0.213.0': - resolution: {integrity: sha512-yw3fTIw4KQIRXC/ZyYQq5gtA3Ogfdfz/g5HVgleobQAcjUUE8Nj3spGMx8iQPp+S+u6/js7BixufRkXhzLmpJA==} + '@opentelemetry/exporter-metrics-otlp-http@0.214.0': + resolution: {integrity: sha512-Tx/59RmjBgkXJ3qnsD04rpDrVWL53LU/czpgLJh+Ab98nAroe91I7vZ3uGN9mxwPS0jsZEnmqmHygVwB2vRMlA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-metrics-otlp-proto@0.213.0': - resolution: {integrity: sha512-geHF+zZaDb0/WRkJTxR8o8dG4fCWT/Wq7HBdNZCxwH5mxhwRi/5f37IDYH7nvU+dwU6IeY4Pg8TPI435JCiNkg==} + '@opentelemetry/exporter-metrics-otlp-proto@0.214.0': + resolution: {integrity: sha512-pJIcghFGhx3VSCgP5U+yZx+OMNj0t+ttnhC8IjL5Wza7vWIczctF6t3AGcVQffi2dEqX+ZHANoBwoPR8y6RMKA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-prometheus@0.213.0': - resolution: {integrity: sha512-FyV3/JfKGAgx+zJUwCHdjQHbs+YeGd2fOWvBHYrW6dmfv/w89lb8WhJTSZEoWgP525jwv/gFeBttlGu1flebdA==} + '@opentelemetry/exporter-prometheus@0.214.0': + resolution: {integrity: sha512-4TGYoZKebUWVuYkV6r5wS2dUF4zH7EbWFw/Uqz1ZM1tGHQeFT9wzHGXq3iSIXMUrwu5jRdxjfMaXrYejPu2kpQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-trace-otlp-grpc@0.213.0': - resolution: {integrity: sha512-L8y6piP4jBIIx1Nv7/9hkx25ql6/Cro/kQrs+f9e8bPF0Ar5Dm991v7PnbtubKz6Q4fT872H56QXUWVnz/Cs4Q==} + '@opentelemetry/exporter-trace-otlp-grpc@0.214.0': + resolution: {integrity: sha512-FWRZ7AWoTryYhthralHkfXUuyO3l7cRsnr49WcDio1orl2a7KxT8aDZdwQtV1adzoUvZ9Gfo+IstElghCS4zfw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-trace-otlp-http@0.213.0': - resolution: {integrity: sha512-tnRmJD39aWrE/Sp7F6AbRNAjKHToDkAqBi6i0lESpGWz3G+f4bhVAV6mgSXH2o18lrDVJXo6jf9bAywQw43wRA==} + '@opentelemetry/exporter-trace-otlp-http@0.214.0': + resolution: {integrity: sha512-kIN8nTBMgV2hXzV/a20BCFilPZdAIMYYJGSgfMMRm/Xa+07y5hRDS2Vm12A/z8Cdu3Sq++ZvJfElokX2rkgGgw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-trace-otlp-proto@0.213.0': - resolution: {integrity: sha512-six3vPq3sL+ge1iZOfKEg+RHuFQhGb8ZTdlvD234w/0gi8ty/qKD46qoGpKvM3amy5yYunWBKiFBW47WaVS26w==} + '@opentelemetry/exporter-trace-otlp-proto@0.214.0': + resolution: {integrity: sha512-ON0spYWb2yAdQ9b+ItNyK0c6qdtcs+0eVR4YFJkhJL7agfT8sHFg0e5EesauSRiTHPZHiDobI92k77q0lwAmqg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-zipkin@2.6.0': - resolution: {integrity: sha512-AFP77OQMLfw/Jzh6WT2PtrywstNjdoyT9t9lYrYdk1s4igsvnMZ8DkZKCwxsItC01D+4Lydgrb+Wy0bAvpp8xg==} + '@opentelemetry/exporter-zipkin@2.6.1': + resolution: {integrity: sha512-km2/hD3inLTqtLnUAHDGz7ZP/VOyZNslrC/iN66x4jkmpckwlONW54LRPNI6fm09/musDtZga9EWsxgwnjGUlw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.0.0 - '@opentelemetry/instrumentation@0.213.0': - resolution: {integrity: sha512-3i9NdkET/KvQomeh7UaR/F4r9P25Rx6ooALlWXPIjypcEOUxksCmVu0zA70NBJWlrMW1rPr/LRidFAflLI+s/w==} + '@opentelemetry/instrumentation@0.214.0': + resolution: {integrity: sha512-MHqEX5Dk59cqVah5LiARMACku7jXSVk9iVDWOea4x3cr7VfdByeDCURK6o1lntT1JS/Tsovw01UJrBhN3/uC5w==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/otlp-exporter-base@0.213.0': - resolution: {integrity: sha512-MegxAP1/n09Ob2dQvY5NBDVjAFkZRuKtWKxYev1R2M8hrsgXzQGkaMgoEKeUOyQ0FUyYcO29UOnYdQWmWa0PXg==} + '@opentelemetry/otlp-exporter-base@0.214.0': + resolution: {integrity: sha512-u1Gdv0/E9wP+apqWf7Wv2npXmgJtxsW2XL0TEv9FZloTZRuMBKmu8cYVXwS4Hm3q/f/3FuCnPTgiwYvIqRSpRg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/otlp-grpc-exporter-base@0.213.0': - resolution: {integrity: sha512-XgRGuLE9usFNlnw2lgMIM4HTwpcIyjdU/xPoJ8v3LbBLBfjaDkIugjc9HoWa7ZSJ/9Bhzgvm/aD0bGdYUFgnTw==} + '@opentelemetry/otlp-grpc-exporter-base@0.214.0': + resolution: {integrity: sha512-IDP6zcyA24RhNZ289MP6eToIZcinlmirHjX8v3zKCQ2ZhPpt5cGwkN91tCth337lqHIgWcTy90uKRiX/SzALDw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/otlp-transformer@0.213.0': - resolution: {integrity: sha512-RSuAlxFFPjeK4d5Y6ps8L2WhaQI6CXWllIjvo5nkAlBpmq2XdYWEBGiAbOF4nDs8CX4QblJDv5BbMUft3sEfDw==} + '@opentelemetry/otlp-transformer@0.214.0': + resolution: {integrity: sha512-DSaYcuBRh6uozfsWN3R8HsN0yDhCuWP7tOFdkUOVaWD1KVJg8m4qiLUsg/tNhTLS9HUYUcwNpwL2eroLtsZZ/w==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/propagator-b3@2.6.0': - resolution: {integrity: sha512-SguK4jMmRvQ0c0dxAMl6K+Eu1+01X0OP7RLiIuHFjOS8hlB23ZYNnhnbAdSQEh5xVXQmH0OAS0TnmVI+6vB2Kg==} + '@opentelemetry/propagator-b3@2.6.1': + resolution: {integrity: sha512-Dvz9TA6cPqIbxolSzQ5x9br6iQlqdGhVYrm+oYc7pfJ7LaVXz8F0XIqhWbnKB5YvfZ6SUmabBUUxnvHs/9uhxA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/propagator-jaeger@2.6.0': - resolution: {integrity: sha512-KGWJuvp9X8X36bhHgIhWEnHAzXDInFr+Fvo9IQhhuu6pXLT8mF7HzFyx/X+auZUITvPaZhM39Phj3vK12MbhwA==} + '@opentelemetry/propagator-jaeger@2.6.1': + resolution: {integrity: sha512-kKFMxBcjBZAC1vBch5mtZ/dJQvcAEKWga+c+q5iGgRLPIE6Mc649zEwMaCIQCzalziMJQiyUadFYMHmELB7AFw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/resources@2.6.0': - resolution: {integrity: sha512-D4y/+OGe3JSuYUCBxtH5T9DSAWNcvCb/nQWIga8HNtXTVPQn59j0nTBAgaAXxUVBDl40mG3Tc76b46wPlZaiJQ==} + '@opentelemetry/resources@2.6.1': + resolution: {integrity: sha512-lID/vxSuKWXM55XhAKNoYXu9Cutoq5hFdkbTdI/zDKQktXzcWBVhNsOkiZFTMU9UtEWuGRNe0HUgmsFldIdxVA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' - '@opentelemetry/sdk-logs@0.213.0': - resolution: {integrity: sha512-00xlU3GZXo3kXKve4DLdrAL0NAFUaZ9appU/mn00S/5kSUdAvyYsORaDUfR04Mp2CLagAOhrzfUvYozY/EZX2g==} + '@opentelemetry/sdk-logs@0.214.0': + resolution: {integrity: sha512-zf6acnScjhsaBUU22zXZ/sLWim1dfhUAbGXdMmHmNG3LfBnQ3DKsOCITb2IZwoUsNNMTogqFKBnlIPPftUgGwA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.4.0 <1.10.0' - '@opentelemetry/sdk-metrics@2.6.0': - resolution: {integrity: sha512-CicxWZxX6z35HR83jl+PLgtFgUrKRQ9LCXyxgenMnz5A1lgYWfAog7VtdOvGkJYyQgMNPhXQwkYrDLujk7z1Iw==} + '@opentelemetry/sdk-metrics@2.6.1': + resolution: {integrity: sha512-9t9hJHX15meBy2NmTJxL+NJfXmnausR2xUDvE19XQce0Qi/GBtDGamU8nS1RMbdgDmhgpm3VaOu2+fiS/SfTpQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.9.0 <1.10.0' - '@opentelemetry/sdk-node@0.213.0': - resolution: {integrity: sha512-8s7SQtY8DIAjraXFrUf0+I90SBAUQbsMWMtUGKmusswRHWXtKJx42aJQMoxEtC82Csqj+IlBH6FoP8XmmUDSrQ==} + '@opentelemetry/sdk-node@0.214.0': + resolution: {integrity: sha512-gl2XvQBJuPjhGcw9SsnQO5qxChAPMuGRPFaD8lqtF+Cey91NgGUQ0sio2vlDFOSm3JOLzc44vL+OAfx1dXuZjg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' - '@opentelemetry/sdk-trace-base@2.6.0': - resolution: {integrity: sha512-g/OZVkqlxllgFM7qMKqbPV9c1DUPhQ7d4n3pgZFcrnrNft9eJXZM2TNHTPYREJBrtNdRytYyvwjgL5geDKl3EQ==} + '@opentelemetry/sdk-trace-base@2.6.1': + resolution: {integrity: sha512-r86ut4T1e8vNwB35CqCcKd45yzqH6/6Wzvpk2/cZB8PsPLlZFTvrh8yfOS3CYZYcUmAx4hHTZJ8AO8Dj8nrdhw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' - '@opentelemetry/sdk-trace-node@2.6.0': - resolution: {integrity: sha512-YhswtasmsbIGEFvLGvR9p/y3PVRTfFf+mgY8van4Ygpnv4sA3vooAjvh+qAn9PNWxs4/IwGGqiQS0PPsaRJ0vQ==} + '@opentelemetry/sdk-trace-node@2.6.1': + resolution: {integrity: sha512-Hh2i4FwHWRFhnO2Q/p6svMxy8MPsNCG0uuzUY3glqm0rwM0nQvbTO1dXSp9OqQoTKXcQzaz9q1f65fsurmOhNw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' @@ -2406,288 +2404,285 @@ packages: resolution: {integrity: sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==} engines: {node: '>=14'} - '@oxc-project/types@0.115.0': - resolution: {integrity: sha512-4n91DKnebUS4yjUHl2g3/b2T+IUdCfmoZGhmwsovZCDaJSs+QkVAM+0AqqTxHSsHfeiMuueT75cZaZcT/m0pSw==} + '@oxc-project/types@0.122.0': + resolution: {integrity: sha512-oLAl5kBpV4w69UtFZ9xqcmTi+GENWOcPF7FCrczTiBbmC0ibXxCwyvZGbO39rCVEuLGAZM84DH0pUIyyv/YJzA==} - '@oxc-project/types@0.120.0': - resolution: {integrity: sha512-k1YNu55DuvAip/MGE1FTsIuU3FUCn6v/ujG9V7Nq5Df/kX2CWb13hhwD0lmJGMGqE+bE1MXvv9SZVnMzEXlWcg==} - - '@oxfmt/binding-android-arm-eabi@0.41.0': - resolution: {integrity: sha512-REfrqeMKGkfMP+m/ScX4f5jJBSmVNYcpoDF8vP8f8eYPDuPGZmzp56NIUsYmx3h7f6NzC6cE3gqh8GDWrJHCKw==} + '@oxfmt/binding-android-arm-eabi@0.42.0': + resolution: {integrity: sha512-dsqPTYsozeokRjlrt/b4E7Pj0z3eS3Eg74TWQuuKbjY4VttBmA88rB7d50Xrd+TZ986qdXCNeZRPEzZHAe+jow==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@oxfmt/binding-android-arm64@0.41.0': - resolution: {integrity: sha512-s0b1dxNgb2KomspFV2LfogC2XtSJB42POXF4bMCLJyvQmAGos4ZtjGPfQreToQEaY0FQFjz3030ggI36rF1q5g==} + '@oxfmt/binding-android-arm64@0.42.0': + resolution: {integrity: sha512-t+aAjHxcr5eOBphFHdg1ouQU9qmZZoRxnX7UOJSaTwSoKsb6TYezNKO0YbWytGXCECObRqNcUxPoPr0KaraAIg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxfmt/binding-darwin-arm64@0.41.0': - resolution: {integrity: sha512-EGXGualADbv/ZmamE7/2DbsrYmjoPlAmHEpTL4vapLF4EfVD6fr8/uQDFnPJkUBjiSWFJZtFNsGeN1B6V3owmA==} + '@oxfmt/binding-darwin-arm64@0.42.0': + resolution: {integrity: sha512-ulpSEYMKg61C5bRMZinFHrKJYRoKGVbvMEXA5zM1puX3O9T6Q4XXDbft20yrDijpYWeuG59z3Nabt+npeTsM1A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxfmt/binding-darwin-x64@0.41.0': - resolution: {integrity: sha512-WxySJEvdQQYMmyvISH3qDpTvoS0ebnIP63IMxLLWowJyPp/AAH0hdWtlo+iGNK5y3eVfa5jZguwNaQkDKWpGSw==} + '@oxfmt/binding-darwin-x64@0.42.0': + resolution: {integrity: sha512-ttxLKhQYPdFiM8I/Ri37cvqChE4Xa562nNOsZFcv1CKTVLeEozXjKuYClNvxkXmNlcF55nzM80P+CQkdFBu+uQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxfmt/binding-freebsd-x64@0.41.0': - resolution: {integrity: sha512-Y2kzMkv3U3oyuYaR4wTfGjOTYTXiFC/hXmG0yVASKkbh02BJkvD98Ij8bIevr45hNZ0DmZEgqiXF+9buD4yMYQ==} + '@oxfmt/binding-freebsd-x64@0.42.0': + resolution: {integrity: sha512-Og7QS3yI3tdIKYZ58SXik0rADxIk2jmd+/YvuHRyKULWpG4V2fR5V4hvKm624Mc0cQET35waPXiCQWvjQEjwYQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxfmt/binding-linux-arm-gnueabihf@0.41.0': - resolution: {integrity: sha512-ptazDjdUyhket01IjPTT6ULS1KFuBfTUU97osTP96X5y/0oso+AgAaJzuH81oP0+XXyrWIHbRzozSAuQm4p48g==} + '@oxfmt/binding-linux-arm-gnueabihf@0.42.0': + resolution: {integrity: sha512-jwLOw/3CW4H6Vxcry4/buQHk7zm9Ne2YsidzTL1kpiMe4qqrRCwev3dkyWe2YkFmP+iZCQ7zku4KwjcLRoh8ew==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxfmt/binding-linux-arm-musleabihf@0.41.0': - resolution: {integrity: sha512-UkoL2OKxFD+56bPEBcdGn+4juTW4HRv/T6w1dIDLnvKKWr6DbarB/mtHXlADKlFiJubJz8pRkttOR7qjYR6lTA==} + '@oxfmt/binding-linux-arm-musleabihf@0.42.0': + resolution: {integrity: sha512-XwXu2vkMtiq2h7tfvN+WA/9/5/1IoGAVCFPiiQUvcAuG3efR97KNcRGM8BetmbYouFotQ2bDal3yyjUx6IPsTg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxfmt/binding-linux-arm64-gnu@0.41.0': - resolution: {integrity: sha512-gofu0PuumSOHYczD8p62CPY4UF6ee+rSLZJdUXkpwxg6pILiwSDBIouPskjF/5nF3A7QZTz2O9KFNkNxxFN9tA==} + '@oxfmt/binding-linux-arm64-gnu@0.42.0': + resolution: {integrity: sha512-ea7s/XUJoT7ENAtUQDudFe3nkSM3e3Qpz4nJFRdzO2wbgXEcjnchKLEsV3+t4ev3r8nWxIYr9NRjPWtnyIFJVA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-arm64-musl@0.41.0': - resolution: {integrity: sha512-VfVZxL0+6RU86T8F8vKiDBa+iHsr8PAjQmKGBzSCAX70b6x+UOMFl+2dNihmKmUwqkCazCPfYjt6SuAPOeQJ3g==} + '@oxfmt/binding-linux-arm64-musl@0.42.0': + resolution: {integrity: sha512-+JA0YMlSdDqmacygGi2REp57c3fN+tzARD8nwsukx9pkCHK+6DkbAA9ojS4lNKsiBjIW8WWa0pBrBWhdZEqfuw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@oxfmt/binding-linux-ppc64-gnu@0.41.0': - resolution: {integrity: sha512-bwzokz2eGvdfJbc0i+zXMJ4BBjQPqg13jyWpEEZDOrBCQ91r8KeY2Mi2kUeuMTZNFXju+jcAbAbpyJxRGla0eg==} + '@oxfmt/binding-linux-ppc64-gnu@0.42.0': + resolution: {integrity: sha512-VfnET0j4Y5mdfCzh5gBt0NK28lgn5DKx+8WgSMLYYeSooHhohdbzwAStLki9pNuGy51y4I7IoW8bqwAaCMiJQg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-riscv64-gnu@0.41.0': - resolution: {integrity: sha512-POLM//PCH9uqDeNDwWL3b3DkMmI3oI2cU6hwc2lnztD1o7dzrQs3R9nq555BZ6wI7t2lyhT9CS+CRaz5X0XqLA==} + '@oxfmt/binding-linux-riscv64-gnu@0.42.0': + resolution: {integrity: sha512-gVlCbmBkB0fxBWbhBj9rcxezPydsQHf4MFKeHoTSPicOQ+8oGeTQgQ8EeesSybWeiFPVRx3bgdt4IJnH6nOjAA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-riscv64-musl@0.41.0': - resolution: {integrity: sha512-NNK7PzhFqLUwx/G12Xtm6scGv7UITvyGdAR5Y+TlqsG+essnuRWR4jRNODWRjzLZod0T3SayRbnkSIWMBov33w==} + '@oxfmt/binding-linux-riscv64-musl@0.42.0': + resolution: {integrity: sha512-zN5OfstL0avgt/IgvRu0zjQzVh/EPkcLzs33E9LMAzpqlLWiPWeMDZyMGFlSRGOdDjuNmlZBCgj0pFnK5u32TQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [musl] - '@oxfmt/binding-linux-s390x-gnu@0.41.0': - resolution: {integrity: sha512-qVf/zDC5cN9eKe4qI/O/m445er1IRl6swsSl7jHkqmOSVfknwCe5JXitYjZca+V/cNJSU/xPlC5EFMabMMFDpw==} + '@oxfmt/binding-linux-s390x-gnu@0.42.0': + resolution: {integrity: sha512-9X6+H2L0qMc2sCAgO9HS03bkGLMKvOFjmEdchaFlany3vNZOjnVui//D8k/xZAtQv2vaCs1reD5KAgPoIU4msA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-x64-gnu@0.41.0': - resolution: {integrity: sha512-ojxYWu7vUb6ysYqVCPHuAPVZHAI40gfZ0PDtZAMwVmh2f0V8ExpPIKoAKr7/8sNbAXJBBpZhs2coypIo2jJX4w==} + '@oxfmt/binding-linux-x64-gnu@0.42.0': + resolution: {integrity: sha512-BajxJ6KQvMMdpXGPWhBGyjb2Jvx4uec0w+wi6TJZ6Tv7+MzPwe0pO8g5h1U0jyFgoaF7mDl6yKPW3ykWcbUJRw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-x64-musl@0.41.0': - resolution: {integrity: sha512-O2exZLBxoCMIv2vlvcbkdedazJPTdG0VSup+0QUCfYQtx751zCZNboX2ZUOiQ/gDTdhtXvSiot0h6GEGkOyalA==} + '@oxfmt/binding-linux-x64-musl@0.42.0': + resolution: {integrity: sha512-0wV284I6vc5f0AqAhgAbHU2935B4bVpncPoe5n/WzVZY/KnHgqxC8iSFGeSyLWEgstFboIcWkOPck7tqbdHkzA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@oxfmt/binding-openharmony-arm64@0.41.0': - resolution: {integrity: sha512-N+31/VoL+z+NNBt8viy3I4NaIdPbiYeOnB884LKqvXldaE2dRztdPv3q5ipfZYv0RwFp7JfqS4I27K/DSHCakg==} + '@oxfmt/binding-openharmony-arm64@0.42.0': + resolution: {integrity: sha512-p4BG6HpGnhfgHk1rzZfyR6zcWkE7iLrWxyehHfXUy4Qa5j3e0roglFOdP/Nj5cJJ58MA3isQ5dlfkW2nNEpolw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@oxfmt/binding-win32-arm64-msvc@0.41.0': - resolution: {integrity: sha512-Z7NAtu/RN8kjCQ1y5oDD0nTAeRswh3GJ93qwcW51srmidP7XPBmZbLlwERu1W5veCevQJtPS9xmkpcDTYsGIwQ==} + '@oxfmt/binding-win32-arm64-msvc@0.42.0': + resolution: {integrity: sha512-mn//WV60A+IetORDxYieYGAoQso4KnVRRjORDewMcod4irlRe0OSC7YPhhwaexYNPQz/GCFk+v9iUcZ2W22yxQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxfmt/binding-win32-ia32-msvc@0.41.0': - resolution: {integrity: sha512-uNxxP3l4bJ6VyzIeRqCmBU2Q0SkCFgIhvx9/9dJ9V8t/v+jP1IBsuaLwCXGR8JPHtkj4tFp+RHtUmU2ZYAUpMA==} + '@oxfmt/binding-win32-ia32-msvc@0.42.0': + resolution: {integrity: sha512-3gWltUrvuz4LPJXWivoAxZ28Of2O4N7OGuM5/X3ubPXCEV8hmgECLZzjz7UYvSDUS3grfdccQwmjynm+51EFpw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] - '@oxfmt/binding-win32-x64-msvc@0.41.0': - resolution: {integrity: sha512-49ZSpbZ1noozyPapE8SUOSm3IN0Ze4b5nkO+4+7fq6oEYQQJFhE0saj5k/Gg4oewVPdjn0L3ZFeWk2Vehjcw7A==} + '@oxfmt/binding-win32-x64-msvc@0.42.0': + resolution: {integrity: sha512-Wg4TMAfQRL9J9AZevJ/ZNy3uyyDztDYQtGr4P8UyyzIhLhFrdSmz1J/9JT+rv0fiCDLaFOBQnj3f3K3+a5PzDQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@oxlint-tsgolint/darwin-arm64@0.17.1': - resolution: {integrity: sha512-JNWNwyvSDcUQSBlQRl10XrCeNcN66TMvDw3gIDQeop5SNa1F7wFhsEx4zitYb7fGHwGh9095tsNttmuCaNXCbw==} + '@oxlint-tsgolint/darwin-arm64@0.17.4': + resolution: {integrity: sha512-XEA7vl/T1+wiVnMq2MR6u5OYr2pwKHiAPgklxpK8tPrjQ1ci/amNmwI8ECn6TPXSCsC8SJsSN5xvzXm5H3dTfw==} cpu: [arm64] os: [darwin] - '@oxlint-tsgolint/darwin-x64@0.17.1': - resolution: {integrity: sha512-SluNf6CW88pgGPqQUGC5GoK5qESWo2ct1PRDbza3vbf9SK2npx3igvylGQIgE9qYYOcjgnVdLOJ0+q0gItgUmQ==} + '@oxlint-tsgolint/darwin-x64@0.17.4': + resolution: {integrity: sha512-EY2wmHWqkz72B0/ddMiAM564ZXpEuN1i7JqJJhLmDUQfiHX0/X0EqK3xlSScMCFcVicitOxbKO9oqbde3658yg==} cpu: [x64] os: [darwin] - '@oxlint-tsgolint/linux-arm64@0.17.1': - resolution: {integrity: sha512-BJxQ7/cdo2dNdGIBs2PIR6BaPA7cPfe+r1HE/uY+K7g2ygip+0LHB3GUO9GaNDZuWpsnDyjLYYowEGrVK8dokA==} + '@oxlint-tsgolint/linux-arm64@0.17.4': + resolution: {integrity: sha512-XL2X8hgp3/TZWeHFLUnWrveTCBPxy1kNtpzfvVkLtBgyoaRyopPYL0Mnm+ypXKgGvUdcjDaiJhnRjFHWmqZkew==} cpu: [arm64] os: [linux] - '@oxlint-tsgolint/linux-x64@0.17.1': - resolution: {integrity: sha512-s6UjmuaJbZ4zz/wJKdEw/s5mc0t41rgwxQJCSHPuzMumMK6ylrB7nydhDf8ObTtzhTIZdAS/2S/uayJmDcGbxw==} + '@oxlint-tsgolint/linux-x64@0.17.4': + resolution: {integrity: sha512-jT+aWtQuU8jefwfBLAZu16p4t8xUDjxL6KKlOeuwX3cS6NO60ITJ4Glm8eQYq5cGsOmYIKXNIe4ckPpL5LC+5g==} cpu: [x64] os: [linux] - '@oxlint-tsgolint/win32-arm64@0.17.1': - resolution: {integrity: sha512-EO/Oj0ixHX+UQdu9hM7YUzibZI888MvPUo/DF8lSxFBt4JNEt8qGkwJEbCYjB/1LhUNmPHzSw2Tr9dCFVfW9nw==} + '@oxlint-tsgolint/win32-arm64@0.17.4': + resolution: {integrity: sha512-pnnkBaI5tHBFhx+EhmpUHccBT3VOAXTgWK2eQBVLE4a/ywhpHN+8D6/QQN+ZTaA4LTkKowvlGD6vDOVP5KRPvw==} cpu: [arm64] os: [win32] - '@oxlint-tsgolint/win32-x64@0.17.1': - resolution: {integrity: sha512-jhv7XktAJ1sMRSb//yDYTauFSZ06H81i2SLEBPaSUKxSKoPMK8p1ACUJlnmwZX2MgapRLEj1Ml22B6+HiM2YIA==} + '@oxlint-tsgolint/win32-x64@0.17.4': + resolution: {integrity: sha512-JxT81aEUBNA/s01Ql2OQ2DLAsuM0M+mK9iLHunukOdPMhjA6NvFE/GtTablBYJKScK21d/xTvnoSLgQU3l22Cw==} cpu: [x64] os: [win32] - '@oxlint/binding-android-arm-eabi@1.56.0': - resolution: {integrity: sha512-IyfYPthZyiSKwAv/dLjeO18SaK8MxLI9Yss2JrRDyweQAkuL3LhEy7pwIwI7uA3KQc1Vdn20kdmj3q0oUIQL6A==} + '@oxlint/binding-android-arm-eabi@1.57.0': + resolution: {integrity: sha512-C7EiyfAJG4B70496eV543nKiq5cH0o/xIh/ufbjQz3SIvHhlDDsyn+mRFh+aW8KskTyUpyH2LGWL8p2oN6bl1A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@oxlint/binding-android-arm64@1.56.0': - resolution: {integrity: sha512-Ga5zYrzH6vc/VFxhn6MmyUnYEfy9vRpwTIks99mY3j6Nz30yYpIkWryI0QKPCgvGUtDSXVLEaMum5nA+WrNOSg==} + '@oxlint/binding-android-arm64@1.57.0': + resolution: {integrity: sha512-9i80AresjZ/FZf5xK8tKFbhQnijD4s1eOZw6/FHUwD59HEZbVLRc2C88ADYJfLZrF5XofWDiRX/Ja9KefCLy7w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxlint/binding-darwin-arm64@1.56.0': - resolution: {integrity: sha512-ogmbdJysnw/D4bDcpf1sPLpFThZ48lYp4aKYm10Z/6Nh1SON6NtnNhTNOlhEY296tDFItsZUz+2tgcSYqh8Eyw==} + '@oxlint/binding-darwin-arm64@1.57.0': + resolution: {integrity: sha512-0eUfhRz5L2yKa9I8k3qpyl37XK3oBS5BvrgdVIx599WZK63P8sMbg+0s4IuxmIiZuBK68Ek+Z+gcKgeYf0otsg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxlint/binding-darwin-x64@1.56.0': - resolution: {integrity: sha512-x8QE1h+RAtQ2g+3KPsP6Fk/tdz6zJQUv5c7fTrJxXV3GHOo+Ry5p/PsogU4U+iUZg0rj6hS+E4xi+mnwwlDCWQ==} + '@oxlint/binding-darwin-x64@1.57.0': + resolution: {integrity: sha512-UvrSuzBaYOue+QMAcuDITe0k/Vhj6KZGjfnI6x+NkxBTke/VoM7ZisaxgNY0LWuBkTnd1OmeQfEQdQ48fRjkQg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxlint/binding-freebsd-x64@1.56.0': - resolution: {integrity: sha512-6G+WMZvwJpMvY7my+/SHEjb7BTk/PFbePqLpmVmUJRIsJMy/UlyYqjpuh0RCgYYkPLcnXm1rUM04kbTk8yS1Yg==} + '@oxlint/binding-freebsd-x64@1.57.0': + resolution: {integrity: sha512-wtQq0dCoiw4bUwlsNVDJJ3pxJA218fOezpgtLKrbQqUtQJcM9yP8z+I9fu14aHg0uyAxIY+99toL6uBa2r7nxA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxlint/binding-linux-arm-gnueabihf@1.56.0': - resolution: {integrity: sha512-YYHBsk/sl7fYwQOok+6W5lBPeUEvisznV/HZD2IfZmF3Bns6cPC3Z0vCtSEOaAWTjYWN3jVsdu55jMxKlsdlhg==} + '@oxlint/binding-linux-arm-gnueabihf@1.57.0': + resolution: {integrity: sha512-qxFWl2BBBFcT4djKa+OtMdnLgoHEJXpqjyGwz8OhW35ImoCwR5qtAGqApNYce5260FQqoAHW8S8eZTjiX67Tsg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxlint/binding-linux-arm-musleabihf@1.56.0': - resolution: {integrity: sha512-+AZK8rOUr78y8WT6XkDb04IbMRqauNV+vgT6f8ZLOH8wnpQ9i7Nol0XLxAu+Cq7Sb+J9wC0j6Km5hG8rj47/yQ==} + '@oxlint/binding-linux-arm-musleabihf@1.57.0': + resolution: {integrity: sha512-SQoIsBU7J0bDW15/f0/RvxHfY3Y0+eB/caKBQtNFbuerTiA6JCYx9P1MrrFTwY2dTm/lMgTSgskvCEYk2AtG/Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxlint/binding-linux-arm64-gnu@1.56.0': - resolution: {integrity: sha512-urse2SnugwJRojUkGSSeH2LPMaje5Q50yQtvtL9HFckiyeqXzoFwOAZqD5TR29R2lq7UHidfFDM9EGcchcbb8A==} + '@oxlint/binding-linux-arm64-gnu@1.57.0': + resolution: {integrity: sha512-jqxYd1W6WMeozsCmqe9Rzbu3SRrGTyGDAipRlRggetyYbUksJqJKvUNTQtZR/KFoJPb+grnSm5SHhdWrywv3RQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@oxlint/binding-linux-arm64-musl@1.56.0': - resolution: {integrity: sha512-rkTZkBfJ4TYLjansjSzL6mgZOdN5IvUnSq3oNJSLwBcNvy3dlgQtpHPrRxrCEbbcp7oQ6If0tkNaqfOsphYZ9g==} + '@oxlint/binding-linux-arm64-musl@1.57.0': + resolution: {integrity: sha512-i66WyEPVEvq9bxRUCJ/MP5EBfnTDN3nhwEdFZFTO5MmLLvzngfWEG3NSdXQzTT3vk5B9i6C2XSIYBh+aG6uqyg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@oxlint/binding-linux-ppc64-gnu@1.56.0': - resolution: {integrity: sha512-uqL1kMH3u69/e1CH2EJhP3CP28jw2ExLsku4o8RVAZ7fySo9zOyI2fy9pVlTAp4voBLVgzndXi3SgtdyCTa2aA==} + '@oxlint/binding-linux-ppc64-gnu@1.57.0': + resolution: {integrity: sha512-oMZDCwz4NobclZU3pH+V1/upVlJZiZvne4jQP+zhJwt+lmio4XXr4qG47CehvrW1Lx2YZiIHuxM2D4YpkG3KVA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@oxlint/binding-linux-riscv64-gnu@1.56.0': - resolution: {integrity: sha512-j0CcMBOgV6KsRaBdsebIeiy7hCjEvq2KdEsiULf2LZqAq0v1M1lWjelhCV57LxsqaIGChXFuFJ0RiFrSRHPhSg==} + '@oxlint/binding-linux-riscv64-gnu@1.57.0': + resolution: {integrity: sha512-uoBnjJ3MMEBbfnWC1jSFr7/nSCkcQYa72NYoNtLl1imshDnWSolYCjzb8LVCwYCCfLJXD+0gBLD7fyC14c0+0g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [glibc] - '@oxlint/binding-linux-riscv64-musl@1.56.0': - resolution: {integrity: sha512-7VDOiL8cDG3DQ/CY3yKjbV1c4YPvc4vH8qW09Vv+5ukq3l/Kcyr6XGCd5NvxUmxqDb2vjMpM+eW/4JrEEsUetA==} + '@oxlint/binding-linux-riscv64-musl@1.57.0': + resolution: {integrity: sha512-BdrwD7haPZ8a9KrZhKJRSj6jwCor+Z8tHFZ3PT89Y3Jq5v3LfMfEePeAmD0LOTWpiTmzSzdmyw9ijneapiVHKQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [musl] - '@oxlint/binding-linux-s390x-gnu@1.56.0': - resolution: {integrity: sha512-JGRpX0M+ikD3WpwJ7vKcHKV6Kg0dT52BW2Eu2BupXotYeqGXBrbY+QPkAyKO6MNgKozyTNaRh3r7g+VWgyAQYQ==} + '@oxlint/binding-linux-s390x-gnu@1.57.0': + resolution: {integrity: sha512-BNs+7ZNsRstVg2tpNxAXfMX/Iv5oZh204dVyb8Z37+/gCh+yZqNTlg6YwCLIMPSk5wLWIGOaQjT0GUOahKYImw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@oxlint/binding-linux-x64-gnu@1.56.0': - resolution: {integrity: sha512-dNaICPvtmuxFP/VbqdofrLqdS3bM/AKJN3LMJD52si44ea7Be1cBk6NpfIahaysG9Uo+L98QKddU9CD5L8UHnQ==} + '@oxlint/binding-linux-x64-gnu@1.57.0': + resolution: {integrity: sha512-AghS18w+XcENcAX0+BQGLiqjpqpaxKJa4cWWP0OWNLacs27vHBxu7TYkv9LUSGe5w8lOJHeMxcYfZNOAPqw2bg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@oxlint/binding-linux-x64-musl@1.56.0': - resolution: {integrity: sha512-pF1vOtM+GuXmbklM1hV8WMsn6tCNPvkUzklj/Ej98JhlanbmA2RB1BILgOpwSuCTRTIYx2MXssmEyQQ90QF5aA==} + '@oxlint/binding-linux-x64-musl@1.57.0': + resolution: {integrity: sha512-E/FV3GB8phu/Rpkhz5T96hAiJlGzn91qX5yj5gU754P5cmVGXY1Jw/VSjDSlZBCY3VHjsVLdzgdkJaomEmcNOg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@oxlint/binding-openharmony-arm64@1.56.0': - resolution: {integrity: sha512-bp8NQ4RE6fDIFLa4bdBiOA+TAvkNkg+rslR+AvvjlLTYXLy9/uKAYLQudaQouWihLD/hgkrXIKKzXi5IXOewwg==} + '@oxlint/binding-openharmony-arm64@1.57.0': + resolution: {integrity: sha512-xvZ2yZt0nUVfU14iuGv3V25jpr9pov5N0Wr28RXnHFxHCRxNDMtYPHV61gGLhN9IlXM96gI4pyYpLSJC5ClLCQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@oxlint/binding-win32-arm64-msvc@1.56.0': - resolution: {integrity: sha512-PxT4OJDfMOQBzo3OlzFb9gkoSD+n8qSBxyVq2wQSZIHFQYGEqIRTo9M0ZStvZm5fdhMqaVYpOnJvH2hUMEDk/g==} + '@oxlint/binding-win32-arm64-msvc@1.57.0': + resolution: {integrity: sha512-Z4D8Pd0AyHBKeazhdIXeUUy5sIS3Mo0veOlzlDECg6PhRRKgEsBJCCV1n+keUZtQ04OP+i7+itS3kOykUyNhDg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxlint/binding-win32-ia32-msvc@1.56.0': - resolution: {integrity: sha512-PTRy6sIEPqy2x8PTP1baBNReN/BNEFmde0L+mYeHmjXE1Vlcc9+I5nsqENsB2yAm5wLkzPoTNCMY/7AnabT4/A==} + '@oxlint/binding-win32-ia32-msvc@1.57.0': + resolution: {integrity: sha512-StOZ9nFMVKvevicbQfql6Pouu9pgbeQnu60Fvhz2S6yfMaii+wnueLnqQ5I1JPgNF0Syew4voBlAaHD13wH6tw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] - '@oxlint/binding-win32-x64-msvc@1.56.0': - resolution: {integrity: sha512-ZHa0clocjLmIDr+1LwoWtxRcoYniAvERotvwKUYKhH41NVfl0Y4LNbyQkwMZzwDvKklKGvGZ5+DAG58/Ik47tQ==} + '@oxlint/binding-win32-x64-msvc@1.57.0': + resolution: {integrity: sha512-6PuxhYgth8TuW0+ABPOIkGdBYw+qYGxgIdXPHSVpiCDm+hqTTWCmC739St1Xni0DJBt8HnSHTG67i1y6gr8qrA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@pierre/diffs@1.1.3': - resolution: {integrity: sha512-sV6G1FL0L4UtequXi+50Uge4QVsouo5vgJx7pCawQ4+ctFglh03zIsB81W8PNheh3coIlVzLzFgB9kI7X4eyjw==} + '@pierre/diffs@1.1.5': + resolution: {integrity: sha512-enMCYaSa1NISruQLXF6cRqmKoYNtnKwxwQ76IE2WPHXPfZBtb1Vte/uuIwHJe/Aoi9oBULP1TZvPirMXEXWr5w==} peerDependencies: react: ^18.3.1 || ^19.0.0 react-dom: ^18.3.1 || ^19.0.0 @@ -2791,201 +2786,201 @@ packages: resolution: {integrity: sha512-DmCG8GzysnCZ15bres3N5AHCmwBwYgp0As6xjhQ47rAUTUXxJiK+lLUxaGsX3hd/30qUpVElh05PbGuxRPgJwA==} engines: {node: '>= 10'} - '@rolldown/binding-android-arm64@1.0.0-rc.10': - resolution: {integrity: sha512-jOHxwXhxmFKuXztiu1ORieJeTbx5vrTkcOkkkn2d35726+iwhrY1w/+nYY/AGgF12thg33qC3R1LMBF5tHTZHg==} + '@rolldown/binding-android-arm64@1.0.0-rc.11': + resolution: {integrity: sha512-SJ+/g+xNnOh6NqYxD0V3uVN4W3VfnrGsC9/hoglicgTNfABFG9JjISvkkU0dNY84MNHLWyOgxP9v9Y9pX4S7+A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-android-arm64@1.0.0-rc.9': - resolution: {integrity: sha512-lcJL0bN5hpgJfSIz/8PIf02irmyL43P+j1pTCfbD1DbLkmGRuFIA4DD3B3ZOvGqG0XiVvRznbKtN0COQVaKUTg==} + '@rolldown/binding-android-arm64@1.0.0-rc.12': + resolution: {integrity: sha512-pv1y2Fv0JybcykuiiD3qBOBdz6RteYojRFY1d+b95WVuzx211CRh+ytI/+9iVyWQ6koTh5dawe4S/yRfOFjgaA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.0.0-rc.10': - resolution: {integrity: sha512-gED05Teg/vtTZbIJBc4VNMAxAFDUPkuO/rAIyyxZjTj1a1/s6z5TII/5yMGZ0uLRCifEtwUQn8OlYzuYc0m70w==} + '@rolldown/binding-darwin-arm64@1.0.0-rc.11': + resolution: {integrity: sha512-7WQgR8SfOPwmDZGFkThUvsmd/nwAWv91oCO4I5LS7RKrssPZmOt7jONN0cW17ydGC1n/+puol1IpoieKqQidmg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-arm64@1.0.0-rc.9': - resolution: {integrity: sha512-J7Zk3kLYFsLtuH6U+F4pS2sYVzac0qkjcO5QxHS7OS7yZu2LRs+IXo+uvJ/mvpyUljDJ3LROZPoQfgBIpCMhdQ==} + '@rolldown/binding-darwin-arm64@1.0.0-rc.12': + resolution: {integrity: sha512-cFYr6zTG/3PXXF3pUO+umXxt1wkRK/0AYT8lDwuqvRC+LuKYWSAQAQZjCWDQpAH172ZV6ieYrNnFzVVcnSflAg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.0-rc.10': - resolution: {integrity: sha512-rI15NcM1mA48lqrIxVkHfAqcyFLcQwyXWThy+BQ5+mkKKPvSO26ir+ZDp36AgYoYVkqvMcdS8zOE6SeBsR9e8A==} + '@rolldown/binding-darwin-x64@1.0.0-rc.11': + resolution: {integrity: sha512-39Ks6UvIHq4rEogIfQBoBRusj0Q0nPVWIvqmwBLaT6aqQGIakHdESBVOPRRLacy4WwUPIx4ZKzfZ9PMW+IeyUQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.0-rc.9': - resolution: {integrity: sha512-iwtmmghy8nhfRGeNAIltcNXzD0QMNaaA5U/NyZc1Ia4bxrzFByNMDoppoC+hl7cDiUq5/1CnFthpT9n+UtfFyg==} + '@rolldown/binding-darwin-x64@1.0.0-rc.12': + resolution: {integrity: sha512-ZCsYknnHzeXYps0lGBz8JrF37GpE9bFVefrlmDrAQhOEi4IOIlcoU1+FwHEtyXGx2VkYAvhu7dyBf75EJQffBw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.0.0-rc.10': - resolution: {integrity: sha512-XZRXHdTa+4ME1MuDVp021+doQ+z6Ei4CCFmNc5/sKbqb8YmkiJdj8QKlV3rCI0AJtAeSB5n0WGPuJWNL9p/L2w==} + '@rolldown/binding-freebsd-x64@1.0.0-rc.11': + resolution: {integrity: sha512-jfsm0ZHfhiqrvWjJAmzsqiIFPz5e7mAoCOPBNTcNgkiid/LaFKiq92+0ojH+nmJmKYkre4t71BWXUZDNp7vsag==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-freebsd-x64@1.0.0-rc.9': - resolution: {integrity: sha512-DLFYI78SCiZr5VvdEplsVC2Vx53lnA4/Ga5C65iyldMVaErr86aiqCoNBLl92PXPfDtUYjUh+xFFor40ueNs4Q==} + '@rolldown/binding-freebsd-x64@1.0.0-rc.12': + resolution: {integrity: sha512-dMLeprcVsyJsKolRXyoTH3NL6qtsT0Y2xeuEA8WQJquWFXkEC4bcu1rLZZSnZRMtAqwtrF/Ib9Ddtpa/Gkge9Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.10': - resolution: {integrity: sha512-R0SQMRluISSLzFE20sPWYHVmJdDQnRyc/FzSCN72BqQmh2SOZUFG+N3/vBZpR4C6WpEUVYJLrYUXaj43sJsNLA==} + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.11': + resolution: {integrity: sha512-zjQaUtSyq1nVe3nxmlSCuR96T1LPlpvmJ0SZy0WJFEsV4kFbXcq2u68L4E6O0XeFj4aex9bEauqjW8UQBeAvfQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.9': - resolution: {integrity: sha512-CsjTmTwd0Hri6iTw/DRMK7kOZ7FwAkrO4h8YWKoX/kcj833e4coqo2wzIFywtch/8Eb5enQ/lwLM7w6JX1W5RQ==} + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.12': + resolution: {integrity: sha512-YqWjAgGC/9M1lz3GR1r1rP79nMgo3mQiiA+Hfo+pvKFK1fAJ1bCi0ZQVh8noOqNacuY1qIcfyVfP6HoyBRZ85Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.10': - resolution: {integrity: sha512-Y1reMrV/o+cwpduYhJuOE3OMKx32RMYCidf14y+HssARRmhDuWXJ4yVguDg2R/8SyyGNo+auzz64LnPK9Hq6jg==} + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.11': + resolution: {integrity: sha512-WMW1yE6IOnehTcFE9eipFkm3XN63zypWlrJQ2iF7NrQ9b2LDRjumFoOGJE8RJJTJCTBAdmLMnJ8uVitACUUo1Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.9': - resolution: {integrity: sha512-2x9O2JbSPxpxMDhP9Z74mahAStibTlrBMW0520+epJH5sac7/LwZW5Bmg/E6CXuEF53JJFW509uP+lSedaUNxg==} + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.12': + resolution: {integrity: sha512-/I5AS4cIroLpslsmzXfwbe5OmWvSsrFuEw3mwvbQ1kDxJ822hFHIx+vsN/TAzNVyepI/j/GSzrtCIwQPeKCLIg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.10': - resolution: {integrity: sha512-vELN+HNb2IzuzSBUOD4NHmP9yrGwl1DVM29wlQvx1OLSclL0NgVWnVDKl/8tEks79EFek/kebQKnNJkIAA4W2g==} + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.11': + resolution: {integrity: sha512-jfndI9tsfm4APzjNt6QdBkYwre5lRPUgHeDHoI7ydKUuJvz3lZeCfMsI56BZj+7BYqiKsJm7cfd/6KYV7ubrBg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.9': - resolution: {integrity: sha512-JA1QRW31ogheAIRhIg9tjMfsYbglXXYGNPLdPEYrwFxdbkQCAzvpSCSHCDWNl4hTtrol8WeboCSEpjdZK8qrCg==} + '@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.10': - resolution: {integrity: sha512-ZqrufYTgzxbHwpqOjzSsb0UV/aV2TFIY5rP8HdsiPTv/CuAgCRjM6s9cYFwQ4CNH+hf9Y4erHW1GjZuZ7WoI7w==} + '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.11': + resolution: {integrity: sha512-ZlFgw46NOAGMgcdvdYwAGu2Q+SLFA9LzbJLW+iyMOJyhj5wk6P3KEE9Gct4xWwSzFoPI7JCdYmYMzVtlgQ+zfw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.9': - resolution: {integrity: sha512-aOKU9dJheda8Kj8Y3w9gnt9QFOO+qKPAl8SWd7JPHP+Cu0EuDAE5wokQubLzIDQWg2myXq2XhTpOVS07qqvT+w==} + '@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.10': - resolution: {integrity: sha512-gSlmVS1FZJSRicA6IyjoRoKAFK7IIHBs7xJuHRSmjImqk3mPPWbR7RhbnfH2G6bcmMEllCt2vQ/7u9e6bBnByg==} + '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.11': + resolution: {integrity: sha512-hIOYmuT6ofM4K04XAZd3OzMySEO4K0/nc9+jmNcxNAxRi6c5UWpqfw3KMFV4MVFWL+jQsSh+bGw2VqmaPMTLyw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.9': - resolution: {integrity: sha512-OalO94fqj7IWRn3VdXWty75jC5dk4C197AWEuMhIpvVv2lw9fiPhud0+bW2ctCxb3YoBZor71QHbY+9/WToadA==} + '@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.10': - resolution: {integrity: sha512-eOCKUpluKgfObT2pHjztnaWEIbUabWzk3qPZ5PuacuPmr4+JtQG4k2vGTY0H15edaTnicgU428XW/IH6AimcQw==} + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.11': + resolution: {integrity: sha512-qXBQQO9OvkjjQPLdUVr7Nr2t3QTZI7s4KZtfw7HzBgjbmAPSFwSv4rmET9lLSgq3rH/ndA3ngv3Qb8l2njoPNA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.9': - resolution: {integrity: sha512-cVEl1vZtBsBZna3YMjGXNvnYYrOJ7RzuWvZU0ffvJUexWkukMaDuGhUXn0rjnV0ptzGVkvc+vW9Yqy6h8YX4pg==} + '@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.10': - resolution: {integrity: sha512-Xdf2jQbfQowJnLcgYfD/m0Uu0Qj5OdxKallD78/IPPfzaiaI4KRAwZzHcKQ4ig1gtg1SuzC7jovNiM2TzQsBXA==} + '@rolldown/binding-linux-x64-musl@1.0.0-rc.11': + resolution: {integrity: sha512-/tpFfoSTzUkH9LPY+cYbqZBDyyX62w5fICq9qzsHLL8uTI6BHip3Q9Uzft0wylk/i8OOwKik8OxW+QAhDmzwmg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-linux-x64-musl@1.0.0-rc.9': - resolution: {integrity: sha512-UzYnKCIIc4heAKgI4PZ3dfBGUZefGCJ1TPDuLHoCzgrMYPb5Rv6TLFuYtyM4rWyHM7hymNdsg5ik2C+UD9VDbA==} + '@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.10': - resolution: {integrity: sha512-o1hYe8hLi1EY6jgPFyxQgQ1wcycX+qz8eEbVmot2hFkgUzPxy9+kF0u0NIQBeDq+Mko47AkaFFaChcvZa9UX9Q==} + '@rolldown/binding-openharmony-arm64@1.0.0-rc.11': + resolution: {integrity: sha512-mcp3Rio2w72IvdZG0oQ4bM2c2oumtwHfUfKncUM6zGgz0KgPz4YmDPQfnXEiY5t3+KD/i8HG2rOB/LxdmieK2g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-openharmony-arm64@1.0.0-rc.9': - resolution: {integrity: sha512-+6zoiF+RRyf5cdlFQP7nm58mq7+/2PFaY2DNQeD4B87N36JzfF/l9mdBkkmTvSYcYPE8tMh/o3cRlsx1ldLfog==} + '@rolldown/binding-openharmony-arm64@1.0.0-rc.12': + resolution: {integrity: sha512-vRugONE4yMfVn0+7lUKdKvN4D5YusEiPilaoO2sgUWpCvrncvWgPMzK00ZFFJuiPgLwgFNP5eSiUlv2tfc+lpA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-wasm32-wasi@1.0.0-rc.10': - resolution: {integrity: sha512-Ugv9o7qYJudqQO5Y5y2N2SOo6S4WiqiNOpuQyoPInnhVzCY+wi/GHltcLHypG9DEUYMB0iTB/huJrpadiAcNcA==} + '@rolldown/binding-wasm32-wasi@1.0.0-rc.11': + resolution: {integrity: sha512-LXk5Hii1Ph9asuGRjBuz8TUxdc1lWzB7nyfdoRgI0WGPZKmCxvlKk8KfYysqtr4MfGElu/f/pEQRh8fcEgkrWw==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@rolldown/binding-wasm32-wasi@1.0.0-rc.9': - resolution: {integrity: sha512-rgFN6sA/dyebil3YTlL2evvi/M+ivhfnyxec7AccTpRPccno/rPoNlqybEZQBkcbZu8Hy+eqNJCqfBR8P7Pg8g==} + '@rolldown/binding-wasm32-wasi@1.0.0-rc.12': + resolution: {integrity: sha512-ykGiLr/6kkiHc0XnBfmFJuCjr5ZYKKofkx+chJWDjitX+KsJuAmrzWhwyOMSHzPhzOHOy7u9HlFoa5MoAOJ/Zg==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.10': - resolution: {integrity: sha512-7UODQb4fQUNT/vmgDZBl3XOBAIOutP5R3O/rkxg0aLfEGQ4opbCgU5vOw/scPe4xOqBwL9fw7/RP1vAMZ6QlAQ==} + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.11': + resolution: {integrity: sha512-dDwf5otnx0XgRY1yqxOC4ITizcdzS/8cQ3goOWv3jFAo4F+xQYni+hnMuO6+LssHHdJW7+OCVL3CoU4ycnh35Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.9': - resolution: {integrity: sha512-lHVNUG/8nlF1IQk1C0Ci574qKYyty2goMiPlRqkC5R+3LkXDkL5Dhx8ytbxq35m+pkHVIvIxviD+TWLdfeuadA==} + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.12': + resolution: {integrity: sha512-5eOND4duWkwx1AzCxadcOrNeighiLwMInEADT0YM7xeEOOFcovWZCq8dadXgcRHSf3Ulh1kFo/qvzoFiCLOL1Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.10': - resolution: {integrity: sha512-PYxKHMVHOb5NJuDL53vBUl1VwUjymDcYI6rzpIni0C9+9mTiJedvUxSk7/RPp7OOAm3v+EjgMu9bIy3N6b408w==} + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.11': + resolution: {integrity: sha512-LN4/skhSggybX71ews7dAj6r2geaMJfm3kMbK2KhFMg9B10AZXnKoLCVVgzhMHL0S+aKtr4p8QbAW8k+w95bAA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.9': - resolution: {integrity: sha512-G0oA4+w1iY5AGi5HcDTxWsoxF509hrFIPB2rduV5aDqS9FtDg1CAfa7V34qImbjfhIcA8C+RekocJZA96EarwQ==} + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.12': + resolution: {integrity: sha512-PyqoipaswDLAZtot351MLhrlrh6lcZPo2LSYE+VDxbVk24LVKAGOuE4hb8xZQmrPAuEtTZW8E6D2zc5EUZX4Lw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@rolldown/pluginutils@1.0.0-rc.10': - resolution: {integrity: sha512-UkVDEFk1w3mveXeKgaTuYfKWtPbvgck1dT8TUG3bnccrH0XtLTuAyfCoks4Q/M5ZGToSVJTIQYCzy2g/atAOeg==} + '@rolldown/pluginutils@1.0.0-rc.11': + resolution: {integrity: sha512-xQO9vbwBecJRv9EUcQ/y0dzSTJgA7Q6UVN7xp6B81+tBGSLVAK03yJ9NkJaUA7JFD91kbjxRSC/mDnmvXzbHoQ==} - '@rolldown/pluginutils@1.0.0-rc.9': - resolution: {integrity: sha512-w6oiRWgEBl04QkFZgmW+jnU1EC9b57Oihi2ot3HNWIQRqgHp5PnYDia5iZ5FF7rpa4EQdiqMDXjlqKGXBhsoXw==} + '@rolldown/pluginutils@1.0.0-rc.12': + resolution: {integrity: sha512-HHMwmarRKvoFsJorqYlFeFRzXZqCt2ETQlEDOb9aqssrnVBB1/+xgTGtuTrIk5vzLNX1MjMtTf7W9z3tsSbrxw==} '@scure/base@2.0.0': resolution: {integrity: sha512-3E1kpuZginKkek01ovG8krQ0Z44E3DHPjc5S2rjJw9lZn3KSQOs8S7wqikF/AH7iRanHypj85uGyxk0XAyC37w==} @@ -3370,18 +3365,18 @@ packages: '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@swc/helpers@0.5.19': - resolution: {integrity: sha512-QamiFeIK3txNjgUTNppE6MiG3p7TdninpZu0E0PbqVh1a9FNLT2FRhisaa4NcaX52XVhA5l7Pk58Ft7Sqi/2sA==} + '@swc/helpers@0.5.20': + resolution: {integrity: sha512-2egEBHUMasdypIzrprsu8g+OEVd7Vp2MM3a2eVlM/cyFYto0nGz5BX5BTgh/ShZZI9ed+ozEq+Ngt+rgmUs8tw==} '@telegraf/types@7.1.0': resolution: {integrity: sha512-kGevOIbpMcIlCDeorKGpwZmdH7kHbqlk/Yj6dEpJMKEQw5lk0KVQY0OLXaCswy8GqlIVLd5625OB+rAntP9xVw==} - '@thi.ng/bitstream@2.4.41': - resolution: {integrity: sha512-treRzw3+7I1YCuilFtznwT3SGtceS9spUXhyBqeuKNTm4nIfMuvg4fNqx4GgpuS6cGPQNPMUJm0OyzKnSe2Emw==} + '@thi.ng/bitstream@2.4.44': + resolution: {integrity: sha512-SN5GtdycUC8J9kRn4+GAcAJ93F9vKtaiI/SjpOyLl911bWNlF8gANFFCdgBkzbF2DHcpKflHxrVVfrYB6aCdsw==} engines: {node: '>=18'} - '@thi.ng/errors@2.6.3': - resolution: {integrity: sha512-owkOOKHf7MrAPN2jNpKWDdY/vjtPFiJf6oxZ3jkkhV6ICTu2iY1fXIR2wQ7kVEeybdtb0w24k2PtrU43OYCWdg==} + '@thi.ng/errors@2.6.6': + resolution: {integrity: sha512-da0slIGmueCf4T0b+xT4TMVUQjHGFTJpul5TAVvPUl7Xn5Noe13Uq6Ag4D5ZCcDwwe2iJ8iHaTuYSJaFZ9f8Mg==} engines: {node: '>=18'} '@tinyhttp/content-disposition@2.2.4': @@ -3520,8 +3515,8 @@ packages: '@types/node@16.9.1': resolution: {integrity: sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==} - '@types/node@20.19.33': - resolution: {integrity: sha512-Rs1bVAIdBs5gbTIKza/tgpMuG1k3U/UMJLWecIMxNdJFDMzcM5LOiLVRYh3PilWEYDIeUDv7bpiHPLPsbydGcw==} + '@types/node@20.19.37': + resolution: {integrity: sha512-8kzdPJ3FsNsVIurqBs7oodNnCEVbni9yUEkaHbgptDACOPW04jimGagZ51E6+lXUwJjgnBw+hyko/lkFWCldqw==} '@types/node@24.10.13': resolution: {integrity: sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==} @@ -3562,43 +3557,43 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260322.1': - resolution: {integrity: sha512-5wSilxwLGX5fMKJgsUkCBwOfW9GMG3WF5j77CVBOdFI7miFaR3JQaPzTA+uyHDMNIIeSDo1KtV77GT48Y/d0Xg==} + '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260326.1': + resolution: {integrity: sha512-eEMQnArhP/9cLOR3kkShEmT2y1dUs/kHLpwOdEHFmkXwJ477V7P0eZEtabsF5xefU9GwF+cMw4cw60ANVGPgeA==} cpu: [arm64] os: [darwin] - '@typescript/native-preview-darwin-x64@7.0.0-dev.20260322.1': - resolution: {integrity: sha512-G806SrfxkYNAgZ9Xk53+OvbmIg9iD5hjaiD2QhDQL2aZjzy10D4MhcdaZEOoMfw0OI/PoJPYOiPD+9/x2kw3Lg==} + '@typescript/native-preview-darwin-x64@7.0.0-dev.20260326.1': + resolution: {integrity: sha512-lUjpUTe95X4pmxIJb354UY/+1/+0Zh3z0J9ekNSWhhWgZpqQQi5rS1C5BfSJbg2aH8OXYVaEFWzxddXc8qeILg==} cpu: [x64] os: [darwin] - '@typescript/native-preview-linux-arm64@7.0.0-dev.20260322.1': - resolution: {integrity: sha512-+FyomEEt3K8TBO//n3Ijr61SDM2F7cxZCVqGt+Wk3rLcOCQ2i+8+p64gdsZCmImy3CyP0hBnxPydEbyNkZLtvg==} + '@typescript/native-preview-linux-arm64@7.0.0-dev.20260326.1': + resolution: {integrity: sha512-rhqnrDAeC1FhXuXDPQlcMULIvdlzerCc0cXJ16i18waLpZ1nr5ntvzhzzRx7+DvugemTGf2ximX6r/N9HRt+Ow==} cpu: [arm64] os: [linux] - '@typescript/native-preview-linux-arm@7.0.0-dev.20260322.1': - resolution: {integrity: sha512-0a12pp19ELiNHMqTglfQQQNMsxvtzpjAa4qf12oMJoGyy+UnguKEmaaaCHdp75KvBXGDzlssfDAdiy+NirN19A==} + '@typescript/native-preview-linux-arm@7.0.0-dev.20260326.1': + resolution: {integrity: sha512-w6jrOrAw9kDoFDToECXMEkYByxjK67FNXM96SzpoX0JRB0BwkdvVclKsYeZtiP9naaW0u7lzZdfh/h0Hw6euYw==} cpu: [arm] os: [linux] - '@typescript/native-preview-linux-x64@7.0.0-dev.20260322.1': - resolution: {integrity: sha512-MviQe5x4WqQGv/Vhu4hcv2A0qTW/BTaZPbOLYCtvhuovNFO6D++ZmJAbHvA0h/bJEaNTgxKZdZPHMpCfSEKfjA==} + '@typescript/native-preview-linux-x64@7.0.0-dev.20260326.1': + resolution: {integrity: sha512-F8aWt0EH8YBE3Xo2KwIcDwA0iiNq9CdV+z5/+tca70CU5HcfGJlY/c6u6UIM9ZYa1IFcykq0HMHv2FE1NAXdcw==} cpu: [x64] os: [linux] - '@typescript/native-preview-win32-arm64@7.0.0-dev.20260322.1': - resolution: {integrity: sha512-ibnMaXDJPSgMXKC61NHiFlww/xjAEINgc1mcn2ntTfuGHwduU4P9Bi038TxXg95Wmu3v6xIPIorXXsBOdE+p3Q==} + '@typescript/native-preview-win32-arm64@7.0.0-dev.20260326.1': + resolution: {integrity: sha512-OQt93BgZbvkqHVYXH56gjQv2ZOchT4FvLwkwS6jei8t5zB2P4EXmnXA/WxMWwjpYNl4HGfEF/yRkPTfhmbODig==} cpu: [arm64] os: [win32] - '@typescript/native-preview-win32-x64@7.0.0-dev.20260322.1': - resolution: {integrity: sha512-O+r1RToWBbGkK7NXC7DpraLObSWyxvSqRiSfr/BlZ351Cdq1q3121zCGzVtqERGeRtVoEMRrzS5ITOd6On/pCw==} + '@typescript/native-preview-win32-x64@7.0.0-dev.20260326.1': + resolution: {integrity: sha512-hfK3cA8+TtFICHwIo898QHd5VjbixEpdL5QcPkq3GtxuRQl7ZJvQj5Fb64fejIpxI3QicwIKgJW1jJDFCPSGsw==} cpu: [x64] os: [win32] - '@typescript/native-preview@7.0.0-dev.20260322.1': - resolution: {integrity: sha512-CmzQTKvesYHmz3g92G+XPDis25ocvHqa/gK8m98w+bML99KJLEWQKVlvkLrYA85JiJEK+XBIiz+6lCgUqRkWXA==} + '@typescript/native-preview@7.0.0-dev.20260326.1': + resolution: {integrity: sha512-oq2UShxAa+CS4aalhQjntuxuzTv/ud54So3lqfYcJDiQabmpGk/95rGvW5PXi28JIBlZ6AbUL6gEj0gRvIDJcQ==} hasBin: true '@ungap/structured-clone@1.3.0': @@ -3608,54 +3603,54 @@ packages: resolution: {integrity: sha512-N8/FHc/lmlMDCumMuTXyRHCxlov5KZY6unmJ9QR2GOw+OpROZMBsXYGwE+ZMtvN21ql9+Xb8KhGNBj08IrG3Wg==} engines: {node: '>=16', npm: '>=8'} - '@vitest/browser-playwright@4.1.0': - resolution: {integrity: sha512-2RU7pZELY9/aVMLmABNy1HeZ4FX23FXGY1jRuHLHgWa2zaAE49aNW2GLzebW+BmbTZIKKyFF1QXvk7DEWViUCQ==} + '@vitest/browser-playwright@4.1.2': + resolution: {integrity: sha512-N0Z2HzMLvMR6k/tWPTS6Q/DaRscrkax/f2f9DIbNQr+Cd1l4W4wTf/I6S983PAMr0tNqqoTL+xNkLh9M5vbkLg==} peerDependencies: playwright: '*' - vitest: 4.1.0 + vitest: 4.1.2 - '@vitest/browser@4.1.0': - resolution: {integrity: sha512-tG/iOrgbiHQks0ew7CdelUyNEHkv8NLrt+CqdTivIuoSnXvO7scWMn4Kqo78/UGY1NJ6Hv+vp8BvRnED/bjFdQ==} + '@vitest/browser@4.1.2': + resolution: {integrity: sha512-CwdIf90LNf1Zitgqy63ciMAzmyb4oIGs8WZ40VGYrWkssQKeEKr32EzO8MKUrDPPcPVHFI9oQ5ni2Hp24NaNRQ==} peerDependencies: - vitest: 4.1.0 + vitest: 4.1.2 - '@vitest/coverage-v8@4.1.0': - resolution: {integrity: sha512-nDWulKeik2bL2Va/Wl4x7DLuTKAXa906iRFooIRPR+huHkcvp9QDkPQ2RJdmjOFrqOqvNfoSQLF68deE3xC3CQ==} + '@vitest/coverage-v8@4.1.2': + resolution: {integrity: sha512-sPK//PHO+kAkScb8XITeB1bf7fsk85Km7+rt4eeuRR3VS1/crD47cmV5wicisJmjNdfeokTZwjMk4Mj2d58Mgg==} peerDependencies: - '@vitest/browser': 4.1.0 - vitest: 4.1.0 + '@vitest/browser': 4.1.2 + vitest: 4.1.2 peerDependenciesMeta: '@vitest/browser': optional: true - '@vitest/expect@4.1.0': - resolution: {integrity: sha512-EIxG7k4wlWweuCLG9Y5InKFwpMEOyrMb6ZJ1ihYu02LVj/bzUwn2VMU+13PinsjRW75XnITeFrQBMH5+dLvCDA==} + '@vitest/expect@4.1.2': + resolution: {integrity: sha512-gbu+7B0YgUJ2nkdsRJrFFW6X7NTP44WlhiclHniUhxADQJH5Szt9mZ9hWnJPJ8YwOK5zUOSSlSvyzRf0u1DSBQ==} - '@vitest/mocker@4.1.0': - resolution: {integrity: sha512-evxREh+Hork43+Y4IOhTo+h5lGmVRyjqI739Rz4RlUPqwrkFFDF6EMvOOYjTx4E8Tl6gyCLRL8Mu7Ry12a13Tw==} + '@vitest/mocker@4.1.2': + resolution: {integrity: sha512-Ize4iQtEALHDttPRCmN+FKqOl2vxTiNUhzobQFFt/BM1lRUTG7zRCLOykG/6Vo4E4hnUdfVLo5/eqKPukcWW7Q==} peerDependencies: msw: ^2.4.9 - vite: ^6.0.0 || ^7.0.0 || ^8.0.0-0 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: msw: optional: true vite: optional: true - '@vitest/pretty-format@4.1.0': - resolution: {integrity: sha512-3RZLZlh88Ib0J7NQTRATfc/3ZPOnSUn2uDBUoGNn5T36+bALixmzphN26OUD3LRXWkJu4H0s5vvUeqBiw+kS0A==} + '@vitest/pretty-format@4.1.2': + resolution: {integrity: sha512-dwQga8aejqeuB+TvXCMzSQemvV9hNEtDDpgUKDzOmNQayl2OG241PSWeJwKRH3CiC+sESrmoFd49rfnq7T4RnA==} - '@vitest/runner@4.1.0': - resolution: {integrity: sha512-Duvx2OzQ7d6OjchL+trw+aSrb9idh7pnNfxrklo14p3zmNL4qPCDeIJAK+eBKYjkIwG96Bc6vYuxhqDXQOWpoQ==} + '@vitest/runner@4.1.2': + resolution: {integrity: sha512-Gr+FQan34CdiYAwpGJmQG8PgkyFVmARK8/xSijia3eTFgVfpcpztWLuP6FttGNfPLJhaZVP/euvujeNYar36OQ==} - '@vitest/snapshot@4.1.0': - resolution: {integrity: sha512-0Vy9euT1kgsnj1CHttwi9i9o+4rRLEaPRSOJ5gyv579GJkNpgJK+B4HSv/rAWixx2wdAFci1X4CEPjiu2bXIMg==} + '@vitest/snapshot@4.1.2': + resolution: {integrity: sha512-g7yfUmxYS4mNxk31qbOYsSt2F4m1E02LFqO53Xpzg3zKMhLAPZAjjfyl9e6z7HrW6LvUdTwAQR3HHfLjpko16A==} - '@vitest/spy@4.1.0': - resolution: {integrity: sha512-pz77k+PgNpyMDv2FV6qmk5ZVau6c3R8HC8v342T2xlFxQKTrSeYw9waIJG8KgV9fFwAtTu4ceRzMivPTH6wSxw==} + '@vitest/spy@4.1.2': + resolution: {integrity: sha512-DU4fBnbVCJGNBwVA6xSToNXrkZNSiw59H8tcuUspVMsBDBST4nfvsPsEHDHGtWRRnqBERBQu7TrTKskmjqTXKA==} - '@vitest/utils@4.1.0': - resolution: {integrity: sha512-XfPXT6a8TZY3dcGY8EdwsBulFCIw+BeeX0RZn2x/BtiY/75YGh8FeWGG8QISN/WhaqSrE2OrlDgtF8q5uhOTmw==} + '@vitest/utils@4.1.2': + resolution: {integrity: sha512-xw2/TiX82lQHA06cgbqRKFb5lCAy3axQ4H4SoUFhUsg+wztiet+co86IAMDtF6Vm1hc7J6j09oh/rgDn+JdKIQ==} '@wasm-audio-decoders/common@9.0.7': resolution: {integrity: sha512-WRaUuWSKV7pkttBygml/a6dIEpatq2nnZGFIoPTc5yPLkxL6Wk4YaslPM98OPQvWacvNZ+Py9xROGDtrFBDzag==} @@ -3696,10 +3691,6 @@ packages: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} - accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} - accepts@2.0.0: resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} engines: {node: '>= 0.6'} @@ -3799,13 +3790,10 @@ packages: resolution: {integrity: sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==} engines: {node: '>=6'} - array-back@6.2.2: - resolution: {integrity: sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==} + array-back@6.2.3: + resolution: {integrity: sha512-SGDvmg6QTYiTxCBkYVmThcoa67uLl35pyzRHdpCGBOcqFy6BtwnphoFPk7LhJshD+Yk1Kt35WGWeZPTgwR4Fhw==} engines: {node: '>=12.17'} - array-flatten@1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} @@ -3846,8 +3834,8 @@ packages: audio-decode@2.2.3: resolution: {integrity: sha512-Z0lHvMayR/Pad9+O9ddzaBJE0DrhZkQlStrC1RwcAHF3AhQAsdwKHeLGK8fYKyp2DDU6xHxzGb4CLMui12yVrg==} - audio-type@2.2.1: - resolution: {integrity: sha512-En9AY6EG1qYqEy5L/quryzbA4akBpJrnBZNxeKTqGHC2xT9Qc4aZ8b7CcbOMFTTc/MGdoNyp+SN4zInZNKxMYA==} + audio-type@2.4.0: + resolution: {integrity: sha512-ugYMgxLpH6gyWUhFWFl2HCJboFL5z/GoqSdonx8ZycfNP8JDHBhRNzYWzrCRa/6htOWfvJAq7qpRloxvx06sRA==} engines: {node: '>=14'} await-to-js@3.0.0: @@ -3857,6 +3845,9 @@ packages: axios@1.13.5: resolution: {integrity: sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==} + axios@1.13.6: + resolution: {integrity: sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==} + b4a@1.8.0: resolution: {integrity: sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg==} peerDependencies: @@ -3940,10 +3931,6 @@ packages: bmp-ts@1.0.9: resolution: {integrity: sha512-cTEHk2jLrPyi+12M3dhpEbnnPOsaZuq7C45ylbbQIiWgDFZq4UVYPEY5mlqjvsj/6gJv9qX5sa+ebDzLXT28Vw==} - body-parser@1.20.4: - resolution: {integrity: sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - body-parser@2.2.2: resolution: {integrity: sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==} engines: {node: '>=18'} @@ -3957,8 +3944,8 @@ packages: bowser@2.14.1: resolution: {integrity: sha512-tzPjzCxygAKWFOJP011oxFHs57HzIhOEracIgAePE4pqB3LikALKnSzUyU4MGs9/iCEUuHlAJTjTc5M+u7YEGg==} - brace-expansion@5.0.3: - resolution: {integrity: sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==} + brace-expansion@5.0.5: + resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==} engines: {node: 18 || 20 || >=22} braces@3.0.3: @@ -4116,8 +4103,8 @@ packages: resolution: {integrity: sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==} engines: {node: '>=4.0.0'} - command-line-usage@7.0.3: - resolution: {integrity: sha512-PqMLy5+YGwhMh1wS04mVG44oqDsgyLRSKJBdOo1bnYhMKBW65gZF1dRp2OZRhiTjgUHljy99qkO7bsctLaw35Q==} + command-line-usage@7.0.4: + resolution: {integrity: sha512-85UdvzTNx/+s5CkSgBm/0hzP80RFHAa7PsfeADE5ezZF3uHz3/Tqj9gIKGT9PTtpycc3Ua64T0oVulGfKxzfqg==} engines: {node: '>=12.20.0'} commander@10.0.1: @@ -4138,10 +4125,6 @@ packages: constantinople@4.0.1: resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==} - content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} - content-disposition@1.0.1: resolution: {integrity: sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==} engines: {node: '>=18'} @@ -4153,9 +4136,6 @@ packages: convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - cookie-signature@1.0.7: - resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} - cookie-signature@1.2.2: resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} engines: {node: '>=6.6.0'} @@ -4211,14 +4191,6 @@ packages: resolution: {integrity: sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} - debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -4257,10 +4229,6 @@ packages: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} - destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - detect-libc@2.1.2: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} @@ -4272,6 +4240,10 @@ packages: resolution: {integrity: sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==} engines: {node: '>=0.3.1'} + diff@8.0.4: + resolution: {integrity: sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==} + engines: {node: '>=0.3.1'} + discord-api-types@0.38.37: resolution: {integrity: sha512-Cv47jzY1jkGkh5sv0bfHYqGgKOWO1peOrGMkDFM4UmaGMOTgOW8QSexhvixa9sVOiz8MnVOBryWYyw/CEVhj7w==} @@ -4455,10 +4427,6 @@ packages: peerDependencies: express: '>= 4.11' - express@4.22.1: - resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} - engines: {node: '>= 0.10.0'} - express@5.2.1: resolution: {integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==} engines: {node: '>= 18'} @@ -4511,9 +4479,9 @@ packages: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} - file-type@21.3.4: - resolution: {integrity: sha512-Ievi/yy8DS3ygGvT47PjSfdFoX+2isQueoYP1cntFW1JLYAuS4GD7NUPGg4zv2iZfV52uDyk5w5Z0TdpRS6Q1g==} - engines: {node: '>=20'} + file-type@22.0.0: + resolution: {integrity: sha512-cmBmnYo8Zymabm2+qAP7jTFbKF10bQpYmxoGfuZbRFRcq00BRddJdGNH/P7GA1EMpJy5yQbqa9B7yROb3z8Ziw==} + engines: {node: '>=22'} filename-reserved-regex@3.0.0: resolution: {integrity: sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==} @@ -4527,10 +4495,6 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - finalhandler@1.3.2: - resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} - engines: {node: '>= 0.8'} - finalhandler@2.1.1: resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==} engines: {node: '>= 18.0.0'} @@ -4564,10 +4528,6 @@ packages: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - fresh@2.0.0: resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} engines: {node: '>= 0.8'} @@ -4640,6 +4600,9 @@ packages: get-tsconfig@4.13.6: resolution: {integrity: sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==} + get-tsconfig@4.13.7: + resolution: {integrity: sha512-7tN6rFgBlMgpBML5j8typ92BKFi2sFQvIdpAqLA2beia5avZDrMs0FLZiM5etShWq5irVyGcGMEA1jcDaK7A/Q==} + get-uri@6.0.5: resolution: {integrity: sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==} engines: {node: '>= 14'} @@ -4730,8 +4693,8 @@ packages: highlight.js@10.7.3: resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} - hono@4.12.8: - resolution: {integrity: sha512-VJCEvtrezO1IAR+kqEYnxUOoStaQPGrCmX3j4wDTNOcD1uRPFpGlwQUIW8niPuvHXaTUxeOUl5MMDGrl+tmO9A==} + hono@4.12.9: + resolution: {integrity: sha512-wy3T8Zm2bsEvxKZM5w21VdHDDcwVS1yUFFY6i8UobSsKfFceT7TOwhbhfKsDyx7tYQlmRM5FLpIuYvNFyjctiA==} engines: {node: '>=16.9.0'} hookable@6.1.0: @@ -4784,10 +4747,6 @@ packages: resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} engines: {node: '>=8.12.0'} - iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - iconv-lite@0.7.2: resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==} engines: {node: '>=0.10.0'} @@ -5024,8 +4983,8 @@ packages: resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} engines: {node: '>= 8'} - koffi@2.15.1: - resolution: {integrity: sha512-mnc0C0crx/xMSljb5s9QbnLrlFHprioFO1hkXyuSuO/QtbpLDa0l/uM21944UfQunMKmp3/r789DTDxVyyH6aA==} + koffi@2.15.2: + resolution: {integrity: sha512-r9tjJLVRSOhCRWdVyQlF3/Ugzeg13jlzS4czS82MAgLff4W+BcYOW7g8Y62t9O5JYjYOLAjAovAZDNlDfZNu+g==} lie@3.3.0: resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} @@ -5251,8 +5210,8 @@ packages: matrix-events-sdk@0.0.1: resolution: {integrity: sha512-1QEOsXO+bhyCroIe2/A5OwaxHvBm7EsSQ46DEDn8RBIfQwN5HWBpFvyWWR4QY0KHPPnnJdI99wgRiAl7Ad5qaA==} - matrix-js-sdk@41.2.0-rc.0: - resolution: {integrity: sha512-5XGdv7vvkmSjTVMAPHCRF7p5RJR8MH+hFpdV3PRIe6UliIROEUnVjetG24/PF6ksg10obGhBBo3dsLZw1dhHPQ==} + matrix-js-sdk@41.2.0: + resolution: {integrity: sha512-kVLDKm/bUlwlHoDKRemshs27LCnOnNpmsVKtbCOM5F5D/E1SkrKldou+vQ/lk4PyXTvu9/qglkd2m0pBwJ5opg==} engines: {node: '>=22.0.0'} matrix-widget-api@1.17.0: @@ -5267,17 +5226,10 @@ packages: mdurl@2.0.0: resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} - media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - media-typer@1.1.0: resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} engines: {node: '>= 0.8'} - merge-descriptors@1.0.3: - resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} - merge-descriptors@2.0.0: resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} engines: {node: '>=18'} @@ -5289,10 +5241,6 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - methods@1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} - micromark-util-character@2.1.1: resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} @@ -5328,11 +5276,6 @@ packages: resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} engines: {node: '>=18'} - mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - mime@3.0.0: resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} engines: {node: '>=10.0.0'} @@ -5375,9 +5318,6 @@ packages: resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} engines: {node: '>=10'} - ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -5398,10 +5338,6 @@ packages: engines: {node: ^18 || >=20} hasBin: true - negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - negotiator@1.0.0: resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} engines: {node: '>= 0.6'} @@ -5414,6 +5350,10 @@ packages: resolution: {integrity: sha512-gBVjCaqDlRUk0EwoPNKzIr9KkS9041G/q31IBShPs1Xz6UTA+EXdZADbzqAJQrpDRq71CIMnOP5VMut3SL0z5Q==} engines: {node: ^18 || ^20 || >= 21} + node-addon-api@8.7.0: + resolution: {integrity: sha512-9MdFxmkKaOYVTV+XVRG8ArDwwQ77XIgIPyKASB1k3JPq3M8fGQQQE3YpMOrKm6g//Ktx8ivZr8xo1Qmtqub+GA==} + engines: {node: ^18 || ^20 || >= 21} + node-api-headers@1.8.0: resolution: {integrity: sha512-jfnmiKWjRAGbdD1yQS28bknFM1tbHC1oucyuMPjmkEs+kpiu76aRs40WlTmBmyEgzDM76ge1DQ7XJ3R5deiVjQ==} @@ -5545,8 +5485,8 @@ packages: zod: optional: true - openai@6.32.0: - resolution: {integrity: sha512-j3k+BjydAf8yQlcOI7WUQMQTbbF5GEIMAE2iZYCOzwwB3S2pCheaWYp+XZRNAch4jWVc52PMDGRRjutao3lLCg==} + openai@6.33.0: + resolution: {integrity: sha512-xAYN1W3YsDXJWA5F277135YfkEk6H7D3D6vWwRhJ3OEkzRgcyK8z/P5P9Gyi/wB4N8kK9kM5ZjprfvyHagKmpw==} hasBin: true peerDependencies: ws: ^8.18.0 @@ -5576,17 +5516,17 @@ packages: resolution: {integrity: sha512-4/8JfsetakdeEa4vAYV45FW20aY+B/+K8NEXp5Eiar3wR8726whgHrbSg5Ar/ZY1FLJ/AGtUqV7W2IVF+Gvp9A==} engines: {node: '>=20'} - oxfmt@0.41.0: - resolution: {integrity: sha512-sKLdJZdQ3bw6x9qKiT7+eID4MNEXlDHf5ZacfIircrq6Qwjk0L6t2/JQlZZrVHTXJawK3KaMuBoJnEJPcqCEdg==} + oxfmt@0.42.0: + resolution: {integrity: sha512-QhejGErLSMReNuZ6vxgFHDyGoPbjTRNi6uGHjy0cvIjOQFqD6xmr/T+3L41ixR3NIgzcNiJ6ylQKpvShTgDfqg==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - oxlint-tsgolint@0.17.1: - resolution: {integrity: sha512-gJc7hb1ZQFbWjRDYpu1XG+5IRdr1S/Jz/W2ohcpaqIXuDmHU0ujGiM0x05J0nIfwMF3HOEcANi/+j6T0Uecdpg==} + oxlint-tsgolint@0.17.4: + resolution: {integrity: sha512-4F/NXJiK2KnK4LQiULUPXRzVq0LOfextGvwCVRW1VKQbF5epI3MDMEGVAl5XjAGL6IFc7xBc/eVA95wczPeEQg==} hasBin: true - oxlint@1.56.0: - resolution: {integrity: sha512-Q+5Mj5PVaH/R6/fhMMFzw4dT+KPB+kQW4kaL8FOIq7tfhlnEVp6+3lcWqFruuTNlUo9srZUW3qH7Id4pskeR6g==} + oxlint@1.57.0: + resolution: {integrity: sha512-DGFsuBX5MFZX9yiDdtKjTrYPq45CZ8Fft6qCltJITYZxfwYjVdGf/6wycGYTACloauwIPxUnYhBVeZbHvleGhw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -5696,9 +5636,6 @@ packages: resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} engines: {node: 18 || 20 || >=22} - path-to-regexp@0.1.12: - resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} - path-to-regexp@8.3.0: resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==} @@ -5719,10 +5656,6 @@ packages: resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} engines: {node: '>=8.6'} - picomatch@4.0.3: - resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} - engines: {node: '>=12'} - picomatch@4.0.4: resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} engines: {node: '>=12'} @@ -5911,10 +5844,6 @@ packages: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} - raw-body@2.5.3: - resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==} - engines: {node: '>= 0.8'} - raw-body@3.0.2: resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==} engines: {node: '>= 0.10'} @@ -6029,13 +5958,13 @@ packages: vue-tsc: optional: true - rolldown@1.0.0-rc.10: - resolution: {integrity: sha512-q7j6vvarRFmKpgJUT8HCAUljkgzEp4LAhPlJUvQhA5LA1SUL36s5QCysMutErzL3EbNOZOkoziSx9iZC4FddKA==} + rolldown@1.0.0-rc.11: + resolution: {integrity: sha512-NRjoKMusSjfRbSYiH3VSumlkgFe7kYAa3pzVOsVYVFY3zb5d7nS+a3KGQ7hJKXuYWbzJKPVQ9Wxq2UvyK+ENpw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - rolldown@1.0.0-rc.9: - resolution: {integrity: sha512-9EbgWge7ZH+yqb4d2EnELAntgPTWbfL8ajiTW+SyhJEC4qhBbkCKbqFV4Ge4zmu5ziQuVbWxb/XwLZ+RIO7E8Q==} + rolldown@1.0.0-rc.12: + resolution: {integrity: sha512-yP4USLIMYrwpPHEFB5JGH1uxhcslv6/hL0OyvTuY+3qlOSJvZ7ntYnoWpehBxufkgN0cvXxppuTu5hHa/zPh+A==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -6090,18 +6019,10 @@ packages: engines: {node: '>=10'} hasBin: true - send@0.19.2: - resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==} - engines: {node: '>= 0.8.0'} - send@1.2.1: resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==} engines: {node: '>= 18'} - serve-static@1.16.3: - resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==} - engines: {node: '>= 0.8.0'} - serve-static@2.2.1: resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==} engines: {node: '>= 18'} @@ -6314,10 +6235,6 @@ packages: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} - strip-ansi@7.1.2: - resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} - engines: {node: '>=12'} - strip-ansi@7.2.0: resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} engines: {node: '>=12'} @@ -6337,6 +6254,10 @@ packages: resolution: {integrity: sha512-KIy5nylvC5le1OdaaoCJ07L+8iQzJHGH6pWDuzS+d07Cu7n1MZ2x26P8ZKIWfbK02+XIL8Mp4RkWeqdUCrDMfg==} engines: {node: '>=18'} + strtok3@10.3.5: + resolution: {integrity: sha512-ki4hZQfh5rX0QDLLkOCj+h+CVNkqmp/CMf8v8kZpkNVK6jGQooMytqzLZYUVYIZcFZ6yDB70EfD8POcFXiF5oA==} + engines: {node: '>=18'} + supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -6359,6 +6280,10 @@ packages: resolution: {integrity: sha512-9TsuLcdhOn4XztcQqhNyq1KOwOOED/3k58JAvtULiYqbO8B/0IBAAIE1hj0Svmm58k27TmcigyDI0deMlgG3uw==} engines: {node: '>=18'} + tar@7.5.13: + resolution: {integrity: sha512-tOG/7GyXpFevhXVh8jOPJrmtRpOTsYqUIkVdVooZYJS/z8WhfQUX8RJILmeuJNinGAMSu1veBr4asSHFt5/hng==} + engines: {node: '>=18'} + teex@1.0.1: resolution: {integrity: sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==} @@ -6386,10 +6311,6 @@ packages: tinycolor2@1.6.0: resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} - tinyexec@1.0.2: - resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} - engines: {node: '>=18'} - tinyexec@1.0.4: resolution: {integrity: sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw==} engines: {node: '>=18'} @@ -6402,8 +6323,8 @@ packages: resolution: {integrity: sha512-Pugqs6M0m7Lv1I7FtxN4aoyToKg1C4tu+/381vH35y8oENM/Ai7f7C4StcoK4/+BSw9ebcS8jRiVrORFKCALLw==} engines: {node: ^20.0.0 || >=22.0.0} - tinyrainbow@3.0.3: - resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==} + tinyrainbow@3.1.0: + resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==} engines: {node: '>=14.0.0'} to-regex-range@5.0.1: @@ -6446,17 +6367,17 @@ packages: ts-algebra@2.0.0: resolution: {integrity: sha512-FPAhNPFMrkwz76P7cdjdmiShwMynZYN6SgOujD1urY4oNm80Ou9oMdmbR45LotcKOXoy7wSmHkRFE6Mxbrhefw==} - tsdown@0.21.4: - resolution: {integrity: sha512-Q/kBi8SXkr4X6JI/NAZKZY1UuiEcbuXtIskL4tZCsgpDiEPM/2W6lC+OonNA31S+V3KsWedFvbFDBs23hvt+Aw==} + tsdown@0.21.5: + resolution: {integrity: sha512-TlgNhfPioAD6ECCUnZsxcUsXXuPPR4Rrxz3az741kL/M3oGIET4a9GajSNRNRx+jIva73TYUKQybrEPkDYN+fQ==} engines: {node: '>=20.19.0'} hasBin: true peerDependencies: '@arethetypeswrong/core': ^0.18.1 - '@tsdown/css': 0.21.4 - '@tsdown/exe': 0.21.4 + '@tsdown/css': 0.21.5 + '@tsdown/exe': 0.21.5 '@vitejs/devtools': '*' publint: ^0.3.0 - typescript: ^5.0.0 + typescript: ^5.0.0 || ^6.0.0 unplugin-unused: ^0.5.0 peerDependenciesMeta: '@arethetypeswrong/core': @@ -6490,10 +6411,6 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - type-is@2.0.1: resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} engines: {node: '>= 0.6'} @@ -6503,6 +6420,11 @@ packages: engines: {node: '>=14.17'} hasBin: true + typescript@6.0.2: + resolution: {integrity: sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==} + engines: {node: '>=14.17'} + hasBin: true + typical@4.0.0: resolution: {integrity: sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==} engines: {node: '>=8'} @@ -6533,8 +6455,8 @@ packages: undici-types@7.18.2: resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} - undici@7.24.5: - resolution: {integrity: sha512-3IWdCpjgxp15CbJnsi/Y9TCDE7HWVN19j1hmzVhoAkY/+CJx449tVxT5wZc1Gwg8J+P0LWvzlBzxYRnHJ+1i7Q==} + undici@7.24.6: + resolution: {integrity: sha512-Xi4agocCbRzt0yYMZGMA6ApD7gvtUFaxm4ZmeacWI4cZxaF6C+8I8QfofC20NAePiB/IcvZmzkJ7XPa471AEtA==} engines: {node: '>=20.18.1'} unhomoglyph@1.0.6: @@ -6567,8 +6489,8 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - unrun@0.2.32: - resolution: {integrity: sha512-opd3z6791rf281JdByf0RdRQrpcc7WyzqittqIXodM/5meNWdTwrVxeyzbaCp4/Rgls/um14oUaif1gomO8YGg==} + unrun@0.2.33: + resolution: {integrity: sha512-urXTjZHOHS6lMnatQerLcBpcTsaKZYGuu9aSZ+HlNfCApkiINRbj7YecC9h9hdZroMT4WQ4KVyzHfBqHKuFX9Q==} engines: {node: '>=20.19.0'} hasBin: true peerDependencies: @@ -6589,10 +6511,6 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - uuid@13.0.0: resolution: {integrity: sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==} hasBin: true @@ -6619,8 +6537,8 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite@8.0.1: - resolution: {integrity: sha512-wt+Z2qIhfFt85uiyRt5LPU4oVEJBXj8hZNWKeqFG4gRG/0RaRGJ7njQCwzFVjO+v4+Ipmf5CY7VdmZRAYYBPHw==} + vite@8.0.3: + resolution: {integrity: sha512-B9ifbFudT1TFhfltfaIPgjo9Z3mDynBTJSUYxTjOQruf/zHH+ezCQKcoqO+h7a9Pw9Nm/OtlXAiGT1axBgwqrQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -6662,21 +6580,21 @@ packages: yaml: optional: true - vitest@4.1.0: - resolution: {integrity: sha512-YbDrMF9jM2Lqc++2530UourxZHmkKLxrs4+mYhEwqWS97WJ7wOYEkcr+QfRgJ3PW9wz3odRijLZjHEaRLTNbqw==} + vitest@4.1.2: + resolution: {integrity: sha512-xjR1dMTVHlFLh98JE3i/f/WePqJsah4A0FK9cc8Ehp9Udk0AZk6ccpIZhh1qJ/yxVWRZ+Q54ocnD8TXmkhspGg==} 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.0 - '@vitest/browser-preview': 4.1.0 - '@vitest/browser-webdriverio': 4.1.0 - '@vitest/ui': 4.1.0 + '@vitest/browser-playwright': 4.1.2 + '@vitest/browser-preview': 4.1.2 + '@vitest/browser-webdriverio': 4.1.2 + '@vitest/ui': 4.1.2 happy-dom: '*' jsdom: '*' - vite: ^6.0.0 || ^7.0.0 || ^8.0.0-0 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: '@edge-runtime/vm': optional: true @@ -6869,7 +6787,7 @@ snapshots: dependencies: zod: 4.3.6 - '@agentclientprotocol/sdk@0.16.1(zod@4.3.6)': + '@agentclientprotocol/sdk@0.17.0(zod@4.3.6)': dependencies: zod: 4.3.6 @@ -6923,7 +6841,7 @@ snapshots: '@aws-crypto/supports-web-crypto': 5.2.0 '@aws-crypto/util': 5.2.0 '@aws-sdk/types': 3.973.6 - '@aws-sdk/util-locate-window': 3.965.4 + '@aws-sdk/util-locate-window': 3.965.5 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 @@ -6933,7 +6851,7 @@ snapshots: '@aws-crypto/supports-web-crypto': 5.2.0 '@aws-crypto/util': 5.2.0 '@aws-sdk/types': 3.973.6 - '@aws-sdk/util-locate-window': 3.965.4 + '@aws-sdk/util-locate-window': 3.965.5 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 @@ -6953,25 +6871,25 @@ snapshots: '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 - '@aws-sdk/client-bedrock-runtime@3.997.0': + '@aws-sdk/client-bedrock-runtime@3.1018.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.973.23 - '@aws-sdk/credential-provider-node': 3.972.24 - '@aws-sdk/eventstream-handler-node': 3.972.7 - '@aws-sdk/middleware-eventstream': 3.972.4 + '@aws-sdk/core': 3.973.25 + '@aws-sdk/credential-provider-node': 3.972.26 + '@aws-sdk/eventstream-handler-node': 3.972.12 + '@aws-sdk/middleware-eventstream': 3.972.8 '@aws-sdk/middleware-host-header': 3.972.8 '@aws-sdk/middleware-logger': 3.972.8 - '@aws-sdk/middleware-recursion-detection': 3.972.8 - '@aws-sdk/middleware-user-agent': 3.972.24 - '@aws-sdk/middleware-websocket': 3.972.8 - '@aws-sdk/region-config-resolver': 3.972.9 - '@aws-sdk/token-providers': 3.997.0 + '@aws-sdk/middleware-recursion-detection': 3.972.9 + '@aws-sdk/middleware-user-agent': 3.972.26 + '@aws-sdk/middleware-websocket': 3.972.14 + '@aws-sdk/region-config-resolver': 3.972.10 + '@aws-sdk/token-providers': 3.1018.0 '@aws-sdk/types': 3.973.6 '@aws-sdk/util-endpoints': 3.996.5 '@aws-sdk/util-user-agent-browser': 3.972.8 - '@aws-sdk/util-user-agent-node': 3.973.10 + '@aws-sdk/util-user-agent-node': 3.973.12 '@smithy/config-resolver': 4.4.13 '@smithy/core': 3.23.12 '@smithy/eventstream-serde-browser': 4.2.12 @@ -7005,22 +6923,22 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-bedrock@3.1014.0': + '@aws-sdk/client-bedrock@3.1018.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.973.23 - '@aws-sdk/credential-provider-node': 3.972.24 + '@aws-sdk/core': 3.973.25 + '@aws-sdk/credential-provider-node': 3.972.26 '@aws-sdk/middleware-host-header': 3.972.8 '@aws-sdk/middleware-logger': 3.972.8 - '@aws-sdk/middleware-recursion-detection': 3.972.8 - '@aws-sdk/middleware-user-agent': 3.972.24 - '@aws-sdk/region-config-resolver': 3.972.9 - '@aws-sdk/token-providers': 3.1014.0 + '@aws-sdk/middleware-recursion-detection': 3.972.9 + '@aws-sdk/middleware-user-agent': 3.972.26 + '@aws-sdk/region-config-resolver': 3.972.10 + '@aws-sdk/token-providers': 3.1018.0 '@aws-sdk/types': 3.973.6 '@aws-sdk/util-endpoints': 3.996.5 '@aws-sdk/util-user-agent-browser': 3.972.8 - '@aws-sdk/util-user-agent-node': 3.973.10 + '@aws-sdk/util-user-agent-node': 3.973.12 '@smithy/config-resolver': 4.4.13 '@smithy/core': 3.23.12 '@smithy/fetch-http-handler': 5.3.15 @@ -7050,29 +6968,29 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-s3@3.1014.0': + '@aws-sdk/client-s3@3.1018.0': dependencies: '@aws-crypto/sha1-browser': 5.2.0 '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.973.23 - '@aws-sdk/credential-provider-node': 3.972.24 + '@aws-sdk/core': 3.973.25 + '@aws-sdk/credential-provider-node': 3.972.26 '@aws-sdk/middleware-bucket-endpoint': 3.972.8 '@aws-sdk/middleware-expect-continue': 3.972.8 - '@aws-sdk/middleware-flexible-checksums': 3.974.3 + '@aws-sdk/middleware-flexible-checksums': 3.974.5 '@aws-sdk/middleware-host-header': 3.972.8 '@aws-sdk/middleware-location-constraint': 3.972.8 '@aws-sdk/middleware-logger': 3.972.8 - '@aws-sdk/middleware-recursion-detection': 3.972.8 - '@aws-sdk/middleware-sdk-s3': 3.972.23 + '@aws-sdk/middleware-recursion-detection': 3.972.9 + '@aws-sdk/middleware-sdk-s3': 3.972.26 '@aws-sdk/middleware-ssec': 3.972.8 - '@aws-sdk/middleware-user-agent': 3.972.24 - '@aws-sdk/region-config-resolver': 3.972.9 - '@aws-sdk/signature-v4-multi-region': 3.996.11 + '@aws-sdk/middleware-user-agent': 3.972.26 + '@aws-sdk/region-config-resolver': 3.972.10 + '@aws-sdk/signature-v4-multi-region': 3.996.14 '@aws-sdk/types': 3.973.6 '@aws-sdk/util-endpoints': 3.996.5 '@aws-sdk/util-user-agent-browser': 3.972.8 - '@aws-sdk/util-user-agent-node': 3.973.10 + '@aws-sdk/util-user-agent-node': 3.973.12 '@smithy/config-resolver': 4.4.13 '@smithy/core': 3.23.12 '@smithy/eventstream-serde-browser': 4.2.12 @@ -7110,10 +7028,10 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/core@3.973.23': + '@aws-sdk/core@3.973.25': dependencies: '@aws-sdk/types': 3.973.6 - '@aws-sdk/xml-builder': 3.972.15 + '@aws-sdk/xml-builder': 3.972.16 '@smithy/core': 3.23.12 '@smithy/node-config-provider': 4.3.12 '@smithy/property-provider': 4.2.12 @@ -7131,17 +7049,17 @@ snapshots: '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/credential-provider-env@3.972.21': + '@aws-sdk/credential-provider-env@3.972.23': dependencies: - '@aws-sdk/core': 3.973.23 + '@aws-sdk/core': 3.973.25 '@aws-sdk/types': 3.973.6 '@smithy/property-provider': 4.2.12 '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/credential-provider-http@3.972.23': + '@aws-sdk/credential-provider-http@3.972.25': dependencies: - '@aws-sdk/core': 3.973.23 + '@aws-sdk/core': 3.973.25 '@aws-sdk/types': 3.973.6 '@smithy/fetch-http-handler': 5.3.15 '@smithy/node-http-handler': 4.5.0 @@ -7152,16 +7070,16 @@ snapshots: '@smithy/util-stream': 4.5.20 tslib: 2.8.1 - '@aws-sdk/credential-provider-ini@3.972.23': + '@aws-sdk/credential-provider-ini@3.972.25': dependencies: - '@aws-sdk/core': 3.973.23 - '@aws-sdk/credential-provider-env': 3.972.21 - '@aws-sdk/credential-provider-http': 3.972.23 - '@aws-sdk/credential-provider-login': 3.972.23 - '@aws-sdk/credential-provider-process': 3.972.21 - '@aws-sdk/credential-provider-sso': 3.972.23 - '@aws-sdk/credential-provider-web-identity': 3.972.23 - '@aws-sdk/nested-clients': 3.996.13 + '@aws-sdk/core': 3.973.25 + '@aws-sdk/credential-provider-env': 3.972.23 + '@aws-sdk/credential-provider-http': 3.972.25 + '@aws-sdk/credential-provider-login': 3.972.25 + '@aws-sdk/credential-provider-process': 3.972.23 + '@aws-sdk/credential-provider-sso': 3.972.25 + '@aws-sdk/credential-provider-web-identity': 3.972.25 + '@aws-sdk/nested-clients': 3.996.15 '@aws-sdk/types': 3.973.6 '@smithy/credential-provider-imds': 4.2.12 '@smithy/property-provider': 4.2.12 @@ -7171,10 +7089,10 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-login@3.972.23': + '@aws-sdk/credential-provider-login@3.972.25': dependencies: - '@aws-sdk/core': 3.973.23 - '@aws-sdk/nested-clients': 3.996.13 + '@aws-sdk/core': 3.973.25 + '@aws-sdk/nested-clients': 3.996.15 '@aws-sdk/types': 3.973.6 '@smithy/property-provider': 4.2.12 '@smithy/protocol-http': 5.3.12 @@ -7184,14 +7102,14 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-node@3.972.24': + '@aws-sdk/credential-provider-node@3.972.26': dependencies: - '@aws-sdk/credential-provider-env': 3.972.21 - '@aws-sdk/credential-provider-http': 3.972.23 - '@aws-sdk/credential-provider-ini': 3.972.23 - '@aws-sdk/credential-provider-process': 3.972.21 - '@aws-sdk/credential-provider-sso': 3.972.23 - '@aws-sdk/credential-provider-web-identity': 3.972.23 + '@aws-sdk/credential-provider-env': 3.972.23 + '@aws-sdk/credential-provider-http': 3.972.25 + '@aws-sdk/credential-provider-ini': 3.972.25 + '@aws-sdk/credential-provider-process': 3.972.23 + '@aws-sdk/credential-provider-sso': 3.972.25 + '@aws-sdk/credential-provider-web-identity': 3.972.25 '@aws-sdk/types': 3.973.6 '@smithy/credential-provider-imds': 4.2.12 '@smithy/property-provider': 4.2.12 @@ -7201,20 +7119,20 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-process@3.972.21': + '@aws-sdk/credential-provider-process@3.972.23': dependencies: - '@aws-sdk/core': 3.973.23 + '@aws-sdk/core': 3.973.25 '@aws-sdk/types': 3.973.6 '@smithy/property-provider': 4.2.12 '@smithy/shared-ini-file-loader': 4.4.7 '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/credential-provider-sso@3.972.23': + '@aws-sdk/credential-provider-sso@3.972.25': dependencies: - '@aws-sdk/core': 3.973.23 - '@aws-sdk/nested-clients': 3.996.13 - '@aws-sdk/token-providers': 3.1014.0 + '@aws-sdk/core': 3.973.25 + '@aws-sdk/nested-clients': 3.996.15 + '@aws-sdk/token-providers': 3.1018.0 '@aws-sdk/types': 3.973.6 '@smithy/property-provider': 4.2.12 '@smithy/shared-ini-file-loader': 4.4.7 @@ -7223,10 +7141,10 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-web-identity@3.972.23': + '@aws-sdk/credential-provider-web-identity@3.972.25': dependencies: - '@aws-sdk/core': 3.973.23 - '@aws-sdk/nested-clients': 3.996.13 + '@aws-sdk/core': 3.973.25 + '@aws-sdk/nested-clients': 3.996.15 '@aws-sdk/types': 3.973.6 '@smithy/property-provider': 4.2.12 '@smithy/shared-ini-file-loader': 4.4.7 @@ -7235,7 +7153,7 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/eventstream-handler-node@3.972.7': + '@aws-sdk/eventstream-handler-node@3.972.12': dependencies: '@aws-sdk/types': 3.973.6 '@smithy/eventstream-codec': 4.2.12 @@ -7252,7 +7170,7 @@ snapshots: '@smithy/util-config-provider': 4.2.2 tslib: 2.8.1 - '@aws-sdk/middleware-eventstream@3.972.4': + '@aws-sdk/middleware-eventstream@3.972.8': dependencies: '@aws-sdk/types': 3.973.6 '@smithy/protocol-http': 5.3.12 @@ -7266,12 +7184,12 @@ snapshots: '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/middleware-flexible-checksums@3.974.3': + '@aws-sdk/middleware-flexible-checksums@3.974.5': dependencies: '@aws-crypto/crc32': 5.2.0 '@aws-crypto/crc32c': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/core': 3.973.23 + '@aws-sdk/core': 3.973.25 '@aws-sdk/crc64-nvme': 3.972.5 '@aws-sdk/types': 3.973.6 '@smithy/is-array-buffer': 4.2.2 @@ -7302,17 +7220,17 @@ snapshots: '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/middleware-recursion-detection@3.972.8': + '@aws-sdk/middleware-recursion-detection@3.972.9': dependencies: '@aws-sdk/types': 3.973.6 - '@aws/lambda-invoke-store': 0.2.3 + '@aws/lambda-invoke-store': 0.2.4 '@smithy/protocol-http': 5.3.12 '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/middleware-sdk-s3@3.972.23': + '@aws-sdk/middleware-sdk-s3@3.972.26': dependencies: - '@aws-sdk/core': 3.973.23 + '@aws-sdk/core': 3.973.25 '@aws-sdk/types': 3.973.6 '@aws-sdk/util-arn-parser': 3.972.3 '@smithy/core': 3.23.12 @@ -7333,9 +7251,9 @@ snapshots: '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/middleware-user-agent@3.972.24': + '@aws-sdk/middleware-user-agent@3.972.26': dependencies: - '@aws-sdk/core': 3.973.23 + '@aws-sdk/core': 3.973.25 '@aws-sdk/types': 3.973.6 '@aws-sdk/util-endpoints': 3.996.5 '@smithy/core': 3.23.12 @@ -7344,7 +7262,7 @@ snapshots: '@smithy/util-retry': 4.2.12 tslib: 2.8.1 - '@aws-sdk/middleware-websocket@3.972.8': + '@aws-sdk/middleware-websocket@3.972.14': dependencies: '@aws-sdk/types': 3.973.6 '@aws-sdk/util-format-url': 3.972.8 @@ -7359,20 +7277,20 @@ snapshots: '@smithy/util-utf8': 4.2.2 tslib: 2.8.1 - '@aws-sdk/nested-clients@3.996.13': + '@aws-sdk/nested-clients@3.996.15': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.973.23 + '@aws-sdk/core': 3.973.25 '@aws-sdk/middleware-host-header': 3.972.8 '@aws-sdk/middleware-logger': 3.972.8 - '@aws-sdk/middleware-recursion-detection': 3.972.8 - '@aws-sdk/middleware-user-agent': 3.972.24 - '@aws-sdk/region-config-resolver': 3.972.9 + '@aws-sdk/middleware-recursion-detection': 3.972.9 + '@aws-sdk/middleware-user-agent': 3.972.26 + '@aws-sdk/region-config-resolver': 3.972.10 '@aws-sdk/types': 3.973.6 '@aws-sdk/util-endpoints': 3.996.5 '@aws-sdk/util-user-agent-browser': 3.972.8 - '@aws-sdk/util-user-agent-node': 3.973.10 + '@aws-sdk/util-user-agent-node': 3.973.12 '@smithy/config-resolver': 4.4.13 '@smithy/core': 3.23.12 '@smithy/fetch-http-handler': 5.3.15 @@ -7402,7 +7320,7 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/region-config-resolver@3.972.9': + '@aws-sdk/region-config-resolver@3.972.10': dependencies: '@aws-sdk/types': 3.973.6 '@smithy/config-resolver': 4.4.13 @@ -7410,9 +7328,9 @@ snapshots: '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/s3-request-presigner@3.1014.0': + '@aws-sdk/s3-request-presigner@3.1018.0': dependencies: - '@aws-sdk/signature-v4-multi-region': 3.996.11 + '@aws-sdk/signature-v4-multi-region': 3.996.14 '@aws-sdk/types': 3.973.6 '@aws-sdk/util-format-url': 3.972.8 '@smithy/middleware-endpoint': 4.4.27 @@ -7421,31 +7339,19 @@ snapshots: '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/signature-v4-multi-region@3.996.11': + '@aws-sdk/signature-v4-multi-region@3.996.14': dependencies: - '@aws-sdk/middleware-sdk-s3': 3.972.23 + '@aws-sdk/middleware-sdk-s3': 3.972.26 '@aws-sdk/types': 3.973.6 '@smithy/protocol-http': 5.3.12 '@smithy/signature-v4': 5.3.12 '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/token-providers@3.1014.0': + '@aws-sdk/token-providers@3.1018.0': dependencies: - '@aws-sdk/core': 3.973.23 - '@aws-sdk/nested-clients': 3.996.13 - '@aws-sdk/types': 3.973.6 - '@smithy/property-provider': 4.2.12 - '@smithy/shared-ini-file-loader': 4.4.7 - '@smithy/types': 4.13.1 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/token-providers@3.997.0': - dependencies: - '@aws-sdk/core': 3.973.23 - '@aws-sdk/nested-clients': 3.996.13 + '@aws-sdk/core': 3.973.25 + '@aws-sdk/nested-clients': 3.996.15 '@aws-sdk/types': 3.973.6 '@smithy/property-provider': 4.2.12 '@smithy/shared-ini-file-loader': 4.4.7 @@ -7478,7 +7384,7 @@ snapshots: '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/util-locate-window@3.965.4': + '@aws-sdk/util-locate-window@3.965.5': dependencies: tslib: 2.8.1 @@ -7489,22 +7395,22 @@ snapshots: bowser: 2.14.1 tslib: 2.8.1 - '@aws-sdk/util-user-agent-node@3.973.10': + '@aws-sdk/util-user-agent-node@3.973.12': dependencies: - '@aws-sdk/middleware-user-agent': 3.972.24 + '@aws-sdk/middleware-user-agent': 3.972.26 '@aws-sdk/types': 3.973.6 '@smithy/node-config-provider': 4.3.12 '@smithy/types': 4.13.1 '@smithy/util-config-provider': 4.2.2 tslib: 2.8.1 - '@aws-sdk/xml-builder@3.972.15': + '@aws-sdk/xml-builder@3.972.16': dependencies: '@smithy/types': 4.13.1 fast-xml-parser: 5.5.7 tslib: 2.8.1 - '@aws/lambda-invoke-store@0.2.3': {} + '@aws/lambda-invoke-store@0.2.4': {} '@azure/msal-common@15.17.0': {} @@ -7525,7 +7431,7 @@ snapshots: '@babel/helper-string-parser@7.27.1': {} - '@babel/helper-string-parser@8.0.0-rc.2': {} + '@babel/helper-string-parser@8.0.0-rc.3': {} '@babel/helper-validator-identifier@7.28.5': {} @@ -7535,12 +7441,18 @@ snapshots: dependencies: '@babel/types': 7.29.0 + '@babel/parser@7.29.2': + dependencies: + '@babel/types': 7.29.0 + '@babel/parser@8.0.0-rc.2': dependencies: '@babel/types': 8.0.0-rc.2 '@babel/runtime@7.28.6': {} + '@babel/runtime@7.29.2': {} + '@babel/types@7.29.0': dependencies: '@babel/helper-string-parser': 7.27.1 @@ -7548,7 +7460,7 @@ snapshots: '@babel/types@8.0.0-rc.2': dependencies: - '@babel/helper-string-parser': 8.0.0-rc.2 + '@babel/helper-string-parser': 8.0.0-rc.3 '@babel/helper-validator-identifier': 8.0.0-rc.2 '@bcoe/v8-coverage@1.0.2': {} @@ -7563,14 +7475,14 @@ snapshots: dependencies: css-tree: 3.2.1 - '@buape/carbon@0.0.0-beta-20260317045421(@discordjs/opus@0.10.0)(hono@4.12.8)(opusscript@0.1.1)': + '@buape/carbon@0.0.0-beta-20260317045421(@discordjs/opus@0.10.0)(hono@4.12.9)(opusscript@0.1.1)': dependencies: '@types/node': 25.5.0 discord-api-types: 0.38.37 optionalDependencies: '@cloudflare/workers-types': 4.20260120.0 '@discordjs/voice': 0.19.0(@discordjs/opus@0.10.0)(opusscript@0.1.1) - '@hono/node-server': 1.19.10(hono@4.12.8) + '@hono/node-server': 1.19.10(hono@4.12.9) '@types/bun': 1.3.9 '@types/ws': 8.18.1 ws: 8.19.0 @@ -7706,7 +7618,7 @@ snapshots: npmlog: 5.0.1 rimraf: 3.0.2 semver: 7.7.4 - tar: 7.5.12 + tar: 7.5.13 transitivePeerDependencies: - encoding - supports-color @@ -7715,7 +7627,7 @@ snapshots: '@discordjs/opus@0.10.0': dependencies: '@discordjs/node-pre-gyp': 0.4.5 - node-addon-api: 8.6.0 + node-addon-api: 8.7.0 transitivePeerDependencies: - encoding - supports-color @@ -7854,14 +7766,14 @@ snapshots: optionalDependencies: '@noble/hashes': 2.0.1 - '@google/genai@1.42.0(@modelcontextprotocol/sdk@1.27.1(zod@4.3.6))': + '@google/genai@1.46.0(@modelcontextprotocol/sdk@1.28.0(zod@4.3.6))': dependencies: google-auth-library: 10.6.2 p-retry: 4.6.2 protobufjs: 7.5.4 ws: 8.20.0 optionalDependencies: - '@modelcontextprotocol/sdk': 1.27.1(zod@4.3.6) + '@modelcontextprotocol/sdk': 1.28.0(zod@4.3.6) transitivePeerDependencies: - bufferutil - supports-color @@ -7906,9 +7818,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@hono/node-server@1.19.10(hono@4.12.8)': + '@hono/node-server@1.19.10(hono@4.12.9)': dependencies: - hono: 4.12.8 + hono: 4.12.9 '@huggingface/jinja@0.5.6': {} @@ -8019,7 +7931,7 @@ snapshots: '@jimp/utils': 1.6.0 await-to-js: 3.0.0 exif-parser: 0.1.12 - file-type: 21.3.4 + file-type: 22.0.0 mime: 3.0.0 transitivePeerDependencies: - supports-color @@ -8336,15 +8248,15 @@ snapshots: '@lancedb/lancedb-win32-arm64-msvc': 0.27.1 '@lancedb/lancedb-win32-x64-msvc': 0.27.1 - '@larksuiteoapi/node-sdk@1.59.0': + '@larksuiteoapi/node-sdk@1.60.0': dependencies: - axios: 1.13.5 + axios: 1.13.6 lodash.identity: 3.0.0 lodash.merge: 4.6.2 lodash.pickby: 4.6.0 protobufjs: 7.5.4 qs: 6.14.2 - ws: 8.19.0 + ws: 8.20.0 transitivePeerDependencies: - bufferutil - debug @@ -8449,9 +8361,9 @@ snapshots: std-env: 3.10.0 yoctocolors: 2.1.2 - '@mariozechner/pi-agent-core@0.61.1(@modelcontextprotocol/sdk@1.27.1(zod@4.3.6))(ws@8.20.0)(zod@4.3.6)': + '@mariozechner/pi-agent-core@0.63.0(@modelcontextprotocol/sdk@1.28.0(zod@4.3.6))(ws@8.20.0)(zod@4.3.6)': dependencies: - '@mariozechner/pi-ai': 0.61.1(@modelcontextprotocol/sdk@1.27.1(zod@4.3.6))(ws@8.20.0)(zod@4.3.6) + '@mariozechner/pi-ai': 0.63.0(@modelcontextprotocol/sdk@1.28.0(zod@4.3.6))(ws@8.20.0)(zod@4.3.6) transitivePeerDependencies: - '@modelcontextprotocol/sdk' - aws-crt @@ -8461,11 +8373,11 @@ snapshots: - ws - zod - '@mariozechner/pi-ai@0.61.1(@modelcontextprotocol/sdk@1.27.1(zod@4.3.6))(ws@8.20.0)(zod@4.3.6)': + '@mariozechner/pi-ai@0.63.0(@modelcontextprotocol/sdk@1.28.0(zod@4.3.6))(ws@8.20.0)(zod@4.3.6)': dependencies: '@anthropic-ai/sdk': 0.73.0(zod@4.3.6) - '@aws-sdk/client-bedrock-runtime': 3.997.0 - '@google/genai': 1.42.0(@modelcontextprotocol/sdk@1.27.1(zod@4.3.6)) + '@aws-sdk/client-bedrock-runtime': 3.1018.0 + '@google/genai': 1.46.0(@modelcontextprotocol/sdk@1.28.0(zod@4.3.6)) '@mistralai/mistralai': 1.14.1 '@sinclair/typebox': 0.34.48 ajv: 8.18.0 @@ -8474,7 +8386,7 @@ snapshots: openai: 6.26.0(ws@8.20.0)(zod@4.3.6) partial-json: 0.1.7 proxy-agent: 6.5.0 - undici: 7.24.5 + undici: 7.24.6 zod-to-json-schema: 3.25.1(zod@4.3.6) transitivePeerDependencies: - '@modelcontextprotocol/sdk' @@ -8485,26 +8397,27 @@ snapshots: - ws - zod - '@mariozechner/pi-coding-agent@0.61.1(@modelcontextprotocol/sdk@1.27.1(zod@4.3.6))(ws@8.20.0)(zod@4.3.6)': + '@mariozechner/pi-coding-agent@0.63.0(@modelcontextprotocol/sdk@1.28.0(zod@4.3.6))(ws@8.20.0)(zod@4.3.6)': dependencies: '@mariozechner/jiti': 2.6.5 - '@mariozechner/pi-agent-core': 0.61.1(@modelcontextprotocol/sdk@1.27.1(zod@4.3.6))(ws@8.20.0)(zod@4.3.6) - '@mariozechner/pi-ai': 0.61.1(@modelcontextprotocol/sdk@1.27.1(zod@4.3.6))(ws@8.20.0)(zod@4.3.6) - '@mariozechner/pi-tui': 0.61.1 + '@mariozechner/pi-agent-core': 0.63.0(@modelcontextprotocol/sdk@1.28.0(zod@4.3.6))(ws@8.20.0)(zod@4.3.6) + '@mariozechner/pi-ai': 0.63.0(@modelcontextprotocol/sdk@1.28.0(zod@4.3.6))(ws@8.20.0)(zod@4.3.6) + '@mariozechner/pi-tui': 0.63.0 '@silvia-odwyer/photon-node': 0.3.4 + ajv: 8.18.0 chalk: 5.6.2 cli-highlight: 2.1.11 - diff: 8.0.3 + diff: 8.0.4 extract-zip: 2.0.1 - file-type: 21.3.4 + file-type: 22.0.0 glob: 13.0.6 hosted-git-info: 9.0.2 ignore: 7.0.5 marked: 15.0.12 minimatch: 10.2.4 proper-lockfile: 4.1.2 - strip-ansi: 7.1.2 - undici: 7.24.5 + strip-ansi: 7.2.0 + undici: 7.24.6 yaml: 2.8.3 optionalDependencies: '@mariozechner/clipboard': 0.3.2 @@ -8517,7 +8430,7 @@ snapshots: - ws - zod - '@mariozechner/pi-tui@0.61.1': + '@mariozechner/pi-tui@0.63.0': dependencies: '@types/mime-types': 2.1.4 chalk: 5.6.2 @@ -8525,7 +8438,7 @@ snapshots: marked: 15.0.12 mime-types: 3.0.2 optionalDependencies: - koffi: 2.15.1 + koffi: 2.15.2 '@matrix-org/matrix-sdk-crypto-nodejs@0.4.0': dependencies: @@ -8536,22 +8449,24 @@ snapshots: '@matrix-org/matrix-sdk-crypto-wasm@18.0.0': {} - '@microsoft/teams.api@2.0.5(@microsoft/teams.cards@2.0.5)(@microsoft/teams.common@2.0.5)': + '@microsoft/teams.api@2.0.6': dependencies: - '@microsoft/teams.cards': 2.0.5 - '@microsoft/teams.common': 2.0.5 + '@microsoft/teams.cards': 2.0.6 + '@microsoft/teams.common': 2.0.6 jwt-decode: 4.0.0 qs: 6.14.2 + transitivePeerDependencies: + - debug - '@microsoft/teams.apps@2.0.5(@microsoft/teams.api@2.0.5(@microsoft/teams.cards@2.0.5)(@microsoft/teams.common@2.0.5))(@microsoft/teams.common@2.0.5)(@microsoft/teams.graph@2.0.5)': + '@microsoft/teams.apps@2.0.6': dependencies: '@azure/msal-node': 3.8.10 - '@microsoft/teams.api': 2.0.5(@microsoft/teams.cards@2.0.5)(@microsoft/teams.common@2.0.5) - '@microsoft/teams.common': 2.0.5 - '@microsoft/teams.graph': 2.0.5 - axios: 1.13.5 + '@microsoft/teams.api': 2.0.6 + '@microsoft/teams.common': 2.0.6 + '@microsoft/teams.graph': 2.0.6 + axios: 1.13.6 cors: 2.8.6 - express: 4.22.1 + express: 5.2.1 jsonwebtoken: 9.0.3 jwks-rsa: 3.2.2 reflect-metadata: 0.2.2 @@ -8559,17 +8474,17 @@ snapshots: - debug - supports-color - '@microsoft/teams.cards@2.0.5': {} + '@microsoft/teams.cards@2.0.6': {} - '@microsoft/teams.common@2.0.5': + '@microsoft/teams.common@2.0.6': dependencies: - axios: 1.13.5 + axios: 1.13.6 transitivePeerDependencies: - debug - '@microsoft/teams.graph@2.0.5': + '@microsoft/teams.graph@2.0.6': dependencies: - '@microsoft/teams.common': 2.0.5 + '@microsoft/teams.common': 2.0.6 qs: 6.14.2 transitivePeerDependencies: - debug @@ -8583,9 +8498,9 @@ snapshots: - bufferutil - utf-8-validate - '@modelcontextprotocol/sdk@1.27.1(zod@4.3.6)': + '@modelcontextprotocol/sdk@1.28.0(zod@4.3.6)': dependencies: - '@hono/node-server': 1.19.10(hono@4.12.8) + '@hono/node-server': 1.19.10(hono@4.12.9) ajv: 8.18.0 ajv-formats: 3.0.1(ajv@8.18.0) content-type: 1.0.5 @@ -8595,7 +8510,7 @@ snapshots: eventsource-parser: 3.0.6 express: 5.2.1 express-rate-limit: 8.3.1(express@5.2.1) - hono: 4.12.8 + hono: 4.12.9 jose: 6.2.2 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 @@ -8772,380 +8687,379 @@ snapshots: '@nolyfill/domexception@1.0.28': {} - '@opentelemetry/api-logs@0.213.0': + '@opentelemetry/api-logs@0.214.0': dependencies: - '@opentelemetry/api': 1.9.0 + '@opentelemetry/api': 1.9.1 - '@opentelemetry/api@1.9.0': {} + '@opentelemetry/api@1.9.1': {} - '@opentelemetry/configuration@0.213.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/configuration@0.214.0(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) yaml: 2.8.3 - '@opentelemetry/context-async-hooks@2.6.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/context-async-hooks@2.6.1(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 + '@opentelemetry/api': 1.9.1 - '@opentelemetry/core@2.6.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/core@2.6.1(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 + '@opentelemetry/api': 1.9.1 '@opentelemetry/semantic-conventions': 1.40.0 - '@opentelemetry/exporter-logs-otlp-grpc@0.213.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/exporter-logs-otlp-grpc@0.214.0(@opentelemetry/api@1.9.1)': dependencies: '@grpc/grpc-js': 1.14.3 - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-grpc-exporter-base': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-logs': 0.213.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-grpc-exporter-base': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-logs': 0.214.0(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-logs-otlp-http@0.213.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/exporter-logs-otlp-http@0.214.0(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.213.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-logs': 0.213.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/api-logs': 0.214.0 + '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-logs': 0.214.0(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-logs-otlp-proto@0.213.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/exporter-logs-otlp-proto@0.214.0(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.213.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-logs': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.6.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/api-logs': 0.214.0 + '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-logs': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.6.1(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-metrics-otlp-grpc@0.213.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/exporter-metrics-otlp-grpc@0.214.0(@opentelemetry/api@1.9.1)': dependencies: '@grpc/grpc-js': 1.14.3 - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-metrics-otlp-http': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-grpc-exporter-base': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 2.6.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-metrics-otlp-http': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-grpc-exporter-base': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-metrics': 2.6.1(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-metrics-otlp-http@0.213.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/exporter-metrics-otlp-http@0.214.0(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 2.6.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-metrics': 2.6.1(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-metrics-otlp-proto@0.213.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/exporter-metrics-otlp-proto@0.214.0(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-metrics-otlp-http': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 2.6.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-metrics-otlp-http': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-metrics': 2.6.1(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-prometheus@0.213.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/exporter-prometheus@0.214.0(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 2.6.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-metrics': 2.6.1(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': 1.40.0 - '@opentelemetry/exporter-trace-otlp-grpc@0.213.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/exporter-trace-otlp-grpc@0.214.0(@opentelemetry/api@1.9.1)': dependencies: '@grpc/grpc-js': 1.14.3 - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-grpc-exporter-base': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.6.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-grpc-exporter-base': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.6.1(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-trace-otlp-http@0.213.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/exporter-trace-otlp-http@0.214.0(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.6.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.6.1(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-trace-otlp-proto@0.213.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/exporter-trace-otlp-proto@0.214.0(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.6.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.6.1(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-zipkin@2.6.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/exporter-zipkin@2.6.1(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.6.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.6.1(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': 1.40.0 - '@opentelemetry/instrumentation@0.213.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation@0.214.0(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.213.0 + '@opentelemetry/api': 1.9.1 + '@opentelemetry/api-logs': 0.214.0 import-in-the-middle: 3.0.0 require-in-the-middle: 8.0.1 transitivePeerDependencies: - supports-color - '@opentelemetry/otlp-exporter-base@0.213.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/otlp-exporter-base@0.214.0(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.213.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.214.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-grpc-exporter-base@0.213.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/otlp-grpc-exporter-base@0.214.0(@opentelemetry/api@1.9.1)': dependencies: '@grpc/grpc-js': 1.14.3 - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.213.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.214.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-transformer@0.213.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/otlp-transformer@0.214.0(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.213.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-logs': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.6.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/api-logs': 0.214.0 + '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-logs': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-metrics': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.6.1(@opentelemetry/api@1.9.1) protobufjs: 7.5.4 - '@opentelemetry/propagator-b3@2.6.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/propagator-b3@2.6.1(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) - '@opentelemetry/propagator-jaeger@2.6.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/propagator-jaeger@2.6.1(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) - '@opentelemetry/resources@2.6.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/resources@2.6.1(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': 1.40.0 - '@opentelemetry/sdk-logs@0.213.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/sdk-logs@0.214.0(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.213.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/api-logs': 0.214.0 + '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.6.1(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': 1.40.0 - '@opentelemetry/sdk-metrics@2.6.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/sdk-metrics@2.6.1(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.6.1(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-node@0.213.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/sdk-node@0.214.0(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.213.0 - '@opentelemetry/configuration': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/context-async-hooks': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-logs-otlp-grpc': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-logs-otlp-http': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-logs-otlp-proto': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-metrics-otlp-grpc': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-metrics-otlp-http': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-metrics-otlp-proto': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-prometheus': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-trace-otlp-grpc': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-trace-otlp-http': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-trace-otlp-proto': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-zipkin': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/propagator-b3': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/propagator-jaeger': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-logs': 0.213.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-node': 2.6.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/api-logs': 0.214.0 + '@opentelemetry/configuration': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/context-async-hooks': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-logs-otlp-grpc': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-logs-otlp-http': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-logs-otlp-proto': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-metrics-otlp-grpc': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-metrics-otlp-http': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-metrics-otlp-proto': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-prometheus': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-trace-otlp-grpc': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-trace-otlp-http': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-trace-otlp-proto': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-zipkin': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/propagator-b3': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/propagator-jaeger': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-logs': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-metrics': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-node': 2.6.1(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color - '@opentelemetry/sdk-trace-base@2.6.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/sdk-trace-base@2.6.1(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.6.1(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': 1.40.0 - '@opentelemetry/sdk-trace-node@2.6.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/sdk-trace-node@2.6.1(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/context-async-hooks': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.6.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/context-async-hooks': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.6.1(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions@1.40.0': {} - '@oxc-project/types@0.115.0': {} + '@oxc-project/types@0.122.0': {} - '@oxc-project/types@0.120.0': {} - - '@oxfmt/binding-android-arm-eabi@0.41.0': + '@oxfmt/binding-android-arm-eabi@0.42.0': optional: true - '@oxfmt/binding-android-arm64@0.41.0': + '@oxfmt/binding-android-arm64@0.42.0': optional: true - '@oxfmt/binding-darwin-arm64@0.41.0': + '@oxfmt/binding-darwin-arm64@0.42.0': optional: true - '@oxfmt/binding-darwin-x64@0.41.0': + '@oxfmt/binding-darwin-x64@0.42.0': optional: true - '@oxfmt/binding-freebsd-x64@0.41.0': + '@oxfmt/binding-freebsd-x64@0.42.0': optional: true - '@oxfmt/binding-linux-arm-gnueabihf@0.41.0': + '@oxfmt/binding-linux-arm-gnueabihf@0.42.0': optional: true - '@oxfmt/binding-linux-arm-musleabihf@0.41.0': + '@oxfmt/binding-linux-arm-musleabihf@0.42.0': optional: true - '@oxfmt/binding-linux-arm64-gnu@0.41.0': + '@oxfmt/binding-linux-arm64-gnu@0.42.0': optional: true - '@oxfmt/binding-linux-arm64-musl@0.41.0': + '@oxfmt/binding-linux-arm64-musl@0.42.0': optional: true - '@oxfmt/binding-linux-ppc64-gnu@0.41.0': + '@oxfmt/binding-linux-ppc64-gnu@0.42.0': optional: true - '@oxfmt/binding-linux-riscv64-gnu@0.41.0': + '@oxfmt/binding-linux-riscv64-gnu@0.42.0': optional: true - '@oxfmt/binding-linux-riscv64-musl@0.41.0': + '@oxfmt/binding-linux-riscv64-musl@0.42.0': optional: true - '@oxfmt/binding-linux-s390x-gnu@0.41.0': + '@oxfmt/binding-linux-s390x-gnu@0.42.0': optional: true - '@oxfmt/binding-linux-x64-gnu@0.41.0': + '@oxfmt/binding-linux-x64-gnu@0.42.0': optional: true - '@oxfmt/binding-linux-x64-musl@0.41.0': + '@oxfmt/binding-linux-x64-musl@0.42.0': optional: true - '@oxfmt/binding-openharmony-arm64@0.41.0': + '@oxfmt/binding-openharmony-arm64@0.42.0': optional: true - '@oxfmt/binding-win32-arm64-msvc@0.41.0': + '@oxfmt/binding-win32-arm64-msvc@0.42.0': optional: true - '@oxfmt/binding-win32-ia32-msvc@0.41.0': + '@oxfmt/binding-win32-ia32-msvc@0.42.0': optional: true - '@oxfmt/binding-win32-x64-msvc@0.41.0': + '@oxfmt/binding-win32-x64-msvc@0.42.0': optional: true - '@oxlint-tsgolint/darwin-arm64@0.17.1': + '@oxlint-tsgolint/darwin-arm64@0.17.4': optional: true - '@oxlint-tsgolint/darwin-x64@0.17.1': + '@oxlint-tsgolint/darwin-x64@0.17.4': optional: true - '@oxlint-tsgolint/linux-arm64@0.17.1': + '@oxlint-tsgolint/linux-arm64@0.17.4': optional: true - '@oxlint-tsgolint/linux-x64@0.17.1': + '@oxlint-tsgolint/linux-x64@0.17.4': optional: true - '@oxlint-tsgolint/win32-arm64@0.17.1': + '@oxlint-tsgolint/win32-arm64@0.17.4': optional: true - '@oxlint-tsgolint/win32-x64@0.17.1': + '@oxlint-tsgolint/win32-x64@0.17.4': optional: true - '@oxlint/binding-android-arm-eabi@1.56.0': + '@oxlint/binding-android-arm-eabi@1.57.0': optional: true - '@oxlint/binding-android-arm64@1.56.0': + '@oxlint/binding-android-arm64@1.57.0': optional: true - '@oxlint/binding-darwin-arm64@1.56.0': + '@oxlint/binding-darwin-arm64@1.57.0': optional: true - '@oxlint/binding-darwin-x64@1.56.0': + '@oxlint/binding-darwin-x64@1.57.0': optional: true - '@oxlint/binding-freebsd-x64@1.56.0': + '@oxlint/binding-freebsd-x64@1.57.0': optional: true - '@oxlint/binding-linux-arm-gnueabihf@1.56.0': + '@oxlint/binding-linux-arm-gnueabihf@1.57.0': optional: true - '@oxlint/binding-linux-arm-musleabihf@1.56.0': + '@oxlint/binding-linux-arm-musleabihf@1.57.0': optional: true - '@oxlint/binding-linux-arm64-gnu@1.56.0': + '@oxlint/binding-linux-arm64-gnu@1.57.0': optional: true - '@oxlint/binding-linux-arm64-musl@1.56.0': + '@oxlint/binding-linux-arm64-musl@1.57.0': optional: true - '@oxlint/binding-linux-ppc64-gnu@1.56.0': + '@oxlint/binding-linux-ppc64-gnu@1.57.0': optional: true - '@oxlint/binding-linux-riscv64-gnu@1.56.0': + '@oxlint/binding-linux-riscv64-gnu@1.57.0': optional: true - '@oxlint/binding-linux-riscv64-musl@1.56.0': + '@oxlint/binding-linux-riscv64-musl@1.57.0': optional: true - '@oxlint/binding-linux-s390x-gnu@1.56.0': + '@oxlint/binding-linux-s390x-gnu@1.57.0': optional: true - '@oxlint/binding-linux-x64-gnu@1.56.0': + '@oxlint/binding-linux-x64-gnu@1.57.0': optional: true - '@oxlint/binding-linux-x64-musl@1.56.0': + '@oxlint/binding-linux-x64-musl@1.57.0': optional: true - '@oxlint/binding-openharmony-arm64@1.56.0': + '@oxlint/binding-openharmony-arm64@1.57.0': optional: true - '@oxlint/binding-win32-arm64-msvc@1.56.0': + '@oxlint/binding-win32-arm64-msvc@1.57.0': optional: true - '@oxlint/binding-win32-ia32-msvc@1.56.0': + '@oxlint/binding-win32-ia32-msvc@1.57.0': optional: true - '@oxlint/binding-win32-x64-msvc@1.56.0': + '@oxlint/binding-win32-x64-msvc@1.57.0': optional: true - '@pierre/diffs@1.1.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@pierre/diffs@1.1.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@pierre/theme': 0.0.22 '@shikijs/transformers': 3.23.0 @@ -9225,103 +9139,103 @@ snapshots: '@reflink/reflink-win32-x64-msvc': 0.1.19 optional: true - '@rolldown/binding-android-arm64@1.0.0-rc.10': + '@rolldown/binding-android-arm64@1.0.0-rc.11': optional: true - '@rolldown/binding-android-arm64@1.0.0-rc.9': + '@rolldown/binding-android-arm64@1.0.0-rc.12': optional: true - '@rolldown/binding-darwin-arm64@1.0.0-rc.10': + '@rolldown/binding-darwin-arm64@1.0.0-rc.11': optional: true - '@rolldown/binding-darwin-arm64@1.0.0-rc.9': + '@rolldown/binding-darwin-arm64@1.0.0-rc.12': optional: true - '@rolldown/binding-darwin-x64@1.0.0-rc.10': + '@rolldown/binding-darwin-x64@1.0.0-rc.11': optional: true - '@rolldown/binding-darwin-x64@1.0.0-rc.9': + '@rolldown/binding-darwin-x64@1.0.0-rc.12': optional: true - '@rolldown/binding-freebsd-x64@1.0.0-rc.10': + '@rolldown/binding-freebsd-x64@1.0.0-rc.11': optional: true - '@rolldown/binding-freebsd-x64@1.0.0-rc.9': + '@rolldown/binding-freebsd-x64@1.0.0-rc.12': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.10': + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.11': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.9': + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.12': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.10': + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.11': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.9': + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.12': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.10': + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.11': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.9': + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.12': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.10': + '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.11': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.9': + '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.12': optional: true - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.10': + '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.11': optional: true - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.9': + '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.12': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.10': + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.11': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.9': + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.12': optional: true - '@rolldown/binding-linux-x64-musl@1.0.0-rc.10': + '@rolldown/binding-linux-x64-musl@1.0.0-rc.11': optional: true - '@rolldown/binding-linux-x64-musl@1.0.0-rc.9': + '@rolldown/binding-linux-x64-musl@1.0.0-rc.12': optional: true - '@rolldown/binding-openharmony-arm64@1.0.0-rc.10': + '@rolldown/binding-openharmony-arm64@1.0.0-rc.11': optional: true - '@rolldown/binding-openharmony-arm64@1.0.0-rc.9': + '@rolldown/binding-openharmony-arm64@1.0.0-rc.12': optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-rc.10': + '@rolldown/binding-wasm32-wasi@1.0.0-rc.11': dependencies: '@napi-rs/wasm-runtime': 1.1.1 optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-rc.9': + '@rolldown/binding-wasm32-wasi@1.0.0-rc.12': dependencies: '@napi-rs/wasm-runtime': 1.1.1 optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.10': + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.11': optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.9': + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.12': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.10': + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.11': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.9': + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.12': optional: true - '@rolldown/pluginutils@1.0.0-rc.10': {} + '@rolldown/pluginutils@1.0.0-rc.11': {} - '@rolldown/pluginutils@1.0.0-rc.9': {} + '@rolldown/pluginutils@1.0.0-rc.12': {} '@scure/base@2.0.0': {} @@ -9851,19 +9765,19 @@ snapshots: '@standard-schema/spec@1.1.0': {} - '@swc/helpers@0.5.19': + '@swc/helpers@0.5.20': dependencies: tslib: 2.8.1 '@telegraf/types@7.1.0': optional: true - '@thi.ng/bitstream@2.4.41': + '@thi.ng/bitstream@2.4.44': dependencies: - '@thi.ng/errors': 2.6.3 + '@thi.ng/errors': 2.6.6 optional: true - '@thi.ng/errors@2.6.3': + '@thi.ng/errors@2.6.6': optional: true '@tinyhttp/content-disposition@2.2.4': {} @@ -10032,7 +9946,7 @@ snapshots: '@types/node@16.9.1': {} - '@types/node@20.19.33': + '@types/node@20.19.37': dependencies: undici-types: 6.21.0 @@ -10076,64 +9990,64 @@ snapshots: '@types/node': 25.5.0 optional: true - '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260322.1': + '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260326.1': optional: true - '@typescript/native-preview-darwin-x64@7.0.0-dev.20260322.1': + '@typescript/native-preview-darwin-x64@7.0.0-dev.20260326.1': optional: true - '@typescript/native-preview-linux-arm64@7.0.0-dev.20260322.1': + '@typescript/native-preview-linux-arm64@7.0.0-dev.20260326.1': optional: true - '@typescript/native-preview-linux-arm@7.0.0-dev.20260322.1': + '@typescript/native-preview-linux-arm@7.0.0-dev.20260326.1': optional: true - '@typescript/native-preview-linux-x64@7.0.0-dev.20260322.1': + '@typescript/native-preview-linux-x64@7.0.0-dev.20260326.1': optional: true - '@typescript/native-preview-win32-arm64@7.0.0-dev.20260322.1': + '@typescript/native-preview-win32-arm64@7.0.0-dev.20260326.1': optional: true - '@typescript/native-preview-win32-x64@7.0.0-dev.20260322.1': + '@typescript/native-preview-win32-x64@7.0.0-dev.20260326.1': optional: true - '@typescript/native-preview@7.0.0-dev.20260322.1': + '@typescript/native-preview@7.0.0-dev.20260326.1': optionalDependencies: - '@typescript/native-preview-darwin-arm64': 7.0.0-dev.20260322.1 - '@typescript/native-preview-darwin-x64': 7.0.0-dev.20260322.1 - '@typescript/native-preview-linux-arm': 7.0.0-dev.20260322.1 - '@typescript/native-preview-linux-arm64': 7.0.0-dev.20260322.1 - '@typescript/native-preview-linux-x64': 7.0.0-dev.20260322.1 - '@typescript/native-preview-win32-arm64': 7.0.0-dev.20260322.1 - '@typescript/native-preview-win32-x64': 7.0.0-dev.20260322.1 + '@typescript/native-preview-darwin-arm64': 7.0.0-dev.20260326.1 + '@typescript/native-preview-darwin-x64': 7.0.0-dev.20260326.1 + '@typescript/native-preview-linux-arm': 7.0.0-dev.20260326.1 + '@typescript/native-preview-linux-arm64': 7.0.0-dev.20260326.1 + '@typescript/native-preview-linux-x64': 7.0.0-dev.20260326.1 + '@typescript/native-preview-win32-arm64': 7.0.0-dev.20260326.1 + '@typescript/native-preview-win32-x64': 7.0.0-dev.20260326.1 '@ungap/structured-clone@1.3.0': {} '@urbit/aura@3.0.0': {} - '@vitest/browser-playwright@4.1.0(playwright@1.58.2)(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.0)': + '@vitest/browser-playwright@4.1.2(playwright@1.58.2)(vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.2)': dependencies: - '@vitest/browser': 4.1.0(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.0) - '@vitest/mocker': 4.1.0(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) + '@vitest/browser': 4.1.2(vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.2) + '@vitest/mocker': 4.1.2(vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) playwright: 1.58.2 - tinyrainbow: 3.0.3 - vitest: 4.1.0(@opentelemetry/api@1.9.0)(@types/node@25.5.0)(@vitest/browser-playwright@4.1.0)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) + tinyrainbow: 3.1.0 + vitest: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.5.0)(@vitest/browser-playwright@4.1.2)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) transitivePeerDependencies: - bufferutil - msw - utf-8-validate - vite - '@vitest/browser@4.1.0(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.0)': + '@vitest/browser@4.1.2(vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.2)': dependencies: '@blazediff/core': 1.9.1 - '@vitest/mocker': 4.1.0(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) - '@vitest/utils': 4.1.0 + '@vitest/mocker': 4.1.2(vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) + '@vitest/utils': 4.1.2 magic-string: 0.30.21 pngjs: 7.0.0 sirv: 3.0.2 - tinyrainbow: 3.0.3 - vitest: 4.1.0(@opentelemetry/api@1.9.0)(@types/node@25.5.0)(@vitest/browser-playwright@4.1.0)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) + tinyrainbow: 3.1.0 + vitest: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.5.0)(@vitest/browser-playwright@4.1.2)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) ws: 8.20.0 transitivePeerDependencies: - bufferutil @@ -10141,10 +10055,10 @@ snapshots: - utf-8-validate - vite - '@vitest/coverage-v8@4.1.0(@vitest/browser@4.1.0(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.0))(vitest@4.1.0)': + '@vitest/coverage-v8@4.1.2(@vitest/browser@4.1.2(vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.2))(vitest@4.1.2)': dependencies: '@bcoe/v8-coverage': 1.0.2 - '@vitest/utils': 4.1.0 + '@vitest/utils': 4.1.2 ast-v8-to-istanbul: 1.0.0 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 @@ -10152,51 +10066,51 @@ snapshots: magicast: 0.5.2 obug: 2.1.1 std-env: 4.0.0 - tinyrainbow: 3.0.3 - vitest: 4.1.0(@opentelemetry/api@1.9.0)(@types/node@25.5.0)(@vitest/browser-playwright@4.1.0)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) + tinyrainbow: 3.1.0 + vitest: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.5.0)(@vitest/browser-playwright@4.1.2)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) optionalDependencies: - '@vitest/browser': 4.1.0(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.0) + '@vitest/browser': 4.1.2(vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.2) - '@vitest/expect@4.1.0': + '@vitest/expect@4.1.2': dependencies: '@standard-schema/spec': 1.1.0 '@types/chai': 5.2.3 - '@vitest/spy': 4.1.0 - '@vitest/utils': 4.1.0 + '@vitest/spy': 4.1.2 + '@vitest/utils': 4.1.2 chai: 6.2.2 - tinyrainbow: 3.0.3 + tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.0(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))': + '@vitest/mocker@4.1.2(vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))': dependencies: - '@vitest/spy': 4.1.0 + '@vitest/spy': 4.1.2 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.0.1(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) + vite: 8.0.3(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) - '@vitest/pretty-format@4.1.0': + '@vitest/pretty-format@4.1.2': dependencies: - tinyrainbow: 3.0.3 + tinyrainbow: 3.1.0 - '@vitest/runner@4.1.0': + '@vitest/runner@4.1.2': dependencies: - '@vitest/utils': 4.1.0 + '@vitest/utils': 4.1.2 pathe: 2.0.3 - '@vitest/snapshot@4.1.0': + '@vitest/snapshot@4.1.2': dependencies: - '@vitest/pretty-format': 4.1.0 - '@vitest/utils': 4.1.0 + '@vitest/pretty-format': 4.1.2 + '@vitest/utils': 4.1.2 magic-string: 0.30.21 pathe: 2.0.3 - '@vitest/spy@4.1.0': {} + '@vitest/spy@4.1.2': {} - '@vitest/utils@4.1.0': + '@vitest/utils@4.1.2': dependencies: - '@vitest/pretty-format': 4.1.0 + '@vitest/pretty-format': 4.1.2 convert-source-map: 2.0.0 - tinyrainbow: 3.0.3 + tinyrainbow: 3.1.0 '@wasm-audio-decoders/common@9.0.7': dependencies: @@ -10254,11 +10168,6 @@ snapshots: dependencies: event-target-shim: 5.0.1 - accepts@1.3.8: - dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 - accepts@2.0.0: dependencies: mime-types: 3.0.2 @@ -10327,12 +10236,12 @@ snapshots: apache-arrow@18.1.0: dependencies: - '@swc/helpers': 0.5.19 + '@swc/helpers': 0.5.20 '@types/command-line-args': 5.2.3 '@types/command-line-usage': 5.0.4 - '@types/node': 20.19.33 + '@types/node': 20.19.37 command-line-args: 5.2.1 - command-line-usage: 7.0.3 + command-line-usage: 7.0.4 flatbuffers: 24.12.23 json-bignum: 0.0.3 tslib: 2.8.1 @@ -10350,9 +10259,7 @@ snapshots: array-back@3.1.0: {} - array-back@6.2.2: {} - - array-flatten@1.1.1: {} + array-back@6.2.3: {} asap@2.0.6: {} @@ -10396,14 +10303,14 @@ snapshots: '@wasm-audio-decoders/flac': 0.2.10 '@wasm-audio-decoders/ogg-vorbis': 0.1.20 audio-buffer: 5.0.0 - audio-type: 2.2.1 + audio-type: 2.4.0 mpg123-decoder: 1.0.3 node-wav: 0.0.2 ogg-opus-decoder: 1.7.3 qoa-format: 1.0.1 optional: true - audio-type@2.2.1: + audio-type@2.4.0: optional: true await-to-js@3.0.0: {} @@ -10416,6 +10323,14 @@ snapshots: transitivePeerDependencies: - debug + axios@1.13.6: + dependencies: + follow-redirects: 1.15.11 + form-data: 2.5.4 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + b4a@1.8.0: {} babel-walk@3.0.0-canary-5: @@ -10480,23 +10395,6 @@ snapshots: bmp-ts@1.0.9: {} - body-parser@1.20.4: - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.1 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.14.2 - raw-body: 2.5.3 - type-is: 1.6.18 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - body-parser@2.2.2: dependencies: bytes: 3.1.2 @@ -10517,7 +10415,7 @@ snapshots: bowser@2.14.1: {} - brace-expansion@5.0.3: + brace-expansion@5.0.5: dependencies: balanced-match: 4.0.4 @@ -10685,9 +10583,9 @@ snapshots: lodash.camelcase: 4.3.0 typical: 4.0.0 - command-line-usage@7.0.3: + command-line-usage@7.0.4: dependencies: - array-back: 6.2.2 + array-back: 6.2.3 chalk-template: 0.4.0 table-layout: 4.1.1 typical: 7.3.0 @@ -10706,18 +10604,12 @@ snapshots: '@babel/parser': 7.29.0 '@babel/types': 7.29.0 - content-disposition@0.5.4: - dependencies: - safe-buffer: 5.2.1 - content-disposition@1.0.1: {} content-type@1.0.5: {} convert-source-map@2.0.0: {} - cookie-signature@1.0.7: {} - cookie-signature@1.2.2: {} cookie@0.7.2: {} @@ -10769,10 +10661,6 @@ snapshots: transitivePeerDependencies: - '@noble/hashes' - debug@2.6.9: - dependencies: - ms: 2.0.0 - debug@4.4.3: dependencies: ms: 2.1.3 @@ -10798,8 +10686,6 @@ snapshots: dequal@2.0.3: {} - destroy@1.2.0: {} - detect-libc@2.1.2: {} devlop@1.1.0: @@ -10808,6 +10694,8 @@ snapshots: diff@8.0.3: {} + diff@8.0.4: {} + discord-api-types@0.38.37: {} discord-api-types@0.38.42: {} @@ -10986,42 +10874,6 @@ snapshots: express: 5.2.1 ip-address: 10.1.0 - express@4.22.1: - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.4 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookie: 0.7.2 - cookie-signature: 1.0.7 - debug: 2.6.9 - depd: 2.0.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.3.2 - fresh: 0.5.2 - http-errors: 2.0.1 - merge-descriptors: 1.0.3 - methods: 1.1.2 - on-finished: 2.4.1 - parseurl: 1.3.3 - path-to-regexp: 0.1.12 - proxy-addr: 2.0.7 - qs: 6.14.2 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.19.2 - serve-static: 1.16.3 - setprototypeof: 1.2.0 - statuses: 2.0.2 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - express@5.2.1: dependencies: accepts: 2.0.0 @@ -11106,10 +10958,10 @@ snapshots: node-domexception: '@nolyfill/domexception@1.0.28' web-streams-polyfill: 3.3.3 - file-type@21.3.4: + file-type@22.0.0: dependencies: '@tokenizer/inflate': 0.4.1 - strtok3: 10.3.4 + strtok3: 10.3.5 token-types: 6.1.2 uint8array-extras: 1.5.0 transitivePeerDependencies: @@ -11125,18 +10977,6 @@ snapshots: dependencies: to-regex-range: 5.0.1 - finalhandler@1.3.2: - dependencies: - debug: 2.6.9 - encodeurl: 2.0.0 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.2 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - finalhandler@2.1.1: dependencies: debug: 4.4.3 @@ -11171,8 +11011,6 @@ snapshots: forwarded@0.2.0: {} - fresh@0.5.2: {} - fresh@2.0.0: {} fs-extra@11.3.3: @@ -11277,6 +11115,10 @@ snapshots: dependencies: resolve-pkg-maps: 1.0.0 + get-tsconfig@4.13.7: + dependencies: + resolve-pkg-maps: 1.0.0 + get-uri@6.0.5: dependencies: basic-ftp: 5.2.0 @@ -11402,7 +11244,7 @@ snapshots: highlight.js@10.7.3: {} - hono@4.12.8: {} + hono@4.12.9: {} hookable@6.1.0: {} @@ -11470,10 +11312,6 @@ snapshots: human-signals@1.1.1: {} - iconv-lite@0.4.24: - dependencies: - safer-buffer: 2.1.2 - iconv-lite@0.7.2: dependencies: safer-buffer: 2.1.2 @@ -11695,7 +11533,7 @@ snapshots: saxes: 6.0.0 symbol-tree: 3.2.4 tough-cookie: 4.1.3 - undici: 7.24.5 + undici: 7.24.6 w3c-xmlserializer: 5.0.0 webidl-conversions: 8.0.1 whatwg-mimetype: 5.0.0 @@ -11783,7 +11621,7 @@ snapshots: klona@2.0.6: {} - koffi@2.15.1: + koffi@2.15.2: optional: true lie@3.3.0: @@ -11937,7 +11775,7 @@ snapshots: magicast@0.5.2: dependencies: - '@babel/parser': 7.29.0 + '@babel/parser': 7.29.2 '@babel/types': 7.29.0 source-map-js: 1.2.1 @@ -11971,9 +11809,9 @@ snapshots: matrix-events-sdk@0.0.1: {} - matrix-js-sdk@41.2.0-rc.0: + matrix-js-sdk@41.2.0: dependencies: - '@babel/runtime': 7.28.6 + '@babel/runtime': 7.29.2 '@matrix-org/matrix-sdk-crypto-wasm': 18.0.0 another-json: 0.2.0 bs58: 6.0.0 @@ -12009,20 +11847,14 @@ snapshots: mdurl@2.0.0: {} - media-typer@0.3.0: {} - media-typer@1.1.0: {} - merge-descriptors@1.0.3: {} - merge-descriptors@2.0.0: {} merge-stream@2.0.0: {} merge2@1.4.1: {} - methods@1.1.2: {} - micromark-util-character@2.1.1: dependencies: micromark-util-symbol: 2.0.1 @@ -12057,8 +11889,6 @@ snapshots: dependencies: mime-db: 1.54.0 - mime@1.6.0: {} - mime@3.0.0: {} mimic-fn@2.1.0: {} @@ -12067,7 +11897,7 @@ snapshots: minimatch@10.2.4: dependencies: - brace-expansion: 5.0.3 + brace-expansion: 5.0.5 minimist@1.2.8: {} @@ -12089,8 +11919,6 @@ snapshots: mrmime@2.0.1: {} - ms@2.0.0: {} - ms@2.1.3: {} music-metadata@11.12.3: @@ -12099,7 +11927,7 @@ snapshots: '@tokenizer/token': 0.3.0 content-type: 1.0.5 debug: 4.4.3 - file-type: 21.3.4 + file-type: 22.0.0 media-typer: 1.1.0 strtok3: 10.3.4 token-types: 6.1.2 @@ -12118,14 +11946,15 @@ snapshots: nanoid@5.1.6: {} - negotiator@0.6.3: {} - negotiator@1.0.0: {} netmask@2.0.2: {} node-addon-api@8.6.0: {} + node-addon-api@8.7.0: + optional: true + node-api-headers@1.8.0: {} node-downloader-helper@2.1.10: {} @@ -12214,7 +12043,7 @@ snapshots: abbrev: 1.1.1 optional: true - nostr-tools@2.23.3(typescript@5.9.3): + nostr-tools@2.23.3(typescript@6.0.2): dependencies: '@noble/ciphers': 2.1.1 '@noble/curves': 2.0.1 @@ -12224,7 +12053,7 @@ snapshots: '@scure/bip39': 2.0.1 nostr-wasm: 0.1.0 optionalDependencies: - typescript: 5.9.3 + typescript: 6.0.2 nostr-wasm@0.1.0: {} @@ -12295,7 +12124,7 @@ snapshots: ws: 8.20.0 zod: 4.3.6 - openai@6.32.0(ws@8.20.0)(zod@4.3.6): + openai@6.33.0(ws@8.20.0)(zod@4.3.6): optionalDependencies: ws: 8.20.0 zod: 4.3.6 @@ -12329,61 +12158,61 @@ snapshots: osc-progress@0.3.0: {} - oxfmt@0.41.0: + oxfmt@0.42.0: dependencies: tinypool: 2.1.0 optionalDependencies: - '@oxfmt/binding-android-arm-eabi': 0.41.0 - '@oxfmt/binding-android-arm64': 0.41.0 - '@oxfmt/binding-darwin-arm64': 0.41.0 - '@oxfmt/binding-darwin-x64': 0.41.0 - '@oxfmt/binding-freebsd-x64': 0.41.0 - '@oxfmt/binding-linux-arm-gnueabihf': 0.41.0 - '@oxfmt/binding-linux-arm-musleabihf': 0.41.0 - '@oxfmt/binding-linux-arm64-gnu': 0.41.0 - '@oxfmt/binding-linux-arm64-musl': 0.41.0 - '@oxfmt/binding-linux-ppc64-gnu': 0.41.0 - '@oxfmt/binding-linux-riscv64-gnu': 0.41.0 - '@oxfmt/binding-linux-riscv64-musl': 0.41.0 - '@oxfmt/binding-linux-s390x-gnu': 0.41.0 - '@oxfmt/binding-linux-x64-gnu': 0.41.0 - '@oxfmt/binding-linux-x64-musl': 0.41.0 - '@oxfmt/binding-openharmony-arm64': 0.41.0 - '@oxfmt/binding-win32-arm64-msvc': 0.41.0 - '@oxfmt/binding-win32-ia32-msvc': 0.41.0 - '@oxfmt/binding-win32-x64-msvc': 0.41.0 + '@oxfmt/binding-android-arm-eabi': 0.42.0 + '@oxfmt/binding-android-arm64': 0.42.0 + '@oxfmt/binding-darwin-arm64': 0.42.0 + '@oxfmt/binding-darwin-x64': 0.42.0 + '@oxfmt/binding-freebsd-x64': 0.42.0 + '@oxfmt/binding-linux-arm-gnueabihf': 0.42.0 + '@oxfmt/binding-linux-arm-musleabihf': 0.42.0 + '@oxfmt/binding-linux-arm64-gnu': 0.42.0 + '@oxfmt/binding-linux-arm64-musl': 0.42.0 + '@oxfmt/binding-linux-ppc64-gnu': 0.42.0 + '@oxfmt/binding-linux-riscv64-gnu': 0.42.0 + '@oxfmt/binding-linux-riscv64-musl': 0.42.0 + '@oxfmt/binding-linux-s390x-gnu': 0.42.0 + '@oxfmt/binding-linux-x64-gnu': 0.42.0 + '@oxfmt/binding-linux-x64-musl': 0.42.0 + '@oxfmt/binding-openharmony-arm64': 0.42.0 + '@oxfmt/binding-win32-arm64-msvc': 0.42.0 + '@oxfmt/binding-win32-ia32-msvc': 0.42.0 + '@oxfmt/binding-win32-x64-msvc': 0.42.0 - oxlint-tsgolint@0.17.1: + oxlint-tsgolint@0.17.4: optionalDependencies: - '@oxlint-tsgolint/darwin-arm64': 0.17.1 - '@oxlint-tsgolint/darwin-x64': 0.17.1 - '@oxlint-tsgolint/linux-arm64': 0.17.1 - '@oxlint-tsgolint/linux-x64': 0.17.1 - '@oxlint-tsgolint/win32-arm64': 0.17.1 - '@oxlint-tsgolint/win32-x64': 0.17.1 + '@oxlint-tsgolint/darwin-arm64': 0.17.4 + '@oxlint-tsgolint/darwin-x64': 0.17.4 + '@oxlint-tsgolint/linux-arm64': 0.17.4 + '@oxlint-tsgolint/linux-x64': 0.17.4 + '@oxlint-tsgolint/win32-arm64': 0.17.4 + '@oxlint-tsgolint/win32-x64': 0.17.4 - oxlint@1.56.0(oxlint-tsgolint@0.17.1): + oxlint@1.57.0(oxlint-tsgolint@0.17.4): optionalDependencies: - '@oxlint/binding-android-arm-eabi': 1.56.0 - '@oxlint/binding-android-arm64': 1.56.0 - '@oxlint/binding-darwin-arm64': 1.56.0 - '@oxlint/binding-darwin-x64': 1.56.0 - '@oxlint/binding-freebsd-x64': 1.56.0 - '@oxlint/binding-linux-arm-gnueabihf': 1.56.0 - '@oxlint/binding-linux-arm-musleabihf': 1.56.0 - '@oxlint/binding-linux-arm64-gnu': 1.56.0 - '@oxlint/binding-linux-arm64-musl': 1.56.0 - '@oxlint/binding-linux-ppc64-gnu': 1.56.0 - '@oxlint/binding-linux-riscv64-gnu': 1.56.0 - '@oxlint/binding-linux-riscv64-musl': 1.56.0 - '@oxlint/binding-linux-s390x-gnu': 1.56.0 - '@oxlint/binding-linux-x64-gnu': 1.56.0 - '@oxlint/binding-linux-x64-musl': 1.56.0 - '@oxlint/binding-openharmony-arm64': 1.56.0 - '@oxlint/binding-win32-arm64-msvc': 1.56.0 - '@oxlint/binding-win32-ia32-msvc': 1.56.0 - '@oxlint/binding-win32-x64-msvc': 1.56.0 - oxlint-tsgolint: 0.17.1 + '@oxlint/binding-android-arm-eabi': 1.57.0 + '@oxlint/binding-android-arm64': 1.57.0 + '@oxlint/binding-darwin-arm64': 1.57.0 + '@oxlint/binding-darwin-x64': 1.57.0 + '@oxlint/binding-freebsd-x64': 1.57.0 + '@oxlint/binding-linux-arm-gnueabihf': 1.57.0 + '@oxlint/binding-linux-arm-musleabihf': 1.57.0 + '@oxlint/binding-linux-arm64-gnu': 1.57.0 + '@oxlint/binding-linux-arm64-musl': 1.57.0 + '@oxlint/binding-linux-ppc64-gnu': 1.57.0 + '@oxlint/binding-linux-riscv64-gnu': 1.57.0 + '@oxlint/binding-linux-riscv64-musl': 1.57.0 + '@oxlint/binding-linux-s390x-gnu': 1.57.0 + '@oxlint/binding-linux-x64-gnu': 1.57.0 + '@oxlint/binding-linux-x64-musl': 1.57.0 + '@oxlint/binding-openharmony-arm64': 1.57.0 + '@oxlint/binding-win32-arm64-msvc': 1.57.0 + '@oxlint/binding-win32-ia32-msvc': 1.57.0 + '@oxlint/binding-win32-x64-msvc': 1.57.0 + oxlint-tsgolint: 0.17.4 p-finally@1.0.0: {} @@ -12480,8 +12309,6 @@ snapshots: lru-cache: 11.2.7 minipass: 7.1.3 - path-to-regexp@0.1.12: {} - path-to-regexp@8.3.0: {} pathe@2.0.3: {} @@ -12497,8 +12324,6 @@ snapshots: picomatch@2.3.2: {} - picomatch@4.0.3: {} - picomatch@4.0.4: {} pino-abstract-transport@2.0.0: @@ -12713,7 +12538,7 @@ snapshots: qoa-format@1.0.1: dependencies: - '@thi.ng/bitstream': 2.4.41 + '@thi.ng/bitstream': 2.4.44 optional: true qrcode-terminal@0.12.0: {} @@ -12732,13 +12557,6 @@ snapshots: range-parser@1.2.1: {} - raw-body@2.5.3: - dependencies: - bytes: 3.1.2 - http-errors: 2.0.1 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - raw-body@3.0.2: dependencies: bytes: 3.1.2 @@ -12834,7 +12652,7 @@ snapshots: glob: 7.2.3 optional: true - rolldown-plugin-dts@0.22.5(@typescript/native-preview@7.0.0-dev.20260322.1)(rolldown@1.0.0-rc.9)(typescript@5.9.3): + rolldown-plugin-dts@0.22.5(@typescript/native-preview@7.0.0-dev.20260326.1)(rolldown@1.0.0-rc.11)(typescript@6.0.2): dependencies: '@babel/generator': 8.0.0-rc.2 '@babel/helper-validator-identifier': 8.0.0-rc.2 @@ -12843,56 +12661,56 @@ snapshots: ast-kit: 3.0.0-beta.1 birpc: 4.0.0 dts-resolver: 2.1.3 - get-tsconfig: 4.13.6 + get-tsconfig: 4.13.7 obug: 2.1.1 - rolldown: 1.0.0-rc.9 + rolldown: 1.0.0-rc.11 optionalDependencies: - '@typescript/native-preview': 7.0.0-dev.20260322.1 - typescript: 5.9.3 + '@typescript/native-preview': 7.0.0-dev.20260326.1 + typescript: 6.0.2 transitivePeerDependencies: - oxc-resolver - rolldown@1.0.0-rc.10: + rolldown@1.0.0-rc.11: dependencies: - '@oxc-project/types': 0.120.0 - '@rolldown/pluginutils': 1.0.0-rc.10 + '@oxc-project/types': 0.122.0 + '@rolldown/pluginutils': 1.0.0-rc.11 optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.0-rc.10 - '@rolldown/binding-darwin-arm64': 1.0.0-rc.10 - '@rolldown/binding-darwin-x64': 1.0.0-rc.10 - '@rolldown/binding-freebsd-x64': 1.0.0-rc.10 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.10 - '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.10 - '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.10 - '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.10 - '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.10 - '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.10 - '@rolldown/binding-linux-x64-musl': 1.0.0-rc.10 - '@rolldown/binding-openharmony-arm64': 1.0.0-rc.10 - '@rolldown/binding-wasm32-wasi': 1.0.0-rc.10 - '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.10 - '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.10 + '@rolldown/binding-android-arm64': 1.0.0-rc.11 + '@rolldown/binding-darwin-arm64': 1.0.0-rc.11 + '@rolldown/binding-darwin-x64': 1.0.0-rc.11 + '@rolldown/binding-freebsd-x64': 1.0.0-rc.11 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.11 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.11 + '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.11 + '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.11 + '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.11 + '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.11 + '@rolldown/binding-linux-x64-musl': 1.0.0-rc.11 + '@rolldown/binding-openharmony-arm64': 1.0.0-rc.11 + '@rolldown/binding-wasm32-wasi': 1.0.0-rc.11 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.11 + '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.11 - rolldown@1.0.0-rc.9: + rolldown@1.0.0-rc.12: dependencies: - '@oxc-project/types': 0.115.0 - '@rolldown/pluginutils': 1.0.0-rc.9 + '@oxc-project/types': 0.122.0 + '@rolldown/pluginutils': 1.0.0-rc.12 optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.0-rc.9 - '@rolldown/binding-darwin-arm64': 1.0.0-rc.9 - '@rolldown/binding-darwin-x64': 1.0.0-rc.9 - '@rolldown/binding-freebsd-x64': 1.0.0-rc.9 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.9 - '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.9 - '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.9 - '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.9 - '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.9 - '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.9 - '@rolldown/binding-linux-x64-musl': 1.0.0-rc.9 - '@rolldown/binding-openharmony-arm64': 1.0.0-rc.9 - '@rolldown/binding-wasm32-wasi': 1.0.0-rc.9 - '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.9 - '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.9 + '@rolldown/binding-android-arm64': 1.0.0-rc.12 + '@rolldown/binding-darwin-arm64': 1.0.0-rc.12 + '@rolldown/binding-darwin-x64': 1.0.0-rc.12 + '@rolldown/binding-freebsd-x64': 1.0.0-rc.12 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.12 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.12 + '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.12 + '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.12 + '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.12 + '@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 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.12 + '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.12 router@2.2.0: dependencies: @@ -12939,24 +12757,6 @@ snapshots: semver@7.7.4: {} - send@0.19.2: - dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.1 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.2 - transitivePeerDependencies: - - supports-color - send@1.2.1: dependencies: debug: 4.4.3 @@ -12973,15 +12773,6 @@ snapshots: transitivePeerDependencies: - supports-color - serve-static@1.16.3: - dependencies: - encodeurl: 2.0.0 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.19.2 - transitivePeerDependencies: - - supports-color - serve-static@2.2.1: dependencies: encodeurl: 2.0.0 @@ -13248,10 +13039,6 @@ snapshots: dependencies: ansi-regex: 5.0.1 - strip-ansi@7.1.2: - dependencies: - ansi-regex: 6.2.2 - strip-ansi@7.2.0: dependencies: ansi-regex: 6.2.2 @@ -13266,6 +13053,10 @@ snapshots: dependencies: '@tokenizer/token': 0.3.0 + strtok3@10.3.5: + dependencies: + '@tokenizer/token': 0.3.0 + supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -13276,7 +13067,7 @@ snapshots: table-layout@4.1.1: dependencies: - array-back: 6.2.2 + array-back: 6.2.3 wordwrapjs: 5.1.1 tar-stream@3.1.8: @@ -13298,6 +13089,14 @@ snapshots: minizlib: 3.1.0 yallist: 5.0.0 + tar@7.5.13: + dependencies: + '@isaacs/fs-minipass': 4.0.1 + chownr: 3.0.0 + minipass: 7.1.3 + minizlib: 3.1.0 + yallist: 5.0.0 + teex@1.0.1: dependencies: streamx: 2.25.0 @@ -13342,8 +13141,6 @@ snapshots: tinycolor2@1.6.0: {} - tinyexec@1.0.2: {} - tinyexec@1.0.4: {} tinyglobby@0.2.15: @@ -13353,7 +13150,7 @@ snapshots: tinypool@2.1.0: {} - tinyrainbow@3.0.3: {} + tinyrainbow@3.1.0: {} to-regex-range@5.0.1: dependencies: @@ -13390,7 +13187,7 @@ snapshots: ts-algebra@2.0.0: {} - tsdown@0.21.4(@typescript/native-preview@7.0.0-dev.20260322.1)(typescript@5.9.3): + tsdown@0.21.5(@typescript/native-preview@7.0.0-dev.20260326.1)(typescript@6.0.2): dependencies: ansis: 4.2.0 cac: 7.0.0 @@ -13399,17 +13196,17 @@ snapshots: hookable: 6.1.0 import-without-cache: 0.2.5 obug: 2.1.1 - picomatch: 4.0.3 - rolldown: 1.0.0-rc.9 - rolldown-plugin-dts: 0.22.5(@typescript/native-preview@7.0.0-dev.20260322.1)(rolldown@1.0.0-rc.9)(typescript@5.9.3) + picomatch: 4.0.4 + rolldown: 1.0.0-rc.11 + rolldown-plugin-dts: 0.22.5(@typescript/native-preview@7.0.0-dev.20260326.1)(rolldown@1.0.0-rc.11)(typescript@6.0.2) semver: 7.7.4 tinyexec: 1.0.4 tinyglobby: 0.2.15 tree-kill: 1.2.2 unconfig-core: 7.5.0 - unrun: 0.2.32 + unrun: 0.2.33 optionalDependencies: - typescript: 5.9.3 + typescript: 6.0.2 transitivePeerDependencies: - '@ts-macro/tsc' - '@typescript/native-preview' @@ -13430,18 +13227,16 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - type-is@1.6.18: - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - type-is@2.0.1: dependencies: content-type: 1.0.5 media-typer: 1.1.0 mime-types: 3.0.2 - typescript@5.9.3: {} + typescript@5.9.3: + optional: true + + typescript@6.0.2: {} typical@4.0.0: {} @@ -13464,7 +13259,7 @@ snapshots: undici-types@7.18.2: {} - undici@7.24.5: {} + undici@7.24.6: {} unhomoglyph@1.0.6: {} @@ -13497,9 +13292,9 @@ snapshots: unpipe@1.0.0: {} - unrun@0.2.32: + unrun@0.2.33: dependencies: - rolldown: 1.0.0-rc.9 + rolldown: 1.0.0-rc.11 url-join@4.0.1: {} @@ -13514,8 +13309,6 @@ snapshots: util-deprecate@1.0.2: {} - utils-merge@1.0.1: {} - uuid@13.0.0: {} uuid@8.3.2: {} @@ -13536,12 +13329,12 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3): + vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 postcss: 8.5.8 - rolldown: 1.0.0-rc.10 + rolldown: 1.0.0-rc.12 tinyglobby: 0.2.15 optionalDependencies: '@types/node': 25.5.0 @@ -13551,15 +13344,15 @@ snapshots: tsx: 4.21.0 yaml: 2.8.3 - vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@25.5.0)(@vitest/browser-playwright@4.1.0)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)): + vitest@4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.5.0)(@vitest/browser-playwright@4.1.2)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)): dependencies: - '@vitest/expect': 4.1.0 - '@vitest/mocker': 4.1.0(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) - '@vitest/pretty-format': 4.1.0 - '@vitest/runner': 4.1.0 - '@vitest/snapshot': 4.1.0 - '@vitest/spy': 4.1.0 - '@vitest/utils': 4.1.0 + '@vitest/expect': 4.1.2 + '@vitest/mocker': 4.1.2(vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) + '@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 es-module-lexer: 2.0.0 expect-type: 1.3.0 magic-string: 0.30.21 @@ -13568,15 +13361,15 @@ snapshots: picomatch: 4.0.4 std-env: 4.0.0 tinybench: 2.9.0 - tinyexec: 1.0.2 + tinyexec: 1.0.4 tinyglobby: 0.2.15 - tinyrainbow: 3.0.3 - vite: 8.0.1(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) + tinyrainbow: 3.1.0 + vite: 8.0.3(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) why-is-node-running: 2.3.0 optionalDependencies: - '@opentelemetry/api': 1.9.0 + '@opentelemetry/api': 1.9.1 '@types/node': 25.5.0 - '@vitest/browser-playwright': 4.1.0(playwright@1.58.2)(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.0) + '@vitest/browser-playwright': 4.1.2(playwright@1.58.2)(vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.2) jsdom: 29.0.1(@noble/hashes@2.0.1) transitivePeerDependencies: - msw diff --git a/scripts/test-planner/executor.mjs b/scripts/test-planner/executor.mjs index b39544dd69d..f59e3e883ef 100644 --- a/scripts/test-planner/executor.mjs +++ b/scripts/test-planner/executor.mjs @@ -107,6 +107,53 @@ const getShardLabel = (args) => { return typeof args[shardIndex + 1] === "string" ? args[shardIndex + 1] : ""; }; +const normalizeEnvFlag = (value) => value?.trim().toLowerCase(); + +const isEnvFlagEnabled = (value) => { + const normalized = normalizeEnvFlag(value); + return normalized === "1" || normalized === "true"; +}; + +const isEnvFlagDisabled = (value) => { + const normalized = normalizeEnvFlag(value); + return normalized === "0" || normalized === "false"; +}; + +const isWindowsEnv = (env, platform = process.platform) => { + if (platform === "win32") { + return true; + } + return normalizeEnvFlag(env.RUNNER_OS) === "windows"; +}; + +const isFsModuleCacheEnabled = (env, platform = process.platform) => { + if (isWindowsEnv(env, platform)) { + return isEnvFlagEnabled(env.OPENCLAW_VITEST_FS_MODULE_CACHE); + } + return !isEnvFlagDisabled(env.OPENCLAW_VITEST_FS_MODULE_CACHE); +}; + +export const resolveVitestFsModuleCachePath = ({ + cwd = process.cwd(), + env = process.env, + platform = process.platform, + unitId = "", +} = {}) => { + const explicitPath = env.OPENCLAW_VITEST_FS_MODULE_CACHE_PATH?.trim(); + if (!isFsModuleCacheEnabled(env, platform)) { + return undefined; + } + if (explicitPath) { + return explicitPath; + } + return path.join( + cwd, + "node_modules", + ".experimental-vitest-cache", + sanitizeArtifactName(unitId || "default"), + ); +}; + export function formatPlanOutput(plan) { return [ `runtime=${plan.runtimeCapabilities.runtimeProfileName} mode=${plan.runtimeCapabilities.mode} intent=${plan.runtimeCapabilities.intentProfile} memoryBand=${plan.runtimeCapabilities.memoryBand} loadBand=${plan.runtimeCapabilities.loadBand} vitestMaxWorkers=${String(plan.executionBudget.vitestMaxWorkers ?? "default")} topLevelParallel=${plan.topLevelParallelEnabled ? String(plan.topLevelParallelLimit) : "off"}`, @@ -458,14 +505,24 @@ export async function executePlan(plan, options = {}) { ); }; try { + const childEnv = { + ...env, + ...unit.env, + VITEST_GROUP: unit.id, + NODE_OPTIONS: resolvedNodeOptions, + }; + const vitestFsModuleCachePath = resolveVitestFsModuleCachePath({ + env: childEnv, + platform: process.platform, + unitId: unit.id, + }); + if (vitestFsModuleCachePath) { + childEnv.OPENCLAW_VITEST_FS_MODULE_CACHE_PATH = vitestFsModuleCachePath; + laneLogStream.write(`[test-parallel] fsModuleCachePath=${vitestFsModuleCachePath}\n`); + } child = spawn(pnpmInvocation.command, spawnArgs, { stdio: ["inherit", "pipe", "pipe"], - env: { - ...env, - ...unit.env, - VITEST_GROUP: unit.id, - NODE_OPTIONS: resolvedNodeOptions, - }, + env: childEnv, shell: false, }); captureTreeSample("spawn"); diff --git a/src/agents/compaction.identifier-preservation.test.ts b/src/agents/compaction.identifier-preservation.test.ts index deed5e80b60..67ffdbc7037 100644 --- a/src/agents/compaction.identifier-preservation.test.ts +++ b/src/agents/compaction.identifier-preservation.test.ts @@ -65,7 +65,7 @@ describe("compaction identifier-preservation instructions", () => { } function firstSummaryInstructions() { - return mockGenerateSummary.mock.calls[0]?.[5]; + return mockGenerateSummary.mock.calls[0]?.[6]; } it("injects identifier-preservation guidance even without custom instructions", async () => { @@ -101,7 +101,7 @@ describe("compaction identifier-preservation instructions", () => { expect(mockGenerateSummary.mock.calls.length).toBeGreaterThan(1); for (const call of mockGenerateSummary.mock.calls) { - expect(call[5]).toContain("Preserve all opaque identifiers exactly as written"); + expect(call[6]).toContain("Preserve all opaque identifiers exactly as written"); } }); @@ -114,7 +114,7 @@ describe("compaction identifier-preservation instructions", () => { }); const mergedCall = mockGenerateSummary.mock.calls.at(-1); - const instructions = mergedCall?.[5] ?? ""; + const instructions = mergedCall?.[6] ?? ""; expect(instructions).toContain("Merge these partial summaries into a single cohesive summary."); expect(instructions).toContain("Prioritize customer-visible regressions."); expect((instructions.match(/Additional focus:/g) ?? []).length).toBe(1); diff --git a/src/agents/compaction.retry.test.ts b/src/agents/compaction.retry.test.ts index 31404e2e9b2..30f81ca6664 100644 --- a/src/agents/compaction.retry.test.ts +++ b/src/agents/compaction.retry.test.ts @@ -56,7 +56,7 @@ describe("compaction retry integration", () => { } as unknown as NonNullable; const invokeGenerateSummary = (signal = new AbortController().signal) => - mockGenerateSummary(testMessages, testModel, 1000, "test-api-key", signal); + mockGenerateSummary(testMessages, testModel, 1000, "test-api-key", undefined, signal); const runSummaryRetry = (options: Parameters[1]) => retryAsync(() => invokeGenerateSummary(), options); diff --git a/src/agents/compaction.ts b/src/agents/compaction.ts index 8cc5b4f8233..29bc934e412 100644 --- a/src/agents/compaction.ts +++ b/src/agents/compaction.ts @@ -212,6 +212,7 @@ async function summarizeChunks(params: { messages: AgentMessage[]; model: NonNullable; apiKey: string; + headers?: Record; signal: AbortSignal; reserveTokens: number; maxChunkTokens: number; @@ -239,6 +240,7 @@ async function summarizeChunks(params: { params.model, params.reserveTokens, params.apiKey, + params.headers, params.signal, effectiveInstructions, summary, @@ -265,6 +267,7 @@ export async function summarizeWithFallback(params: { messages: AgentMessage[]; model: NonNullable; apiKey: string; + headers?: Record; signal: AbortSignal; reserveTokens: number; maxChunkTokens: number; @@ -334,6 +337,7 @@ export async function summarizeInStages(params: { messages: AgentMessage[]; model: NonNullable; apiKey: string; + headers?: Record; signal: AbortSignal; reserveTokens: number; maxChunkTokens: number; diff --git a/src/agents/pi-extensions/compaction-safeguard.ts b/src/agents/pi-extensions/compaction-safeguard.ts index e418fd1e566..06065e9411d 100644 --- a/src/agents/pi-extensions/compaction-safeguard.ts +++ b/src/agents/pi-extensions/compaction-safeguard.ts @@ -614,17 +614,29 @@ export default function compactionSafeguardExtension(api: ExtensionAPI): void { return { cancel: true }; } - const apiKey = await ctx.modelRegistry.getApiKey(model); - if (!apiKey) { + const auth = await ctx.modelRegistry.getApiKeyAndHeaders(model); + if (!auth.ok) { log.warn( - "Compaction safeguard: no API key available; cancelling compaction to preserve history.", + `Compaction safeguard: failed to resolve auth; cancelling compaction to preserve history. ${auth.error}`, ); setCompactionSafeguardCancelReason( ctx.sessionManager, - `Compaction safeguard could not resolve an API key for ${model.provider}/${model.id}.`, + `Compaction safeguard could not resolve request auth for ${model.provider}/${model.id}: ${auth.error}`, ); return { cancel: true }; } + if (!auth.apiKey && !auth.headers) { + log.warn( + "Compaction safeguard: no request auth available; cancelling compaction to preserve history.", + ); + setCompactionSafeguardCancelReason( + ctx.sessionManager, + `Compaction safeguard could not resolve request auth for ${model.provider}/${model.id}.`, + ); + return { cancel: true }; + } + const apiKey = auth.apiKey ?? ""; + const headers = auth.headers; try { const modelContextWindow = resolveContextWindowTokens(model); @@ -688,6 +700,7 @@ export default function compactionSafeguardExtension(api: ExtensionAPI): void { messages: pruned.droppedMessagesList, model, apiKey, + headers, signal, reserveTokens: Math.max(1, Math.floor(preparation.settings.reserveTokens)), maxChunkTokens: droppedMaxChunkTokens, @@ -759,6 +772,7 @@ export default function compactionSafeguardExtension(api: ExtensionAPI): void { messages: messagesToSummarize, model, apiKey, + headers, signal, reserveTokens, maxChunkTokens, @@ -775,6 +789,7 @@ export default function compactionSafeguardExtension(api: ExtensionAPI): void { messages: turnPrefixMessages, model, apiKey, + headers, signal, reserveTokens, maxChunkTokens, diff --git a/src/agents/skills-install.download.test.ts b/src/agents/skills-install.download.test.ts index cee0d37b876..49d20867fd1 100644 --- a/src/agents/skills-install.download.test.ts +++ b/src/agents/skills-install.download.test.ts @@ -58,9 +58,15 @@ function buildEntry(name: string): SkillEntry { skill: { name, description: `${name} test skill`, - source: "openclaw-workspace", filePath: path.join(skillDir, "SKILL.md"), baseDir: skillDir, + sourceInfo: { + path: path.join(skillDir, "SKILL.md"), + source: "openclaw-workspace", + scope: "project", + origin: "top-level", + baseDir: skillDir, + }, disableModelInvocation: false, }, frontmatter: {}, diff --git a/src/agents/skills-install.ts b/src/agents/skills-install.ts index ef6c334d0b6..95dd3310320 100644 --- a/src/agents/skills-install.ts +++ b/src/agents/skills-install.ts @@ -444,9 +444,9 @@ export async function installSkill(params: SkillInstallRequest): Promise { skill: { name: "os-scoped", description: "test", - source: "test", filePath: "/tmp/os-scoped", baseDir: "/tmp", + sourceInfo: { + path: "/tmp/os-scoped", + source: "test", + scope: "project", + origin: "top-level", + baseDir: "/tmp", + }, disableModelInvocation: false, }, frontmatter: {}, diff --git a/src/agents/skills-status.ts b/src/agents/skills-status.ts index 02ff68e2efc..f2dd451a73c 100644 --- a/src/agents/skills-status.ts +++ b/src/agents/skills-status.ts @@ -189,7 +189,7 @@ function buildSkillStatus( const bundled = bundledNames && bundledNames.size > 0 ? bundledNames.has(entry.skill.name) - : entry.skill.source === "openclaw-bundled"; + : entry.skill.sourceInfo.source === "openclaw-bundled"; const { emoji, homepage, required, missing, requirementsSatisfied, configChecks } = evaluateEntryRequirementsForCurrentPlatform({ @@ -205,7 +205,7 @@ function buildSkillStatus( return { name: entry.skill.name, description: entry.skill.description, - source: entry.skill.source, + source: entry.skill.sourceInfo.source, bundled, filePath: entry.skill.filePath, baseDir: entry.skill.baseDir, diff --git a/src/agents/skills.buildworkspaceskillstatus.test.ts b/src/agents/skills.buildworkspaceskillstatus.test.ts index c8b7c220e50..eb6e40ad279 100644 --- a/src/agents/skills.buildworkspaceskillstatus.test.ts +++ b/src/agents/skills.buildworkspaceskillstatus.test.ts @@ -22,9 +22,15 @@ function makeEntry(params: { skill: { name: params.name, description: `desc:${params.name}`, - source: params.source ?? "openclaw-workspace", filePath: `/tmp/${params.name}/SKILL.md`, baseDir: `/tmp/${params.name}`, + sourceInfo: { + path: `/tmp/${params.name}/SKILL.md`, + source: params.source ?? "openclaw-workspace", + scope: "project", + origin: "top-level", + baseDir: `/tmp/${params.name}`, + }, disableModelInvocation: false, }, frontmatter: {}, diff --git a/src/agents/skills.resolveskillspromptforrun.test.ts b/src/agents/skills.resolveskillspromptforrun.test.ts index 305e11f2f4e..d8cc67c461e 100644 --- a/src/agents/skills.resolveskillspromptforrun.test.ts +++ b/src/agents/skills.resolveskillspromptforrun.test.ts @@ -17,7 +17,13 @@ describe("resolveSkillsPromptForRun", () => { description: "Demo", filePath: "/app/skills/demo-skill/SKILL.md", baseDir: "/app/skills/demo-skill", - source: "openclaw-bundled", + sourceInfo: { + path: "/app/skills/demo-skill/SKILL.md", + source: "openclaw-bundled", + scope: "project", + origin: "top-level", + baseDir: "/app/skills/demo-skill", + }, disableModelInvocation: false, }, frontmatter: {}, diff --git a/src/agents/skills/compact-format.test.ts b/src/agents/skills/compact-format.test.ts index 20f3b8a256e..aa85779e94b 100644 --- a/src/agents/skills/compact-format.test.ts +++ b/src/agents/skills/compact-format.test.ts @@ -14,7 +14,13 @@ function makeSkill(name: string, desc = "A skill", filePath = `/skills/${name}/S description: desc, filePath, baseDir: `/skills/${name}`, - source: "workspace", + sourceInfo: { + path: filePath, + source: "workspace", + scope: "project", + origin: "top-level", + baseDir: `/skills/${name}`, + }, disableModelInvocation: false, }; } diff --git a/src/agents/skills/config.ts b/src/agents/skills/config.ts index 2dfe78acd5c..cf25b6fc50e 100644 --- a/src/agents/skills/config.ts +++ b/src/agents/skills/config.ts @@ -50,7 +50,7 @@ function normalizeAllowlist(input: unknown): string[] | undefined { const BUNDLED_SOURCES = new Set(["openclaw-bundled"]); function isBundledSkill(entry: SkillEntry): boolean { - return BUNDLED_SOURCES.has(entry.skill.source); + return BUNDLED_SOURCES.has(entry.skill.sourceInfo.source); } export function resolveBundledAllowlist(config?: OpenClawConfig): string[] | undefined { diff --git a/src/cli/skills-cli.format.ts b/src/cli/skills-cli.format.ts index 6059273db57..7b129ff72e2 100644 --- a/src/cli/skills-cli.format.ts +++ b/src/cli/skills-cli.format.ts @@ -133,7 +133,7 @@ export function formatSkillsList(report: SkillStatusReport, opts: SkillsListOpti Status: formatSkillStatus(skill), Skill: formatSkillName(skill), Description: theme.muted(skill.description), - Source: skill.source ?? "", + Source: skill.source, Missing: missing ? theme.warn(missing) : "", }; }); diff --git a/src/cli/skills-cli.formatting.test.ts b/src/cli/skills-cli.formatting.test.ts index 2c4d7f12f3c..57f6d3a50c6 100644 --- a/src/cli/skills-cli.formatting.test.ts +++ b/src/cli/skills-cli.formatting.test.ts @@ -36,9 +36,16 @@ describe("skills-cli (e2e)", () => { skill: { name: "peekaboo", description: "Capture UI screenshots", - source: "openclaw-bundled", filePath: path.join(baseDir, "SKILL.md"), baseDir, + sourceInfo: { + path: path.join(baseDir, "SKILL.md"), + source: "openclaw-bundled", + scope: "project", + origin: "top-level", + baseDir, + }, + disableModelInvocation: false, } as SkillEntry["skill"], frontmatter: {}, metadata: { emoji: "📸" }, diff --git a/src/security/audit-extra.async.ts b/src/security/audit-extra.async.ts index 5e9c4036e09..55765b717ce 100644 --- a/src/security/audit-extra.async.ts +++ b/src/security/audit-extra.async.ts @@ -1261,7 +1261,7 @@ export async function collectInstalledSkillsCodeSafetyFindings(params: { for (const workspaceDir of workspaceDirs) { const entries = loadWorkspaceSkillEntries(workspaceDir, { config: params.cfg }); for (const entry of entries) { - if (entry.skill.source === "openclaw-bundled") { + if (entry.skill.sourceInfo.source === "openclaw-bundled") { continue; } diff --git a/test/scripts/test-planner.test.ts b/test/scripts/test-planner.test.ts index 431e8f0e5d1..526b220e06f 100644 --- a/test/scripts/test-planner.test.ts +++ b/test/scripts/test-planner.test.ts @@ -4,6 +4,7 @@ import { describe, expect, it } from "vitest"; import { createExecutionArtifacts, resolvePnpmCommandInvocation, + resolveVitestFsModuleCachePath, } from "../../scripts/test-planner/executor.mjs"; import { buildCIExecutionManifest, @@ -375,3 +376,42 @@ describe("resolvePnpmCommandInvocation", () => { }); }); }); + +describe("resolveVitestFsModuleCachePath", () => { + it("uses a lane-local cache path by default on non-Windows hosts", () => { + expect( + resolveVitestFsModuleCachePath({ + cwd: "/repo", + env: {}, + platform: "linux", + unitId: "unit-fast-1", + }), + ).toBe("/repo/node_modules/.experimental-vitest-cache/unit-fast-1"); + }); + + it("respects an explicit cache path override", () => { + expect( + resolveVitestFsModuleCachePath({ + cwd: "/repo", + env: { + OPENCLAW_VITEST_FS_MODULE_CACHE_PATH: "/tmp/custom-vitest-cache", + }, + platform: "linux", + unitId: "unit-fast-1", + }), + ).toBe("/tmp/custom-vitest-cache"); + }); + + it("does not force a cache path when the cache is disabled", () => { + expect( + resolveVitestFsModuleCachePath({ + cwd: "/repo", + env: { + OPENCLAW_VITEST_FS_MODULE_CACHE: "0", + }, + platform: "linux", + unitId: "unit-fast-1", + }), + ).toBeUndefined(); + }); +}); diff --git a/test/vitest-performance-config.test.ts b/test/vitest-performance-config.test.ts index aac25330126..83bf900a8c0 100644 --- a/test/vitest-performance-config.test.ts +++ b/test/vitest-performance-config.test.ts @@ -25,6 +25,22 @@ describe("loadVitestExperimentalConfig", () => { }); }); + it("passes through the filesystem module cache path when provided", () => { + expect( + loadVitestExperimentalConfig( + { + OPENCLAW_VITEST_FS_MODULE_CACHE_PATH: "/tmp/openclaw-vitest-cache", + }, + "linux", + ), + ).toEqual({ + experimental: { + fsModuleCache: true, + fsModuleCachePath: "/tmp/openclaw-vitest-cache", + }, + }); + }); + it("disables the filesystem module cache by default on Windows", () => { expect(loadVitestExperimentalConfig({}, "win32")).toEqual({}); }); diff --git a/ui/package.json b/ui/package.json index f9205c022ff..49ad0740183 100644 --- a/ui/package.json +++ b/ui/package.json @@ -16,10 +16,10 @@ "marked": "^17.0.5" }, "devDependencies": { - "@vitest/browser-playwright": "4.1.0", + "@vitest/browser-playwright": "4.1.2", "jsdom": "^29.0.1", "playwright": "^1.58.2", - "vite": "8.0.1", - "vitest": "4.1.0" + "vite": "8.0.3", + "vitest": "4.1.2" } } diff --git a/ui/src/ui/app-render.helpers.ts b/ui/src/ui/app-render.helpers.ts index c46d10903f7..e85913dd46d 100644 --- a/ui/src/ui/app-render.helpers.ts +++ b/ui/src/ui/app-render.helpers.ts @@ -109,9 +109,8 @@ function renderCronFilterIcon(hiddenCount: number) { - ${ - hiddenCount > 0 - ? html` 0 + ? html`${hiddenCount}${hiddenCount}` - : "" - } + : ""} `; } @@ -158,9 +156,7 @@ export function renderChatSessionSelect(state: AppViewState) { group.options, (entry) => entry.key, (entry) => - html``, + html``, )} `, )} @@ -315,13 +311,11 @@ export function renderChatControls(state: AppViewState) { state.sessionsHideCron = !hideCron; }} aria-pressed=${hideCron} - title=${ - hideCron - ? hiddenCronCount > 0 - ? t("chat.showCronSessionsHidden", { count: String(hiddenCronCount) }) - : t("chat.showCronSessions") - : t("chat.hideCronSessions") - } + title=${hideCron + ? hiddenCronCount > 0 + ? t("chat.showCronSessionsHidden", { count: String(hiddenCronCount) }) + : t("chat.showCronSessions") + : t("chat.hideCronSessions")} > ${renderCronFilterIcon(hiddenCronCount)} @@ -398,14 +392,28 @@ export function renderChatMobileToggle(state: AppViewState) { title="Chat settings" aria-label="Chat settings" > - + - + -
{ - e.stopPropagation(); - }}> +
{ + e.stopPropagation(); + }} + >
Fallbacks -
{ - const container = e.currentTarget as HTMLElement; - const input = container.querySelector("input"); - if (input) { - input.focus(); - } - }}> +
{ + const container = e.currentTarget as HTMLElement; + const input = container.querySelector("input"); + if (input) { + input.focus(); + } + }} + > ${fallbackChips.map( (chip, i) => html` @@ -164,7 +165,9 @@ export function renderAgentOverview(params: { class="chip-remove" ?disabled=${disabled} @click=${() => removeChip(i)} - >× + > + × + `, )} @@ -185,7 +188,12 @@ export function renderAgentOverview(params: {
- + > + ${context.workspace} +
@@ -161,7 +163,11 @@ export function renderAgentChannels(params: { : "never"; return html`
- ${renderAgentContextCard(params.context, "Workspace, identity, and model configuration.", params.onSelectPanel)} + ${renderAgentContextCard( + params.context, + "Workspace, identity, and model configuration.", + params.onSelectPanel, + )}
@@ -172,81 +178,67 @@ export function renderAgentChannels(params: { ${params.loading ? "Refreshing…" : "Refresh"}
-
- Last refresh: ${lastSuccessLabel} -
- ${ - params.error - ? html`
${params.error}
` - : nothing - } - ${ - !params.snapshot - ? html` -
Load channels to see live status.
- ` - : nothing - } - ${ - entries.length === 0 - ? html` -
No channels found.
- ` - : html` -
- ${entries.map((entry) => { - const summary = summarizeChannelAccounts(entry.accounts); - const status = summary.total - ? `${summary.connected}/${summary.total} connected` - : "no accounts"; - const configLabel = summary.configured - ? `${summary.configured} configured` - : "not configured"; - const enabled = summary.total ? `${summary.enabled} enabled` : "disabled"; - const extras = resolveChannelExtrasFromConfig({ - configForm: params.configForm, - channelId: entry.id, - fields: CHANNEL_EXTRA_FIELDS, - }); - return html` -
-
-
${entry.label}
-
${entry.id}
-
-
-
${status}
-
${configLabel}
-
${enabled}
- ${ - summary.configured === 0 - ? html` - - ` - : nothing - } - ${ - extras.length > 0 - ? extras.map( - (extra) => html`
${extra.label}: ${extra.value}
`, - ) - : nothing - } -
+
Last refresh: ${lastSuccessLabel}
+ ${params.error + ? html`
${params.error}
` + : nothing} + ${!params.snapshot + ? html` +
+ Load channels to see live status. +
+ ` + : nothing} + ${entries.length === 0 + ? html`
No channels found.
` + : html` +
+ ${entries.map((entry) => { + const summary = summarizeChannelAccounts(entry.accounts); + const status = summary.total + ? `${summary.connected}/${summary.total} connected` + : "no accounts"; + const configLabel = summary.configured + ? `${summary.configured} configured` + : "not configured"; + const enabled = summary.total ? `${summary.enabled} enabled` : "disabled"; + const extras = resolveChannelExtrasFromConfig({ + configForm: params.configForm, + channelId: entry.id, + fields: CHANNEL_EXTRA_FIELDS, + }); + return html` +
+
+
${entry.label}
+
${entry.id}
- `; - })} -
- ` - } +
+
${status}
+
${configLabel}
+
${enabled}
+ ${summary.configured === 0 + ? html` + + ` + : nothing} + ${extras.length > 0 + ? extras.map((extra) => html`
${extra.label}: ${extra.value}
`) + : nothing} +
+
+ `; + })} +
+ `}
`; @@ -266,7 +258,11 @@ export function renderAgentCron(params: { const jobs = params.jobs.filter((job) => job.agentId === params.agentId); return html`
- ${renderAgentContextCard(params.context, "Workspace and scheduling targets.", params.onSelectPanel)} + ${renderAgentContextCard( + params.context, + "Workspace and scheduling targets.", + params.onSelectPanel, + )}
@@ -293,57 +289,51 @@ export function renderAgentCron(params: {
${formatNextRun(params.status?.nextWakeAtMs ?? null)}
- ${ - params.error - ? html`
${params.error}
` - : nothing - } + ${params.error + ? html`
${params.error}
` + : nothing}
Agent Cron Jobs
Scheduled jobs targeting this agent.
- ${ - jobs.length === 0 - ? html` -
No jobs assigned.
- ` - : html` -
- ${jobs.map( - (job) => html` -
-
-
${job.name}
- ${ - job.description - ? html`
${job.description}
` - : nothing - } -
- ${formatCronSchedule(job)} - - ${job.enabled ? "enabled" : "disabled"} - - ${job.sessionTarget} -
-
-
-
${formatCronState(job)}
-
${formatCronPayload(job)}
- + ${jobs.length === 0 + ? html`
No jobs assigned.
` + : html` +
+ ${jobs.map( + (job) => html` +
+
+
${job.name}
+ ${job.description + ? html`
${job.description}
` + : nothing} +
+ ${formatCronSchedule(job)} + + ${job.enabled ? "enabled" : "disabled"} + + ${job.sessionTarget}
- `, - )} -
- ` - } +
+
${formatCronState(job)}
+
${formatCronPayload(job)}
+ +
+
+ `, + )} +
+ `}
`; } @@ -386,166 +376,168 @@ export function renderAgentFiles(params: { ${params.agentFilesLoading ? "Loading…" : "Refresh"}
- ${ - list - ? html`
Workspace: ${list.workspace}
` - : nothing - } - ${ - params.agentFilesError - ? html`
${params.agentFilesError}
` - : nothing - } - ${ - !list - ? html` -
- Load the agent workspace files to edit core instructions. + ${list + ? html`
+ Workspace: ${list.workspace} +
` + : nothing} + ${params.agentFilesError + ? html`
+ ${params.agentFilesError} +
` + : nothing} + ${!list + ? html` +
+ Load the agent workspace files to edit core instructions. +
+ ` + : files.length === 0 + ? html`
No files found.
` + : html` +
+ ${files.map((file) => { + const isActive = active === file.name; + const label = file.name.replace(/\.md$/i, ""); + return html` + + `; + })}
- ` - : files.length === 0 - ? html` -
No files found.
- ` - : html` -
- ${files.map((file) => { - const isActive = active === file.name; - const label = file.name.replace(/\.md$/i, ""); - return html` - - `; - })} -
- ${ - !activeEntry - ? html` -
Select a file to edit.
- ` - : html` -
-
-
${activeEntry.path}
+ ${!activeEntry + ? html`
Select a file to edit.
` + : html` +
+
+
${activeEntry.path}
+
+
+ + + +
+
+ ${activeEntry.missing + ? html` +
+ This file is missing. Saving will create it in the agent workspace.
-
+ ` + : nothing} + + { + const dialog = e.currentTarget as HTMLDialogElement; + if (e.target === dialog) { + dialog.close(); + } + }} + @close=${(e: Event) => { + const dialog = e.currentTarget as HTMLElement; + dialog + .querySelector(".md-preview-dialog__panel") + ?.classList.remove("fullscreen"); + }} + > +
+
+
${activeEntry.name}
+
- ${ - activeEntry.missing - ? html` -
- This file is missing. Saving will create it in the agent workspace. -
- ` - : nothing - } - - { - const dialog = e.currentTarget as HTMLDialogElement; - if (e.target === dialog) { - dialog.close(); - } - }} - @close=${(e: Event) => { - const dialog = e.currentTarget as HTMLElement; - dialog - .querySelector(".md-preview-dialog__panel") - ?.classList.remove("fullscreen"); - }} - > -
-
-
${activeEntry.name}
-
- - - -
-
-
- ${unsafeHTML(applyPreviewTheme(marked.parse(draft, { gfm: true, breaks: true }) as string, { sanitize: (h: string) => DOMPurify.sanitize(h) }))} -
-
-
- ` - } - ` - } +
+ ${unsafeHTML( + applyPreviewTheme( + marked.parse(draft, { gfm: true, breaks: true }) as string, + { sanitize: (h: string) => DOMPurify.sanitize(h) }, + ), + )} +
+
+
+ `} + `} `; } diff --git a/ui/src/ui/views/agents-panels-tools-skills.ts b/ui/src/ui/views/agents-panels-tools-skills.ts index f54e3a4b8a0..d6498c9e16a 100644 --- a/ui/src/ui/views/agents-panels-tools-skills.ts +++ b/ui/src/ui/views/agents-panels-tools-skills.ts @@ -183,7 +183,11 @@ export function renderAgentTools(params: { -
- ${ - !params.configForm - ? html` -
- Load the gateway config to adjust tool profiles. -
- ` - : nothing - } - ${ - hasAgentAllow - ? html` -
- This agent is using an explicit allowlist in config. Tool overrides are managed in the Config tab. -
- ` - : nothing - } - ${ - hasGlobalAllow - ? html` -
- Global tools.allow is set. Agent overrides cannot enable tools that are globally blocked. -
- ` - : nothing - } - ${ - params.toolsCatalogLoading && !params.toolsCatalogResult && !params.toolsCatalogError - ? html` -
Loading runtime tool catalog…
- ` - : nothing - } - ${ - params.toolsCatalogError - ? html` -
- Could not load runtime tool catalog. Showing built-in fallback list instead. -
- ` - : nothing - } + ${!params.configForm + ? html` +
+ Load the gateway config to adjust tool profiles. +
+ ` + : nothing} + ${hasAgentAllow + ? html` +
+ This agent is using an explicit allowlist in config. Tool overrides are managed in the + Config tab. +
+ ` + : nothing} + ${hasGlobalAllow + ? html` +
+ Global tools.allow is set. Agent overrides cannot enable tools that are globally + blocked. +
+ ` + : nothing} + ${params.toolsCatalogLoading && !params.toolsCatalogResult && !params.toolsCatalogError + ? html` +
Loading runtime tool catalog…
+ ` + : nothing} + ${params.toolsCatalogError + ? html` +
+ Could not load runtime tool catalog. Showing built-in fallback list instead. +
+ ` + : nothing}
@@ -249,16 +245,14 @@ export function renderAgentTools(params: {
Source
${profileSource}
- ${ - params.configDirty - ? html` -
-
Status
-
unsaved
-
- ` - : nothing - } + ${params.configDirty + ? html` +
+
Status
+
unsaved
+
+ ` + : nothing}
@@ -267,58 +261,60 @@ export function renderAgentTools(params: { What this agent can use in the current chat session. ${params.runtimeSessionKey || "no session"}
- ${ - !params.runtimeSessionMatchesSelectedAgent + ${!params.runtimeSessionMatchesSelectedAgent + ? html` +
+ Switch chat to this agent to view its live runtime tools. +
+ ` + : params.toolsEffectiveLoading && + !params.toolsEffectiveResult && + !params.toolsEffectiveError ? html` -
- Switch chat to this agent to view its live runtime tools. -
+
Loading available tools…
` - : params.toolsEffectiveLoading && - !params.toolsEffectiveResult && - !params.toolsEffectiveError + : params.toolsEffectiveError ? html` -
Loading available tools…
+
+ Could not load available tools for this session. +
` - : params.toolsEffectiveError + : (params.toolsEffectiveResult?.groups?.length ?? 0) === 0 ? html`
- Could not load available tools for this session. + No tools are available for this session right now.
` - : (params.toolsEffectiveResult?.groups?.length ?? 0) === 0 - ? html` -
- No tools are available for this session right now. -
- ` - : html` -
- ${params.toolsEffectiveResult?.groups.map( - (group) => html` -
-
${group.label}
-
- ${group.tools.map((tool) => { - return html` -
-
-
${tool.label}
-
${tool.description}
-
- ${renderEffectiveToolBadge(tool)} -
+ : html` +
+ ${params.toolsEffectiveResult?.groups.map( + (group) => html` +
+
${group.label}
+
+ ${group.tools.map((tool) => { + return html` +
+
+
${tool.label}
+
${tool.description}
+
+ ${renderEffectiveToolBadge(tool)}
- `; - })} -
+
+ `; + })}
- `, - )} -
- ` - } +
+ `, + )} +
+ `}
@@ -347,43 +343,42 @@ export function renderAgentTools(params: {
${toolSections.map( - (section) => - html` -
-
- ${section.label} - ${ - section.source === "plugin" && section.pluginId - ? html`plugin:${section.pluginId}` - : nothing - } -
-
- ${section.tools.map((tool) => { - const { allowed } = resolveAllowed(tool.id); - return html` -
-
-
${tool.label}
-
${tool.description}
- ${renderToolBadges(section, tool)} -
- -
- `; - })} -
+ (section) => html` +
+
+ ${section.label} + ${section.source === "plugin" && section.pluginId + ? html`plugin:${section.pluginId}` + : nothing}
- `, +
+ ${section.tools.map((tool) => { + const { allowed } = resolveAllowed(tool.id); + return html` +
+
+
${tool.label}
+
${tool.description}
+ ${renderToolBadges(section, tool)} +
+ +
+ `; + })} +
+
+ `, )}
@@ -435,16 +430,21 @@ export function renderAgentSkills(params: {
Skills
Per-agent skill allowlist and workspace skills. - ${ - totalCount > 0 - ? html`${enabledCount}/${totalCount}` - : nothing - } + ${totalCount > 0 + ? html`${enabledCount}/${totalCount}` + : nothing}
-
-
-
- ${ - !params.configForm - ? html` -
- Load the gateway config to set per-agent skills. -
- ` - : nothing - } - ${ - usingAllowlist - ? html` -
This agent uses a custom skill allowlist.
- ` - : html` -
- All skills are enabled. Disabling any skill will create a per-agent allowlist. -
- ` - } - ${ - !reportReady && !params.loading - ? html` -
- Load skills for this agent to view workspace-specific entries. -
- ` - : nothing - } - ${ - params.error - ? html`
${params.error}
` - : nothing - } + ${!params.configForm + ? html` +
+ Load the gateway config to set per-agent skills. +
+ ` + : nothing} + ${usingAllowlist + ? html` +
+ This agent uses a custom skill allowlist. +
+ ` + : html` +
+ All skills are enabled. Disabling any skill will create a per-agent allowlist. +
+ `} + ${!reportReady && !params.loading + ? html` +
+ Load skills for this agent to view workspace-specific entries. +
+ ` + : nothing} + ${params.error + ? html`
${params.error}
` + : nothing}
- ${ - filtered.length === 0 - ? html` -
No skills found.
- ` - : html` -
- ${groups.map((group) => - renderAgentSkillGroup(group, { - agentId: params.agentId, - allowSet, - usingAllowlist, - editable, - onToggle: params.onToggle, - }), - )} -
- ` - } + ${filtered.length === 0 + ? html`
No skills found.
` + : html` +
+ ${groups.map((group) => + renderAgentSkillGroup(group, { + agentId: params.agentId, + allowSet, + usingAllowlist, + editable, + onToggle: params.onToggle, + }), + )} +
+ `} `; } @@ -602,16 +596,12 @@ function renderAgentSkillRow(
${skill.emoji ? `${skill.emoji} ` : ""}${skill.name}
${skill.description}
${renderSkillStatusChips({ skill })} - ${ - missing.length > 0 - ? html`
Missing: ${missing.join(", ")}
` - : nothing - } - ${ - reasons.length > 0 - ? html`
Reason: ${reasons.join(", ")}
` - : nothing - } + ${missing.length > 0 + ? html`
Missing: ${missing.join(", ")}
` + : nothing} + ${reasons.length > 0 + ? html`
Reason: ${reasons.join(", ")}
` + : nothing}
- ${ - selectedAgent - ? html` - - - ` - : nothing - } - + + ` + : nothing} +
- ${ - props.error - ? html`
${props.error}
` - : nothing - } + ${props.error + ? html`
${props.error}
` + : nothing}
- ${ - !selectedAgent - ? html` -
-
Select an agent
-
Pick an agent to inspect its workspace and tools.
-
- ` - : html` - ${renderAgentTabs(props.activePanel, (panel) => props.onSelectPanel(panel), tabCounts)} - ${ - props.activePanel === "overview" - ? renderAgentOverview({ - agent: selectedAgent, - basePath: props.basePath, - defaultId, - configForm: props.config.form, - agentFilesList: props.agentFiles.list, - agentIdentity: props.agentIdentityById[selectedAgent.id] ?? null, - agentIdentityError: props.agentIdentityError, - agentIdentityLoading: props.agentIdentityLoading, - configLoading: props.config.loading, - configSaving: props.config.saving, - configDirty: props.config.dirty, - modelCatalog: props.modelCatalog, - onConfigReload: props.onConfigReload, - onConfigSave: props.onConfigSave, - onModelChange: props.onModelChange, - onModelFallbacksChange: props.onModelFallbacksChange, - onSelectPanel: props.onSelectPanel, - }) - : nothing - } - ${ - props.activePanel === "files" - ? renderAgentFiles({ - agentId: selectedAgent.id, - agentFilesList: props.agentFiles.list, - agentFilesLoading: props.agentFiles.loading, - agentFilesError: props.agentFiles.error, - agentFileActive: props.agentFiles.active, - agentFileContents: props.agentFiles.contents, - agentFileDrafts: props.agentFiles.drafts, - agentFileSaving: props.agentFiles.saving, - onLoadFiles: props.onLoadFiles, - onSelectFile: props.onSelectFile, - onFileDraftChange: props.onFileDraftChange, - onFileReset: props.onFileReset, - onFileSave: props.onFileSave, - }) - : nothing - } - ${ - props.activePanel === "tools" - ? renderAgentTools({ - agentId: selectedAgent.id, - configForm: props.config.form, - configLoading: props.config.loading, - configSaving: props.config.saving, - configDirty: props.config.dirty, - toolsCatalogLoading: props.toolsCatalog.loading, - toolsCatalogError: props.toolsCatalog.error, - toolsCatalogResult: props.toolsCatalog.result, - toolsEffectiveLoading: props.toolsEffective.loading, - toolsEffectiveError: props.toolsEffective.error, - toolsEffectiveResult: props.toolsEffective.result, - runtimeSessionKey: props.runtimeSessionKey, - runtimeSessionMatchesSelectedAgent: - props.runtimeSessionMatchesSelectedAgent, - onProfileChange: props.onToolsProfileChange, - onOverridesChange: props.onToolsOverridesChange, - onConfigReload: props.onConfigReload, - onConfigSave: props.onConfigSave, - }) - : nothing - } - ${ - props.activePanel === "skills" - ? renderAgentSkills({ - agentId: selectedAgent.id, - report: props.agentSkills.report, - loading: props.agentSkills.loading, - error: props.agentSkills.error, - activeAgentId: props.agentSkills.agentId, - configForm: props.config.form, - configLoading: props.config.loading, - configSaving: props.config.saving, - configDirty: props.config.dirty, - filter: props.agentSkills.filter, - onFilterChange: props.onSkillsFilterChange, - onRefresh: props.onSkillsRefresh, - onToggle: props.onAgentSkillToggle, - onClear: props.onAgentSkillsClear, - onDisableAll: props.onAgentSkillsDisableAll, - onConfigReload: props.onConfigReload, - onConfigSave: props.onConfigSave, - }) - : nothing - } - ${ - props.activePanel === "channels" - ? renderAgentChannels({ - context: buildAgentContext( - selectedAgent, - props.config.form, - props.agentFiles.list, - defaultId, - props.agentIdentityById[selectedAgent.id] ?? null, - ), - configForm: props.config.form, - snapshot: props.channels.snapshot, - loading: props.channels.loading, - error: props.channels.error, - lastSuccess: props.channels.lastSuccess, - onRefresh: props.onChannelsRefresh, - onSelectPanel: props.onSelectPanel, - }) - : nothing - } - ${ - props.activePanel === "cron" - ? renderAgentCron({ - context: buildAgentContext( - selectedAgent, - props.config.form, - props.agentFiles.list, - defaultId, - props.agentIdentityById[selectedAgent.id] ?? null, - ), - agentId: selectedAgent.id, - jobs: props.cron.jobs, - status: props.cron.status, - loading: props.cron.loading, - error: props.cron.error, - onRefresh: props.onCronRefresh, - onRunNow: props.onCronRunNow, - onSelectPanel: props.onSelectPanel, - }) - : nothing - } - ` - } + ${!selectedAgent + ? html` +
+
Select an agent
+
Pick an agent to inspect its workspace and tools.
+
+ ` + : html` + ${renderAgentTabs( + props.activePanel, + (panel) => props.onSelectPanel(panel), + tabCounts, + )} + ${props.activePanel === "overview" + ? renderAgentOverview({ + agent: selectedAgent, + basePath: props.basePath, + defaultId, + configForm: props.config.form, + agentFilesList: props.agentFiles.list, + agentIdentity: props.agentIdentityById[selectedAgent.id] ?? null, + agentIdentityError: props.agentIdentityError, + agentIdentityLoading: props.agentIdentityLoading, + configLoading: props.config.loading, + configSaving: props.config.saving, + configDirty: props.config.dirty, + modelCatalog: props.modelCatalog, + onConfigReload: props.onConfigReload, + onConfigSave: props.onConfigSave, + onModelChange: props.onModelChange, + onModelFallbacksChange: props.onModelFallbacksChange, + onSelectPanel: props.onSelectPanel, + }) + : nothing} + ${props.activePanel === "files" + ? renderAgentFiles({ + agentId: selectedAgent.id, + agentFilesList: props.agentFiles.list, + agentFilesLoading: props.agentFiles.loading, + agentFilesError: props.agentFiles.error, + agentFileActive: props.agentFiles.active, + agentFileContents: props.agentFiles.contents, + agentFileDrafts: props.agentFiles.drafts, + agentFileSaving: props.agentFiles.saving, + onLoadFiles: props.onLoadFiles, + onSelectFile: props.onSelectFile, + onFileDraftChange: props.onFileDraftChange, + onFileReset: props.onFileReset, + onFileSave: props.onFileSave, + }) + : nothing} + ${props.activePanel === "tools" + ? renderAgentTools({ + agentId: selectedAgent.id, + configForm: props.config.form, + configLoading: props.config.loading, + configSaving: props.config.saving, + configDirty: props.config.dirty, + toolsCatalogLoading: props.toolsCatalog.loading, + toolsCatalogError: props.toolsCatalog.error, + toolsCatalogResult: props.toolsCatalog.result, + toolsEffectiveLoading: props.toolsEffective.loading, + toolsEffectiveError: props.toolsEffective.error, + toolsEffectiveResult: props.toolsEffective.result, + runtimeSessionKey: props.runtimeSessionKey, + runtimeSessionMatchesSelectedAgent: props.runtimeSessionMatchesSelectedAgent, + onProfileChange: props.onToolsProfileChange, + onOverridesChange: props.onToolsOverridesChange, + onConfigReload: props.onConfigReload, + onConfigSave: props.onConfigSave, + }) + : nothing} + ${props.activePanel === "skills" + ? renderAgentSkills({ + agentId: selectedAgent.id, + report: props.agentSkills.report, + loading: props.agentSkills.loading, + error: props.agentSkills.error, + activeAgentId: props.agentSkills.agentId, + configForm: props.config.form, + configLoading: props.config.loading, + configSaving: props.config.saving, + configDirty: props.config.dirty, + filter: props.agentSkills.filter, + onFilterChange: props.onSkillsFilterChange, + onRefresh: props.onSkillsRefresh, + onToggle: props.onAgentSkillToggle, + onClear: props.onAgentSkillsClear, + onDisableAll: props.onAgentSkillsDisableAll, + onConfigReload: props.onConfigReload, + onConfigSave: props.onConfigSave, + }) + : nothing} + ${props.activePanel === "channels" + ? renderAgentChannels({ + context: buildAgentContext( + selectedAgent, + props.config.form, + props.agentFiles.list, + defaultId, + props.agentIdentityById[selectedAgent.id] ?? null, + ), + configForm: props.config.form, + snapshot: props.channels.snapshot, + loading: props.channels.loading, + error: props.channels.error, + lastSuccess: props.channels.lastSuccess, + onRefresh: props.onChannelsRefresh, + onSelectPanel: props.onSelectPanel, + }) + : nothing} + ${props.activePanel === "cron" + ? renderAgentCron({ + context: buildAgentContext( + selectedAgent, + props.config.form, + props.agentFiles.list, + defaultId, + props.agentIdentityById[selectedAgent.id] ?? null, + ), + agentId: selectedAgent.id, + jobs: props.cron.jobs, + status: props.cron.status, + loading: props.cron.loading, + error: props.cron.error, + onRefresh: props.onCronRefresh, + onRunNow: props.onCronRunNow, + onSelectPanel: props.onSelectPanel, + }) + : nothing} + `}
`; @@ -370,7 +363,9 @@ function renderAgentTabs( type="button" @click=${() => onSelect(tab.id)} > - ${tab.label}${counts[tab.id] != null ? html`${counts[tab.id]}` : nothing} + ${tab.label}${counts[tab.id] != null + ? html`${counts[tab.id]}` + : nothing} `, )} diff --git a/ui/src/ui/views/channels.config.ts b/ui/src/ui/views/channels.config.ts index 3037568992c..8cb495446e3 100644 --- a/ui/src/ui/views/channels.config.ts +++ b/ui/src/ui/views/channels.config.ts @@ -86,15 +86,11 @@ export function renderChannelConfigForm(props: ChannelConfigFormProps) { const analysis = analyzeConfigSchema(props.schema); const normalized = analysis.schema; if (!normalized) { - return html` -
Schema unavailable. Use Raw.
- `; + return html`
Schema unavailable. Use Raw.
`; } const node = resolveSchemaNode(normalized, ["channels", props.channelId]); if (!node) { - return html` -
Channel config schema unavailable.
- `; + return html`
Channel config schema unavailable.
`; } const configValue = props.configValue ?? {}; const value = resolveChannelValue(configValue, props.channelId); @@ -120,20 +116,16 @@ export function renderChannelConfigSection(params: { channelId: string; props: C const disabled = props.configSaving || props.configSchemaLoading; return html`
- ${ - props.configSchemaLoading - ? html` -
Loading config schema…
- ` - : renderChannelConfigForm({ - channelId, - configValue: props.configForm, - schema: props.configSchema, - uiHints: props.configUiHints, - disabled, - onPatch: props.onConfigPatch, - }) - } + ${props.configSchemaLoading + ? html`
Loading config schema…
` + : renderChannelConfigForm({ + channelId, + configValue: props.configForm, + schema: props.configSchema, + uiHints: props.configUiHints, + disabled, + onPatch: props.onConfigPatch, + })}
-
diff --git a/ui/src/ui/views/channels.discord.ts b/ui/src/ui/views/channels.discord.ts index df5f7d33524..e6aea72c445 100644 --- a/ui/src/ui/views/channels.discord.ts +++ b/ui/src/ui/views/channels.discord.ts @@ -36,15 +36,13 @@ export function renderDiscordCard(params: { lastError: discord?.lastError, secondaryCallout: discord?.probe ? html`
- Probe ${discord.probe.ok ? "ok" : "failed"} · - ${discord.probe.status ?? ""} ${discord.probe.error ?? ""} + Probe ${discord.probe.ok ? "ok" : "failed"} · ${discord.probe.status ?? ""} + ${discord.probe.error ?? ""}
` : nothing, configSection: renderChannelConfigSection({ channelId: "discord", props }), footer: html`
- +
`, }); } diff --git a/ui/src/ui/views/channels.googlechat.ts b/ui/src/ui/views/channels.googlechat.ts index af4c3d2c696..a7bf0095059 100644 --- a/ui/src/ui/views/channels.googlechat.ts +++ b/ui/src/ui/views/channels.googlechat.ts @@ -46,15 +46,13 @@ export function renderGoogleChatCard(params: { lastError: googleChat?.lastError, secondaryCallout: googleChat?.probe ? html`
- Probe ${googleChat.probe.ok ? "ok" : "failed"} · - ${googleChat.probe.status ?? ""} ${googleChat.probe.error ?? ""} + Probe ${googleChat.probe.ok ? "ok" : "failed"} · ${googleChat.probe.status ?? ""} + ${googleChat.probe.error ?? ""}
` : nothing, configSection: renderChannelConfigSection({ channelId: "googlechat", props }), footer: html`
- +
`, }); } diff --git a/ui/src/ui/views/channels.imessage.ts b/ui/src/ui/views/channels.imessage.ts index cc823cc0f46..195b56db3c3 100644 --- a/ui/src/ui/views/channels.imessage.ts +++ b/ui/src/ui/views/channels.imessage.ts @@ -36,15 +36,12 @@ export function renderIMessageCard(params: { lastError: imessage?.lastError, secondaryCallout: imessage?.probe ? html`
- Probe ${imessage.probe.ok ? "ok" : "failed"} · - ${imessage.probe.error ?? ""} + Probe ${imessage.probe.ok ? "ok" : "failed"} · ${imessage.probe.error ?? ""}
` : nothing, configSection: renderChannelConfigSection({ channelId: "imessage", props }), footer: html`
- +
`, }); } diff --git a/ui/src/ui/views/channels.nostr-profile-form.ts b/ui/src/ui/views/channels.nostr-profile-form.ts index 098c059e334..ad44657d974 100644 --- a/ui/src/ui/views/channels.nostr-profile-form.ts +++ b/ui/src/ui/views/channels.nostr-profile-form.ts @@ -108,8 +108,16 @@ export function renderNostrProfileForm(params: { }} ?disabled=${state.saving} > - ${help ? html`
${help}
` : nothing} - ${error ? html`
${error}
` : nothing} + ${help + ? html`
+ ${help} +
` + : nothing} + ${error + ? html`
+ ${error} +
` + : nothing}
`; } @@ -132,8 +140,16 @@ export function renderNostrProfileForm(params: { }} ?disabled=${state.saving} /> - ${help ? html`
${help}
` : nothing} - ${error ? html`
${error}
` : nothing} + ${help + ? html`
+ ${help} +
` + : nothing} + ${error + ? html`
+ ${error} +
` + : nothing}
`; }; @@ -164,82 +180,75 @@ export function renderNostrProfileForm(params: { }; return html` -
-
+
+
Edit Profile
Account: ${accountId}
- ${ - state.error - ? html`
${state.error}
` - : nothing - } - - ${ - state.success - ? html`
${state.success}
` - : nothing - } - + ${state.error + ? html`
${state.error}
` + : nothing} + ${state.success + ? html`
${state.success}
` + : nothing} ${renderPicturePreview()} - ${renderField("name", "Username", { placeholder: "satoshi", maxLength: 256, help: "Short username (e.g., satoshi)", })} - ${renderField("displayName", "Display Name", { placeholder: "Satoshi Nakamoto", maxLength: 256, help: "Your full display name", })} - ${renderField("about", "Bio", { type: "textarea", placeholder: "Tell people about yourself...", maxLength: 2000, help: "A brief bio or description", })} - ${renderField("picture", "Avatar URL", { type: "url", placeholder: "https://example.com/avatar.jpg", help: "HTTPS URL to your profile picture", })} - - ${ - state.showAdvanced - ? html` -
-
Advanced
+ ${state.showAdvanced + ? html` +
+
+ Advanced +
${renderField("banner", "Banner URL", { type: "url", placeholder: "https://example.com/banner.jpg", help: "HTTPS URL to a banner image", })} - ${renderField("website", "Website", { type: "url", placeholder: "https://example.com", help: "Your personal website", })} - ${renderField("nip05", "NIP-05 Identifier", { placeholder: "you@example.com", help: "Verifiable identifier (e.g., you@domain.com)", })} - ${renderField("lud16", "Lightning Address", { placeholder: "you@getalby.com", help: "Lightning address for tips (LUD-16)", })}
` - : nothing - } + : nothing}
- +
- ${ - isDirty - ? html` -
- You have unsaved changes -
- ` - : nothing - } + ${isDirty + ? html` +
+ You have unsaved changes +
+ ` + : nothing}
`; } diff --git a/ui/src/ui/views/channels.nostr.ts b/ui/src/ui/views/channels.nostr.ts index 3229ab75b1e..b27ef106bbe 100644 --- a/ui/src/ui/views/channels.nostr.ts +++ b/ui/src/ui/views/channels.nostr.ts @@ -79,15 +79,15 @@ export function renderNostrCard(params: {
Last inbound - ${account.lastInboundAt ? formatRelativeTimestamp(account.lastInboundAt) : "n/a"} + ${account.lastInboundAt + ? formatRelativeTimestamp(account.lastInboundAt) + : "n/a"}
- ${ - account.lastError - ? html` - - ` - : nothing - } + ${account.lastError + ? html` ` + : nothing}
`; @@ -121,12 +121,15 @@ export function renderNostrCard(params: { const hasAnyProfileData = name || displayName || about || picture || nip05; return html` -
-
+
+
Profile
- ${ - summaryConfigured - ? html` + ${summaryConfigured + ? html`
- ${ - hasAnyProfileData - ? html` + ${hasAnyProfileData + ? html`
- ${ - picture - ? html` + ${picture + ? html`
` - : nothing - } - ${name ? html`
Name${name}
` : nothing} - ${ - displayName - ? html`
Display Name${displayName}
` - : nothing - } - ${ - about - ? html`
About${about}
` - : nothing - } - ${nip05 ? html`
NIP-05${nip05}
` : nothing} + : nothing} + ${name + ? html`
Name${name}
` + : nothing} + ${displayName + ? html`
+ Display Name${displayName} +
` + : nothing} + ${about + ? html`
+ About${about} +
` + : nothing} + ${nip05 + ? html`
NIP-05${nip05}
` + : nothing}
` - : html` -
- No profile set. Click "Edit Profile" to add your name, bio, and avatar. -
- ` - } + : html` +
+ No profile set. Click "Edit Profile" to add your name, bio, and avatar. +
+ `}
`; }; @@ -187,15 +192,13 @@ export function renderNostrCard(params: {
Nostr
Decentralized DMs via Nostr relays (NIP-04).
${accountCountLabel} - - ${ - hasMultipleAccounts - ? html` + ${hasMultipleAccounts + ? html` ` - : html` + : html`
Configured @@ -213,21 +216,16 @@ export function renderNostrCard(params: {
Last start - ${summaryLastStartAt ? formatRelativeTimestamp(summaryLastStartAt) : "n/a"} + ${summaryLastStartAt ? formatRelativeTimestamp(summaryLastStartAt) : "n/a"}
- ` - } - - ${ - summaryLastError - ? html`
${summaryLastError}
` - : nothing - } - - ${renderProfileSection()} - - ${renderChannelConfigSection({ channelId: "nostr", props })} + `} + ${summaryLastError + ? html`
${summaryLastError}
` + : nothing} + ${renderProfileSection()} ${renderChannelConfigSection({ channelId: "nostr", props })}
diff --git a/ui/src/ui/views/channels.shared.ts b/ui/src/ui/views/channels.shared.ts index 0d764ac4def..4e3daa30e16 100644 --- a/ui/src/ui/views/channels.shared.ts +++ b/ui/src/ui/views/channels.shared.ts @@ -120,18 +120,11 @@ export function renderSingleAccountChannelCard(params: { )}
- ${ - params.lastError - ? html`
- ${params.lastError} -
` - : nothing - } - - ${params.secondaryCallout ?? nothing} - ${params.extraContent ?? nothing} - ${params.configSection} - ${params.footer ?? nothing} + ${params.lastError + ? html`
${params.lastError}
` + : nothing} + ${params.secondaryCallout ?? nothing} ${params.extraContent ?? nothing} + ${params.configSection} ${params.footer ?? nothing}
`; } diff --git a/ui/src/ui/views/channels.signal.ts b/ui/src/ui/views/channels.signal.ts index d4e45a6bd6e..a336523a626 100644 --- a/ui/src/ui/views/channels.signal.ts +++ b/ui/src/ui/views/channels.signal.ts @@ -37,15 +37,13 @@ export function renderSignalCard(params: { lastError: signal?.lastError, secondaryCallout: signal?.probe ? html`
- Probe ${signal.probe.ok ? "ok" : "failed"} · - ${signal.probe.status ?? ""} ${signal.probe.error ?? ""} + Probe ${signal.probe.ok ? "ok" : "failed"} · ${signal.probe.status ?? ""} + ${signal.probe.error ?? ""}
` : nothing, configSection: renderChannelConfigSection({ channelId: "signal", props }), footer: html`
- +
`, }); } diff --git a/ui/src/ui/views/channels.slack.ts b/ui/src/ui/views/channels.slack.ts index a7d313224c4..c2ecdf4d18c 100644 --- a/ui/src/ui/views/channels.slack.ts +++ b/ui/src/ui/views/channels.slack.ts @@ -36,15 +36,13 @@ export function renderSlackCard(params: { lastError: slack?.lastError, secondaryCallout: slack?.probe ? html`
- Probe ${slack.probe.ok ? "ok" : "failed"} · - ${slack.probe.status ?? ""} ${slack.probe.error ?? ""} + Probe ${slack.probe.ok ? "ok" : "failed"} · ${slack.probe.status ?? ""} + ${slack.probe.error ?? ""}
` : nothing, configSection: renderChannelConfigSection({ channelId: "slack", props }), footer: html`
- +
`, }); } diff --git a/ui/src/ui/views/channels.telegram.ts b/ui/src/ui/views/channels.telegram.ts index 00cbe18cf82..0b535fe7b2a 100644 --- a/ui/src/ui/views/channels.telegram.ts +++ b/ui/src/ui/views/channels.telegram.ts @@ -26,9 +26,7 @@ export function renderTelegramCard(params: { return html`
`; @@ -69,29 +65,19 @@ export function renderTelegramCard(params: { ${telegramAccounts.map((account) => renderAccountCard(account))}
- ${ - telegram?.lastError - ? html`
- ${telegram.lastError} + ${telegram?.lastError + ? html`
${telegram.lastError}
` + : nothing} + ${telegram?.probe + ? html`
+ Probe ${telegram.probe.ok ? "ok" : "failed"} · ${telegram.probe.status ?? ""} + ${telegram.probe.error ?? ""}
` - : nothing - } - - ${ - telegram?.probe - ? html`
- Probe ${telegram.probe.ok ? "ok" : "failed"} · - ${telegram.probe.status ?? ""} ${telegram.probe.error ?? ""} -
` - : nothing - } - + : nothing} ${renderChannelConfigSection({ channelId: "telegram", props })}
- +
`; @@ -117,15 +103,13 @@ export function renderTelegramCard(params: { lastError: telegram?.lastError, secondaryCallout: telegram?.probe ? html`
- Probe ${telegram.probe.ok ? "ok" : "failed"} · - ${telegram.probe.status ?? ""} ${telegram.probe.error ?? ""} + Probe ${telegram.probe.ok ? "ok" : "failed"} · ${telegram.probe.status ?? ""} + ${telegram.probe.error ?? ""}
` : nothing, configSection: renderChannelConfigSection({ channelId: "telegram", props }), footer: html`
- +
`, }); } diff --git a/ui/src/ui/views/channels.ts b/ui/src/ui/views/channels.ts index f45bc9e9486..e21c3f7f665 100644 --- a/ui/src/ui/views/channels.ts +++ b/ui/src/ui/views/channels.ts @@ -78,18 +78,17 @@ export function renderChannels(props: ChannelsProps) {
Channel health
Channel status snapshots from the gateway.
-
${props.lastSuccessAt ? formatRelativeTimestamp(props.lastSuccessAt) : "n/a"}
+
+ ${props.lastSuccessAt ? formatRelativeTimestamp(props.lastSuccessAt) : "n/a"} +
- ${ - props.lastError - ? html`
- ${props.lastError} -
` - : nothing - } + ${props.lastError + ? html`
${props.lastError}
` + : nothing}
 ${props.snapshot ? JSON.stringify(props.snapshot, null, 2) : "No snapshot yet."}
-      
+ `; } @@ -199,15 +198,13 @@ function renderGenericChannelCard(
${label}
Channel status and configuration.
${accountCountLabel} - - ${ - accounts.length > 0 - ? html` + ${accounts.length > 0 + ? html` ` - : html` + : html`
Configured @@ -222,17 +219,10 @@ function renderGenericChannelCard( ${formatNullableBoolean(displayState.connected)}
- ` - } - - ${ - lastError - ? html`
- ${lastError} -
` - : nothing - } - + `} + ${lastError + ? html`
${lastError}
` + : nothing} ${renderChannelConfigSection({ channelId: key, props })}
`; @@ -311,17 +301,13 @@ function renderGenericAccount(account: ChannelAccountSnapshot) {
Last inbound - ${account.lastInboundAt ? formatRelativeTimestamp(account.lastInboundAt) : "n/a"} + ${account.lastInboundAt ? formatRelativeTimestamp(account.lastInboundAt) : "n/a"}
- ${ - account.lastError - ? html` - - ` - : nothing - } + ${account.lastError + ? html` ` + : nothing} `; diff --git a/ui/src/ui/views/channels.whatsapp.ts b/ui/src/ui/views/channels.whatsapp.ts index 06c2b4d8484..2ecdfb42986 100644 --- a/ui/src/ui/views/channels.whatsapp.ts +++ b/ui/src/ui/views/channels.whatsapp.ts @@ -43,21 +43,14 @@ export function renderWhatsAppCard(params: { ], lastError: whatsapp?.lastError, extraContent: html` - ${ - props.whatsappMessage - ? html`
- ${props.whatsappMessage} -
` - : nothing - } - - ${ - props.whatsappQrDataUrl - ? html`
- WhatsApp QR -
` - : nothing - } + ${props.whatsappMessage + ? html`
${props.whatsappMessage}
` + : nothing} + ${props.whatsappQrDataUrl + ? html`
+ WhatsApp QR +
` + : nothing} `, configSection: renderChannelConfigSection({ channelId: "whatsapp", props }), footer: html`
@@ -75,11 +68,7 @@ export function renderWhatsAppCard(params: { > Relink - - +
`, }); } diff --git a/ui/src/ui/views/chat.ts b/ui/src/ui/views/chat.ts index bdb4e29a4f9..a221e857658 100644 --- a/ui/src/ui/views/chat.ts +++ b/ui/src/ui/views/chat.ts @@ -195,7 +195,11 @@ function renderCompactionIndicator(status: CompactionIndicatorStatus | null | un } if (status.active) { return html` -
+
${icons.loader} Compacting context...
`; @@ -204,7 +208,11 @@ function renderCompactionIndicator(status: CompactionIndicatorStatus | null | un const elapsed = Date.now() - status.completedAt; if (elapsed < COMPACTION_TOAST_DURATION_MS) { return html` -
+
${icons.check} Context compacted
`; @@ -314,9 +322,25 @@ function renderContextNotice( const bg = `rgba(${r}, ${g}, ${b}, ${bgOpacity})`; return html`
- + + + + + ${pct}% context used - ${formatTokensCompact(used)} / ${formatTokensCompact(limit)} + ${formatTokensCompact(used)} / ${formatTokensCompact(limit)}
`; } @@ -451,7 +475,9 @@ function renderAttachmentPreview(props: ChatProps): TemplateResult | typeof noth const next = (props.attachments ?? []).filter((a) => a.id !== att.id); props.onAttachmentsChange?.(next); }} - >× + > + × +
`, )} @@ -616,18 +642,20 @@ function renderWelcomeState(props: ChatProps): TemplateResult { return html`
- ${ - avatar - ? html`${name}` - : html`` - } + ${avatar + ? html`${name}` + : html``}

${name}

Ready to chat
-

- Type a message below · / for commands -

+

Type a message below · / for commands

${WELCOME_SUGGESTIONS.map( (text) => html` @@ -638,7 +666,9 @@ function renderWelcomeState(props: ChatProps): TemplateResult { props.onDraftChange(text); props.onSend(); }} - >${text} + > + ${text} + `, )}
@@ -663,11 +693,15 @@ function renderSearchBar(requestUpdate: () => void): TemplateResult | typeof not requestUpdate(); }} /> -
@@ -695,36 +729,46 @@ function renderPinnedSection( } return html`
- - ${ - vs.pinnedExpanded - ? html` + ${vs.pinnedExpanded + ? html`
${entries.map( ({ index, text, role }) => html` -
- ${role === "user" ? "You" : "Assistant"} - ${text.slice(0, 100)}${text.length > 100 ? "..." : ""} - -
- `, +
+ ${role === "user" ? "You" : "Assistant"} + ${text.slice(0, 100)}${text.length > 100 ? "..." : ""} + +
+ `, )}
` - : nothing - } + : nothing}
`; } @@ -742,7 +786,9 @@ function renderSlashMenu( return html`
-
/${vs.slashMenuCommand.name} ${vs.slashMenuCommand.description}
+
+ /${vs.slashMenuCommand.name} ${vs.slashMenuCommand.description} +
${vs.slashMenuArgItems.map( (arg, i) => html`
- ${vs.slashMenuCommand?.icon ? html`${icons[vs.slashMenuCommand.icon]}` : nothing} + ${vs.slashMenuCommand?.icon + ? html`${icons[vs.slashMenuCommand.icon]}` + : nothing} ${arg} /${vs.slashMenuCommand?.name} ${arg}
@@ -763,10 +811,7 @@ function renderSlashMenu( )}
`; @@ -800,7 +845,9 @@ function renderSlashMenu( ${entries.map( ({ cmd, globalIdx }) => html`
selectSlashCommand(cmd, props, requestUpdate)} @@ -813,15 +860,11 @@ function renderSlashMenu( /${cmd.name} ${cmd.args ? html`${cmd.args}` : nothing} ${cmd.description} - ${ - cmd.argOptions?.length - ? html`${cmd.argOptions.length} options` - : cmd.executeLocal && !cmd.args - ? html` - instant - ` - : nothing - } + ${cmd.argOptions?.length + ? html`${cmd.argOptions.length} options` + : cmd.executeLocal && !cmd.args + ? html` instant ` + : nothing}
`, )} @@ -833,10 +876,7 @@ function renderSlashMenu(
${sections}
`; @@ -904,15 +944,20 @@ export function renderChat(props: ChatProps) { @click=${handleCodeBlockCopy} >
- ${ - props.loading + ${props.loading ? html`
-
-
+
+
@@ -927,70 +972,68 @@ export function renderChat(props: ChatProps) {
-
+
` - : nothing - } - ${isEmpty && !vs.searchOpen ? renderWelcomeState(props) : nothing} - ${ - isEmpty && vs.searchOpen - ? html` -
No matching messages
- ` - : nothing - } - ${repeat( - chatItems, - (item) => item.key, - (item) => { - if (item.kind === "divider") { - return html` - - `; - } - if (item.kind === "reading-indicator") { - return renderReadingIndicatorGroup(assistantIdentity, props.basePath); - } - if (item.kind === "stream") { - return renderStreamingGroup( - item.text, - item.startedAt, - props.onOpenSidebar, - assistantIdentity, - props.basePath, - ); - } - if (item.kind === "group") { - if (deleted.has(item.key)) { - return nothing; + : nothing} + ${isEmpty && !vs.searchOpen ? renderWelcomeState(props) : nothing} + ${isEmpty && vs.searchOpen + ? html`
No matching messages
` + : nothing} + ${repeat( + chatItems, + (item) => item.key, + (item) => { + if (item.kind === "divider") { + return html` + + `; } - return renderMessageGroup(item, { - onOpenSidebar: props.onOpenSidebar, - showReasoning, - showToolCalls: props.showToolCalls, - assistantName: props.assistantName, - assistantAvatar: assistantIdentity.avatar, - basePath: props.basePath, - contextWindow: - activeSession?.contextTokens ?? props.sessions?.defaults?.contextTokens ?? null, - onDelete: () => { - deleted.delete(item.key); - requestUpdate(); - }, - }); - } - return nothing; - }, - )} + if (item.kind === "reading-indicator") { + return renderReadingIndicatorGroup(assistantIdentity, props.basePath); + } + if (item.kind === "stream") { + return renderStreamingGroup( + item.text, + item.startedAt, + props.onOpenSidebar, + assistantIdentity, + props.basePath, + ); + } + if (item.kind === "group") { + if (deleted.has(item.key)) { + return nothing; + } + return renderMessageGroup(item, { + onOpenSidebar: props.onOpenSidebar, + showReasoning, + showToolCalls: props.showToolCalls, + assistantName: props.assistantName, + assistantAvatar: assistantIdentity.avatar, + basePath: props.basePath, + contextWindow: + activeSession?.contextTokens ?? props.sessions?.defaults?.contextTokens ?? null, + onDelete: () => { + deleted.delete(item.key); + requestUpdate(); + }, + }); + } + return nothing; + }, + )}
`; @@ -1121,10 +1164,8 @@ export function renderChat(props: ChatProps) { > ${props.disabledReason ? html`
${props.disabledReason}
` : nothing} ${props.error ? html`
${props.error}
` : nothing} - - ${ - props.focusMode - ? html` + ${props.focusMode + ? html`
` - : nothing - } - + : nothing} ${renderFallbackIndicator(props.fallbackStatus)} ${renderCompactionIndicator(props.compactionStatus)} ${renderContextNotice(activeSession, props.sessions?.defaults?.contextTokens ?? null)} - - ${ - props.showNewMessages - ? html` - ` - : nothing - } + : nothing}
- ${renderSlashMenu(requestUpdate, props)} - ${renderAttachmentPreview(props)} + ${renderSlashMenu(requestUpdate, props)} ${renderAttachmentPreview(props)} handleFileSelect(e, props)} /> - ${vs.sttRecording && vs.sttInterimText ? html`
${vs.sttInterimText}
` : nothing} + ${vs.sttRecording && vs.sttInterimText + ? html`
${vs.sttInterimText}
` + : nothing} - ${renderSensitiveToggleButton({ + const next = { ...value }; + if (nextKey in next) { + return; + } + next[nextKey] = next[key]; + delete next[key]; + onPatch(path, next); + }} + /> +
+ + +
+ ${anySchema + ? html` +
+ + ${renderSensitiveToggleButton({ + path: valuePath, + state: sensitiveState, + disabled, + onToggleSensitivePath, + })} +
+ ` + : renderNode({ + schema, + value: entryValue, path: valuePath, - state: sensitiveState, + hints, + unsupported, disabled, + searchCriteria, + showLabel: false, + revealSensitive, + isSensitivePathRevealed, onToggleSensitivePath, + onPatch, })} -
- ` - : renderNode({ - schema, - value: entryValue, - path: valuePath, - hints, - unsupported, - disabled, - searchCriteria, - showLabel: false, - revealSensitive, - isSensitivePathRevealed, - onToggleSensitivePath, - onPatch, - }) - } - - - `; - })} - - ` - } + + + `; + })} + + `} `; } diff --git a/ui/src/ui/views/config-form.render.ts b/ui/src/ui/views/config-form.render.ts index d8c41b39904..a596fb922a7 100644 --- a/ui/src/ui/views/config-form.render.ts +++ b/ui/src/ui/views/config-form.render.ts @@ -360,16 +360,12 @@ function matchesSearch(params: { export function renderConfigForm(props: ConfigFormProps) { if (!props.schema) { - return html` -
Schema unavailable.
- `; + return html`
Schema unavailable.
`; } const schema = props.schema; const value = props.value ?? {}; if (schemaType(schema) !== "object" || !schema.properties) { - return html` -
Unsupported schema. Use Raw.
- `; + return html`
Unsupported schema. Use Raw.
`; } const unsupported = new Set(props.unsupportedPaths ?? []); const properties = schema.properties; @@ -449,11 +445,9 @@ export function renderConfigForm(props: ConfigFormProps) { ${getSectionIcon(params.sectionKey)}

${params.label}

- ${ - params.description - ? html`

${params.description}

` - : nothing - } + ${params.description + ? html`

${params.description}

` + : nothing}
@@ -477,45 +471,43 @@ export function renderConfigForm(props: ConfigFormProps) { return html`
- ${ - subsectionContext - ? (() => { - const { sectionKey, subsectionKey, schema: node } = subsectionContext; - const hint = hintForPath([sectionKey, subsectionKey], props.uiHints); - const label = hint?.label ?? node.title ?? humanize(subsectionKey); - const description = hint?.help ?? node.description ?? ""; - const sectionValue = value[sectionKey]; - const scopedValue = - sectionValue && typeof sectionValue === "object" - ? (sectionValue as Record)[subsectionKey] - : undefined; - return renderSectionCard({ - id: `config-section-${sectionKey}-${subsectionKey}`, - sectionKey, - label, - description, - node, - nodeValue: scopedValue, - path: [sectionKey, subsectionKey], - }); - })() - : filteredEntries.map(([key, node]) => { - const meta = SECTION_META[key] ?? { - label: key.charAt(0).toUpperCase() + key.slice(1), - description: node.description ?? "", - }; + ${subsectionContext + ? (() => { + const { sectionKey, subsectionKey, schema: node } = subsectionContext; + const hint = hintForPath([sectionKey, subsectionKey], props.uiHints); + const label = hint?.label ?? node.title ?? humanize(subsectionKey); + const description = hint?.help ?? node.description ?? ""; + const sectionValue = value[sectionKey]; + const scopedValue = + sectionValue && typeof sectionValue === "object" + ? (sectionValue as Record)[subsectionKey] + : undefined; + return renderSectionCard({ + id: `config-section-${sectionKey}-${subsectionKey}`, + sectionKey, + label, + description, + node, + nodeValue: scopedValue, + path: [sectionKey, subsectionKey], + }); + })() + : filteredEntries.map(([key, node]) => { + const meta = SECTION_META[key] ?? { + label: key.charAt(0).toUpperCase() + key.slice(1), + description: node.description ?? "", + }; - return renderSectionCard({ - id: `config-section-${key}`, - sectionKey: key, - label: meta.label, - description: meta.description, - node, - nodeValue: value[key], - path: [key], - }); - }) - } + return renderSectionCard({ + id: `config-section-${key}`, + sectionKey: key, + label: meta.label, + description: meta.description, + node, + nodeValue: value[key], + path: [key], + }); + })}
`; } diff --git a/ui/src/ui/views/config.ts b/ui/src/ui/views/config.ts index a390e2e4eb8..c070fcaea63 100644 --- a/ui/src/ui/views/config.ts +++ b/ui/src/ui/views/config.ts @@ -578,7 +578,9 @@ function renderAppearanceSection(props: ConfigProps) { ${THEME_OPTIONS.map( (opt) => html` `, )} @@ -636,20 +638,20 @@ function renderAppearanceSection(props: ConfigProps) {
Status - + ${props.connected ? "Connected" : "Offline"}
- ${ - props.assistantName - ? html` + ${props.assistantName + ? html`
Assistant ${props.assistantName}
` - : nothing - } + : nothing}
@@ -784,132 +786,102 @@ export function renderConfig(props: ConfigProps) {
- ${ - showModeToggle - ? html` -
- - -
- ` - : nothing - } - ${ - hasChanges - ? html` - ${ - formMode === "raw" - ? "Unsaved changes" - : `${diff.length} unsaved change${diff.length !== 1 ? "s" : ""}` - } - ` - : html` - No changes - ` - } + ${showModeToggle + ? html` +
+ + +
+ ` + : nothing} + ${hasChanges + ? html` + ${formMode === "raw" + ? "Unsaved changes" + : `${diff.length} unsaved change${diff.length !== 1 ? "s" : ""}`} + ` + : html` No changes `}
- ${ - props.onOpenFile - ? html` - - ` - : nothing - } - + ` + : nothing} + - - -
- ${ - formMode === "form" - ? html` - - ${ - validity === "invalid" && !cvs.validityDismissed - ? html` + ${validity === "invalid" && !cvs.validityDismissed + ? html`
- - + + - Your configuration is invalid. Some settings may not work as expected. + Your configuration is invalid. Some settings may not work as expected. + > + Don't remind again +
` - : nothing - } + : nothing} - ${ - hasChanges && formMode === "form" - ? html` + ${hasChanges && formMode === "form" + ? html`
- View ${diff.length} pending - change${diff.length !== 1 ? "s" : ""} + View ${diff.length} pending change${diff.length !== 1 ? "s" : ""}
` - : nothing - } - ${ - activeSectionMeta && formMode === "form" - ? html` -
-
- ${getSectionIcon(props.activeSection ?? "")} + : nothing} + ${activeSectionMeta && formMode === "form" + ? html` +
+
+ ${getSectionIcon(props.activeSection ?? "")}
-
- ${activeSectionMeta.label} -
- ${ - activeSectionMeta.description - ? html`
+
${activeSectionMeta.label}
+ ${activeSectionMeta.description + ? html`
${activeSectionMeta.description}
` - : nothing - } + : nothing}
- ${ - props.activeSection === "env" - ? html` + ${props.activeSection === "env" + ? html` ` - : nothing - } + : nothing}
` - : nothing - } + : nothing}
- ${ - props.activeSection === "__appearance__" - ? includeVirtualSections - ? renderAppearanceSection(props) - : nothing - : formMode === "form" - ? html` - ${showAppearanceOnRoot ? renderAppearanceSection(props) : nothing} - ${ - props.schemaLoading + ${props.activeSection === "__appearance__" + ? includeVirtualSections + ? renderAppearanceSection(props) + : nothing + : formMode === "form" + ? html` + ${showAppearanceOnRoot ? renderAppearanceSection(props) : nothing} + ${props.schemaLoading ? html`
@@ -1071,39 +1052,38 @@ export function renderConfig(props: ConfigProps) { toggleSensitivePathReveal(path); requestUpdate(); }, - }) - } - ` - : (() => { - const sensitiveCount = countSensitiveConfigValues( - props.formValue, - [], - props.uiHints, - ); - const blurred = sensitiveCount > 0 && !cvs.rawRevealed; - return html` - ${ - formUnsafe - ? html` -
- Your config contains fields the form editor can't safely represent. Use Raw mode to edit those - entries. -
- ` - : nothing - } + })} + ` + : (() => { + const sensitiveCount = countSensitiveConfigValues( + props.formValue, + [], + props.uiHints, + ); + const blurred = sensitiveCount > 0 && !cvs.rawRevealed; + return html` + ${formUnsafe + ? html` +
+ Your config contains fields the form editor can't safely represent. Use + Raw mode to edit those entries. +
+ ` + : nothing}
Raw config (JSON/JSON5) - ${ - sensitiveCount > 0 - ? html` - ${sensitiveCount} secret${sensitiveCount === 1 ? "" : "s"} ${blurred ? "redacted" : "visible"} + ${sensitiveCount > 0 + ? html` + ${sensitiveCount} secret${sensitiveCount === 1 ? "" : "s"} + ${blurred ? "redacted" : "visible"} ` - : nothing - } + : nothing} - ${ - blurred - ? html` -
- ${sensitiveCount} sensitive value${sensitiveCount === 1 ? "" : "s"} hidden. Use the - reveal button above to edit the raw config. -
- ` - : html` - - ` - } + ${blurred + ? html` +
+ ${sensitiveCount} sensitive value${sensitiveCount === 1 ? "" : "s"} + hidden. Use the reveal button above to edit the raw config. +
+ ` + : html` + + `}
`; - })() - } + })()}
- ${ - props.issues.length > 0 - ? html`
-
-${JSON.stringify(props.issues, null, 2)}
+ ${props.issues.length > 0 + ? html`
+
${JSON.stringify(props.issues, null, 2)}
` - : nothing - } + : nothing}
`; diff --git a/ui/src/ui/views/cron.ts b/ui/src/ui/views/cron.ts index e87879d0321..3d19cdb6d64 100644 --- a/ui/src/ui/views/cron.ts +++ b/ui/src/ui/views/cron.ts @@ -194,7 +194,9 @@ function renderRunFilterDropdown(params: { )}
- +
@@ -339,14 +341,12 @@ function focusFormField(id: string) { function renderFieldLabel(text: string, required = false) { return html` ${text} - ${ - required - ? html` - - ${t("cron.form.requiredSr")} - ` - : nothing - } + ${required + ? html` + + ${t("cron.form.requiredSr")} + ` + : nothing} `; } @@ -400,13 +400,11 @@ export function renderCron(props: CronProps) {
${t("cron.summary.enabled")}
- ${ - props.status - ? props.status.enabled - ? t("cron.summary.yes") - : t("cron.summary.no") - : t("common.na") - } + ${props.status + ? props.status.enabled + ? t("cron.summary.yes") + : t("cron.summary.no") + : t("common.na")}
@@ -430,15 +428,20 @@ export function renderCron(props: CronProps) {
-
+
${t("cron.jobs.title")}
${t("cron.jobs.subtitle")}
-
${t("cron.jobs.shownOf", { - shown: String(props.jobs.length), - total: String(props.jobsTotal), - })}
+
+ ${t("cron.jobs.shownOf", { + shown: String(props.jobs.length), + total: String(props.jobsTotal), + })} +
- ${ - props.jobs.length === 0 - ? html` -
${t("cron.jobs.noMatching")}
- ` - : html` -
- ${props.jobs.map((job) => renderJob(job, props))} -
- ` - } - ${ - props.jobsHasMore - ? html` -
- -
- ` - : nothing - } + ${props.jobs.length === 0 + ? html`
${t("cron.jobs.noMatching")}
` + : html` +
+ ${props.jobs.map((job) => renderJob(job, props))} +
+ `} + ${props.jobsHasMore + ? html` +
+ +
+ ` + : nothing}
-
+
${t("cron.runs.title")}
- ${ - props.runsScope === "all" - ? t("cron.runs.subtitleAll") - : t("cron.runs.subtitleJob", { title: selectedRunTitle }) - } + ${props.runsScope === "all" + ? t("cron.runs.subtitleAll") + : t("cron.runs.subtitleJob", { title: selectedRunTitle })}
-
${t("cron.jobs.shownOf", { - shown: String(runs.length), - total: String(props.runsTotal), - })}
+
+ ${t("cron.jobs.shownOf", { + shown: String(runs.length), + total: String(props.runsTotal), + })} +
@@ -597,7 +597,9 @@ export function renderCron(props: CronProps) { })} > - +
- ${ - props.runsScope === "job" && props.runsJobId == null + ${props.runsScope === "job" && props.runsJobId == null + ? html` +
${t("cron.runs.selectJobHint")}
+ ` + : runs.length === 0 ? html` -
${t("cron.runs.selectJobHint")}
+
${t("cron.runs.noMatching")}
` - : runs.length === 0 - ? html` -
${t("cron.runs.noMatching")}
- ` - : html` -
- ${runs.map((entry) => renderRun(entry, props.basePath, props.onNavigateToChat))} -
- ` - } - ${ - (props.runsScope === "all" || props.runsJobId != null) && props.runsHasMore - ? html` -
- + : html` +
+ ${runs.map((entry) => renderRun(entry, props.basePath, props.onNavigateToChat))}
- ` - : nothing - } + `} + ${(props.runsScope === "all" || props.runsJobId != null) && props.runsHasMore + ? html` +
+ +
+ ` + : nothing}
@@ -704,7 +702,9 @@ export function renderCron(props: CronProps) {
- ${t("cron.form.required")} + ${t( + "cron.form.required", + )}
${t("cron.form.basics")}
@@ -833,42 +833,38 @@ export function renderCron(props: CronProps) {
- ${ - props.form.payloadKind === "systemEvent" - ? t("cron.form.systemEventHelp") - : t("cron.form.agentTurnHelp") - } + ${props.form.payloadKind === "systemEvent" + ? t("cron.form.systemEventHelp") + : t("cron.form.agentTurnHelp")}
- ${ - isAgentTurn - ? html` -
- ${ - selectedDeliveryMode !== "none" - ? html` - - ${ - selectedDeliveryMode === "announce" - ? html` - - ` - : nothing - } - ${ + ${selectedDeliveryMode !== "none" + ? html` + + ${selectedDeliveryMode === "announce" + ? html` + + ` + : nothing} + ${selectedDeliveryMode === "webhook" + ? renderFieldError( + props.fieldErrors.deliveryTo, + errorIdForField("deliveryTo"), + ) + : nothing} + ` + : nothing}
@@ -1052,331 +1030,324 @@ export function renderCron(props: CronProps) { })} placeholder="agent:main:main" /> -
- Optional routing key for job delivery and wake routing. -
+
Optional routing key for job delivery and wake routing.
- ${ - isCronSchedule - ? html` - - - ${ - state.lastError - ? html`
-
${state.lastError}
-
` - : "" - } + ${state.lastError + ? html`
+
${state.lastError}
+
` + : ""} diff --git a/ui/src/ui/views/logs.ts b/ui/src/ui/views/logs.ts index c119c413c78..6a18e70f300 100644 --- a/ui/src/ui/views/logs.ts +++ b/ui/src/ui/views/logs.ts @@ -114,32 +114,25 @@ export function renderLogs(props: LogsProps) { )} - ${ - props.file - ? html`
File: ${props.file}
` - : nothing - } - ${ - props.truncated - ? html` -
Log output truncated; showing latest chunk.
- ` - : nothing - } - ${ - props.error - ? html`
${props.error}
` - : nothing - } + ${props.file + ? html`
File: ${props.file}
` + : nothing} + ${props.truncated + ? html` +
+ Log output truncated; showing latest chunk. +
+ ` + : nothing} + ${props.error + ? html`
${props.error}
` + : nothing}
- ${ - filtered.length === 0 - ? html` -
No log entries.
- ` - : filtered.map( - (entry) => html` + ${filtered.length === 0 + ? html`
No log entries.
` + : filtered.map( + (entry) => html`
${formatTime(entry.time)}
${entry.level ?? ""}
@@ -147,8 +140,7 @@ export function renderLogs(props: LogsProps) {
${entry.message ?? entry.raw}
`, - ) - } + )}
`; diff --git a/ui/src/ui/views/markdown-sidebar.ts b/ui/src/ui/views/markdown-sidebar.ts index 006bd6ac44b..ee675e0d726 100644 --- a/ui/src/ui/views/markdown-sidebar.ts +++ b/ui/src/ui/views/markdown-sidebar.ts @@ -15,25 +15,21 @@ export function renderMarkdownSidebar(props: MarkdownSidebarProps) { `; diff --git a/ui/src/ui/views/nodes-exec-approvals.ts b/ui/src/ui/views/nodes-exec-approvals.ts index da66c041b4f..a9df1cff2de 100644 --- a/ui/src/ui/views/nodes-exec-approvals.ts +++ b/ui/src/ui/views/nodes-exec-approvals.ts @@ -211,25 +211,19 @@ export function renderExecApprovals(state: ExecApprovalsState) { ${renderExecApprovalsTarget(state)} - - ${ - !ready - ? html`
+ ${!ready + ? html`
Load exec approvals to edit allowlists.
` - : html` - ${renderExecApprovalsTabs(state)} - ${renderExecApprovalsPolicy(state)} - ${ - state.selectedScope === EXEC_APPROVALS_DEFAULT_SCOPE - ? nothing - : renderExecApprovalsAllowlist(state) - } - ` - } + : html` + ${renderExecApprovalsTabs(state)} ${renderExecApprovalsPolicy(state)} + ${state.selectedScope === EXEC_APPROVALS_DEFAULT_SCOPE + ? nothing + : renderExecApprovalsAllowlist(state)} + `} `; } @@ -242,9 +236,7 @@ function renderExecApprovalsTarget(state: ExecApprovalsState) {
Target
-
- Gateway edits local approvals; node edits the selected node. -
+
Gateway edits local approvals; node edits the selected node.
- ${ - state.target === "node" - ? html` + ${state.target === "node" + ? html` ` - : nothing - } + : nothing}
- ${ - state.target === "node" && !hasNodes - ? html` -
No nodes advertise exec approvals yet.
- ` - : nothing - } + ${state.target === "node" && !hasNodes + ? html`
No nodes advertise exec approvals yet.
` + : nothing}
`; } @@ -313,7 +296,9 @@ function renderExecApprovalsTabs(state: ExecApprovalsState) { Scope
` - : nothing - } + : nothing}
@@ -549,13 +513,9 @@ function renderExecApprovalsAllowlist(state: ExecApprovalsState) {
- ${ - entries.length === 0 - ? html` -
No allowlist entries yet.
- ` - : entries.map((entry, index) => renderAllowlistEntry(state, entry, index)) - } + ${entries.length === 0 + ? html`
No allowlist entries yet.
` + : entries.map((entry, index) => renderAllowlistEntry(state, entry, index))}
`; } diff --git a/ui/src/ui/views/nodes.ts b/ui/src/ui/views/nodes.ts index ad3b30e7531..96798cd5678 100644 --- a/ui/src/ui/views/nodes.ts +++ b/ui/src/ui/views/nodes.ts @@ -50,9 +50,7 @@ export function renderNodes(props: NodesProps) { const bindingState = resolveBindingsState(props); const approvalsState = resolveExecApprovalsState(props); return html` - ${renderExecApprovals(approvalsState)} - ${renderBindings(bindingState)} - ${renderDevices(props)} + ${renderExecApprovals(approvalsState)} ${renderBindings(bindingState)} ${renderDevices(props)}
@@ -64,13 +62,9 @@ export function renderNodes(props: NodesProps) {
- ${ - props.nodes.length === 0 - ? html` -
No nodes found.
- ` - : props.nodes.map((n) => renderNode(n)) - } + ${props.nodes.length === 0 + ? html`
No nodes found.
` + : props.nodes.map((n) => renderNode(n))}
`; @@ -91,35 +85,25 @@ function renderDevices(props: NodesProps) { ${props.devicesLoading ? "Loading…" : "Refresh"} - ${ - props.devicesError - ? html`
${props.devicesError}
` - : nothing - } + ${props.devicesError + ? html`
${props.devicesError}
` + : nothing}
- ${ - pending.length > 0 - ? html` + ${pending.length > 0 + ? html`
Pending
${pending.map((req) => renderPendingDevice(req, props))} ` - : nothing - } - ${ - paired.length > 0 - ? html` + : nothing} + ${paired.length > 0 + ? html`
Paired
${paired.map((device) => renderPairedDevice(device, props))} ` - : nothing - } - ${ - pending.length === 0 && paired.length === 0 - ? html` -
No paired devices.
- ` - : nothing - } + : nothing} + ${pending.length === 0 && paired.length === 0 + ? html`
No paired devices.
` + : nothing}
`; @@ -167,18 +151,14 @@ function renderPairedDevice(device: PairedDevice, props: NodesProps) {
${name}
${device.deviceId}${ip}
${roles} · ${scopes}
- ${ - tokens.length === 0 - ? html` -
Tokens: none
- ` - : html` + ${tokens.length === 0 + ? html`
Tokens: none
` + : html`
Tokens
${tokens.map((token) => renderTokenRow(device.deviceId, token, props))}
- ` - } + `} `; @@ -200,18 +180,16 @@ function renderTokenRow(deviceId: string, token: DeviceTokenSummary, props: Node > Rotate - ${ - token.revokedAtMs - ? nothing - : html` + ${token.revokedAtMs + ? nothing + : html` - ` - } + `} `; @@ -287,25 +265,21 @@ function renderBindings(state: BindingState) { - ${ - state.formMode === "raw" - ? html` -
- Switch the Config tab to Form mode to edit bindings here. -
- ` - : nothing - } - - ${ - !state.ready - ? html`
+ ${state.formMode === "raw" + ? html` +
+ Switch the Config tab to Form mode to edit bindings here. +
+ ` + : nothing} + ${!state.ready + ? html`
Load config to edit bindings.
` - : html` + : html`
@@ -326,35 +300,23 @@ function renderBindings(state: BindingState) { ${state.nodes.map( (node) => - html``, )} - ${ - !supportsBinding - ? html` -
No nodes with system.run available.
- ` - : nothing - } + ${!supportsBinding + ? html`
No nodes with system.run available.
` + : nothing}
- ${ - state.agents.length === 0 - ? html` -
No agents found.
- ` - : state.agents.map((agent) => renderAgentBinding(agent, state)) - } + ${state.agents.length === 0 + ? html`
No agents found.
` + : state.agents.map((agent) => renderAgentBinding(agent, state))}
- ` - } + `} `; } @@ -369,11 +331,9 @@ function renderAgentBinding(agent: BindingAgent, state: BindingState) {
${label}
${agent.isDefault ? "default agent" : "agent"} · - ${ - bindingValue === "__default__" - ? `uses default (${state.defaultBinding ?? "any"})` - : `override: ${agent.binding}` - } + ${bindingValue === "__default__" + ? `uses default (${state.defaultBinding ?? "any"})` + : `override: ${agent.binding}`}
@@ -392,10 +352,7 @@ function renderAgentBinding(agent: BindingAgent, state: BindingState) { ${state.nodes.map( (node) => - html``, )} diff --git a/ui/src/ui/views/overview-attention.ts b/ui/src/ui/views/overview-attention.ts index 8e09ce1c19f..8a62cb2612e 100644 --- a/ui/src/ui/views/overview-attention.ts +++ b/ui/src/ui/views/overview-attention.ts @@ -42,16 +42,15 @@ export function renderOverviewAttention(props: OverviewAttentionProps) {
${item.title}
${item.description}
- ${ - item.href - ? html`${t("common.docs")}` - : nothing - } + >${t("common.docs")}` + : nothing} `, )} diff --git a/ui/src/ui/views/overview-cards.ts b/ui/src/ui/views/overview-cards.ts index 61e98e94781..65c09800777 100644 --- a/ui/src/ui/views/overview-cards.ts +++ b/ui/src/ui/views/overview-cards.ts @@ -134,29 +134,29 @@ export function renderOverviewCards(props: OverviewCardsProps) { const sessions = props.sessionsResult?.sessions.slice(0, 5) ?? []; return html` -
- ${cards.map((c) => renderStatCard(c, props.onNavigate))} -
+
${cards.map((c) => renderStatCard(c, props.onNavigate))}
- ${ - sessions.length > 0 - ? html` -
-

${t("overview.cards.recentSessions")}

-
    - ${sessions.map( - (s) => html` -
  • - ${blurDigits(s.displayName || s.label || s.key)} - ${s.model ?? ""} - ${s.updatedAt ? formatRelativeTimestamp(s.updatedAt) : ""} -
  • - `, - )} -
-
- ` - : nothing - } + ${sessions.length > 0 + ? html` +
+

${t("overview.cards.recentSessions")}

+
    + ${sessions.map( + (s) => html` +
  • + ${blurDigits(s.displayName || s.label || s.key)} + ${s.model ?? ""} + ${s.updatedAt ? formatRelativeTimestamp(s.updatedAt) : ""} +
  • + `, + )} +
+
+ ` + : nothing} `; } diff --git a/ui/src/ui/views/overview-event-log.ts b/ui/src/ui/views/overview-event-log.ts index ab6dcba5372..26608f68e03 100644 --- a/ui/src/ui/views/overview-event-log.ts +++ b/ui/src/ui/views/overview-event-log.ts @@ -28,11 +28,11 @@ export function renderOverviewEventLog(props: OverviewEventLogProps) {
${new Date(entry.ts).toLocaleTimeString()} ${entry.event} - ${ - entry.payload - ? html`${formatEventPayload(entry.payload).slice(0, 120)}` - : nothing - } + ${entry.payload + ? html`${formatEventPayload(entry.payload).slice(0, 120)}` + : nothing}
`, )} diff --git a/ui/src/ui/views/overview-log-tail.ts b/ui/src/ui/views/overview-log-tail.ts index f1ef51eaa67..39155ade242 100644 --- a/ui/src/ui/views/overview-log-tail.ts +++ b/ui/src/ui/views/overview-log-tail.ts @@ -36,7 +36,8 @@ export function renderOverviewLogTail(props: OverviewLogTailProps) { e.stopPropagation(); props.onRefreshLogs(); }} - >${icons.loader} + >${icons.loader}
${displayLines}
diff --git a/ui/src/ui/views/overview.ts b/ui/src/ui/views/overview.ts index feb91f0bdf7..f2c17d481f7 100644 --- a/ui/src/ui/views/overview.ts +++ b/ui/src/ui/views/overview.ts @@ -84,9 +84,7 @@ export function renderOverview(props: OverviewProps) { openclaw devices list
openclaw devices approve <requestId> -
- ${t("overview.pairing.mobileHint")} -
+
${t("overview.pairing.mobileHint")}
${t("overview.insecure.hint", { url: "http://127.0.0.1:18789" })}
- ${t("overview.insecure.stayHttp", { config: "gateway.controlUi.allowInsecureAuth: true" })} + ${t("overview.insecure.stayHttp", { + config: "gateway.controlUi.allowInsecureAuth: true", + })}
- ${ - !props.connected - ? html` -
@@ -358,24 +363,22 @@ export function renderOverview(props: OverviewProps) {
${t("overview.snapshot.lastChannelsRefresh")}
- ${props.lastChannelsRefresh ? formatRelativeTimestamp(props.lastChannelsRefresh) : t("common.na")} + ${props.lastChannelsRefresh + ? formatRelativeTimestamp(props.lastChannelsRefresh) + : t("common.na")}
- ${ - props.lastError - ? html`
+ ${props.lastError + ? html`
${props.lastError}
- ${pairingHint ?? ""} - ${authHint ?? ""} - ${insecureContextHint ?? ""} + ${pairingHint ?? ""} ${authHint ?? ""} ${insecureContextHint ?? ""}
` - : html` -
- ${t("overview.snapshot.channelsHint")} -
- ` - } + : html` +
+ ${t("overview.snapshot.channelsHint")} +
+ `}
@@ -390,7 +393,6 @@ export function renderOverview(props: OverviewProps) { presenceCount: props.presenceCount, onNavigate: props.onNavigate, })} - ${renderOverviewAttention({ items: props.attentionItems })}
@@ -399,12 +401,10 @@ export function renderOverview(props: OverviewProps) { ${renderOverviewEventLog({ events: props.eventLog, })} - ${renderOverviewLogTail({ lines: props.overviewLogLines, onRefreshLogs: props.onRefreshLogs, })}
- `; } diff --git a/ui/src/ui/views/sessions.ts b/ui/src/ui/views/sessions.ts index 89838bce205..64da38a26e5 100644 --- a/ui/src/ui/views/sessions.ts +++ b/ui/src/ui/views/sessions.ts @@ -215,7 +215,11 @@ export function renderSessions(props: SessionsProps) {
Sessions
-
${props.result ? `Store: ${props.result.path}` : "Active session keys and per-session overrides."}
+
+ ${props.result + ? `Store: ${props.result.path}` + : "Active session keys and per-session overrides."} +
- ${ - props.error - ? html`
${props.error}
` - : nothing - } + ${props.error + ? html`
${props.error}
` + : nothing}
@@ -300,40 +302,34 @@ export function renderSessions(props: SessionsProps) {
- ${ - props.selectedKeys.size > 0 - ? html` -
- ${props.selectedKeys.size} selected - - -
- ` - : nothing - } + ${props.selectedKeys.size > 0 + ? html` +
+ ${props.selectedKeys.size} selected + + +
+ ` + : nothing}
${sortHeader("key", "Key", "data-table-key-col")} - ${sortHeader("kind", "Kind")} - ${sortHeader("updated", "Updated")} + ${sortHeader("kind", "Kind")} ${sortHeader("updated", "Updated")} ${sortHeader("tokens", "Tokens")} @@ -359,65 +353,61 @@ export function renderSessions(props: SessionsProps) { - ${ - paginated.length === 0 - ? html` - - - - ` - : paginated.map((row) => - renderRow( - row, - props.basePath, - props.onPatch, - props.selectedKeys.has(row.key), - props.onToggleSelect, - props.loading, - props.onNavigateToChat, - ), - ) - } + ${paginated.length === 0 + ? html` + + + + ` + : paginated.map((row) => + renderRow( + row, + props.basePath, + props.onPatch, + props.selectedKeys.has(row.key), + props.onToggleSelect, + props.loading, + props.onNavigateToChat, + ), + )}
- ${ - paginated.length > 0 - ? html` 0 + ? html` 0 && paginated.every((r) => props.selectedKeys.has(r.key))} - .indeterminate=${paginated.some((r) => props.selectedKeys.has(r.key)) && !paginated.every((r) => props.selectedKeys.has(r.key))} + .checked=${paginated.length > 0 && + paginated.every((r) => props.selectedKeys.has(r.key))} + .indeterminate=${paginated.some((r) => props.selectedKeys.has(r.key)) && + !paginated.every((r) => props.selectedKeys.has(r.key))} @change=${() => { const allSelected = paginated.every((r) => props.selectedKeys.has(r.key)); if (allSelected) { @@ -344,13 +340,11 @@ export function renderSessions(props: SessionsProps) { }} aria-label="Select all on page" />` - : nothing - } + : nothing} LabelThinking Fast
- No sessions found. -
+ No sessions found. +
- ${ - totalRows > 0 - ? html` -
-
- ${page * props.pageSize + 1}-${Math.min((page + 1) * props.pageSize, totalRows)} - of ${totalRows} row${totalRows === 1 ? "" : "s"} -
-
- - - -
+ ${totalRows > 0 + ? html` +
+
+ ${page * props.pageSize + 1}-${Math.min((page + 1) * props.pageSize, totalRows)} + of ${totalRows} row${totalRows === 1 ? "" : "s"}
- ` - : nothing - } +
+ + + +
+
+ ` + : nothing}
`; @@ -477,35 +467,32 @@ function renderRow( diff --git a/ui/src/ui/views/skills-shared.ts b/ui/src/ui/views/skills-shared.ts index e19f27c2835..33510b87592 100644 --- a/ui/src/ui/views/skills-shared.ts +++ b/ui/src/ui/views/skills-shared.ts @@ -30,23 +30,11 @@ export function renderSkillStatusChips(params: { return html`
${skill.source} - ${ - showBundledBadge - ? html` - bundled - ` - : nothing - } + ${showBundledBadge ? html` bundled ` : nothing} ${skill.eligible ? "eligible" : "blocked"} - ${ - skill.disabled - ? html` - disabled - ` - : nothing - } + ${skill.disabled ? html` disabled ` : nothing}
`; } diff --git a/ui/src/ui/views/skills.ts b/ui/src/ui/views/skills.ts index d3626acbe4f..df9268c1793 100644 --- a/ui/src/ui/views/skills.ts +++ b/ui/src/ui/views/skills.ts @@ -113,7 +113,11 @@ export function renderSkills(props: SkillsProps) {
Skills
Installed skills and their status.
- @@ -131,14 +135,18 @@ export function renderSkills(props: SkillsProps) { )} -
+
Browse Skills Store + >Browse Skills Store
- ${ - props.error - ? html`
${props.error}
` - : nothing - } - - ${ - filtered.length === 0 - ? html` -
- ${ - !props.connected && !props.report - ? "Not connected to gateway." - : "No skills found." - } -
- ` - : html` + ${props.error + ? html`
${props.error}
` + : nothing} + ${filtered.length === 0 + ? html` +
+ ${!props.connected && !props.report + ? "Not connected to gateway." + : "No skills found."} +
+ ` + : html`
${groups.map((group) => { return html` @@ -184,8 +186,7 @@ export function renderSkills(props: SkillsProps) { `; })}
- ` - } + `} ${detailSkill ? renderSkillDetail(detailSkill, props) : nothing} @@ -197,10 +198,7 @@ function renderSkill(skill: SkillStatusEntry, props: SkillsProps) { const dotClass = skillStatusClass(skill); return html` -
props.onDetailOpen(skill.skillKey)} - > +
props.onDetailOpen(skill.skillKey)}>
@@ -209,11 +207,11 @@ function renderSkill(skill: SkillStatusEntry, props: SkillsProps) {
${clampText(skill.description, 140)}
-
-