From e7710813bb36d22ae7fa51000b79c1edf2e7cfa9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Oct 2026 18:19:14 +0000 Subject: [PATCH 1/2] build(deps): bump the minor-and-patch group across 1 directory with 41 updates Bumps the minor-and-patch group with 41 updates in the / directory: | Package | From | To | | --- | --- | --- | | [@bufbuild/buf](https://github.com/bufbuild/buf) | `1.72.0` | `1.74.0` | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.13.3` | `24.19.2` | | [eslint](https://github.com/eslint/eslint) | `10.8.0` | `10.13.0` | | [ts-proto](https://github.com/stephenh/ts-proto) | `2.12.0` | `2.15.3` | | [tsx](https://github.com/privatenumber/tsx) | `4.23.1` | `4.23.15` | | [turbo](https://github.com/vercel/turborepo) | `2.10.7` | `2.11.8` | | [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.65.0` | `8.71.2` | | [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.101.4` | `5.104.3` | | [monaco-editor](https://github.com/microsoft/monaco-editor) | `0.56.0` | `0.57.0` | | [react](https://github.com/react/react/tree/HEAD/packages/react) | `19.2.8` | `19.3.1` | | [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.17` | `19.3.0` | | [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom) | `19.2.8` | `19.3.1` | | [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `19.2.3` | `19.3.0` | | [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) | `8.3.0` | `8.4.0` | | [@playwright/test](https://github.com/microsoft/playwright) | `1.62.0` | `1.64.1` | | [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.17` | `19.3.0` | | [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `19.2.3` | `19.3.0` | | [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.5` | `6.1.2` | | [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.2.0` | `8.3.4` | | [@bufbuild/protobuf](https://github.com/bufbuild/protobuf-es/tree/HEAD/packages/protobuf) | `2.13.0` | `2.16.0` | | [zod](https://github.com/colinhacks/zod) | `4.4.3` | `4.6.7` | | [@fastify/cookie](https://github.com/fastify/fastify-cookie) | `11.1.2` | `11.1.3` | | [@fastify/cors](https://github.com/fastify/fastify-cors) | `11.3.0` | `11.3.1` | | [@fastify/csrf-protection](https://github.com/fastify/csrf-protection) | `8.0.0` | `8.0.2` | | [@fastify/rate-limit](https://github.com/fastify/fastify-rate-limit) | `11.2.0` | `11.2.1` | | [@fastify/static](https://github.com/fastify/fastify-static) | `10.1.2` | `10.1.6` | | [@opentelemetry/api-logs](https://github.com/open-telemetry/opentelemetry-js) | `0.221.0` | `0.223.0` | | [@opentelemetry/exporter-logs-otlp-http](https://github.com/open-telemetry/opentelemetry-js) | `0.221.0` | `0.223.0` | | [@opentelemetry/exporter-trace-otlp-http](https://github.com/open-telemetry/opentelemetry-js) | `0.221.0` | `0.223.0` | | [@opentelemetry/resources](https://github.com/open-telemetry/opentelemetry-js) | `2.10.0` | `2.12.0` | | [@opentelemetry/sdk-logs](https://github.com/open-telemetry/opentelemetry-js) | `0.221.0` | `0.223.0` | | [@opentelemetry/sdk-trace-base](https://github.com/open-telemetry/opentelemetry-js) | `2.10.0` | `2.12.0` | | [@opentelemetry/sdk-trace-node](https://github.com/open-telemetry/opentelemetry-js) | `2.10.0` | `2.12.0` | | [drizzle-orm](https://github.com/drizzle-team/drizzle-orm) | `0.45.2` | `0.45.4` | | [jose](https://github.com/panva/jose) | `6.2.5` | `6.2.12` | | [nodemailer](https://github.com/nodemailer/nodemailer) | `10.1.1` | `10.1.2` | | [pino](https://github.com/pinojs/pino) | `10.3.1` | `10.4.0` | | [@types/nodemailer](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/nodemailer) | `8.0.1` | `8.0.2` | | [drizzle-kit](https://github.com/drizzle-team/drizzle-orm) | `0.31.10` | `0.31.11` | | [@azure/identity](https://github.com/Azure/azure-sdk-for-js/tree/HEAD/sdk/identity/identity) | `4.13.1` | `4.14.0` | | [esbuild](https://github.com/evanw/esbuild) | `0.28.1` | `0.28.2` | | [mssql](https://github.com/tediousjs/node-mssql) | `12.7.0` | `12.7.9` | | [yaml](https://github.com/eemeli/yaml) | `2.9.0` | `2.9.1` | Updates `@bufbuild/buf` from 1.72.0 to 1.74.0 - [Release notes](https://github.com/bufbuild/buf/releases) - [Changelog](https://github.com/bufbuild/buf/blob/main/CHANGELOG.md) - [Commits](https://github.com/bufbuild/buf/compare/v1.72.0...v1.74.0) Updates `@types/node` from 24.13.3 to 24.19.2 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `eslint` from 10.8.0 to 10.13.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/compare/v10.8.0...v10.13.0) Updates `ts-proto` from 2.12.0 to 2.15.3 - [Release notes](https://github.com/stephenh/ts-proto/releases) - [Changelog](https://github.com/stephenh/ts-proto/blob/main/CHANGELOG.md) - [Commits](https://github.com/stephenh/ts-proto/compare/v2.12.0...v2.15.3) Updates `tsx` from 4.23.1 to 4.23.15 - [Release notes](https://github.com/privatenumber/tsx/releases) - [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs) - [Commits](https://github.com/privatenumber/tsx/compare/v4.23.1...v4.23.15) Updates `turbo` from 2.10.7 to 2.11.8 - [Release notes](https://github.com/vercel/turborepo/releases) - [Changelog](https://github.com/vercel/turborepo/blob/main/RELEASE.md) - [Commits](https://github.com/vercel/turborepo/compare/v2.10.7...v2.11.8) Updates `typescript-eslint` from 8.65.0 to 8.71.2 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.71.2/packages/typescript-eslint) Updates `@tanstack/react-query` from 5.101.4 to 5.104.3 - [Release notes](https://github.com/TanStack/query/releases) - [Changelog](https://github.com/TanStack/query/blob/main/packages/react-query/CHANGELOG.md) - [Commits](https://github.com/TanStack/query/commits/@tanstack/react-query@5.104.3/packages/react-query) Updates `monaco-editor` from 0.56.0 to 0.57.0 - [Release notes](https://github.com/microsoft/monaco-editor/releases) - [Changelog](https://github.com/microsoft/monaco-editor/blob/main/CHANGELOG.md) - [Commits](https://github.com/microsoft/monaco-editor/compare/v0.56.0...v0.57.0) Updates `react` from 19.2.8 to 19.3.1 - [Release notes](https://github.com/react/react/releases) - [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md) - [Commits](https://github.com/react/react/commits/v19.3.1/packages/react) Updates `@types/react` from 19.2.17 to 19.3.0 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) Updates `react-dom` from 19.2.8 to 19.3.1 - [Release notes](https://github.com/react/react/releases) - [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md) - [Commits](https://github.com/react/react/commits/v19.3.1/packages/react-dom) Updates `@types/react-dom` from 19.2.3 to 19.3.0 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom) Updates `react-router` from 8.3.0 to 8.4.0 - [Release notes](https://github.com/remix-run/react-router/releases) - [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router/CHANGELOG.md) - [Commits](https://github.com/remix-run/react-router/commits/react-router@8.4.0/packages/react-router) Updates `@playwright/test` from 1.62.0 to 1.64.1 - [Release notes](https://github.com/microsoft/playwright/releases) - [Commits](https://github.com/microsoft/playwright/compare/v1.62.0...v1.64.1) Updates `@types/react` from 19.2.17 to 19.3.0 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) Updates `@types/react-dom` from 19.2.3 to 19.3.0 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom) Updates `@vitejs/plugin-react` from 6.0.5 to 6.1.2 - [Release notes](https://github.com/vitejs/vite-plugin-react/releases) - [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.1.2/packages/plugin-react) Updates `vite` from 8.2.0 to 8.3.4 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v8.3.4/packages/vite) Updates `@bufbuild/protobuf` from 2.13.0 to 2.16.0 - [Release notes](https://github.com/bufbuild/protobuf-es/releases) - [Commits](https://github.com/bufbuild/protobuf-es/commits/v2.16.0/packages/protobuf) Updates `zod` from 4.4.3 to 4.6.7 - [Release notes](https://github.com/colinhacks/zod/releases) - [Commits](https://github.com/colinhacks/zod/compare/v4.4.3...v4.6.7) Updates `@fastify/cookie` from 11.1.2 to 11.1.3 - [Release notes](https://github.com/fastify/fastify-cookie/releases) - [Commits](https://github.com/fastify/fastify-cookie/compare/v11.1.2...v11.1.3) Updates `@fastify/cors` from 11.3.0 to 11.3.1 - [Release notes](https://github.com/fastify/fastify-cors/releases) - [Commits](https://github.com/fastify/fastify-cors/compare/v11.3.0...v11.3.1) Updates `@fastify/csrf-protection` from 8.0.0 to 8.0.2 - [Release notes](https://github.com/fastify/csrf-protection/releases) - [Commits](https://github.com/fastify/csrf-protection/compare/v8.0.0...v8.0.2) Updates `@fastify/rate-limit` from 11.2.0 to 11.2.1 - [Release notes](https://github.com/fastify/fastify-rate-limit/releases) - [Commits](https://github.com/fastify/fastify-rate-limit/compare/v11.2.0...v11.2.1) Updates `@fastify/static` from 10.1.2 to 10.1.6 - [Release notes](https://github.com/fastify/fastify-static/releases) - [Commits](https://github.com/fastify/fastify-static/compare/v10.1.2...v10.1.6) Updates `@opentelemetry/api-logs` from 0.221.0 to 0.223.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-js/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.221.0...experimental/v0.223.0) Updates `@opentelemetry/exporter-logs-otlp-http` from 0.221.0 to 0.223.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-js/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.221.0...experimental/v0.223.0) Updates `@opentelemetry/exporter-trace-otlp-http` from 0.221.0 to 0.223.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-js/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.221.0...experimental/v0.223.0) Updates `@opentelemetry/resources` from 2.10.0 to 2.12.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-js/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-js/blob/v2.12.0/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-js/compare/v2.10.0...v2.12.0) Updates `@opentelemetry/sdk-logs` from 0.221.0 to 0.223.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-js/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.221.0...experimental/v0.223.0) Updates `@opentelemetry/sdk-trace-base` from 2.10.0 to 2.12.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-js/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-js/blob/v2.12.0/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-js/compare/v2.10.0...v2.12.0) Updates `@opentelemetry/sdk-trace-node` from 2.10.0 to 2.12.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-js/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-js/blob/v2.12.0/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-js/compare/v2.10.0...v2.12.0) Updates `drizzle-orm` from 0.45.2 to 0.45.4 - [Release notes](https://github.com/drizzle-team/drizzle-orm/releases) - [Commits](https://github.com/drizzle-team/drizzle-orm/compare/0.45.2...0.45.4) Updates `jose` from 6.2.5 to 6.2.12 - [Release notes](https://github.com/panva/jose/releases) - [Changelog](https://github.com/panva/jose/blob/main/CHANGELOG.md) - [Commits](https://github.com/panva/jose/compare/v6.2.5...v6.2.12) Updates `nodemailer` from 10.1.1 to 10.1.2 - [Release notes](https://github.com/nodemailer/nodemailer/releases) - [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md) - [Commits](https://github.com/nodemailer/nodemailer/compare/v10.1.1...v10.1.2) Updates `pino` from 10.3.1 to 10.4.0 - [Release notes](https://github.com/pinojs/pino/releases) - [Commits](https://github.com/pinojs/pino/compare/v10.3.1...v10.4.0) Updates `@types/nodemailer` from 8.0.1 to 8.0.2 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/nodemailer) Updates `drizzle-kit` from 0.31.10 to 0.31.11 - [Release notes](https://github.com/drizzle-team/drizzle-orm/releases) - [Commits](https://github.com/drizzle-team/drizzle-orm/compare/drizzle-kit@0.31.10...drizzle-kit@0.31.11) Updates `@azure/identity` from 4.13.1 to 4.14.0 - [Release notes](https://github.com/Azure/azure-sdk-for-js/releases) - [Changelog](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/CHANGELOG.md) - [Commits](https://github.com/Azure/azure-sdk-for-js/commits/@azure/identity_4.14.0/sdk/identity/identity) Updates `esbuild` from 0.28.1 to 0.28.2 - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md) - [Commits](https://github.com/evanw/esbuild/compare/v0.28.1...v0.28.2) Updates `mssql` from 12.7.0 to 12.7.9 - [Release notes](https://github.com/tediousjs/node-mssql/releases) - [Changelog](https://github.com/tediousjs/node-mssql/blob/master/CHANGELOG.txt) - [Commits](https://github.com/tediousjs/node-mssql/compare/v12.7.0...v12.7.9) Updates `yaml` from 2.9.0 to 2.9.1 - [Release notes](https://github.com/eemeli/yaml/releases) - [Commits](https://github.com/eemeli/yaml/compare/v2.9.0...v2.9.1) --- updated-dependencies: - dependency-name: "@bufbuild/buf" dependency-version: 1.74.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@types/node" dependency-version: 24.19.2 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: eslint dependency-version: 10.13.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: ts-proto dependency-version: 2.15.3 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: tsx dependency-version: 4.23.15 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: turbo dependency-version: 2.11.8 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: typescript-eslint dependency-version: 8.71.2 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@tanstack/react-query" dependency-version: 5.104.3 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: monaco-editor dependency-version: 0.57.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: react dependency-version: 19.3.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@types/react" dependency-version: 19.3.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: react-dom dependency-version: 19.3.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@types/react-dom" dependency-version: 19.3.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: react-router dependency-version: 8.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@playwright/test" dependency-version: 1.64.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@types/react" dependency-version: 19.3.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@types/react-dom" dependency-version: 19.3.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@vitejs/plugin-react" dependency-version: 6.1.2 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: vite dependency-version: 8.3.4 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@bufbuild/protobuf" dependency-version: 2.16.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: zod dependency-version: 4.6.7 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@fastify/cookie" dependency-version: 11.1.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@fastify/cors" dependency-version: 11.3.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@fastify/csrf-protection" dependency-version: 8.0.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@fastify/rate-limit" dependency-version: 11.2.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@fastify/static" dependency-version: 10.1.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@opentelemetry/api-logs" dependency-version: 0.223.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@opentelemetry/exporter-logs-otlp-http" dependency-version: 0.223.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@opentelemetry/exporter-trace-otlp-http" dependency-version: 0.223.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@opentelemetry/resources" dependency-version: 2.12.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@opentelemetry/sdk-logs" dependency-version: 0.223.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@opentelemetry/sdk-trace-base" dependency-version: 2.12.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@opentelemetry/sdk-trace-node" dependency-version: 2.12.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: drizzle-orm dependency-version: 0.45.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: jose dependency-version: 6.2.12 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: nodemailer dependency-version: 10.1.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: pino dependency-version: 10.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@types/nodemailer" dependency-version: 8.0.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: drizzle-kit dependency-version: 0.31.11 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@azure/identity" dependency-version: 4.14.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: esbuild dependency-version: 0.28.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: mssql dependency-version: 12.7.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: yaml dependency-version: 2.9.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor-and-patch ... Signed-off-by: dependabot[bot] --- package.json | 14 +- packages/dashboard/package.json | 20 +- packages/protocol/package.json | 6 +- packages/server/package.json | 42 +- packages/worker/package.json | 16 +- pnpm-lock.yaml | 1861 ++++++++++++++++--------------- tests/integration/package.json | 8 +- 7 files changed, 1008 insertions(+), 959 deletions(-) diff --git a/package.json b/package.json index 0b0dc30..013520b 100644 --- a/package.json +++ b/package.json @@ -50,17 +50,17 @@ ] }, "devDependencies": { - "@bufbuild/buf": "^1.47.2", + "@bufbuild/buf": "^1.74.0", "@eslint/js": "^10.0.1", - "@types/node": "^24.13.3", + "@types/node": "^24.19.2", "@vitest/coverage-v8": "^4.1.10", - "eslint": "^10.8.0", + "eslint": "^10.13.0", "eslint-plugin-react-hooks": "^7.1.1", - "ts-proto": "^2.6.1", - "tsx": "^4.19.2", - "turbo": "^2.3.3", + "ts-proto": "^2.15.3", + "tsx": "^4.23.15", + "turbo": "^2.11.8", "typescript": "^6.0.3", - "typescript-eslint": "^8.18.1", + "typescript-eslint": "^8.71.2", "vitest": "^4.1.10" }, "repository": { diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index a9cd08b..0344d21 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -16,19 +16,19 @@ "dependencies": { "@monaco-editor/react": "^4.6.0", "@remote-sql-agent/protocol": "workspace:*", - "@tanstack/react-query": "^5.62.7", - "monaco-editor": "^0.56.0", - "react": "^19.2.8", - "react-dom": "^19.2.8", - "react-router": "^8.3.0" + "@tanstack/react-query": "^5.104.3", + "monaco-editor": "^0.57.0", + "react": "^19.3.1", + "react-dom": "^19.3.1", + "react-router": "^8.4.0" }, "devDependencies": { - "@playwright/test": "^1.62.0", - "@types/react": "^19.2.17", - "@types/react-dom": "^19.2.3", - "@vitejs/plugin-react": "^6.0.5", + "@playwright/test": "^1.64.1", + "@types/react": "^19.3.0", + "@types/react-dom": "^19.3.0", + "@vitejs/plugin-react": "^6.1.2", "typescript": "^6.0.3", - "vite": "^8.1.5", + "vite": "^8.3.4", "vitest": "^4.1.10" }, "description": "Built into the control-plane image, not published separately." diff --git a/packages/protocol/package.json b/packages/protocol/package.json index 7454873..4dc7af2 100644 --- a/packages/protocol/package.json +++ b/packages/protocol/package.json @@ -17,12 +17,12 @@ "test": "vitest run" }, "dependencies": { - "@bufbuild/protobuf": "^2.2.3", + "@bufbuild/protobuf": "^2.16.0", "@grpc/grpc-js": "^1.14.6", - "zod": "^4.4.3" + "zod": "^4.6.7" }, "devDependencies": { - "tsx": "^4.19.2", + "tsx": "^4.23.15", "typescript": "^6.0.3", "vitest": "^4.1.10" }, diff --git a/packages/server/package.json b/packages/server/package.json index 1effd35..03baac2 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -20,38 +20,38 @@ "test": "vitest run" }, "dependencies": { - "@fastify/cookie": "^11.0.1", - "@fastify/cors": "^11.3.0", - "@fastify/csrf-protection": "^8.0.0", - "@fastify/rate-limit": "^11.2.0", - "@fastify/static": "^10.1.1", + "@fastify/cookie": "^11.1.3", + "@fastify/cors": "^11.3.1", + "@fastify/csrf-protection": "^8.0.2", + "@fastify/rate-limit": "^11.2.1", + "@fastify/static": "^10.1.6", "@grpc/grpc-js": "^1.14.6", "@opentelemetry/api": "^1.9.1", - "@opentelemetry/api-logs": "^0.221.0", - "@opentelemetry/exporter-logs-otlp-http": "^0.221.0", - "@opentelemetry/exporter-trace-otlp-http": "^0.221.0", - "@opentelemetry/resources": "^2.10.0", - "@opentelemetry/sdk-logs": "^0.221.0", - "@opentelemetry/sdk-trace-base": "^2.10.0", - "@opentelemetry/sdk-trace-node": "^2.10.0", + "@opentelemetry/api-logs": "^0.223.0", + "@opentelemetry/exporter-logs-otlp-http": "^0.223.0", + "@opentelemetry/exporter-trace-otlp-http": "^0.223.0", + "@opentelemetry/resources": "^2.12.0", + "@opentelemetry/sdk-logs": "^0.223.0", + "@opentelemetry/sdk-trace-base": "^2.12.0", + "@opentelemetry/sdk-trace-node": "^2.12.0", "@opentelemetry/semantic-conventions": "^1.43.0", "@remote-sql-agent/protocol": "workspace:*", "argon2": "^0.45.1", - "drizzle-orm": "^0.45.2", + "drizzle-orm": "^0.45.4", "fastify": "^5.12.7", - "jose": "^6.2.5", + "jose": "^6.2.12", "node-forge": "^1.4.0", - "nodemailer": "^10.1.1", - "pino": "^10.3.1", + "nodemailer": "^10.1.2", + "pino": "^10.4.0", "postgres": "^3.4.5", - "tsx": "^4.19.2", - "zod": "^4.4.3" + "tsx": "^4.23.15", + "zod": "^4.6.7" }, "devDependencies": { - "@types/node": "^24.13.3", + "@types/node": "^24.19.2", "@types/node-forge": "^1.3.14", - "@types/nodemailer": "^8.0.1", - "drizzle-kit": "^0.31.10", + "@types/nodemailer": "^8.0.2", + "drizzle-kit": "^0.31.11", "typescript": "^6.0.3", "vitest": "^4.1.10" }, diff --git a/packages/worker/package.json b/packages/worker/package.json index 3487ad8..544d889 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -24,22 +24,22 @@ }, "//dependencies": "There is no dependencies field, on purpose. dist/rsagent-worker.mjs is a complete bundle \u2014 grpc, mssql, pino, yaml, zod, protocol and @azure/identity are all inlined \u2014 so declaring them would make npm re-download the lot to sit unused beside it. They are devDependencies because only the bundle step needs them. Nothing is left external: the tarball and the single executable ship the .mjs with no node_modules beside it, so an external import has nowhere to resolve from. Before adding a runtime dependency, check it is not already in the bundle.", "devDependencies": { - "@azure/identity": "^4.13.1", + "@azure/identity": "^4.14.0", "@grpc/grpc-js": "^1.14.6", "@remote-sql-agent/protocol": "workspace:*", "@types/mssql": "^12.3.0", - "@types/node": "^24.13.3", + "@types/node": "^24.19.2", "@types/node-forge": "^1.3.14", - "esbuild": "^0.28.1", - "mssql": "^12.7.0", + "esbuild": "^0.28.2", + "mssql": "^12.7.9", "node-forge": "^1.4.0", - "pino": "^10.3.1", + "pino": "^10.4.0", "postject": "1.0.0-alpha.6", - "tsx": "^4.19.2", + "tsx": "^4.23.15", "typescript": "^6.0.3", "vitest": "^4.1.10", - "yaml": "^2.6.1", - "zod": "^4.4.3" + "yaml": "^2.9.1", + "zod": "^4.6.7" }, "engines": { "node": ">=24" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 040227c..e94a4fe 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,127 +12,127 @@ importers: .: devDependencies: '@bufbuild/buf': - specifier: ^1.47.2 - version: 1.72.0 + specifier: ^1.74.0 + version: 1.74.0 '@eslint/js': specifier: ^10.0.1 - version: 10.0.1(eslint@10.8.0) + version: 10.0.1(eslint@10.13.0) '@types/node': - specifier: ^24.13.3 - version: 24.13.3 + specifier: ^24.19.2 + version: 24.19.2 '@vitest/coverage-v8': specifier: ^4.1.10 version: 4.1.10(vitest@4.1.10) eslint: - specifier: ^10.8.0 - version: 10.8.0 + specifier: ^10.13.0 + version: 10.13.0 eslint-plugin-react-hooks: specifier: ^7.1.1 - version: 7.1.1(eslint@10.8.0) + version: 7.1.1(eslint@10.13.0) ts-proto: - specifier: ^2.6.1 - version: 2.12.0 + specifier: ^2.15.3 + version: 2.15.3 tsx: - specifier: ^4.19.2 - version: 4.23.1 + specifier: ^4.23.15 + version: 4.23.15 turbo: - specifier: ^2.3.3 - version: 2.10.7 + specifier: ^2.11.8 + version: 2.11.8 typescript: specifier: ^6.0.3 version: 6.0.3 typescript-eslint: - specifier: ^8.18.1 - version: 8.65.0(eslint@10.8.0)(typescript@6.0.3) + specifier: ^8.71.2 + version: 8.71.2(eslint@10.13.0)(typescript@6.0.3) vitest: specifier: ^4.1.10 - version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(@vitest/coverage-v8@4.1.10)(vite@8.2.0(@types/node@24.13.3)(esbuild@0.28.1)(tsx@4.23.1)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.19.2)(@vitest/coverage-v8@4.1.10)(vite@8.3.4(@types/node@24.19.2)(esbuild@0.28.2)(tsx@4.23.15)(yaml@2.9.1)) packages/dashboard: dependencies: '@monaco-editor/react': specifier: ^4.6.0 - version: 4.7.0(monaco-editor@0.56.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + version: 4.7.0(monaco-editor@0.57.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) '@remote-sql-agent/protocol': specifier: workspace:* version: link:../protocol '@tanstack/react-query': - specifier: ^5.62.7 - version: 5.101.4(react@19.2.8) + specifier: ^5.104.3 + version: 5.104.3(react@19.3.1) monaco-editor: - specifier: ^0.56.0 - version: 0.56.0 + specifier: ^0.57.0 + version: 0.57.0 react: - specifier: ^19.2.8 - version: 19.2.8 + specifier: ^19.3.1 + version: 19.3.1 react-dom: - specifier: ^19.2.8 - version: 19.2.8(react@19.2.8) + specifier: ^19.3.1 + version: 19.3.1(react@19.3.1) react-router: - specifier: ^8.3.0 - version: 8.3.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + specifier: ^8.4.0 + version: 8.4.0(react-dom@19.3.1(react@19.3.1))(react@19.3.1) devDependencies: '@playwright/test': - specifier: ^1.62.0 - version: 1.62.0 + specifier: ^1.64.1 + version: 1.64.1 '@types/react': - specifier: ^19.2.17 - version: 19.2.17 + specifier: ^19.3.0 + version: 19.3.0 '@types/react-dom': - specifier: ^19.2.3 - version: 19.2.3(@types/react@19.2.17) + specifier: ^19.3.0 + version: 19.3.0(@types/react@19.3.0) '@vitejs/plugin-react': - specifier: ^6.0.5 - version: 6.0.5(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(tsx@4.23.1)(yaml@2.9.0)) + specifier: ^6.1.2 + version: 6.1.2(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(tsx@4.23.15)(yaml@2.9.1)) typescript: specifier: ^6.0.3 version: 6.0.3 vite: - specifier: ^8.1.5 - version: 8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(tsx@4.23.1)(yaml@2.9.0) + specifier: ^8.3.4 + version: 8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(tsx@4.23.15)(yaml@2.9.1) vitest: specifier: ^4.1.10 - version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.2)(@vitest/coverage-v8@4.1.10)(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(tsx@4.23.1)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/coverage-v8@4.1.10)(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(tsx@4.23.15)(yaml@2.9.1)) packages/protocol: dependencies: '@bufbuild/protobuf': - specifier: ^2.2.3 - version: 2.13.0 + specifier: ^2.16.0 + version: 2.16.0 '@grpc/grpc-js': specifier: ^1.14.6 version: 1.14.6 zod: - specifier: ^4.4.3 - version: 4.4.3 + specifier: ^4.6.7 + version: 4.6.7 devDependencies: tsx: - specifier: ^4.19.2 - version: 4.23.1 + specifier: ^4.23.15 + version: 4.23.15 typescript: specifier: ^6.0.3 version: 6.0.3 vitest: specifier: ^4.1.10 - version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.2)(@vitest/coverage-v8@4.1.10)(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(tsx@4.23.1)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/coverage-v8@4.1.10)(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(tsx@4.23.15)(yaml@2.9.1)) packages/server: dependencies: '@fastify/cookie': - specifier: ^11.0.1 - version: 11.1.2 + specifier: ^11.1.3 + version: 11.1.3 '@fastify/cors': - specifier: ^11.3.0 - version: 11.3.0 + specifier: ^11.3.1 + version: 11.3.1 '@fastify/csrf-protection': - specifier: ^8.0.0 - version: 8.0.0 + specifier: ^8.0.2 + version: 8.0.2 '@fastify/rate-limit': - specifier: ^11.2.0 - version: 11.2.0 + specifier: ^11.2.1 + version: 11.2.1 '@fastify/static': - specifier: ^10.1.1 - version: 10.1.2 + specifier: ^10.1.6 + version: 10.1.6 '@grpc/grpc-js': specifier: ^1.14.6 version: 1.14.6 @@ -140,26 +140,26 @@ importers: specifier: ^1.9.1 version: 1.9.1 '@opentelemetry/api-logs': - specifier: ^0.221.0 - version: 0.221.0 + specifier: ^0.223.0 + version: 0.223.0 '@opentelemetry/exporter-logs-otlp-http': - specifier: ^0.221.0 - version: 0.221.0(@opentelemetry/api@1.9.1) + specifier: ^0.223.0 + version: 0.223.0(@opentelemetry/api@1.9.1) '@opentelemetry/exporter-trace-otlp-http': - specifier: ^0.221.0 - version: 0.221.0(@opentelemetry/api@1.9.1) + specifier: ^0.223.0 + version: 0.223.0(@opentelemetry/api@1.9.1) '@opentelemetry/resources': - specifier: ^2.10.0 - version: 2.10.0(@opentelemetry/api@1.9.1) + specifier: ^2.12.0 + version: 2.12.0(@opentelemetry/api@1.9.1) '@opentelemetry/sdk-logs': - specifier: ^0.221.0 - version: 0.221.0(@opentelemetry/api@1.9.1) + specifier: ^0.223.0 + version: 0.223.0(@opentelemetry/api@1.9.1) '@opentelemetry/sdk-trace-base': - specifier: ^2.10.0 - version: 2.10.0(@opentelemetry/api@1.9.1) + specifier: ^2.12.0 + version: 2.12.0(@opentelemetry/api@1.9.1) '@opentelemetry/sdk-trace-node': - specifier: ^2.10.0 - version: 2.10.0(@opentelemetry/api@1.9.1) + specifier: ^2.12.0 + version: 2.12.0(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': specifier: ^1.43.0 version: 1.43.0 @@ -170,57 +170,57 @@ importers: specifier: ^0.45.1 version: 0.45.1 drizzle-orm: - specifier: ^0.45.2 - version: 0.45.2(@opentelemetry/api@1.9.1)(@types/better-sqlite3@7.6.13)(better-sqlite3@13.0.2)(gel@2.2.0)(postgres@3.4.9) + specifier: ^0.45.4 + version: 0.45.4(@opentelemetry/api@1.9.1)(@types/better-sqlite3@7.6.13)(better-sqlite3@13.0.2)(gel@2.2.0)(postgres@3.4.9) fastify: specifier: ^5.12.7 version: 5.12.7 jose: - specifier: ^6.2.5 - version: 6.2.5 + specifier: ^6.2.12 + version: 6.2.12 node-forge: specifier: ^1.4.0 version: 1.4.0 nodemailer: - specifier: ^10.1.1 - version: 10.1.1 + specifier: ^10.1.2 + version: 10.1.2 pino: - specifier: ^10.3.1 - version: 10.3.1 + specifier: ^10.4.0 + version: 10.4.0 postgres: specifier: ^3.4.5 version: 3.4.9 tsx: - specifier: ^4.19.2 - version: 4.23.1 + specifier: ^4.23.15 + version: 4.23.15 zod: - specifier: ^4.4.3 - version: 4.4.3 + specifier: ^4.6.7 + version: 4.6.7 devDependencies: '@types/node': - specifier: ^24.13.3 - version: 24.13.3 + specifier: ^24.19.2 + version: 24.19.2 '@types/node-forge': specifier: ^1.3.14 version: 1.3.14 '@types/nodemailer': - specifier: ^8.0.1 - version: 8.0.1 + specifier: ^8.0.2 + version: 8.0.2 drizzle-kit: - specifier: ^0.31.10 - version: 0.31.10 + specifier: ^0.31.11 + version: 0.31.11 typescript: specifier: ^6.0.3 version: 6.0.3 vitest: specifier: ^4.1.10 - version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(@vitest/coverage-v8@4.1.10)(vite@8.2.0(@types/node@24.13.3)(esbuild@0.28.1)(tsx@4.23.1)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.19.2)(@vitest/coverage-v8@4.1.10)(vite@8.3.4(@types/node@24.19.2)(esbuild@0.28.2)(tsx@4.23.15)(yaml@2.9.1)) packages/worker: devDependencies: '@azure/identity': - specifier: ^4.13.1 - version: 4.13.1 + specifier: ^4.14.0 + version: 4.14.0 '@grpc/grpc-js': specifier: ^1.14.6 version: 1.14.6 @@ -231,41 +231,41 @@ importers: specifier: ^12.3.0 version: 12.3.0 '@types/node': - specifier: ^24.13.3 - version: 24.13.3 + specifier: ^24.19.2 + version: 24.19.2 '@types/node-forge': specifier: ^1.3.14 version: 1.3.14 esbuild: - specifier: ^0.28.1 - version: 0.28.1 + specifier: ^0.28.2 + version: 0.28.2 mssql: - specifier: ^12.7.0 - version: 12.7.0 + specifier: ^12.7.9 + version: 12.7.9 node-forge: specifier: ^1.4.0 version: 1.4.0 pino: - specifier: ^10.3.1 - version: 10.3.1 + specifier: ^10.4.0 + version: 10.4.0 postject: specifier: 1.0.0-alpha.6 version: 1.0.0-alpha.6 tsx: - specifier: ^4.19.2 - version: 4.23.1 + specifier: ^4.23.15 + version: 4.23.15 typescript: specifier: ^6.0.3 version: 6.0.3 vitest: specifier: ^4.1.10 - version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(@vitest/coverage-v8@4.1.10)(vite@8.2.0(@types/node@24.13.3)(esbuild@0.28.1)(tsx@4.23.1)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.19.2)(@vitest/coverage-v8@4.1.10)(vite@8.3.4(@types/node@24.19.2)(esbuild@0.28.2)(tsx@4.23.15)(yaml@2.9.1)) yaml: - specifier: ^2.6.1 - version: 2.9.0 + specifier: ^2.9.1 + version: 2.9.1 zod: - specifier: ^4.4.3 - version: 4.4.3 + specifier: ^4.6.7 + version: 4.6.7 tests/integration: dependencies: @@ -282,14 +282,14 @@ importers: specifier: workspace:* version: link:../../packages/worker drizzle-orm: - specifier: ^0.45.2 - version: 0.45.2(@opentelemetry/api@1.9.1)(@types/better-sqlite3@7.6.13)(better-sqlite3@13.0.2)(gel@2.2.0)(postgres@3.4.9) + specifier: ^0.45.4 + version: 0.45.4(@opentelemetry/api@1.9.1)(@types/better-sqlite3@7.6.13)(better-sqlite3@13.0.2)(gel@2.2.0)(postgres@3.4.9) mssql: - specifier: ^12.7.0 - version: 12.7.0 + specifier: ^12.7.9 + version: 12.7.9 pino: - specifier: ^10.3.1 - version: 10.3.1 + specifier: ^10.4.0 + version: 10.4.0 postgres: specifier: ^3.4.5 version: 3.4.9 @@ -298,19 +298,19 @@ importers: specifier: ^12.3.0 version: 12.3.0 '@types/node': - specifier: ^24.13.3 - version: 24.13.3 + specifier: ^24.19.2 + version: 24.19.2 typescript: specifier: ^6.0.3 version: 6.0.3 vitest: specifier: ^4.1.10 - version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(@vitest/coverage-v8@4.1.10)(vite@8.2.0(@types/node@24.13.3)(esbuild@0.28.1)(tsx@4.23.1)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.19.2)(@vitest/coverage-v8@4.1.10)(vite@8.3.4(@types/node@24.19.2)(esbuild@0.28.2)(tsx@4.23.15)(yaml@2.9.1)) packages: - '@azure-rest/core-client@2.8.0': - resolution: {integrity: sha512-F1ybHeN+++QhyFCF/ehLUEvrOB6fehPdFBFtGdj0C3B2lpQ9zkPiO5JDgsqc6IfjuUe6b3dAbXK0a7+VgSGfhw==} + '@azure-rest/core-client@2.9.0': + resolution: {integrity: sha512-6933vNLqh06RR7rumnrq3UZIeBtRLeBHDPMrieDPIljiCaMMwt0nRw++nd3TOxiohtasNtm29rC+b/9ZVKCOqg==} engines: {node: '>=22.0.0'} '@azure/abort-controller@2.2.0': @@ -321,8 +321,8 @@ packages: resolution: {integrity: sha512-IUZydyTUkDnYdstOW9pFOOUQlBjAepK5teihDE3x6yxsPJs/hsAaaYpeGxdxrgtOiJbBKSjKW7MDk7AEhb4LRg==} engines: {node: '>=22.0.0'} - '@azure/core-client@1.11.0': - resolution: {integrity: sha512-JjQWO6akOck45PH/XBrxzsQGAiKrfFl4m5iggJ0ItMIz5omRufOXWpqCPpdjKN3vKDzlSUvFjaMb7Zwf0gvAdA==} + '@azure/core-client@1.11.1': + resolution: {integrity: sha512-2QygG2F76ZpMP2eMztiJvAiFMu71M9rDeU7vO/QKg5Css7MgM4frUOslFjhVjRhbGaCNPtz/S8M6y46/fFKVuQ==} engines: {node: '>=22.0.0'} '@azure/core-lro@2.7.2': @@ -333,6 +333,10 @@ packages: resolution: {integrity: sha512-7GEAoIsaoBr6KELNRb8nypowCqvk8dnCHFCYg4XD4lOQGY2GqjQg5IhkRjyBFRO18CGSMq05PaNqSOE9GQro3g==} engines: {node: '>=22.0.0'} + '@azure/core-process@1.0.0': + resolution: {integrity: sha512-/shnJ+ooO8WPxDhPEeI/2oRQuubn16gZ6CvlbpWbEswZfzwI9tI/sMAHmF3x1LuQ9yZYXfLW3TjzGMLEC5blKg==} + engines: {node: '>=22.0.0'} + '@azure/core-rest-pipeline@1.25.0': resolution: {integrity: sha512-bMs8ekJLjX8wPV+9IPBges1SLPyuDtE9g5gLDWOpxzKcoOFQnpLGkbcT1tdw3FaAmDS1gnPmMmJ6y/T5B96kIA==} engines: {node: '>=22.0.0'} @@ -345,9 +349,9 @@ packages: resolution: {integrity: sha512-9n2pWK61veAuN0V20t9lOuoV4CFMdyAZ1ygZzvBGk/pBBJRib/PjL9PLXa/aI2CcPpyHfqVsxxqLCYl6uZlfDw==} engines: {node: '>=22.0.0'} - '@azure/identity@4.13.1': - resolution: {integrity: sha512-5C/2WD5Vb1lHnZS16dNQRPMjN6oV/Upba+C9nBIs15PmOi6A3ZGs4Lr2u60zw4S04gi+u3cEXiqTVP7M4Pz3kw==} - engines: {node: '>=20.0.0'} + '@azure/identity@4.14.0': + resolution: {integrity: sha512-8utCLdTZn14CiAe0HW4JbtzUMsc0mdDwnjUvStFMrR4IxQP8S2eL9zVAdplpfORVJGYmidZElpeXRYjJQ4UyUw==} + engines: {node: '>=22.0.0'} '@azure/keyvault-common@2.1.0': resolution: {integrity: sha512-aCDidWuKY06LWQ4x7/8TIXK6iRqTaRWRL3t7T+LC+j1b07HtoIsOxP/tU90G4jCSBn5TAyUTCtA4MS/y5Hudaw==} @@ -361,16 +365,20 @@ packages: resolution: {integrity: sha512-rbAE25KUfjU/s3XHUdJgceoCP5dEOpMx85J04kF+QMdta73XkuG9JGHHinch+XIoKpBdqljin+KqURpJriSzLA==} engines: {node: '>=22.0.0'} - '@azure/msal-browser@5.17.3': - resolution: {integrity: sha512-qMabD7Xrm/UgRhs+/IVyCTZRjUl8Qb+uGsRrCkaKNWsiTwRaeyStJbChE7/ySNTNYtiWo7khfF7vUDd0wGMnLw==} + '@azure/msal-browser@5.25.1': + resolution: {integrity: sha512-NDW2/bz2Pz71EJAlhSw+jg1kpRIWtrzj0gCzcHuG1u7iLvSOHpUc5lICkDA9x0bbeityxTneiunSBluvS+/y4w==} + engines: {node: '>=0.8.0'} + + '@azure/msal-common@16.14.1': + resolution: {integrity: sha512-Or6xhPNyi4zHW25158yxBoyxuCqNSPa5YBVqfF1J5Ks4MJWBo/USXdp05DQIPu1Zli00YZu6t0+h6KvHJealxQ==} engines: {node: '>=0.8.0'} - '@azure/msal-common@16.11.3': - resolution: {integrity: sha512-VeXOW+t3Rdd9XGX6lVyIg3DhtjMR1JD8ARKcsnGbJFUWwAmF3sHL7GwZc/ZjEUfHESResAonETRYCuG06OBT7A==} + '@azure/msal-common@16.14.2': + resolution: {integrity: sha512-HOBR0Gfo39TMrkxNG8k6cfjRkrRjXZc3JQs3ebMWQc9S4cihuknMYra3sgmzbZB752oQBqBN9+WF7c826p2vIQ==} engines: {node: '>=0.8.0'} - '@azure/msal-node@5.4.3': - resolution: {integrity: sha512-tumCMmzrRhKmTbYQg/7OlfbrIKcKaf8Ed0Fw3suUpRT3owFYljznVgxcfHe8RycQXY9uyROGiLD1GjhpF45AwA==} + '@azure/msal-node@6.0.1': + resolution: {integrity: sha512-ixSO1Y/kCVRthRs+hSx/5qkwaunX1/RAePhlMN0wIpIQ4WEZ6AREGGnGd1AP0qspHVsAwzWQKGubpjh50JyJIQ==} engines: {node: '>=20'} '@babel/code-frame@7.29.7': @@ -444,67 +452,64 @@ packages: resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} - '@bufbuild/buf-darwin-arm64@1.72.0': - resolution: {integrity: sha512-rKHRvjwAThapxIoOn92vIoTjYSz5FmRemDRLU4BYT4T6QWMEC13PM3/pPnqVgsNKZ5aW7iYDm9ztnisEqSi5yA==} + '@bufbuild/buf-darwin-arm64@1.74.0': + resolution: {integrity: sha512-494aZ7ISZrak9OJEa10f4k3exTR/XzsVnKBUoEGsTF2Zihjv+Fgl5F3ZKL7ICF4VwOgYAUEWiliY2yo/hTuLGw==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - '@bufbuild/buf-darwin-x64@1.72.0': - resolution: {integrity: sha512-4TQ1AGft8sGspNg9NMsEjsKKis7nGaVV8tZLnNa3cKUBmx22gwOnB6VRhgKWwjf+BDqr85lUEzQ6wHCboNUutg==} + '@bufbuild/buf-darwin-x64@1.74.0': + resolution: {integrity: sha512-Hzuhkemc4OLdm/9KyTX3mHl00HU+tliZXgjOY017OLiAxQaOG8jRhNDgNeDVsJkyovxtc9OeUwydhMpzGq9hFg==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - '@bufbuild/buf-linux-aarch64@1.72.0': - resolution: {integrity: sha512-cbIsUcgM5bHhbZWcDaAXqaYOAi8N0c0u+NiDydwVmZ04Et3s1EZ3TDqfQDRzwvoBPDP+lsO6YuTRXX6nI28x4w==} + '@bufbuild/buf-linux-aarch64@1.74.0': + resolution: {integrity: sha512-2aEdC8r/ssiUGQpq09JIUjUVcyX7scPT4Run4NdEjZWt1MBExtlnSuInIVkirYWn3WOSSkJSqjJnfNe4IUNZng==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - '@bufbuild/buf-linux-armv7@1.72.0': - resolution: {integrity: sha512-v/bXVsFL8YNm2HgosGb9r3+nAt4jQiUc3r3JipYuiVY3DAJZAjoEvcak6/BkxQMTEQz9Zb8gRRlule9IFkbc5g==} + '@bufbuild/buf-linux-armv7@1.74.0': + resolution: {integrity: sha512-+rF7DYcTsaN5fY46ouVvVvKNLLd/FVZtzRaEuAbIXxg4w/JkV48bXMyPzXPbfU6EaiXiGSZqnVFpcE2YBSudHA==} engines: {node: '>=12'} cpu: [arm] os: [linux] - '@bufbuild/buf-linux-x64@1.72.0': - resolution: {integrity: sha512-4xHGXEjqFxo1wX1zMGq4CzhYt5++nrj4C7k30j+YmGtvqCnipfdSe+V6kknBYRfYswVZEUwUbQOh6pnMTcGcrA==} + '@bufbuild/buf-linux-x64@1.74.0': + resolution: {integrity: sha512-F2VqhsWcbsOW9aHaoKio0o0A5X2YLwB6n9Jm/fIlsdXRoLskW9p2p1bTWQoAxXq0W8iPpXMxZFf1jhM2uTQ+ww==} engines: {node: '>=12'} cpu: [x64] os: [linux] - '@bufbuild/buf-win32-arm64@1.72.0': - resolution: {integrity: sha512-WH7ClsoB9A0e/5fFhx0DLqLzillYPRdHBhlwzihgvjGci0bBdyJVHSQGf0B9uspCMU6sn6W/N1S9/2vvQBNMug==} + '@bufbuild/buf-win32-arm64@1.74.0': + resolution: {integrity: sha512-fTCHL3ccJSjlttH+VoTArUnccQCrOuxD0HkSAEqscBX22f4/rwvM7vFyuW5VkyYwM57h5S3fPlJ6Cpm2GJFk9w==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - '@bufbuild/buf-win32-x64@1.72.0': - resolution: {integrity: sha512-X3eWqFzhDmu8CYQZz+Fu7i+PgH+yUl8UwJ5+x+bhZRYAIdcijikthodk60c5u/qq42m1Z2XAnAGyp/mTf7IffA==} + '@bufbuild/buf-win32-x64@1.74.0': + resolution: {integrity: sha512-iUa+mbJ3sYLE55HYxfCkSVrU8mxLx4IGDvb5IkbrxK+z+3Fg4SRTQuHqnnf+GUplYs8/1UfG8DSMd4c7gz+t5g==} engines: {node: '>=12'} cpu: [x64] os: [win32] - '@bufbuild/buf@1.72.0': - resolution: {integrity: sha512-BwBKTX/WXkhAhqWJGrEKnqU03/4tK1O0OozSlwUMBCOEo8pLL3xu3M24RT3+umExEeM0wjlANO6axqGWMqtt4Q==} + '@bufbuild/buf@1.74.0': + resolution: {integrity: sha512-EMoeP7tlIWErM69Lp7QJI30pIDa675rPD1SoEEncCps3by8JlzA8qxwjb7IkJNu10Ma0ggynk5lt/qUmTbaHIw==} engines: {node: '>=12'} hasBin: true - '@bufbuild/protobuf@2.13.0': - resolution: {integrity: sha512-acq7c49vxfm1ggJ95P70TX7ABDM0vxr1SYD3BB0o0jnBLB4OAqeHyKuN+cD3w80gXEDQ2zxHpR6CUeA+O/aU9g==} + '@bufbuild/protobuf@2.16.0': + resolution: {integrity: sha512-FWa0sPlqYGJgpTs6OxBRcL/AW4JT0OIO+W1ajerluoTVh8CV0B7XM1qsNCRgnkSCkRCgOICKHRQlY17jrsm0+Q==} - '@drizzle-team/brocli@0.10.2': - resolution: {integrity: sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==} + '@cacheable/memory@2.2.0': + resolution: {integrity: sha512-CTLKqLItRCEixEAewD3/j9DB3/o96gpTPD4eJ1v+DGOlxZRZncRQkGYqqnAGCscYd6RNeXfGeiuCphsPtqyIfQ==} - '@emnapi/core@2.0.0-alpha.3': - resolution: {integrity: sha512-AZypUeJ/yByuxyS7BlSNRDOMLMlROYtjYdIAuBmJssVz1UJDSeYxLrdizhXCFYhedC5bqd/ASy8EuNXbVVXp9g==} + '@cacheable/utils@2.5.0': + resolution: {integrity: sha512-buipgOVDkkPXNR5+xBpDw7Zk2n1EvU7qBJCNUcL7rhQ//kfpOXPAvQ511Os0vpLYJ1pZnvudNytkQt2hst3wqA==} - '@emnapi/runtime@2.0.0-alpha.3': - resolution: {integrity: sha512-hFPAhMUjJD9BSyCANEISPOogeXC9Zo9ZQl7L6vKnaVsMkCtzznaW/naYypeyl0Gv5rYfWYsZbpixTMpjDJzQeA==} - - '@emnapi/wasi-threads@2.0.1': - resolution: {integrity: sha512-9DsSk+o5NBX0CCJT8s0EROGSGxjR/tKu6aBTaVyq+SjAEQH4XcdcRxPBRzsBLizTTJ49MJjF+jgu3qnO9GLQcQ==} + '@drizzle-team/brocli@0.10.2': + resolution: {integrity: sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==} '@epic-web/invariant@1.0.0': resolution: {integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==} @@ -523,8 +528,8 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.28.1': - resolution: {integrity: sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==} + '@esbuild/aix-ppc64@0.28.2': + resolution: {integrity: sha512-XExcO+dvLKvVtNTibSTBej1NCAbaGhWn9Ww1ZPx80qsahhPFe/8jgWP0IchNe0F3HwkU7n8ejhH8bjonqht8mQ==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] @@ -541,8 +546,8 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.28.1': - resolution: {integrity: sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==} + '@esbuild/android-arm64@0.28.2': + resolution: {integrity: sha512-5YfKeeI8qWfBZIX+u2xZC3Zlb3Os/gLS2sbEKM+I4ZOcsWmHS2WLysCcQZDAFRslDUU5Oiq44gf6PYN1vGwG5A==} engines: {node: '>=18'} cpu: [arm64] os: [android] @@ -559,8 +564,8 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.28.1': - resolution: {integrity: sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==} + '@esbuild/android-arm@0.28.2': + resolution: {integrity: sha512-kXXoiPVVGQcnIYGOeaovwOURpniDBpSq4A03qkQ+BMQqtGG6HYap3xne9C1O1yo4TR3qxlCX5IqqmX6fFo2Lqg==} engines: {node: '>=18'} cpu: [arm] os: [android] @@ -577,8 +582,8 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.28.1': - resolution: {integrity: sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==} + '@esbuild/android-x64@0.28.2': + resolution: {integrity: sha512-O387ite7SzUyCcy3JQX4P4bLtEA7bLLkx+esve5JHnyYfNTxcVpXZo9jhdB0lTKN44gztELTdU7nS8Nr16Fs1Q==} engines: {node: '>=18'} cpu: [x64] os: [android] @@ -595,8 +600,8 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.28.1': - resolution: {integrity: sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==} + '@esbuild/darwin-arm64@0.28.2': + resolution: {integrity: sha512-n4KqkOQrraxHJcgjM1RvwbigfQKIKJVpM7xp+KsxiyUSrRdIXnt73VhrPAx0fV44hgfmIVKjxMN9J1t5jySVkw==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] @@ -613,8 +618,8 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.28.1': - resolution: {integrity: sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==} + '@esbuild/darwin-x64@0.28.2': + resolution: {integrity: sha512-uq6suIWYP37qzGddBKPw5QEQPi6HiLGsO7UmkpfyaYNQ3D+rN6w6WfwH+nuqcGXWvawGwxOEroO4YGnFh95azw==} engines: {node: '>=18'} cpu: [x64] os: [darwin] @@ -631,8 +636,8 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.28.1': - resolution: {integrity: sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==} + '@esbuild/freebsd-arm64@0.28.2': + resolution: {integrity: sha512-n+I0BTSRIoy+d6RPKnEVwql5UwBJolytvY4mAOIEJorKlqgPII8ix6slVVrfZ5Tnj7glIZvloylbB/EJPMWEXw==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] @@ -649,8 +654,8 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.28.1': - resolution: {integrity: sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==} + '@esbuild/freebsd-x64@0.28.2': + resolution: {integrity: sha512-78XJTJkvPs0kz2w61301PJjXl4g7q3JqiYMZ/M/yVI73EHBrCRTgkhu9oqG7vPqq+a/yadEW8aD+agKlk5xrmg==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] @@ -667,8 +672,8 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.28.1': - resolution: {integrity: sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==} + '@esbuild/linux-arm64@0.28.2': + resolution: {integrity: sha512-pW4AC0P3it8c7do9MVM4p51FzHzdM/TZrerurgRcHJ2WTa1VQ1CIq18xncfpBJw4ojkiZZrKW2yIBWBP92j6Ug==} engines: {node: '>=18'} cpu: [arm64] os: [linux] @@ -685,8 +690,8 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.28.1': - resolution: {integrity: sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==} + '@esbuild/linux-arm@0.28.2': + resolution: {integrity: sha512-XlDnu2q5yoqems+xay6wSAcg9DDD7K9RLKZEBOMZm3ckNpJBvOX20tSfby8KfrrhINDyv9V2YVZKY/SpoGJI8w==} engines: {node: '>=18'} cpu: [arm] os: [linux] @@ -703,8 +708,8 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.28.1': - resolution: {integrity: sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==} + '@esbuild/linux-ia32@0.28.2': + resolution: {integrity: sha512-CYbnj78HsIeA+DhgUKgFCfvNsTHFhMMrinUrMZpDXJXKN8T3XViTZ/+wtHeVxEWY8ewSzTFN+nRmSwO2tZaLUQ==} engines: {node: '>=18'} cpu: [ia32] os: [linux] @@ -721,8 +726,8 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.28.1': - resolution: {integrity: sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==} + '@esbuild/linux-loong64@0.28.2': + resolution: {integrity: sha512-buwkd8nsph4R+ajRvw0qM5Hja/TXQow3ptzWO2EbG/cqcIkHloRrdlBtQlshyYGTNFvfkfJ5tpPLVkY4DtsPfQ==} engines: {node: '>=18'} cpu: [loong64] os: [linux] @@ -739,8 +744,8 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.28.1': - resolution: {integrity: sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==} + '@esbuild/linux-mips64el@0.28.2': + resolution: {integrity: sha512-ZVykbDyk7519VwiNb9Lcj9m8XM6v5V9uKPvrEMkkEedVewf+0itkhahp4HDpgERXhwLRpWFypsGbG/J8s0QjJA==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] @@ -757,8 +762,8 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.28.1': - resolution: {integrity: sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==} + '@esbuild/linux-ppc64@0.28.2': + resolution: {integrity: sha512-CAXl+Dtd9UUuJd8pKKdwh6MLm3MUMiqMPmhZ3tTSXPqfyQ3vDl6R5hZdZ/kYojK4ofXtdfSv1tFq8XzWx3heNQ==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] @@ -775,8 +780,8 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.28.1': - resolution: {integrity: sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==} + '@esbuild/linux-riscv64@0.28.2': + resolution: {integrity: sha512-GeXCej4IQtU1B+QlDV8W/RRvbzI3O/Stss+/bCXv4lZls5WGRtu2a+3JkA3i4qIUlMXpcHebWpF8AkJhATowuA==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] @@ -793,8 +798,8 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.28.1': - resolution: {integrity: sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==} + '@esbuild/linux-s390x@0.28.2': + resolution: {integrity: sha512-3H1weTYZPxt/WOhByszQZybS9w5lKzUn1FDMsgEChbHWQwHYQQRfBxgCcZvPhjHfKyJjIievvMmEUawJrdY9Dg==} engines: {node: '>=18'} cpu: [s390x] os: [linux] @@ -811,8 +816,8 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.28.1': - resolution: {integrity: sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==} + '@esbuild/linux-x64@0.28.2': + resolution: {integrity: sha512-4xTZr1FUmSoQW4XIWmit3tzQrUTZM+N3P0XV8xROKYF50XfI7xeO90+1bZvNwxIufQ9hDQVRJH5YhgPVF8A/HQ==} engines: {node: '>=18'} cpu: [x64] os: [linux] @@ -823,8 +828,8 @@ packages: cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-arm64@0.28.1': - resolution: {integrity: sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==} + '@esbuild/netbsd-arm64@0.28.2': + resolution: {integrity: sha512-sSATRjPeDBg3pdgHoQfoYBob11Kk1FGa9lui5RIHZCoCkJa9QKlvl3/vKz2usCmYYjs7ymJR/2Nnsqe+Hjt5nw==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] @@ -841,8 +846,8 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.28.1': - resolution: {integrity: sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==} + '@esbuild/netbsd-x64@0.28.2': + resolution: {integrity: sha512-lqnzCV+mM0gIADaKihiCg6ifgfU2L3h5E33rNQBN1Y4MaVGnzryzmvvf7UHxprpQdE8hpqLolJ9Rl+SkIRDpyw==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] @@ -853,8 +858,8 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-arm64@0.28.1': - resolution: {integrity: sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==} + '@esbuild/openbsd-arm64@0.28.2': + resolution: {integrity: sha512-AL2qJILH7lNjrDmCQDvdxMfAUIv8KMNZOvrwAQ8i8//ntL9FflhOyMJ8OZSMBb8/AWXe3/5v5S20y3zCoZWKoQ==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] @@ -871,8 +876,8 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.28.1': - resolution: {integrity: sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==} + '@esbuild/openbsd-x64@0.28.2': + resolution: {integrity: sha512-QtiuPytchRyC4rwUKhexJdQKvDuZ6hWloi3igqPQNUJCS1/v9EiO3UTOXR6A3FoMo4fnAKbWJdqaIwhOzh8qEw==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] @@ -883,8 +888,8 @@ packages: cpu: [arm64] os: [openharmony] - '@esbuild/openharmony-arm64@0.28.1': - resolution: {integrity: sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==} + '@esbuild/openharmony-arm64@0.28.2': + resolution: {integrity: sha512-WkhYDmpTjLvGlScA1rwjRUmhl4k8oXR3cIbtqWmELgU/dFeHHlEllxDvdWcNJV9rbzCexB5vz8gtNewWLgCT7Q==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] @@ -901,8 +906,8 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.28.1': - resolution: {integrity: sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==} + '@esbuild/sunos-x64@0.28.2': + resolution: {integrity: sha512-GPMSkTOtMnv2U2F8gxe4Io6qmVs+YKyp832Etqqxr0hFngmXQ3rzwytelm3GIn7T4VviRUlf3sOgBOiTdvaf7g==} engines: {node: '>=18'} cpu: [x64] os: [sunos] @@ -919,8 +924,8 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.28.1': - resolution: {integrity: sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==} + '@esbuild/win32-arm64@0.28.2': + resolution: {integrity: sha512-PIhhEkE9uPBleRBrQEJpUn7MBnibZzbGzYWPmY3x+YoVg/95zbjB4CxPPOQ8l5tYYM4mMaCthF8/1DIfBQQyWQ==} engines: {node: '>=18'} cpu: [arm64] os: [win32] @@ -937,8 +942,8 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.28.1': - resolution: {integrity: sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==} + '@esbuild/win32-ia32@0.28.2': + resolution: {integrity: sha512-YmJbfTlvU7Sdn9BB+4PRES4oB6pxgS37MAONj+hBr/cpXS1aBPKXxNnDbu+QCWPj0o9dgyxeq79g6c5P8KeuYA==} engines: {node: '>=18'} cpu: [ia32] os: [win32] @@ -955,8 +960,8 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.28.1': - resolution: {integrity: sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==} + '@esbuild/win32-x64@0.28.2': + resolution: {integrity: sha512-5ebpxr3nWMzrL/rnUI755Jkuee0bHL/Gq0WTF9lvcpv73wAp5eu8MfBUgWK9bhWvZjj7yX8etf/8tI8Ney695g==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -996,31 +1001,34 @@ packages: resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/plugin-kit@0.7.2': - resolution: {integrity: sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==} + '@eslint/plugin-kit@0.7.3': + resolution: {integrity: sha512-IkO+/KEUvwbVpiURZg+P7zF74z5Jxe0UgJxVni+RtoHQ6IZieXaO02kmadomap/q+l6bc/jdPGGqTjhuZnuz1Q==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@fastify/accept-negotiator@2.0.1': - resolution: {integrity: sha512-/c/TW2bO/v9JeEgoD/g1G5GxGeCF1Hafdf79WPmUlgYiBXummY0oX3VVq4yFkKKVBKDNlaDUYoab7g38RpPqCQ==} + '@fastify/accept-negotiator@2.1.1': + resolution: {integrity: sha512-gO48sJ/4+P9hYE24tEoWQF4fZvCfRmStf6NFhuT5hwXkH+3JXGdemoE/7ympeQZglieeLJx256rbg8e58IrCyA==} '@fastify/ajv-compiler@4.0.5': resolution: {integrity: sha512-KoWKW+MhvfTRWL4qrhUwAAZoaChluo0m0vbiJlGMt2GXvL4LVPQEjt8kSpHI3IBq5Rez8fg+XeH3cneztq+C7A==} - '@fastify/cookie@11.1.2': - resolution: {integrity: sha512-Dtrpk/YOGUsbRMvP/8ZqPpwnMRv0qSqodFdoQ2B589Obc7jw4s4Qla+cV72Bsm7WsZJnqlYFX/i7uSBq0xzg6g==} + '@fastify/cookie@11.1.3': + resolution: {integrity: sha512-RBhlMNsmSG6C5KGiTkhSXBF75xIrUMSytDDBcpnVewhJ8XVYnJTu+SV6FYKXClIRsBuRjOfKbBSULvnPD3X/mg==} - '@fastify/cors@11.3.0': - resolution: {integrity: sha512-ggQGua+xHv1MvePbPr0v//xLYEsCXbWspquXCJS9Ot5YoRXq8J8ZWzHnxDBVnbtXosvistXo6LtNzOJswf64Fw==} + '@fastify/cors@11.3.1': + resolution: {integrity: sha512-gZXNzd6FLHzOIfvoK4+Az3Wko2V6Y0MIsLxpyo4AEYl7a9q1JBPwPaxLea4nkr++8FCiJiPpYYo6E02uZW0dqw==} - '@fastify/csrf-protection@8.0.0': - resolution: {integrity: sha512-CG0XcZ74A80+vxPngj1uYUPb8SH808zUO4Ee9/mzRj8O2zUt0P6abCga1M9j5wV5I7U5aIL2mIXYLH8xno3E2w==} + '@fastify/csrf-protection@8.0.2': + resolution: {integrity: sha512-5EiY9fodwg0xvtSUrUaYZ4a2TFWpR+n+v9JRnFAJ1GIGwmfImZdqI286w9u7iK65Uq+hHU76tJqnAl8lN7sDZw==} - '@fastify/csrf@8.0.1': - resolution: {integrity: sha512-dAmCrdfJ3CV/A/hHHK/rRBjjLRRSIltgJB0BxiVfbhr/31G6fgF8l2I8evtH8mjS5kTIvd0JOh7MOA3HA6eYDw==} + '@fastify/csrf@8.1.1': + resolution: {integrity: sha512-PWsrdJsT87+wda4M30XAOT34cpMP82rIklTYP3uAZ5VPUAa1I3vfBW1k1UfwuxdOBJaxezuqz6tzeoiXrWKqVA==} '@fastify/error@4.2.0': resolution: {integrity: sha512-RSo3sVDXfHskiBZKBPRgnQTtIqpi/7zhJOEmAxCiBcM7d0uwdGdxLlsCaLzGs8v8NnxIRlfG0N51p5yFaOentQ==} + '@fastify/error@4.2.1': + resolution: {integrity: sha512-MYBumuIwP+5MIpXSyKm6/o1Eigcoij186lWUssX3LH5U8KWqU0ktZhzC4CErIX9EJeQeRGI+zJZQWakBlFbUcg==} + '@fastify/fast-json-stringify-compiler@5.1.0': resolution: {integrity: sha512-PxcYtKLbQ8Z+yApiqjK8FwxIwvEj38k2OiLc17u8dkJSlmfi2wHHPaSnaoqBPQqtvF8YVsDgDpP2snDCfFrpfw==} @@ -1033,14 +1041,14 @@ packages: '@fastify/proxy-addr@5.1.0': resolution: {integrity: sha512-INS+6gh91cLUjB+PVHfu1UqcB76Sqtpyp7bnL+FYojhjygvOPA9ctiD/JDKsyD9Xgu4hUhCSJBPig/w7duNajw==} - '@fastify/rate-limit@11.2.0': - resolution: {integrity: sha512-X7osJd4XSvMoejYrnJkSZYYjY1eNYoBqhjlzf1RakC2204qExFqZFTKj5+T7VuzA/iUI9Z3UoSqQRkB2HpG0oQ==} + '@fastify/rate-limit@11.2.1': + resolution: {integrity: sha512-uTQjii3tJUnb6ZyEMcunuvKE3FDKNZEaPpxdyWADDgthHnUV1swdvwuiZfi3DDDgxm1iBrhOkQ/w0yDBQ8qJtA==} - '@fastify/send@4.1.0': - resolution: {integrity: sha512-TMYeQLCBSy2TOFmV95hQWkiTYgC/SEx7vMdV+wnZVX4tt8VBLKzmH8vV9OzJehV0+XBfg+WxPMt5wp+JBUKsVw==} + '@fastify/send@4.1.2': + resolution: {integrity: sha512-PitRBXg/N4IrE5ToLuP7lITI5Mz8MmP13dv2aMtMNfaGfc5W5hNOwHqcsdQdqu0Lwm5cpDiYLkiOsZTgmhyt2Q==} - '@fastify/static@10.1.2': - resolution: {integrity: sha512-G/g18cG9tLutT/OVyN1AIsHIl9L1UwmJ+S3dkyhVpplIx0nEMicd7RGQ+uJLyhKKF4a3tTcQydccn3Mop1fX+Q==} + '@fastify/static@10.1.6': + resolution: {integrity: sha512-f3x9XisI+y6AIhIfA/+Q3SFsuXeqNNk5HQh5htgHsPxmMLb4pLFskV6eFaLSW3IbI4azrS5np+/tkzXNH99LyQ==} '@grpc/grpc-js@1.14.6': resolution: {integrity: sha512-SgC/B3/VZ8lTyOZ4Cwk6f1skWhmkNAaVfiX90qd5u1rRXGKk1//8FTUEN9GvOUq7rfWIqAYkA3CoyumYVpOS6g==} @@ -1090,9 +1098,21 @@ packages: '@js-joda/core@6.1.0': resolution: {integrity: sha512-H8NTMRDJqad/leyv/D/A3kSOsf5/58Ydj4DJGDyaCWk9OU/zuZOLhndVffJgQjsgrn5GC0znHMHie7TfvPPG4w==} + '@js-joda/core@6.3.0': + resolution: {integrity: sha512-mdmjc6lJkTCORsHlMxBT9XM1yLqgtsNZmv/Hwme2v/HIb15D2XcmklZKTnynqBgsSizA9SkFvzpuksfIXhDV/w==} + '@js-sdsl/ordered-map@4.4.2': resolution: {integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==} + '@keyv/bigmap@1.3.1': + resolution: {integrity: sha512-WbzE9sdmQtKy8vrNPa9BRnwZh5UF4s1KTmSK0KUVLo3eff5BlQNNWDnFOouNpKfPKDnms9xynJjsMYjMaT/aFQ==} + engines: {node: '>= 18'} + peerDependencies: + keyv: ^5.6.0 + + '@keyv/serialize@1.1.1': + resolution: {integrity: sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==} + '@lukeed/ms@2.0.2': resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} engines: {node: '>=8'} @@ -1107,89 +1127,82 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - '@napi-rs/wasm-runtime@1.2.1': - resolution: {integrity: sha512-KjZdi8Q1wh89gsVmghvbrMgWl6ZWmRmHV6wjB7/g4Zf0dyO+hH3neZUtuDNPO00qq5YE5RITVWvrIZKRaAmzGQ==} - engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0} - peerDependencies: - '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.3 - '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.3 - - '@opentelemetry/api-logs@0.221.0': - resolution: {integrity: sha512-OlanaW1vv7ufTqQ3/fPLI4arGt5ZoM+P8abOMki6uEYnpRazepSWDwDnnw+la7kE26SHVC18//SMccrDvLKOXQ==} + '@opentelemetry/api-logs@0.223.0': + resolution: {integrity: sha512-Oepm6etVPFCn0VWB1t833iOTgz1eYBDUPxcrOR/XvwzD1+Ag9VzSPSrrKAFNJ/haatj+8CXbG47pZXvdNQKDJw==} engines: {node: '>=8.0.0'} '@opentelemetry/api@1.9.1': resolution: {integrity: sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==} engines: {node: '>=8.0.0'} - '@opentelemetry/context-async-hooks@2.10.0': - resolution: {integrity: sha512-bvyMcgLEkozzSzpEEEo1OMoeQ97bxj6Qs2uN3mPrSdDvObMI1myffD/BPqcLlzZO9//d1SqQA/WPw7Cz2AiqhA==} + '@opentelemetry/context-async-hooks@2.12.0': + resolution: {integrity: sha512-iK/1nD7mmZVkuYjVjkdFBiCvzntJdFny1S3CYbUYyOq7V5enL6XX+gJ7eh965L1LnS11VA8mQ7Ej/ck04SB0MQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/core@2.10.0': - resolution: {integrity: sha512-/wNZ8twnEQQA4HoHu22+vcsdru6pWPWxW+7w+FlxT6Id7PE/WIbZmVKkte+PF72e0F2dnImFeHD2syyE1Mw6MQ==} + '@opentelemetry/core@2.12.0': + resolution: {integrity: sha512-1HsSAuvT4/my0QrXWsyXFdWjKaPeCHsismKZgEEIb8NK13LP6DrMRlsUbvD/0F9mDWK3xDom9AMv3IscxgOnOQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/exporter-logs-otlp-http@0.221.0': - resolution: {integrity: sha512-nKXkr4Tomi6fjYVOf+ytcW3dZAVr4v4Bv5gsT6dr2gvpUPJpKgHB4XbMufMsPotRE3g0XH2GwVVCkN2w6SON+Q==} + '@opentelemetry/exporter-logs-otlp-http@0.223.0': + resolution: {integrity: sha512-YQh9+t/JmV9OeRkoLhPb4yvcrWCX6lAOmXFos/JKoD+KITZYZoxf0acnwAk6YDI9O7fX68O2ka38hx1G9exl8w==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-trace-otlp-http@0.221.0': - resolution: {integrity: sha512-AySXiKoC+meiWm6zdVj5T2LnPDZuatveBby1cMOeQteIWsYXAUxs8Sru13G2pVSPrUXz6vF+og7QVBX6GdC/oQ==} + '@opentelemetry/exporter-trace-otlp-http@0.223.0': + resolution: {integrity: sha512-N8NWZaoQuF9e307S6xoVoI1lvxOOFkmBnynD42r02CPCfxoC95cJExAKBFrTD4C5iuhqthbzOZJN/W29ez4o/A==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/otlp-exporter-base@0.221.0': - resolution: {integrity: sha512-UFPIq80OH3Ns/oPFHRj14d4DTOxUo+MUFU8hUiCq5jTqFhdeJnfVSANHT+xp92409cA+oxzvlZCe6NM1wvCuBA==} + '@opentelemetry/otlp-exporter-base@0.223.0': + resolution: {integrity: sha512-HlJMrJXjOqdQeoYNDHEvFTpaY2p9uWDK1GPl5AZ4wI5easzfoppTduOv47M8eiF+4ew42vfI/Xvt7THYgESnRw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/otlp-transformer@0.221.0': - resolution: {integrity: sha512-lg6lkOU08Az23jVcn/0Els9HP+V8PnR4Km6p0KgpTggS0n/WuhnmY64rSh83Of9iR9nD+dpWr6adlcX8KzAwjg==} + '@opentelemetry/otlp-transformer@0.223.0': + resolution: {integrity: sha512-oxmmPL5/MbSsO8K588V9n/XLIe7FZTK30Fo+/U/lAnt0ZIK/hoPM03n2WpSTZVbUBGTUE7aLyxnAzh7nE2PD4Q==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/resources@2.10.0': - resolution: {integrity: sha512-q6MMm2zhggzsHVNbabYwut+a6nbuQQe3URUoxaojM/8K1IBfwwPzvxIjNi2/lI1TFe+fMHMW9MWhrtDLEXEnkA==} + '@opentelemetry/resources@2.12.0': + resolution: {integrity: sha512-+rSRoOdln6NhXTVcBdHSlZxJDNzwxadeweK2ltZO3tVtfp6aklABc06xclDk6ovRR+EiGgIcSbh/6NgjFhnb3A==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' - '@opentelemetry/sdk-logs@0.221.0': - resolution: {integrity: sha512-FaDcazjyMp7TZZZAsqbo4IkovP0UegoCu0EBkiNt+qCqvUf7FPAsfcrZ3+ZEkKgXZ/jHafop+JoGPDk3A0SmLg==} + '@opentelemetry/sdk-logs@0.223.0': + resolution: {integrity: sha512-ApiAfUiUh6fmJt1GbsBuoeDn8D8IL42UvGyPUr8o1Z89ZeIiOCE1rZ78KkIUjEX3OV8Oorl9ez5Qjo43ZynDyw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.4.0 <1.10.0' - '@opentelemetry/sdk-metrics@2.10.0': - resolution: {integrity: sha512-t6r1VSvXNtSDnPXU1FbZeetJb7yyovHmgu0wRSoftxtE0g2rSNhQZQUy69sRUCL+iioJpX8SN/S6wq6ZtvLySQ==} + '@opentelemetry/sdk-metrics@2.12.0': + resolution: {integrity: sha512-mVMaEHwCUJuY3S4Esn+nT0yQA3qCEGh+SOPJsXygU0Gl453WcsDNjtEa8EfdewMwoLyr1tlofB4fXytVpiXuow==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.9.0 <1.10.0' - '@opentelemetry/sdk-trace-base@2.10.0': - resolution: {integrity: sha512-GuYQQT7QD2EeO8lcZLRQzcbOyhqAzL+6WWTKTU9mSUBYBazkEDl+VrQcXQhbB08OWM9anD1aHleVadzulpOaUQ==} + '@opentelemetry/sdk-trace-base@2.12.0': + resolution: {integrity: sha512-JOERgZCxRM06FEJ5kEWxlSRChah6MmXDx3KwCruqEv/iEyLkTokCSemf2y1w8oIHtfrr8EVTpzebq/31vn2Cpg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' - '@opentelemetry/sdk-trace-node@2.10.0': - resolution: {integrity: sha512-GZK/G6oZyBLGlH1pUgeDch7D91KoHd2uotUGIkWCPi9GI5T9X0p4L7nNAMDR1BQjkRYoDqo+ddfVx9t5Uhys+Q==} + '@opentelemetry/sdk-trace-node@2.12.0': + resolution: {integrity: sha512-9DufH1IlmQMoKAfot5y/FhTP1RnmhLb5K6eKmJO/bvzPjYwPAazoiAUbTZFdPbqxOXN0FEbhZx/e6SB1Og4jmg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/sdk-trace@2.10.0': - resolution: {integrity: sha512-MfQGq3GRmTh5fM/y+OjaO0vj6+luCB1XO2gfXCalKCfgKw0eHL++sm75DNweC6ohlp+aFvACqeE0fYayqdRaoQ==} + '@opentelemetry/sdk-trace@2.12.0': + resolution: {integrity: sha512-ImVuRQ6faOsTi1Wna88s2avgrrf/iDgXPigIeynkUhjstMuoQUDOJXgkez2j1mlU4btjXcXBGa+q7qKFYR3GsA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' @@ -1198,8 +1211,8 @@ packages: resolution: {integrity: sha512-eSYWTm620tTk45EKSedaUL8MFYI8hW164hIXsgIHyxu3VobUB3fFCu5t0hQby6OoWRPsG1KkKUG2M5UadiLiVg==} engines: {node: '>=14'} - '@oxc-project/types@0.142.0': - resolution: {integrity: sha512-7W+2q5AKQVU36fkaryontrHn3YDt1RyUYXatw9i5H8ocYe2sPKSFB6eS8WNPeRKiN1qAWWZUPm7gwFzJGrccqQ==} + '@oxc-project/types@0.154.0': + resolution: {integrity: sha512-KYOUGQFlLWR+s4QMV2Q9ko38TZm7EdO87Qm7rvZLqk/webse/cDjtyxKhg/47l0byCbs/k46LT8qc4PKjAikzA==} '@petamoriken/float16@3.9.3': resolution: {integrity: sha512-8awtpHXCx/bNpFt4mt2xdkgtgVvKqty8VbjHI/WWWQuEw+KLzFot3f4+LkQY9YmOtq7A5GdOnqoIC8Pdygjk2g==} @@ -1211,8 +1224,8 @@ packages: '@pinojs/redact@0.4.0': resolution: {integrity: sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==} - '@playwright/test@1.62.0': - resolution: {integrity: sha512-9zOJ6ZQRAena31MpOH9VSzIz8Ou3YJ/wtY/eQm5T2uhfhG7/U3COrMS8xOtUrZrp9OgdmzEnIYODye3nY1VqzA==} + '@playwright/test@1.64.1': + resolution: {integrity: sha512-IaYGml/nSOiZWROfPtuIL7neuu9qDOZ3TNvNljUIrhDMxiGTgPjzj/g9p9RxpS2tSepPDRY+UwAaEeiKtUvIAg==} engines: {node: '>=20'} hasBin: true @@ -1243,96 +1256,101 @@ packages: '@protobufjs/utf8@1.1.2': resolution: {integrity: sha512-b1UQwcEZ4yCnMCD8DAL1VlbvBJE9/IX4FTIp7BG1xYpf29SLazLSrqUkj4w7Y5y7cCVP6E5tcqqcI0xemPkHug==} - '@rolldown/binding-android-arm64@1.2.1': - resolution: {integrity: sha512-02hOeOSryYxVrOIphmLAsqnCJWxwlzFk+pEt/N/i6OgT3lShHO7xGCU5cpgchRDHboAEbSjzgGh+O/u1GswQmA==} + '@remix-run/route-pattern@0.22.1': + resolution: {integrity: sha512-czdGJWh09Lapvcqt7Vb09KlrU2PhRJ8xQaI+AItTuD9aDJ5MAgxnS38lnys6Ll+6RJEqPiaUqTwIQhVLwFvv+w==} + + '@rolldown/binding-android-arm-eabi@1.2.14': + resolution: {integrity: sha512-aWR+XKH9+rW7m5fWq/5360J3mHycrx/o6xZM2DQFdJnTMdyP7/WzxPjhtLbVWdKo2y612/4U1bWqb3HQhiF7vg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + + '@rolldown/binding-android-arm64@1.2.14': + resolution: {integrity: sha512-QiVxHofl6A8lQU7WAtOUY4QMVZXohxwz7WJJoeh8NBEUyKfIkMRKhYyq8az/1RypNiIXzNTtiS6KwHz0erxYRQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.2.1': - resolution: {integrity: sha512-fMsTOnN0OjFm3CyppWPitKnc8UlliVARUULW6cfU6AIqjdtgmSFWSk9vecHzZduv/yMWIHDlRhM1e8Iff9uAfA==} + '@rolldown/binding-darwin-arm64@1.2.14': + resolution: {integrity: sha512-lTQOzHuBIooh3jIr5XINQkjPGEuGy+Dsy0meXDr6Sjty0b99kYgGh4uBC/8mJX1T0kC8d6S0aPP1Y+bHkh6aBw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.2.1': - resolution: {integrity: sha512-1wjKdz/XLGKHaTNHjQveQ/B23TKx4ItAqm1JbyVuvNPc4Ze0Fb48s49TAd/2zcplPl8okE/UbTgmlVfwT7eFeQ==} + '@rolldown/binding-darwin-x64@1.2.14': + resolution: {integrity: sha512-hyMKEGatjmBYCs/Q4sbIcL/GqpFEqsX3wc+HYVQ/85A4rxc1o7rPm4DUI4GV4k/h0ITddwFSGpqQunI14GXjTA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.2.1': - resolution: {integrity: sha512-Fa0jHR07E7YBN4vOEsbVf2briYNsuOowfLJaXULZM0ldMlaCaj2LJgLMbMe4iacRyZmvR8efFhgR9wKuGclQUg==} + '@rolldown/binding-freebsd-x64@1.2.14': + resolution: {integrity: sha512-u371GbXoVXrEgP20PwzoGNOdAOqAMhzo19JzzY+V4YmmnC+DTOoqdbMu+O+54emM59Mik/UdrtWgcuEDKWRPKA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.2.1': - resolution: {integrity: sha512-pzkgu1SSHGgRRyRZ4fbmSgmajbVt+epaLP99NDjFft69v/ypfTi6swBMiVdh2EkQ0OSnHE1lZDM7DRGkyAzUpA==} + '@rolldown/binding-linux-arm-gnueabihf@1.2.14': + resolution: {integrity: sha512-BqwKsdZQf6EqVWr8fv2MrDYzAvOZ7+NYFSJESRGs87fkseEhs0TU9TXgRJTkZoRRkxTizyEg1LKUXfU3/78uqg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.2.1': - resolution: {integrity: sha512-QI5SEDY8cbiYWHx0VO4vIc3UlS6a32vXHjU8Qy/17adEmZIPuByJg13UEvo9c/UCiUkdcVWY83C+b+JrwnNyUg==} + '@rolldown/binding-linux-arm64-gnu@1.2.14': + resolution: {integrity: sha512-SD9kY8M009x/7s57Z1dgUVlP5+uYBgKQK0Tkr1WIWngrtUJmRCW1RJFMY7QDla2khXhmg2i5Io7MUjcmZNZ/KQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-musl@1.2.1': - resolution: {integrity: sha512-Sm41FyCeXqmYcERoYOCbGIL5hNfd8w9LQ7Y61Bev48HkcjaJqV/iiVOaiDxjVTRMS+QKrZmD8cfPt4uMVnvM+A==} + '@rolldown/binding-linux-arm64-musl@1.2.14': + resolution: {integrity: sha512-BJ2CL19M6uuWesMgnqJzgxoI+N+eV7b0A9O9vLV42y+gitC41fNa8KElau1tHVzuLWX5GzEuxMPhAO0tQXQMkg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-ppc64-gnu@1.2.1': - resolution: {integrity: sha512-2x+WhXTGl9yJYPbltW/BSEPTVz9OIWQyER4N+gJEDWkkn904eRcBzELqh/Hf7K0w/ubGbKNMv0ZC+94QK/IFEg==} + '@rolldown/binding-linux-ppc64-gnu@1.2.14': + resolution: {integrity: sha512-4+Kl8daPV8NDHaD7mfCcc1pRM+Qg7ab8DyMm5FG5WoZgv4h2i3KFN1CybYBNbQqmuYm7ftJLvmMI1eHYJ22S/Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.2.1': - resolution: {integrity: sha512-eEjmQpuRQayHPWWnywaWHkFT3ToPbP3RYy42VVd/B9aBGDA+Ol25EIWHxKQST3IiWJjikCWUF7KtbfqwZrzVwQ==} + '@rolldown/binding-linux-s390x-gnu@1.2.14': + resolution: {integrity: sha512-V/h8ePq1fKDrmtFMz6xcCN3DKvuvMRrwwD1q0PkBeeo4DpK64biaKvqWGVxqCeYKqeRk7gE7/iKPxLCn08O97A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.2.1': - resolution: {integrity: sha512-/Orga1fZYkLc/56jBICcHrKchl8Z2UKdDSr3LG9ToWO1lQ6a4Livk9Xz+9WN91zsz5QR3XQz2NNoSDEvP6qadw==} + '@rolldown/binding-linux-x64-gnu@1.2.14': + resolution: {integrity: sha512-WxalXzgrLVpKC93xfpaJ3gCXUWzeCr+FRCbDVD2mUAy4L6Vo3lNVz0epUEUpxPWJkLNYUwM4OSIikv36OJ9mLg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-musl@1.2.1': - resolution: {integrity: sha512-xxBJRL+0q0Kce7orznGWLuylHDY65vuARXZRpX+hPdv+DqK2c3NlCsVA98tlWzWNEE7yPqA/1NQ5nnCrj49Y5A==} + '@rolldown/binding-linux-x64-musl@1.2.14': + resolution: {integrity: sha512-3G3tnAmTpdk9jO3GQtyHXqeFD2SlecfTws/Y3M2mmj9nMBwwuLT4kur8sZKeu7ENUHSpVO3cIsm5A52LEWWwlg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-openharmony-arm64@1.2.1': - resolution: {integrity: sha512-M6AdXIXw3s+/8XpKMzdGDEXGS1S7kwUsy+rcTIUIOx5Ge4nXKCtAFHFV9YKkXvGcC5WMoTjAteLzlsQROVI0Yw==} + '@rolldown/binding-openharmony-arm64@1.2.14': + resolution: {integrity: sha512-qyr5XiNGxm2ytx17vvtcJ9nXn6v1gENETi503bJx3OGwZ1tSonj7BosxbMa/xeAfSl5iS9X6KjEWYXLu6v1L7Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-wasm32-wasi@1.2.1': - resolution: {integrity: sha512-/TX0SoRGojHzSAHpfVBbavRVSazg5U3h3Y3VXfcc0cdugq6kxdqw8LPGFiPr+/7gE/60zRcsOY2Vi9b9eT0jww==} - engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0} - - '@rolldown/binding-win32-arm64-msvc@1.2.1': - resolution: {integrity: sha512-EvRrivJieyHG+AO9lleZWgq+g0+S7oV2C51yuqlcyU/R9net+sI4Pj0F+lUoP2bEr6TWX3SqFaaS0SzfLxSzkw==} + '@rolldown/binding-win32-arm64-msvc@1.2.14': + resolution: {integrity: sha512-oA4o5o0S2yB199YyYXDzKUv1Z56Rc+mgOjwm7Z/vJ9Z8igiDPYvoOuDyo6g7AK/ZaF09nPhDKVnGBcYHO11GXA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.2.1': - resolution: {integrity: sha512-Z4eCmn5QJ/5+azF9knpLWKfVd9aidn0mAe9TpJgvBLId9Ax3t0+JVxBmT25Bv7NBbVW1TZyKjQjQReouMeH5UQ==} + '@rolldown/binding-win32-x64-msvc@1.2.14': + resolution: {integrity: sha512-9mE94bf2GZUaR/fUSXCMpBoWkctu421Mi0ORpm4zqfbkjKep7RxzPFa5etcGs5h+2KApoWBOA/hAJa/7saGgEQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -1343,50 +1361,47 @@ packages: '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@tanstack/query-core@5.101.4': - resolution: {integrity: sha512-gNwcvOJcRbLWPOLG/2OBm+zM+Yv+MKsXKEOWC57USuZDEsI71hEErQsiEGx5wX9rzWWkfwM0fVSPoiIFSsxfiw==} + '@tanstack/query-core@5.104.3': + resolution: {integrity: sha512-DZY9TuJAOgU3UyHUhXb4CcTYEHNZszlwkPg4VViIwTxOKzLprPUU+rbaPZQd3srqkGOtpaDdKpW972UV/LKlcg==} - '@tanstack/react-query@5.101.4': - resolution: {integrity: sha512-yRg2pfOCxIs4ZJW3XYYHU/WgtD04FHSnfHlpRT7h7pR77hwkdRG4wxbKe4aq6P0RvXUTBSQpQeadS1SUYUe+KA==} + '@tanstack/react-query@5.104.3': + resolution: {integrity: sha512-5Ts1ImwJKqoJgPkLxl9WrPQy1JEoEmti3MaaODCfBamHUGFk57IFrc+AIksPq+BAm10EsroX56qm398Z42LG7w==} peerDependencies: react: ^18 || ^19 '@tediousjs/connection-string@1.1.0': resolution: {integrity: sha512-z9ZBWEG+8pIB5V1zYzlRPXx0oRJ5H7coPnMQK8EZOw03UTPI9Umn6viL36f5w+CuqkKsnCM50RVStpjZmR0Bng==} - '@turbo/darwin-64@2.10.7': - resolution: {integrity: sha512-/c9cSBRermWDv85oufLhoH6XRLOVbvzJLRd+WLyfJCP+i0HFLQj4PVNDrHcY17/ve5l8X0Oua4bJBqJUgJPnZA==} + '@turbo/darwin-64@2.11.8': + resolution: {integrity: sha512-u+6s4C2hskRYx6MkW2uT7BCW6sESCL/+5bjHDDWUfQfQliCSJ7lAHAL6RQaw0an9WU6nJvwYgT786mEWul2kDw==} cpu: [x64] os: [darwin] - '@turbo/darwin-arm64@2.10.7': - resolution: {integrity: sha512-8lpCCGWZBl9PIF8w8f2iEWrLMbHBWIfJeV6l2UEGqysD6HRIM4ySj/8R7HGEzbECJ4r/gnJcHmxEoG8yjFe64A==} + '@turbo/darwin-arm64@2.11.8': + resolution: {integrity: sha512-y3qpPbclA4MuzAf/pSp6ivifp2mBCiLMHyf/bVq2eAJLjTnzev9JG5eqFhM0UvDGi0b3QKRNZi2HiavPnLbEbw==} cpu: [arm64] os: [darwin] - '@turbo/linux-64@2.10.7': - resolution: {integrity: sha512-Midw9Ed00yw9rqkWN82fY3LmLNFQ6yiL1GXB56DJKUEjWaEd27zh7ohCxzzrjfjQVrEeVWd3UPytTAV16XDQlA==} + '@turbo/linux-64@2.11.8': + resolution: {integrity: sha512-5Pm0icIkXPjk/HxhZD2AFMCyfH8RlITgtOksoSAdeLtXHAagzAqaAkdqG+6Ebd3eGPT1k3nJZWQD4wCLlIte5g==} cpu: [x64] - os: [linux] + os: [android, linux] - '@turbo/linux-arm64@2.10.7': - resolution: {integrity: sha512-UVEy+MW/xn4BcsiV3v3uv0/oObyaQgVtRT+Jj4WE53rNH05VEYEc1Z13q3zV6276wCZR4Yxc4hiTTcjw7PjSpg==} + '@turbo/linux-arm64@2.11.8': + resolution: {integrity: sha512-gh/Pcg7WVLS22SpoFqNxs/4y6feU/+Qa9nkCLTOHMTLjE3ADeqMjLFulq1LVCsWD2vjQccCnaZSUOLJ/lHzBRQ==} cpu: [arm64] - os: [linux] + os: [android, linux] - '@turbo/windows-64@2.10.7': - resolution: {integrity: sha512-l2nH9KGLV46SWjcXvyc2+xo5gdf5J0NVADknQk9OCJhzJBpiNl/byd26yIfwZBjLupdqT6UOdPhPxcpUPxRykQ==} + '@turbo/windows-64@2.11.8': + resolution: {integrity: sha512-NnHtcWPE6PymlYsCKEuYditlY/nMeCEB3xyD4yc3cpqpxW7/4Xqdlqd5TpqvEpjS8CDazPHelGCQS/ghUIoZ6g==} cpu: [x64] os: [win32] - '@turbo/windows-arm64@2.10.7': - resolution: {integrity: sha512-qjE1apG6RThuX49vUJd5ks2dV2ndXC2qktDChQonFMvUzrMrEnZMQzO+IgxBiYq1j+NbXQcRwj84nGnk1TBw1g==} + '@turbo/windows-arm64@2.11.8': + resolution: {integrity: sha512-o8UyM/VlYCvW5Enfo2O37Pe11p3wmnEYtJrohXA2SyOlehmo5KyXpptPRKrXOMNfdmoYEulo6Nhj0tIv2UB0hA==} cpu: [arm64] os: [win32] - '@tybys/wasm-util@0.10.3': - resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==} - '@types/better-sqlite3@7.6.13': resolution: {integrity: sha512-NMv9ASNARoKksWtsq/SHakpYAYnhBrQgGD8zkLYk/jaK8jUGn08CfEdTRgYhMypUQAfzSP8W6gNLe0q19/t4VA==} @@ -1411,111 +1426,107 @@ packages: '@types/node-forge@1.3.14': resolution: {integrity: sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==} - '@types/node@24.13.3': - resolution: {integrity: sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==} - '@types/node@24.19.2': resolution: {integrity: sha512-93d49wCWJkCyN87MxLpNN6KXPCwFw7bVUg79mGUV1OS40JGWwVCr8n61DXCSqz7CV6/VfPkb7xec7uP2M+QHWQ==} - '@types/node@26.1.2': - resolution: {integrity: sha512-Vu4a5UFA9rIIFJ7rB/Vaafh9lrCQszopTCx6KjFboXTGQbPNasehVR5TEiithSDGyd1DEiUByggTZsg8jukeIg==} + '@types/node@26.6.5': + resolution: {integrity: sha512-uMzsv9stDdofIZBx4UGh4Z9ZgXnGC9seRDscilBcTHAeOFk67MZg/k9bWVfO+bk4qZmG+l52hRnLwUiH2LnJTg==} - '@types/nodemailer@8.0.1': - resolution: {integrity: sha512-PxpaInm8V1JQDd4j0ds5HfvWQk8JupS1C0Picb96QJsrrRDjBH+DlK7L4ZdNSqNULhiZRQHc40nLVShaGxXAMw==} + '@types/nodemailer@8.0.2': + resolution: {integrity: sha512-c7M5ox8p0nEOfbJ2E9Qcmt8/QCu/VzsiAhzBiZbvky2PhKZDHpKB3sQHBM5MEZNkCfBOaS6S9//AGPRTNB7IaA==} - '@types/react-dom@19.2.3': - resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} + '@types/react-dom@19.3.0': + resolution: {integrity: sha512-ZI7bU42mZXXKHn/qNLEw2IrbiINU7X5+vfgdixBHkCNpYWXjKgfQ/P+uyGb5CjOLB9UcnTeg3rylQtV2hym44Q==} peerDependencies: - '@types/react': ^19.2.0 + '@types/react': ^19.3.0 - '@types/react@19.2.17': - resolution: {integrity: sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==} + '@types/react@19.3.0': + resolution: {integrity: sha512-N0rFCuH9YoxG9/m61l9MfpJKfmLOVU0em7ipIz6TRgSSkvReLB9vL85GB+yr8Bs5leqpvg96JSwF4ZS1s4viQg==} - '@types/readable-stream@4.0.24': - resolution: {integrity: sha512-NRvUNC/JFGPJvqdAfEve8oginbM6V08u5NzLWpG8MwA2kTPOLnqk+wpwuPT+mp3aUsxyuT6m2gnrPuHYCruzEg==} + '@types/readable-stream@4.0.25': + resolution: {integrity: sha512-7GsxL8Wd5X3jh73/qgW7WCnbBvGSdD8U3E4Jiuus3/8I+PN20DtlkJtwFhr/sImXfDDQ2Z03i/9wNiIF3TVSsw==} '@types/trusted-types@2.0.7': resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} - '@typescript-eslint/eslint-plugin@8.65.0': - resolution: {integrity: sha512-IEgob78X12rHpUmtcwFsXhZdVGJtwTVP8FiCLZkR6GlYVrl2PcuB+KhCE5BlVC/eQpQnu8WXRtkHZuPar+gCRA==} + '@typescript-eslint/eslint-plugin@8.71.2': + resolution: {integrity: sha512-K72/pvT7qpm8q3k8G5u93NCSN1RcLxX5h7Gw0bQpbMXviBHeY6Nx1WEwmk9wP+eKTSQ8ecxvcgt/ZX/rB938xQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.65.0 + '@typescript-eslint/parser': ^8.71.2 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@8.65.0': - resolution: {integrity: sha512-CZ4nMxWwgu1HEEFNkeaCptra9QCtkmKdgf3sWh1rl1trIhmxLilgTV4cwcbQ4wemnT4sWQN8CaKOmdYx+g2gMA==} + '@typescript-eslint/parser@8.71.2': + resolution: {integrity: sha512-aTtmZjp/x3gsGHkDs04/1I8kNogBJkpQaeGaN0PfiG43NzDEmW2n+OP5im9wfsvyX0yP1UZWBrAGtDBfH9jEVw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/project-service@8.65.0': - resolution: {integrity: sha512-SxnPhbTsGahizDgbu7oqFH/xVtzIqMd/s+WtnSxNxJZJpLbdT5IPdzg8EZxO3+PoKahXmwJLeNQOpKJb3/bi7Q==} + '@typescript-eslint/project-service@8.71.2': + resolution: {integrity: sha512-Pd68GsLVh5ZXlcEccFPdhSOvtHZ/2WU0XsA8zmXOS3F158lVlcTLhfQ6qvtL1RzbMie0Kp8xtbVwAg4nejKPHw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/scope-manager@8.65.0': - resolution: {integrity: sha512-Esbl8OSYiVxBokYgWPf7VVWg/BE798wXhimnn9ML9Pt5qoDf8bfQlgjlKXR/k98+AcNzlLKYrpCcrcuZ9DZLgg==} + '@typescript-eslint/scope-manager@8.71.2': + resolution: {integrity: sha512-YF4wgg5iUX5Obywoac27B56FhozMNFhdJSbh11H5GBAwmBtfyRhmgTQqW9tRNNmHDvsZ2CX6UGzoz+YfYn2Leg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.65.0': - resolution: {integrity: sha512-j6GzGqCiRdA7Qhur2VVmKZAkBLfnHFQfx4TaJGL9RMveZqCo48jSHHO0DTgizEnGhtWnqmbtCUSrqSkdiY/0Hg==} + '@typescript-eslint/tsconfig-utils@8.71.2': + resolution: {integrity: sha512-jz49TAWokm/7yWD9/o837nYax9DyALxIPOImdImvVzo6canBCZYzin8zJyqNR5k1j9K1DE0bVvr0XYB+99uAdg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@8.65.0': - resolution: {integrity: sha512-YjaZ7PRI5qY7ax2L3PbvX0rRyGtipAReCWs0mhhDBHjH/vl0g0BonaGXrKdKpMbIIsMIwDgbk/xzkBTyAltS5g==} + '@typescript-eslint/type-utils@8.71.2': + resolution: {integrity: sha512-cC8UaalCViJkb3rH/xLIvidEwoFRtMZMUqDjjJMGEKaTFwYRHYBcoczlEGHuvkHEO8svRDrgZ0yQgOArFmwang==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/types@8.65.0': - resolution: {integrity: sha512-JSSwWNy+H0E/01jJEM+hrX6N0OFDzFzeIhHFSAS01tlVaevpG8cFyYRPhS5yjGOvBUx3sqQHVMjCL1CAZZMxBg==} + '@typescript-eslint/types@8.71.2': + resolution: {integrity: sha512-y5Ukl3oVp7e/VGxqIoEXoeb/Roj71PAJ4WG/N/RGj+eeDvKRLM15kGr9MijLbN0i03S52zxu31Z98E5gWChJKw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.65.0': - resolution: {integrity: sha512-JboAE2swaYt4tb1fHhHTABE2K+OLy09XfcTbhnk4Pw96f9dd2e9iYsJ28gBggHlo5z5x1rkyWvcPoTuNTd4oGg==} + '@typescript-eslint/typescript-estree@8.71.2': + resolution: {integrity: sha512-DgNOEsl4pdYzwSL+N/Cl33tX1Hlw3FvId73LnKXfq7jnrF2viOEn7X+P7RBkkSWCVm92gnWd28GIC5vJuLREeA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/utils@8.65.0': - resolution: {integrity: sha512-gXiwIHsYreboxeJucHKPvgwl7dXt50mF8s1/c00cP/WoVTyWKFdtfhRWwZiXYFU5H2O8vVoSLNrexFZjYS/SGA==} + '@typescript-eslint/utils@8.71.2': + resolution: {integrity: sha512-RyKa1G1M9rKHDhrk+HJtiF1MvLD5Ux2JW3TSkzw+02pRALdpJb+QzG1Y5em+LvCgzGwgg8H7mBRFKljNz7ImPw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/visitor-keys@8.65.0': - resolution: {integrity: sha512-8C71BQkGjiMmXtop7pHVJu1l2NNShFdkCyD6a2ezzs5vU/L3LRtb69EtcteFwz0mYMPzIgOw0n6OV4VBUWZd7A==} + '@typescript-eslint/visitor-keys@8.71.2': + resolution: {integrity: sha512-zozlN0UA32bSG2zkKAgQyRYSbEISVoyU6vvkKYo2aSny74D8Jh4e+POkJ6Lk0dlezZi5x7TtD+88Xb06IB8nhg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typespec/ts-http-runtime@0.3.7': - resolution: {integrity: sha512-JVUD8X2tfDMWjcjLs4yVxxVrS8yR5vnh386GAXT9Qj79nBxxXSaHFQZg5FweLmT8HlPQ3kii6noUB+Z9RN7DvQ==} + '@typespec/ts-http-runtime@0.3.9': + resolution: {integrity: sha512-edSdeAqkdxBVzA1yL1LrLCml1YjyCVvPMtMqJpbF+6K609tHe8V6sQUzFQSGcYNhcuhOceZtjvN32+mpIth30A==} engines: {node: '>=22.0.0'} - '@typespec/ts-http-runtime@0.3.8': - resolution: {integrity: sha512-bLMpVcWZNzq6lYOybwFwOAR1IXKcHnhUNqYeHjl1bET/qE3jFPFH+p8Wrh3rU4xwdnifPxmKNESBYnvnmc75aA==} - engines: {node: '>=22.0.0'} - - '@vitejs/plugin-react@6.0.5': - resolution: {integrity: sha512-BOVzne/NL162sMdResB25mUv+vWMF5NoAjNf09TeGlE7ZpszZWSD3winycicLJw72yeVsoCn/2kOhEuCvEShMA==} + '@vitejs/plugin-react@6.1.2': + resolution: {integrity: sha512-fhJNGUdscQa4HkI0xFxwonWyhnVReCPDbXI7FH7jmzpnVCrFQI7PRrhWecO263610vOrs9tr2Y4xcf8uAdFxbw==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0 babel-plugin-react-compiler: ^1.0.0 + oxc-transform-react: ^0.152.0 vite: ^8.0.0 peerDependenciesMeta: '@rolldown/plugin-babel': optional: true babel-plugin-react-compiler: optional: true + oxc-transform-react: + optional: true '@vitest/coverage-v8@4.1.10': resolution: {integrity: sha512-IM49HmthevbgAO4anp1hwtoT9wYe59w0LR00gr+eagHE+ZJ5lK4sLPeO0ubgoJcwLk6dehU3R24N+FbEEKDc8g==} @@ -1567,8 +1578,8 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn@8.18.0: - resolution: {integrity: sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==} + acorn@8.19.0: + resolution: {integrity: sha512-oJlA3XiRm7Cyk6qFD2Jn8ak9B7jSy0qy00ADO3+8dpT0LSjFihQYv4C02LFCSYJV3Q37xYwwRy5m+IpIiUzqWw==} engines: {node: '>=0.4.0'} hasBin: true @@ -1653,10 +1664,13 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - bundle-name@4.1.0: - resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + bundle-name@4.1.1: + resolution: {integrity: sha512-DdH81/zPLVS11EUgWq3tEu/xn+EzljlMYooDNdzWEnFha3R3NBMpMV1UqYIpjYHV/SgpFKMIX1Oh7o06SjM/oA==} engines: {node: '>=18'} + cacheable@2.5.0: + resolution: {integrity: sha512-60cyAOytib/OzBw1JNSoSV/boK1AtHryDIjvVBk7XbN4ugfkM3+Sry7fEjNgPMGgOjuaZPAp8ruZ0Cxafwyq9g==} + caniuse-lite@1.0.30001806: resolution: {integrity: sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==} @@ -1687,9 +1701,9 @@ packages: resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} - content-disposition@2.0.1: - resolution: {integrity: sha512-e+H0ZXHSWYrENhQzw1LPuP4oF5MzVKmDU6d3hxlvaPEYLLg62MxtQNPRx4SYSuYJSBUgnQIG4HIN2tEtNv7Dog==} - engines: {node: '>=18'} + content-disposition@3.0.0: + resolution: {integrity: sha512-ZH/0Xs9rMIFWCOmGdmS9eHBTF62qqQYNz4nVjQhkdIO/a0fCP4UIM3mRz/wiqL0L14YgAz/1xio4OaSY4+ON/A==} + engines: {node: '>=22'} convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -1733,8 +1747,8 @@ packages: resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==} engines: {node: '>=18'} - default-browser@5.5.0: - resolution: {integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==} + default-browser@5.5.1: + resolution: {integrity: sha512-m1pAzaJgZ/gssEqlOhJkPJp8Xly7QyW6xcrkUa2KKcDeDSEMP7X8xipU3snUcfisTQx0w1AGae+9UtJSfVnXGw==} engines: {node: '>=18'} define-lazy-prop@3.0.0: @@ -1758,18 +1772,18 @@ packages: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} - dompurify@3.4.8: - resolution: {integrity: sha512-yb1cEmaOum7wFvOCSQxyfgVlv5D47Rc30iZWoMpbDIWTnJ6grDDQyu2KFJzB2k7u0pMuJcQ1zphH//fFnw2tjQ==} + dompurify@3.4.15: + resolution: {integrity: sha512-EUBjM+B+lkDE41iE82DDSCfkoPGfXx8IxFxPMjNzm/Uk4xDet77rTN9wqlxlVg71kK7XGuUMv6wUxJUwwv+Xyw==} dprint-node@1.0.8: resolution: {integrity: sha512-iVKnUtYfGrYcW1ZAlfR/F59cUVL8QIhWoBJoSjkkdua/dkWIgjZfiLMeTjiB06X0ZLkQ0M2C1VbUj/CxkIf1zg==} - drizzle-kit@0.31.10: - resolution: {integrity: sha512-7OZcmQUrdGI+DUNNsKBn1aW8qSoKuTH7d0mYgSP8bAzdFzKoovxEFnoGQp2dVs82EOJeYycqRtciopszwUf8bw==} + drizzle-kit@0.31.11: + resolution: {integrity: sha512-YCYqxTLIB2OCqf6w9/Vef13baBVbwQIPcbT4Y56AfO6B9ajZhDhD8Jkveg/hJvT/iuMloKD/IYYkyMMNhr7Kqg==} hasBin: true - drizzle-orm@0.45.2: - resolution: {integrity: sha512-kY0BSaTNYWnoDMVoyY8uxmyHjpJW1geOmBMdSSicKo9CIIWkSxMIj2rkeSR51b8KAPB7m+qysjuHme5nKP+E5Q==} + drizzle-orm@0.45.4: + resolution: {integrity: sha512-NiM1YZpJ2UxyeE67DpDDZ+Tsw4YLX3trSlkNT7Tm9eKoUNb1LvaAaQzXgYQsWs+AQ9TUmmwMmBOCXuqqxUWKKQ==} peerDependencies: '@aws-sdk/client-rds-data': '>=3' '@cloudflare/workers-types': '>=4' @@ -1777,6 +1791,7 @@ packages: '@libsql/client': '>=0.10.0' '@libsql/client-wasm': '>=0.10.0' '@neondatabase/serverless': '>=0.10.0' + '@netlify/db': '>=0.4.0' '@op-engineering/op-sqlite': '>=2' '@opentelemetry/api': ^1.4.1 '@planetscale/database': '>=1.13' @@ -1813,6 +1828,8 @@ packages: optional: true '@neondatabase/serverless': optional: true + '@netlify/db': + optional: true '@op-engineering/op-sqlite': optional: true '@opentelemetry/api': @@ -1886,8 +1903,8 @@ packages: engines: {node: '>=18'} hasBin: true - esbuild@0.28.1: - resolution: {integrity: sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==} + esbuild@0.28.2: + resolution: {integrity: sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==} engines: {node: '>=18'} hasBin: true @@ -1920,8 +1937,8 @@ packages: resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - eslint@10.8.0: - resolution: {integrity: sha512-nuKKvN+oIBO0koN7Tm7dlkmnkc21mtt0QJLwAKzjLq14y6lRTdVG36MZHJ8eQHwdJMwZbQNMlPOYedMq/oVJvQ==} + eslint@10.13.0: + resolution: {integrity: sha512-UohDjD4zSzEwhf58M3O7vc/ycc8O1I7dNlhtD0WxE8Px8EHNJKtUwzBqrzeGhisRuv2ag4sAYswszCJRgKXYUg==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} hasBin: true peerDependencies: @@ -1989,17 +2006,14 @@ packages: fast-uri@4.2.2: resolution: {integrity: sha512-EwVpUMzLVNOmcWW0zi5G3JJwkopB6XXjnVvNBGfqrMMsVew2hkQWl5e/pe/CfYUeS6jt4cIO2MnamEW7v/7wPw==} - fastify-plugin@5.1.0: - resolution: {integrity: sha512-FAIDA8eovSt5qcDgcBvDuX/v0Cjz0ohGhENZ/wpc3y+oZCY2afZ9Baqql3g/lC+OHRnciQol4ww7tuthOb9idw==} - - fastify-plugin@6.0.0: - resolution: {integrity: sha512-fZOty7z3O7vOliF6d8bHE3wiEh1KcNnKEQensSgTk9C1DvN6nRLS++XVd86v33Hw/8u9Un8A1zDrQ8ujcQDHEg==} + fastify-plugin@6.0.1: + resolution: {integrity: sha512-4wW4RxSmvPXLrh5mgQEiu43qU3bw44N2ss4FTkTkQIbprUhE+/s43QX0j/ttcztdWK7PEkHqVthdc5GdEGDvjA==} fastify@5.12.7: resolution: {integrity: sha512-v4pEPsTRPuqlDIYiQFB+BHjVN4SdHX9u0ABk0ZDUKbbdY1vsNryUd1j4Z+jQEZajvYIVk047Kimva9/AJ79GYw==} - fastq@1.20.1: - resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} + fastq@1.20.3: + resolution: {integrity: sha512-XKv5nnLs6nLF71NgiKJLIZFLkPyIEuOselLG7ujZnGrRfQK8HpvY+WqKhAJUAdLomwVHErVS4LfxFlPq0/FTAw==} fdir@6.5.0: resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} @@ -2010,9 +2024,8 @@ packages: picomatch: optional: true - file-entry-cache@8.0.0: - resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} - engines: {node: '>=16.0.0'} + file-entry-cache@11.1.5: + resolution: {integrity: sha512-+PFTHITI08JIGhnNpGNI8T8inUpgZfk3GNEqfT9R2zZV2iFXg3CvqzSl/uEhs7TSGujYRELEANyDvS8Fj7+S7Q==} find-my-way@9.7.0: resolution: {integrity: sha512-f2JHn75x2JlwUwLenZypgczR7YWMb/uO9BvUXtus+JMgkbIkLADd38cI4EiV+OQqrGo1Zlq6V8wnqMJ8e62wUQ==} @@ -2022,18 +2035,12 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - flat-cache@4.0.1: - resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} - engines: {node: '>=16'} + flat-cache@6.1.23: + resolution: {integrity: sha512-f++BY9pTk+983xK1FLzlLpmM0i0z+jHmx3QESGkURMXujQZz1k5wzwX6hjnQ8goaD0B+sYnDK1yZ6MTyZfUaqA==} flatted@3.4.4: resolution: {integrity: sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==} - fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -2052,8 +2059,8 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-tsconfig@4.14.0: - resolution: {integrity: sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==} + get-tsconfig@4.14.3: + resolution: {integrity: sha512-++QEw4DIY7WGoukz+/+A/8dGYPT9l9yIadnmSgZ8Rjr3YVSVDipQSO9CdnJo9ePqFqUUqh+wk9uIaoiAwsiPkA==} glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} @@ -2067,12 +2074,22 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + hashery@1.5.1: + resolution: {integrity: sha512-iZyKG96/JwPz1N55vj2Ie2vXbhu440zfUfJvSwEqEbeLluk7NnapfGqa7LH0mOsnDxTF85Mx8/dyR6HfqcbmbQ==} + engines: {node: '>=20'} + hermes-estree@0.25.1: resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==} hermes-parser@0.25.1: resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==} + hookified@1.15.1: + resolution: {integrity: sha512-MvG/clsADq1GPM2KGo2nyfaWVyn9naPiXrqIe4jYjXNZQt238kWyOGrsyc/DmRAQ+Re6yeo6yX/yoNCG5KAEVg==} + + hookified@2.2.0: + resolution: {integrity: sha512-p/LgFzRN5FeoD3DLS6bkUapeye6E4SI6yJs6KetENd18S+FBthqYq2amJUWpt5z0EQwwHemidjY5OqJGEKm5uA==} + html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} @@ -2099,8 +2116,8 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - ignore@7.0.6: - resolution: {integrity: sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==} + ignore@7.0.12: + resolution: {integrity: sha512-/8UvqAPU9DGTI9k4mxtf49U37Isfwr8Uts96+SBHIkFxPJnHS0Ew4f00sM4Scd8V8EjM0jUNtVDdv1kPdt35lg==} engines: {node: '>= 4'} imurmurhash@0.1.4: @@ -2110,8 +2127,8 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - ip-address@10.4.0: - resolution: {integrity: sha512-oSK96Grm3aP6OrS263xVxbNDGVL7rzBtYdpGqlDG8iQdoenDoTs/nkki+DflYbAEE8Xl6o5YxhxlrKvI3nqKXQ==} + ip-address@10.7.4: + resolution: {integrity: sha512-DWBMKyeM25D70nrIiTkgQth59/G+naKOTep6huF9j+GmeK3DMD60Zvxg5d5qQnz+38AHgou6ean2LECX+lrKDg==} engines: {node: '>= 12'} ipaddr.js@2.4.0: @@ -2135,6 +2152,10 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} + is-in-ssh@1.0.0: + resolution: {integrity: sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==} + engines: {node: '>=20'} + is-inside-container@1.0.0: resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} engines: {node: '>=14.16'} @@ -2163,8 +2184,8 @@ packages: resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} engines: {node: '>=8'} - jose@6.2.5: - resolution: {integrity: sha512-2E5L2yRp03FnwreJLJX8/r7mHiZICCf8kG7fAsTWkSQTDAcc46NIZoQLKy+EJ8sPoJlxyS4OQR5H70LjIZZlIQ==} + jose@6.2.12: + resolution: {integrity: sha512-9NiFmJEex0sy2Dk58j2UGBSHgUs2ypF9eZSu4L6vjOX3Dp96Sw1F3uL+H+D1sx02jZZdzUT0HgvCy59CuvXcWw==} js-md4@0.3.2: resolution: {integrity: sha512-/GDnfQYsltsjRswQhN9fhv3EMw2sCpUdrdxyWDOUK7eyD++r3gRhzgiQgc/x4MAv2i1iuQ4lxO5mvqM3vj4bwA==} @@ -2180,9 +2201,6 @@ packages: engines: {node: '>=6'} hasBin: true - json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - json-schema-ref-resolver@3.0.0: resolution: {integrity: sha512-hOrZIVL5jyYFjzk7+y7n5JDzGlU8rfWDuYyHwGa2WA8/pcmMHezp2xsVwxrebD/Q9t8Nc5DboieySDpCp4WG4A==} @@ -2210,8 +2228,8 @@ packages: jws@4.0.1: resolution: {integrity: sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==} - keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + keyv@5.6.0: + resolution: {integrity: sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==} levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} @@ -2325,8 +2343,8 @@ packages: long@5.3.2: resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==} - lru-cache@11.5.2: - resolution: {integrity: sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==} + lru-cache@11.5.3: + resolution: {integrity: sha512-U4N8FgzmWxc8k1VH8Kr6lQg18U7Fjvby6wXHVRX/ZZ7IwWbRMgrRbP0Wrb5q5NVinryp4SQampHKdvtecItxUg==} engines: {node: 20 || >=22} lru-cache@5.1.1: @@ -2360,14 +2378,14 @@ packages: resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} engines: {node: '>=16 || 14 >=14.17'} - monaco-editor@0.56.0: - resolution: {integrity: sha512-sXboRm3BeBeLm938eaiyLMe0OxzfXIlZvbv4ir/jVgQy1zDhWjgmny0WoN45fuDKhCCQsYMbBJrv/A6jd8aCUg==} + monaco-editor@0.57.0: + resolution: {integrity: sha512-5BkI9KGoqrNvBGUe15/QlZq3OooZ8WLg1AxTpaqHRCP3HNpzPPZKE2EDz8M7c+VRmCeUw1Brp4cx/PWm3kI/5A==} ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - mssql@12.7.0: - resolution: {integrity: sha512-J6SJKXi1jYbhHjjooLNtPnX7+s3cq5IJ701Wgy/UW1SXRpgFlJJsYi3IPve9RVgCUkq0Cqv2aaaSJ4IXtIF3mg==} + mssql@12.7.9: + resolution: {integrity: sha512-ryuy8HyUpsUgg16mkjNumuGK0/kzZ9TNkKSm/lfNcb8v5RII/U4ErOquH/kAvUqXbap9BWV0EnN5JxdewGrx7g==} engines: {node: '>=18.19.0'} hasBin: true @@ -2402,8 +2420,8 @@ packages: resolution: {integrity: sha512-wRNIrw4DmVLKQlbgOMdkMx27Wrpzes2hh5Jtbi2bjPd+4wJstWIqP5A+lscnqbm0xxmT5Bpg8Lec5ItEBwx6BQ==} engines: {node: '>=18'} - nodemailer@10.1.1: - resolution: {integrity: sha512-pbqZRoeYUO+1E8TJ/11WeY4D2EVujj1hsYjz3qff/vUFDtGnmi7p3iqzTFslYOfQ6PnjVcWxx/CIUSHCSrO/QA==} + nodemailer@10.1.2: + resolution: {integrity: sha512-rnQn9Rzh8RAwcp42MVsIvxbsv6YZ2a2/av+uyJ/LPU1+2QSlrRgFsWWZTKenyRUqkIl8urOI0c4+CEcmFdsvQw==} engines: {node: '>=20.0.0'} obug@2.1.4: @@ -2414,9 +2432,9 @@ packages: resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} engines: {node: '>=14.0.0'} - open@10.2.0: - resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} - engines: {node: '>=18'} + open@11.0.4: + resolution: {integrity: sha512-++Zlftm0kVLPmzC06t6epuWmcRMDbI4z5P3NNX979WA/k23+NtSOynEGzsVfZwguKw2mi5umVgnBlJQMwRz4Pg==} + engines: {node: '>=20'} optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} @@ -2452,28 +2470,32 @@ packages: resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==} engines: {node: '>=12'} + picomatch@4.0.7: + resolution: {integrity: sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==} + engines: {node: '>=12'} + pino-abstract-transport@3.0.0: resolution: {integrity: sha512-wlfUczU+n7Hy/Ha5j9a/gZNy7We5+cXp8YL+X+PG8S0KXxw7n/JXA3c46Y0zQznIJ83URJiwy7Lh56WLokNuxg==} pino-std-serializers@7.1.0: resolution: {integrity: sha512-BndPH67/JxGExRgiX1dX0w1FvZck5Wa4aal9198SrRhZjH3GxKQUKIBnYJTdj2HDN3UQAS06HlfcSbQj2OHmaw==} - pino@10.3.1: - resolution: {integrity: sha512-r34yH/GlQpKZbU1BvFFqOjhISRo1MNx1tWYsYvmj6KIRHSPMT2+yHOEb1SG6NMvRoHRF0a07kCOox/9yakl1vg==} + pino@10.4.0: + resolution: {integrity: sha512-bk1ZMTwG/Vymx+zPoa28MhNzucFvXJWp3csrSuxuHPSMeUettaCoQ5Jvg07mtC4JGNpcfTwz41oVCnNgBK9+vA==} hasBin: true - playwright-core@1.62.0: - resolution: {integrity: sha512-nsNRyq0r2zsG8AcRHWknc9QRA5XCueC7gWMrs+Gx2tlZn9hcl8zudfh00lhJPY1DE7NmZ6bDsT9g2yey8mXljA==} + playwright-core@1.64.1: + resolution: {integrity: sha512-BC4s8y6SEVA6Q1rSxZTto8hI1KUI3xXlHGZgvGqP4IqPdI/a6FX9H29IDNz7vKo9l21b6LfYosScPL6M3xxyDQ==} engines: {node: '>=20'} hasBin: true - playwright@1.62.0: - resolution: {integrity: sha512-Z14dG305dgaLu6foB1TXQagFiW8JfSUIUaUuPaKQ6NtBPKF1P/qXcqfh6c6K/icPqdy37JmjbiBXf6JNg6Sylw==} + playwright@1.64.1: + resolution: {integrity: sha512-HCrVhHr5QQuwYoswEUGTb7gGp522yflbv/ST8nF4sFWGuLjQCt17Q/EubpGGSNKYn1tsTCPZxqHhHCfVURu7UA==} engines: {node: '>=20'} hasBin: true - postcss@8.5.25: - resolution: {integrity: sha512-DTPx3RWSSnWyzLxQnlH0rJP+EW5ekl16ZU4/psbIhA0e53kJfdgaN5vKM+xP7yJtXVu+nfdVFmlgFDEKAe4Pyw==} + postcss@8.5.30: + resolution: {integrity: sha512-zkd+e9S1AQHhmaBKye9zlFHWjOwVgqXl1q3ECYy8561K7qxR2cREf/STLskulBFd78k6AOFeA+ff1TtEzk9bAA==} engines: {node: ^10 || ^12 || >=14} postgres@3.4.9: @@ -2485,6 +2507,10 @@ packages: engines: {node: '>=14.0.0'} hasBin: true + powershell-utils@0.2.1: + resolution: {integrity: sha512-C+y9x90UElAddDZmV4qOx9W53B61PO7cIqWz2dQsWlwswuq4mr8NEwytdGKboYbQlGZ3awrkTeNvcZiZNHnQ8A==} + engines: {node: '>=20'} + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -2495,6 +2521,9 @@ packages: process-warning@5.1.0: resolution: {integrity: sha512-jQSaVHsPgtyw60e1rQ/A+/ArPEj/S8pS/vFnyGa/gYFXrKk/6RuDkoqVDQ5NI5MmS01698ltlAk0NoDBNLujRw==} + process-warning@5.1.1: + resolution: {integrity: sha512-oCkNVj4OKnKEcocVBcDfiIugN1/cE6rgfT3nCtzeqZPA8+rIxMaQ0xXzIkGP8Gj2qUaP1UR7uhJ1VD8lUCpzCg==} + process@0.11.10: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} @@ -2507,16 +2536,20 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} + qified@0.10.1: + resolution: {integrity: sha512-+Owyggi9IxT1ePKGafcI87ubSmxol6smwJ+RAHDQlx9+9cPwFWDiKFFCPuWhr9ignlGpZ9vDQLw67N4dcTVFEA==} + engines: {node: '>=20'} + quick-format-unescaped@4.0.4: resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - react-dom@19.2.8: - resolution: {integrity: sha512-rVprimfGBG3DR+Tq0IQG2DT5PxKth1WIGDmj5yPmlzr4YBe7uyE+Du4oVqTDXZSHGGGXRtTJEGSSePyQCMBglQ==} + react-dom@19.3.1: + resolution: {integrity: sha512-Y0bARz53lhEC1NMCASs0/j+faB/zqt3R8hpvg1e8+61ZVJ4UL0UdC4cBbXfZMcIuhrfgeILTLe+ZeBCavQPtKQ==} peerDependencies: - react: ^19.2.8 + react: ^19.3.1 - react-router@8.3.0: - resolution: {integrity: sha512-qyPMvW83jGIct3yiieisxdk9M745anqhpIMKN5m1t6yBMfgVPpt77aHOqs5fUlEJRMCGffg9BaQLH9oPVOL7xQ==} + react-router@8.4.0: + resolution: {integrity: sha512-JtydAkBvU9UTEe5qNC+POhu+ZBNM7rlKY2IegwXc7Idj7xfRG16x5RZrw3mju+XlqBxfvb2ky9P3jUp9WyWC1g==} engines: {node: '>=22.22.0'} peerDependencies: react: '>=19.2.7' @@ -2525,18 +2558,14 @@ packages: react-dom: optional: true - react@19.2.8: - resolution: {integrity: sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==} + react@19.3.1: + resolution: {integrity: sha512-QNhWdt7nrgVWWQG58QuGsAR3jv3Hbe4mb4vz7w2csnHavciZJgda1CPNaldF6eVxv90ud3jUXpKlHL69gO38yw==} engines: {node: '>=0.10.0'} - readable-stream@4.7.0: - resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==} + readable-stream@4.8.0: + resolution: {integrity: sha512-2jhTTU3Eilp/2DMT71gbcoqC35eQHasMJH0RHkYxwlxIv3+FR6Y5xAFZIwEGLxKkjZYEFlsiMNIdwUqjK2lLHQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - real-require@0.2.0: - resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} - engines: {node: '>= 12.13.0'} - real-require@1.0.0: resolution: {integrity: sha512-P4nbQYQfePJxRSmY+v/KINxVucm4NF3p3s7pJveMTtom52FR4YGltUQLB8idDXwDDWW+eYrWDFbuzUnjoWHF7g==} @@ -2562,8 +2591,8 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rolldown@1.2.1: - resolution: {integrity: sha512-4FKJhg8d3OiyQOA6Q1Q0hoFFpW9/OoX+VsHzpECsdsIZoOArrAK90gl59YK/Z+gnDel45bgJZK03ozH/9bCqEw==} + rolldown@1.2.14: + resolution: {integrity: sha512-eTBTTqMR6uHKLgcUqpJP8ntzDI6V4LYA8negAMBEI7gkgVvOdrx6VsvS2Ym+83KhOPdLCHWJu0w7UQFJZhHKNw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -2585,8 +2614,8 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - scheduler@0.27.0: - resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} + scheduler@0.28.0: + resolution: {integrity: sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw==} secure-json-parse@4.1.0: resolution: {integrity: sha512-l4KnYfEyqYJxDwlNVyRfO2E4NTHfMKAWdUuA8J0yve2Dz/E/PdBepY03RvyJpssIpRFwJoCD55wA+mEDs6ByWA==} @@ -2678,6 +2707,10 @@ packages: resolution: {integrity: sha512-bTR0aou0Ghucf0ytvZUJjnKHGKDV8tT57jPYtEkSpfTWFe++4uR1wxJLQ4mh5wlSvAYXzmgBxbI0vaE56qigXw==} engines: {node: '>=22'} + tedious@20.3.8: + resolution: {integrity: sha512-ZrJiwyGn340Sa0V0g37Xqj5bvmJ1riYwvEtg7zdm/lpw70f2ZNIQ2fvHmntU5fEOorWDa48Jo1oKYAuUP+rh7Q==} + engines: {node: '>=22'} + thread-stream@4.2.0: resolution: {integrity: sha512-e2zZ96wSChazBsbENf/Pcm/4swHt2cEKQ92rhUjkL9GCKiTDJIaTBenjE/m9DXi0QBmTMDkFDdOomUy20A1tDQ==} engines: {node: '>=20'} @@ -2717,28 +2750,28 @@ packages: ts-proto-descriptors@2.1.0: resolution: {integrity: sha512-S5EZYEQ6L9KLFfjSRpZWDIXDV/W7tAj8uW7pLsihIxyr62EAVSiKuVPwE8iWnr849Bqa53enex1jhDUcpgquzA==} - ts-proto@2.12.0: - resolution: {integrity: sha512-ezMxg57ZiK/ZTW14U7y38+qyWHJr8cn8ELKuppANER666YnUteuNFO/mM1qI+9/wAHoTAfRadnIwtVdp1xw0jQ==} + ts-proto@2.15.3: + resolution: {integrity: sha512-UW+gnWgZtsYW0yyXgU39swauVcruCDYu1k7H1ldMYOZP4H/94UUt3RM2nV+6fi/Q0lSs/cM4/A7dzm5fqzptVQ==} hasBin: true tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - tsx@4.23.1: - resolution: {integrity: sha512-GQHnkIfxyx1wYCOS/wonik5MVRZU9hi1TEZmzGZSCJB1y9YgoZ8H6itNE/u4suE+yLmOzuE4E5S4TZ/ZX2wcWQ==} + tsx@4.23.15: + resolution: {integrity: sha512-Yiex1Ovn8z2xPpOWckIiysV1SSyRMY9BkLF++q0yKiDxCqRhosKfMg3janKkiLBwZ5c/YryloKwGZcrEmtwxKw==} engines: {node: '>=18.0.0'} hasBin: true - turbo@2.10.7: - resolution: {integrity: sha512-GHx6WExIFSKNJ5qMlzDpXBXlu9ApxaMjqxAVrCNcW94xf/+uqgIz41SAuRUMbXva2ExNAaY/h8V0q90SWSzmRw==} + turbo@2.11.8: + resolution: {integrity: sha512-OwiFs6xNO5c2XtPgYCgCXuSlkur4b5T/OeAbOKzgsHh5mmJ9Sh7m041fz2JchrvyQv8hmae+1n07HfBmvDLZRA==} hasBin: true type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - typescript-eslint@8.65.0: - resolution: {integrity: sha512-/ggrHAwyjENDusvyxbuqxAC2dTnZg/Z8F+fgQtYIz+L6n/9HfSlEZcFGV/NsMNa6CkGk0xUjUAFwC0vHOflvIA==} + typescript-eslint@8.71.2: + resolution: {integrity: sha512-Rz4effbMy2g9wnvOJZG6SbVavX313Lap1vNEbk1RUochzickvzP8P4HB+bkNg5e50eVz1hQGjh9K1omI1xB4Bw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 @@ -2749,14 +2782,11 @@ packages: engines: {node: '>=14.17'} hasBin: true - undici-types@7.18.2: - resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} - undici-types@7.24.6: resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} - undici-types@8.3.0: - resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==} + undici-types@8.9.0: + resolution: {integrity: sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==} update-browserslist-db@1.2.3: resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} @@ -2767,13 +2797,13 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - vite@8.2.0: - resolution: {integrity: sha512-pn+CFpM0lwDeKwmOq1ZaBK/9sjorZcgqxki6MbY/jPEVd9vichIlmlD4HmQ5wdP5EgqQCFRaACBxMC7uEGc6lQ==} + vite@8.3.4: + resolution: {integrity: sha512-IftLE8phJhdNRIGNEV4JCCvfNScoZQVfcXaN8TQropWGJtOHcu+iAB9pHcuGvmEb/kddw0LBe/jS8ztdC6xdiQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: '@types/node': ^20.19.0 || >=22.12.0 - '@vitejs/devtools': ^0.4.0 + '@vitejs/devtools': ^0.7.1 esbuild: ^0.27.0 || ^0.28.0 jiti: '>=1.21.0' less: ^4.0.0 @@ -2874,9 +2904,9 @@ packages: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} - wsl-utils@0.1.0: - resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} - engines: {node: '>=18'} + wsl-utils@1.0.1: + resolution: {integrity: sha512-c16PKLIRxBYpR3jSWsdS7SFp0COm5SOQdiFjY818dYFHJbMGuLBszpF07LBWmOS1uzrHa9VGdynsEgoeKy0oOQ==} + engines: {node: '>=20'} y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} @@ -2885,8 +2915,8 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - yaml@2.9.0: - resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} + yaml@2.9.1: + resolution: {integrity: sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw==} engines: {node: '>= 14.6'} hasBin: true @@ -2908,18 +2938,18 @@ packages: peerDependencies: zod: ^3.25.0 || ^4.0.0 - zod@4.4.3: - resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} + zod@4.6.7: + resolution: {integrity: sha512-g8W2D2kU6a8untc053fX1uVBKzM7yqAxW/3zwk83+6RyF2+SKOuV+c0wBDhUwzV1PaGapmZH+rmcUzPf+3CGwg==} snapshots: - '@azure-rest/core-client@2.8.0': + '@azure-rest/core-client@2.9.0': dependencies: '@azure/abort-controller': 2.2.0 '@azure/core-auth': 1.11.0 '@azure/core-rest-pipeline': 1.25.0 '@azure/core-tracing': 1.4.0 - '@typespec/ts-http-runtime': 0.3.8 + '@typespec/ts-http-runtime': 0.3.9 tslib: 2.8.1 transitivePeerDependencies: - supports-color @@ -2936,7 +2966,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@azure/core-client@1.11.0': + '@azure/core-client@1.11.1': dependencies: '@azure/abort-controller': 2.2.0 '@azure/core-auth': 1.11.0 @@ -2961,6 +2991,8 @@ snapshots: dependencies: tslib: 2.8.1 + '@azure/core-process@1.0.0': {} + '@azure/core-rest-pipeline@1.25.0': dependencies: '@azure/abort-controller': 2.2.0 @@ -2968,7 +3000,7 @@ snapshots: '@azure/core-tracing': 1.4.0 '@azure/core-util': 1.14.0 '@azure/logger': 1.4.0 - '@typespec/ts-http-runtime': 0.3.7 + '@typespec/ts-http-runtime': 0.3.9 tslib: 2.8.1 transitivePeerDependencies: - supports-color @@ -2980,30 +3012,31 @@ snapshots: '@azure/core-util@1.14.0': dependencies: '@azure/abort-controller': 2.2.0 - '@typespec/ts-http-runtime': 0.3.7 + '@typespec/ts-http-runtime': 0.3.9 tslib: 2.8.1 transitivePeerDependencies: - supports-color - '@azure/identity@4.13.1': + '@azure/identity@4.14.0': dependencies: '@azure/abort-controller': 2.2.0 '@azure/core-auth': 1.11.0 - '@azure/core-client': 1.11.0 + '@azure/core-client': 1.11.1 + '@azure/core-process': 1.0.0 '@azure/core-rest-pipeline': 1.25.0 '@azure/core-tracing': 1.4.0 '@azure/core-util': 1.14.0 '@azure/logger': 1.4.0 - '@azure/msal-browser': 5.17.3 - '@azure/msal-node': 5.4.3 - open: 10.2.0 + '@azure/msal-browser': 5.25.1 + '@azure/msal-node': 6.0.1 + open: 11.0.4 tslib: 2.8.1 transitivePeerDependencies: - supports-color '@azure/keyvault-common@2.1.0': dependencies: - '@azure-rest/core-client': 2.8.0 + '@azure-rest/core-client': 2.9.0 '@azure/abort-controller': 2.2.0 '@azure/core-auth': 1.11.0 '@azure/core-rest-pipeline': 1.25.0 @@ -3016,7 +3049,7 @@ snapshots: '@azure/keyvault-keys@4.10.2': dependencies: - '@azure-rest/core-client': 2.8.0 + '@azure-rest/core-client': 2.9.0 '@azure/abort-controller': 2.2.0 '@azure/core-auth': 1.11.0 '@azure/core-lro': 2.7.2 @@ -3032,20 +3065,22 @@ snapshots: '@azure/logger@1.4.0': dependencies: - '@typespec/ts-http-runtime': 0.3.7 + '@typespec/ts-http-runtime': 0.3.9 tslib: 2.8.1 transitivePeerDependencies: - supports-color - '@azure/msal-browser@5.17.3': + '@azure/msal-browser@5.25.1': dependencies: - '@azure/msal-common': 16.11.3 + '@azure/msal-common': 16.14.2 + + '@azure/msal-common@16.14.1': {} - '@azure/msal-common@16.11.3': {} + '@azure/msal-common@16.14.2': {} - '@azure/msal-node@5.4.3': + '@azure/msal-node@6.0.1': dependencies: - '@azure/msal-common': 16.11.3 + '@azure/msal-common': 16.14.1 jsonwebtoken: 9.0.3 '@babel/code-frame@7.29.7': @@ -3150,56 +3185,52 @@ snapshots: '@bcoe/v8-coverage@1.0.2': {} - '@bufbuild/buf-darwin-arm64@1.72.0': + '@bufbuild/buf-darwin-arm64@1.74.0': optional: true - '@bufbuild/buf-darwin-x64@1.72.0': + '@bufbuild/buf-darwin-x64@1.74.0': optional: true - '@bufbuild/buf-linux-aarch64@1.72.0': + '@bufbuild/buf-linux-aarch64@1.74.0': optional: true - '@bufbuild/buf-linux-armv7@1.72.0': + '@bufbuild/buf-linux-armv7@1.74.0': optional: true - '@bufbuild/buf-linux-x64@1.72.0': + '@bufbuild/buf-linux-x64@1.74.0': optional: true - '@bufbuild/buf-win32-arm64@1.72.0': + '@bufbuild/buf-win32-arm64@1.74.0': optional: true - '@bufbuild/buf-win32-x64@1.72.0': + '@bufbuild/buf-win32-x64@1.74.0': optional: true - '@bufbuild/buf@1.72.0': + '@bufbuild/buf@1.74.0': optionalDependencies: - '@bufbuild/buf-darwin-arm64': 1.72.0 - '@bufbuild/buf-darwin-x64': 1.72.0 - '@bufbuild/buf-linux-aarch64': 1.72.0 - '@bufbuild/buf-linux-armv7': 1.72.0 - '@bufbuild/buf-linux-x64': 1.72.0 - '@bufbuild/buf-win32-arm64': 1.72.0 - '@bufbuild/buf-win32-x64': 1.72.0 + '@bufbuild/buf-darwin-arm64': 1.74.0 + '@bufbuild/buf-darwin-x64': 1.74.0 + '@bufbuild/buf-linux-aarch64': 1.74.0 + '@bufbuild/buf-linux-armv7': 1.74.0 + '@bufbuild/buf-linux-x64': 1.74.0 + '@bufbuild/buf-win32-arm64': 1.74.0 + '@bufbuild/buf-win32-x64': 1.74.0 - '@bufbuild/protobuf@2.13.0': {} + '@bufbuild/protobuf@2.16.0': {} - '@drizzle-team/brocli@0.10.2': {} - - '@emnapi/core@2.0.0-alpha.3': + '@cacheable/memory@2.2.0': dependencies: - '@emnapi/wasi-threads': 2.0.1 - tslib: 2.8.1 - optional: true + '@cacheable/utils': 2.5.0 + '@keyv/bigmap': 1.3.1(keyv@5.6.0) + hookified: 1.15.1 + keyv: 5.6.0 - '@emnapi/runtime@2.0.0-alpha.3': + '@cacheable/utils@2.5.0': dependencies: - tslib: 2.8.1 - optional: true + hashery: 1.5.1 + keyv: 5.6.0 - '@emnapi/wasi-threads@2.0.1': - dependencies: - tslib: 2.8.1 - optional: true + '@drizzle-team/brocli@0.10.2': {} '@epic-web/invariant@1.0.0': {} @@ -3211,12 +3242,12 @@ snapshots: '@esbuild-kit/esm-loader@2.6.5': dependencies: '@esbuild-kit/core-utils': 3.3.2 - get-tsconfig: 4.14.0 + get-tsconfig: 4.14.3 '@esbuild/aix-ppc64@0.25.12': optional: true - '@esbuild/aix-ppc64@0.28.1': + '@esbuild/aix-ppc64@0.28.2': optional: true '@esbuild/android-arm64@0.18.20': @@ -3225,7 +3256,7 @@ snapshots: '@esbuild/android-arm64@0.25.12': optional: true - '@esbuild/android-arm64@0.28.1': + '@esbuild/android-arm64@0.28.2': optional: true '@esbuild/android-arm@0.18.20': @@ -3234,7 +3265,7 @@ snapshots: '@esbuild/android-arm@0.25.12': optional: true - '@esbuild/android-arm@0.28.1': + '@esbuild/android-arm@0.28.2': optional: true '@esbuild/android-x64@0.18.20': @@ -3243,7 +3274,7 @@ snapshots: '@esbuild/android-x64@0.25.12': optional: true - '@esbuild/android-x64@0.28.1': + '@esbuild/android-x64@0.28.2': optional: true '@esbuild/darwin-arm64@0.18.20': @@ -3252,7 +3283,7 @@ snapshots: '@esbuild/darwin-arm64@0.25.12': optional: true - '@esbuild/darwin-arm64@0.28.1': + '@esbuild/darwin-arm64@0.28.2': optional: true '@esbuild/darwin-x64@0.18.20': @@ -3261,7 +3292,7 @@ snapshots: '@esbuild/darwin-x64@0.25.12': optional: true - '@esbuild/darwin-x64@0.28.1': + '@esbuild/darwin-x64@0.28.2': optional: true '@esbuild/freebsd-arm64@0.18.20': @@ -3270,7 +3301,7 @@ snapshots: '@esbuild/freebsd-arm64@0.25.12': optional: true - '@esbuild/freebsd-arm64@0.28.1': + '@esbuild/freebsd-arm64@0.28.2': optional: true '@esbuild/freebsd-x64@0.18.20': @@ -3279,7 +3310,7 @@ snapshots: '@esbuild/freebsd-x64@0.25.12': optional: true - '@esbuild/freebsd-x64@0.28.1': + '@esbuild/freebsd-x64@0.28.2': optional: true '@esbuild/linux-arm64@0.18.20': @@ -3288,7 +3319,7 @@ snapshots: '@esbuild/linux-arm64@0.25.12': optional: true - '@esbuild/linux-arm64@0.28.1': + '@esbuild/linux-arm64@0.28.2': optional: true '@esbuild/linux-arm@0.18.20': @@ -3297,7 +3328,7 @@ snapshots: '@esbuild/linux-arm@0.25.12': optional: true - '@esbuild/linux-arm@0.28.1': + '@esbuild/linux-arm@0.28.2': optional: true '@esbuild/linux-ia32@0.18.20': @@ -3306,7 +3337,7 @@ snapshots: '@esbuild/linux-ia32@0.25.12': optional: true - '@esbuild/linux-ia32@0.28.1': + '@esbuild/linux-ia32@0.28.2': optional: true '@esbuild/linux-loong64@0.18.20': @@ -3315,7 +3346,7 @@ snapshots: '@esbuild/linux-loong64@0.25.12': optional: true - '@esbuild/linux-loong64@0.28.1': + '@esbuild/linux-loong64@0.28.2': optional: true '@esbuild/linux-mips64el@0.18.20': @@ -3324,7 +3355,7 @@ snapshots: '@esbuild/linux-mips64el@0.25.12': optional: true - '@esbuild/linux-mips64el@0.28.1': + '@esbuild/linux-mips64el@0.28.2': optional: true '@esbuild/linux-ppc64@0.18.20': @@ -3333,7 +3364,7 @@ snapshots: '@esbuild/linux-ppc64@0.25.12': optional: true - '@esbuild/linux-ppc64@0.28.1': + '@esbuild/linux-ppc64@0.28.2': optional: true '@esbuild/linux-riscv64@0.18.20': @@ -3342,7 +3373,7 @@ snapshots: '@esbuild/linux-riscv64@0.25.12': optional: true - '@esbuild/linux-riscv64@0.28.1': + '@esbuild/linux-riscv64@0.28.2': optional: true '@esbuild/linux-s390x@0.18.20': @@ -3351,7 +3382,7 @@ snapshots: '@esbuild/linux-s390x@0.25.12': optional: true - '@esbuild/linux-s390x@0.28.1': + '@esbuild/linux-s390x@0.28.2': optional: true '@esbuild/linux-x64@0.18.20': @@ -3360,13 +3391,13 @@ snapshots: '@esbuild/linux-x64@0.25.12': optional: true - '@esbuild/linux-x64@0.28.1': + '@esbuild/linux-x64@0.28.2': optional: true '@esbuild/netbsd-arm64@0.25.12': optional: true - '@esbuild/netbsd-arm64@0.28.1': + '@esbuild/netbsd-arm64@0.28.2': optional: true '@esbuild/netbsd-x64@0.18.20': @@ -3375,13 +3406,13 @@ snapshots: '@esbuild/netbsd-x64@0.25.12': optional: true - '@esbuild/netbsd-x64@0.28.1': + '@esbuild/netbsd-x64@0.28.2': optional: true '@esbuild/openbsd-arm64@0.25.12': optional: true - '@esbuild/openbsd-arm64@0.28.1': + '@esbuild/openbsd-arm64@0.28.2': optional: true '@esbuild/openbsd-x64@0.18.20': @@ -3390,13 +3421,13 @@ snapshots: '@esbuild/openbsd-x64@0.25.12': optional: true - '@esbuild/openbsd-x64@0.28.1': + '@esbuild/openbsd-x64@0.28.2': optional: true '@esbuild/openharmony-arm64@0.25.12': optional: true - '@esbuild/openharmony-arm64@0.28.1': + '@esbuild/openharmony-arm64@0.28.2': optional: true '@esbuild/sunos-x64@0.18.20': @@ -3405,7 +3436,7 @@ snapshots: '@esbuild/sunos-x64@0.25.12': optional: true - '@esbuild/sunos-x64@0.28.1': + '@esbuild/sunos-x64@0.28.2': optional: true '@esbuild/win32-arm64@0.18.20': @@ -3414,7 +3445,7 @@ snapshots: '@esbuild/win32-arm64@0.25.12': optional: true - '@esbuild/win32-arm64@0.28.1': + '@esbuild/win32-arm64@0.28.2': optional: true '@esbuild/win32-ia32@0.18.20': @@ -3423,7 +3454,7 @@ snapshots: '@esbuild/win32-ia32@0.25.12': optional: true - '@esbuild/win32-ia32@0.28.1': + '@esbuild/win32-ia32@0.28.2': optional: true '@esbuild/win32-x64@0.18.20': @@ -3432,12 +3463,12 @@ snapshots: '@esbuild/win32-x64@0.25.12': optional: true - '@esbuild/win32-x64@0.28.1': + '@esbuild/win32-x64@0.28.2': optional: true - '@eslint-community/eslint-utils@4.10.1(eslint@10.8.0)': + '@eslint-community/eslint-utils@4.10.1(eslint@10.13.0)': dependencies: - eslint: 10.8.0 + eslint: 10.13.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} @@ -3458,18 +3489,18 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@eslint/js@10.0.1(eslint@10.8.0)': + '@eslint/js@10.0.1(eslint@10.13.0)': optionalDependencies: - eslint: 10.8.0 + eslint: 10.13.0 '@eslint/object-schema@3.0.5': {} - '@eslint/plugin-kit@0.7.2': + '@eslint/plugin-kit@0.7.3': dependencies: '@eslint/core': 1.2.1 levn: 0.4.1 - '@fastify/accept-negotiator@2.0.1': {} + '@fastify/accept-negotiator@2.1.1': {} '@fastify/ajv-compiler@4.0.5': dependencies: @@ -3477,26 +3508,28 @@ snapshots: ajv-formats: 3.0.1(ajv@8.20.0) fast-uri: 3.1.8 - '@fastify/cookie@11.1.2': + '@fastify/cookie@11.1.3': dependencies: cookie: 2.0.1 - fastify-plugin: 6.0.0 + fastify-plugin: 6.0.1 - '@fastify/cors@11.3.0': + '@fastify/cors@11.3.1': dependencies: - fastify-plugin: 6.0.0 + fastify-plugin: 6.0.1 toad-cache: 3.7.4 - '@fastify/csrf-protection@8.0.0': + '@fastify/csrf-protection@8.0.2': dependencies: - '@fastify/csrf': 8.0.1 - '@fastify/error': 4.2.0 - fastify-plugin: 5.1.0 + '@fastify/csrf': 8.1.1 + '@fastify/error': 4.2.1 + fastify-plugin: 6.0.1 - '@fastify/csrf@8.0.1': {} + '@fastify/csrf@8.1.1': {} '@fastify/error@4.2.0': {} + '@fastify/error@4.2.1': {} + '@fastify/fast-json-stringify-compiler@5.1.0': dependencies: fast-json-stringify: 7.0.1 @@ -3512,14 +3545,14 @@ snapshots: '@fastify/forwarded': 3.0.2 ipaddr.js: 2.4.0 - '@fastify/rate-limit@11.2.0': + '@fastify/rate-limit@11.2.1': dependencies: '@lukeed/ms': 2.0.2 - fastify-plugin: 6.0.0 - ip-address: 10.4.0 + fastify-plugin: 6.0.1 + ip-address: 10.7.4 toad-cache: 3.7.4 - '@fastify/send@4.1.0': + '@fastify/send@4.1.2': dependencies: '@lukeed/ms': 2.0.2 escape-html: 1.0.3 @@ -3527,14 +3560,14 @@ snapshots: http-errors: 2.0.1 mime: 3.0.0 - '@fastify/static@10.1.2': + '@fastify/static@10.1.6': dependencies: - '@fastify/accept-negotiator': 2.0.1 - '@fastify/error': 4.2.0 - '@fastify/send': 4.1.0 - content-disposition: 2.0.1 - fastify-plugin: 6.0.0 - fastq: 1.20.1 + '@fastify/accept-negotiator': 2.1.1 + '@fastify/error': 4.2.1 + '@fastify/send': 4.1.2 + content-disposition: 3.0.0 + fastify-plugin: 6.0.1 + fastq: 1.20.3 glob: 13.0.6 '@grpc/grpc-js@1.14.6': @@ -3586,118 +3619,121 @@ snapshots: '@js-joda/core@6.1.0': {} + '@js-joda/core@6.3.0': {} + '@js-sdsl/ordered-map@4.4.2': {} + '@keyv/bigmap@1.3.1(keyv@5.6.0)': + dependencies: + hashery: 1.5.1 + hookified: 1.15.1 + keyv: 5.6.0 + + '@keyv/serialize@1.1.1': {} + '@lukeed/ms@2.0.2': {} '@monaco-editor/loader@1.7.0': dependencies: state-local: 1.0.7 - '@monaco-editor/react@4.7.0(monaco-editor@0.56.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@monaco-editor/react@4.7.0(monaco-editor@0.57.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': dependencies: '@monaco-editor/loader': 1.7.0 - monaco-editor: 0.56.0 - react: 19.2.8 - react-dom: 19.2.8(react@19.2.8) + monaco-editor: 0.57.0 + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) - '@napi-rs/wasm-runtime@1.2.1(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)': - dependencies: - '@emnapi/core': 2.0.0-alpha.3 - '@emnapi/runtime': 2.0.0-alpha.3 - '@tybys/wasm-util': 0.10.3 - optional: true - - '@opentelemetry/api-logs@0.221.0': + '@opentelemetry/api-logs@0.223.0': dependencies: '@opentelemetry/api': 1.9.1 '@opentelemetry/api@1.9.1': {} - '@opentelemetry/context-async-hooks@2.10.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/context-async-hooks@2.12.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/core@2.10.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/core@2.12.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 '@opentelemetry/semantic-conventions': 1.43.0 - '@opentelemetry/exporter-logs-otlp-http@0.221.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/exporter-logs-otlp-http@0.223.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/otlp-exporter-base': 0.221.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-transformer': 0.221.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-logs': 0.221.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-logs': 0.223.0(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-trace-otlp-http@0.221.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/exporter-trace-otlp-http@0.223.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/otlp-exporter-base': 0.221.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-transformer': 0.221.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace': 2.10.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace': 2.12.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-exporter-base@0.221.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/otlp-exporter-base@0.223.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.10.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-transformer': 0.221.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.223.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-transformer@0.221.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/otlp-transformer@0.223.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/api-logs': 0.221.0 - '@opentelemetry/core': 2.10.0(@opentelemetry/api@1.9.1) - '@opentelemetry/resources': 2.10.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-logs': 0.221.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-metrics': 2.10.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace': 2.10.0(@opentelemetry/api@1.9.1) + '@opentelemetry/api-logs': 0.223.0 + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-logs': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-metrics': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace': 2.12.0(@opentelemetry/api@1.9.1) - '@opentelemetry/resources@2.10.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.10.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': 1.43.0 - '@opentelemetry/sdk-logs@0.221.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/sdk-logs@0.223.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/api-logs': 0.221.0 - '@opentelemetry/core': 2.10.0(@opentelemetry/api@1.9.1) - '@opentelemetry/resources': 2.10.0(@opentelemetry/api@1.9.1) + '@opentelemetry/api-logs': 0.223.0 + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.12.0(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': 1.43.0 - '@opentelemetry/sdk-metrics@2.10.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/sdk-metrics@2.12.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.10.0(@opentelemetry/api@1.9.1) - '@opentelemetry/resources': 2.10.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.12.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/sdk-trace-base@2.12.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.10.0(@opentelemetry/api@1.9.1) - '@opentelemetry/resources': 2.10.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace': 2.10.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace': 2.12.0(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': 1.43.0 - '@opentelemetry/sdk-trace-node@2.10.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/sdk-trace-node@2.12.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/context-async-hooks': 2.10.0(@opentelemetry/api@1.9.1) - '@opentelemetry/core': 2.10.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace-base': 2.10.0(@opentelemetry/api@1.9.1) + '@opentelemetry/context-async-hooks': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.12.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace@2.10.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/sdk-trace@2.12.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.10.0(@opentelemetry/api@1.9.1) - '@opentelemetry/resources': 2.10.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.12.0(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': 1.43.0 '@opentelemetry/semantic-conventions@1.43.0': {} - '@oxc-project/types@0.142.0': {} + '@oxc-project/types@0.154.0': {} '@petamoriken/float16@3.9.3': optional: true @@ -3706,9 +3742,9 @@ snapshots: '@pinojs/redact@0.4.0': {} - '@playwright/test@1.62.0': + '@playwright/test@1.64.1': dependencies: - playwright: 1.62.0 + playwright: 1.64.1 '@protobufjs/aspromise@1.1.2': {} @@ -3730,89 +3766,82 @@ snapshots: '@protobufjs/utf8@1.1.2': {} - '@rolldown/binding-android-arm64@1.2.1': + '@remix-run/route-pattern@0.22.1': {} + + '@rolldown/binding-android-arm-eabi@1.2.14': optional: true - '@rolldown/binding-darwin-arm64@1.2.1': + '@rolldown/binding-android-arm64@1.2.14': optional: true - '@rolldown/binding-darwin-x64@1.2.1': + '@rolldown/binding-darwin-arm64@1.2.14': optional: true - '@rolldown/binding-freebsd-x64@1.2.1': + '@rolldown/binding-darwin-x64@1.2.14': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.2.1': + '@rolldown/binding-freebsd-x64@1.2.14': optional: true - '@rolldown/binding-linux-arm64-gnu@1.2.1': + '@rolldown/binding-linux-arm-gnueabihf@1.2.14': optional: true - '@rolldown/binding-linux-arm64-musl@1.2.1': + '@rolldown/binding-linux-arm64-gnu@1.2.14': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.2.1': + '@rolldown/binding-linux-arm64-musl@1.2.14': optional: true - '@rolldown/binding-linux-s390x-gnu@1.2.1': + '@rolldown/binding-linux-ppc64-gnu@1.2.14': optional: true - '@rolldown/binding-linux-x64-gnu@1.2.1': + '@rolldown/binding-linux-s390x-gnu@1.2.14': optional: true - '@rolldown/binding-linux-x64-musl@1.2.1': + '@rolldown/binding-linux-x64-gnu@1.2.14': optional: true - '@rolldown/binding-openharmony-arm64@1.2.1': + '@rolldown/binding-linux-x64-musl@1.2.14': optional: true - '@rolldown/binding-wasm32-wasi@1.2.1': - dependencies: - '@emnapi/core': 2.0.0-alpha.3 - '@emnapi/runtime': 2.0.0-alpha.3 - '@napi-rs/wasm-runtime': 1.2.1(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3) + '@rolldown/binding-openharmony-arm64@1.2.14': optional: true - '@rolldown/binding-win32-arm64-msvc@1.2.1': + '@rolldown/binding-win32-arm64-msvc@1.2.14': optional: true - '@rolldown/binding-win32-x64-msvc@1.2.1': + '@rolldown/binding-win32-x64-msvc@1.2.14': optional: true '@rolldown/pluginutils@1.0.1': {} '@standard-schema/spec@1.1.0': {} - '@tanstack/query-core@5.101.4': {} + '@tanstack/query-core@5.104.3': {} - '@tanstack/react-query@5.101.4(react@19.2.8)': + '@tanstack/react-query@5.104.3(react@19.3.1)': dependencies: - '@tanstack/query-core': 5.101.4 - react: 19.2.8 + '@tanstack/query-core': 5.104.3 + react: 19.3.1 '@tediousjs/connection-string@1.1.0': {} - '@turbo/darwin-64@2.10.7': + '@turbo/darwin-64@2.11.8': optional: true - '@turbo/darwin-arm64@2.10.7': + '@turbo/darwin-arm64@2.11.8': optional: true - '@turbo/linux-64@2.10.7': + '@turbo/linux-64@2.11.8': optional: true - '@turbo/linux-arm64@2.10.7': + '@turbo/linux-arm64@2.11.8': optional: true - '@turbo/windows-64@2.10.7': + '@turbo/windows-64@2.11.8': optional: true - '@turbo/windows-arm64@2.10.7': - optional: true - - '@tybys/wasm-util@0.10.3': - dependencies: - tslib: 2.8.1 + '@turbo/windows-arm64@2.11.8': optional: true '@types/better-sqlite3@7.6.13': @@ -3835,7 +3864,7 @@ snapshots: '@types/mssql@12.3.0': dependencies: - '@types/node': 24.13.3 + '@types/node': 24.19.2 tarn: 3.1.2 tedious: 20.0.0 transitivePeerDependencies: @@ -3843,107 +3872,102 @@ snapshots: '@types/node-forge@1.3.14': dependencies: - '@types/node': 24.13.3 - - '@types/node@24.13.3': - dependencies: - undici-types: 7.18.2 + '@types/node': 24.19.2 '@types/node@24.19.2': dependencies: undici-types: 7.24.6 - optional: true - '@types/node@26.1.2': + '@types/node@26.6.5': dependencies: - undici-types: 8.3.0 + undici-types: 8.9.0 optional: true - '@types/nodemailer@8.0.1': + '@types/nodemailer@8.0.2': dependencies: - '@types/node': 24.13.3 + '@types/node': 24.19.2 - '@types/react-dom@19.2.3(@types/react@19.2.17)': + '@types/react-dom@19.3.0(@types/react@19.3.0)': dependencies: - '@types/react': 19.2.17 + '@types/react': 19.3.0 - '@types/react@19.2.17': + '@types/react@19.3.0': dependencies: csstype: 3.2.3 - '@types/readable-stream@4.0.24': + '@types/readable-stream@4.0.25': dependencies: - '@types/node': 24.13.3 + '@types/node': 24.19.2 '@types/trusted-types@2.0.7': optional: true - '@typescript-eslint/eslint-plugin@8.65.0(@typescript-eslint/parser@8.65.0(eslint@10.8.0)(typescript@6.0.3))(eslint@10.8.0)(typescript@6.0.3)': + '@typescript-eslint/eslint-plugin@8.71.2(@typescript-eslint/parser@8.71.2(eslint@10.13.0)(typescript@6.0.3))(eslint@10.13.0)(typescript@6.0.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.65.0(eslint@10.8.0)(typescript@6.0.3) - '@typescript-eslint/scope-manager': 8.65.0 - '@typescript-eslint/type-utils': 8.65.0(eslint@10.8.0)(typescript@6.0.3) - '@typescript-eslint/utils': 8.65.0(eslint@10.8.0)(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.65.0 - eslint: 10.8.0 - ignore: 7.0.6 + '@typescript-eslint/parser': 8.71.2(eslint@10.13.0)(typescript@6.0.3) + '@typescript-eslint/scope-manager': 8.71.2 + '@typescript-eslint/type-utils': 8.71.2(eslint@10.13.0)(typescript@6.0.3) + '@typescript-eslint/utils': 8.71.2(eslint@10.13.0)(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.71.2 + eslint: 10.13.0 + ignore: 7.0.12 natural-compare: 1.4.0 ts-api-utils: 2.5.0(typescript@6.0.3) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.65.0(eslint@10.8.0)(typescript@6.0.3)': + '@typescript-eslint/parser@8.71.2(eslint@10.13.0)(typescript@6.0.3)': dependencies: - '@typescript-eslint/scope-manager': 8.65.0 - '@typescript-eslint/types': 8.65.0 - '@typescript-eslint/typescript-estree': 8.65.0(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.65.0 + '@typescript-eslint/scope-manager': 8.71.2 + '@typescript-eslint/types': 8.71.2 + '@typescript-eslint/typescript-estree': 8.71.2(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.71.2 debug: 4.4.3 - eslint: 10.8.0 + eslint: 10.13.0 typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.65.0(typescript@6.0.3)': + '@typescript-eslint/project-service@8.71.2(typescript@6.0.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.65.0(typescript@6.0.3) - '@typescript-eslint/types': 8.65.0 + '@typescript-eslint/tsconfig-utils': 8.71.2(typescript@6.0.3) + '@typescript-eslint/types': 8.71.2 debug: 4.4.3 typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.65.0': + '@typescript-eslint/scope-manager@8.71.2': dependencies: - '@typescript-eslint/types': 8.65.0 - '@typescript-eslint/visitor-keys': 8.65.0 + '@typescript-eslint/types': 8.71.2 + '@typescript-eslint/visitor-keys': 8.71.2 - '@typescript-eslint/tsconfig-utils@8.65.0(typescript@6.0.3)': + '@typescript-eslint/tsconfig-utils@8.71.2(typescript@6.0.3)': dependencies: typescript: 6.0.3 - '@typescript-eslint/type-utils@8.65.0(eslint@10.8.0)(typescript@6.0.3)': + '@typescript-eslint/type-utils@8.71.2(eslint@10.13.0)(typescript@6.0.3)': dependencies: - '@typescript-eslint/types': 8.65.0 - '@typescript-eslint/typescript-estree': 8.65.0(typescript@6.0.3) - '@typescript-eslint/utils': 8.65.0(eslint@10.8.0)(typescript@6.0.3) + '@typescript-eslint/types': 8.71.2 + '@typescript-eslint/typescript-estree': 8.71.2(typescript@6.0.3) + '@typescript-eslint/utils': 8.71.2(eslint@10.13.0)(typescript@6.0.3) debug: 4.4.3 - eslint: 10.8.0 + eslint: 10.13.0 ts-api-utils: 2.5.0(typescript@6.0.3) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.65.0': {} + '@typescript-eslint/types@8.71.2': {} - '@typescript-eslint/typescript-estree@8.65.0(typescript@6.0.3)': + '@typescript-eslint/typescript-estree@8.71.2(typescript@6.0.3)': dependencies: - '@typescript-eslint/project-service': 8.65.0(typescript@6.0.3) - '@typescript-eslint/tsconfig-utils': 8.65.0(typescript@6.0.3) - '@typescript-eslint/types': 8.65.0 - '@typescript-eslint/visitor-keys': 8.65.0 + '@typescript-eslint/project-service': 8.71.2(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.71.2(typescript@6.0.3) + '@typescript-eslint/types': 8.71.2 + '@typescript-eslint/visitor-keys': 8.71.2 debug: 4.4.3 minimatch: 10.2.6 semver: 7.8.5 @@ -3953,23 +3977,23 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.65.0(eslint@10.8.0)(typescript@6.0.3)': + '@typescript-eslint/utils@8.71.2(eslint@10.13.0)(typescript@6.0.3)': dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@10.8.0) - '@typescript-eslint/scope-manager': 8.65.0 - '@typescript-eslint/types': 8.65.0 - '@typescript-eslint/typescript-estree': 8.65.0(typescript@6.0.3) - eslint: 10.8.0 + '@eslint-community/eslint-utils': 4.10.1(eslint@10.13.0) + '@typescript-eslint/scope-manager': 8.71.2 + '@typescript-eslint/types': 8.71.2 + '@typescript-eslint/typescript-estree': 8.71.2(typescript@6.0.3) + eslint: 10.13.0 typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.65.0': + '@typescript-eslint/visitor-keys@8.71.2': dependencies: - '@typescript-eslint/types': 8.65.0 + '@typescript-eslint/types': 8.71.2 eslint-visitor-keys: 5.0.1 - '@typespec/ts-http-runtime@0.3.7': + '@typespec/ts-http-runtime@0.3.9': dependencies: http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -3977,18 +4001,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@typespec/ts-http-runtime@0.3.8': - dependencies: - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.6 - tslib: 2.8.1 - transitivePeerDependencies: - - supports-color - - '@vitejs/plugin-react@6.0.5(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(tsx@4.23.1)(yaml@2.9.0))': + '@vitejs/plugin-react@6.1.2(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(tsx@4.23.15)(yaml@2.9.1))': dependencies: '@rolldown/pluginutils': 1.0.1 - vite: 8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(tsx@4.23.1)(yaml@2.9.0) + vite: 8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(tsx@4.23.15)(yaml@2.9.1) '@vitest/coverage-v8@4.1.10(vitest@4.1.10)': dependencies: @@ -4002,7 +4018,7 @@ snapshots: obug: 2.1.4 std-env: 4.2.0 tinyrainbow: 3.1.1 - vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(@vitest/coverage-v8@4.1.10)(vite@8.2.0(@types/node@24.13.3)(esbuild@0.28.1)(tsx@4.23.1)(yaml@2.9.0)) + vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/coverage-v8@4.1.10)(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(tsx@4.23.15)(yaml@2.9.1)) '@vitest/expect@4.1.10': dependencies: @@ -4013,21 +4029,21 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.1.1 - '@vitest/mocker@4.1.10(vite@8.2.0(@types/node@24.13.3)(esbuild@0.28.1)(tsx@4.23.1)(yaml@2.9.0))': + '@vitest/mocker@4.1.10(vite@8.3.4(@types/node@24.19.2)(esbuild@0.28.2)(tsx@4.23.15)(yaml@2.9.1))': dependencies: '@vitest/spy': 4.1.10 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.2.0(@types/node@24.13.3)(esbuild@0.28.1)(tsx@4.23.1)(yaml@2.9.0) + vite: 8.3.4(@types/node@24.19.2)(esbuild@0.28.2)(tsx@4.23.15)(yaml@2.9.1) - '@vitest/mocker@4.1.10(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(tsx@4.23.1)(yaml@2.9.0))': + '@vitest/mocker@4.1.10(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(tsx@4.23.15)(yaml@2.9.1))': dependencies: '@vitest/spy': 4.1.10 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(tsx@4.23.1)(yaml@2.9.0) + vite: 8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(tsx@4.23.15)(yaml@2.9.1) '@vitest/pretty-format@4.1.10': dependencies: @@ -4059,11 +4075,11 @@ snapshots: abstract-logging@2.0.1: {} - acorn-jsx@5.3.2(acorn@8.18.0): + acorn-jsx@5.3.2(acorn@8.19.0): dependencies: - acorn: 8.18.0 + acorn: 8.19.0 - acorn@8.18.0: {} + acorn@8.19.0: {} agent-base@7.1.4: {} @@ -4110,8 +4126,8 @@ snapshots: avvio@9.3.0: dependencies: - '@fastify/error': 4.2.0 - fastq: 1.20.1 + '@fastify/error': 4.2.1 + fastq: 1.20.3 balanced-match@4.0.4: {} @@ -4126,10 +4142,10 @@ snapshots: bl@6.1.6: dependencies: - '@types/readable-stream': 4.0.24 + '@types/readable-stream': 4.0.25 buffer: 6.0.3 inherits: 2.0.4 - readable-stream: 4.7.0 + readable-stream: 4.8.0 brace-expansion@5.0.12: dependencies: @@ -4152,10 +4168,18 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 - bundle-name@4.1.0: + bundle-name@4.1.1: dependencies: run-applescript: 7.1.0 + cacheable@2.5.0: + dependencies: + '@cacheable/memory': 2.2.0 + '@cacheable/utils': 2.5.0 + hookified: 1.15.1 + keyv: 5.6.0 + qified: 0.10.1 + caniuse-lite@1.0.30001806: {} case-anything@2.1.13: {} @@ -4178,7 +4202,7 @@ snapshots: commander@9.5.0: {} - content-disposition@2.0.1: {} + content-disposition@3.0.0: {} convert-source-map@2.0.0: {} @@ -4209,9 +4233,9 @@ snapshots: default-browser-id@5.0.1: {} - default-browser@5.5.0: + default-browser@5.5.1: dependencies: - bundle-name: 4.1.0 + bundle-name: 4.1.1 default-browser-id: 5.0.1 define-lazy-prop@3.0.0: {} @@ -4224,7 +4248,7 @@ snapshots: detect-libc@2.1.2: {} - dompurify@3.4.8: + dompurify@3.4.15: optionalDependencies: '@types/trusted-types': 2.0.7 @@ -4232,14 +4256,14 @@ snapshots: dependencies: detect-libc: 1.0.3 - drizzle-kit@0.31.10: + drizzle-kit@0.31.11: dependencies: '@drizzle-team/brocli': 0.10.2 '@esbuild-kit/esm-loader': 2.6.5 esbuild: 0.25.12 - tsx: 4.23.1 + tsx: 4.23.15 - drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(@types/better-sqlite3@7.6.13)(better-sqlite3@13.0.2)(gel@2.2.0)(postgres@3.4.9): + drizzle-orm@0.45.4(@opentelemetry/api@1.9.1)(@types/better-sqlite3@7.6.13)(better-sqlite3@13.0.2)(gel@2.2.0)(postgres@3.4.9): optionalDependencies: '@opentelemetry/api': 1.9.1 '@types/better-sqlite3': 7.6.13 @@ -4314,34 +4338,34 @@ snapshots: '@esbuild/win32-ia32': 0.25.12 '@esbuild/win32-x64': 0.25.12 - esbuild@0.28.1: + esbuild@0.28.2: optionalDependencies: - '@esbuild/aix-ppc64': 0.28.1 - '@esbuild/android-arm': 0.28.1 - '@esbuild/android-arm64': 0.28.1 - '@esbuild/android-x64': 0.28.1 - '@esbuild/darwin-arm64': 0.28.1 - '@esbuild/darwin-x64': 0.28.1 - '@esbuild/freebsd-arm64': 0.28.1 - '@esbuild/freebsd-x64': 0.28.1 - '@esbuild/linux-arm': 0.28.1 - '@esbuild/linux-arm64': 0.28.1 - '@esbuild/linux-ia32': 0.28.1 - '@esbuild/linux-loong64': 0.28.1 - '@esbuild/linux-mips64el': 0.28.1 - '@esbuild/linux-ppc64': 0.28.1 - '@esbuild/linux-riscv64': 0.28.1 - '@esbuild/linux-s390x': 0.28.1 - '@esbuild/linux-x64': 0.28.1 - '@esbuild/netbsd-arm64': 0.28.1 - '@esbuild/netbsd-x64': 0.28.1 - '@esbuild/openbsd-arm64': 0.28.1 - '@esbuild/openbsd-x64': 0.28.1 - '@esbuild/openharmony-arm64': 0.28.1 - '@esbuild/sunos-x64': 0.28.1 - '@esbuild/win32-arm64': 0.28.1 - '@esbuild/win32-ia32': 0.28.1 - '@esbuild/win32-x64': 0.28.1 + '@esbuild/aix-ppc64': 0.28.2 + '@esbuild/android-arm': 0.28.2 + '@esbuild/android-arm64': 0.28.2 + '@esbuild/android-x64': 0.28.2 + '@esbuild/darwin-arm64': 0.28.2 + '@esbuild/darwin-x64': 0.28.2 + '@esbuild/freebsd-arm64': 0.28.2 + '@esbuild/freebsd-x64': 0.28.2 + '@esbuild/linux-arm': 0.28.2 + '@esbuild/linux-arm64': 0.28.2 + '@esbuild/linux-ia32': 0.28.2 + '@esbuild/linux-loong64': 0.28.2 + '@esbuild/linux-mips64el': 0.28.2 + '@esbuild/linux-ppc64': 0.28.2 + '@esbuild/linux-riscv64': 0.28.2 + '@esbuild/linux-s390x': 0.28.2 + '@esbuild/linux-x64': 0.28.2 + '@esbuild/netbsd-arm64': 0.28.2 + '@esbuild/netbsd-x64': 0.28.2 + '@esbuild/openbsd-arm64': 0.28.2 + '@esbuild/openbsd-x64': 0.28.2 + '@esbuild/openharmony-arm64': 0.28.2 + '@esbuild/sunos-x64': 0.28.2 + '@esbuild/win32-arm64': 0.28.2 + '@esbuild/win32-ia32': 0.28.2 + '@esbuild/win32-x64': 0.28.2 escalade@3.2.0: {} @@ -4349,14 +4373,14 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-plugin-react-hooks@7.1.1(eslint@10.8.0): + eslint-plugin-react-hooks@7.1.1(eslint@10.13.0): dependencies: '@babel/core': 7.29.7 '@babel/parser': 7.29.8 - eslint: 10.8.0 + eslint: 10.13.0 hermes-parser: 0.25.1 - zod: 4.4.3 - zod-validation-error: 4.0.2(zod@4.4.3) + zod: 4.6.7 + zod-validation-error: 4.0.2(zod@4.6.7) transitivePeerDependencies: - supports-color @@ -4371,14 +4395,14 @@ snapshots: eslint-visitor-keys@5.0.1: {} - eslint@10.8.0: + eslint@10.13.0: dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@10.8.0) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.13.0) '@eslint-community/regexpp': 4.12.2 '@eslint/config-array': 0.23.5 '@eslint/config-helpers': 0.7.0 '@eslint/core': 1.2.1 - '@eslint/plugin-kit': 0.7.2 + '@eslint/plugin-kit': 0.7.3 '@humanfs/node': 0.16.8 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 @@ -4393,7 +4417,7 @@ snapshots: esquery: 1.7.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 8.0.0 + file-entry-cache: 11.1.5 find-up: 5.0.0 glob-parent: 6.0.2 ignore: 5.3.2 @@ -4408,8 +4432,8 @@ snapshots: espree@11.2.0: dependencies: - acorn: 8.18.0 - acorn-jsx: 5.3.2(acorn@8.18.0) + acorn: 8.19.0 + acorn-jsx: 5.3.2(acorn@8.19.0) eslint-visitor-keys: 5.0.1 esquery@1.7.0: @@ -4459,9 +4483,7 @@ snapshots: fast-uri@4.2.2: {} - fastify-plugin@5.1.0: {} - - fastify-plugin@6.0.0: {} + fastify-plugin@6.0.1: {} fastify@5.12.7: dependencies: @@ -4474,24 +4496,24 @@ snapshots: fast-json-stringify: 7.0.1 find-my-way: 9.7.0 light-my-request: 6.6.0 - pino: 10.3.1 + pino: 10.4.0 process-warning: 5.1.0 rfdc: 1.4.1 secure-json-parse: 4.1.0 semver: 7.8.5 toad-cache: 3.7.4 - fastq@1.20.1: + fastq@1.20.3: dependencies: reusify: 1.1.0 - fdir@6.5.0(picomatch@4.0.5): + fdir@6.5.0(picomatch@4.0.7): optionalDependencies: - picomatch: 4.0.5 + picomatch: 4.0.7 - file-entry-cache@8.0.0: + file-entry-cache@11.1.5: dependencies: - flat-cache: 4.0.1 + flat-cache: 6.1.23 find-my-way@9.7.0: dependencies: @@ -4504,16 +4526,14 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - flat-cache@4.0.1: + flat-cache@6.1.23: dependencies: + cacheable: 2.5.0 flatted: 3.4.4 - keyv: 4.5.4 + hookified: 1.15.1 flatted@3.4.4: {} - fsevents@2.3.2: - optional: true - fsevents@2.3.3: optional: true @@ -4533,7 +4553,7 @@ snapshots: get-caller-file@2.0.5: {} - get-tsconfig@4.14.0: + get-tsconfig@4.14.3: dependencies: resolve-pkg-maps: 1.0.0 @@ -4549,12 +4569,20 @@ snapshots: has-flag@4.0.0: {} + hashery@1.5.1: + dependencies: + hookified: 1.15.1 + hermes-estree@0.25.1: {} hermes-parser@0.25.1: dependencies: hermes-estree: 0.25.1 + hookified@1.15.1: {} + + hookified@2.2.0: {} + html-escaper@2.0.2: {} http-errors@2.0.1: @@ -4587,13 +4615,13 @@ snapshots: ignore@5.3.2: {} - ignore@7.0.6: {} + ignore@7.0.12: {} imurmurhash@0.1.4: {} inherits@2.0.4: {} - ip-address@10.4.0: {} + ip-address@10.7.4: {} ipaddr.js@2.4.0: {} @@ -4607,6 +4635,8 @@ snapshots: dependencies: is-extglob: 2.1.1 + is-in-ssh@1.0.0: {} + is-inside-container@1.0.0: dependencies: is-docker: 3.0.0 @@ -4633,7 +4663,7 @@ snapshots: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - jose@6.2.5: {} + jose@6.2.12: {} js-md4@0.3.2: {} @@ -4643,8 +4673,6 @@ snapshots: jsesc@3.1.0: {} - json-buffer@3.0.1: {} - json-schema-ref-resolver@3.0.0: dependencies: dequal: 2.0.3 @@ -4681,9 +4709,9 @@ snapshots: jwa: 2.0.1 safe-buffer: 5.2.1 - keyv@4.5.4: + keyv@5.6.0: dependencies: - json-buffer: 3.0.1 + '@keyv/serialize': 1.1.1 levn@0.4.1: dependencies: @@ -4767,7 +4795,7 @@ snapshots: long@5.3.2: {} - lru-cache@11.5.2: {} + lru-cache@11.5.3: {} lru-cache@5.1.1: dependencies: @@ -4797,20 +4825,20 @@ snapshots: minipass@7.1.3: {} - monaco-editor@0.56.0: + monaco-editor@0.57.0: dependencies: - dompurify: 3.4.8 + dompurify: 3.4.15 marked: 14.0.0 ms@2.1.3: {} - mssql@12.7.0: + mssql@12.7.9: dependencies: '@tediousjs/connection-string': 1.1.0 commander: 11.1.0 debug: 4.4.3 tarn: 3.1.2 - tedious: 20.0.0 + tedious: 20.3.8 transitivePeerDependencies: - supports-color @@ -4831,18 +4859,20 @@ snapshots: node-releases@2.0.51: {} - nodemailer@10.1.1: {} + nodemailer@10.1.2: {} obug@2.1.4: {} on-exit-leak-free@2.1.2: {} - open@10.2.0: + open@11.0.4: dependencies: - default-browser: 5.5.0 + default-browser: 5.5.1 define-lazy-prop: 3.0.0 + is-in-ssh: 1.0.0 is-inside-container: 1.0.0 - wsl-utils: 0.1.0 + powershell-utils: 0.2.1 + wsl-utils: 1.0.1 optionator@0.9.4: dependencies: @@ -4867,7 +4897,7 @@ snapshots: path-scurry@2.0.2: dependencies: - lru-cache: 11.5.2 + lru-cache: 11.5.3 minipass: 7.1.3 pathe@2.0.3: {} @@ -4876,35 +4906,35 @@ snapshots: picomatch@4.0.5: {} + picomatch@4.0.7: {} + pino-abstract-transport@3.0.0: dependencies: split2: 4.2.0 pino-std-serializers@7.1.0: {} - pino@10.3.1: + pino@10.4.0: dependencies: '@pinojs/redact': 0.4.0 atomic-sleep: 1.0.0 on-exit-leak-free: 2.1.2 pino-abstract-transport: 3.0.0 pino-std-serializers: 7.1.0 - process-warning: 5.1.0 + process-warning: 5.1.1 quick-format-unescaped: 4.0.4 - real-require: 0.2.0 + real-require: 1.0.0 safe-stable-stringify: 2.5.0 sonic-boom: 4.2.1 thread-stream: 4.2.0 - playwright-core@1.62.0: {} + playwright-core@1.64.1: {} - playwright@1.62.0: + playwright@1.64.1: dependencies: - playwright-core: 1.62.0 - optionalDependencies: - fsevents: 2.3.2 + playwright-core: 1.64.1 - postcss@8.5.25: + postcss@8.5.30: dependencies: nanoid: 3.3.20 picocolors: 1.1.1 @@ -4916,12 +4946,16 @@ snapshots: dependencies: commander: 9.5.0 + powershell-utils@0.2.1: {} + prelude-ls@1.2.1: {} process-warning@4.0.1: {} process-warning@5.1.0: {} + process-warning@5.1.1: {} + process@0.11.10: {} protobufjs@7.6.5: @@ -4935,28 +4969,33 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.2 - '@types/node': 24.13.3 + '@types/node': 24.19.2 long: 5.3.2 punycode@2.3.1: {} + qified@0.10.1: + dependencies: + hookified: 2.2.0 + quick-format-unescaped@4.0.4: {} - react-dom@19.2.8(react@19.2.8): + react-dom@19.3.1(react@19.3.1): dependencies: - react: 19.2.8 - scheduler: 0.27.0 + react: 19.3.1 + scheduler: 0.28.0 - react-router@8.3.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8): + react-router@8.4.0(react-dom@19.3.1(react@19.3.1))(react@19.3.1): dependencies: + '@remix-run/route-pattern': 0.22.1 cookie-es: 3.1.1 - react: 19.2.8 + react: 19.3.1 optionalDependencies: - react-dom: 19.2.8(react@19.2.8) + react-dom: 19.3.1(react@19.3.1) - react@19.2.8: {} + react@19.3.1: {} - readable-stream@4.7.0: + readable-stream@4.8.0: dependencies: abort-controller: 3.0.0 buffer: 6.0.3 @@ -4964,8 +5003,6 @@ snapshots: process: 0.11.10 string_decoder: 1.3.0 - real-require@0.2.0: {} - real-require@1.0.0: {} require-directory@2.1.1: {} @@ -4980,26 +5017,26 @@ snapshots: rfdc@1.4.1: {} - rolldown@1.2.1: + rolldown@1.2.14: dependencies: - '@oxc-project/types': 0.142.0 + '@oxc-project/types': 0.154.0 '@rolldown/pluginutils': 1.0.1 optionalDependencies: - '@rolldown/binding-android-arm64': 1.2.1 - '@rolldown/binding-darwin-arm64': 1.2.1 - '@rolldown/binding-darwin-x64': 1.2.1 - '@rolldown/binding-freebsd-x64': 1.2.1 - '@rolldown/binding-linux-arm-gnueabihf': 1.2.1 - '@rolldown/binding-linux-arm64-gnu': 1.2.1 - '@rolldown/binding-linux-arm64-musl': 1.2.1 - '@rolldown/binding-linux-ppc64-gnu': 1.2.1 - '@rolldown/binding-linux-s390x-gnu': 1.2.1 - '@rolldown/binding-linux-x64-gnu': 1.2.1 - '@rolldown/binding-linux-x64-musl': 1.2.1 - '@rolldown/binding-openharmony-arm64': 1.2.1 - '@rolldown/binding-wasm32-wasi': 1.2.1 - '@rolldown/binding-win32-arm64-msvc': 1.2.1 - '@rolldown/binding-win32-x64-msvc': 1.2.1 + '@rolldown/binding-android-arm-eabi': 1.2.14 + '@rolldown/binding-android-arm64': 1.2.14 + '@rolldown/binding-darwin-arm64': 1.2.14 + '@rolldown/binding-darwin-x64': 1.2.14 + '@rolldown/binding-freebsd-x64': 1.2.14 + '@rolldown/binding-linux-arm-gnueabihf': 1.2.14 + '@rolldown/binding-linux-arm64-gnu': 1.2.14 + '@rolldown/binding-linux-arm64-musl': 1.2.14 + '@rolldown/binding-linux-ppc64-gnu': 1.2.14 + '@rolldown/binding-linux-s390x-gnu': 1.2.14 + '@rolldown/binding-linux-x64-gnu': 1.2.14 + '@rolldown/binding-linux-x64-musl': 1.2.14 + '@rolldown/binding-openharmony-arm64': 1.2.14 + '@rolldown/binding-win32-arm64-msvc': 1.2.14 + '@rolldown/binding-win32-x64-msvc': 1.2.14 run-applescript@7.1.0: {} @@ -5013,7 +5050,7 @@ snapshots: safer-buffer@2.1.2: {} - scheduler@0.27.0: {} + scheduler@0.28.0: {} secure-json-parse@4.1.0: {} @@ -5084,10 +5121,10 @@ snapshots: tedious@20.0.0: dependencies: '@azure/core-auth': 1.11.0 - '@azure/identity': 4.13.1 + '@azure/identity': 4.14.0 '@azure/keyvault-keys': 4.10.2 '@js-joda/core': 6.1.0 - '@types/node': 24.13.3 + '@types/node': 24.19.2 bl: 6.1.6 iconv-lite: 0.7.3 js-md4: 0.3.2 @@ -5096,6 +5133,20 @@ snapshots: transitivePeerDependencies: - supports-color + tedious@20.3.8: + dependencies: + '@azure/core-auth': 1.11.0 + '@azure/identity': 4.14.0 + '@azure/keyvault-keys': 4.10.2 + '@js-joda/core': 6.3.0 + '@types/node': 24.19.2 + bl: 6.1.6 + iconv-lite: 0.7.3 + js-md4: 0.3.2 + native-duplexpair: 1.0.0 + transitivePeerDependencies: + - supports-color + thread-stream@4.2.0: dependencies: real-require: 1.0.0 @@ -5106,8 +5157,8 @@ snapshots: tinyglobby@0.2.17: dependencies: - fdir: 6.5.0(picomatch@4.0.5) - picomatch: 4.0.5 + fdir: 6.5.0(picomatch@4.0.7) + picomatch: 4.0.7 tinyrainbow@3.1.1: {} @@ -5125,55 +5176,52 @@ snapshots: ts-proto-descriptors@2.1.0: dependencies: - '@bufbuild/protobuf': 2.13.0 + '@bufbuild/protobuf': 2.16.0 - ts-proto@2.12.0: + ts-proto@2.15.3: dependencies: - '@bufbuild/protobuf': 2.13.0 + '@bufbuild/protobuf': 2.16.0 case-anything: 2.1.13 ts-poet: 6.12.0 ts-proto-descriptors: 2.1.0 tslib@2.8.1: {} - tsx@4.23.1: + tsx@4.23.15: dependencies: - esbuild: 0.28.1 + esbuild: 0.28.2 optionalDependencies: fsevents: 2.3.3 - turbo@2.10.7: + turbo@2.11.8: optionalDependencies: - '@turbo/darwin-64': 2.10.7 - '@turbo/darwin-arm64': 2.10.7 - '@turbo/linux-64': 2.10.7 - '@turbo/linux-arm64': 2.10.7 - '@turbo/windows-64': 2.10.7 - '@turbo/windows-arm64': 2.10.7 + '@turbo/darwin-64': 2.11.8 + '@turbo/darwin-arm64': 2.11.8 + '@turbo/linux-64': 2.11.8 + '@turbo/linux-arm64': 2.11.8 + '@turbo/windows-64': 2.11.8 + '@turbo/windows-arm64': 2.11.8 type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - typescript-eslint@8.65.0(eslint@10.8.0)(typescript@6.0.3): + typescript-eslint@8.71.2(eslint@10.13.0)(typescript@6.0.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.65.0(@typescript-eslint/parser@8.65.0(eslint@10.8.0)(typescript@6.0.3))(eslint@10.8.0)(typescript@6.0.3) - '@typescript-eslint/parser': 8.65.0(eslint@10.8.0)(typescript@6.0.3) - '@typescript-eslint/typescript-estree': 8.65.0(typescript@6.0.3) - '@typescript-eslint/utils': 8.65.0(eslint@10.8.0)(typescript@6.0.3) - eslint: 10.8.0 + '@typescript-eslint/eslint-plugin': 8.71.2(@typescript-eslint/parser@8.71.2(eslint@10.13.0)(typescript@6.0.3))(eslint@10.13.0)(typescript@6.0.3) + '@typescript-eslint/parser': 8.71.2(eslint@10.13.0)(typescript@6.0.3) + '@typescript-eslint/typescript-estree': 8.71.2(typescript@6.0.3) + '@typescript-eslint/utils': 8.71.2(eslint@10.13.0)(typescript@6.0.3) + eslint: 10.13.0 typescript: 6.0.3 transitivePeerDependencies: - supports-color typescript@6.0.3: {} - undici-types@7.18.2: {} - - undici-types@7.24.6: - optional: true + undici-types@7.24.6: {} - undici-types@8.3.0: + undici-types@8.9.0: optional: true update-browserslist-db@1.2.3(browserslist@4.28.7): @@ -5186,38 +5234,38 @@ snapshots: dependencies: punycode: 2.3.1 - vite@8.2.0(@types/node@24.13.3)(esbuild@0.28.1)(tsx@4.23.1)(yaml@2.9.0): + vite@8.3.4(@types/node@24.19.2)(esbuild@0.28.2)(tsx@4.23.15)(yaml@2.9.1): dependencies: lightningcss: 1.33.0 - picomatch: 4.0.5 - postcss: 8.5.25 - rolldown: 1.2.1 + picomatch: 4.0.7 + postcss: 8.5.30 + rolldown: 1.2.14 tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 24.13.3 - esbuild: 0.28.1 + '@types/node': 24.19.2 + esbuild: 0.28.2 fsevents: 2.3.3 - tsx: 4.23.1 - yaml: 2.9.0 + tsx: 4.23.15 + yaml: 2.9.1 - vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(tsx@4.23.1)(yaml@2.9.0): + vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(tsx@4.23.15)(yaml@2.9.1): dependencies: lightningcss: 1.33.0 - picomatch: 4.0.5 - postcss: 8.5.25 - rolldown: 1.2.1 + picomatch: 4.0.7 + postcss: 8.5.30 + rolldown: 1.2.14 tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 26.1.2 - esbuild: 0.28.1 + '@types/node': 26.6.5 + esbuild: 0.28.2 fsevents: 2.3.3 - tsx: 4.23.1 - yaml: 2.9.0 + tsx: 4.23.15 + yaml: 2.9.1 - vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(@vitest/coverage-v8@4.1.10)(vite@8.2.0(@types/node@24.13.3)(esbuild@0.28.1)(tsx@4.23.1)(yaml@2.9.0)): + vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.19.2)(@vitest/coverage-v8@4.1.10)(vite@8.3.4(@types/node@24.19.2)(esbuild@0.28.2)(tsx@4.23.15)(yaml@2.9.1)): dependencies: '@vitest/expect': 4.1.10 - '@vitest/mocker': 4.1.10(vite@8.2.0(@types/node@24.13.3)(esbuild@0.28.1)(tsx@4.23.1)(yaml@2.9.0)) + '@vitest/mocker': 4.1.10(vite@8.3.4(@types/node@24.19.2)(esbuild@0.28.2)(tsx@4.23.15)(yaml@2.9.1)) '@vitest/pretty-format': 4.1.10 '@vitest/runner': 4.1.10 '@vitest/snapshot': 4.1.10 @@ -5234,19 +5282,19 @@ snapshots: tinyexec: 1.2.4 tinyglobby: 0.2.17 tinyrainbow: 3.1.1 - vite: 8.2.0(@types/node@24.13.3)(esbuild@0.28.1)(tsx@4.23.1)(yaml@2.9.0) + vite: 8.3.4(@types/node@24.19.2)(esbuild@0.28.2)(tsx@4.23.15)(yaml@2.9.1) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.1 - '@types/node': 24.13.3 + '@types/node': 24.19.2 '@vitest/coverage-v8': 4.1.10(vitest@4.1.10) transitivePeerDependencies: - msw - vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.2)(@vitest/coverage-v8@4.1.10)(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(tsx@4.23.1)(yaml@2.9.0)): + vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/coverage-v8@4.1.10)(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(tsx@4.23.15)(yaml@2.9.1)): dependencies: '@vitest/expect': 4.1.10 - '@vitest/mocker': 4.1.10(vite@8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(tsx@4.23.1)(yaml@2.9.0)) + '@vitest/mocker': 4.1.10(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(tsx@4.23.15)(yaml@2.9.1)) '@vitest/pretty-format': 4.1.10 '@vitest/runner': 4.1.10 '@vitest/snapshot': 4.1.10 @@ -5263,11 +5311,11 @@ snapshots: tinyexec: 1.2.4 tinyglobby: 0.2.17 tinyrainbow: 3.1.1 - vite: 8.2.0(@types/node@26.1.2)(esbuild@0.28.1)(tsx@4.23.1)(yaml@2.9.0) + vite: 8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(tsx@4.23.15)(yaml@2.9.1) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.1 - '@types/node': 26.1.2 + '@types/node': 26.6.5 '@vitest/coverage-v8': 4.1.10(vitest@4.1.10) transitivePeerDependencies: - msw @@ -5294,15 +5342,16 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - wsl-utils@0.1.0: + wsl-utils@1.0.1: dependencies: is-wsl: 3.1.1 + powershell-utils: 0.2.1 y18n@5.0.8: {} yallist@3.1.1: {} - yaml@2.9.0: {} + yaml@2.9.1: {} yargs-parser@21.1.1: {} @@ -5318,8 +5367,8 @@ snapshots: yocto-queue@0.1.0: {} - zod-validation-error@4.0.2(zod@4.4.3): + zod-validation-error@4.0.2(zod@4.6.7): dependencies: - zod: 4.4.3 + zod: 4.6.7 - zod@4.4.3: {} + zod@4.6.7: {} diff --git a/tests/integration/package.json b/tests/integration/package.json index 8d99dd6..05e01ec 100644 --- a/tests/integration/package.json +++ b/tests/integration/package.json @@ -12,14 +12,14 @@ "@remote-sql-agent/protocol": "workspace:*", "@remote-sql-agent/server": "workspace:*", "@remote-sql-agent/worker": "workspace:*", - "drizzle-orm": "^0.45.2", - "mssql": "^12.7.0", - "pino": "^10.3.1", + "drizzle-orm": "^0.45.4", + "mssql": "^12.7.9", + "pino": "^10.4.0", "postgres": "^3.4.5" }, "devDependencies": { "@types/mssql": "^12.3.0", - "@types/node": "^24.13.3", + "@types/node": "^24.19.2", "typescript": "^6.0.3", "vitest": "^4.1.10" }, From c7d21d34e65d559d94befa3e606552c4204b5120 Mon Sep 17 00:00:00 2001 From: Agent Harness Date: Wed, 21 Oct 2026 09:12:02 +0100 Subject: [PATCH 2/2] build(protocol): regenerate protobuf output for ts-proto 2.15.3 Fixes the proto:check step in 'Typecheck, lint, unit tests' on the minor-and-patch dependency bump. Co-Authored-By: Claude Sonnet 5.5 --- .../src/gen/google/protobuf/timestamp.ts | 95 +- .../protocol/src/gen/rsagent/v1/worker.ts | 4031 +++++++++-------- 2 files changed, 2270 insertions(+), 1856 deletions(-) diff --git a/packages/protocol/src/gen/google/protobuf/timestamp.ts b/packages/protocol/src/gen/google/protobuf/timestamp.ts index 1aabab2..ae8f4b8 100644 --- a/packages/protocol/src/gen/google/protobuf/timestamp.ts +++ b/packages/protocol/src/gen/google/protobuf/timestamp.ts @@ -1,6 +1,6 @@ // Code generated by protoc-gen-ts_proto. DO NOT EDIT. // versions: -// protoc-gen-ts_proto v2.12.0 +// protoc-gen-ts_proto v2.15.3 // protoc unknown // source: google/protobuf/timestamp.proto @@ -31,52 +31,57 @@ export const Timestamp: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): Timestamp { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseTimestamp(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTimestamp(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.seconds = longToNumber(reader.int64()); + continue; } + case 2: { + if (tag !== 16) { + break; + } - message.seconds = longToNumber(reader.int64()); - continue; - } - case 2: { - if (tag !== 16) { - break; + message.nanos = reader.int32(); + continue; } - - message.nanos = reader.int32(); - continue; } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): Timestamp { + if (typeof object === "string") { + return Timestamp.fromJSON(timestampFromJson(object)); + } return { seconds: isSet(object.seconds) ? globalThis.Number(object.seconds) : 0, nanos: isSet(object.nanos) ? globalThis.Number(object.nanos) : 0, }; }, - toJSON(message: Timestamp): unknown { - const obj: any = {}; - if (message.seconds !== 0) { - obj.seconds = Math.round(message.seconds); - } - if (message.nanos !== 0) { - obj.nanos = Math.round(message.nanos); - } - return obj; + toJSON(message: Timestamp): string { + return timestampToJson(globalThis.Number(message.seconds ?? 0), message.nanos ?? 0); }, create, I>>(base?: I): Timestamp { @@ -103,6 +108,32 @@ type KeysOfUnion = T extends T ? keyof T : never; export type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; +const timestampJsonRegex = /^.+T\d{2}:\d{2}:\d{2}(\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/; + +function timestampFromJson(value: string): { seconds: number; nanos: number } { + const match = timestampJsonRegex.exec(value); + // Date only keeps milliseconds, so it parses the string without the fractional seconds + const fraction = match?.[1]; + const millis = match + ? new globalThis.Date(fraction === undefined ? value : value.replace(fraction, "")).getTime() + : NaN; + if (!match || globalThis.Number.isNaN(millis)) { + throw new globalThis.Error(`Invalid timestamp: ${value}`); + } + const nanos = fraction === undefined ? 0 : globalThis.Number(fraction.slice(1, 10).padEnd(9, "0")); + return { seconds: millis / 1_000, nanos }; +} + +function timestampToJson(seconds: number, nanos: number): string { + const date = new globalThis.Date(seconds * 1_000).toISOString().slice(0, 19); + if (nanos === 0) { + return `${date}Z`; + } + const padded = nanos.toString().padStart(9, "0"); + const len = nanos % 1_000_000 === 0 ? 3 : nanos % 1_000 === 0 ? 6 : 9; + return `${date}.${padded.slice(0, len)}Z`; +} + function longToNumber(int64: { toString(): string }): number { const num = globalThis.Number(int64.toString()); if (num > globalThis.Number.MAX_SAFE_INTEGER) { diff --git a/packages/protocol/src/gen/rsagent/v1/worker.ts b/packages/protocol/src/gen/rsagent/v1/worker.ts index e531f94..3ad6f6f 100644 --- a/packages/protocol/src/gen/rsagent/v1/worker.ts +++ b/packages/protocol/src/gen/rsagent/v1/worker.ts @@ -1,6 +1,6 @@ // Code generated by protoc-gen-ts_proto. DO NOT EDIT. // versions: -// protoc-gen-ts_proto v2.12.0 +// protoc-gen-ts_proto v2.15.3 // protoc unknown // source: rsagent/v1/worker.proto @@ -543,104 +543,113 @@ export const WorkerMessage: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): WorkerMessage { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseWorkerMessage(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.msg = { $case: "hello", hello: Hello.decode(reader, reader.uint32()) }; - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.msg = { $case: "snapshot", snapshot: Snapshot.decode(reader, reader.uint32()) }; - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.msg = { $case: "definition", definition: DefinitionDelta.decode(reader, reader.uint32()) }; - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - message.msg = { $case: "history", history: HistoryBatch.decode(reader, reader.uint32()) }; - continue; - } - case 5: { - if (tag !== 42) { - break; - } - - message.msg = { $case: "activity", activity: ActivityUpdate.decode(reader, reader.uint32()) }; - continue; - } - case 6: { - if (tag !== 50) { - break; - } - - message.msg = { $case: "agentLog", agentLog: AgentLogBatch.decode(reader, reader.uint32()) }; - continue; - } - case 7: { - if (tag !== 58) { - break; - } - - message.msg = { $case: "commandResult", commandResult: CommandResult.decode(reader, reader.uint32()) }; - continue; - } - case 8: { - if (tag !== 66) { - break; - } - - message.msg = { $case: "heartbeat", heartbeat: Heartbeat.decode(reader, reader.uint32()) }; - continue; - } - case 9: { - if (tag !== 74) { - break; - } - - message.msg = { - $case: "instanceConfigStatus", - instanceConfigStatus: InstanceConfigStatus.decode(reader, reader.uint32()), - }; - continue; - } - case 10: { - if (tag !== 82) { - break; - } - - message.msg = { - $case: "certificateRenewal", - certificateRenewal: CertificateRenewalRequest.decode(reader, reader.uint32()), - }; - continue; - } + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseWorkerMessage(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.msg = { $case: "hello", hello: Hello.decode(reader, reader.uint32()) }; + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.msg = { $case: "snapshot", snapshot: Snapshot.decode(reader, reader.uint32()) }; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.msg = { $case: "definition", definition: DefinitionDelta.decode(reader, reader.uint32()) }; + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.msg = { $case: "history", history: HistoryBatch.decode(reader, reader.uint32()) }; + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.msg = { $case: "activity", activity: ActivityUpdate.decode(reader, reader.uint32()) }; + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.msg = { $case: "agentLog", agentLog: AgentLogBatch.decode(reader, reader.uint32()) }; + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.msg = { $case: "commandResult", commandResult: CommandResult.decode(reader, reader.uint32()) }; + continue; + } + case 8: { + if (tag !== 66) { + break; + } + + message.msg = { $case: "heartbeat", heartbeat: Heartbeat.decode(reader, reader.uint32()) }; + continue; + } + case 9: { + if (tag !== 74) { + break; + } + + message.msg = { + $case: "instanceConfigStatus", + instanceConfigStatus: InstanceConfigStatus.decode(reader, reader.uint32()), + }; + continue; + } + case 10: { + if (tag !== 82) { + break; + } + + message.msg = { + $case: "certificateRenewal", + certificateRenewal: CertificateRenewalRequest.decode(reader, reader.uint32()), + }; + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): WorkerMessage { @@ -806,26 +815,35 @@ export const CertificateRenewalRequest: MessageFns = decode(input: BinaryReader | Uint8Array, length?: number): CertificateRenewalRequest { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseCertificateRenewalRequest(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.csrPem = reader.string(); - continue; - } + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCertificateRenewalRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.csrPem = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): CertificateRenewalRequest { @@ -882,58 +900,67 @@ export const Hello: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): Hello { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseHello(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.workerVersion = reader.string(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.hostName = reader.string(); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.maxCapability = reader.string(); - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - message.instances.push(InstanceInfo.decode(reader, reader.uint32())); - continue; - } - case 5: { - if (tag !== 42) { - break; - } - - message.credentialPublicKey = reader.string(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseHello(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.workerVersion = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.hostName = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.maxCapability = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.instances.push(InstanceInfo.decode(reader, reader.uint32())); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.credentialPublicKey = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): Hello { @@ -1012,26 +1039,35 @@ export const InstanceConfigStatus: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): InstanceConfigStatus { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseInstanceConfigStatus(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.results.push(InstanceConfigResult.decode(reader, reader.uint32())); - continue; - } + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseInstanceConfigStatus(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.results.push(InstanceConfigResult.decode(reader, reader.uint32())); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): InstanceConfigStatus { @@ -1080,42 +1116,51 @@ export const InstanceConfigResult: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): InstanceConfigResult { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseInstanceConfigResult(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.instanceName = reader.string(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.status = reader.string(); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.detail = reader.string(); - continue; - } + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseInstanceConfigResult(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.instanceName = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.status = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.detail = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): InstanceConfigResult { @@ -1185,66 +1230,75 @@ export const InstanceInfo: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): InstanceInfo { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseInstanceInfo(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.instanceName = reader.string(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.sqlVersion = reader.string(); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.sqlEdition = reader.string(); - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - message.agentStatus = reader.string(); - continue; - } - case 5: { - if (tag !== 42) { - break; - } - - message.serverName = reader.string(); - continue; - } - case 6: { - if (tag !== 50) { - break; - } - - message.writeMode = JobWriteStatus.decode(reader, reader.uint32()); - continue; - } + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseInstanceInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.instanceName = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.sqlVersion = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.sqlEdition = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.agentStatus = reader.string(); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.serverName = reader.string(); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.writeMode = JobWriteStatus.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): InstanceInfo { @@ -1354,58 +1408,67 @@ export const JobWriteStatus: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): JobWriteStatus { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseJobWriteStatus(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.sqlLoginName = reader.string(); - continue; - } - case 2: { - if (tag !== 16) { - break; - } - - message.isSysadmin = reader.bool(); - continue; - } - case 3: { - if (tag !== 24) { - break; - } - - message.wrapperInstalled = reader.bool(); - continue; - } - case 4: { - if (tag !== 32) { - break; - } - - message.wrapperAllowsDashboardManagement = reader.bool(); - continue; - } - case 5: { - if (tag !== 42) { - break; - } - - message.allowlistedJobs.push(reader.string()); - continue; - } + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseJobWriteStatus(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.sqlLoginName = reader.string(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.isSysadmin = reader.bool(); + continue; + } + case 3: { + if (tag !== 24) { + break; + } + + message.wrapperInstalled = reader.bool(); + continue; + } + case 4: { + if (tag !== 32) { + break; + } + + message.wrapperAllowsDashboardManagement = reader.bool(); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.allowlistedJobs.push(reader.string()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): JobWriteStatus { @@ -1504,74 +1567,83 @@ export const Snapshot: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): Snapshot { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseSnapshot(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.snapshotId = reader.string(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.instanceName = reader.string(); - continue; - } - case 3: { - if (tag !== 24) { - break; - } - - message.moreChunks = reader.bool(); - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - message.jobs.push(JobDefinitionBlob.decode(reader, reader.uint32())); - continue; - } - case 5: { - if (tag !== 42) { - break; - } - - message.schedules.push(ScheduleBlob.decode(reader, reader.uint32())); - continue; - } - case 6: { - if (tag !== 50) { - break; - } - - message.operators.push(OperatorBlob.decode(reader, reader.uint32())); - continue; - } - case 7: { - if (tag !== 58) { - break; - } - - message.alerts.push(AlertBlob.decode(reader, reader.uint32())); - continue; - } + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSnapshot(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.snapshotId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.instanceName = reader.string(); + continue; + } + case 3: { + if (tag !== 24) { + break; + } + + message.moreChunks = reader.bool(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.jobs.push(JobDefinitionBlob.decode(reader, reader.uint32())); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.schedules.push(ScheduleBlob.decode(reader, reader.uint32())); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.operators.push(OperatorBlob.decode(reader, reader.uint32())); + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.alerts.push(AlertBlob.decode(reader, reader.uint32())); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): Snapshot { @@ -1669,50 +1741,59 @@ export const JobDefinitionBlob: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): JobDefinitionBlob { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseJobDefinitionBlob(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.jobUuid = reader.string(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.canonicalJson = reader.string(); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.definitionHash = reader.string(); - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - message.dateModified = Timestamp.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseJobDefinitionBlob(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.jobUuid = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.canonicalJson = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.definitionHash = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.dateModified = Timestamp.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): JobDefinitionBlob { @@ -1792,42 +1873,51 @@ export const ScheduleBlob: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): ScheduleBlob { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseScheduleBlob(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.scheduleName = reader.string(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.canonicalJson = reader.string(); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.definitionHash = reader.string(); - continue; - } + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseScheduleBlob(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.scheduleName = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.canonicalJson = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.definitionHash = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): ScheduleBlob { @@ -1896,42 +1986,51 @@ export const OperatorBlob: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): OperatorBlob { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseOperatorBlob(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.operatorId = reader.int32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.canonicalJson = reader.string(); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.definitionHash = reader.string(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOperatorBlob(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.operatorId = reader.int32(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.canonicalJson = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.definitionHash = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): OperatorBlob { @@ -2000,42 +2099,51 @@ export const AlertBlob: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): AlertBlob { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseAlertBlob(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.alertId = reader.int32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.canonicalJson = reader.string(); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.definitionHash = reader.string(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAlertBlob(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.alertId = reader.int32(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.canonicalJson = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.definitionHash = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): AlertBlob { @@ -2107,50 +2215,59 @@ export const DefinitionDelta: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): DefinitionDelta { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseDefinitionDelta(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.instanceName = reader.string(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.job = JobDefinitionBlob.decode(reader, reader.uint32()); - continue; - } - case 3: { - if (tag !== 24) { - break; - } - - message.deleted = reader.bool(); - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - message.appliedCommandId = reader.string(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDefinitionDelta(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.instanceName = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.job = JobDefinitionBlob.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 24) { + break; + } + + message.deleted = reader.bool(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.appliedCommandId = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): DefinitionDelta { @@ -2219,34 +2336,43 @@ export const HistoryBatch: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): HistoryBatch { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseHistoryBatch(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.instanceName = reader.string(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.rows.push(HistoryRow.decode(reader, reader.uint32())); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseHistoryBatch(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.instanceName = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.rows.push(HistoryRow.decode(reader, reader.uint32())); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): HistoryBatch { @@ -2342,114 +2468,123 @@ export const HistoryRow: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): HistoryRow { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseHistoryRow(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.instanceId = longToNumber(reader.int64()); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.jobUuid = reader.string(); - continue; - } - case 3: { - if (tag !== 24) { - break; - } - - message.stepId = reader.int32(); - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - message.stepName = reader.string(); - continue; - } - case 5: { - if (tag !== 40) { - break; - } - - message.runStatus = reader.int32(); - continue; - } - case 6: { - if (tag !== 50) { - break; - } - - message.runDatetime = Timestamp.decode(reader, reader.uint32()); - continue; - } - case 7: { - if (tag !== 56) { - break; - } - - message.runDurationSeconds = reader.int32(); - continue; - } - case 8: { - if (tag !== 66) { - break; - } - - message.message = reader.string(); - continue; - } - case 9: { - if (tag !== 72) { - break; - } - - message.retriesAttempted = reader.int32(); - continue; - } - case 10: { - if (tag !== 82) { - break; - } + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseHistoryRow(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.instanceId = longToNumber(reader.int64()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.jobUuid = reader.string(); + continue; + } + case 3: { + if (tag !== 24) { + break; + } + + message.stepId = reader.int32(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.stepName = reader.string(); + continue; + } + case 5: { + if (tag !== 40) { + break; + } + + message.runStatus = reader.int32(); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.runDatetime = Timestamp.decode(reader, reader.uint32()); + continue; + } + case 7: { + if (tag !== 56) { + break; + } + + message.runDurationSeconds = reader.int32(); + continue; + } + case 8: { + if (tag !== 66) { + break; + } + + message.message = reader.string(); + continue; + } + case 9: { + if (tag !== 72) { + break; + } + + message.retriesAttempted = reader.int32(); + continue; + } + case 10: { + if (tag !== 82) { + break; + } + + message.server = reader.string(); + continue; + } + case 11: { + if (tag !== 88) { + break; + } + + message.sqlSeverity = reader.int32(); + continue; + } + case 12: { + if (tag !== 96) { + break; + } - message.server = reader.string(); - continue; - } - case 11: { - if (tag !== 88) { - break; + message.sqlMessageId = reader.int32(); + continue; } - - message.sqlSeverity = reader.int32(); - continue; } - case 12: { - if (tag !== 96) { - break; - } - - message.sqlMessageId = reader.int32(); - continue; + if ((tag & 7) === 4 || tag === 0) { + break; } + reader.skip(tag & 7); } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): HistoryRow { @@ -2590,34 +2725,43 @@ export const ActivityUpdate: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): ActivityUpdate { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseActivityUpdate(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.instanceName = reader.string(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.rows.push(ActivityRow.decode(reader, reader.uint32())); - continue; - } + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseActivityUpdate(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.instanceName = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.rows.push(ActivityRow.decode(reader, reader.uint32())); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): ActivityUpdate { @@ -2697,82 +2841,91 @@ export const ActivityRow: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): ActivityRow { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseActivityRow(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.jobUuid = reader.string(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.state = reader.string(); - continue; - } - case 3: { - if (tag !== 24) { - break; - } - - message.currentStepId = reader.int32(); - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - message.currentStepName = reader.string(); - continue; - } - case 5: { - if (tag !== 42) { - break; - } - - message.startExecutionDate = Timestamp.decode(reader, reader.uint32()); - continue; - } - case 6: { - if (tag !== 50) { - break; - } - - message.lastExecutedStepDate = Timestamp.decode(reader, reader.uint32()); - continue; - } - case 7: { - if (tag !== 58) { - break; - } - - message.nextScheduledRunDate = Timestamp.decode(reader, reader.uint32()); - continue; - } - case 8: { - if (tag !== 64) { - break; - } - - message.lastRunOutcome = reader.int32(); - continue; - } + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseActivityRow(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.jobUuid = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.state = reader.string(); + continue; + } + case 3: { + if (tag !== 24) { + break; + } + + message.currentStepId = reader.int32(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.currentStepName = reader.string(); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.startExecutionDate = Timestamp.decode(reader, reader.uint32()); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.lastExecutedStepDate = Timestamp.decode(reader, reader.uint32()); + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.nextScheduledRunDate = Timestamp.decode(reader, reader.uint32()); + continue; + } + case 8: { + if (tag !== 64) { + break; + } + + message.lastRunOutcome = reader.int32(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): ActivityRow { @@ -2885,34 +3038,43 @@ export const AgentLogBatch: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): AgentLogBatch { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseAgentLogBatch(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.instanceName = reader.string(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.rows.push(AgentLogRow.decode(reader, reader.uint32())); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAgentLogBatch(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.instanceName = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.rows.push(AgentLogRow.decode(reader, reader.uint32())); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): AgentLogBatch { @@ -2971,50 +3133,59 @@ export const AgentLogRow: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): AgentLogRow { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseAgentLogRow(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.loggedAt = Timestamp.decode(reader, reader.uint32()); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.severity = reader.string(); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.message = reader.string(); - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - message.processInfo = reader.string(); - continue; - } + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAgentLogRow(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.loggedAt = Timestamp.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.severity = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.message = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.processInfo = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): AgentLogRow { @@ -3089,50 +3260,59 @@ export const Heartbeat: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): Heartbeat { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseHeartbeat(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.sentAt = Timestamp.decode(reader, reader.uint32()); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.instances.push(InstanceInfo.decode(reader, reader.uint32())); - continue; - } - case 3: { - if (tag !== 24) { - break; - } - - message.outboxDepth = reader.int32(); - continue; - } - case 4: { - if (tag !== 32) { - break; - } - - message.clockSkewMs = longToNumber(reader.int64()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseHeartbeat(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.sentAt = Timestamp.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.instances.push(InstanceInfo.decode(reader, reader.uint32())); + continue; + } + case 3: { + if (tag !== 24) { + break; + } + + message.outboxDepth = reader.int32(); + continue; + } + case 4: { + if (tag !== 32) { + break; + } + + message.clockSkewMs = longToNumber(reader.int64()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): Heartbeat { @@ -3230,74 +3410,83 @@ export const CommandResult: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): CommandResult { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseCommandResult(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.commandId = reader.string(); - continue; - } - case 2: { - if (tag !== 16) { - break; - } - - message.success = reader.bool(); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.errorCode = reader.string(); - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - message.errorDetail = reader.string(); - continue; - } - case 5: { - if (tag !== 40) { - break; - } - - message.sqlErrorNumber = reader.int32(); - continue; - } - case 6: { - if (tag !== 50) { - break; - } - - message.resultingJob = JobDefinitionBlob.decode(reader, reader.uint32()); - continue; - } - case 7: { - if (tag !== 58) { - break; - } - - message.appliedAt = Timestamp.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommandResult(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.commandId = reader.string(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.success = reader.bool(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.errorCode = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.errorDetail = reader.string(); + continue; + } + case 5: { + if (tag !== 40) { + break; + } + + message.sqlErrorNumber = reader.int32(); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.resultingJob = JobDefinitionBlob.decode(reader, reader.uint32()); + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.appliedAt = Timestamp.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): CommandResult { @@ -3410,64 +3599,73 @@ export const ServerMessage: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): ServerMessage { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseServerMessage(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.msg = { $case: "helloAck", helloAck: HelloAck.decode(reader, reader.uint32()) }; - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.msg = { $case: "command", command: Command.decode(reader, reader.uint32()) }; - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.msg = { $case: "config", config: ConfigUpdate.decode(reader, reader.uint32()) }; - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - message.msg = { - $case: "instanceConfigs", - instanceConfigs: InstanceConfigSet.decode(reader, reader.uint32()), - }; - continue; - } - case 5: { - if (tag !== 42) { - break; - } - - message.msg = { - $case: "certificateRenewal", - certificateRenewal: CertificateRenewalResponse.decode(reader, reader.uint32()), - }; - continue; - } + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseServerMessage(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.msg = { $case: "helloAck", helloAck: HelloAck.decode(reader, reader.uint32()) }; + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.msg = { $case: "command", command: Command.decode(reader, reader.uint32()) }; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.msg = { $case: "config", config: ConfigUpdate.decode(reader, reader.uint32()) }; + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.msg = { + $case: "instanceConfigs", + instanceConfigs: InstanceConfigSet.decode(reader, reader.uint32()), + }; + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.msg = { + $case: "certificateRenewal", + certificateRenewal: CertificateRenewalResponse.decode(reader, reader.uint32()), + }; + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): ServerMessage { @@ -3587,58 +3785,67 @@ export const CertificateRenewalResponse: MessageFns decode(input: BinaryReader | Uint8Array, length?: number): CertificateRenewalResponse { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseCertificateRenewalResponse(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.success = reader.bool(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.errorDetail = reader.string(); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.certificatePem = reader.string(); - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - message.caCertificatePem = reader.string(); - continue; - } - case 5: { - if (tag !== 42) { - break; - } - - message.notAfter = Timestamp.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCertificateRenewalResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.success = reader.bool(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.errorDetail = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.certificatePem = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.caCertificatePem = reader.string(); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.notAfter = Timestamp.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): CertificateRenewalResponse { @@ -3717,26 +3924,35 @@ export const InstanceConfigSet: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): InstanceConfigSet { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseInstanceConfigSet(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.configs.push(InstanceConfig.decode(reader, reader.uint32())); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseInstanceConfigSet(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.configs.push(InstanceConfig.decode(reader, reader.uint32())); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): InstanceConfigSet { @@ -3801,102 +4017,111 @@ export const InstanceConfig: MessageFns = { } if (message.encryptTls !== false) { writer.uint32(56).bool(message.encryptTls); - } - if (message.trustServerCertificate !== false) { - writer.uint32(64).bool(message.trustServerCertificate); - } - if (message.environmentTag !== "") { - writer.uint32(74).string(message.environmentTag); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): InstanceConfig { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseInstanceConfig(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.instanceName = reader.string(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.serverAddress = reader.string(); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.authMode = reader.string(); - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - message.loginName = reader.string(); - continue; - } - case 5: { - if (tag !== 42) { - break; - } - - message.credentialCiphertext = reader.string(); - continue; - } - case 6: { - if (tag !== 50) { - break; - } - - message.credentialKeyFingerprint = reader.string(); - continue; - } - case 7: { - if (tag !== 56) { - break; - } - - message.encryptTls = reader.bool(); - continue; - } - case 8: { - if (tag !== 64) { - break; - } - - message.trustServerCertificate = reader.bool(); - continue; - } - case 9: { - if (tag !== 74) { - break; - } + } + if (message.trustServerCertificate !== false) { + writer.uint32(64).bool(message.trustServerCertificate); + } + if (message.environmentTag !== "") { + writer.uint32(74).string(message.environmentTag); + } + return writer; + }, - message.environmentTag = reader.string(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; + decode(input: BinaryReader | Uint8Array, length?: number): InstanceConfig { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseInstanceConfig(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.instanceName = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.serverAddress = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.authMode = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.loginName = reader.string(); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.credentialCiphertext = reader.string(); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.credentialKeyFingerprint = reader.string(); + continue; + } + case 7: { + if (tag !== 56) { + break; + } + + message.encryptTls = reader.bool(); + continue; + } + case 8: { + if (tag !== 64) { + break; + } + + message.trustServerCertificate = reader.bool(); + continue; + } + case 9: { + if (tag !== 74) { + break; + } + + message.environmentTag = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): InstanceConfig { @@ -4025,58 +4250,67 @@ export const HelloAck: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): HelloAck { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseHelloAck(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.workerId = reader.string(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.capabilities.push(reader.string()); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.config = ConfigUpdate.decode(reader, reader.uint32()); - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - message.serverVersion = reader.string(); - continue; - } - case 5: { - if (tag !== 42) { - break; - } - - message.commandSigningPublicKey = reader.string(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseHelloAck(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.workerId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.capabilities.push(reader.string()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.config = ConfigUpdate.decode(reader, reader.uint32()); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.serverVersion = reader.string(); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.commandSigningPublicKey = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): HelloAck { @@ -4175,66 +4409,75 @@ export const ConfigUpdate: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): ConfigUpdate { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseConfigUpdate(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.definitionPollSeconds = reader.int32(); - continue; - } - case 2: { - if (tag !== 16) { - break; - } - - message.historyPollSeconds = reader.int32(); - continue; - } - case 3: { - if (tag !== 24) { - break; - } - - message.activityPollSeconds = reader.int32(); - continue; - } - case 4: { - if (tag !== 32) { - break; - } - - message.agentLogPollSeconds = reader.int32(); - continue; - } - case 5: { - if (tag !== 40) { - break; - } - - message.heartbeatSeconds = reader.int32(); - continue; - } - case 6: { - if (tag !== 48) { - break; - } - - message.historyBatchSize = reader.int32(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseConfigUpdate(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.definitionPollSeconds = reader.int32(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.historyPollSeconds = reader.int32(); + continue; + } + case 3: { + if (tag !== 24) { + break; + } + + message.activityPollSeconds = reader.int32(); + continue; + } + case 4: { + if (tag !== 32) { + break; + } + + message.agentLogPollSeconds = reader.int32(); + continue; + } + case 5: { + if (tag !== 40) { + break; + } + + message.heartbeatSeconds = reader.int32(); + continue; + } + case 6: { + if (tag !== 48) { + break; + } + + message.historyBatchSize = reader.int32(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): ConfigUpdate { @@ -4365,133 +4608,154 @@ export const Command: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): Command { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseCommand(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.id = reader.string(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.issuedAt = Timestamp.decode(reader, reader.uint32()); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.instanceName = reader.string(); - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - message.signature = reader.bytes(); - continue; - } - case 10: { - if (tag !== 82) { - break; - } - - message.payload = { $case: "toggleJob", toggleJob: ToggleJob.decode(reader, reader.uint32()) }; - continue; - } - case 11: { - if (tag !== 90) { - break; - } - - message.payload = { $case: "runJob", runJob: RunJob.decode(reader, reader.uint32()) }; - continue; - } - case 12: { - if (tag !== 98) { - break; - } - - message.payload = { $case: "stopJob", stopJob: StopJob.decode(reader, reader.uint32()) }; - continue; - } - case 13: { - if (tag !== 106) { - break; - } - - message.payload = { $case: "upsertJob", upsertJob: UpsertJob.decode(reader, reader.uint32()) }; - continue; - } - case 14: { - if (tag !== 114) { - break; - } - - message.payload = { $case: "deleteJob", deleteJob: DeleteJob.decode(reader, reader.uint32()) }; - continue; - } - case 15: { - if (tag !== 122) { - break; - } - - message.payload = { $case: "upsertSchedule", upsertSchedule: UpsertSchedule.decode(reader, reader.uint32()) }; - continue; - } - case 16: { - if (tag !== 130) { - break; - } - - message.payload = { $case: "deleteSchedule", deleteSchedule: DeleteSchedule.decode(reader, reader.uint32()) }; - continue; - } - case 17: { - if (tag !== 138) { - break; - } - - message.payload = { $case: "upsertOperator", upsertOperator: UpsertOperator.decode(reader, reader.uint32()) }; - continue; - } - case 18: { - if (tag !== 146) { - break; - } - - message.payload = { $case: "deleteOperator", deleteOperator: DeleteOperator.decode(reader, reader.uint32()) }; - continue; - } - case 19: { - if (tag !== 154) { - break; - } - - message.payload = { - $case: "setJobWriteAllowed", - setJobWriteAllowed: SetJobWriteAllowed.decode(reader, reader.uint32()), - }; - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommand(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.id = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.issuedAt = Timestamp.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.instanceName = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.signature = reader.bytes(); + continue; + } + case 10: { + if (tag !== 82) { + break; + } + + message.payload = { $case: "toggleJob", toggleJob: ToggleJob.decode(reader, reader.uint32()) }; + continue; + } + case 11: { + if (tag !== 90) { + break; + } + + message.payload = { $case: "runJob", runJob: RunJob.decode(reader, reader.uint32()) }; + continue; + } + case 12: { + if (tag !== 98) { + break; + } + + message.payload = { $case: "stopJob", stopJob: StopJob.decode(reader, reader.uint32()) }; + continue; + } + case 13: { + if (tag !== 106) { + break; + } + + message.payload = { $case: "upsertJob", upsertJob: UpsertJob.decode(reader, reader.uint32()) }; + continue; + } + case 14: { + if (tag !== 114) { + break; + } + + message.payload = { $case: "deleteJob", deleteJob: DeleteJob.decode(reader, reader.uint32()) }; + continue; + } + case 15: { + if (tag !== 122) { + break; + } + + message.payload = { + $case: "upsertSchedule", + upsertSchedule: UpsertSchedule.decode(reader, reader.uint32()), + }; + continue; + } + case 16: { + if (tag !== 130) { + break; + } + + message.payload = { + $case: "deleteSchedule", + deleteSchedule: DeleteSchedule.decode(reader, reader.uint32()), + }; + continue; + } + case 17: { + if (tag !== 138) { + break; + } + + message.payload = { + $case: "upsertOperator", + upsertOperator: UpsertOperator.decode(reader, reader.uint32()), + }; + continue; + } + case 18: { + if (tag !== 146) { + break; + } + + message.payload = { + $case: "deleteOperator", + deleteOperator: DeleteOperator.decode(reader, reader.uint32()), + }; + continue; + } + case 19: { + if (tag !== 154) { + break; + } + + message.payload = { + $case: "setJobWriteAllowed", + setJobWriteAllowed: SetJobWriteAllowed.decode(reader, reader.uint32()), + }; + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): Command { @@ -4702,42 +4966,51 @@ export const SetJobWriteAllowed: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): SetJobWriteAllowed { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseSetJobWriteAllowed(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.jobUuid = reader.string(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.jobName = reader.string(); - continue; - } - case 3: { - if (tag !== 24) { - break; - } - - message.allowed = reader.bool(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSetJobWriteAllowed(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.jobUuid = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.jobName = reader.string(); + continue; + } + case 3: { + if (tag !== 24) { + break; + } + + message.allowed = reader.bool(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): SetJobWriteAllowed { @@ -4802,42 +5075,51 @@ export const ToggleJob: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): ToggleJob { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseToggleJob(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.jobUuid = reader.string(); - continue; - } - case 2: { - if (tag !== 16) { - break; - } - - message.enabled = reader.bool(); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.baseDefinitionHash = reader.string(); - continue; - } + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseToggleJob(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.jobUuid = reader.string(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.enabled = reader.bool(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.baseDefinitionHash = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): ToggleJob { @@ -4899,34 +5181,43 @@ export const RunJob: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): RunJob { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseRunJob(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.jobUuid = reader.string(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.stepName = reader.string(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRunJob(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.jobUuid = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.stepName = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): RunJob { @@ -4980,26 +5271,35 @@ export const StopJob: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): StopJob { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseStopJob(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.jobUuid = reader.string(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseStopJob(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.jobUuid = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): StopJob { @@ -5053,50 +5353,59 @@ export const UpsertJob: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): UpsertJob { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseUpsertJob(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.jobUuid = reader.string(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.canonicalJson = reader.string(); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.baseDefinitionHash = reader.string(); - continue; - } - case 4: { - if (tag !== 32) { - break; - } - - message.allowOverwrite = reader.bool(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUpsertJob(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.jobUuid = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.canonicalJson = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.baseDefinitionHash = reader.string(); + continue; + } + case 4: { + if (tag !== 32) { + break; + } + + message.allowOverwrite = reader.bool(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): UpsertJob { @@ -5171,34 +5480,43 @@ export const DeleteJob: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): DeleteJob { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseDeleteJob(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.jobUuid = reader.string(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.baseDefinitionHash = reader.string(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDeleteJob(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.jobUuid = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.baseDefinitionHash = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): DeleteJob { @@ -5258,42 +5576,51 @@ export const UpsertSchedule: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): UpsertSchedule { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseUpsertSchedule(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.scheduleName = reader.string(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.canonicalJson = reader.string(); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.baseDefinitionHash = reader.string(); - continue; - } + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUpsertSchedule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.scheduleName = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.canonicalJson = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.baseDefinitionHash = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): UpsertSchedule { @@ -5359,34 +5686,43 @@ export const DeleteSchedule: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): DeleteSchedule { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseDeleteSchedule(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.scheduleName = reader.string(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.baseDefinitionHash = reader.string(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDeleteSchedule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.scheduleName = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.baseDefinitionHash = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): DeleteSchedule { @@ -5446,42 +5782,51 @@ export const UpsertOperator: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): UpsertOperator { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseUpsertOperator(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.operatorId = reader.int32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.canonicalJson = reader.string(); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.baseDefinitionHash = reader.string(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUpsertOperator(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.operatorId = reader.int32(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.canonicalJson = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.baseDefinitionHash = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): UpsertOperator { @@ -5547,34 +5892,43 @@ export const DeleteOperator: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): DeleteOperator { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseDeleteOperator(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.operatorId = reader.int32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.baseDefinitionHash = reader.string(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDeleteOperator(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.operatorId = reader.int32(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.baseDefinitionHash = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): DeleteOperator { @@ -5637,50 +5991,59 @@ export const EnrolRequest: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): EnrolRequest { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseEnrolRequest(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.enrolmentToken = reader.string(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.hostName = reader.string(); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.workerVersion = reader.string(); - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - message.csrPem = reader.string(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEnrolRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.enrolmentToken = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.hostName = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.workerVersion = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.csrPem = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): EnrolRequest { @@ -5764,58 +6127,67 @@ export const EnrolResponse: MessageFns = { decode(input: BinaryReader | Uint8Array, length?: number): EnrolResponse { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseEnrolResponse(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.workerId = reader.string(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.certificatePem = reader.string(); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.caCertificatePem = reader.string(); - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - message.notAfter = Timestamp.decode(reader, reader.uint32()); - continue; - } - case 5: { - if (tag !== 42) { - break; - } - - message.workerKey = reader.string(); - continue; - } + const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0; + if (previousRecursionDepth >= 100) { + throw new globalThis.Error("protobuf decode recursion limit exceeded"); + } + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1; + try { + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEnrolResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.workerId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.certificatePem = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.caCertificatePem = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.notAfter = Timestamp.decode(reader, reader.uint32()); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.workerKey = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); + return message; + } finally { + (reader as any).__tsProtoDecodeDepth = previousRecursionDepth; } - return message; }, fromJSON(object: any): EnrolResponse { @@ -6014,11 +6386,22 @@ function fromTimestamp(t: Timestamp): Date { return new globalThis.Date(millis); } +const timestampFractionRegex = /:\d{2}\.\d+/; + function fromJsonTimestamp(o: any): Timestamp { if (o instanceof globalThis.Date) { return toTimestamp(o); } else if (typeof o === "string") { - return toTimestamp(new globalThis.Date(o)); + // Date only keeps milliseconds, and parses longer fractions in an engine-specific way, + // so parse the fractional seconds ourselves and give Date only the whole seconds + const fraction = timestampFractionRegex.exec(o); + if (fraction === null) { + return toTimestamp(new globalThis.Date(o)); + } + const fractionNanos = Number(fraction[0].slice(4, 13).padEnd(9, "0")); + const wholeSeconds = new globalThis.Date(o.replace(fraction[0], fraction[0].slice(0, 3))); + const timestamp = toTimestamp(new globalThis.Date(wholeSeconds.getTime() + Math.trunc(fractionNanos / 1_000_000))); + return { ...timestamp, nanos: (timestamp.nanos ?? 0) + (fractionNanos % 1_000_000) }; } else { return Timestamp.fromJSON(o); }