From 6cbf72462a2e554aeb26306e865ddeecb0fabc98 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 13 Mar 2026 09:20:05 +0000 Subject: [PATCH] merge: integrate dev branch, resolve package.json and lockfile conflicts Co-authored-by: ajnart <49837342+ajnart@users.noreply.github.com> --- .github/ISSUE_TEMPLATE/bug_report.yml | 1 + .github/workflows/deployment-docker-image.yml | 8 +- .github/workflows/on-release.yml | 2 +- .nvmrc | 2 +- CHANGELOG.md | 20 + Dockerfile | 2 +- apps/nextjs/package.json | 28 +- .../board/items/item-select-modal.tsx | 58 +- apps/tasks/package.json | 6 +- apps/websocket/package.json | 2 +- deployments/prebuilt-debian/Dockerfile | 2 +- deployments/prebuilt-debian/package.json | 6 +- docs/README.md | 38 +- e2e/health-checks.spec.ts | 4 +- e2e/home.spec.ts | 2 +- e2e/shared/create-homarr-container.ts | 5 + package.json | 28 +- packages/analytics/package.json | 2 +- packages/api/package.json | 10 +- packages/api/src/router/widgets/immich.ts | 42 + packages/api/src/router/widgets/index.ts | 1 + packages/auth/package.json | 4 +- packages/boards/package.json | 2 +- packages/cli/package.json | 6 +- .../cli/src/commands/integrations-delete.ts | 39 + .../cli/src/commands/integrations-list.ts | 21 + packages/cli/src/commands/integrations.ts | 10 + packages/cli/src/commands/users-delete.ts | 39 + packages/cli/src/commands/users-list.ts | 22 + .../cli/src/commands/users-update-password.ts | 50 + packages/cli/src/commands/users.ts | 11 + packages/cli/src/index.ts | 4 +- packages/common/package.json | 2 +- packages/core/package.json | 10 +- packages/cron-job-api/package.json | 8 +- packages/cron-job-status/package.json | 2 +- packages/cron-jobs-core/package.json | 2 +- packages/cron-jobs/package.json | 2 +- packages/db/package.json | 10 +- packages/definitions/package.json | 4 +- .../src/docs/homarr-docs-sitemap.ts | 1 + packages/definitions/src/integration.ts | 16 + packages/definitions/src/widget.ts | 2 + packages/docker/package.json | 2 +- packages/form/package.json | 4 +- packages/forms-collection/package.json | 4 +- packages/icons/package.json | 2 +- packages/image-proxy/package.json | 2 +- packages/image-proxy/src/index.ts | 44 +- packages/integrations/package.json | 3 +- packages/integrations/src/base/creator.ts | 4 + .../src/immich/immich-integration.ts | 111 + packages/integrations/src/index.ts | 3 + .../src/seerr/seerr-integration.ts | 4 + packages/modals-collection/package.json | 6 +- packages/modals/package.json | 6 +- packages/notifications/package.json | 6 +- packages/old-import/package.json | 6 +- packages/old-schema/package.json | 2 +- packages/ping/package.json | 2 +- packages/redis/package.json | 4 +- packages/request-handler/package.json | 2 +- packages/request-handler/src/immich.ts | 50 + packages/server-settings/package.json | 2 +- packages/settings/package.json | 4 +- packages/spotlight/package.json | 10 +- packages/translation/package.json | 2 +- packages/translation/src/lang/ca.json | 46 + packages/translation/src/lang/cn.json | 46 + packages/translation/src/lang/cr.json | 46 + packages/translation/src/lang/cs.json | 46 + packages/translation/src/lang/da.json | 46 + packages/translation/src/lang/de-CH.json | 46 + packages/translation/src/lang/de.json | 46 + packages/translation/src/lang/el.json | 46 + packages/translation/src/lang/en-gb.json | 344 +- packages/translation/src/lang/en.json | 46 + packages/translation/src/lang/es.json | 46 + packages/translation/src/lang/et.json | 46 + packages/translation/src/lang/fr.json | 46 + packages/translation/src/lang/he.json | 46 + packages/translation/src/lang/hr.json | 46 + packages/translation/src/lang/hu.json | 46 + packages/translation/src/lang/it.json | 46 + packages/translation/src/lang/ja.json | 46 + packages/translation/src/lang/ko.json | 46 + packages/translation/src/lang/lt.json | 46 + packages/translation/src/lang/lv.json | 46 + packages/translation/src/lang/nl.json | 46 + packages/translation/src/lang/no.json | 46 + packages/translation/src/lang/pl.json | 46 + packages/translation/src/lang/pt.json | 46 + packages/translation/src/lang/ro.json | 46 + packages/translation/src/lang/ru.json | 46 + packages/translation/src/lang/sk.json | 46 + packages/translation/src/lang/sl.json | 46 + packages/translation/src/lang/sv.json | 46 + packages/translation/src/lang/tr.json | 60 +- packages/translation/src/lang/uk.json | 46 + packages/translation/src/lang/vi.json | 46 + packages/translation/src/lang/zh.json | 46 + packages/ui/package.json | 10 +- packages/validation/package.json | 2 +- packages/widgets/package.json | 42 +- .../album-carousel/component.module.css | 52 + .../src/immich/album-carousel/component.tsx | 121 + .../src/immich/album-carousel/index.ts | 28 + .../immich/server-stats/component.module.css | 20 + .../src/immich/server-stats/component.tsx | 73 + .../widgets/src/immich/server-stats/index.ts | 30 + packages/widgets/src/index.tsx | 4 + packages/widgets/src/stocks/component.tsx | 3 +- .../widgets/src/system-disks/component.tsx | 10 +- pnpm-lock.yaml | 3041 ++++++++++------- tooling/eslint/package.json | 6 +- tooling/github/setup/action.yml | 2 +- tooling/prettier/package.json | 2 +- 117 files changed, 4495 insertions(+), 1648 deletions(-) create mode 100644 packages/api/src/router/widgets/immich.ts create mode 100644 packages/cli/src/commands/integrations-delete.ts create mode 100644 packages/cli/src/commands/integrations-list.ts create mode 100644 packages/cli/src/commands/integrations.ts create mode 100644 packages/cli/src/commands/users-delete.ts create mode 100644 packages/cli/src/commands/users-list.ts create mode 100644 packages/cli/src/commands/users-update-password.ts create mode 100644 packages/cli/src/commands/users.ts create mode 100644 packages/integrations/src/immich/immich-integration.ts create mode 100644 packages/integrations/src/seerr/seerr-integration.ts create mode 100644 packages/request-handler/src/immich.ts create mode 100644 packages/widgets/src/immich/album-carousel/component.module.css create mode 100644 packages/widgets/src/immich/album-carousel/component.tsx create mode 100644 packages/widgets/src/immich/album-carousel/index.ts create mode 100644 packages/widgets/src/immich/server-stats/component.module.css create mode 100644 packages/widgets/src/immich/server-stats/component.tsx create mode 100644 packages/widgets/src/immich/server-stats/index.ts diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 9369875f4..a01813e91 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -33,6 +33,7 @@ body: options: # The below comment is used to insert a new version with on-release.yml #NEXT_VERSION# + - 1.55.0 - 1.54.0 - 1.53.0 - 1.52.0 diff --git a/.github/workflows/deployment-docker-image.yml b/.github/workflows/deployment-docker-image.yml index 282530054..b13b1d378 100644 --- a/.github/workflows/deployment-docker-image.yml +++ b/.github/workflows/deployment-docker-image.yml @@ -65,7 +65,7 @@ jobs: - uses: actions/setup-node@v6 if: env.SKIP_RELEASE == 'false' with: - node-version: 24.13.1 + node-version: 24.14.0 cache: "pnpm" - run: npm i -g pnpm if: env.SKIP_RELEASE == 'false' @@ -128,7 +128,7 @@ jobs: images: "${{ env.GHCR_REPO }}" - name: Log in to the Container registry - uses: docker/login-action@v3 + uses: docker/login-action@v4 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} @@ -167,7 +167,7 @@ jobs: images: "${{ env.GHCR_REPO }}" - name: Log in to the Container registry - uses: docker/login-action@v3 + uses: docker/login-action@v4 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} @@ -238,7 +238,7 @@ jobs: permission-contents: write # required to publish the release - name: Log in to the Container registry - uses: docker/login-action@v3 + uses: docker/login-action@v4 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} diff --git a/.github/workflows/on-release.yml b/.github/workflows/on-release.yml index 79965e2b9..f5042d42f 100644 --- a/.github/workflows/on-release.yml +++ b/.github/workflows/on-release.yml @@ -64,7 +64,7 @@ jobs: - name: Create Pull Request id: create-pull-request - uses: peter-evans/create-pull-request@v7 + uses: peter-evans/create-pull-request@v8 with: add-paths: .github/ISSUE_TEMPLATE/bug_report.yml commit-message: "chore: update bug report template" diff --git a/.nvmrc b/.nvmrc index 32f8c50de..d845d9d88 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -24.13.1 +24.14.0 diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c5337d84..0138ebbfc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,23 @@ +## [1.55.0](https://github.com/homarr-labs/homarr/compare/v1.54.0...v1.55.0) (2026-03-06) + +### Features + +* add seerr integration ([#5139](https://github.com/homarr-labs/homarr/issues/5139)) ([0e29a2f](https://github.com/homarr-labs/homarr/commit/0e29a2fce172cbfda083b899c01b92bd8b6210b7)) + +### Bug Fixes + +* **deps:** update dependency fast-xml-parser to ^5.4.1 ([#5150](https://github.com/homarr-labs/homarr/issues/5150)) ([eb2f85f](https://github.com/homarr-labs/homarr/commit/eb2f85f6f8c9d7d90c1aeec079225678dfef4dd0)) +* **deps:** update dependency ioredis to v5.10.0 ([#5169](https://github.com/homarr-labs/homarr/issues/5169)) ([1c06e56](https://github.com/homarr-labs/homarr/commit/1c06e562c33bd9f1387cb05a3dece7beedfe43c2)) +* **deps:** update dependency ldapts to v8.1.7 ([#5168](https://github.com/homarr-labs/homarr/issues/5168)) ([ec45aac](https://github.com/homarr-labs/homarr/commit/ec45aacc63766c51a99ead6130bade442124e70d)) +* **deps:** update dependency mysql2 to v3.17.5 ([#5140](https://github.com/homarr-labs/homarr/issues/5140)) ([66ad67e](https://github.com/homarr-labs/homarr/commit/66ad67eced587fd49a470395298477dc09cdd225)) +* **deps:** update dependency mysql2 to v3.18.0 ([#5141](https://github.com/homarr-labs/homarr/issues/5141)) ([52792af](https://github.com/homarr-labs/homarr/commit/52792af186a6eb3519aafdee5a7c0dd03a86a461)) +* **deps:** update dependency mysql2 to v3.18.1 ([#5152](https://github.com/homarr-labs/homarr/issues/5152)) ([8bf2a43](https://github.com/homarr-labs/homarr/commit/8bf2a43e065671c7c119ef1da5aa09d284db0ede)) +* **deps:** update dependency mysql2 to v3.18.2 ([#5164](https://github.com/homarr-labs/homarr/issues/5164)) ([4717a57](https://github.com/homarr-labs/homarr/commit/4717a5724d4a6286c0f2bb92cf1e1fe17903a13a)) +* **deps:** update dependency pg to ^8.19.0 ([#5153](https://github.com/homarr-labs/homarr/issues/5153)) ([0b0fb1c](https://github.com/homarr-labs/homarr/commit/0b0fb1c5798357d7bc847dfe577b26529be8aa5c)) +* **deps:** update dependency swagger-ui-react to ^5.32.0 ([#5167](https://github.com/homarr-labs/homarr/issues/5167)) ([ff11599](https://github.com/homarr-labs/homarr/commit/ff1159943c967b6fea44894765c2210c3cdd44cc)) +* **deps:** update dependency typescript-eslint to ^8.56.1 ([#5142](https://github.com/homarr-labs/homarr/issues/5142)) ([ac3b4e7](https://github.com/homarr-labs/homarr/commit/ac3b4e7de0460cab7723dcc1a5a8e14072a37d25)) +* **deps:** update trpc monorepo to ^11.11.0 ([#5174](https://github.com/homarr-labs/homarr/issues/5174)) ([bc2a532](https://github.com/homarr-labs/homarr/commit/bc2a532a03d8cb76270f52b766f1a7f46d704096)) + ## [1.54.0](https://github.com/homarr-labs/homarr/compare/v1.53.2...v1.54.0) (2026-02-27) ### Features diff --git a/Dockerfile b/Dockerfile index 3ffb327ff..4ef9fcf66 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:24.13.1-alpine AS base +FROM node:24.14.0-alpine AS base FROM base AS builder RUN apk add --no-cache libc6-compat diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json index 03366b748..0ad137ba6 100644 --- a/apps/nextjs/package.json +++ b/apps/nextjs/package.json @@ -54,21 +54,21 @@ "@homarr/ui": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", "@homarr/widgets": "workspace:^0.1.0", - "@mantine/colors-generator": "^8.3.15", - "@mantine/core": "^8.3.15", - "@mantine/dropzone": "^8.3.15", - "@mantine/hooks": "^8.3.15", - "@mantine/modals": "^8.3.15", - "@mantine/tiptap": "^8.3.15", + "@mantine/colors-generator": "^8.3.16", + "@mantine/core": "^8.3.16", + "@mantine/dropzone": "^8.3.16", + "@mantine/hooks": "^8.3.16", + "@mantine/modals": "^8.3.16", + "@mantine/tiptap": "^8.3.16", "@million/lint": "1.0.14", - "@tabler/icons-react": "^3.37.1", + "@tabler/icons-react": "^3.40.0", "@tanstack/react-query": "^5.90.21", "@tanstack/react-query-devtools": "^5.91.3", "@tanstack/react-query-next-experimental": "^5.91.0", - "@trpc/client": "^11.10.0", - "@trpc/next": "^11.10.0", - "@trpc/react-query": "^11.10.0", - "@trpc/server": "^11.10.0", + "@trpc/client": "^11.12.0", + "@trpc/next": "^11.12.0", + "@trpc/react-query": "^11.12.0", + "@trpc/server": "^11.12.0", "@xterm/addon-canvas": "^0.7.0", "@xterm/addon-fit": "0.11.0", "@xterm/xterm": "^6.0.0", @@ -92,7 +92,7 @@ "react-simple-code-editor": "^0.14.1", "sass": "^1.97.3", "superjson": "2.2.6", - "swagger-ui-react": "^5.31.2", + "swagger-ui-react": "^5.32.0", "use-deep-compare-effect": "^1.8.1", "ws": "^8.19.0", "zod": "^4.2.1" @@ -102,7 +102,7 @@ "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", "@types/chroma-js": "3.1.2", - "@types/node": "^24.10.13", + "@types/node": "^24.12.0", "@types/prismjs": "^1.26.6", "@types/react": "19.2.14", "@types/react-dom": "19.2.3", @@ -110,7 +110,7 @@ "@types/ws": "^8.18.1", "concurrently": "^9.2.1", "esbuild": "^0.27.3", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "node-loader": "^2.1.0", "prettier": "^3.8.1", "tsx": "4.20.4", diff --git a/apps/nextjs/src/components/board/items/item-select-modal.tsx b/apps/nextjs/src/components/board/items/item-select-modal.tsx index a2fce1264..5066f5539 100644 --- a/apps/nextjs/src/components/board/items/item-select-modal.tsx +++ b/apps/nextjs/src/components/board/items/item-select-modal.tsx @@ -1,9 +1,10 @@ import { useMemo, useState } from "react"; -import { Button, Card, Center, Grid, Input, Stack, Text } from "@mantine/core"; +import { Avatar, Button, Card, Center, Grid, Group, Input, Stack, Text, Tooltip } from "@mantine/core"; import { IconSearch } from "@tabler/icons-react"; import { objectEntries } from "@homarr/common"; -import type { WidgetKind } from "@homarr/definitions"; +import { getIconUrl, getIntegrationName } from "@homarr/definitions"; +import type { IntegrationKind, WidgetKind } from "@homarr/definitions"; import { createModal } from "@homarr/modals"; import { useI18n } from "@homarr/translation/client"; import type { TablerIcon } from "@homarr/ui"; @@ -21,6 +22,10 @@ export const ItemSelectModal = createModal(({ actions }) => { objectEntries(widgetImports) .map(([kind, value]) => ({ kind, + supportedIntegrations: + "supportedIntegrations" in value.definition + ? value.definition.supportedIntegrations.filter((integration) => integration !== "mock") + : [], icon: value.definition.icon, name: t(`widget.${kind}.name`), description: t(`widget.${kind}.description`), @@ -74,6 +79,7 @@ const WidgetItem = ({ }: { item: { kind: WidgetKind; + supportedIntegrations: IntegrationKind[]; name: string; description: string; icon: TablerIcon; @@ -97,7 +103,8 @@ const WidgetItem = ({ {item.description} - @@ -105,3 +112,48 @@ const WidgetItem = ({ ); }; + +interface SupportedIntegrationsProps { + integrations: IntegrationKind[]; + mt: string; +} + +const SupportedIntegrations = ({ integrations, mt }: SupportedIntegrationsProps) => { + if (integrations.length === 0) { + return null; + } + + // When there are 8 or more integrations, we show 6 and a "+X" avatar. Otherwise, we show all integrations. + const countToShow = integrations.length >= 8 ? 6 : 7; + const moreCount = integrations.length - countToShow; + + return ( +
+ + + {integrations.slice(0, countToShow).map((integration) => ( + + + + ))} + {moreCount > 0 && ( + + {integrations.slice(countToShow).map((integration) => ( +
{getIntegrationName(integration)}
+ ))} + + } + > + + +{moreCount} + +
+ )} +
+
+
+ ); +}; diff --git a/apps/tasks/package.json b/apps/tasks/package.json index 03a39c32c..96fbf67ea 100644 --- a/apps/tasks/package.json +++ b/apps/tasks/package.json @@ -39,7 +39,7 @@ "@homarr/widgets": "workspace:^0.1.0", "dayjs": "^1.11.19", "dotenv": "^17.3.1", - "fastify": "^5.7.4", + "fastify": "^5.8.2", "superjson": "2.2.6", "undici": "7.18.2" }, @@ -47,10 +47,10 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "@types/node": "^24.10.13", + "@types/node": "^24.12.0", "dotenv-cli": "^11.0.0", "esbuild": "^0.27.3", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "prettier": "^3.8.1", "tsx": "4.20.4", "typescript": "^5.9.3" diff --git a/apps/websocket/package.json b/apps/websocket/package.json index 158bfe0a7..39ee27ae9 100644 --- a/apps/websocket/package.json +++ b/apps/websocket/package.json @@ -35,7 +35,7 @@ "@homarr/tsconfig": "workspace:^0.1.0", "@types/ws": "^8.18.1", "esbuild": "^0.27.3", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "prettier": "^3.8.1", "typescript": "^5.9.3" } diff --git a/deployments/prebuilt-debian/Dockerfile b/deployments/prebuilt-debian/Dockerfile index 351e7a2cd..ced8d7bdf 100644 --- a/deployments/prebuilt-debian/Dockerfile +++ b/deployments/prebuilt-debian/Dockerfile @@ -1,4 +1,4 @@ -FROM node:24.13.1-trixie AS base +FROM node:24.14.0-trixie AS base WORKDIR /app COPY package.json . COPY pnpm-lock.yaml . diff --git a/deployments/prebuilt-debian/package.json b/deployments/prebuilt-debian/package.json index 88d6cd99a..71f07e59a 100644 --- a/deployments/prebuilt-debian/package.json +++ b/deployments/prebuilt-debian/package.json @@ -4,10 +4,10 @@ "dependencies": { "better-sqlite3": "^12.6.2" }, - "packageManager": "pnpm@10.30.1", + "packageManager": "pnpm@10.31.0", "engines": { - "node": ">=24.13.1", - "pnpm": ">=10.30.1" + "node": ">=24.14.0", + "pnpm": ">=10.31.0" }, "pnpm": { "onlyBuiltDependencies": [ diff --git a/docs/README.md b/docs/README.md index 61be28a6e..d23e83b74 100644 --- a/docs/README.md +++ b/docs/README.md @@ -155,6 +155,13 @@ + + Immich +
+

Immich

+
+ + Jellyfin
@@ -195,15 +202,15 @@

NPM

- - + + ntfy

ntfy

- - + + NZBGet
@@ -244,15 +251,15 @@

Plex

- - + + Prowlarr

Prowlarr

- - + + Proxmox
@@ -293,6 +300,13 @@

SABnzbd

+ + + + Seerr +
+

Seerr

+
@@ -300,8 +314,8 @@

Slskd

- - + + Sonarr
@@ -335,8 +349,8 @@

Unifi
Controller

- - + + Unraid
diff --git a/e2e/health-checks.spec.ts b/e2e/health-checks.spec.ts index 03d175525..b280fcc56 100644 --- a/e2e/health-checks.spec.ts +++ b/e2e/health-checks.spec.ts @@ -15,7 +15,7 @@ describe("Health checks", () => { // Assert expect(readyResponse.status).toBe(200); expect(liveResponse.status).toBe(200); - }, 20_000); + }, 60_000); test("ready and live should return 200 OK with external redis", async () => { // Arrange @@ -42,5 +42,5 @@ describe("Health checks", () => { liveResponse.status, `Expected live to return OK statusCode=${liveResponse.status} content=${await liveResponse.text()}`, ).toBe(200); - }, 20_000); + }, 60_000); }); diff --git a/e2e/home.spec.ts b/e2e/home.spec.ts index e8550a3eb..2d79d7247 100644 --- a/e2e/home.spec.ts +++ b/e2e/home.spec.ts @@ -12,5 +12,5 @@ describe("Home", () => { // Assert expect(homeResponse.status).toBe(200); - }, 20_000); + }, 60_000); }); diff --git a/e2e/shared/create-homarr-container.ts b/e2e/shared/create-homarr-container.ts index 7e5bcd5c4..e69562593 100644 --- a/e2e/shared/create-homarr-container.ts +++ b/e2e/shared/create-homarr-container.ts @@ -18,6 +18,11 @@ export const createHomarrContainer = ( .withExposedPorts(7575) .withEnvironment({ ...options.environment, + // We disable external connections due to the following reasons: + // - No icons have to be downloaded (11k) + // - No analytics data is sent + // - It is just faster and makes the tests more reliable (better performance) + NO_EXTERNAL_CONNECTION: true.toString(), SECRET_ENCRYPTION_KEY: "0".repeat(64), }) .withBindMounts( diff --git a/package.json b/package.json index 3478304a2..e1ec4cc62 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "homarr", - "version": "1.54.0", + "version": "1.55.0", "private": true, "scripts": { "build": "cross-env CI=true turbo build", @@ -42,29 +42,29 @@ "@semantic-release/commit-analyzer": "^13.0.1", "@semantic-release/git": "^10.0.1", "@semantic-release/github": "^12.0.6", - "@semantic-release/npm": "^13.1.4", + "@semantic-release/npm": "^13.1.5", "@semantic-release/release-notes-generator": "^14.1.0", "@testcontainers/redis": "^11.12.0", - "@turbo/gen": "^2.8.9", + "@turbo/gen": "^2.8.14", "@vitejs/plugin-react": "^5.1.4", "@vitest/coverage-v8": "^4.0.18", "@vitest/ui": "^4.0.18", - "conventional-changelog-conventionalcommits": "^9.1.0", + "conventional-changelog-conventionalcommits": "^9.3.0", "cross-env": "^10.1.0", "jsdom": "^28.1.0", "json5": "^2.2.3", "prettier": "^3.8.1", "semantic-release": "^25.0.3", "testcontainers": "^11.12.0", - "turbo": "^2.8.9", + "turbo": "^2.8.14", "typescript": "^5.9.3", "vite-tsconfig-paths": "^6.1.1", "vitest": "^4.0.18" }, - "packageManager": "pnpm@10.30.1", + "packageManager": "pnpm@10.31.0", "engines": { - "node": ">=24.13.1", - "pnpm": ">=10.30.1" + "node": ">=24.14.0", + "pnpm": ">=10.31.0" }, "pnpm": { "onlyBuiltDependencies": [ @@ -81,12 +81,12 @@ "overrides": { "@babel/helpers@<7.26.10": ">=7.28.6", "@babel/runtime@<7.26.10": ">=7.28.6", - "axios@>=1.0.0 <1.8.2": ">=1.13.5", - "brace-expansion@>=2.0.0 <=2.0.1": ">=5.0.3", - "brace-expansion@>=1.0.0 <=1.1.11": ">=4.0.1", + "axios@>=1.0.0 <1.8.2": ">=1.13.6", + "brace-expansion@>=2.0.0 <=2.0.1": ">=5.0.4", + "brace-expansion@>=1.0.0 <=1.1.11": ">=5.0.4", "esbuild@<=0.24.2": ">=0.27.3", "form-data@>=4.0.0 <4.0.4": ">=4.0.5", - "hono@<4.6.5": ">=4.11.9", + "hono@<4.6.5": ">=4.12.5", "linkifyjs@<4.3.2": ">=4.3.2", "nanoid@>=4.0.0 <5.0.9": ">=5.1.6", "prismjs@<1.30.0": ">=1.30.0", @@ -94,8 +94,8 @@ "react-is": "^19.2.4", "rollup@>=4.0.0 <4.22.4": ">=4.59.0", "sha.js@<=2.4.11": ">=2.4.12", - "tar-fs@>=3.0.0 <3.0.9": ">=3.1.1", - "tar-fs@>=2.0.0 <2.1.3": ">=3.1.1", + "tar-fs@>=3.0.0 <3.0.9": ">=3.1.2", + "tar-fs@>=2.0.0 <2.1.3": ">=3.1.2", "tmp@<=0.2.3": ">=0.2.5", "vite@>=5.0.0 <=5.4.18": ">=7.3.1" }, diff --git a/packages/analytics/package.json b/packages/analytics/package.json index 3352ea2ea..102249620 100644 --- a/packages/analytics/package.json +++ b/packages/analytics/package.json @@ -35,7 +35,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/api/package.json b/packages/api/package.json index 7f94b5a5f..41b8980d6 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -42,10 +42,10 @@ "@homarr/validation": "workspace:^0.1.0", "@kubernetes/client-node": "^1.4.0", "@tanstack/react-query": "^5.90.21", - "@trpc/client": "^11.10.0", - "@trpc/react-query": "^11.10.0", - "@trpc/server": "^11.10.0", - "@trpc/tanstack-react-query": "^11.10.0", + "@trpc/client": "^11.12.0", + "@trpc/react-query": "^11.12.0", + "@trpc/server": "^11.12.0", + "@trpc/tanstack-react-query": "^11.12.0", "lodash.clonedeep": "^4.5.0", "next": "16.1.6", "react": "19.2.4", @@ -58,7 +58,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "prettier": "^3.8.1", "typescript": "^5.9.3" } diff --git a/packages/api/src/router/widgets/immich.ts b/packages/api/src/router/widgets/immich.ts new file mode 100644 index 000000000..f1428a80c --- /dev/null +++ b/packages/api/src/router/widgets/immich.ts @@ -0,0 +1,42 @@ +import { z } from "zod/v4"; + +import { getIntegrationKindsByCategory } from "@homarr/definitions"; +import { + immichAlbumRequestHandler, + immichAlbumsRequestHandler, + immichStatsRequestHandler, +} from "@homarr/request-handler/immich"; + +import type { IntegrationAction } from "../../middlewares/integration"; +import { createOneIntegrationMiddleware } from "../../middlewares/integration"; +import { createTRPCRouter, publicProcedure } from "../../trpc"; + +const createImmichIntegrationMiddleware = (action: IntegrationAction) => + createOneIntegrationMiddleware(action, ...getIntegrationKindsByCategory("photoService")); + +export const immichRouter = createTRPCRouter({ + getServerStats: publicProcedure.concat(createImmichIntegrationMiddleware("query")).query(async ({ ctx }) => { + const innerHandler = immichStatsRequestHandler.handler(ctx.integration, {}); + const data = await innerHandler.getCachedOrUpdatedDataAsync({ forceUpdate: false }); + return data.data; + }), + + getAlbum: publicProcedure + .concat(createImmichIntegrationMiddleware("query")) + .input( + z.object({ + albumId: z.string(), + }), + ) + .query(async ({ ctx, input }) => { + const innerHandler = immichAlbumRequestHandler.handler(ctx.integration, { albumId: input.albumId }); + const data = await innerHandler.getCachedOrUpdatedDataAsync({ forceUpdate: false }); + return data.data; + }), + + getAlbums: publicProcedure.concat(createImmichIntegrationMiddleware("query")).query(async ({ ctx }) => { + const innerHandler = immichAlbumsRequestHandler.handler(ctx.integration, {}); + const data = await innerHandler.getCachedOrUpdatedDataAsync({ forceUpdate: false }); + return data.data; + }), +}); diff --git a/packages/api/src/router/widgets/index.ts b/packages/api/src/router/widgets/index.ts index 8f2d775db..0484c875c 100644 --- a/packages/api/src/router/widgets/index.ts +++ b/packages/api/src/router/widgets/index.ts @@ -4,6 +4,7 @@ import { createTRPCRouter } from "../../trpc"; export const widgetRouter = createTRPCRouter({ coolify: lazy(() => import("./coolify").then((mod) => mod.coolifyRouter)), + immich: lazy(() => import("./immich").then((mod) => mod.immichRouter)), notebook: lazy(() => import("./notebook").then((mod) => mod.notebookRouter)), weather: lazy(() => import("./weather").then((mod) => mod.weatherRouter)), app: lazy(() => import("./app").then((mod) => mod.appRouter)), diff --git a/packages/auth/package.json b/packages/auth/package.json index 390ec202b..2ac1e586c 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -33,7 +33,7 @@ "@homarr/validation": "workspace:^0.1.0", "bcrypt": "^6.0.0", "cookies": "^0.9.1", - "ldapts": "8.1.6", + "ldapts": "8.1.7", "next": "16.1.6", "next-auth": "5.0.0-beta.30", "react": "19.2.4", @@ -46,7 +46,7 @@ "@homarr/tsconfig": "workspace:^0.1.0", "@types/bcrypt": "6.0.0", "@types/cookies": "0.9.2", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "prettier": "^3.8.1", "typescript": "^5.9.3" } diff --git a/packages/boards/package.json b/packages/boards/package.json index a67d9d13b..59968d9e6 100644 --- a/packages/boards/package.json +++ b/packages/boards/package.json @@ -32,7 +32,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/cli/package.json b/packages/cli/package.json index 00d1cf5af..2cd8a86d2 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -19,7 +19,9 @@ "clean": "rm -rf .turbo node_modules", "format": "prettier --check . --ignore-path ../../.gitignore", "lint": "eslint", - "typecheck": "tsc --noEmit" + "run": "pnpm with-env node cli.cjs", + "typecheck": "tsc --noEmit", + "with-env": "dotenv -e .env --" }, "prettier": "@homarr/prettier-config", "dependencies": { @@ -35,7 +37,7 @@ "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", "esbuild": "^0.27.3", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/cli/src/commands/integrations-delete.ts b/packages/cli/src/commands/integrations-delete.ts new file mode 100644 index 000000000..47ff12c22 --- /dev/null +++ b/packages/cli/src/commands/integrations-delete.ts @@ -0,0 +1,39 @@ +import { command, string } from "@drizzle-team/brocli"; + +import { db, eq } from "@homarr/db"; +import { integrations } from "@homarr/db/schema"; + +export const integrationsDelete = command({ + name: "delete", + desc: "Delete an integration by id or name", + options: { + id: string("id").alias("i").desc("ID of the integration"), + name: string("name").alias("n").desc("Name of the integration"), + }, + // eslint-disable-next-line no-restricted-syntax + handler: async (options) => { + if (!options.id && !options.name) { + console.error("Either --id or --name must be provided"); + return; + } + + let entry; + if (options.id) { + entry = await db.query.integrations.findFirst({ + where: eq(integrations.id, options.id), + }); + } else if (options.name) { + entry = await db.query.integrations.findFirst({ + where: eq(integrations.name, options.name), + }); + } + + if (!entry) { + console.error("Integration not found"); + return; + } + + await db.delete(integrations).where(eq(integrations.id, entry.id)); + console.log(`Integration ${entry.name} (${entry.id}) deleted`); + }, +}); diff --git a/packages/cli/src/commands/integrations-list.ts b/packages/cli/src/commands/integrations-list.ts new file mode 100644 index 000000000..3899ba5b9 --- /dev/null +++ b/packages/cli/src/commands/integrations-list.ts @@ -0,0 +1,21 @@ +import { command } from "@drizzle-team/brocli"; + +import { db } from "@homarr/db"; + +export const integrationsList = command({ + name: "list", + desc: "List all integrations (id and name)", + // eslint-disable-next-line no-restricted-syntax + handler: async () => { + const all = await db.query.integrations.findMany(); + if (all.length === 0) { + console.log("No integrations found"); + return; + } + + console.log("ID\t\t\t\tName"); + for (const i of all) { + console.log(`${i.id}\t${i.name}`); + } + }, +}); diff --git a/packages/cli/src/commands/integrations.ts b/packages/cli/src/commands/integrations.ts new file mode 100644 index 000000000..cef6cd910 --- /dev/null +++ b/packages/cli/src/commands/integrations.ts @@ -0,0 +1,10 @@ +import { command } from "@drizzle-team/brocli"; + +import { integrationsDelete } from "./integrations-delete"; +import { integrationsList } from "./integrations-list"; + +export const integrationsRoot = command({ + name: "integrations", + desc: "Group of commands to manage integrations", + subcommands: [integrationsList, integrationsDelete], +}); diff --git a/packages/cli/src/commands/users-delete.ts b/packages/cli/src/commands/users-delete.ts new file mode 100644 index 000000000..8e0cc5799 --- /dev/null +++ b/packages/cli/src/commands/users-delete.ts @@ -0,0 +1,39 @@ +import { command, string } from "@drizzle-team/brocli"; + +import { db, eq } from "@homarr/db"; +import { users } from "@homarr/db/schema"; + +export const usersDelete = command({ + name: "delete", + desc: "Delete a user by id or username", + options: { + id: string("id").alias("i").desc("ID of the user"), + username: string("username").alias("u").desc("Name of the user"), + }, + // eslint-disable-next-line no-restricted-syntax + handler: async (options) => { + if (!options.id && !options.username) { + console.error("Either --id or --username must be provided"); + return; + } + + let user; + if (options.id) { + user = await db.query.users.findFirst({ + where: eq(users.id, options.id), + }); + } else if (options.username) { + user = await db.query.users.findFirst({ + where: eq(users.name, options.username), + }); + } + + if (!user) { + console.error("User not found"); + return; + } + + await db.delete(users).where(eq(users.id, user.id)); + console.log(`User ${user.name ?? user.id} (${user.id}) deleted`); + }, +}); diff --git a/packages/cli/src/commands/users-list.ts b/packages/cli/src/commands/users-list.ts new file mode 100644 index 000000000..74ac50c2b --- /dev/null +++ b/packages/cli/src/commands/users-list.ts @@ -0,0 +1,22 @@ +import { command } from "@drizzle-team/brocli"; + +import { db } from "@homarr/db"; + +export const usersList = command({ + name: "list", + desc: "List all users (id, username, email)", + // eslint-disable-next-line no-restricted-syntax + handler: async () => { + const allUsers = await db.query.users.findMany(); + + if (allUsers.length === 0) { + console.log("No users found"); + return; + } + + console.log("ID\t\t\t\tUsername\tEmail"); + for (const user of allUsers) { + console.log(`${user.id}\t${user.name ?? ""}\t${user.email ?? ""}`); + } + }, +}); diff --git a/packages/cli/src/commands/users-update-password.ts b/packages/cli/src/commands/users-update-password.ts new file mode 100644 index 000000000..c579f0d24 --- /dev/null +++ b/packages/cli/src/commands/users-update-password.ts @@ -0,0 +1,50 @@ +import { command, string } from "@drizzle-team/brocli"; + +import { hashPasswordAsync } from "@homarr/auth"; +import { db, eq } from "@homarr/db"; +import { sessions, users } from "@homarr/db/schema"; + +export const usersUpdatePassword = command({ + name: "update-password", + desc: "Update the password for a user (credentials provider only)", + options: { + id: string("id").alias("i").desc("ID of the user"), + username: string("username").alias("u").desc("Name of the user"), + password: string("password").alias("p").required().desc("New password"), + }, + // eslint-disable-next-line no-restricted-syntax + handler: async (options) => { + if (!process.env.AUTH_PROVIDERS?.toLowerCase().includes("credentials")) { + console.error("Credentials provider is not enabled"); + return; + } + + if (!options.id && !options.username) { + console.error("Either --id or --username must be provided"); + return; + } + + const user = await db.query.users.findFirst({ + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + where: options.id ? eq(users.id, options.id) : eq(users.name, options.username!), + }); + + if (!user?.salt) { + console.error("User not found or has no credentials record"); + return; + } + + await db + .update(users) + .set({ + password: await hashPasswordAsync(options.password, user.salt), + }) + .where(eq(users.id, user.id)); + + // invalidate existing sessions + await db.delete(sessions).where(eq(sessions.userId, user.id)); + console.log(`All sessions for user ${user.name ?? user.id} have been deleted`); + + console.log("Password updated successfully"); + }, +}); diff --git a/packages/cli/src/commands/users.ts b/packages/cli/src/commands/users.ts new file mode 100644 index 000000000..26655931f --- /dev/null +++ b/packages/cli/src/commands/users.ts @@ -0,0 +1,11 @@ +import { command } from "@drizzle-team/brocli"; + +import { usersDelete } from "./users-delete"; +import { usersList } from "./users-list"; +import { usersUpdatePassword } from "./users-update-password"; + +export const usersRoot = command({ + name: "users", + desc: "Group of commands to manage users", + subcommands: [usersList, usersDelete, usersUpdatePassword], +}); diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index 0041651b5..f1b0c658d 100644 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -1,10 +1,12 @@ import { run } from "@drizzle-team/brocli"; import { fixUsernames } from "./commands/fix-usernames"; +import { integrationsRoot } from "./commands/integrations"; import { recreateAdmin } from "./commands/recreate-admin"; import { resetPassword } from "./commands/reset-password"; +import { usersRoot } from "./commands/users"; -const commands = [resetPassword, fixUsernames, recreateAdmin]; +const commands = [usersRoot, integrationsRoot, resetPassword, fixUsernames, recreateAdmin]; void run(commands, { name: "homarr-cli", diff --git a/packages/common/package.json b/packages/common/package.json index f6ed53340..06682d083 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -42,7 +42,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/core/package.json b/packages/core/package.json index 21d4af925..bb2695f9a 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -41,9 +41,9 @@ "better-sqlite3": "^12.6.2", "dns-caching": "^0.2.9", "drizzle-orm": "^0.45.1", - "ioredis": "5.9.3", - "mysql2": "3.17.4", - "pg": "^8.18.0", + "ioredis": "5.10.0", + "mysql2": "3.19.0", + "pg": "^8.20.0", "superjson": "2.2.6", "winston": "3.19.0", "zod": "^4.2.1" @@ -53,8 +53,8 @@ "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", "@types/better-sqlite3": "7.6.13", - "@types/pg": "^8.16.0", - "eslint": "^9.39.3", + "@types/pg": "^8.18.0", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/cron-job-api/package.json b/packages/cron-job-api/package.json index 5f7dffc18..bf3c512d9 100644 --- a/packages/cron-job-api/package.json +++ b/packages/cron-job-api/package.json @@ -29,9 +29,9 @@ "@homarr/core": "workspace:^0.1.0", "@homarr/cron-jobs": "workspace:^0.1.0", "@tanstack/react-query": "^5.90.21", - "@trpc/client": "^11.10.0", - "@trpc/server": "^11.10.0", - "@trpc/tanstack-react-query": "^11.10.0", + "@trpc/client": "^11.12.0", + "@trpc/server": "^11.12.0", + "@trpc/tanstack-react-query": "^11.12.0", "node-cron": "^4.2.1", "react": "19.2.4", "zod": "^4.2.1" @@ -42,7 +42,7 @@ "@homarr/tsconfig": "workspace:^0.1.0", "@types/node-cron": "^3.0.11", "@types/react": "19.2.14", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/cron-job-status/package.json b/packages/cron-job-status/package.json index f565be7bd..79f3b0ae9 100644 --- a/packages/cron-job-status/package.json +++ b/packages/cron-job-status/package.json @@ -29,7 +29,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/cron-jobs-core/package.json b/packages/cron-jobs-core/package.json index 0a47d6a2e..7983a9f77 100644 --- a/packages/cron-jobs-core/package.json +++ b/packages/cron-jobs-core/package.json @@ -34,7 +34,7 @@ "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", "@types/node-cron": "^3.0.11", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/cron-jobs/package.json b/packages/cron-jobs/package.json index f1c3cf313..c015f14b9 100644 --- a/packages/cron-jobs/package.json +++ b/packages/cron-jobs/package.json @@ -44,7 +44,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/db/package.json b/packages/db/package.json index 5bcc40a3c..a17d467fc 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -47,7 +47,7 @@ "@homarr/core": "workspace:^0.1.0", "@homarr/definitions": "workspace:^0.1.0", "@homarr/server-settings": "workspace:^0.1.0", - "@mantine/core": "^8.3.15", + "@mantine/core": "^8.3.16", "@paralleldrive/cuid2": "^3.3.0", "@testcontainers/mysql": "^11.12.0", "@testcontainers/postgresql": "^11.12.0", @@ -56,8 +56,8 @@ "drizzle-kit": "^0.31.9", "drizzle-orm": "^0.45.1", "drizzle-zod": "^0.8.3", - "mysql2": "3.17.4", - "pg": "^8.18.0", + "mysql2": "3.19.0", + "pg": "^8.20.0", "superjson": "2.2.6" }, "devDependencies": { @@ -65,10 +65,10 @@ "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", "@types/better-sqlite3": "7.6.13", - "@types/pg": "^8.16.0", + "@types/pg": "^8.18.0", "dotenv-cli": "^11.0.0", "esbuild": "^0.27.3", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "prettier": "^3.8.1", "tsx": "4.20.4", "typescript": "^5.9.3" diff --git a/packages/definitions/package.json b/packages/definitions/package.json index 2ee646649..850583267 100644 --- a/packages/definitions/package.json +++ b/packages/definitions/package.json @@ -24,14 +24,14 @@ "prettier": "@homarr/prettier-config", "dependencies": { "@homarr/common": "workspace:^0.1.0", - "fast-xml-parser": "^5.3.7", + "fast-xml-parser": "^5.4.2", "zod": "^4.2.1" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "tsx": "4.20.4", "typescript": "^5.9.3" } diff --git a/packages/definitions/src/docs/homarr-docs-sitemap.ts b/packages/definitions/src/docs/homarr-docs-sitemap.ts index 78b0d6203..7d8447264 100644 --- a/packages/definitions/src/docs/homarr-docs-sitemap.ts +++ b/packages/definitions/src/docs/homarr-docs-sitemap.ts @@ -185,6 +185,7 @@ export type HomarrDocumentationPath = | "/docs/integrations/radarr" | "/docs/integrations/readarr" | "/docs/integrations/sabnzbd" + | "/docs/integrations/seerr" | "/docs/integrations/slskd" | "/docs/integrations/sonarr" | "/docs/integrations/tdarr" diff --git a/packages/definitions/src/integration.ts b/packages/definitions/src/integration.ts index 3e3f09098..f4edb4c17 100644 --- a/packages/definitions/src/integration.ts +++ b/packages/definitions/src/integration.ts @@ -143,6 +143,13 @@ export const integrationDefs = { category: ["mediaSearch", "mediaRequest", "search"], documentationUrl: createDocumentationLink("/docs/integrations/jellyseerr"), }, + seerr: { + name: "Seerr", + secretKinds: [["apiKey"]], + iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons@master/svg/seerr.svg", + category: ["mediaSearch", "mediaRequest", "search"], + documentationUrl: createDocumentationLink("/docs/integrations/seerr"), + }, overseerr: { name: "Overseerr", secretKinds: [["apiKey"]], @@ -327,6 +334,14 @@ export const integrationDefs = { // @ts-expect-error - docs page will be created when integration is merged documentationUrl: createDocumentationLink("/docs/integrations/coolify"), }, + immich: { + name: "Immich", + secretKinds: [["apiKey"]], + iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons@master/svg/immich.svg", + category: ["photoService"], + // @ts-expect-error TS2345 + documentationUrl: createDocumentationLink("/docs/integrations/immich"), + }, // This integration only returns mock data, it is used during development (but can also be used in production by directly going to the create page) mock: { name: "Mock", @@ -413,6 +428,7 @@ export const integrationCategories = [ "releasesProvider", "notifications", "firewall", + "photoService", ] as const; export type IntegrationCategory = (typeof integrationCategories)[number]; diff --git a/packages/definitions/src/widget.ts b/packages/definitions/src/widget.ts index 8d5b657d2..4dcfccfd9 100644 --- a/packages/definitions/src/widget.ts +++ b/packages/definitions/src/widget.ts @@ -31,5 +31,7 @@ export const widgetKinds = [ "systemResources", "coolify", "systemDisks", + "immich-serverStats", + "immich-albumCarousel", ] as const; export type WidgetKind = (typeof widgetKinds)[number]; diff --git a/packages/docker/package.json b/packages/docker/package.json index 94ebc317a..4873adfcc 100644 --- a/packages/docker/package.json +++ b/packages/docker/package.json @@ -33,7 +33,7 @@ "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", "@types/dockerode": "^4.0.1", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/form/package.json b/packages/form/package.json index e9a9805af..418aa9f43 100644 --- a/packages/form/package.json +++ b/packages/form/package.json @@ -26,7 +26,7 @@ "@homarr/common": "workspace:^0.1.0", "@homarr/translation": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", - "@mantine/form": "^8.3.15", + "@mantine/form": "^8.3.16", "mantine-form-zod-resolver": "^1.3.0", "zod": "^4.2.1" }, @@ -34,7 +34,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/forms-collection/package.json b/packages/forms-collection/package.json index 6f5954df0..74d735a03 100644 --- a/packages/forms-collection/package.json +++ b/packages/forms-collection/package.json @@ -30,7 +30,7 @@ "@homarr/translation": "workspace:^0.1.0", "@homarr/ui": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", - "@mantine/core": "^8.3.15", + "@mantine/core": "^8.3.16", "react": "19.2.4", "zod": "^4.2.1" }, @@ -38,7 +38,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/icons/package.json b/packages/icons/package.json index e1e376777..a15db8e85 100644 --- a/packages/icons/package.json +++ b/packages/icons/package.json @@ -31,7 +31,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/image-proxy/package.json b/packages/image-proxy/package.json index ace58bf87..796f3ce91 100644 --- a/packages/image-proxy/package.json +++ b/packages/image-proxy/package.json @@ -32,7 +32,7 @@ "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", "@types/bcrypt": "6.0.0", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/image-proxy/src/index.ts b/packages/image-proxy/src/index.ts index 736a64dcb..3660064c3 100644 --- a/packages/image-proxy/src/index.ts +++ b/packages/image-proxy/src/index.ts @@ -1,6 +1,7 @@ -import bcrypt from "bcrypt"; +import { createHmac, hkdfSync } from "node:crypto"; import { createId } from "@homarr/common"; +import { env } from "@homarr/common/env"; import { decryptSecret, encryptSecret } from "@homarr/common/server"; import { fetchWithTrustedCertificatesAsync } from "@homarr/core/infrastructure/http"; import { createLogger } from "@homarr/core/infrastructure/logs"; @@ -9,29 +10,22 @@ import { createGetSetChannel } from "@homarr/redis"; const logger = createLogger({ module: "imageProxy" }); -const createHashChannel = (hash: `${string}.${string}`) => createGetSetChannel(`image-proxy:hash:${hash}`); +const createHmacChannel = (hmac: `${string}.${string}`) => createGetSetChannel(`image-proxy:hmac:${hmac}`); const createUrlByIdChannel = (id: string) => createGetSetChannel<{ url: `${string}.${string}`; headers: `${string}.${string}`; }>(`image-proxy:url:${id}`); -const saltChannel = createGetSetChannel("image-proxy:salt"); export class ImageProxy { - private static salt: string | null = null; - private async getOrCreateSaltAsync(): Promise { - if (ImageProxy.salt) return ImageProxy.salt; - const existingSalt = await saltChannel.getAsync(); - if (existingSalt) { - ImageProxy.salt = existingSalt; - return existingSalt; - } + private static hmacKey: Buffer | null = null; - const salt = await bcrypt.genSalt(10); - logger.debug("Generated new salt for image proxy", { salt }); - ImageProxy.salt = salt; - await saltChannel.setAsync(salt); - return salt; + /** + * Generate secure key for image-proxy from encryption key + */ + private static getHmacKey(): Buffer { + this.hmacKey ??= Buffer.from(hkdfSync("sha256", env.SECRET_ENCRYPTION_KEY, "", "image-proxy", 32)); + return this.hmacKey; } public async createImageAsync(url: string, headers?: Record): Promise { @@ -106,20 +100,18 @@ export class ImageProxy { } private async getExistingIdAsync(url: string, headers: Record | undefined): Promise { - const salt = await this.getOrCreateSaltAsync(); - const urlHash = await bcrypt.hash(url, salt); - const headerHash = await bcrypt.hash(JSON.stringify(headers ?? null), salt); + const urlHash = this.hashSecret(url); + const headerHash = this.hashSecret(JSON.stringify(headers ?? null)); - const channel = createHashChannel(`${urlHash}.${headerHash}`); + const channel = createHmacChannel(`${urlHash}.${headerHash}`); return await channel.getAsync(); } private async storeImageAsync(id: string, url: string, headers: Record | undefined): Promise { - const salt = await this.getOrCreateSaltAsync(); - const urlHash = await bcrypt.hash(url, salt); - const headerHash = await bcrypt.hash(JSON.stringify(headers ?? null), salt); + const urlHash = this.hashSecret(url); + const headerHash = this.hashSecret(JSON.stringify(headers ?? null)); - const hashChannel = createHashChannel(`${urlHash}.${headerHash}`); + const hashChannel = createHmacChannel(`${urlHash}.${headerHash}`); const urlHeaderChannel = createUrlByIdChannel(id); await urlHeaderChannel.setAsync({ url: encryptSecret(url), @@ -134,6 +126,10 @@ export class ImageProxy { }); } + private hashSecret(value: string): string { + return createHmac("sha256", ImageProxy.getHmacKey()).update(value).digest("hex"); + } + private redactUrl(url: string): string { const urlObject = new URL(url); diff --git a/packages/integrations/package.json b/packages/integrations/package.json index f1b3320d8..b08599aa3 100644 --- a/packages/integrations/package.json +++ b/packages/integrations/package.json @@ -38,6 +38,7 @@ "@homarr/redis": "workspace:^0.1.0", "@homarr/translation": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", + "@immich/sdk": "^2.5.6", "@jellyfin/sdk": "^0.13.0", "@octokit/auth-app": "^8.2.0", "ical.js": "^2.2.1", @@ -56,7 +57,7 @@ "@homarr/tsconfig": "workspace:^0.1.0", "@types/node-unifi": "^2.5.1", "@types/xml2js": "^0.4.14", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/integrations/src/base/creator.ts b/packages/integrations/src/base/creator.ts index 60d22895b..69db53a92 100644 --- a/packages/integrations/src/base/creator.ts +++ b/packages/integrations/src/base/creator.ts @@ -19,6 +19,7 @@ import { GitlabIntegration } from "../gitlab/gitlab-integration"; import { GlancesIntegration } from "../glances/glances-integration"; import { HomeAssistantIntegration } from "../homeassistant/homeassistant-integration"; import { ICalIntegration } from "../ical/ical-integration"; +import { ImmichIntegration } from "../immich/immich-integration"; import { JellyfinIntegration } from "../jellyfin/jellyfin-integration"; import { JellyseerrIntegration } from "../jellyseerr/jellyseerr-integration"; import { LinuxServerIOIntegration } from "../linuxserverio/linuxserverio-integration"; @@ -39,6 +40,7 @@ import { PlexIntegration } from "../plex/plex-integration"; import { ProwlarrIntegration } from "../prowlarr/prowlarr-integration"; import { ProxmoxIntegration } from "../proxmox/proxmox-integration"; import { QuayIntegration } from "../quay/quay-integration"; +import { SeerrIntegration } from "../seerr/seerr-integration"; import { TrueNasIntegration } from "../truenas/truenas-integration"; import { UnifiControllerIntegration } from "../unifi-controller/unifi-controller-integration"; import { UnraidIntegration } from "../unraid/unraid-integration"; @@ -82,6 +84,7 @@ export const integrationCreators = { slskd: SlskdIntegration, aria2: Aria2Integration, jellyseerr: JellyseerrIntegration, + seerr: SeerrIntegration, overseerr: OverseerrIntegration, prowlarr: ProwlarrIntegration, openmediavault: OpenMediaVaultIntegration, @@ -109,6 +112,7 @@ export const integrationCreators = { unraid: UnraidIntegration, coolify: CoolifyIntegration, glances: GlancesIntegration, + immich: ImmichIntegration, } satisfies Record Promise]>; type IntegrationInstanceOfKind = { diff --git a/packages/integrations/src/immich/immich-integration.ts b/packages/integrations/src/immich/immich-integration.ts new file mode 100644 index 000000000..21019e4b7 --- /dev/null +++ b/packages/integrations/src/immich/immich-integration.ts @@ -0,0 +1,111 @@ +import { getAlbumInfo, getAllAlbums, getMyUser, getServerStatistics, init, searchUsers } from "@immich/sdk"; + +import { createLogger } from "@homarr/core/infrastructure/logs"; +import { ImageProxy } from "@homarr/image-proxy"; + +import type { IntegrationInput, IntegrationTestingInput } from "../base/integration"; +import { Integration } from "../base/integration"; +import type { TestingResult } from "../base/test-connection/test-connection-service"; + +export interface ImmichServerStats { + userCount: number; + photoCount: number; + videoCount: number; + totalLibraryUsageInBytes: number; +} + +export interface ImmichAlbum { + id: string; + albumName: string; + assets: ImmichAsset[]; +} + +export interface ImmichAsset { + id: string; + deviceAssetId: string; + originalPath: string; + thumbhash: string | null; + fileModifiedAt: string; + fileCreatedAt: string; + updatedAt: string; + type: "IMAGE" | "VIDEO" | "AUDIO" | "OTHER"; + publicLink: string; +} + +const logger = createLogger({ module: "immich-integration" }); + +export class ImmichIntegration extends Integration { + constructor(integration: IntegrationInput) { + super(integration); + } + + public async getServerStatsAsync(): Promise { + this.initClient(); + const [statistics, users] = await Promise.all([getServerStatistics(), searchUsers()]); + return { + photoCount: statistics.photos, + userCount: users.length, + totalLibraryUsageInBytes: statistics.usage, + videoCount: statistics.videos, + }; + } + + public async getAlbumAsync(albumId: string): Promise { + this.initClient(); + const album = await getAlbumInfo({ id: albumId }); + const imageProxy = new ImageProxy(); + return { + albumName: album.albumName, + assets: await Promise.all( + album.assets.map(async (asset) => { + const publicLink = await imageProxy.createImageAsync( + this.url(`/api/assets/${asset.id}/original`).toString(), + { + "x-api-key": this.getSecretValue("apiKey"), + }, + ); + return { + id: asset.id, + type: asset.type, + deviceAssetId: asset.deviceAssetId, + thumbhash: asset.thumbhash, + fileCreatedAt: asset.fileCreatedAt, + fileModifiedAt: asset.fileModifiedAt, + originalPath: asset.originalPath, + updatedAt: asset.updatedAt, + publicLink, + }; + }), + ), + id: album.id, + }; + } + + public async getAlbumsAsync(): Promise< + { + id: string; + albumName: string; + assetCount: number; + }[] + > { + this.initClient(); + const albums = await getAllAlbums({}); + return albums.map((album) => ({ id: album.id, albumName: album.albumName, assetCount: album.assetCount })); + } + + protected async testingAsync(_: IntegrationTestingInput): Promise { + this.initClient(); + const user = await getMyUser(); + logger.debug(`Logged in as ${user.name} (${user.id})`); + return { success: true }; + } + + /** + * Sets the credentials and prepares the client for calls. + * Must be called before any other functions. + * @private + */ + private initClient() { + init({ baseUrl: this.url("/api").toString(), apiKey: this.getSecretValue("apiKey") }); + } +} diff --git a/packages/integrations/src/index.ts b/packages/integrations/src/index.ts index da748fc57..6a72787d0 100644 --- a/packages/integrations/src/index.ts +++ b/packages/integrations/src/index.ts @@ -19,6 +19,7 @@ export { NTFYIntegration } from "./ntfy/ntfy-integration"; export { OpenMediaVaultIntegration } from "./openmediavault/openmediavault-integration"; export { GlancesIntegration } from "./glances/glances-integration"; export { OverseerrIntegration } from "./overseerr/overseerr-integration"; +export { SeerrIntegration } from "./seerr/seerr-integration"; export { PiHoleIntegrationV5 } from "./pi-hole/v5/pi-hole-integration-v5"; export { PiHoleIntegrationV6 } from "./pi-hole/v6/pi-hole-integration-v6"; export { PlexIntegration } from "./plex/plex-integration"; @@ -28,6 +29,7 @@ export { UnraidIntegration } from "./unraid/unraid-integration"; export { OPNsenseIntegration } from "./opnsense/opnsense-integration"; export { ICalIntegration } from "./ical/ical-integration"; export { CoolifyIntegration } from "./coolify/coolify-integration"; +export { ImmichIntegration } from "./immich/immich-integration"; // Types export type { IntegrationInput } from "./base/integration"; @@ -53,6 +55,7 @@ export type { } from "./interfaces/media-transcoding/media-transcoding-types"; export type { ReleasesRepository, ReleaseResponse } from "./interfaces/releases-providers/releases-providers-types"; export type { Notification } from "./interfaces/notifications/notification-types"; +export type { ImmichServerStats, ImmichAlbum, ImmichAsset } from "./immich/immich-integration"; // Schemas export { downloadClientItemSchema } from "./interfaces/downloads/download-client-items"; diff --git a/packages/integrations/src/seerr/seerr-integration.ts b/packages/integrations/src/seerr/seerr-integration.ts new file mode 100644 index 000000000..30ed79d4e --- /dev/null +++ b/packages/integrations/src/seerr/seerr-integration.ts @@ -0,0 +1,4 @@ +import { OverseerrIntegration } from "../overseerr/overseerr-integration"; + +// Seerr is a fork of Overseerr, the API is compatible and no additional logic is required. +export class SeerrIntegration extends OverseerrIntegration {} diff --git a/packages/modals-collection/package.json b/packages/modals-collection/package.json index db631ffac..beb37dcb0 100644 --- a/packages/modals-collection/package.json +++ b/packages/modals-collection/package.json @@ -33,8 +33,8 @@ "@homarr/translation": "workspace:^0.1.0", "@homarr/ui": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", - "@mantine/core": "^8.3.15", - "@tabler/icons-react": "^3.37.1", + "@mantine/core": "^8.3.16", + "@tabler/icons-react": "^3.40.0", "dayjs": "^1.11.19", "next": "16.1.6", "react": "19.2.4", @@ -45,7 +45,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/modals/package.json b/packages/modals/package.json index 9ec4b72d4..cff5fac17 100644 --- a/packages/modals/package.json +++ b/packages/modals/package.json @@ -24,15 +24,15 @@ "dependencies": { "@homarr/translation": "workspace:^0.1.0", "@homarr/ui": "workspace:^0.1.0", - "@mantine/core": "^8.3.15", - "@mantine/hooks": "^8.3.15", + "@mantine/core": "^8.3.16", + "@mantine/hooks": "^8.3.16", "react": "19.2.4" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/notifications/package.json b/packages/notifications/package.json index a881ce2a7..08141e88f 100644 --- a/packages/notifications/package.json +++ b/packages/notifications/package.json @@ -24,14 +24,14 @@ "prettier": "@homarr/prettier-config", "dependencies": { "@homarr/ui": "workspace:^0.1.0", - "@mantine/notifications": "^8.3.15", - "@tabler/icons-react": "^3.37.1" + "@mantine/notifications": "^8.3.16", + "@tabler/icons-react": "^3.40.0" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/old-import/package.json b/packages/old-import/package.json index fc9a73093..9b488c0bc 100644 --- a/packages/old-import/package.json +++ b/packages/old-import/package.json @@ -37,8 +37,8 @@ "@homarr/translation": "workspace:^0.1.0", "@homarr/ui": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", - "@mantine/core": "^8.3.15", - "@mantine/hooks": "^8.3.15", + "@mantine/core": "^8.3.16", + "@mantine/hooks": "^8.3.16", "adm-zip": "0.5.16", "next": "16.1.6", "react": "19.2.4", @@ -52,7 +52,7 @@ "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", "@types/adm-zip": "0.5.7", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/old-schema/package.json b/packages/old-schema/package.json index 0560f3657..0c3b01d24 100644 --- a/packages/old-schema/package.json +++ b/packages/old-schema/package.json @@ -29,7 +29,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/ping/package.json b/packages/ping/package.json index 9a07d6df7..a345896fc 100644 --- a/packages/ping/package.json +++ b/packages/ping/package.json @@ -29,7 +29,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/redis/package.json b/packages/redis/package.json index 06f206c30..67166f609 100644 --- a/packages/redis/package.json +++ b/packages/redis/package.json @@ -26,14 +26,14 @@ "@homarr/core": "workspace:^", "@homarr/db": "workspace:^", "@homarr/definitions": "workspace:^", - "ioredis": "5.9.3", + "ioredis": "5.10.0", "superjson": "2.2.6" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/request-handler/package.json b/packages/request-handler/package.json index f8b6ae741..66e0677cb 100644 --- a/packages/request-handler/package.json +++ b/packages/request-handler/package.json @@ -40,7 +40,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/request-handler/src/immich.ts b/packages/request-handler/src/immich.ts new file mode 100644 index 000000000..e95cb32b8 --- /dev/null +++ b/packages/request-handler/src/immich.ts @@ -0,0 +1,50 @@ +import dayjs from "dayjs"; + +import type { IntegrationKindByCategory } from "@homarr/definitions"; +import { createIntegrationAsync } from "@homarr/integrations"; +import type { ImmichAlbum, ImmichServerStats } from "@homarr/integrations"; + +import { createCachedIntegrationRequestHandler } from "./lib/cached-integration-request-handler"; + +export const immichStatsRequestHandler = createCachedIntegrationRequestHandler< + ImmichServerStats, + IntegrationKindByCategory<"photoService">, + Record +>({ + async requestAsync(integration) { + const integrationInstance = await createIntegrationAsync(integration); + return await integrationInstance.getServerStatsAsync(); + }, + cacheDuration: dayjs.duration(15, "minute"), + queryKey: "immich-server-stats", +}); + +export const immichAlbumsRequestHandler = createCachedIntegrationRequestHandler< + { + id: string; + albumName: string; + assetCount: number; + }[], + IntegrationKindByCategory<"photoService">, + Record +>({ + async requestAsync(integration) { + const integrationInstance = await createIntegrationAsync(integration); + return await integrationInstance.getAlbumsAsync(); + }, + cacheDuration: dayjs.duration(15, "minute"), + queryKey: "immich-albums", +}); + +export const immichAlbumRequestHandler = createCachedIntegrationRequestHandler< + ImmichAlbum, + IntegrationKindByCategory<"photoService">, + { albumId: string } +>({ + async requestAsync(integration, input) { + const integrationInstance = await createIntegrationAsync(integration); + return await integrationInstance.getAlbumAsync(input.albumId); + }, + cacheDuration: dayjs.duration(15, "minute"), + queryKey: "immich-album", +}); diff --git a/packages/server-settings/package.json b/packages/server-settings/package.json index dce58a189..473dd685f 100644 --- a/packages/server-settings/package.json +++ b/packages/server-settings/package.json @@ -29,7 +29,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/settings/package.json b/packages/settings/package.json index 532821acf..a6e55954f 100644 --- a/packages/settings/package.json +++ b/packages/settings/package.json @@ -25,7 +25,7 @@ "dependencies": { "@homarr/db": "workspace:^0.1.0", "@homarr/server-settings": "workspace:^0.1.0", - "@mantine/dates": "^8.3.15", + "@mantine/dates": "^8.3.16", "next": "16.1.6", "react": "19.2.4", "react-dom": "19.2.4" @@ -34,7 +34,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/spotlight/package.json b/packages/spotlight/package.json index 5be79dd7e..d7d062f73 100644 --- a/packages/spotlight/package.json +++ b/packages/spotlight/package.json @@ -33,10 +33,10 @@ "@homarr/settings": "workspace:^0.1.0", "@homarr/translation": "workspace:^0.1.0", "@homarr/ui": "workspace:^0.1.0", - "@mantine/core": "^8.3.15", - "@mantine/hooks": "^8.3.15", - "@mantine/spotlight": "^8.3.15", - "@tabler/icons-react": "^3.37.1", + "@mantine/core": "^8.3.16", + "@mantine/hooks": "^8.3.16", + "@mantine/spotlight": "^8.3.16", + "@tabler/icons-react": "^3.40.0", "jotai": "^2.18.0", "next": "16.1.6", "react": "19.2.4", @@ -47,7 +47,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/translation/package.json b/packages/translation/package.json index 8b09c2e06..c1ba92057 100644 --- a/packages/translation/package.json +++ b/packages/translation/package.json @@ -41,7 +41,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/translation/src/lang/ca.json b/packages/translation/src/lang/ca.json index 777f40f2d..8ca578001 100644 --- a/packages/translation/src/lang/ca.json +++ b/packages/translation/src/lang/ca.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "", "description": "", diff --git a/packages/translation/src/lang/cn.json b/packages/translation/src/lang/cn.json index 723b43db8..4313f8ae6 100644 --- a/packages/translation/src/lang/cn.json +++ b/packages/translation/src/lang/cn.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "下载客户端", "description": "允许您查看和管理来自Torrent 和 Usenet 客户端的下载。", diff --git a/packages/translation/src/lang/cr.json b/packages/translation/src/lang/cr.json index 5c68f0468..e48e49fc9 100644 --- a/packages/translation/src/lang/cr.json +++ b/packages/translation/src/lang/cr.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "crwdns3880:0crwdne3880:0", + "description": "crwdns3882:0crwdne3882:0", + "option": { + "showUsers": { + "label": "crwdns3884:0crwdne3884:0", + "description": "crwdns3886:0crwdne3886:0" + }, + "showPhotos": { + "label": "crwdns3888:0crwdne3888:0", + "description": "crwdns3890:0crwdne3890:0" + }, + "showVideos": { + "label": "crwdns3892:0crwdne3892:0", + "description": "crwdns3894:0crwdne3894:0" + }, + "showStorage": { + "label": "crwdns3896:0crwdne3896:0", + "description": "crwdns3898:0crwdne3898:0" + } + }, + "users": "crwdns3900:0crwdne3900:0", + "photos": "crwdns3902:0crwdne3902:0", + "videos": "crwdns3904:0crwdne3904:0", + "storage": "crwdns3906:0crwdne3906:0" + }, + "immich-albumCarousel": { + "name": "crwdns3908:0crwdne3908:0", + "option": { + "albumId": { + "label": "crwdns3910:0crwdne3910:0", + "description": "crwdns3912:0crwdne3912:0" + }, + "rotationIntervalSeconds": { + "label": "crwdns3914:0crwdne3914:0", + "description": "crwdns3916:0crwdne3916:0" + }, + "showPhotoInfo": { + "label": "crwdns3918:0crwdne3918:0", + "description": "crwdns3920:0crwdne3920:0" + } + }, + "description": "crwdns3922:0crwdne3922:0", + "noAlbumSelected": "crwdns3924:0crwdne3924:0", + "noPhotos": "crwdns3926:0crwdne3926:0" + }, "downloads": { "name": "crwdns1170:0crwdne1170:0", "description": "crwdns1172:0crwdne1172:0", diff --git a/packages/translation/src/lang/cs.json b/packages/translation/src/lang/cs.json index 0b01c54fc..076cd5503 100644 --- a/packages/translation/src/lang/cs.json +++ b/packages/translation/src/lang/cs.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "", "description": "", diff --git a/packages/translation/src/lang/da.json b/packages/translation/src/lang/da.json index 2319be170..1832c62b2 100644 --- a/packages/translation/src/lang/da.json +++ b/packages/translation/src/lang/da.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "Download Klient", "description": "Giver dig mulighed for at se og administrere dine downloads fra både Torrent og Usenet klienter.", diff --git a/packages/translation/src/lang/de-CH.json b/packages/translation/src/lang/de-CH.json index c7f7b6273..baa31d6c0 100644 --- a/packages/translation/src/lang/de-CH.json +++ b/packages/translation/src/lang/de-CH.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "", "description": "Ermöglicht es Ihnen, Ihre Downloads sowohl von Torrent- als auch von Usenet-Clients anzusehen und zu verwalten.", diff --git a/packages/translation/src/lang/de.json b/packages/translation/src/lang/de.json index bd574d459..063762b6b 100644 --- a/packages/translation/src/lang/de.json +++ b/packages/translation/src/lang/de.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "Download Client", "description": "Ermöglicht es Ihnen, Ihre Downloads sowohl von Torrent- als auch von Usenet-Clients anzusehen und zu verwalten.", diff --git a/packages/translation/src/lang/el.json b/packages/translation/src/lang/el.json index 1dca35730..d559d5ede 100644 --- a/packages/translation/src/lang/el.json +++ b/packages/translation/src/lang/el.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "", "description": "", diff --git a/packages/translation/src/lang/en-gb.json b/packages/translation/src/lang/en-gb.json index 1425134dc..427405d46 100644 --- a/packages/translation/src/lang/en-gb.json +++ b/packages/translation/src/lang/en-gb.json @@ -1366,46 +1366,46 @@ "label": "Vertical" }, "grid": { - "label": "" + "label": "Grid" }, "gridHorizontal": { - "label": "" + "label": "Grid horizontal" } } }, "hideTitle": { - "label": "" + "label": "Hide title" }, "hideIcon": { - "label": "" + "label": "Hide icons" }, "hideHostname": { - "label": "" + "label": "Hide hostnames" }, "openNewTab": { - "label": "" + "label": "Open in new tab" }, "items": { - "label": "", - "add": "" + "label": "Bookmarks", + "add": "Add bookmark" } } }, "dnsHoleSummary": { - "name": "", - "description": "", + "name": "DNS Hole Summary", + "description": "Displays the summary of your DNS Hole", "option": { "layout": { - "label": "", + "label": "Layout", "option": { "row": { - "label": "" + "label": "Horizontal" }, "column": { - "label": "" + "label": "Vertical" }, "grid": { - "label": "" + "label": "Grid" } } }, @@ -1414,19 +1414,19 @@ } }, "error": { - "internalServerError": "", - "integrationsDisconnected": "" + "internalServerError": "Failed to fetch DNS Hole Summary", + "integrationsDisconnected": "No data available, all integrations disconnected" }, "data": { - "adsBlockedToday": "", - "adsBlockedTodayPercentage": "", - "dnsQueriesToday": "", - "domainsBeingBlocked": "" + "adsBlockedToday": "Blocked today", + "adsBlockedTodayPercentage": "Blocked today", + "dnsQueriesToday": "Queries today", + "domainsBeingBlocked": "Domains on blocklist" }, - "domainsTooltip": "" + "domainsTooltip": "Due to multiple integrations Homarr can't calculate the exact number of domains being blocked" }, "dnsHoleControls": { - "name": "", + "name": "DNS Hole Controls", "description": "Control PiHole or AdGuard from your dashboard", "option": { "layout": { @@ -1469,224 +1469,224 @@ "description": "Displays the current date and time.", "option": { "customTitleToggle": { - "label": "", - "description": "" + "label": "Custom Title/City display", + "description": "Show off a custom title or the name of the city/country on top of the clock." }, "customTitle": { - "label": "" + "label": "Title" }, "is24HourFormat": { - "label": "", - "description": "" + "label": "24-hour format", + "description": "Use 24-hour format instead of 12-hour format" }, "showSeconds": { - "label": "" + "label": "Display seconds" }, "useCustomTimezone": { "label": " " }, "timezone": { - "label": "", - "description": "" + "label": "Time zone", + "description": "Choose the time zone following the IANA standard" }, "showDate": { - "label": "" + "label": "Show the date" }, "dateFormat": { - "label": "", - "description": "" + "label": "Date Format", + "description": "How the date should look like" }, "customTimeFormat": { - "label": "", - "description": "" + "label": "Custom time format", + "description": "Use ISO 8601 to format time (this will override other options)" }, "customDateFormat": { - "label": "", - "description": "" + "label": "Custom date format", + "description": "Use ISO 8601 to format date (this will override other options)" } } }, "minecraftServerStatus": { - "name": "", - "description": "", + "name": "Minecraft Server Status", + "description": "Displays the status of a Minecraft server", "option": { "title": { - "label": "" + "label": "Title" }, "domain": { - "label": "" + "label": "Server address" }, "isBedrockServer": { - "label": "" + "label": "Bedrock server" } }, "status": { - "online": "", - "offline": "" + "online": "Online", + "offline": "Offline" } }, "notebook": { - "name": "", - "description": "", + "name": "Notebook", + "description": "A simple notebook widget that supports markdown", "option": { "showToolbar": { - "label": "" + "label": "Show the toolbar to help you write markdown" }, "allowReadOnlyCheck": { - "label": "" + "label": "Allow check in read only mode" }, "content": { - "label": "" + "label": "The content of the notebook" } }, "controls": { - "bold": "", - "italic": "", - "strikethrough": "", - "underline": "", + "bold": "Bold", + "italic": "Italic", + "strikethrough": "Strikethrough", + "underline": "Underline", "colorText": "Colour text", "colorHighlight": "Coloured highlight text", - "code": "", - "clear": "", - "heading": "", - "align": "", - "blockquote": "", - "horizontalLine": "", - "bulletList": "", - "orderedList": "", - "checkList": "", - "increaseIndent": "", - "decreaseIndent": "", - "link": "", - "unlink": "", - "image": "", - "addTable": "", - "deleteTable": "", + "code": "Code", + "clear": "Clear formatting", + "heading": "Heading {level}", + "align": "Align text: {position}", + "blockquote": "Blockquote", + "horizontalLine": "Horizontal line", + "bulletList": "Bullet list", + "orderedList": "Ordered list", + "checkList": "Check list", + "increaseIndent": "Increase Indent", + "decreaseIndent": "Decrease Indent", + "link": "Link", + "unlink": "Remove link", + "image": "Embed Image", + "addTable": "Add table", + "deleteTable": "Delete Table", "colorCell": "Colour cell", - "mergeCell": "", - "addColumnLeft": "", - "addColumnRight": "", - "deleteColumn": "", - "addRowTop": "", - "addRowBelow": "", - "deleteRow": "" + "mergeCell": "Toggle cell merging", + "addColumnLeft": "Add column before", + "addColumnRight": "Add column after", + "deleteColumn": "Delete column", + "addRowTop": "Add row before", + "addRowBelow": "Add row after", + "deleteRow": "Delete row" }, "align": { - "left": "", - "center": "", - "right": "" + "left": "Left", + "center": "Centre", + "right": "Right" }, "popover": { "clearColor": "Clear colour", - "source": "", - "widthPlaceholder": "", - "columns": "", - "rows": "", - "width": "", - "height": "" + "source": "Source", + "widthPlaceholder": "Value in % or pixels", + "columns": "Columns", + "rows": "Rows", + "width": "Width", + "height": "Height" }, - "placeholder": "", + "placeholder": "Start writing your notes", "dismiss": { - "title": "", - "message": "", + "title": "Dismiss changes?", + "message": "You have unsaved changes in your notebook. Are you sure you want to discard them?", "action": { - "discard": "", - "keepEditing": "" + "discard": "Discard changes", + "keepEditing": "Keep editing" } } }, "iframe": { - "name": "", - "description": "", + "name": "iFrame", + "description": "Embed any content from the Internet. Some websites may restrict access.", "option": { "embedUrl": { - "label": "" + "label": "Embed URL" }, "allowFullScreen": { - "label": "" + "label": "Allow full screen" }, "allowTransparency": { - "label": "" + "label": "Allow transparency" }, "allowScrolling": { - "label": "" + "label": "Allow scrolling" }, "allowPayment": { - "label": "" + "label": "Allow payment" }, "allowAutoPlay": { - "label": "" + "label": "Allow auto play" }, "allowMicrophone": { - "label": "" + "label": "Allow microphone" }, "allowCamera": { - "label": "" + "label": "Allow camera" }, "allowGeolocation": { - "label": "" + "label": "Allow geolocation" } }, "error": { - "noUrl": "", - "unsupportedProtocol": "", - "noBrowerSupport": "" + "noUrl": "No iFrame URL provided", + "unsupportedProtocol": "The URL provided is using an unsupported protocol. Please use one of ({supportedProtocols})", + "noBrowerSupport": "Your Browser does not support iframes. Please update your browser." } }, "smartHome-entityState": { - "name": "", - "description": "", + "name": "Entity State", + "description": "Display the state of an entity and toggle it optionally", "option": { "entityId": { - "label": "" + "label": "Entity ID" }, "displayName": { - "label": "" + "label": "Display-name" }, "entityUnit": { - "label": "" + "label": "Entity Unit" }, "clickable": { - "label": "" + "label": "Clickable" } } }, "smartHome-executeAutomation": { - "name": "", - "description": "", + "name": "Execute Automation", + "description": "Trigger an automation with one click", "option": { "displayName": { - "label": "" + "label": "Display name" }, "automationId": { - "label": "" + "label": "Automation ID" } }, "spotlightAction": { - "run": "" + "run": "Run {name}" } }, "stockPrice": { - "name": "", - "description": "", + "name": "Stock Price", + "description": "Displays the current stock price of a company", "option": { "stock": { - "label": "" + "label": "Stock symbol" }, "timeRange": { - "label": "", + "label": "Time Range", "option": { "1d": { - "label": "" + "label": "1 Day" }, "5d": { - "label": "" + "label": "5 Day" }, "1mo": { - "label": "" + "label": "1 Month" }, "3mo": { - "label": "" + "label": "3 Months" }, "6mo": { "label": "" @@ -1816,9 +1816,9 @@ "fog": "", "drizzle": "", "freezingDrizzle": "", - "rain": "", - "freezingRain": "", - "snowFall": "", + "rain": "Rain", + "freezingRain": "Freezing rain", + "snowFall": "Snow fall", "snowGrains": "", "rainShowers": "", "snowShowers": "", @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "", "description": "", @@ -4311,7 +4357,7 @@ } }, "local": { - "title": "" + "title": "Local results" } } }, @@ -4364,50 +4410,50 @@ "label": "Global settings" }, "about": { - "label": "" + "label": "About" }, "homeBoard": { - "label": "" + "label": "Home board" }, "preferences": { - "label": "" + "label": "Your preferences" } } } } }, "userGroup": { - "help": "", + "help": "Search for users or groups", "group": { "user": { - "title": "", + "title": "Users", "children": { "action": { "detail": { - "label": "" + "label": "Show user details" } }, "detail": { - "title": "" + "title": "Select an action for the user" } } }, "group": { - "title": "", + "title": "Groups", "children": { "action": { "detail": { - "label": "" + "label": "Show group details" }, "manageMember": { - "label": "" + "label": "Manage members" }, "managePermission": { - "label": "" + "label": "Manage permissions" } }, "detail": { - "title": "" + "title": "Select an action for the group" } } } @@ -4415,32 +4461,32 @@ } }, "engine": { - "search": "", + "search": "Find a search engine", "field": { "name": { - "label": "" + "label": "Name" }, "short": { - "label": "" + "label": "Short" }, "urlTemplate": { - "label": "" + "label": "URL search template" }, "description": { - "label": "" + "label": "Description" } }, "page": { "list": { - "title": "", + "title": "Search engines", "noResults": { - "title": "", - "action": "" + "title": "There are no search engines yet", + "action": "Create your first search engine" }, - "interactive": "" + "interactive": "Interactive, uses an integration" }, "create": { - "title": "", + "title": "New search engine", "notification": { "success": { "title": "Search engine created", diff --git a/packages/translation/src/lang/en.json b/packages/translation/src/lang/en.json index ef354baaf..4580d847d 100644 --- a/packages/translation/src/lang/en.json +++ b/packages/translation/src/lang/en.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "Immich Server Stats", + "description": "Information about your Immich instance", + "option": { + "showUsers": { + "label": "Show users", + "description": "Show count of users on your instance" + }, + "showPhotos": { + "label": "Show photos", + "description": "Show count of photos on your instance" + }, + "showVideos": { + "label": "Show videos", + "description": "Show count of videos on your instance" + }, + "showStorage": { + "label": "Show storage", + "description": "Show the total amount of storage used" + } + }, + "users": "Users", + "photos": "Photos", + "videos": "Videos", + "storage": "Used Storage" + }, + "immich-albumCarousel": { + "name": "Immich Album", + "option": { + "albumId": { + "label": "Album ID", + "description": "This is a unique ID which refers to your Immich album. You can find this id by opening an album and copying the unique string from the URL, for example 'a21aca09-9f05-47dc-b1a1-7b53c547226e'" + }, + "rotationIntervalSeconds": { + "label": "Interval in seconds", + "description": "Rotate between pictures in the album every X seconds. Must be at least 1. Must be below 3600." + }, + "showPhotoInfo": { + "label": "Show photo info", + "description": "Display date of the picture and the current index at the bottom of the slideshow" + } + }, + "description": "Slideshow of pictures in your Immich album", + "noAlbumSelected": "No album selected, edit widget and choose an album", + "noPhotos": "No photos in this album" + }, "downloads": { "name": "Download Client", "description": "Allows you to view and manage your Downloads from both Torrent and Usenet clients.", diff --git a/packages/translation/src/lang/es.json b/packages/translation/src/lang/es.json index e9cd1cfe0..caef0b44f 100644 --- a/packages/translation/src/lang/es.json +++ b/packages/translation/src/lang/es.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "Cliente de descarga", "description": "Te permite ver y gestionar tus descargas tanto desde los clientes de Torrent como desde Usenet.", diff --git a/packages/translation/src/lang/et.json b/packages/translation/src/lang/et.json index 2c992ac78..d34963192 100644 --- a/packages/translation/src/lang/et.json +++ b/packages/translation/src/lang/et.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "", "description": "", diff --git a/packages/translation/src/lang/fr.json b/packages/translation/src/lang/fr.json index 322ce0d85..242880219 100644 --- a/packages/translation/src/lang/fr.json +++ b/packages/translation/src/lang/fr.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "Client de téléchargement", "description": "Vous permet de visualiser et de gérer vos téléchargements à partir de clients Torrent et Usenet.", diff --git a/packages/translation/src/lang/he.json b/packages/translation/src/lang/he.json index a756b0f82..77d418aa2 100644 --- a/packages/translation/src/lang/he.json +++ b/packages/translation/src/lang/he.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "הורדת לקוח", "description": "מאפשר לך להציג ולנהל את ההורדות שלך הן מלקוחות Torrent והן מלקוחות Usenet.", diff --git a/packages/translation/src/lang/hr.json b/packages/translation/src/lang/hr.json index 638468806..154fa356e 100644 --- a/packages/translation/src/lang/hr.json +++ b/packages/translation/src/lang/hr.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "", "description": "", diff --git a/packages/translation/src/lang/hu.json b/packages/translation/src/lang/hu.json index cfc2fbcfc..27173745d 100644 --- a/packages/translation/src/lang/hu.json +++ b/packages/translation/src/lang/hu.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "", "description": "", diff --git a/packages/translation/src/lang/it.json b/packages/translation/src/lang/it.json index 68cfa4723..5a4ace6a7 100644 --- a/packages/translation/src/lang/it.json +++ b/packages/translation/src/lang/it.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "Statistiche Server Immich", + "description": "Informazioni sulla tua istanza Immich", + "option": { + "showUsers": { + "label": "Mostra utenti", + "description": "Mostra il conteggio degli utenti sulla tua istanza" + }, + "showPhotos": { + "label": "Mostra foto", + "description": "Mostra il conteggio delle foto sulla tua istanza" + }, + "showVideos": { + "label": "Mostra video", + "description": "Mostra il conteggio dei video sulla tua istanza" + }, + "showStorage": { + "label": "Mostra spazio di archiviazione", + "description": "Visualizza la quantità totale di memoria utilizzata" + } + }, + "users": "Utenti", + "photos": "Foto", + "videos": "Video", + "storage": "Spazio utilizzato" + }, + "immich-albumCarousel": { + "name": "Album Immich", + "option": { + "albumId": { + "label": "ID Album", + "description": "Si tratta di un ID univoco che si riferisce al tuo album Immich. Puoi trovare questo id aprendo un album e copiando la stringa univoca dall'URL, ad esempio 'a21aca09-9f05-47dc-b1a1-7b53c547226e'" + }, + "rotationIntervalSeconds": { + "label": "Intervallo in secondi", + "description": "Ruota le immagini nell'album ogni X secondi. Deve essere almeno 1. Deve essere inferiore a 3600." + }, + "showPhotoInfo": { + "label": "Mostra informazioni foto", + "description": "Visualizza la data dell'immagine e l'indice corrente nella parte inferiore della presentazione" + } + }, + "description": "Presentazione delle immagini nel tuo album Immich", + "noAlbumSelected": "Nessun album selezionato, modifica il widget e scegli un album", + "noPhotos": "Nessuna foto in questo album" + }, "downloads": { "name": "Scarica Client", "description": "Ti consente di visualizzare e gestire i tuoi download dai client Torrent e Usenet.", diff --git a/packages/translation/src/lang/ja.json b/packages/translation/src/lang/ja.json index 52ab179de..4bb723fe4 100644 --- a/packages/translation/src/lang/ja.json +++ b/packages/translation/src/lang/ja.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "クライアントをダウンロード", "description": "Torrent クライアントと Usenet クライアントの両方から、ダウンロードを表示および管理できます。", diff --git a/packages/translation/src/lang/ko.json b/packages/translation/src/lang/ko.json index 8700b2dfb..c35951fbf 100644 --- a/packages/translation/src/lang/ko.json +++ b/packages/translation/src/lang/ko.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "", "description": "", diff --git a/packages/translation/src/lang/lt.json b/packages/translation/src/lang/lt.json index 862338955..b4edcf533 100644 --- a/packages/translation/src/lang/lt.json +++ b/packages/translation/src/lang/lt.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "", "description": "", diff --git a/packages/translation/src/lang/lv.json b/packages/translation/src/lang/lv.json index e4aee56a1..46e842de4 100644 --- a/packages/translation/src/lang/lv.json +++ b/packages/translation/src/lang/lv.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "", "description": "", diff --git a/packages/translation/src/lang/nl.json b/packages/translation/src/lang/nl.json index 307e194a4..5e247eb04 100644 --- a/packages/translation/src/lang/nl.json +++ b/packages/translation/src/lang/nl.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "Client downloaden", "description": "Geeft je de mogelijkheid om downloads van torrent- en usenet-clients te bekijken en beheren.", diff --git a/packages/translation/src/lang/no.json b/packages/translation/src/lang/no.json index a7bed2efb..28ae94b35 100644 --- a/packages/translation/src/lang/no.json +++ b/packages/translation/src/lang/no.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "Immich-serverstatistikk", + "description": "Informasjon om din Immich-instans", + "option": { + "showUsers": { + "label": "Vis brukere", + "description": "Vis antall brukere på din instans" + }, + "showPhotos": { + "label": "Vis bilder", + "description": "Vis antall bilder på din instans" + }, + "showVideos": { + "label": "Vis videoer", + "description": "Vis antall videoer på din instans" + }, + "showStorage": { + "label": "Vis lagring", + "description": "Vis total mengde lagringsplass brukt" + } + }, + "users": "Brukere", + "photos": "Bilder", + "videos": "Videoer", + "storage": "Brukt lagringsplass" + }, + "immich-albumCarousel": { + "name": "Immich Album", + "option": { + "albumId": { + "label": "Album ID", + "description": "Dette er en unik ID som refererer til ditt Immich-album. Du kan finne denne ID-en ved å åpne et album og kopiere den unike strengen fra URL-en, for eksempel 'a21aca09-9f05-47dc-b1a1-7b53c547226e'" + }, + "rotationIntervalSeconds": { + "label": "Intervall i sekunder", + "description": "Roter mellom bilder i albumet hvert X. sekund. Må være minst 1. Må være under 3600." + }, + "showPhotoInfo": { + "label": "Vis bildeinformasjon", + "description": "Vis datoen for bildet og gjeldende indeks nederst i lysbildeserien" + } + }, + "description": "Lysbildefremvisning av bilder i ditt Immich-album", + "noAlbumSelected": "Ingen album valgt, rediger widgeten og velg et album", + "noPhotos": "Ingen bilder i dette albumet" + }, "downloads": { "name": "Nedlastings-klient", "description": "Lar deg se og behandle nedlastinger fra både Torrent og Usenet klienter.", diff --git a/packages/translation/src/lang/pl.json b/packages/translation/src/lang/pl.json index c3a034cb7..3c5640fed 100644 --- a/packages/translation/src/lang/pl.json +++ b/packages/translation/src/lang/pl.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "Klient pobierania", "description": "Pozwala na oglądanie i zarządzanie pobieraniem zarówno przez klientów Torrent, jak i Usenet.", diff --git a/packages/translation/src/lang/pt.json b/packages/translation/src/lang/pt.json index 20c061339..9f8e0a24c 100644 --- a/packages/translation/src/lang/pt.json +++ b/packages/translation/src/lang/pt.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "Cliente de Download", "description": "Permite visualizar e gerenciar seus Downloads de clientes Torrent e Usenet.", diff --git a/packages/translation/src/lang/ro.json b/packages/translation/src/lang/ro.json index b55b08910..ade452703 100644 --- a/packages/translation/src/lang/ro.json +++ b/packages/translation/src/lang/ro.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "", "description": "", diff --git a/packages/translation/src/lang/ru.json b/packages/translation/src/lang/ru.json index 3448b971d..cac32b8d6 100644 --- a/packages/translation/src/lang/ru.json +++ b/packages/translation/src/lang/ru.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "Статистика сервера Immich", + "description": "Информация о вашем экземпляре Immich", + "option": { + "showUsers": { + "label": "Показать пользователей", + "description": "Показать количество пользователей на вашем экземпляре" + }, + "showPhotos": { + "label": "Показать фото", + "description": "Показать количество фотографий на вашем экземпляре" + }, + "showVideos": { + "label": "Показать видео", + "description": "Показать количество видео на вашем экземпляре" + }, + "showStorage": { + "label": "Показать хранилище", + "description": "Показать общий объём используемого хранилища" + } + }, + "users": "Пользователи", + "photos": "Фото", + "videos": "Видео", + "storage": "Занято" + }, + "immich-albumCarousel": { + "name": "Альбом Immich", + "option": { + "albumId": { + "label": "ID альбома", + "description": "Уникальный идентификатор вашего альбома Immich. Его можно найти, открыв альбом и скопировав уникальную строку из URL, например 'a21aca09-9f05-47dc-b1a1-7b53c547226e'" + }, + "rotationIntervalSeconds": { + "label": "Интервал в секундах", + "description": "Переключать фотографии в альбоме каждые X секунд. Минимум 1. Максимум 3600." + }, + "showPhotoInfo": { + "label": "Показать информацию о фото", + "description": "Отображать дату снимка и текущий номер в нижней части слайд-шоу" + } + }, + "description": "Слайд-шоу фотографий из вашего альбома Immich", + "noAlbumSelected": "Альбом не выбран — отредактируйте виджет и выберите альбом", + "noPhotos": "В этом альбоме нет фотографий" + }, "downloads": { "name": "Загрузки", "description": "Позволяет просматривать и управлять загрузками как из торрент-клиентов, так и из Usenet-клиентов.", diff --git a/packages/translation/src/lang/sk.json b/packages/translation/src/lang/sk.json index 8a0f95372..bce8513d5 100644 --- a/packages/translation/src/lang/sk.json +++ b/packages/translation/src/lang/sk.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "Download klient", "description": "Umožňuje vám zobraziť a spravovať stiahnuté súbory z klientov Torrent aj Usenet.", diff --git a/packages/translation/src/lang/sl.json b/packages/translation/src/lang/sl.json index 240939798..5bb55ff5d 100644 --- a/packages/translation/src/lang/sl.json +++ b/packages/translation/src/lang/sl.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "", "description": "", diff --git a/packages/translation/src/lang/sv.json b/packages/translation/src/lang/sv.json index 6f3adb90a..8ac90b168 100644 --- a/packages/translation/src/lang/sv.json +++ b/packages/translation/src/lang/sv.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "", "description": "", diff --git a/packages/translation/src/lang/tr.json b/packages/translation/src/lang/tr.json index a44a851e5..8f7067a2e 100644 --- a/packages/translation/src/lang/tr.json +++ b/packages/translation/src/lang/tr.json @@ -649,14 +649,14 @@ "app": { "option": { "existing": { - "title": "", - "label": "" + "title": "Mevcut", + "label": "Mevcut uygulamayı seçin" }, "new": { - "title": "", + "title": "Yeni", "url": { - "label": "", - "description": "" + "label": "Uygulama url si", + "description": "Kontrol panelinden erişildiğinde uygulamanın açılacağı URL" } } } @@ -676,8 +676,8 @@ }, "app": { "action": { - "add": "", - "remove": "", + "add": "Bir uygulamayı bağla", + "remove": "Bağlantıyı kaldır", "select": "" } } @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "İndirme İstemcisi", "description": "Hem Torrent hem de Usenet istemcilerinden indirdiklerinizi görüntülemenizi ve yönetmenizi sağlar.", diff --git a/packages/translation/src/lang/uk.json b/packages/translation/src/lang/uk.json index fe9f03c13..502d45d14 100644 --- a/packages/translation/src/lang/uk.json +++ b/packages/translation/src/lang/uk.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "Завантаження", "description": "Дозволяє переглядати та керувати завантаженнями від клієнтів Torrent та Usenet.", diff --git a/packages/translation/src/lang/vi.json b/packages/translation/src/lang/vi.json index 6c4b561d8..c4d0196e4 100644 --- a/packages/translation/src/lang/vi.json +++ b/packages/translation/src/lang/vi.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "", "description": "", diff --git a/packages/translation/src/lang/zh.json b/packages/translation/src/lang/zh.json index 7af7ebbf2..3f1abd055 100644 --- a/packages/translation/src/lang/zh.json +++ b/packages/translation/src/lang/zh.json @@ -2091,6 +2091,52 @@ } } }, + "immich-serverStats": { + "name": "", + "description": "", + "option": { + "showUsers": { + "label": "", + "description": "" + }, + "showPhotos": { + "label": "", + "description": "" + }, + "showVideos": { + "label": "", + "description": "" + }, + "showStorage": { + "label": "", + "description": "" + } + }, + "users": "", + "photos": "", + "videos": "", + "storage": "" + }, + "immich-albumCarousel": { + "name": "", + "option": { + "albumId": { + "label": "", + "description": "" + }, + "rotationIntervalSeconds": { + "label": "", + "description": "" + }, + "showPhotoInfo": { + "label": "", + "description": "" + } + }, + "description": "", + "noAlbumSelected": "", + "noPhotos": "" + }, "downloads": { "name": "下載器", "description": "允許查看和管理來自 Torrent 和 Usenet 的下載器", diff --git a/packages/ui/package.json b/packages/ui/package.json index 8663587b2..512478be4 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -30,10 +30,10 @@ "@homarr/settings": "workspace:^0.1.0", "@homarr/translation": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", - "@mantine/core": "^8.3.15", - "@mantine/dates": "^8.3.15", - "@mantine/hooks": "^8.3.15", - "@tabler/icons-react": "^3.37.1", + "@mantine/core": "^8.3.16", + "@mantine/dates": "^8.3.16", + "@mantine/hooks": "^8.3.16", + "@tabler/icons-react": "^3.40.0", "crypto-js": "^4.2.0", "mantine-react-table": "2.0.0-beta.9", "next": "16.1.6", @@ -47,7 +47,7 @@ "@homarr/tsconfig": "workspace:^0.1.0", "@types/crypto-js": "^4.2.2", "@types/css-modules": "^1.0.5", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/validation/package.json b/packages/validation/package.json index 7e2e17d91..7b91a5d3e 100644 --- a/packages/validation/package.json +++ b/packages/validation/package.json @@ -31,7 +31,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/widgets/package.json b/packages/widgets/package.json index 062f82dc2..470ef406a 100644 --- a/packages/widgets/package.json +++ b/packages/widgets/package.json @@ -48,26 +48,26 @@ "@homarr/translation": "workspace:^0.1.0", "@homarr/ui": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", - "@mantine/charts": "^8.3.15", - "@mantine/core": "^8.3.15", - "@mantine/hooks": "^8.3.15", - "@tabler/icons-react": "^3.37.1", - "@tiptap/extension-color": "3.20.0", - "@tiptap/extension-highlight": "3.20.0", - "@tiptap/extension-image": "3.20.0", - "@tiptap/extension-link": "^3.20.0", - "@tiptap/extension-placeholder": "^3.20.0", - "@tiptap/extension-table": "3.20.0", - "@tiptap/extension-table-cell": "3.20.0", - "@tiptap/extension-table-header": "3.20.0", - "@tiptap/extension-table-row": "3.20.0", - "@tiptap/extension-task-item": "3.20.0", - "@tiptap/extension-task-list": "3.20.0", - "@tiptap/extension-text-align": "3.20.0", - "@tiptap/extension-text-style": "3.20.0", - "@tiptap/extension-underline": "3.20.0", - "@tiptap/react": "^3.20.0", - "@tiptap/starter-kit": "^3.20.0", + "@mantine/charts": "^8.3.16", + "@mantine/core": "^8.3.16", + "@mantine/hooks": "^8.3.16", + "@tabler/icons-react": "^3.40.0", + "@tiptap/extension-color": "3.20.1", + "@tiptap/extension-highlight": "3.20.1", + "@tiptap/extension-image": "3.20.1", + "@tiptap/extension-link": "^3.20.1", + "@tiptap/extension-placeholder": "^3.20.1", + "@tiptap/extension-table": "3.20.1", + "@tiptap/extension-table-cell": "3.20.1", + "@tiptap/extension-table-header": "3.20.1", + "@tiptap/extension-table-row": "3.20.1", + "@tiptap/extension-task-item": "3.20.1", + "@tiptap/extension-task-list": "3.20.1", + "@tiptap/extension-text-align": "3.20.1", + "@tiptap/extension-text-style": "3.20.1", + "@tiptap/extension-underline": "3.20.1", + "@tiptap/react": "^3.20.1", + "@tiptap/starter-kit": "^3.20.1", "clsx": "^2.1.1", "dayjs": "^1.11.19", "mantine-form-zod-resolver": "^1.3.0", @@ -85,7 +85,7 @@ "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", "@types/video.js": "^7.3.58", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/packages/widgets/src/immich/album-carousel/component.module.css b/packages/widgets/src/immich/album-carousel/component.module.css new file mode 100644 index 000000000..9412b96dc --- /dev/null +++ b/packages/widgets/src/immich/album-carousel/component.module.css @@ -0,0 +1,52 @@ +.carouselContainer { + position: relative; + overflow: hidden; + background-color: var(--mantine-color-gray-9); + display: flex; + align-items: center; + justify-content: center; +} + +.carouselImage { + width: 100%; + height: 100%; + object-fit: cover; + background-color: var(--mantine-color-gray-8); +} + +.photoInfo { + position: absolute; + bottom: 0; + left: 0; + right: 0; + background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent); + color: white; + border-radius: 0; +} + +.dots { + position: absolute; + bottom: 12px; + left: 50%; + transform: translateX(-50%); + z-index: 10; +} + +.dot { + width: 8px; + height: 8px; + border-radius: 50%; + background-color: rgba(255, 255, 255, 0.5); + cursor: pointer; + transition: all 0.2s ease; + + &[data-active="true"] { + background-color: rgba(255, 255, 255, 1); + width: 24px; + border-radius: 4px; + } + + &:hover { + background-color: rgba(255, 255, 255, 0.8); + } +} diff --git a/packages/widgets/src/immich/album-carousel/component.tsx b/packages/widgets/src/immich/album-carousel/component.tsx new file mode 100644 index 000000000..a8a920d5d --- /dev/null +++ b/packages/widgets/src/immich/album-carousel/component.tsx @@ -0,0 +1,121 @@ +"use client"; + +import type { Dispatch, SetStateAction } from "react"; +import { useEffect, useState } from "react"; +import { Box, Center, Group, Image, Stack, Text } from "@mantine/core"; +import { IconAlertCircle, IconCalendar } from "@tabler/icons-react"; + +import { clientApi } from "@homarr/api/client"; +import { useI18n } from "@homarr/translation/client"; + +import type { WidgetComponentProps } from "../../definition"; +import classes from "./component.module.css"; + +export default function ImmichAlbumCarouselWidget({ + integrationIds, + options, +}: WidgetComponentProps<"immich-albumCarousel">) { + const [currentPhotoIndex, setCurrentPhotoIndex] = useState(0); + + if (!options.albumId) { + return ; + } + + const [album] = clientApi.widget.immich.getAlbum.useSuspenseQuery({ + integrationId: integrationIds[0] ?? "", + albumId: options.albumId, + }); + + if (album.assets.length === 0) { + return ; + } + + const photoAssets = album.assets.filter((asset) => asset.type === "IMAGE"); + + if (photoAssets.length === 0) { + return ; + } + + return ( + + ); +} + +interface CarouselProps { + assets: { + id: string; + deviceAssetId: string; + originalPath: string; + fileModifiedAt: string; + publicLink: string; + }[]; + currentIndex: number; + setCurrentIndex: Dispatch>; + rotationInterval: number; + showPhotoInfo: boolean; +} + +function Carousel({ assets, currentIndex, setCurrentIndex, rotationInterval, showPhotoInfo }: CarouselProps) { + useEffect(() => { + const interval = setInterval(() => { + setCurrentIndex((prev) => (prev + 1) % assets.length); + }, rotationInterval * 1000); + + return () => clearInterval(interval); + }, [assets.length, rotationInterval, setCurrentIndex]); + + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + const currentAsset = assets[currentIndex]!; + + return ( + + Album photo + + {showPhotoInfo && ( + + + + {new Date(currentAsset.fileModifiedAt).toLocaleDateString()} + + + {currentIndex + 1} / {assets.length} + + + )} + + ); +} + +function NoAlbumSelected() { + const t = useI18n(); + return ( +
+ + + + {t("widget.immich-albumCarousel.noAlbumSelected")} + + +
+ ); +} + +function NoPhotosInAlbum() { + const t = useI18n(); + return ( +
+ + + + {t("widget.immich-albumCarousel.noPhotos")} + + +
+ ); +} diff --git a/packages/widgets/src/immich/album-carousel/index.ts b/packages/widgets/src/immich/album-carousel/index.ts new file mode 100644 index 000000000..6ad37c50a --- /dev/null +++ b/packages/widgets/src/immich/album-carousel/index.ts @@ -0,0 +1,28 @@ +import { IconPhoto } from "@tabler/icons-react"; +import z from "zod"; + +import { createWidgetDefinition } from "../../definition"; +import { optionsBuilder } from "../../options"; + +export const { definition, componentLoader } = createWidgetDefinition("immich-albumCarousel", { + icon: IconPhoto, + supportedIntegrations: ["immich"], + integrationsRequired: true, + createOptions() { + return optionsBuilder.from((factory) => ({ + albumId: factory.text({ + defaultValue: "", + withDescription: true, + }), + rotationIntervalSeconds: factory.number({ + defaultValue: 5, + validate: z.number().min(1).max(3600), + withDescription: true, + }), + showPhotoInfo: factory.switch({ + defaultValue: false, + withDescription: true, + }), + })); + }, +}).withDynamicImport(() => import("./component")); diff --git a/packages/widgets/src/immich/server-stats/component.module.css b/packages/widgets/src/immich/server-stats/component.module.css new file mode 100644 index 000000000..9154643ff --- /dev/null +++ b/packages/widgets/src/immich/server-stats/component.module.css @@ -0,0 +1,20 @@ +.statItem { + padding: 12px; + border-radius: var(--mantine-radius-md); + background-color: var(--mantine-color-gray-0); + transition: all 0.2s ease; + + &:hover { + background-color: var(--mantine-color-gray-1); + } +} + +@media (prefers-color-scheme: dark) { + .statItem { + background-color: var(--mantine-color-dark-6); + + &:hover { + background-color: var(--mantine-color-dark-5); + } + } +} diff --git a/packages/widgets/src/immich/server-stats/component.tsx b/packages/widgets/src/immich/server-stats/component.tsx new file mode 100644 index 000000000..0240a27c4 --- /dev/null +++ b/packages/widgets/src/immich/server-stats/component.tsx @@ -0,0 +1,73 @@ +"use client"; + +import React from "react"; +import { Group, Stack, Text } from "@mantine/core"; +import { IconDatabase, IconPhoto, IconUsers, IconVideo } from "@tabler/icons-react"; + +import { clientApi } from "@homarr/api/client"; +import { humanFileSize } from "@homarr/common"; +import { useI18n } from "@homarr/translation/client"; + +import type { WidgetComponentProps } from "../../definition"; +import classes from "./component.module.css"; + +export default function ImmichServerStatsWidget({ + integrationIds, + options, +}: WidgetComponentProps<"immich-serverStats">) { + const t = useI18n(); + const [stats] = clientApi.widget.immich.getServerStats.useSuspenseQuery({ + integrationId: integrationIds[0] ?? "", + }); + + return ( + + {options.showUsers && ( + } label={t("widget.immich-serverStats.users")} value={stats.userCount} /> + )} + {options.showPhotos && ( + } + label={t("widget.immich-serverStats.photos")} + value={stats.photoCount} + /> + )} + {options.showVideos && ( + } + label={t("widget.immich-serverStats.videos")} + value={stats.videoCount} + /> + )} + {options.showStorage && ( + } + label={t("widget.immich-serverStats.storage")} + value={humanFileSize(stats.totalLibraryUsageInBytes)} + /> + )} + + ); +} + +interface StatItemProps { + icon: React.ReactNode; + label: string; + value: string | number; +} + +function StatItem({ icon, label, value }: StatItemProps) { + return ( + + + {icon} + + {label} + + + + {value} + + + ); +} diff --git a/packages/widgets/src/immich/server-stats/index.ts b/packages/widgets/src/immich/server-stats/index.ts new file mode 100644 index 000000000..61b07289a --- /dev/null +++ b/packages/widgets/src/immich/server-stats/index.ts @@ -0,0 +1,30 @@ +import { IconGraphFilled } from "@tabler/icons-react"; + +import { createWidgetDefinition } from "../../definition"; +import { optionsBuilder } from "../../options"; + +export const { definition, componentLoader } = createWidgetDefinition("immich-serverStats", { + icon: IconGraphFilled, + supportedIntegrations: ["immich"], + integrationsRequired: true, + createOptions() { + return optionsBuilder.from((factory) => ({ + showUsers: factory.switch({ + defaultValue: true, + withDescription: true, + }), + showPhotos: factory.switch({ + defaultValue: true, + withDescription: true, + }), + showVideos: factory.switch({ + defaultValue: true, + withDescription: true, + }), + showStorage: factory.switch({ + defaultValue: true, + withDescription: true, + }), + })); + }, +}).withDynamicImport(() => import("./component")); diff --git a/packages/widgets/src/index.tsx b/packages/widgets/src/index.tsx index ec075d467..f1782a6c9 100644 --- a/packages/widgets/src/index.tsx +++ b/packages/widgets/src/index.tsx @@ -20,6 +20,8 @@ import * as downloads from "./downloads"; import * as firewall from "./firewall"; import * as healthMonitoring from "./health-monitoring"; import * as iframe from "./iframe"; +import * as immichAlbumCarousel from "./immich/album-carousel"; +import * as immichServerStats from "./immich/server-stats"; import type { WidgetImportRecord } from "./import"; import * as indexerManager from "./indexer-manager"; import * as mediaReleases from "./media-releases"; @@ -79,6 +81,8 @@ export const widgetImports = { systemResources, coolify, systemDisks, + "immich-serverStats": immichServerStats, + "immich-albumCarousel": immichAlbumCarousel, } satisfies WidgetImportRecord; export type WidgetImports = typeof widgetImports; diff --git a/packages/widgets/src/stocks/component.tsx b/packages/widgets/src/stocks/component.tsx index 8cfc58b07..e9d7b98ad 100644 --- a/packages/widgets/src/stocks/component.tsx +++ b/packages/widgets/src/stocks/component.tsx @@ -33,6 +33,7 @@ export default function StockPriceWidget({ options, width, height }: WidgetCompo const stockValuesMin = Math.min(...data.priceHistory); const stockGraphValues = data.priceHistory.map((value) => value - stockValuesMin + 50); + const trendColor = stockValuesChange > 0 ? "green.7" : stockValuesChange < 0 ? "red.7" : "gray.6"; return ( @@ -43,7 +44,7 @@ export default function StockPriceWidget({ options, width, height }: WidgetCompo h={height > 280 ? "75%" : "50%"} data={stockGraphValues} curveType="linear" - trendColors={{ positive: "green.7", negative: "red.7", neutral: "gray.6" }} + color={trendColor} fillOpacity={0.6} strokeWidth={2.5} /> diff --git a/packages/widgets/src/system-disks/component.tsx b/packages/widgets/src/system-disks/component.tsx index eab43f768..ba2d49c25 100644 --- a/packages/widgets/src/system-disks/component.tsx +++ b/packages/widgets/src/system-disks/component.tsx @@ -4,6 +4,7 @@ import { Box, Card, Group, Stack, useMantineColorScheme } from "@mantine/core"; import { clientApi } from "@homarr/api/client"; import { useRequiredBoard } from "@homarr/boards/context"; +import { humanFileSize } from "@homarr/common"; import { useI18n } from "@homarr/translation/client"; import type { WidgetComponentProps } from "../definition"; @@ -15,8 +16,13 @@ const getDisplayText = (item: { used: string; available: string; percentage: num switch (displayMode) { case "percentage": return `${Math.round(item.percentage)}%`; - case "absolute": - return `${item.used} / ${item.available}`; + case "absolute": { + const availableInBytes = Number(item.available); + const availableText = Number.isFinite(availableInBytes) + ? humanFileSize(Math.round(availableInBytes)) + : item.available; + return `${item.used} / ${availableText}`; + } case "free": return `${Math.round(100 - item.percentage)}% free`; default: diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index be2fe1967..547102aae 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,12 +7,12 @@ settings: overrides: '@babel/helpers@<7.26.10': '>=7.28.6' '@babel/runtime@<7.26.10': '>=7.28.6' - axios@>=1.0.0 <1.8.2: '>=1.13.5' - brace-expansion@>=2.0.0 <=2.0.1: '>=5.0.3' - brace-expansion@>=1.0.0 <=1.1.11: '>=4.0.1' + axios@>=1.0.0 <1.8.2: '>=1.13.6' + brace-expansion@>=2.0.0 <=2.0.1: '>=5.0.4' + brace-expansion@>=1.0.0 <=1.1.11: '>=5.0.4' esbuild@<=0.24.2: '>=0.27.3' form-data@>=4.0.0 <4.0.4: '>=4.0.5' - hono@<4.6.5: '>=4.11.9' + hono@<4.6.5: '>=4.12.5' linkifyjs@<4.3.2: '>=4.3.2' nanoid@>=4.0.0 <5.0.9: '>=5.1.6' prismjs@<1.30.0: '>=1.30.0' @@ -20,8 +20,8 @@ overrides: react-is: ^19.2.4 rollup@>=4.0.0 <4.22.4: '>=4.59.0' sha.js@<=2.4.11: '>=2.4.12' - tar-fs@>=3.0.0 <3.0.9: '>=3.1.1' - tar-fs@>=2.0.0 <2.1.3: '>=3.1.1' + tar-fs@>=3.0.0 <3.0.9: '>=3.1.2' + tar-fs@>=2.0.0 <2.1.3: '>=3.1.2' tmp@<=0.2.3: '>=0.2.5' vite@>=5.0.0 <=5.4.18: '>=7.3.1' @@ -53,8 +53,8 @@ importers: specifier: ^12.0.6 version: 12.0.6(semantic-release@25.0.3(typescript@5.9.3)) '@semantic-release/npm': - specifier: ^13.1.4 - version: 13.1.4(semantic-release@25.0.3(typescript@5.9.3)) + specifier: ^13.1.5 + version: 13.1.5(semantic-release@25.0.3(typescript@5.9.3)) '@semantic-release/release-notes-generator': specifier: ^14.1.0 version: 14.1.0(semantic-release@25.0.3(typescript@5.9.3)) @@ -62,11 +62,11 @@ importers: specifier: ^11.12.0 version: 11.12.0 '@turbo/gen': - specifier: ^2.8.9 - version: 2.8.9(@types/node@24.10.13) + specifier: ^2.8.14 + version: 2.8.14(@types/node@24.12.0) '@vitejs/plugin-react': specifier: ^5.1.4 - version: 5.1.4(vite@7.1.12(@types/node@24.10.13)(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1)) + version: 5.1.4(vite@7.1.12(@types/node@24.12.0)(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1)) '@vitest/coverage-v8': specifier: ^4.0.18 version: 4.0.18(vitest@4.0.18) @@ -74,8 +74,8 @@ importers: specifier: ^4.0.18 version: 4.0.18(vitest@4.0.18) conventional-changelog-conventionalcommits: - specifier: ^9.1.0 - version: 9.1.0 + specifier: ^9.3.0 + version: 9.3.0 cross-env: specifier: ^10.1.0 version: 10.1.0 @@ -95,17 +95,17 @@ importers: specifier: ^11.12.0 version: 11.12.0 turbo: - specifier: ^2.8.9 - version: 2.8.9 + specifier: ^2.8.14 + version: 2.8.14 typescript: specifier: ^5.9.3 version: 5.9.3 vite-tsconfig-paths: specifier: ^6.1.1 - version: 6.1.1(typescript@5.9.3)(vite@7.1.12(@types/node@24.10.13)(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1)) + version: 6.1.1(typescript@5.9.3)(vite@7.1.12(@types/node@24.12.0)(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1)) vitest: specifier: ^4.0.18 - version: 4.0.18(@types/node@24.10.13)(@vitest/ui@4.0.18)(jsdom@28.1.0(@noble/hashes@2.0.1))(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1) + version: 4.0.18(@types/node@24.12.0)(@vitest/ui@4.0.18)(jsdom@28.1.0(@noble/hashes@2.0.1))(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1) apps/nextjs: dependencies: @@ -224,29 +224,29 @@ importers: specifier: workspace:^0.1.0 version: link:../../packages/widgets '@mantine/colors-generator': - specifier: ^8.3.15 - version: 8.3.15(chroma-js@3.2.0) + specifier: ^8.3.16 + version: 8.3.16(chroma-js@3.2.0) '@mantine/core': - specifier: ^8.3.15 - version: 8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^8.3.16 + version: 8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@mantine/dropzone': - specifier: ^8.3.15 - version: 8.3.15(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^8.3.16 + version: 8.3.16(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@mantine/hooks': - specifier: ^8.3.15 - version: 8.3.15(react@19.2.4) + specifier: ^8.3.16 + version: 8.3.16(react@19.2.4) '@mantine/modals': - specifier: ^8.3.15 - version: 8.3.15(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^8.3.16 + version: 8.3.16(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@mantine/tiptap': - specifier: ^8.3.15 - version: 8.3.15(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(@tiptap/extension-link@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0))(@tiptap/react@3.20.0(@floating-ui/dom@1.7.4)(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^8.3.16 + version: 8.3.16(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(@tiptap/extension-link@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1))(@tiptap/react@3.20.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@million/lint': specifier: 1.0.14 version: 1.0.14(webpack-sources@3.3.4) '@tabler/icons-react': - specifier: ^3.37.1 - version: 3.37.1(react@19.2.4) + specifier: ^3.40.0 + version: 3.40.0(react@19.2.4) '@tanstack/react-query': specifier: ^5.90.21 version: 5.90.21(react@19.2.4) @@ -257,17 +257,17 @@ importers: specifier: ^5.91.0 version: 5.91.0(@tanstack/react-query@5.90.21(react@19.2.4))(next@16.1.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3))(react@19.2.4) '@trpc/client': - specifier: ^11.10.0 - version: 11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3) + specifier: ^11.12.0 + version: 11.12.0(@trpc/server@11.12.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/next': - specifier: ^11.10.0 - version: 11.10.0(@tanstack/react-query@5.90.21(react@19.2.4))(@trpc/client@11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.10.0(@tanstack/react-query@5.90.21(react@19.2.4))(@trpc/client@11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.10.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3))(@trpc/server@11.10.0(typescript@5.9.3))(next@16.1.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3) + specifier: ^11.12.0 + version: 11.12.0(@tanstack/react-query@5.90.21(react@19.2.4))(@trpc/client@11.12.0(@trpc/server@11.12.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.12.0(@tanstack/react-query@5.90.21(react@19.2.4))(@trpc/client@11.12.0(@trpc/server@11.12.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.12.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3))(@trpc/server@11.12.0(typescript@5.9.3))(next@16.1.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3) '@trpc/react-query': - specifier: ^11.10.0 - version: 11.10.0(@tanstack/react-query@5.90.21(react@19.2.4))(@trpc/client@11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.10.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) + specifier: ^11.12.0 + version: 11.12.0(@tanstack/react-query@5.90.21(react@19.2.4))(@trpc/client@11.12.0(@trpc/server@11.12.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.12.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) '@trpc/server': - specifier: ^11.10.0 - version: 11.10.0(typescript@5.9.3) + specifier: ^11.12.0 + version: 11.12.0(typescript@5.9.3) '@xterm/addon-canvas': specifier: ^0.7.0 version: 0.7.0(@xterm/xterm@6.0.0) @@ -294,7 +294,7 @@ importers: version: 17.3.1 fastify: specifier: ^5.7.4 - version: 5.7.4 + version: 5.8.2 flag-icons: specifier: ^7.5.0 version: 7.5.0 @@ -309,7 +309,7 @@ importers: version: 2.18.0(@babel/core@7.26.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.4) mantine-react-table: specifier: 2.0.0-beta.9 - version: 2.0.0-beta.9(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.15(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(@tabler/icons-react@3.37.1(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 2.0.0-beta.9(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.16(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(@tabler/icons-react@3.40.0(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) next: specifier: 16.1.6 version: 16.1.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3) @@ -338,8 +338,8 @@ importers: specifier: 2.2.6 version: 2.2.6 swagger-ui-react: - specifier: ^5.31.2 - version: 5.31.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^5.32.0 + version: 5.32.0(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) use-deep-compare-effect: specifier: ^1.8.1 version: 1.8.1(react@19.2.4) @@ -363,8 +363,8 @@ importers: specifier: 3.1.2 version: 3.1.2 '@types/node': - specifier: ^24.10.13 - version: 24.10.13 + specifier: ^24.12.0 + version: 24.12.0 '@types/prismjs': specifier: ^1.26.6 version: 1.26.6 @@ -387,8 +387,8 @@ importers: specifier: ^0.27.3 version: 0.27.3 eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 node-loader: specifier: ^2.1.0 version: 2.1.0(webpack@5.94.0(esbuild@0.27.3)) @@ -462,8 +462,8 @@ importers: specifier: ^17.3.1 version: 17.3.1 fastify: - specifier: ^5.7.4 - version: 5.7.4 + specifier: ^5.8.2 + version: 5.8.2 superjson: specifier: 2.2.6 version: 2.2.6 @@ -481,8 +481,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript '@types/node': - specifier: ^24.10.13 - version: 24.10.13 + specifier: ^24.12.0 + version: 24.12.0 dotenv-cli: specifier: ^11.0.0 version: 11.0.0 @@ -490,8 +490,8 @@ importers: specifier: ^0.27.3 version: 0.27.3 eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 prettier: specifier: ^3.8.1 version: 3.8.1 @@ -554,8 +554,8 @@ importers: specifier: ^0.27.3 version: 0.27.3 eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 prettier: specifier: ^3.8.1 version: 3.8.1 @@ -600,8 +600,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -672,17 +672,17 @@ importers: specifier: ^5.90.21 version: 5.90.21(react@19.2.4) '@trpc/client': - specifier: ^11.10.0 - version: 11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3) + specifier: ^11.12.0 + version: 11.12.0(@trpc/server@11.12.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/react-query': - specifier: ^11.10.0 - version: 11.10.0(@tanstack/react-query@5.90.21(react@19.2.4))(@trpc/client@11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.10.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) + specifier: ^11.12.0 + version: 11.12.0(@tanstack/react-query@5.90.21(react@19.2.4))(@trpc/client@11.12.0(@trpc/server@11.12.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.12.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) '@trpc/server': - specifier: ^11.10.0 - version: 11.10.0(typescript@5.9.3) + specifier: ^11.12.0 + version: 11.12.0(typescript@5.9.3) '@trpc/tanstack-react-query': - specifier: ^11.10.0 - version: 11.10.0(@tanstack/react-query@5.90.21(react@19.2.4))(@trpc/client@11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.10.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) + specifier: ^11.12.0 + version: 11.12.0(@tanstack/react-query@5.90.21(react@19.2.4))(@trpc/client@11.12.0(@trpc/server@11.12.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.12.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) lodash.clonedeep: specifier: ^4.5.0 version: 4.5.0 @@ -700,7 +700,7 @@ importers: version: 2.2.6 trpc-to-openapi: specifier: ^3.1.0 - version: 3.1.0(patch_hash=2ca3c16af0fcca0c736697ad4fe553a14f794524fa9ce0d5c3e8ee4aea76090c)(@trpc/server@11.10.0(typescript@5.9.3))(zod-openapi@5.3.0(zod@4.2.1))(zod@4.2.1) + version: 3.1.0(patch_hash=2ca3c16af0fcca0c736697ad4fe553a14f794524fa9ce0d5c3e8ee4aea76090c)(@trpc/server@11.12.0(typescript@5.9.3))(zod-openapi@5.3.0(zod@4.2.1))(zod@4.2.1) zod: specifier: ^4.2.1 version: 4.2.1 @@ -715,8 +715,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 prettier: specifier: ^3.8.1 version: 3.8.1 @@ -754,8 +754,8 @@ importers: specifier: ^0.9.1 version: 0.9.1 ldapts: - specifier: 8.1.6 - version: 8.1.6 + specifier: 8.1.7 + version: 8.1.7 next: specifier: 16.1.6 version: 16.1.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3) @@ -788,8 +788,8 @@ importers: specifier: 0.9.2 version: 0.9.2 eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 prettier: specifier: ^3.8.1 version: 3.8.1 @@ -819,8 +819,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -859,8 +859,8 @@ importers: specifier: ^0.27.3 version: 0.27.3 eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -911,8 +911,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -930,16 +930,16 @@ importers: version: 0.2.9 drizzle-orm: specifier: ^0.45.1 - version: 0.45.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.6.2)(gel@2.0.0)(mysql2@3.17.4)(pg@8.18.0) + version: 0.45.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.18.0)(better-sqlite3@12.6.2)(gel@2.0.0)(mysql2@3.19.0(@types/node@24.12.0))(pg@8.20.0) ioredis: - specifier: 5.9.3 - version: 5.9.3 + specifier: 5.10.0 + version: 5.10.0 mysql2: - specifier: 3.17.4 - version: 3.17.4 + specifier: 3.19.0 + version: 3.19.0(@types/node@24.12.0) pg: - specifier: ^8.18.0 - version: 8.18.0 + specifier: ^8.20.0 + version: 8.20.0 superjson: specifier: 2.2.6 version: 2.2.6 @@ -963,11 +963,11 @@ importers: specifier: 7.6.13 version: 7.6.13 '@types/pg': - specifier: ^8.16.0 - version: 8.16.0 + specifier: ^8.18.0 + version: 8.18.0 eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -987,14 +987,14 @@ importers: specifier: ^5.90.21 version: 5.90.21(react@19.2.4) '@trpc/client': - specifier: ^11.10.0 - version: 11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3) + specifier: ^11.12.0 + version: 11.12.0(@trpc/server@11.12.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/server': - specifier: ^11.10.0 - version: 11.10.0(typescript@5.9.3) + specifier: ^11.12.0 + version: 11.12.0(typescript@5.9.3) '@trpc/tanstack-react-query': - specifier: ^11.10.0 - version: 11.10.0(@tanstack/react-query@5.90.21(react@19.2.4))(@trpc/client@11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.10.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) + specifier: ^11.12.0 + version: 11.12.0(@tanstack/react-query@5.90.21(react@19.2.4))(@trpc/client@11.12.0(@trpc/server@11.12.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.12.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) node-cron: specifier: ^4.2.1 version: 4.2.1 @@ -1021,8 +1021,8 @@ importers: specifier: 19.2.14 version: 19.2.14 eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -1043,8 +1043,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -1113,8 +1113,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -1147,8 +1147,8 @@ importers: specifier: ^3.0.11 version: 3.0.11 eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -1171,8 +1171,8 @@ importers: specifier: workspace:^0.1.0 version: link:../server-settings '@mantine/core': - specifier: ^8.3.15 - version: 8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^8.3.16 + version: 8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@paralleldrive/cuid2': specifier: ^3.3.0 version: 3.3.0 @@ -1193,16 +1193,16 @@ importers: version: 0.31.9 drizzle-orm: specifier: ^0.45.1 - version: 0.45.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.6.2)(gel@2.0.0)(mysql2@3.17.4)(pg@8.18.0) + version: 0.45.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.18.0)(better-sqlite3@12.6.2)(gel@2.0.0)(mysql2@3.19.0(@types/node@24.12.0))(pg@8.20.0) drizzle-zod: specifier: ^0.8.3 - version: 0.8.3(drizzle-orm@0.45.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.6.2)(gel@2.0.0)(mysql2@3.17.4)(pg@8.18.0))(zod@4.2.1) + version: 0.8.3(drizzle-orm@0.45.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.18.0)(better-sqlite3@12.6.2)(gel@2.0.0)(mysql2@3.19.0(@types/node@24.12.0))(pg@8.20.0))(zod@4.2.1) mysql2: - specifier: 3.17.4 - version: 3.17.4 + specifier: 3.19.0 + version: 3.19.0(@types/node@24.12.0) pg: - specifier: ^8.18.0 - version: 8.18.0 + specifier: ^8.20.0 + version: 8.20.0 superjson: specifier: 2.2.6 version: 2.2.6 @@ -1220,8 +1220,8 @@ importers: specifier: 7.6.13 version: 7.6.13 '@types/pg': - specifier: ^8.16.0 - version: 8.16.0 + specifier: ^8.18.0 + version: 8.18.0 dotenv-cli: specifier: ^11.0.0 version: 11.0.0 @@ -1229,8 +1229,8 @@ importers: specifier: ^0.27.3 version: 0.27.3 eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 prettier: specifier: ^3.8.1 version: 3.8.1 @@ -1247,8 +1247,8 @@ importers: specifier: workspace:^0.1.0 version: link:../common fast-xml-parser: - specifier: ^5.3.7 - version: 5.3.8 + specifier: ^5.4.2 + version: 5.4.2 zod: specifier: ^4.2.1 version: 4.2.1 @@ -1263,8 +1263,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 tsx: specifier: 4.20.4 version: 4.20.4 @@ -1297,8 +1297,8 @@ importers: specifier: ^4.0.1 version: 4.0.1 eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -1315,11 +1315,11 @@ importers: specifier: workspace:^0.1.0 version: link:../validation '@mantine/form': - specifier: ^8.3.15 - version: 8.3.15(react@19.2.4) + specifier: ^8.3.16 + version: 8.3.16(react@19.2.4) mantine-form-zod-resolver: specifier: ^1.3.0 - version: 1.3.0(@mantine/form@8.3.15(react@19.2.4))(zod@4.2.1) + version: 1.3.0(@mantine/form@8.3.16(react@19.2.4))(zod@4.2.1) zod: specifier: ^4.2.1 version: 4.2.1 @@ -1334,8 +1334,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -1367,8 +1367,8 @@ importers: specifier: workspace:^0.1.0 version: link:../validation '@mantine/core': - specifier: ^8.3.15 - version: 8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^8.3.16 + version: 8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) react: specifier: 19.2.4 version: 19.2.4 @@ -1386,8 +1386,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -1414,8 +1414,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -1448,8 +1448,8 @@ importers: specifier: 6.0.0 version: 6.0.0 eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -1495,6 +1495,9 @@ importers: '@homarr/validation': specifier: workspace:^0.1.0 version: link:../validation + '@immich/sdk': + specifier: ^2.5.6 + version: 2.5.6 '@jellyfin/sdk': specifier: ^0.13.0 version: 0.13.0(axios@1.12.2) @@ -1545,8 +1548,8 @@ importers: specifier: ^0.4.14 version: 0.4.14 eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -1560,11 +1563,11 @@ importers: specifier: workspace:^0.1.0 version: link:../ui '@mantine/core': - specifier: ^8.3.15 - version: 8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^8.3.16 + version: 8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@mantine/hooks': - specifier: ^8.3.15 - version: 8.3.15(react@19.2.4) + specifier: ^8.3.16 + version: 8.3.16(react@19.2.4) react: specifier: 19.2.4 version: 19.2.4 @@ -1579,8 +1582,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -1621,11 +1624,11 @@ importers: specifier: workspace:^0.1.0 version: link:../validation '@mantine/core': - specifier: ^8.3.15 - version: 8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^8.3.16 + version: 8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@tabler/icons-react': - specifier: ^3.37.1 - version: 3.37.1(react@19.2.4) + specifier: ^3.40.0 + version: 3.40.0(react@19.2.4) dayjs: specifier: ^1.11.19 version: 1.11.19 @@ -1652,8 +1655,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -1664,11 +1667,11 @@ importers: specifier: workspace:^0.1.0 version: link:../ui '@mantine/notifications': - specifier: ^8.3.15 - version: 8.3.15(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^8.3.16 + version: 8.3.16(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@tabler/icons-react': - specifier: ^3.37.1 - version: 3.37.1(react@19.2.4) + specifier: ^3.40.0 + version: 3.40.0(react@19.2.4) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1680,8 +1683,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -1722,11 +1725,11 @@ importers: specifier: workspace:^0.1.0 version: link:../validation '@mantine/core': - specifier: ^8.3.15 - version: 8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^8.3.16 + version: 8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@mantine/hooks': - specifier: ^8.3.15 - version: 8.3.15(react@19.2.4) + specifier: ^8.3.16 + version: 8.3.16(react@19.2.4) adm-zip: specifier: 0.5.16 version: 0.5.16 @@ -1762,8 +1765,8 @@ importers: specifier: 0.5.7 version: 0.5.7 eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -1787,8 +1790,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -1812,8 +1815,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -1833,8 +1836,8 @@ importers: specifier: workspace:^ version: link:../definitions ioredis: - specifier: 5.9.3 - version: 5.9.3 + specifier: 5.10.0 + version: 5.10.0 superjson: specifier: 2.2.6 version: 2.2.6 @@ -1849,8 +1852,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -1907,8 +1910,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -1932,8 +1935,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -1947,8 +1950,8 @@ importers: specifier: workspace:^0.1.0 version: link:../server-settings '@mantine/dates': - specifier: ^8.3.15 - version: 8.3.15(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^8.3.16 + version: 8.3.16(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) next: specifier: 16.1.6 version: 16.1.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3) @@ -1969,8 +1972,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -2008,17 +2011,17 @@ importers: specifier: workspace:^0.1.0 version: link:../ui '@mantine/core': - specifier: ^8.3.15 - version: 8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^8.3.16 + version: 8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@mantine/hooks': - specifier: ^8.3.15 - version: 8.3.15(react@19.2.4) + specifier: ^8.3.16 + version: 8.3.16(react@19.2.4) '@mantine/spotlight': - specifier: ^8.3.15 - version: 8.3.15(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^8.3.16 + version: 8.3.16(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@tabler/icons-react': - specifier: ^3.37.1 - version: 3.37.1(react@19.2.4) + specifier: ^3.40.0 + version: 3.40.0(react@19.2.4) jotai: specifier: ^2.18.0 version: 2.18.0(@babel/core@7.29.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.4) @@ -2045,8 +2048,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -2067,7 +2070,7 @@ importers: version: 4.3.1 mantine-react-table: specifier: 2.0.0-beta.9 - version: 2.0.0-beta.9(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.15(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(@tabler/icons-react@3.37.1(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 2.0.0-beta.9(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.16(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(@tabler/icons-react@3.40.0(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) next: specifier: 16.1.6 version: 16.1.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3) @@ -2091,8 +2094,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -2115,23 +2118,23 @@ importers: specifier: workspace:^0.1.0 version: link:../validation '@mantine/core': - specifier: ^8.3.15 - version: 8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^8.3.16 + version: 8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@mantine/dates': - specifier: ^8.3.15 - version: 8.3.15(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^8.3.16 + version: 8.3.16(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@mantine/hooks': - specifier: ^8.3.15 - version: 8.3.15(react@19.2.4) + specifier: ^8.3.16 + version: 8.3.16(react@19.2.4) '@tabler/icons-react': - specifier: ^3.37.1 - version: 3.37.1(react@19.2.4) + specifier: ^3.40.0 + version: 3.40.0(react@19.2.4) crypto-js: specifier: ^4.2.0 version: 4.2.0 mantine-react-table: specifier: 2.0.0-beta.9 - version: 2.0.0-beta.9(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.15(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(@tabler/icons-react@3.37.1(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 2.0.0-beta.9(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.16(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(@tabler/icons-react@3.40.0(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) next: specifier: 16.1.6 version: 16.1.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3) @@ -2161,8 +2164,8 @@ importers: specifier: ^1.0.5 version: 1.0.5 eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -2192,8 +2195,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -2270,65 +2273,65 @@ importers: specifier: workspace:^0.1.0 version: link:../validation '@mantine/charts': - specifier: ^8.3.15 - version: 8.3.15(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(recharts@2.15.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)) + specifier: ^8.3.16 + version: 8.3.16(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(recharts@2.15.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)) '@mantine/core': - specifier: ^8.3.15 - version: 8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^8.3.16 + version: 8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@mantine/hooks': - specifier: ^8.3.15 - version: 8.3.15(react@19.2.4) + specifier: ^8.3.16 + version: 8.3.16(react@19.2.4) '@tabler/icons-react': - specifier: ^3.37.1 - version: 3.37.1(react@19.2.4) + specifier: ^3.40.0 + version: 3.40.0(react@19.2.4) '@tiptap/extension-color': - specifier: 3.20.0 - version: 3.20.0(@tiptap/extension-text-style@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))) + specifier: 3.20.1 + version: 3.20.1(@tiptap/extension-text-style@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))) '@tiptap/extension-highlight': - specifier: 3.20.0 - version: 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0)) + specifier: 3.20.1 + version: 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) '@tiptap/extension-image': - specifier: 3.20.0 - version: 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0)) + specifier: 3.20.1 + version: 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) '@tiptap/extension-link': - specifier: ^3.20.0 - version: 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0) + specifier: ^3.20.1 + version: 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) '@tiptap/extension-placeholder': - specifier: ^3.20.0 - version: 3.20.0(@tiptap/extensions@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)) + specifier: ^3.20.1 + version: 3.20.1(@tiptap/extensions@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)) '@tiptap/extension-table': - specifier: 3.20.0 - version: 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0) + specifier: 3.20.1 + version: 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) '@tiptap/extension-table-cell': - specifier: 3.20.0 - version: 3.20.0(@tiptap/extension-table@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)) + specifier: 3.20.1 + version: 3.20.1(@tiptap/extension-table@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)) '@tiptap/extension-table-header': - specifier: 3.20.0 - version: 3.20.0(@tiptap/extension-table@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)) + specifier: 3.20.1 + version: 3.20.1(@tiptap/extension-table@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)) '@tiptap/extension-table-row': - specifier: 3.20.0 - version: 3.20.0(@tiptap/extension-table@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)) + specifier: 3.20.1 + version: 3.20.1(@tiptap/extension-table@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)) '@tiptap/extension-task-item': - specifier: 3.20.0 - version: 3.20.0(@tiptap/extension-list@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)) + specifier: 3.20.1 + version: 3.20.1(@tiptap/extension-list@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)) '@tiptap/extension-task-list': - specifier: 3.20.0 - version: 3.20.0(@tiptap/extension-list@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)) + specifier: 3.20.1 + version: 3.20.1(@tiptap/extension-list@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)) '@tiptap/extension-text-align': - specifier: 3.20.0 - version: 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0)) + specifier: 3.20.1 + version: 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) '@tiptap/extension-text-style': - specifier: 3.20.0 - version: 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0)) + specifier: 3.20.1 + version: 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) '@tiptap/extension-underline': - specifier: 3.20.0 - version: 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0)) + specifier: 3.20.1 + version: 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) '@tiptap/react': - specifier: ^3.20.0 - version: 3.20.0(@floating-ui/dom@1.7.4)(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^3.20.1 + version: 3.20.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@tiptap/starter-kit': - specifier: ^3.20.0 - version: 3.20.0 + specifier: ^3.20.1 + version: 3.20.1 clsx: specifier: ^2.1.1 version: 2.1.1 @@ -2337,10 +2340,10 @@ importers: version: 1.11.19 mantine-form-zod-resolver: specifier: ^1.3.0 - version: 1.3.0(@mantine/form@8.3.15(react@19.2.4))(zod@4.2.1) + version: 1.3.0(@mantine/form@8.3.16(react@19.2.4))(zod@4.2.1) mantine-react-table: specifier: 2.0.0-beta.9 - version: 2.0.0-beta.9(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.15(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(@tabler/icons-react@3.37.1(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 2.0.0-beta.9(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.16(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(@tabler/icons-react@3.40.0(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) next: specifier: 16.1.6 version: 16.1.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3) @@ -2376,8 +2379,8 @@ importers: specifier: ^7.3.58 version: 7.3.58 eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -2389,25 +2392,25 @@ importers: version: 16.1.6 eslint-config-prettier: specifier: ^10.1.8 - version: 10.1.8(eslint@9.39.3) + version: 10.1.8(eslint@9.39.4) eslint-config-turbo: - specifier: ^2.8.9 - version: 2.8.9(eslint@9.39.3)(turbo@2.8.10) + specifier: ^2.8.14 + version: 2.8.14(eslint@9.39.4)(turbo@2.8.14) eslint-plugin-import: specifier: ^2.32.0 - version: 2.32.0(@typescript-eslint/parser@8.56.0(eslint@9.39.3)(typescript@5.9.3))(eslint@9.39.3) + version: 2.32.0(@typescript-eslint/parser@8.56.1(eslint@9.39.4)(typescript@5.9.3))(eslint@9.39.4) eslint-plugin-jsx-a11y: specifier: ^6.10.2 - version: 6.10.2(eslint@9.39.3) + version: 6.10.2(eslint@9.39.4) eslint-plugin-react: specifier: ^7.37.5 - version: 7.37.5(eslint@9.39.3) + version: 7.37.5(eslint@9.39.4) eslint-plugin-react-hooks: specifier: ^6.1.1 - version: 6.1.1(eslint@9.39.3) + version: 6.1.1(eslint@9.39.4) typescript-eslint: - specifier: ^8.56.0 - version: 8.56.0(eslint@9.39.3)(typescript@5.9.3) + specifier: ^8.56.1 + version: 8.56.1(eslint@9.39.4)(typescript@5.9.3) devDependencies: '@homarr/prettier-config': specifier: workspace:^0.1.0 @@ -2416,8 +2419,8 @@ importers: specifier: workspace:^0.1.0 version: link:../typescript eslint: - specifier: ^9.39.3 - version: 9.39.3 + specifier: ^9.39.4 + version: 9.39.4 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -2437,8 +2440,8 @@ importers: specifier: workspace:^0.1.0 version: link:../typescript prettier-plugin-packagejson: - specifier: ^3.0.0 - version: 3.0.0(prettier@3.8.1) + specifier: ^3.0.2 + version: 3.0.2(prettier@3.8.1) typescript: specifier: ^5.9.3 version: 5.9.3 @@ -3174,8 +3177,8 @@ packages: resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/config-array@0.21.1': - resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} + '@eslint/config-array@0.21.2': + resolution: {integrity: sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/config-helpers@0.4.2': @@ -3186,12 +3189,12 @@ packages: resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/eslintrc@3.3.1': - resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} + '@eslint/eslintrc@3.3.5': + resolution: {integrity: sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.39.3': - resolution: {integrity: sha512-1B1VkCq6FuUNlQvlBYb+1jDu/gV297TIs/OeiaSR9l1H27SVW55ONE1e1Vp16NqP683+xEGzxYtv4XCiDPaQiw==} + '@eslint/js@9.39.4': + resolution: {integrity: sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.7': @@ -3307,7 +3310,7 @@ packages: resolution: {integrity: sha512-kz323qIQkNQElEGroo/E9MKPDuIR5pkuk/XEWd50K+cSEKdmdiYx0PKWUdaNY2ecJYngtF+njDMsMKplL6zfEg==} engines: {node: '>=18.14.1'} peerDependencies: - hono: '>=4.11.9' + hono: '>=4.12.5' '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} @@ -3487,6 +3490,9 @@ packages: cpu: [x64] os: [win32] + '@immich/sdk@2.5.6': + resolution: {integrity: sha512-u6o0rNBsTbAkl/6vz3Z63A/yNkLYeuKiHKoJgLuvRqTpPahgxAFcfDeN8rLd0Ya1kM5I2c610/VDcvItzzVcWg==} + '@inquirer/ansi@1.0.2': resolution: {integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==} engines: {node: '>=18'} @@ -3621,8 +3627,8 @@ packages: '@types/node': optional: true - '@ioredis/commands@1.5.0': - resolution: {integrity: sha512-eUgLqrMf8nJkZxT24JvVRrQya1vZkQh8BBeYNwGDqa5I0VUi8ACx7uFvAaLxintokpTenkK6DASvo/bvNbBGow==} + '@ioredis/commands@1.5.1': + resolution: {integrity: sha512-JH8ZL/ywcJyR9MmJ5BNqZllXNZQqQbnVZOqpPQqE1vHiFgAw4NHbvE0FOduNU8IX9babitBT46571OnPTT0Zcw==} '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} @@ -3685,88 +3691,88 @@ packages: '@libsql/core@0.14.0': resolution: {integrity: sha512-nhbuXf7GP3PSZgdCY2Ecj8vz187ptHlZQ0VRc751oB2C1W8jQUXKKklvt7t1LJiUTQBVJuadF628eUk+3cRi4Q==} - '@mantine/charts@8.3.15': - resolution: {integrity: sha512-dXn7tymDhsXezKmFu5IV2It2zb0aXGS167T0EPTthVXGBPJfb6VRaFLrq0Diyc5hLJ+q1JK9GSVuR50DSH+xyA==} + '@mantine/charts@8.3.16': + resolution: {integrity: sha512-co/bnQ8/JwRypDnIYlPs9dybme6TGpw3Rf2T93ssegZcVrk37FFUExcQmIyVE9ga/WIST5M8OZWPyqaJtGozvQ==} peerDependencies: - '@mantine/core': 8.3.15 - '@mantine/hooks': 8.3.15 + '@mantine/core': 8.3.16 + '@mantine/hooks': 8.3.16 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x recharts: '>=2.13.3' - '@mantine/colors-generator@8.3.15': - resolution: {integrity: sha512-6IB8rMSrFpnLe49ph4LRASU9EV6NGULM2GD2SEDR+a2NHfTUQzmIqEKxXHyJPgSuLxoqM9VyiO7x7nL1aDwRyg==} + '@mantine/colors-generator@8.3.16': + resolution: {integrity: sha512-nh5PA7H2IC0Mf5bVJ3FNx0HaNadj2NUx5NaMnXnVpbSKJ84VlszrqmN6+menjWmfWwSKsjjTlf/7W54wZopxgQ==} peerDependencies: chroma-js: '>=2.4.2' - '@mantine/core@8.3.15': - resolution: {integrity: sha512-wBn/GogB4x7a2Uj7Ztt3amRaApjED+9XqfE4wyCLh88R7KV55k9vnTdCx+irI/GLOOu9tXNUGm3a4t5sTajwkQ==} + '@mantine/core@8.3.16': + resolution: {integrity: sha512-YgmoYrb0I9UUDYfs9OVLvBUTgkA5vn5KZTfxlOaOSFxzhyYjrtwMQK+P7fvEIkenNQbbikhelj/IRcC2yNQyFQ==} peerDependencies: - '@mantine/hooks': 8.3.15 + '@mantine/hooks': 8.3.16 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/dates@8.3.15': - resolution: {integrity: sha512-4WlGHCOAE4in88rQFNlPVl14e7WFWb+YBqxmx4rvAXLj9xLgUxYJO44fva1eIOwNPlTqwbx+GgsEr/HwlcmDMg==} + '@mantine/dates@8.3.16': + resolution: {integrity: sha512-oZhOS4j5cMsyY3rZtkfCgKxu67Aptkav6Z7Tqa1hHpAdJ2XNse/Bl7hgqsdaTaUY8L5zpeTWaptBe1053Zgj8A==} peerDependencies: - '@mantine/core': 8.3.15 - '@mantine/hooks': 8.3.15 + '@mantine/core': 8.3.16 + '@mantine/hooks': 8.3.16 dayjs: '>=1.0.0' react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/dropzone@8.3.15': - resolution: {integrity: sha512-12bx1msHULi4D2/VV2PHTBBSshjax/ogLZEIAewX4tK0vRN3OKtA0qR+lqKhywUW4KYv4Z9Dr6O1LoGKHntrUA==} + '@mantine/dropzone@8.3.16': + resolution: {integrity: sha512-HFxt+DLlJKFpPPitfayiz+ZhtaXbiGgdmxBLmVe/ybEOXRS5St5xTlHQE6Iw67CGd4LuAv1CvDqyiQJw/fC9VQ==} peerDependencies: - '@mantine/core': 8.3.15 - '@mantine/hooks': 8.3.15 + '@mantine/core': 8.3.16 + '@mantine/hooks': 8.3.16 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/form@8.3.15': - resolution: {integrity: sha512-A6S70KSPjkKkuXxplqTQbPJZ/pkVfJXU/I5bnsSpGacTJxUlU6KR9Ez+Wwea+NHsupl2MHks98oC0f/UiqWbwQ==} + '@mantine/form@8.3.16': + resolution: {integrity: sha512-yx7HXXdbS/Qmps7NmVGHtmnqembCcDg7W1ijxG6w4kQLntD//Co20B3DSrMXmQ3o14p779ayzTmHkMd+dP4QbA==} peerDependencies: react: ^18.x || ^19.x - '@mantine/hooks@8.3.15': - resolution: {integrity: sha512-AUSnpUlzttHzJht3CJ1YWi16iy6NWRwtyWO5RLGHHsmiW05DyG0qOPKF8+R5dLHuOCnl3XOu4roI2Y1ku9U04Q==} + '@mantine/hooks@8.3.16': + resolution: {integrity: sha512-DthR8/KDCLIip3KoXyn370HEiKxiOwH+ZeXs1UoSv/e58xR88OE85Slyb5b5pRsDa4ndYnES+j9wyRyrRXLWfg==} peerDependencies: react: ^18.x || ^19.x - '@mantine/modals@8.3.15': - resolution: {integrity: sha512-2071LNa203BX0S/rgn0Q0v9H5ou+3qM4O+6tzYRqiNweQLWDUyIwQRjcWTm64X7qORRWl5IFzgp5hySLhCFfGw==} + '@mantine/modals@8.3.16': + resolution: {integrity: sha512-5wRlcoIdMtxOyHPjwa/ibPndv+PwotdaX6T0W9gqEST3vOSndGD6+FwKJj8kNomyeeDISiMMWBV5QQGwC7QvTA==} peerDependencies: - '@mantine/core': 8.3.15 - '@mantine/hooks': 8.3.15 + '@mantine/core': 8.3.16 + '@mantine/hooks': 8.3.16 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/notifications@8.3.15': - resolution: {integrity: sha512-CJGSv8oeLWyJIVPninU7Ud6vV6/UJKWZJwRGBNg2K0Ak0U0coFN3gW3H6G1Mh2zllNxb3K4fpMJNz4Iy0sCBFw==} + '@mantine/notifications@8.3.16': + resolution: {integrity: sha512-FqUgWYlBGwpwDAh4q5K6xO/cGQpU+jqdPpQOVy12881vZaJsCk4XWmDzL7BwY6cS15nxU26DBokixZSrUKPTng==} peerDependencies: - '@mantine/core': 8.3.15 - '@mantine/hooks': 8.3.15 + '@mantine/core': 8.3.16 + '@mantine/hooks': 8.3.16 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/spotlight@8.3.15': - resolution: {integrity: sha512-zKssw/6eBmkY+1sGAgD8Vpy7dU5MXcY/cpvfr65SfIknRljKM9D4Z9TflzgIpxEdhvozls06MPcxj/pZkGpELQ==} + '@mantine/spotlight@8.3.16': + resolution: {integrity: sha512-kS384mqm8VjLkB19FEjsEgo3IHQOCfhzcek9o6mSA5Xlc2K9Piy2pQ81eV+RoTQIIAlIqmQRAbo6x7IEFYLh9A==} peerDependencies: - '@mantine/core': 8.3.15 - '@mantine/hooks': 8.3.15 + '@mantine/core': 8.3.16 + '@mantine/hooks': 8.3.16 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/store@8.3.15': - resolution: {integrity: sha512-wdx91a73dM2G02YPIZ9i5UXPWfvjdf3qPAwSGnSsBFQg5uM/5CcPAOOQwlYIkvX1edUA5BFOk/4IjpEXSYUDeQ==} + '@mantine/store@8.3.16': + resolution: {integrity: sha512-BLbAw5z3aAxO82LwICw6FEHq53dgn7CqKYYiwr+Gm2nHYlyvwg15q9ByfM44LiKY7R0YpDPHfCJcJP37MHHDSQ==} peerDependencies: react: ^18.x || ^19.x - '@mantine/tiptap@8.3.15': - resolution: {integrity: sha512-K2CxpiV5omvwP3uoZDElHwRlOAT98DcWLzo2tTDLPPKQt4o8cn9LswCDFCfRD2luZd2pCKUg6TbIZab8SfoZ7A==} + '@mantine/tiptap@8.3.16': + resolution: {integrity: sha512-CA8LSAnBa+yXlhBrc6wL/Uh+VnO4Wg9taRorWG8MbzkksTy1iA8Yg+Tny33hgPJaqwHZivmjIGpDZmzKVtzTJg==} peerDependencies: - '@mantine/core': 8.3.15 - '@mantine/hooks': 8.3.15 + '@mantine/core': 8.3.16 + '@mantine/hooks': 8.3.16 '@tiptap/extension-link': '>=2.1.12' '@tiptap/react': '>=2.1.12' react: ^18.x || ^19.x @@ -3857,6 +3863,9 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@oazapfts/runtime@1.2.0': + resolution: {integrity: sha512-fi7dp7dNayyh/vzqhf0ZdoPfC7tJvYfjaE8MBL1yR+iIsH7cFoqHt+DV70VU49OMCqLc7wQa+yVJcSmIRnV4wA==} + '@octokit/app@16.1.2': resolution: {integrity: sha512-8j7sEpUYVj18dxvh0KWj6W/l6uAiVRBl1JBDVRqH1VHKAO/G5eRVl4yEoYACjakWers1DjUkcCHyJNQK47JqyQ==} engines: {node: '>= 20'} @@ -4299,8 +4308,8 @@ packages: peerDependencies: semantic-release: '>=24.1.0' - '@semantic-release/npm@13.1.4': - resolution: {integrity: sha512-z5Fn9ftK1QQgFxMSuOd3DtYbTl4hWI2trCEvZcEJMQJy1/OBR0WHcxqzfVun455FSkHML8KgvPxJEa9MtZIBsg==} + '@semantic-release/npm@13.1.5': + resolution: {integrity: sha512-Hq5UxzoatN3LHiq2rTsWS54nCdqJHlsssGERCo8WlvdfFA9LoN0vO+OuKVSjtNapIc/S8C2LBj206wKLHg62mg==} engines: {node: ^22.14.0 || >= 24.10.0} peerDependencies: semantic-release: '>=20.1.0' @@ -4328,104 +4337,113 @@ packages: '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@swagger-api/apidom-ast@1.5.1': - resolution: {integrity: sha512-BtaUaWXE0zzosuy6d1UFZp8wQZlqXapolTNF5f/3kzzZPLdDDWZeFyvvGww3Jt0Bwcw5rzavqD/lrTZp3j2qTQ==} + '@swagger-api/apidom-ast@1.6.0': + resolution: {integrity: sha512-ez1KnBdAzoh5a6ijDXzu5nADkVZXlnL1RkLl8n2u2tjiNg9597xxmFdEHLVa31Vxr1yYj0WtYGLA5e2Kp0KNrQ==} - '@swagger-api/apidom-core@1.5.1': - resolution: {integrity: sha512-vjP+HhbIN2D+Z8qsq57Ab2z0CpxCTD177Zd8mbUEKpOFYtc9qoizv6bAXTmhZGfVLxBsw+iGzFVH/z6DvuD3ag==} + '@swagger-api/apidom-core@1.6.0': + resolution: {integrity: sha512-gA1MVoXe19sjFLKGkWxp5VvSw3Tk0CSChfItJjFeFHpLSGrfm+LlXp37TmNSns53Ky0F7x7TB/5kAX5I/TO4xw==} - '@swagger-api/apidom-error@1.5.1': - resolution: {integrity: sha512-R0BSvVgKVNNxnC8S4uJVf4JwWCFNI1ktpLbML6UbzXBPquHfM0gjv+WQgKApMAYw809rtaVIF9ADoUtL/c6+uQ==} + '@swagger-api/apidom-error@1.6.0': + resolution: {integrity: sha512-xp/cQ1xQ/4Vd/hhQfONK7ea9oVc3JUXAYyfRzvDR0lxISly/SyD2jMcqXzHtrylBAnv7V2HSsbC1BWo7ZJDLSQ==} - '@swagger-api/apidom-json-pointer@1.5.1': - resolution: {integrity: sha512-EFJzHgHbs5AIPSRowuc02WjbQY5bbFvijQuFIkHSKCsPOQ8VX+h8xOe3dxRjgnCAJ33nk+VOYiaZTy48BK2bfw==} + '@swagger-api/apidom-json-pointer@1.6.0': + resolution: {integrity: sha512-RO6P5Gt64AnthGXKeqIFjQCLVFbAJvLYAb67TkvRQ9US4lNixFtFsYJnhLCC4ymz4dTT1hacG0cmTRGcEHF9ig==} - '@swagger-api/apidom-ns-api-design-systems@1.5.1': - resolution: {integrity: sha512-YQJdNb6TJQ8lNa1o8ThfT0P7DY/cGhnI4Se8YiGIsdTPSBOiPtTY72+lfsM1O+3bOeAy7n/MvWRXrJuiKGf7Pg==} + '@swagger-api/apidom-ns-api-design-systems@1.6.0': + resolution: {integrity: sha512-EYJfQ4JYuUo2J4QiiLnA/8LmM1k7AQcf1XVE+NrIpZ1160GIzqE+W5uOXkhAOImkP2Cb7EZZdE2cFE/tMYxNvw==} - '@swagger-api/apidom-ns-arazzo-1@1.5.1': - resolution: {integrity: sha512-hC/AD9TG3DMex+UAlYmg3fKcbmgrLGyZ3Fm2KqJfaC3CkiYE6SdVtfCBK9mPOcArPVa2RfzSgU4aRYzClDmvNQ==} + '@swagger-api/apidom-ns-arazzo-1@1.6.0': + resolution: {integrity: sha512-5rF8PyBiIHh6NfC5Y0WypW11X6hQIWr88EKNOQbBuT/nnzAsOznrUCfQ99FYGLucwdOHaMIBn/b/n4ejGBto/A==} - '@swagger-api/apidom-ns-asyncapi-2@1.5.1': - resolution: {integrity: sha512-9k97IdvSde7OaGwE8opX9psjmhsRYkuKm5eCmM3n6WOZkwdJFD73bCtYVqCuDCVRzJwT9xMras4fVG5Zn1Vhcw==} + '@swagger-api/apidom-ns-asyncapi-2@1.6.0': + resolution: {integrity: sha512-tOodfX+o7lonEAnSAxet7nCayW+EqtKPegT06WXt7Llq1LS9eYZ9YzXdFgIwCm8UzfEpZdVLqtxbdLX9vuUtSg==} - '@swagger-api/apidom-ns-asyncapi-3@1.5.1': - resolution: {integrity: sha512-EQGnSP93yB8ZDhaESqtavnynySH/hjkdkb4tInRoKYN3j3WU+in6Bvxwq2qCkyH9ACaSbW2HFlT2qIRBcLW+oA==} + '@swagger-api/apidom-ns-asyncapi-3@1.6.0': + resolution: {integrity: sha512-lRMvwTdtuPcwJEYLTX/UGtECpHi9UNYeT9rmWMw3LiKZrZzYc2L8q4ipPbpWwH8t7QfsF2u0iggCODU99lXCnw==} - '@swagger-api/apidom-ns-json-schema-2019-09@1.5.1': - resolution: {integrity: sha512-peszjtx5OPUYsvl/t4XTRVt0vY0WfR7jBpcmq3/ioqAaddhfbnb4i3PPWWhAIzzeKAiFHc/m4E5HCMMdDF2wDA==} + '@swagger-api/apidom-ns-json-schema-2019-09@1.6.0': + resolution: {integrity: sha512-dee1i8wcAFgDEOzTsyoCzQhFLZ2JKzkK5KkRuryabvwS0hG2mKlogToFc8cO2MkkiLSpERm7DREALwSTFVHa0w==} - '@swagger-api/apidom-ns-json-schema-2020-12@1.5.1': - resolution: {integrity: sha512-4L6X5SxkXCD4W7O0KI8e3kc0Q8TkVg0kPSNOWYosGAHOk9g5KyMIbACDjZhJ2q+uPlyLFCLAPY93aOVaVZ+nsA==} + '@swagger-api/apidom-ns-json-schema-2020-12@1.6.0': + resolution: {integrity: sha512-ldTxSnnIXskwpN6yCJkasqs32pJXwoXyad95crKT0xjZZr4fTrcAXXIyzdjBubiY9tK6elSrQGQxinJcV7ivWw==} - '@swagger-api/apidom-ns-json-schema-draft-4@1.5.1': - resolution: {integrity: sha512-vdc+vVLwf4JwDeK4mPfZqyVHG5gJc766GkqH522VRTh1XWJPlW674lIJuhqo5HLzXLm4zV4alI/QJMR3fRWFIQ==} + '@swagger-api/apidom-ns-json-schema-draft-4@1.6.0': + resolution: {integrity: sha512-t9HvHwrevEG7usosO6AdXmC8oYqje5nxHpUmODr72tUtCeAeGEGEb9lgqx7fBhjc3BYsRzOL1hX56m1gjEyCog==} - '@swagger-api/apidom-ns-json-schema-draft-6@1.5.1': - resolution: {integrity: sha512-sNRDQybpzl16HwktI0by0nWj85Rpmx/K1Qc6e4uQRmpPeozJTi8hAdyxw9ays1WJI+Bao9YEz+xJNAqNIE5xlg==} + '@swagger-api/apidom-ns-json-schema-draft-6@1.6.0': + resolution: {integrity: sha512-aoyvQWgAOcZGTe5OfJ3r24DvXHHbrkKtAnxTOEdZzV/uOm6/cbuT8m02+aMOqWPxei1naC3ZHW9iHrETtfgV3w==} - '@swagger-api/apidom-ns-json-schema-draft-7@1.5.1': - resolution: {integrity: sha512-hdgYjOzZCN866F/BP5tuReZmVTZF2NTNykOwILhR/uoDR2YvgvwvHbnifsywLhreZOkhf3HIbfvCkQnIopkluw==} + '@swagger-api/apidom-ns-json-schema-draft-7@1.6.0': + resolution: {integrity: sha512-GjmC4+AHQh22fRZOmV+jSYMJTXh243XvdACfIQ//39kQu7gQsimF4PVSY2IgWSvS/I1ukWdPBYmDvOKryBPGrw==} - '@swagger-api/apidom-ns-openapi-2@1.5.1': - resolution: {integrity: sha512-KnFYGqvlHBeczLs5P1R1dCfDGW3O7LaLu/AmFLRvt0ya8AXwkF4gd5gHsXKn0lXBeAc3kEwHAValtg6WNR8keQ==} + '@swagger-api/apidom-ns-openapi-2@1.6.0': + resolution: {integrity: sha512-xbmYzagnB8rO7sYwNGVyxYbNBkjCWnMhlnMrxkPtfQ/2u2ANAmTnCB/S/cMswX5XofiRJbznKAjLDSKBS+mLpQ==} - '@swagger-api/apidom-ns-openapi-3-0@1.5.1': - resolution: {integrity: sha512-n3KaIh7dVkINDC7g8osBpxvYCZnsDHHg8rOvOYy1kKlZHi7xd3Ui83rDnKCsOsdsKlFdIdd6isBcBEBQazgwPA==} + '@swagger-api/apidom-ns-openapi-3-0@1.6.0': + resolution: {integrity: sha512-AOvW7a2H27inepcTBAWaBMjJLrCh5IPWD4nTU+gysULC7IW6gphO8hj3iUuTmFBcGh9be89GBbvv2y/EGAfx9w==} - '@swagger-api/apidom-ns-openapi-3-1@1.5.1': - resolution: {integrity: sha512-rJPZH969I67snT6ux3Dve5QXaHCfm/phv20kAojR50fW5FPbR+nn4a9FIi59F3OrD69zQascKUrJb24ieFVHIw==} + '@swagger-api/apidom-ns-openapi-3-1@1.6.0': + resolution: {integrity: sha512-jCVypc8503zDSxAQlyV8j1vzwc75VBdWHtE2O0F+q5j9qNtGxw/ekbDkgrydYRaGBl92mf16dtPjtp5LwJD0Hw==} - '@swagger-api/apidom-parser-adapter-api-design-systems-json@1.5.1': - resolution: {integrity: sha512-XomzUhgy+w1toxJMjN1mXKITl88QPiug4e9eyNWSEQkoCD1ko0MEVZYA6/6mjwlTW2DQ4qg+XF+TFmOPlkQWeA==} + '@swagger-api/apidom-ns-openapi-3-2@1.6.0': + resolution: {integrity: sha512-QcFAUucaPaWiOKOEaaGqSfK3OtjeGJodWZLsuBQ0vrHaHkWyQ7jwsM1DJbc1Y8geOBeD2wIwdrdRjoulmqU1SA==} - '@swagger-api/apidom-parser-adapter-api-design-systems-yaml@1.5.1': - resolution: {integrity: sha512-pfa+iQwMLhDcE4CYi4pUHraAOUUo2DNeRRWZGhregWZoZPo5gVZ8w9NwSowLE19zf922A9RfzBkouI969j27QQ==} + '@swagger-api/apidom-parser-adapter-api-design-systems-json@1.6.0': + resolution: {integrity: sha512-vz/9k0X/kh6mLm+Fi+LGNk/yyFq28wxI29ZVLW+b7ulcODikv+NaDnyN2n2kLKCvIchPATzAEvqMvVMuuQwWlg==} - '@swagger-api/apidom-parser-adapter-arazzo-json-1@1.5.1': - resolution: {integrity: sha512-pJrlCospvJDvh8mqLjyb0ILRPuD3rYaZlTRs340W2ADgn6m+ClrDBQwXCod5QrKmcjYqAhtLZXwnwSuZStaj+Q==} + '@swagger-api/apidom-parser-adapter-api-design-systems-yaml@1.6.0': + resolution: {integrity: sha512-QAq4H6YzRtysSpvLtlJ8WZ22/1Mht+/iarrUOijxDZQPAGfYeUoIicnCqxkVZYSea85sQl+3kiCCB3nhSH+L0g==} - '@swagger-api/apidom-parser-adapter-arazzo-yaml-1@1.5.1': - resolution: {integrity: sha512-Q/EZ9BGnBlj4TiEQ+Q4k/pdgZ/Le+/ppZSfcc22umnKujDNyBLGB5L0sSfTOEjANRYNo+UtPYnkctwTkJu3/ZQ==} + '@swagger-api/apidom-parser-adapter-arazzo-json-1@1.6.0': + resolution: {integrity: sha512-syKPG3a9IGRvlGhXIEUzWhwbEuFbj+UwwtqaKu8zu771V+DRtH+wxyOkX54vKAIlApz/FgeUbmlWA1ZtYBlSIQ==} - '@swagger-api/apidom-parser-adapter-asyncapi-json-2@1.5.1': - resolution: {integrity: sha512-GRM5iCz9eRMiTSV4iAlpuWM6q3SBndSmEMhgjDuclWiC3HF78CCNuT9KwYNFMAx1bEe5Fr8c8Gs8KNckdeCU4g==} + '@swagger-api/apidom-parser-adapter-arazzo-yaml-1@1.6.0': + resolution: {integrity: sha512-IVVLn+a8Q1iQcQsm4tXiAPghHJuJSB1rhIlDyHe3tSQgt9HOSiVpbnJDpwE/JBxxDxSAkeT6Ovo+fi2T5AmHYg==} - '@swagger-api/apidom-parser-adapter-asyncapi-json-3@1.5.1': - resolution: {integrity: sha512-TCMm7Ce9PwzTQw2SnRYR0smCnrE6bmGbVsjqVz4d+tQy8h6ZNkfjAqOtBasKr/KpEywpLCRgWC2YRNAHGKLndw==} + '@swagger-api/apidom-parser-adapter-asyncapi-json-2@1.6.0': + resolution: {integrity: sha512-aSUi22ELTDvdCLA3nIUOehuNBcHSeCqU7S7YNiHP/mwE4Q07pwQrYXijH2PROfCdjlZNNN34m6Ptakd92jliJQ==} - '@swagger-api/apidom-parser-adapter-asyncapi-yaml-2@1.5.1': - resolution: {integrity: sha512-sZQ/7kOs7+apKq22uyhF3jmhPTzt7y8Xy8cGPIp1b0PnQhbm7rT1/rrOl9qh9MqCdUip2Dx0Y+WTyyET0faZ4g==} + '@swagger-api/apidom-parser-adapter-asyncapi-json-3@1.6.0': + resolution: {integrity: sha512-Ic53vcFF9zniDyCXOGSwwuAdEBUn5lFEAa0m2i30R36cQFHBCCuvbzbMQjWdr+oML0Aw4XoqOwZCQgkJJICpPA==} - '@swagger-api/apidom-parser-adapter-asyncapi-yaml-3@1.5.1': - resolution: {integrity: sha512-bYoyX/qP9SmGF6DKohPO1Fguz8/8uHF8ieSo04jrQblHbEeDVcTBG6oTFVNcpG2ZxnqaoNF2/KY4/fUSKMH/4g==} + '@swagger-api/apidom-parser-adapter-asyncapi-yaml-2@1.6.0': + resolution: {integrity: sha512-d/w7X+T4vT+KPqb+8xUm6n4pbHsGB28jdxE9rNVbxhu6D3owny2uxfglwaFh4fJG6FQMavCwl/QzfB4newdoKQ==} - '@swagger-api/apidom-parser-adapter-json@1.5.1': - resolution: {integrity: sha512-zYXchiHC5wsvCImr4lgrhwuLWDH3EDz4L4KJbp8ltO1Y+3PRwPYNruKVppHdIC6d+eTBy4e110a4629rl6LQTg==} + '@swagger-api/apidom-parser-adapter-asyncapi-yaml-3@1.6.0': + resolution: {integrity: sha512-Wmf0LY59TZxQhqrJU2pcnUikcChVB4IqGPgjtOFLUoqPpz8FSwYbJ/SPnSMSl+QuncxROheSFsgZ6Tupv0sPHw==} - '@swagger-api/apidom-parser-adapter-openapi-json-2@1.5.1': - resolution: {integrity: sha512-05SXfF5ate18FKlPBg4YEfyS6Sr4lmu+gppxMQ202x172ejBQjAU37iZeSKfKw1egXngAmm6OZqWGKn36WD/fw==} + '@swagger-api/apidom-parser-adapter-json@1.6.0': + resolution: {integrity: sha512-WdAS+dBAB2t18HuUgSZy5b8JM7uXfn1RlPymJNRMUsrKYCTtPrQ/0q3YfnBjPhtjSSNCp+p1wajxHAFS7cj2VA==} - '@swagger-api/apidom-parser-adapter-openapi-json-3-0@1.5.1': - resolution: {integrity: sha512-AG68rFxilJwQuwgYUlbSX89j96CzFwm7MLsMbd1Pe2k8bsZJF41bxYEWLck08hQ0v8HikZ7igJLGvkwm9Fk6EQ==} + '@swagger-api/apidom-parser-adapter-openapi-json-2@1.6.0': + resolution: {integrity: sha512-Q36W1FzdVaY7Oh98533dzCUghwb8k3ZMdlnV37V1H13FlUkj3tVZiWaeaCLwIakzQ7XXYaQTOP+VrRhDRjzhUA==} - '@swagger-api/apidom-parser-adapter-openapi-json-3-1@1.5.1': - resolution: {integrity: sha512-UYuaUegcqsR8DbqUS9gJnzdV/g7P61HfgjO620soSHwvDRlHCdgxd71dnaBZWT22+as8vuZABAzjQuKrtiej2g==} + '@swagger-api/apidom-parser-adapter-openapi-json-3-0@1.6.0': + resolution: {integrity: sha512-UY+obOLTPHJvnXscdMY9XwZyuqcnBe6cu9TURjJgkO/QpOpPDqqZoRyurKZgRrX0Pv9B1zR3EIzhl01u/jeUaw==} - '@swagger-api/apidom-parser-adapter-openapi-yaml-2@1.5.1': - resolution: {integrity: sha512-d64JVYhBa5O6Kz2H/Wr1gLf5la0T1gZ22XIf2ABPTHga8fKQjEFDhFifxVS65NX9cOglcXQo9sRvD4AZkRMEkQ==} + '@swagger-api/apidom-parser-adapter-openapi-json-3-1@1.6.0': + resolution: {integrity: sha512-4ch04/96lYMXQu6odqa6H0aJmV8UefnBJKX1CPuL4qcPSPMFCurcXHGpPHrwMu1p/4Q9H+yRVlYeNQV10xvM0w==} - '@swagger-api/apidom-parser-adapter-openapi-yaml-3-0@1.5.1': - resolution: {integrity: sha512-MgyCo6rz+jH1cR5CpKleT1HOXOLoK2LuP7CrEGsuRNCA4nR6w/H4T75XYxUCWO/9T3870vkxDM8hp8IRW5xtQg==} + '@swagger-api/apidom-parser-adapter-openapi-json-3-2@1.6.0': + resolution: {integrity: sha512-fWR2gjMQg00QIimcXQMSVeLnCH/2iuDD/Dx8TzVHmKV/IKlu+TnmIVosdlDfRmOB+4duwU6/yfoA79IEhFeZdw==} - '@swagger-api/apidom-parser-adapter-openapi-yaml-3-1@1.5.1': - resolution: {integrity: sha512-9ED9pmYqCfKqfeeDtGrXU7+gISjt6bh93XO5qCexwfHCbzrTdjiMcWMTCnaRjXvgv819LAKUDIDnnn88EGpUNg==} + '@swagger-api/apidom-parser-adapter-openapi-yaml-2@1.6.0': + resolution: {integrity: sha512-dkEh1Rw9uvuIAOTfKjWRX2rLWP+xJ/Eqdkqeo0I0BWFKXX49YcDpHJV4XHpmd5FbsjJ9vBYr0hAmkbl32TtR4g==} - '@swagger-api/apidom-parser-adapter-yaml-1-2@1.5.1': - resolution: {integrity: sha512-jMZUwbS7P2n/3BG+w0Mg+G2m6tY1zuDCACTpVh3UjIMl15k+6VIyB49kKIs1q9BZRX8rbnJmmzpYcjhjDOgaqA==} + '@swagger-api/apidom-parser-adapter-openapi-yaml-3-0@1.6.0': + resolution: {integrity: sha512-6azq5YonWdzHcO9llK9zn1a+rGxlTz2Uf8p8NWDQnl2AZ56neDLYEL3mNDlrMXAy8dSJIHw+u9VF1OOzdslIHQ==} - '@swagger-api/apidom-reference@1.5.1': - resolution: {integrity: sha512-KppyiuQ8EY1vnhb2RsCty60DKYP1jszmxNKHAAGaMgKOmTcoGCvPNDl0Fn6IPlEfXsy3yqYn1CsEePC3BcGtHg==} + '@swagger-api/apidom-parser-adapter-openapi-yaml-3-1@1.6.0': + resolution: {integrity: sha512-g2tGCXyIAC0IA6JjA0HVxHWyCovyfAxDQ+pMAJ6qm4PfrZHB+oXKWKZHNNmQaFiKdc/SVdMQq6Up0mXOQs7IOQ==} + + '@swagger-api/apidom-parser-adapter-openapi-yaml-3-2@1.6.0': + resolution: {integrity: sha512-NGkdG9X5Svi89ZBluNseyUBNdgB9MkbTTNmerVKKOmCCHaVbzIb6UFPXf1MifSFyT+wTeGZk6WZLgRIDsTAZ5Q==} + + '@swagger-api/apidom-parser-adapter-yaml-1-2@1.6.0': + resolution: {integrity: sha512-UwSE5pPUJ+ag7ZCbesgx/SJ8zUD3Sx+2U4AD3/1G1EJ+0gb7FMYgihuOT8ujmBfZVGGm3HMIEIa1w3zha08v2g==} + + '@swagger-api/apidom-reference@1.6.0': + resolution: {integrity: sha512-gYTDfWQM1heqrCCrCsZH+EWDyAkIGqEJnSJcVWKngwOkXJKeUwat8p1TOW4q3rkaTT+fBaYbrjTr9SkFtVbdMg==} '@swaggerexpert/cookie@2.0.2': resolution: {integrity: sha512-DPI8YJ0Vznk4CT+ekn3rcFNq1uQwvUHZhH6WvTSPD0YKBIlMS9ur2RYKghXuxxOiqOam/i4lHJH4xTIiTgs3Mg==} @@ -4551,13 +4569,13 @@ packages: zod: optional: true - '@tabler/icons-react@3.37.1': - resolution: {integrity: sha512-R7UE71Jji7i4Su56Y9zU1uYEBakUejuDJvyuYVmBuUoqp/x3Pn4cv2huarexR3P0GJ2eHg4rUj9l5zccqS6K/Q==} + '@tabler/icons-react@3.40.0': + resolution: {integrity: sha512-oO5+6QCnna4a//mYubx4euZfECtzQZFDGsDMIdzZUhbdyBCT+3bRVFBPueGIcemWld4Vb/0UQ39C/cmGfGylAg==} peerDependencies: react: '>= 16' - '@tabler/icons@3.37.1': - resolution: {integrity: sha512-neLCWkuyNHEPXCyYu6nbN4S3g/59BTa4qyITAugYVpq1YzYNDOZooW7/vRWH98ZItXAudxdKU8muFT7y1PqzuA==} + '@tabler/icons@3.40.0': + resolution: {integrity: sha512-V/Q4VgNPKubRTiLdmWjV/zscYcj5IIk+euicUtaVVqF6luSC9rDngYWgST5/yh3Mrg/mYUwRv1YVTk71Jp0twQ==} '@tanstack/match-sorter-utils@8.19.4': resolution: {integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==} @@ -4616,215 +4634,215 @@ packages: '@testcontainers/redis@11.12.0': resolution: {integrity: sha512-2qCoevN0t+6yFFdmLUywFiL0n+EwTvYXDdc3lYXkKiIpTt1t4mqyWGXmV5dfWyCNYAWbV+PWmVvwnP1GDMoxrA==} - '@tiptap/core@3.20.0': - resolution: {integrity: sha512-aC9aROgia/SpJqhsXFiX9TsligL8d+oeoI8W3u00WI45s0VfsqjgeKQLDLF7Tu7hC+7F02teC84SAHuup003VQ==} + '@tiptap/core@3.20.1': + resolution: {integrity: sha512-SwkPEWIfaDEZjC8SEIi4kZjqIYUbRgLUHUuQezo5GbphUNC8kM1pi3C3EtoOPtxXrEbY6e4pWEzW54Pcrd+rVA==} peerDependencies: - '@tiptap/pm': ^3.20.0 + '@tiptap/pm': ^3.20.1 - '@tiptap/extension-blockquote@3.20.0': - resolution: {integrity: sha512-LQzn6aGtL4WXz2+rYshl/7/VnP2qJTpD7fWL96GXAzhqviPEY1bJES7poqJb3MU/gzl8VJUVzVzU1VoVfUKlbA==} + '@tiptap/extension-blockquote@3.20.1': + resolution: {integrity: sha512-WzNXk/63PQI2fav4Ta6P0GmYRyu8Gap1pV3VUqaVK829iJ6Zt1T21xayATHEHWMK27VT1GLPJkx9Ycr2jfDyQw==} peerDependencies: - '@tiptap/core': ^3.20.0 + '@tiptap/core': ^3.20.1 - '@tiptap/extension-bold@3.20.0': - resolution: {integrity: sha512-sQklEWiyf58yDjiHtm5vmkVjfIc/cBuSusmCsQ0q9vGYnEF1iOHKhGpvnCeEXNeqF3fiJQRlquzt/6ymle3Iwg==} + '@tiptap/extension-bold@3.20.1': + resolution: {integrity: sha512-fz++Qv6Rk/Hov0IYG/r7TJ1Y4zWkuGONe0UN5g0KY32NIMg3HeOHicbi4xsNWTm9uAOl3eawWDkezEMrleObMw==} peerDependencies: - '@tiptap/core': ^3.20.0 + '@tiptap/core': ^3.20.1 - '@tiptap/extension-bubble-menu@3.20.0': - resolution: {integrity: sha512-MDosUfs8Tj+nwg8RC+wTMWGkLJORXmbR6YZgbiX4hrc7G90Gopdd6kj6ht5/T8t7dLLaX7N0+DEHdUEPGED7dw==} + '@tiptap/extension-bubble-menu@3.20.1': + resolution: {integrity: sha512-XaPvO6aCoWdFnCBus0s88lnj17NR/OopV79i8Qhgz3WMR0vrsL5zsd45l0lZuu9pSvm5VW47SoxakkJiZC1suw==} peerDependencies: - '@tiptap/core': ^3.20.0 - '@tiptap/pm': ^3.20.0 + '@tiptap/core': ^3.20.1 + '@tiptap/pm': ^3.20.1 - '@tiptap/extension-bullet-list@3.20.0': - resolution: {integrity: sha512-OcKMeopBbqWzhSi6o8nNz0aayogg1sfOAhto3NxJu3Ya32dwBFqmHXSYM6uW4jOphNvVPyjiq9aNRh3qTdd1dw==} + '@tiptap/extension-bullet-list@3.20.1': + resolution: {integrity: sha512-mbrlvOZo5OF3vLhp+3fk9KuL/6J/wsN0QxF6ZFRAHzQ9NkJdtdfARcBeBnkWXGN8inB6YxbTGY1/E4lmBkOpOw==} peerDependencies: - '@tiptap/extension-list': ^3.20.0 + '@tiptap/extension-list': ^3.20.1 - '@tiptap/extension-code-block@3.20.0': - resolution: {integrity: sha512-lBbmNek14aCjrHcBcq3PRqWfNLvC6bcRa2Osc6e/LtmXlcpype4f6n+Yx+WZ+f2uUh0UmDRCz7BEyUETEsDmlQ==} + '@tiptap/extension-code-block@3.20.1': + resolution: {integrity: sha512-vKejwBq+Nlj4Ybd3qOyDxIQKzYymdNH+8eXkKwGShk2nfLJIxq69DCyGvmuHgipIO1qcYPJ149UNpGN+YGcdmA==} peerDependencies: - '@tiptap/core': ^3.20.0 - '@tiptap/pm': ^3.20.0 + '@tiptap/core': ^3.20.1 + '@tiptap/pm': ^3.20.1 - '@tiptap/extension-code@3.20.0': - resolution: {integrity: sha512-TYDWFeSQ9umiyrqsT6VecbuhL8XIHkUhO+gEk0sVvH67ZLwjFDhAIIgWIr1/dbIGPcvMZM19E7xUUhAdIaXaOQ==} + '@tiptap/extension-code@3.20.1': + resolution: {integrity: sha512-509DHINIA/Gg+eTG7TEkfsS8RUiPLH5xZNyLRT0A1oaoaJmECKfrV6aAm05IdfTyqDqz6LW5pbnX6DdUC4keug==} peerDependencies: - '@tiptap/core': ^3.20.0 + '@tiptap/core': ^3.20.1 - '@tiptap/extension-color@3.20.0': - resolution: {integrity: sha512-KGXQ3I18uLHQ61FZpXDu0gH6+0jqmDkVwkPNXmM3oPNDSH80SG5UeZlrXi/PwtlusePJ3dFHtoQ1g6j2bJUssg==} + '@tiptap/extension-color@3.20.1': + resolution: {integrity: sha512-WpYGG+9zDQXFWdhZ/SPahcVR1aMMXubRSHEBaaLs0SEQ2dThEOYo5xXlVP0Cwat9OiQ+nqWnCFwBmc6mgIAiUA==} peerDependencies: - '@tiptap/extension-text-style': ^3.20.0 + '@tiptap/extension-text-style': ^3.20.1 - '@tiptap/extension-document@3.20.0': - resolution: {integrity: sha512-oJfLIG3vAtZo/wg29WiBcyWt22KUgddpP8wqtCE+kY5Dw8znLR9ehNmVWlSWJA5OJUMO0ntAHx4bBT+I2MBd5w==} + '@tiptap/extension-document@3.20.1': + resolution: {integrity: sha512-9vrqdGmRV7bQCSY3NLgu7UhIwgOCDp4sKqMNsoNRX0aZ021QQMTvBQDPkiRkCf7MNsnWrNNnr52PVnULEn3vFQ==} peerDependencies: - '@tiptap/core': ^3.20.0 + '@tiptap/core': ^3.20.1 - '@tiptap/extension-dropcursor@3.20.0': - resolution: {integrity: sha512-d+cxplRlktVgZPwatnc34IArlppM0IFKS1J5wLk+ba1jidizsbMVh45tP/BTK2flhyfRqcNoB5R0TArhUpbkNQ==} + '@tiptap/extension-dropcursor@3.20.1': + resolution: {integrity: sha512-K18L9FX4znn+ViPSIbTLOGcIaXMx/gLNwAPE8wPLwswbHhQqdiY1zzdBw6drgOc1Hicvebo2dIoUlSXOZsOEcw==} peerDependencies: - '@tiptap/extensions': ^3.20.0 + '@tiptap/extensions': ^3.20.1 - '@tiptap/extension-floating-menu@3.20.0': - resolution: {integrity: sha512-rYs4Bv5pVjqZ/2vvR6oe7ammZapkAwN51As/WDbemvYDjfOGRqK58qGauUjYZiDzPOEIzI2mxGwsZ4eJhPW4Ig==} + '@tiptap/extension-floating-menu@3.20.1': + resolution: {integrity: sha512-BeDC6nfOesIMn5pFuUnkEjOxGv80sOJ8uk1mdt9/3Fkvra8cB9NIYYCVtd6PU8oQFmJ8vFqPrRkUWrG5tbqnOg==} peerDependencies: '@floating-ui/dom': ^1.0.0 - '@tiptap/core': ^3.20.0 - '@tiptap/pm': ^3.20.0 + '@tiptap/core': ^3.20.1 + '@tiptap/pm': ^3.20.1 - '@tiptap/extension-gapcursor@3.20.0': - resolution: {integrity: sha512-P/LasfvG9/qFq43ZAlNbAnPnXC+/RJf49buTrhtFvI9Zg0+Lbpjx1oh6oMHB19T88Y28KtrckfFZ8aTSUWDq6w==} + '@tiptap/extension-gapcursor@3.20.1': + resolution: {integrity: sha512-kZOtttV6Ai8VUAgEng3h4WKFbtdSNJ6ps7r0cRPY+FctWhVmgNb/JJwwyC+vSilR7nRENAhrA/Cv/RxVlvLw+g==} peerDependencies: - '@tiptap/extensions': ^3.20.0 + '@tiptap/extensions': ^3.20.1 - '@tiptap/extension-hard-break@3.20.0': - resolution: {integrity: sha512-rqvhMOw4f+XQmEthncbvDjgLH6fz8L9splnKZC7OeS0eX8b0qd7+xI1u5kyxF3KA2Z0BnigES++jjWuecqV6mA==} + '@tiptap/extension-hard-break@3.20.1': + resolution: {integrity: sha512-9sKpmg/IIdlLXimYWUZ3PplIRcehv4Oc7V1miTqlnAthMzjMqigDkjjgte4JZV67RdnDJTQkRw8TklCAU28Emg==} peerDependencies: - '@tiptap/core': ^3.20.0 + '@tiptap/core': ^3.20.1 - '@tiptap/extension-heading@3.20.0': - resolution: {integrity: sha512-JgJhurnCe3eN6a0lEsNQM/46R1bcwzwWWZEFDSb1P9dR8+t1/5v7cMZWsSInpD7R4/74iJn0+M5hcXLwCmBmYA==} + '@tiptap/extension-heading@3.20.1': + resolution: {integrity: sha512-unudyfQP6FxnyWinxvPqe/51DG91J6AaJm666RnAubgYMCgym+33kBftx4j4A6qf+ddWYbD00thMNKOnVLjAEQ==} peerDependencies: - '@tiptap/core': ^3.20.0 + '@tiptap/core': ^3.20.1 - '@tiptap/extension-highlight@3.20.0': - resolution: {integrity: sha512-ANL1wFz0s1ScNR4uBfO0s6Sz+qqGp2u6ynrCVk6TCT3d10CQ+gD1gSDTrVRC3CtlMKtHHH4fYrFAq284+J0gKA==} + '@tiptap/extension-highlight@3.20.1': + resolution: {integrity: sha512-Ufv1eNsQBR7NNSxQIvHaI9Bm3/MS8GW9uCXR/20WJ2r0GhDA6vwnS5MHAhP5JUXK6KOsd0Rvz2cfvYB7f3okbQ==} peerDependencies: - '@tiptap/core': ^3.20.0 + '@tiptap/core': ^3.20.1 - '@tiptap/extension-horizontal-rule@3.20.0': - resolution: {integrity: sha512-6uvcutFMv+9wPZgptDkbRDjAm3YVxlibmkhWD5GuaWwS9L/yUtobpI3GycujRSUZ8D3q6Q9J7LqpmQtQRTalWA==} + '@tiptap/extension-horizontal-rule@3.20.1': + resolution: {integrity: sha512-rjFKFXNntdl0jay8oIGFvvykHlpyQTLmrH3Ag2fj3i8yh6MVvqhtaDomYQbw5sxECd5hBkL+T4n2d2DRuVw/QQ==} peerDependencies: - '@tiptap/core': ^3.20.0 - '@tiptap/pm': ^3.20.0 + '@tiptap/core': ^3.20.1 + '@tiptap/pm': ^3.20.1 - '@tiptap/extension-image@3.20.0': - resolution: {integrity: sha512-0t7HYncV0kYEQS79NFczxdlZoZ8zu8X4VavDqt+mbSAUKRq3gCvgtZ5Zyd778sNmtmbz3arxkEYMIVou2swD0g==} + '@tiptap/extension-image@3.20.1': + resolution: {integrity: sha512-/GPFSLNdYSZQ0E6VBXSAk0UFtDdn98HT1Aa2tO+STELqc5jAdFB42dfFnTC6KQzTvcUOUYkE2S1Q22YC5H2XNQ==} peerDependencies: - '@tiptap/core': ^3.20.0 + '@tiptap/core': ^3.20.1 - '@tiptap/extension-italic@3.20.0': - resolution: {integrity: sha512-/DhnKQF8yN8RxtuL8abZ28wd5281EaGoE2Oha35zXSOF1vNYnbyt8Ymkv/7u1BcWEWTvRPgaju0YCGXisPRLYw==} + '@tiptap/extension-italic@3.20.1': + resolution: {integrity: sha512-ZYRX13Kt8tR8JOzSXirH3pRpi8x30o7LHxZY58uXBdUvr3tFzOkh03qbN523+diidSVeHP/aMd/+IrplHRkQug==} peerDependencies: - '@tiptap/core': ^3.20.0 + '@tiptap/core': ^3.20.1 - '@tiptap/extension-link@3.20.0': - resolution: {integrity: sha512-qI/5A+R0ZWBxo/8HxSn1uOyr7odr3xHBZ/gzOR1GUJaZqjlJxkWFX0RtXMbLKEGEvT25o345cF7b0wFznEh8qA==} + '@tiptap/extension-link@3.20.1': + resolution: {integrity: sha512-oYTTIgsQMqpkSnJAuAc+UtIKMuI4lv9e1y4LfI1iYm6NkEUHhONppU59smhxHLzb3Ww7YpDffbp5IgDTAiJztA==} peerDependencies: - '@tiptap/core': ^3.20.0 - '@tiptap/pm': ^3.20.0 + '@tiptap/core': ^3.20.1 + '@tiptap/pm': ^3.20.1 - '@tiptap/extension-list-item@3.20.0': - resolution: {integrity: sha512-qEtjaaGPuqaFB4VpLrGDoIe9RHnckxPfu6d3rc22ap6TAHCDyRv05CEyJogqccnFceG/v5WN4znUBER8RWnWHA==} + '@tiptap/extension-list-item@3.20.1': + resolution: {integrity: sha512-tzgnyTW82lYJkUnadYbatwkI9dLz/OWRSWuFpQPRje/ItmFMWuQ9c9NDD8qLbXPdEYnvrgSAA+ipCD/1G0qA0Q==} peerDependencies: - '@tiptap/extension-list': ^3.20.0 + '@tiptap/extension-list': ^3.20.1 - '@tiptap/extension-list-keymap@3.20.0': - resolution: {integrity: sha512-Z4GvKy04Ms4cLFN+CY6wXswd36xYsT2p/YL0V89LYFMZTerOeTjFYlndzn6svqL8NV1PRT5Diw4WTTxJSmcJPA==} + '@tiptap/extension-list-keymap@3.20.1': + resolution: {integrity: sha512-Dr0xsQKx0XPOgDg7xqoWwfv7FFwZ3WeF3eOjqh3rDXlNHMj1v+UW5cj1HLphrsAZHTrVTn2C+VWPJkMZrSbpvQ==} peerDependencies: - '@tiptap/extension-list': ^3.20.0 + '@tiptap/extension-list': ^3.20.1 - '@tiptap/extension-list@3.20.0': - resolution: {integrity: sha512-+V0/gsVWAv+7vcY0MAe6D52LYTIicMSHw00wz3ISZgprSb2yQhJ4+4gurOnUrQ4Du3AnRQvxPROaofwxIQ66WQ==} + '@tiptap/extension-list@3.20.1': + resolution: {integrity: sha512-euBRAn0mkV7R2VEE+AuOt3R0j9RHEMFXamPFmtvTo8IInxDClusrm6mJoDjS8gCGAXsQCRiAe1SCQBPgGbOOwg==} peerDependencies: - '@tiptap/core': ^3.20.0 - '@tiptap/pm': ^3.20.0 + '@tiptap/core': ^3.20.1 + '@tiptap/pm': ^3.20.1 - '@tiptap/extension-ordered-list@3.20.0': - resolution: {integrity: sha512-jVKnJvrizLk7etwBMfyoj6H2GE4M+PD4k7Bwp6Bh1ohBWtfIA1TlngdS842Mx5i1VB2e3UWIwr8ZH46gl6cwMA==} + '@tiptap/extension-ordered-list@3.20.1': + resolution: {integrity: sha512-Y+3Ad7OwAdagqdYwCnbqf7/to5ypD4NnUNHA0TXRCs7cAHRA8AdgPoIcGFpaaSpV86oosNU3yfeJouYeroffog==} peerDependencies: - '@tiptap/extension-list': ^3.20.0 + '@tiptap/extension-list': ^3.20.1 - '@tiptap/extension-paragraph@3.20.0': - resolution: {integrity: sha512-mM99zK4+RnEXIMCv6akfNATAs0Iija6FgyFA9J9NZ6N4o8y9QiNLLa6HjLpAC+W+VoCgQIekyoF/Q9ftxmAYDQ==} + '@tiptap/extension-paragraph@3.20.1': + resolution: {integrity: sha512-QFrAtXNyv7JSnomMQc1nx5AnG9mMznfbYJAbdOQYVdbLtAzTfiTuNPNbQrufy5ZGtGaHxDCoaygu2QEfzaKG+Q==} peerDependencies: - '@tiptap/core': ^3.20.0 + '@tiptap/core': ^3.20.1 - '@tiptap/extension-placeholder@3.20.0': - resolution: {integrity: sha512-ZhYD3L5m16ydSe2z8vqz+RdtAG/iOQaFHHedFct70tKRoLqi2ajF5kgpemu8DwpaRTcyiCN4G99J/+MqehKNjQ==} + '@tiptap/extension-placeholder@3.20.1': + resolution: {integrity: sha512-k+jfbCugYGuIFBdojukgEopGazIMOgHrw46FnyN2X/6ICOIjQP2rh2ObslrsUOsJYoEevxCsNF9hZl1HvWX66g==} peerDependencies: - '@tiptap/extensions': ^3.20.0 + '@tiptap/extensions': ^3.20.1 - '@tiptap/extension-strike@3.20.0': - resolution: {integrity: sha512-0vcTZRRAiDfon3VM1mHBr9EFmTkkUXMhm0Xtdtn0bGe+sIqufyi+hUYTEw93EQOD9XNsPkrud6jzQNYpX2H3AQ==} + '@tiptap/extension-strike@3.20.1': + resolution: {integrity: sha512-EYgyma10lpsY+rwbVQL9u+gA7hBlKLSMFH7Zgd37FSxukOjr+HE8iKPQQ+SwbGejyDsPlLT8Z5Jnuxo5Ng90Pg==} peerDependencies: - '@tiptap/core': ^3.20.0 + '@tiptap/core': ^3.20.1 - '@tiptap/extension-table-cell@3.20.0': - resolution: {integrity: sha512-9Dg4zda3UWwtpBwSG7b9BeQy5oT27a/yEIBeARuxe19bloMLZgqpPRtnSrOK0OAITtVnjA+NZdKPcVLRMS2E8A==} + '@tiptap/extension-table-cell@3.20.1': + resolution: {integrity: sha512-nSeboFey+MJqZuCQSbVUajQVaGiypeoUPiGd0CJdyfc0oPsBGGqp7XFJtw5HHEbDqEvSHvGNDoZDFsUTAxUyIg==} peerDependencies: - '@tiptap/extension-table': ^3.20.0 + '@tiptap/extension-table': ^3.20.1 - '@tiptap/extension-table-header@3.20.0': - resolution: {integrity: sha512-2tVHHlihpeHO/gh2uU46gAX3NTGdKR+yDmfLlO2l0QAvx2TXNfNzX2pOM4MmyostW5Ko9TCWV4x0D9h3IQDhPw==} + '@tiptap/extension-table-header@3.20.1': + resolution: {integrity: sha512-Xsdgik3Bh5xWSkLaPR/6NDLZR5lgUDIN/yiZ7bLtfTsyGxqEvuW2Y9/j/XP3AfsZzGy2/SuA9bM9zxPcFQxwFA==} peerDependencies: - '@tiptap/extension-table': ^3.20.0 + '@tiptap/extension-table': ^3.20.1 - '@tiptap/extension-table-row@3.20.0': - resolution: {integrity: sha512-clkfQahkYW/U48QBh1rPZv3AWWSC9AqGKp2DLTH/SGIorM/NwI0jpPtBETMlvowyQu0ivlH9B896smEph+Do2A==} + '@tiptap/extension-table-row@3.20.1': + resolution: {integrity: sha512-uYE0SdY4J81wn/fg8Gum0TVSTTBekQhRGeSwDnRfBBd9JILBsLotBTt4ucM7JOUjrP9BjS+QFCT9EstAchPHfQ==} peerDependencies: - '@tiptap/extension-table': ^3.20.0 + '@tiptap/extension-table': ^3.20.1 - '@tiptap/extension-table@3.20.0': - resolution: {integrity: sha512-vaaMtQ2KnSSr8WVwgWf7NYNzPwrHx/6T0ekA5CxV8qNUEpXIaLXa5+tE7tJHWEdNR2KY3gUJ46D3lfOkxyFrBQ==} + '@tiptap/extension-table@3.20.1': + resolution: {integrity: sha512-y2o1De3P/FH80nst1D9pYSwtRvxF87WkNAYGurqCkZ6SjwFq1Ifeh9eY+o79R6SCwcfpvQRytCYd+Yw9o5XAtA==} peerDependencies: - '@tiptap/core': ^3.20.0 - '@tiptap/pm': ^3.20.0 + '@tiptap/core': ^3.20.1 + '@tiptap/pm': ^3.20.1 - '@tiptap/extension-task-item@3.20.0': - resolution: {integrity: sha512-UArl5ffRNKyiOGJYNtjF50+A0qgYF2DXIEFGyMgJsbp1KYQpDj+UrezWvnGOHZfX64eBWDIO6Bum5jS7o32dYQ==} + '@tiptap/extension-task-item@3.20.1': + resolution: {integrity: sha512-ZdQld5Jzw/b/zl9TSA3KNkucmQhW5lHS/0YEKb+eFvxMwdHTKSpsTQzrfzbJixcdSqsuKJB+uUCwDDB+l0CRlA==} peerDependencies: - '@tiptap/extension-list': ^3.20.0 + '@tiptap/extension-list': ^3.20.1 - '@tiptap/extension-task-list@3.20.0': - resolution: {integrity: sha512-Ab2hfun+5xMG6kQhRjL7s16zTe3XaQRXe3/deGo9hnZrAzTQpWVwDN7H36BX8MemrWnAw3PiuwBH5iOrwNRGjA==} + '@tiptap/extension-task-list@3.20.1': + resolution: {integrity: sha512-fbWsbp2ybWZUn9zcdgvFIcVya7v8kISuy91SULM1lhLwIsjNC15IPqp/ZEFJJJDKWBVr0o6bvLMsXwph/azO+w==} peerDependencies: - '@tiptap/extension-list': ^3.20.0 + '@tiptap/extension-list': ^3.20.1 - '@tiptap/extension-text-align@3.20.0': - resolution: {integrity: sha512-4s0r+bovtH6yeGDUD+Ui8j5WOV5koB5P6AuzOMqoLwaFGRSkKf64ly6DXjjmjIgnYCLZN/XO6llaQKVVdvad2g==} + '@tiptap/extension-text-align@3.20.1': + resolution: {integrity: sha512-9816EFiTO7BvACGomYNI0pZIu5EOBVHrgqO33+sFjseQCvq+5FD6OPNLdHSkPzAmRrE0LUBvFZ93sjO4N+kJPg==} peerDependencies: - '@tiptap/core': ^3.20.0 + '@tiptap/core': ^3.20.1 - '@tiptap/extension-text-style@3.20.0': - resolution: {integrity: sha512-zyWW1a6W+kaXAn3wv2svJ1XuVMapujftvH7Xn2Q3QmKKiDkO+NiFkrGe8BhMopu8Im51nO3NylIgVA0X1mS1rQ==} + '@tiptap/extension-text-style@3.20.1': + resolution: {integrity: sha512-3LQU92zX6tzl47EBskkAKeJXd6EWwYmBDE7jbd7InJqnt9NMAcj4DtXtXpI+e6Un5+8yzNjVA+fI5+5cFS3dSg==} peerDependencies: - '@tiptap/core': ^3.20.0 + '@tiptap/core': ^3.20.1 - '@tiptap/extension-text@3.20.0': - resolution: {integrity: sha512-tf8bE8tSaOEWabCzPm71xwiUhyMFKqY9jkP5af3Kr1/F45jzZFIQAYZooHI/+zCHRrgJ99MQHKHe1ZNvODrKHQ==} + '@tiptap/extension-text@3.20.1': + resolution: {integrity: sha512-7PlIbYW8UenV6NPOXHmv8IcmPGlGx6HFq66RmkJAOJRPXPkTLAiX0N8rQtzUJ6jDEHqoJpaHFEHJw0xzW1yF+A==} peerDependencies: - '@tiptap/core': ^3.20.0 + '@tiptap/core': ^3.20.1 - '@tiptap/extension-underline@3.20.0': - resolution: {integrity: sha512-LzNXuy2jwR/y+ymoUqC72TiGzbOCjioIjsDu0MNYpHuHqTWPK5aV9Mh0nbZcYFy/7fPlV1q0W139EbJeYBZEAQ==} + '@tiptap/extension-underline@3.20.1': + resolution: {integrity: sha512-fmHvDKzwCgnZUwRreq8tYkb1YyEwgzZ6QQkAQ0CsCRtvRMqzerr3Duz0Als4i8voZTuGDEL3VR6nAJbLAb/wPg==} peerDependencies: - '@tiptap/core': ^3.20.0 + '@tiptap/core': ^3.20.1 - '@tiptap/extensions@3.20.0': - resolution: {integrity: sha512-HIsXX942w3nbxEQBlMAAR/aa6qiMBEP7CsSMxaxmTIVAmW35p6yUASw6GdV1u0o3lCZjXq2OSRMTskzIqi5uLg==} + '@tiptap/extensions@3.20.1': + resolution: {integrity: sha512-JRc/v+OBH0qLTdvQ7HvHWTxGJH73QOf1MC0R8NhOX2QnAbg2mPFv1h+FjGa2gfLGuCXBdWQomjekWkUKbC4e5A==} peerDependencies: - '@tiptap/core': ^3.20.0 - '@tiptap/pm': ^3.20.0 + '@tiptap/core': ^3.20.1 + '@tiptap/pm': ^3.20.1 - '@tiptap/pm@3.20.0': - resolution: {integrity: sha512-jn+2KnQZn+b+VXr8EFOJKsnjVNaA4diAEr6FOazupMt8W8ro1hfpYtZ25JL87Kao/WbMze55sd8M8BDXLUKu1A==} + '@tiptap/pm@3.20.1': + resolution: {integrity: sha512-6kCiGLvpES4AxcEuOhb7HR7/xIeJWMjZlb6J7e8zpiIh5BoQc7NoRdctsnmFEjZvC19bIasccshHQ7H2zchWqw==} - '@tiptap/react@3.20.0': - resolution: {integrity: sha512-jFLNzkmn18zqefJwPje0PPd9VhZ7Oy28YHiSvSc7YpBnQIbuN/HIxZ2lrOsKyEHta0WjRZjfU5X1pGxlbcGwOA==} + '@tiptap/react@3.20.1': + resolution: {integrity: sha512-UH1NpVpCaZBGB3Yr5N6aTS+rsCMDl9wHfrt/w+6+Gz4KHFZ2OILA82hELxZzhNc1Lmjz8vgCArKcsYql9gbzJA==} peerDependencies: - '@tiptap/core': ^3.20.0 - '@tiptap/pm': ^3.20.0 + '@tiptap/core': ^3.20.1 + '@tiptap/pm': ^3.20.1 '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 '@types/react-dom': ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 - '@tiptap/starter-kit@3.20.0': - resolution: {integrity: sha512-W4+1re35pDNY/7rpXVg+OKo/Fa4Gfrn08Bq3E3fzlJw6gjE3tYU8dY9x9vC2rK9pd9NOp7Af11qCFDaWpohXkw==} + '@tiptap/starter-kit@3.20.1': + resolution: {integrity: sha512-opqWxL/4OTEiqmVC0wsU4o3JhAf6LycJ2G/gRIZVAIFLljI9uHfpPMTFGxZ5w9IVVJaP5PJysfwW/635kKqkrw==} '@tree-sitter-grammars/tree-sitter-yaml@0.7.1': resolution: {integrity: sha512-AynBwkIoQCTgjDR33bDUp9Mqq+YTco0is3n5hRApMqG9of/6A4eQsfC1/uSEeHSUyMQSYawcAWamsexnVpIP4Q==} @@ -4834,19 +4852,19 @@ packages: tree-sitter: optional: true - '@trpc/client@11.10.0': - resolution: {integrity: sha512-h0s2AwDtuhS8INRb4hlo4z3RKCkarWqlOy+3ffJgrlDxzzW6aLUN+9nDrcN4huPje1Em15tbCOqhIc6oaKYTRw==} + '@trpc/client@11.12.0': + resolution: {integrity: sha512-zTwFKQdE99pvNm7kXFdHo5xIQpGqpQJHtqVkT9o+i8h/0fbDOUBEEbFVICiMsNA+GiXskoaDRX2l+z6ir+Ug3w==} peerDependencies: - '@trpc/server': 11.10.0 + '@trpc/server': 11.12.0 typescript: '>=5.7.2' - '@trpc/next@11.10.0': - resolution: {integrity: sha512-IhyJKmXCkImGbvrfUi/TtCWYR+cLylJiWXVLqtkJs/byWK7nA0K+zmCUmbnPgr60gv3qp+X2YZpdapD7fyc5Mg==} + '@trpc/next@11.12.0': + resolution: {integrity: sha512-e1EQoA2Jyzag77XVdiD+iv7WjDnT8FFIPzpshaU5PNTaj/OX/ELlP8VqERxnI6qnNI6LLBcbabfXGukmi5byug==} peerDependencies: '@tanstack/react-query': ^5.59.15 - '@trpc/client': 11.10.0 - '@trpc/react-query': 11.10.0 - '@trpc/server': 11.10.0 + '@trpc/client': 11.12.0 + '@trpc/react-query': 11.12.0 + '@trpc/server': 11.12.0 next: '*' react: '>=16.8.0' react-dom: '>=16.8.0' @@ -4857,59 +4875,59 @@ packages: '@trpc/react-query': optional: true - '@trpc/react-query@11.10.0': - resolution: {integrity: sha512-SKLpwEMU32mpDTCc3msMxb0fx113x4Jsiw0/t+ENY6AtyvhvDMRF1bpWtoNyY6zpX5wN4JCQMhHef8k0T1rJIw==} + '@trpc/react-query@11.12.0': + resolution: {integrity: sha512-SLJLlQw0XVc+oVD5RITLl0G7cAFJ4oSJXUcblTS8CKUET+J4r/Ot2hKfX+qhENcFM1ChllbwMrCbUHNOH7qU1A==} peerDependencies: '@tanstack/react-query': ^5.80.3 - '@trpc/client': 11.10.0 - '@trpc/server': 11.10.0 + '@trpc/client': 11.12.0 + '@trpc/server': 11.12.0 react: '>=18.2.0' typescript: '>=5.7.2' - '@trpc/server@11.10.0': - resolution: {integrity: sha512-zZjTrR6He61e5TiT7e/bQqab/jRcXBZM8Fg78Yoo8uh5pz60dzzbYuONNUCOkafv5ppXVMms4NHYfNZgzw50vg==} + '@trpc/server@11.12.0': + resolution: {integrity: sha512-rpZnf5FUjNndE/AjGIy+FvEHR52iBd0u0wySqWCwXj67wraj3qCuBr5Opcf0Te/g67C/YztqceFkLoG0r4mp4Q==} peerDependencies: typescript: '>=5.7.2' - '@trpc/tanstack-react-query@11.10.0': - resolution: {integrity: sha512-fXkkhH6UDFAFMwlXePkgbmUAiDgflpbWx4EbzRANKFzMtxyFrBjbSHQrAPrm4ZLjZdJcIeHK0oAIDPhiOh4VYg==} + '@trpc/tanstack-react-query@11.12.0': + resolution: {integrity: sha512-CIOR3shjVgvTcsbsqb4X2pQCbJ1I2+2j6tqDX4aFKLdqz0S32Y+iPH3ArDowrlS0npWycfkgsEEX3qwgP0j0vg==} peerDependencies: '@tanstack/react-query': ^5.80.3 - '@trpc/client': 11.10.0 - '@trpc/server': 11.10.0 + '@trpc/client': 11.12.0 + '@trpc/server': 11.12.0 react: '>=18.2.0' typescript: '>=5.7.2' '@tsconfig/svelte@1.0.13': resolution: {integrity: sha512-5lYJP45Xllo4yE/RUBccBT32eBlRDbqN8r1/MIvQbKxW3aFqaYPCNgm8D5V20X4ShHcwvYWNlKg3liDh1MlBoA==} - '@turbo/gen-darwin-64@2.8.9': - resolution: {integrity: sha512-Kt9e4uMLEpdGoqQvEJTKzTJMKviS8dww0c6cNVKOgyEbigX6lSd3/Z4zwrTCV48sSbDGR5k2wQwmo/dyerpRVQ==} + '@turbo/gen-darwin-64@2.8.14': + resolution: {integrity: sha512-cbYPRLEVk1RXOw4AsJatP3XouZaRWG11kzo1Oj6Ei9i4G7CiQ0e6Ps58eW9anX1MIZ5WZLIxXsB74cLkLuPsEQ==} cpu: [x64] os: [darwin] - '@turbo/gen-darwin-arm64@2.8.9': - resolution: {integrity: sha512-KRpW8ALgRR9nc5kjlNj1R2tKjcmZn4UBNxLKkvDpf/h5CSiHJ8RGTfqXL8WWCrz6BLvEVgmr1dblR2of2Wv8/w==} + '@turbo/gen-darwin-arm64@2.8.14': + resolution: {integrity: sha512-wHuMmRrlyCZ2yIeRStSTQaw150+3X0TuQGyu+KaNst2Xwj2J1KKBvSpLr/JK3IE5KmpLCLd5zG9SYYudgg0rQg==} cpu: [arm64] os: [darwin] - '@turbo/gen-linux-64@2.8.9': - resolution: {integrity: sha512-QixzBbLzMRQ9RIIPzL+2s7Ltx4gr/CeIgyG3WST4pETW/0kflX60SQMZbjRu1TAfQcXmIbqy/KcQ6tvZOKPqBg==} + '@turbo/gen-linux-64@2.8.14': + resolution: {integrity: sha512-b9y2ekqF12vwsZUb9DFLwu0Wl7HTeJYNqprkwxufE15G+WyLHaDmWcDdaD38JXzSbGBeSIMBx84VkezN+DyuwA==} cpu: [x64] os: [linux] - '@turbo/gen-linux-arm64@2.8.9': - resolution: {integrity: sha512-qfCWB+Lx7xwpET8kj5BmwEMZI3QpJy/rE0ZndXTGdTXGBNVymKSR5mFPZPbhgflZLRUH/CMSVWT0jIWzCap86Q==} + '@turbo/gen-linux-arm64@2.8.14': + resolution: {integrity: sha512-TlFV8zV5l1OUpT0MHrMsZ0980gHHWo15+QJ9FFbwaFfiQYuwS/rFih3YuyetciHyuxXww7z9ZzUofE/XMeUi7Q==} cpu: [arm64] os: [linux] - '@turbo/gen-windows-64@2.8.9': - resolution: {integrity: sha512-qM+X++pfhSoby+IboizvPz8xlCKVKcSVTLS9xhDvYBTrkW1SRZ3Q0+DaAcFrc1anG1tlvv3Gz4F05vn8Z6JDGg==} + '@turbo/gen-windows-64@2.8.14': + resolution: {integrity: sha512-VwcALslezMPB5dRoS2YMtBAmwdvQnXbdd2/FBayo186kGU02sKH1b++dTs0VLlBM1n7amPWDfg46AH8kaG6M1Q==} cpu: [x64] os: [win32] - '@turbo/gen@2.8.9': - resolution: {integrity: sha512-F9pQe1Hq6TDjN7kHiFJN6fzyq3gZYLb40jBsaweMDboPbcII9Map6M/9lKbs7L1t3osc8rQxF0fRerdx7Ea3bw==} + '@turbo/gen@2.8.14': + resolution: {integrity: sha512-mv4ZVMitAj5rl38Go2aUVbPt5YiLLaCFHUhINb1bLEjuiiwb8kCEQn0ghUZ1hJ2oNxXEd8aWtqNdX7lgdX5Nsw==} hasBin: true '@types/adm-zip@0.5.7': @@ -5017,12 +5035,18 @@ packages: '@types/express@4.17.21': resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + '@types/glob@7.2.0': + resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} '@types/http-errors@2.0.4': resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + '@types/inquirer@6.5.0': + resolution: {integrity: sha512-rjaYQ9b9y/VFGOpqBEXRavc3jh0a+e6evAbI31tMda8VlPaSy0AZJfXsvmIe3wklc7W6C3zCSfleuMXR7NOyXw==} + '@types/js-yaml@4.0.9': resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} @@ -5050,6 +5074,10 @@ packages: '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + '@types/minimatch@6.0.0': + resolution: {integrity: sha512-zmPitbQ8+6zNutpwgcQuLcsEpn/Cj54Kbn7L5pX0Os5kdWplB7xPgEh/g+SWOB/qmows2gpuCaPyduq8ZZRnxA==} + deprecated: This is a stub types definition. minimatch provides its own type definitions, so you do not need this installed. + '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} @@ -5065,14 +5093,14 @@ packages: '@types/node@18.19.50': resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} - '@types/node@24.10.13': - resolution: {integrity: sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==} + '@types/node@24.12.0': + resolution: {integrity: sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - '@types/pg@8.16.0': - resolution: {integrity: sha512-RmhMd/wD+CF8Dfo+cVIy3RR5cl8CyfXQ0tGgW6XBL8L4LM/UTEbNXYRbLwU6w+CgrKBNbrQWt4FUtTfaU5jSYQ==} + '@types/pg@8.18.0': + resolution: {integrity: sha512-gT+oueVQkqnj6ajGJXblFR4iavIXWsGAFCk3dP4Kki5+a9R4NMt0JARdk6s8cUKcfUoqP5dAtDSLU8xYUTFV+Q==} '@types/prismjs@1.26.6': resolution: {integrity: sha512-vqlvI7qlMvcCBbVe0AKAb4f97//Hy0EBTaiW8AalRnG/xAN5zOiWWyrNqNXeq8+KAuvRewjCVY1+IPxk4RdNYw==} @@ -5118,6 +5146,9 @@ packages: '@types/swagger-ui-react@5.18.0': resolution: {integrity: sha512-c2M9adVG7t28t1pq19K9Jt20VLQf0P/fwJwnfcmsVVsdkwCWhRmbKDu+tIs0/NGwJ/7GY8lBx+iKZxuDI5gDbw==} + '@types/through@0.0.33': + resolution: {integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==} + '@types/triple-beam@1.3.5': resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==} @@ -5142,63 +5173,63 @@ packages: '@types/xml2js@0.4.14': resolution: {integrity: sha512-4YnrRemBShWRO2QjvUin8ESA41rH+9nQGLUGZV/1IDhi3SL9OhdpNC/MrulTWuptXKwhx/aDxE7toV0f/ypIXQ==} - '@typescript-eslint/eslint-plugin@8.56.0': - resolution: {integrity: sha512-lRyPDLzNCuae71A3t9NEINBiTn7swyOhvUj3MyUOxb8x6g6vPEFoOU+ZRmGMusNC3X3YMhqMIX7i8ShqhT74Pw==} + '@typescript-eslint/eslint-plugin@8.56.1': + resolution: {integrity: sha512-Jz9ZztpB37dNC+HU2HI28Bs9QXpzCz+y/twHOwhyrIRdbuVDxSytJNDl6z/aAKlaRIwC7y8wJdkBv7FxYGgi0A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.56.0 + '@typescript-eslint/parser': ^8.56.1 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/parser@8.56.0': - resolution: {integrity: sha512-IgSWvLobTDOjnaxAfDTIHaECbkNlAlKv2j5SjpB2v7QHKv1FIfjwMy8FsDbVfDX/KjmCmYICcw7uGaXLhtsLNg==} + '@typescript-eslint/parser@8.56.1': + resolution: {integrity: sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.56.0': - resolution: {integrity: sha512-M3rnyL1vIQOMeWxTWIW096/TtVP+8W3p/XnaFflhmcFp+U4zlxUxWj4XwNs6HbDeTtN4yun0GNTTDBw/SvufKg==} + '@typescript-eslint/project-service@8.56.1': + resolution: {integrity: sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/scope-manager@8.56.0': - resolution: {integrity: sha512-7UiO/XwMHquH+ZzfVCfUNkIXlp/yQjjnlYUyYz7pfvlK3/EyyN6BK+emDmGNyQLBtLGaYrTAI6KOw8tFucWL2w==} + '@typescript-eslint/scope-manager@8.56.1': + resolution: {integrity: sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.56.0': - resolution: {integrity: sha512-bSJoIIt4o3lKXD3xmDh9chZcjCz5Lk8xS7Rxn+6l5/pKrDpkCwtQNQQwZ2qRPk7TkUYhrq3WPIHXOXlbXP0itg==} + '@typescript-eslint/tsconfig-utils@8.56.1': + resolution: {integrity: sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/type-utils@8.56.0': - resolution: {integrity: sha512-qX2L3HWOU2nuDs6GzglBeuFXviDODreS58tLY/BALPC7iu3Fa+J7EOTwnX9PdNBxUI7Uh0ntP0YWGnxCkXzmfA==} + '@typescript-eslint/type-utils@8.56.1': + resolution: {integrity: sha512-yB/7dxi7MgTtGhZdaHCemf7PuwrHMenHjmzgUW1aJpO+bBU43OycnM3Wn+DdvDO/8zzA9HlhaJ0AUGuvri4oGg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/types@8.56.0': - resolution: {integrity: sha512-DBsLPs3GsWhX5HylbP9HNG15U0bnwut55Lx12bHB9MpXxQ+R5GC8MwQe+N1UFXxAeQDvEsEDY6ZYwX03K7Z6HQ==} + '@typescript-eslint/types@8.56.1': + resolution: {integrity: sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.56.0': - resolution: {integrity: sha512-ex1nTUMWrseMltXUHmR2GAQ4d+WjkZCT4f+4bVsps8QEdh0vlBsaCokKTPlnqBFqqGaxilDNJG7b8dolW2m43Q==} + '@typescript-eslint/typescript-estree@8.56.1': + resolution: {integrity: sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@8.56.0': - resolution: {integrity: sha512-RZ3Qsmi2nFGsS+n+kjLAYDPVlrzf7UhTffrDIKr+h2yzAlYP/y5ZulU0yeDEPItos2Ph46JAL5P/On3pe7kDIQ==} + '@typescript-eslint/utils@8.56.1': + resolution: {integrity: sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/visitor-keys@8.56.0': - resolution: {integrity: sha512-q+SL+b+05Ud6LbEE35qe4A99P+htKTKVbyiNEe45eCbJFyh/HVK9QXwlrbz+Q4L8SOW4roxSVwXYj4DMBT7Ieg==} + '@typescript-eslint/visitor-keys@8.56.1': + resolution: {integrity: sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@umami/node@0.4.0': @@ -5368,11 +5399,6 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - acorn@8.15.0: - resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} - engines: {node: '>=0.4.0'} - hasBin: true - acorn@8.16.0: resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} engines: {node: '>=0.4.0'} @@ -5423,9 +5449,6 @@ packages: peerDependencies: ajv: ^8.8.2 - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - ajv@6.14.0: resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==} @@ -5435,6 +5458,10 @@ packages: ansi-align@3.0.1: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + ansi-escapes@7.0.0: resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} engines: {node: '>=18'} @@ -5508,6 +5535,10 @@ packages: resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==} engines: {node: '>= 0.4'} + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + array.prototype.findlast@1.2.5: resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} engines: {node: '>= 0.4'} @@ -5585,8 +5616,8 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - avvio@9.1.0: - resolution: {integrity: sha512-fYASnYi600CsH/j9EQov7lECAniYiBFiiAtBNuZYLA2leLe9qOvZzqYHFjtIj6gD2VMoMLP14834LFWvr4IfDw==} + avvio@9.2.0: + resolution: {integrity: sha512-2t/sy01ArdHHE0vRH5Hsay+RtCZt3dLPji7W7/MMOCEgze5b7SNDC4j5H6FnVgPkI1MTNFGzHdHrVXDDl7QSSQ==} aws-ssl-profiles@1.1.2: resolution: {integrity: sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g==} @@ -5714,8 +5745,8 @@ packages: resolution: {integrity: sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==} engines: {node: 20 || >=22} - brace-expansion@5.0.3: - resolution: {integrity: sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==} + brace-expansion@5.0.4: + resolution: {integrity: sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==} engines: {node: 18 || 20 || >=22} braces@3.0.3: @@ -5790,6 +5821,9 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} + camel-case@3.0.0: + resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==} + camelcase-css@2.0.1: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} @@ -5823,6 +5857,9 @@ packages: resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + change-case@3.1.0: + resolution: {integrity: sha512-2AZp7uJZbYEzRPsFoa+ijKdvp9zsrnnt6+yFokfwEpeJm0xuJDVoxiRCAaTzyJND8GJkofo2IcKWaUZ/OECVzw==} + char-regex@1.0.2: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} @@ -5839,6 +5876,9 @@ packages: character-reference-invalid@2.0.1: resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + chardet@2.1.1: resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} @@ -5878,6 +5918,10 @@ packages: resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} engines: {node: '>=6'} + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + cli-high@0.4.3: resolution: {integrity: sha512-YbwZhmK0fpwVn3bsbYiYdkseXFcGvSVkX+fl0CY73PAz77Uzkr46X3Ifs4V7NgwfvCqGx+6C5zEi8SL8m9lqtg==} hasBin: true @@ -5891,6 +5935,10 @@ packages: resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} engines: {node: 10.* || >= 12.*} + cli-width@3.0.0: + resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} + engines: {node: '>= 10'} + cli-width@4.1.0: resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} engines: {node: '>= 12'} @@ -5979,12 +6027,15 @@ packages: resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} engines: {node: '>=8'} + constant-case@2.0.0: + resolution: {integrity: sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ==} + conventional-changelog-angular@8.0.0: resolution: {integrity: sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==} engines: {node: '>=18'} - conventional-changelog-conventionalcommits@9.1.0: - resolution: {integrity: sha512-MnbEysR8wWa8dAEvbj5xcBgJKQlX/m0lhS8DsyAAWDHdfs2faDJxTgzRYlRYpXSe7UiKrIIlB4TrBKU9q9DgkA==} + conventional-changelog-conventionalcommits@9.3.0: + resolution: {integrity: sha512-kYFx6gAyjSIMwNtASkI3ZE99U1fuVDJr0yTYgVy+I2QG46zNZfl2her+0+eoviG82c5WQvW1jMt1eOQTeJLodA==} engines: {node: '>=18'} conventional-changelog-writer@8.0.0: @@ -6271,6 +6322,10 @@ packages: defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + del@5.1.0: + resolution: {integrity: sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==} + engines: {node: '>=8'} + delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -6355,6 +6410,9 @@ packages: dompurify@3.3.1: resolution: {integrity: sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==} + dot-case@2.1.1: + resolution: {integrity: sha512-HnM6ZlFqcajLsyudHq7LeeLDr2rFAVYtDv/hV5qchQEidSck8j9OPUsXY9KwJv/lHMtYlX4DjRQqwFYa+0r8Ug==} + dot-prop@5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} @@ -6540,8 +6598,8 @@ packages: resolution: {integrity: sha512-gmNvsYi9C8iErnZdVcJnvCpSKbWTt1E8+JZo8b+daLninywUWi5NQ5STSHZ9rFjFO7imNcvb8Pc5pe/wMR5xEw==} engines: {node: '>=10.2.0'} - enhanced-resolve@5.19.0: - resolution: {integrity: sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==} + enhanced-resolve@5.20.0: + resolution: {integrity: sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ==} engines: {node: '>=10.13.0'} entities@4.5.0: @@ -6677,8 +6735,8 @@ packages: peerDependencies: eslint: '>=7.0.0' - eslint-config-turbo@2.8.9: - resolution: {integrity: sha512-U+R5hYzLH5A393R4u6AGMftSLXEs0Gj7ys1ae2ha39YWi+Ei8K2ctOB5y+NQ7TOngvOVIK5uFhxMWQimKAglGw==} + eslint-config-turbo@2.8.14: + resolution: {integrity: sha512-WYB0jwiITLpiWx42J7p1XNSAzRxAwmX9qpRBCIH4+R/9mgp72o8GtUKLX8vgxK4c8Vwqiedv4MqPwDxJurrVWQ==} peerDependencies: eslint: '>6.6.0' turbo: '>2.0.0' @@ -6735,8 +6793,8 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - eslint-plugin-turbo@2.8.9: - resolution: {integrity: sha512-gmhdR1SNrPxdXu00xxdhnt32SayUBjHbnhw3YpB939D9ZQjsK9Mthw7mPBrafifwb06kx0VqaFzxaP1JLCbh3g==} + eslint-plugin-turbo@2.8.14: + resolution: {integrity: sha512-AU3H0trwN9AoDZHHIx+TWSLc/AXIqk0iB93dy5zF5EmhAS3KTVPlFRJHWXc4BdKo8gy/Z11DKrZZQTpqIZ8k4A==} peerDependencies: eslint: '>6.6.0' turbo: '>2.0.0' @@ -6761,8 +6819,8 @@ packages: resolution: {integrity: sha512-A0XeIi7CXU7nPlfHS9loMYEKxUaONu/hTEzHTGba9Huu94Cq1hPivf+DE5erJozZOky0LfvXAyrV/tcswpLI0Q==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - eslint@9.39.3: - resolution: {integrity: sha512-VmQ+sifHUbI/IcSopBCF/HO3YiHQx/AVd3UVyYL6weuwW+HvON9VYn5l6Zl1WZzPWXPNZrSQpxwkkZ/VuvJZzg==} + eslint@9.39.4: + resolution: {integrity: sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -6849,6 +6907,10 @@ packages: extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + fast-check@3.23.2: resolution: {integrity: sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A==} engines: {node: '>=8.0.0'} @@ -6891,12 +6953,11 @@ packages: fast-uri@3.1.0: resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} - fast-xml-parser@5.3.8: - resolution: {integrity: sha512-53jIF4N6u/pxvaL1eb/hEZts/cFLWZ92eCfLrNyCI0k38lettCG/Bs40W9pPwoPXyHQlKu2OUbQtiEIZK/J6Vw==} - hasBin: true + fast-xml-builder@1.0.0: + resolution: {integrity: sha512-fpZuDogrAgnyt9oDDz+5DBz0zgPdPZz6D4IR7iESxRXElrlGTRkHJ9eEt+SACRJwT0FNFrt71DFQIUFBJfX/uQ==} - fast-xml-parser@5.3.9: - resolution: {integrity: sha512-zU0KUuO9U+fLGduTDdxQ6qsQLIxRg4EK5AMduwBNGNCSfCGRSbNS7OpH343NFQlLDg1jxoH68JSbOPAGksIGvg==} + fast-xml-parser@5.4.2: + resolution: {integrity: sha512-pw/6pIl4k0CSpElPEJhDppLzaixDEuWui2CUQQBH/ECDf7+y6YwA4Gf7Tyb0Rfe4DIMuZipYj4AEL0nACKglvQ==} hasBin: true faster-babel-types@0.1.0: @@ -6905,8 +6966,8 @@ packages: peerDependencies: '@babel/types': ^7 - fastify@5.7.4: - resolution: {integrity: sha512-e6l5NsRdaEP8rdD8VR0ErJASeyaRbzXYpmkrpr2SuvuMq6Si3lvsaVy5C+7gLanEkvjpMDzBXWE5HPeb/hgTxA==} + fastify@5.8.2: + resolution: {integrity: sha512-lZmt3navvZG915IE+f7/TIVamxIwmBd+OMB+O9WBzcpIwOo6F0LTh0sluoMFk5VkrKTvvrwIaoJPkir4Z+jtAg==} fastq@1.20.1: resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} @@ -6939,6 +7000,10 @@ packages: resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} engines: {node: '>=4'} + figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + figures@6.1.0: resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} engines: {node: '>=18'} @@ -6958,8 +7023,8 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - find-my-way@9.4.0: - resolution: {integrity: sha512-5Ye4vHsypZRYtS01ob/iwHzGRUDELlsoCftI/OZFhcLs1M0tkGPcXldE80TAZC5yYuJMBPJQQ43UHlqbJWiX2w==} + find-my-way@9.5.0: + resolution: {integrity: sha512-VW2RfnmscZO5KgBY5XVyKREMW5nMZcxDy+buTOsL+zIPnBlbKm+00sgzoQzq1EVh4aALZLfKdwv6atBGcjvjrQ==} engines: {node: '>=20'} find-up-simple@1.0.0: @@ -7033,6 +7098,9 @@ packages: resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} engines: {node: '>=14.14'} + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + fsevents@2.3.2: resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -7161,6 +7229,10 @@ packages: resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==} engines: {node: 18 || 20 || >=22} + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + global-dirs@3.0.1: resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} engines: {node: '>=10'} @@ -7176,6 +7248,10 @@ packages: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} + globby@10.0.2: + resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==} + engines: {node: '>=8'} + globrex@0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} @@ -7254,6 +7330,9 @@ packages: hastscript@9.0.1: resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} + header-case@1.0.1: + resolution: {integrity: sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ==} + hermes-estree@0.21.1: resolution: {integrity: sha512-ayfESdfG0wZM32uGw0CMfcW6pW6RM8htLXZI56A4rr7hIOjmKw+wd3+71wUc1uQfn90ZyY1NMCbQeMnunrIidg==} @@ -7266,8 +7345,8 @@ packages: highlightjs-vue@1.0.0: resolution: {integrity: sha512-PDEfEF102G23vHmPhLyPboFCD+BkMGu+GuJe2d9/eH4FsCwvgBpnc9n0pGE+ffKdph38s6foEZiEjdgHdzp+IA==} - hono@4.11.9: - resolution: {integrity: sha512-Eaw2YTGM6WOxA6CXbckaEvslr2Ne4NFsKrvc0v97JD5awbmeBLO5w9Ho9L9kmKonrwF9RJlW6BxT1PVv/agBHQ==} + hono@4.12.5: + resolution: {integrity: sha512-3qq+FUBtlTHhtYxbxheZgY8NIFnkkC/MR8u5TTsr7YZ3wixryQ3cCwn3iZbg8p8B88iDBBAYSfZDS75t8MN7Vg==} engines: {node: '>=16.9.0'} hook-std@4.0.0: @@ -7400,6 +7479,10 @@ packages: resolution: {integrity: sha512-t54PPJHG1Pp7VQvxyVCJ9mBbjG3Hqryges9bXoOO6GExCPa+//i/d5GSuFtpx3ALLd7lgIAur6zrIlBQyJuMlQ==} engines: {node: '>= 0.8.0'} + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -7413,6 +7496,10 @@ packages: inline-style-parser@0.2.4: resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} + inquirer@7.3.3: + resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==} + engines: {node: '>=8.0.0'} + internal-slot@1.0.7: resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} @@ -7435,8 +7522,8 @@ packages: invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} - ioredis@5.9.3: - resolution: {integrity: sha512-VI5tMCdeoxZWU5vjHWsiE/Su76JGhBvWF1MJnV9ZtGltHk9BmD48oDq8Tj8haZ85aceXZMxLNDQZRVo5QKNgXA==} + ioredis@5.10.0: + resolution: {integrity: sha512-HVBe9OFuqs+Z6n64q09PQvP1/R4Bm+30PAyyD4wIEqssh3v9L21QjCVk4kRLucMBcDokJTcLjsGeVRlq/nH6DA==} engines: {node: '>=12.22.0'} ip-address@9.0.5: @@ -7554,6 +7641,9 @@ packages: resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} engines: {node: '>=10'} + is-lower-case@1.1.3: + resolution: {integrity: sha512-+5A1e/WJpLLXZEDlgz4G//WYSHyQBD32qa4Jd3Lw06qQlv3fJHnp3YIHjTQSGzHMgzmVKz2ZP3rBxTHkPw/lxA==} + is-map@2.0.3: resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} engines: {node: '>= 0.4'} @@ -7582,6 +7672,10 @@ packages: resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} engines: {node: '>=8'} + is-path-cwd@2.2.0: + resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} + engines: {node: '>=6'} + is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} @@ -7659,6 +7753,9 @@ packages: resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} engines: {node: '>=18'} + is-upper-case@1.1.2: + resolution: {integrity: sha512-GQYSJMgfeAmVwh9ixyk888l7OIhNAGKtY6QA+IrWlu9MDTCaXmeozOZ2S9Knj7bQwBO/H6J2kb+pbyTUiMNbsw==} + is-weakmap@2.0.2: resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} engines: {node: '>= 0.4'} @@ -7691,6 +7788,10 @@ packages: isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + isbinaryfile@4.0.10: + resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} + engines: {node: '>= 8.0.0'} + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -7883,8 +7984,8 @@ packages: resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} engines: {node: '>= 0.6.3'} - ldapts@8.1.6: - resolution: {integrity: sha512-sofxzGEPRBvubSrdmly0mmUwjXHPfTbO51KLAUzuO4sHWwy+r0G6FwaLWWDwTPRpjJFkMdLId5BeRUHksUH4yA==} + ldapts@8.1.7: + resolution: {integrity: sha512-TJl6T92eIwMf/OJ0hDfKVa6ISwzo+lqCWCI5Mf//ARlKa3LKQZaSrme/H2rCRBhW0DZCQlrsV+fgoW5YHRNLUw==} engines: {node: '>=20'} levn@0.4.1: @@ -7944,6 +8045,10 @@ packages: lodash.escaperegexp@4.1.2: resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==} + lodash.get@4.4.2: + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + deprecated: This package is deprecated. Use the optional chaining (?.) operator instead. + lodash.isarguments@3.1.0: resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} @@ -7976,6 +8081,12 @@ packages: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true + lower-case-first@1.0.2: + resolution: {integrity: sha512-UuxaYakO7XeONbKrZf5FEgkantPf5DUqDayzP5VXZrtRPdH86s4kN47I8B3TW10S4QKiE3ziHNf3kRN//okHjA==} + + lower-case@1.1.4: + resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==} + lowlight@1.20.0: resolution: {integrity: sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==} @@ -8212,6 +8323,9 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@3.1.5: + resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} + minimatch@5.1.6: resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} @@ -8237,6 +8351,10 @@ packages: mkdirp-classic@0.5.3: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + mkdirp@3.0.1: resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} engines: {node: '>=10'} @@ -8257,6 +8375,9 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + mute-stream@0.0.8: + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + mute-stream@2.0.0: resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} engines: {node: ^18.17.0 || >=20.5.0} @@ -8266,9 +8387,11 @@ packages: engines: {node: '>=8', npm: '>=5'} hasBin: true - mysql2@3.17.4: - resolution: {integrity: sha512-RnfuK5tyIuaiPMWOCTTl4vQX/mQXqSA8eoIbwvWccadvPGvh+BYWWVecInMS5s7wcLUkze8LqJzwB/+A4uwuAA==} + mysql2@3.19.0: + resolution: {integrity: sha512-760Ay9HViAUT7V8QkYxrIx/LHJPGWtE+D/31VuiDm1eu2IFaUIqMcK7+hVHnmgnC7JnnwreFKsZoa8K6BnGl8Q==} engines: {node: '>= 8.0'} + peerDependencies: + '@types/node': '>= 8' mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} @@ -8368,6 +8491,9 @@ packages: resolution: {integrity: sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==} os: ['!win32'] + no-case@2.3.2: + resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==} + node-abi@3.67.0: resolution: {integrity: sha512-bLn/fU/ALVBE9wj+p4Y21ZJWYFjUXLXPi/IewyLZkx3ApxKDNBWCKdReeKOtD8dWpOdDCeMyLh6ZewzcLsG2Nw==} engines: {node: '>=10'} @@ -8435,6 +8561,10 @@ packages: node-mock-http@1.0.2: resolution: {integrity: sha512-zWaamgDUdo9SSLw47we78+zYw/bDr5gH8pH7oRRs8V3KmBtu8GLgGIbV2p/gRPd3LWpEOpjQj7X1FOU3VFMJ8g==} + node-plop@0.26.3: + resolution: {integrity: sha512-Cov028YhBZ5aB7MdMWJEmwyBig43aGL5WT4vdoB28Oitau1zZAcHUn8Sgfk9HM33TqhtLJ9PlM/O0Mv+QpV/4Q==} + engines: {node: '>=8.9.4'} + node-releases@2.0.18: resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} @@ -8456,9 +8586,9 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - normalize-url@8.0.1: - resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==} - engines: {node: '>=14.16'} + normalize-url@9.0.0: + resolution: {integrity: sha512-z9nC87iaZXXySbWWtTHfCFJyFvKaUAW6lODhikG7ILSbVgmwuFjUqkgnheHvAUcGedO29e2QGBRXMUD64aurqQ==} + engines: {node: '>=20'} npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} @@ -8681,6 +8811,10 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} + p-map@3.0.0: + resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} + engines: {node: '>=8'} + p-map@7.0.3: resolution: {integrity: sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==} engines: {node: '>=18'} @@ -8703,6 +8837,9 @@ packages: pako@2.1.0: resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==} + param-case@2.1.1: + resolution: {integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==} + parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -8742,6 +8879,12 @@ packages: parse5@8.0.0: resolution: {integrity: sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==} + pascal-case@2.0.1: + resolution: {integrity: sha512-qjS4s8rBOJa2Xm0jmxXiyh1+OFf6ekCWOvUaRgAQSktzlTbMotS0nmG9gyYAybCWBcuP4fsBeRCKNwGBnMe2OQ==} + + path-case@2.1.1: + resolution: {integrity: sha512-Ou0N05MioItesaLr9q8TtHVWmJ6fxWdqKB2RohFmNWVyJ+2zeKIeDNWAN6B/Pe7wpzWChhZX6nONYmOnMeJQ/Q==} + path-exists@3.0.0: resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} engines: {node: '>=4'} @@ -8750,6 +8893,10 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -8782,30 +8929,30 @@ packages: pg-cloudflare@1.3.0: resolution: {integrity: sha512-6lswVVSztmHiRtD6I8hw4qP/nDm1EJbKMRhf3HCYaqud7frGysPv7FYJ5noZQdhQtN2xJnimfMtvQq21pdbzyQ==} - pg-connection-string@2.11.0: - resolution: {integrity: sha512-kecgoJwhOpxYU21rZjULrmrBJ698U2RxXofKVzOn5UDj61BPj/qMb7diYUR1nLScCDbrztQFl1TaQZT0t1EtzQ==} + pg-connection-string@2.12.0: + resolution: {integrity: sha512-U7qg+bpswf3Cs5xLzRqbXbQl85ng0mfSV/J0nnA31MCLgvEaAo7CIhmeyrmJpOr7o+zm0rXK+hNnT5l9RHkCkQ==} pg-int8@1.0.1: resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} engines: {node: '>=4.0.0'} - pg-pool@3.11.0: - resolution: {integrity: sha512-MJYfvHwtGp870aeusDh+hg9apvOe2zmpZJpyt+BMtzUWlVqbhFmMK6bOBXLBUPd7iRtIF9fZplDc7KrPN3PN7w==} + pg-pool@3.13.0: + resolution: {integrity: sha512-gB+R+Xud1gLFuRD/QgOIgGOBE2KCQPaPwkzBBGC9oG69pHTkhQeIuejVIk3/cnDyX39av2AxomQiyPT13WKHQA==} peerDependencies: pg: '>=8.0' - pg-protocol@1.10.3: - resolution: {integrity: sha512-6DIBgBQaTKDJyxnXaLiLR8wBpQQcGWuAESkRBX/t6OwA8YsqP+iVSiond2EDy6Y/dsGk8rh/jtax3js5NeV7JQ==} + pg-protocol@1.12.0: + resolution: {integrity: sha512-uOANXNRACNdElMXJ0tPz6RBM0XQ61nONGAwlt8da5zs/iUOOCLBQOHSXnrC6fMsvtjxbOJrZZl5IScGv+7mpbg==} - pg-protocol@1.11.0: - resolution: {integrity: sha512-pfsxk2M9M3BuGgDOfuy37VNRRX3jmKgMjcvAcWqNDpZSf4cUmv8HSOl5ViRQFsfARFn0KuUQTgLxVMbNq5NW3g==} + pg-protocol@1.13.0: + resolution: {integrity: sha512-zzdvXfS6v89r6v7OcFCHfHlyG/wvry1ALxZo4LqgUoy7W9xhBDMaqOuMiF3qEV45VqsN6rdlcehHrfDtlCPc8w==} pg-types@2.2.0: resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} engines: {node: '>=4'} - pg@8.18.0: - resolution: {integrity: sha512-xqrUDL1b9MbkydY/s+VZ6v+xiMUmOUk7SS9d/1kpyQxoJ6U9AO1oIJyUWVZojbfe5Cc/oluutcgFG4L9RDP1iQ==} + pg@8.20.0: + resolution: {integrity: sha512-ldhMxz2r8fl/6QkXnBD3CR9/xg694oT6DZQ2s6c/RI28OjtSOpxnPrUCGOBJ46RCUxcWdx3p6kw/xnDHjKvaRA==} engines: {node: '>= 16.0.0'} peerDependencies: pg-native: '>=3.0.1' @@ -8841,8 +8988,8 @@ packages: pino-std-serializers@7.1.0: resolution: {integrity: sha512-BndPH67/JxGExRgiX1dX0w1FvZck5Wa4aal9198SrRhZjH3GxKQUKIBnYJTdj2HDN3UQAS06HlfcSbQj2OHmaw==} - pino@10.3.0: - resolution: {integrity: sha512-0GNPNzHXBKw6U/InGe79A3Crzyk9bcSyObF9/Gfo9DLEf5qj5RF50RSjsu0W1rZ6ZqRGdzDFCRBQvi9/rSGPtA==} + pino@10.3.1: + resolution: {integrity: sha512-r34yH/GlQpKZbU1BvFFqOjhISRo1MNx1tWYsYvmj6KIRHSPMT2+yHOEb1SG6NMvRoHRF0a07kCOox/9yakl1vg==} hasBin: true piscina@4.6.1: @@ -8948,8 +9095,8 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier-plugin-packagejson@3.0.0: - resolution: {integrity: sha512-z8/QmPSqx/ANvvQMWJSkSq1+ihBXeuwDEYdjX3ZjRJ5Ty1k7vGbFQfhzk2eDe0rwS/TNyRjWK/qnjJEStAOtDw==} + prettier-plugin-packagejson@3.0.2: + resolution: {integrity: sha512-kmoj3hEynXwoHDo8ZhmWAIjRBoQWCDUVackiWfSDWdgD0rS3LGB61T9zoVbume/cotYdCoadUh4sqViAmXvpBQ==} peerDependencies: prettier: ^3 peerDependenciesMeta: @@ -9423,6 +9570,10 @@ packages: resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} hasBin: true + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + ret@0.2.2: resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} engines: {node: '>=4'} @@ -9445,6 +9596,11 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + rollup@4.48.1: resolution: {integrity: sha512-jVG20NvbhTYDkGAty2/Yh7HK6/q3DGSRH4o8ALKGArmMuaauM9kLfoMZ+WliPwA5+JHr2lTn3g557FxBV87ifg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -9471,9 +9627,17 @@ packages: rrweb@2.0.0-alpha.4: resolution: {integrity: sha512-wEHUILbxDPcNwkM3m4qgPgXAiBJyqCbbOHyVoNEVBJzHszWEFYyTbrZqUdeb1EfmTRC2PsumCIkVcomJ/xcOzA==} + run-async@2.4.1: + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + rxjs@6.6.7: + resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} + engines: {npm: '>=2.0.0'} + rxjs@7.8.2: resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} @@ -9574,13 +9738,13 @@ packages: engines: {node: '>=10'} hasBin: true + sentence-case@2.1.1: + resolution: {integrity: sha512-ENl7cYHaK/Ktwk5OTD+aDbQ3uC8IByu/6Bkg+HDv8Mm+XnBnppVNalcfJTNsp1ibstKh030/JKQQWglDvtKwEQ==} + serialize-error@8.1.0: resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} engines: {node: '>=10'} - serialize-javascript@6.0.2: - resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} - set-cookie-parser@2.7.2: resolution: {integrity: sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==} @@ -9671,10 +9835,17 @@ packages: resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} engines: {node: '>=8'} + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + smart-buffer@4.2.0: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + snake-case@2.1.0: + resolution: {integrity: sha512-FMR5YoPFwOLuh4rRz92dywJjyKYZNLpMn1R5ujVpIYkbA9p01fq8RMg0FkO4M+Yobt4MjHeLTJVm5xFFBHSV2Q==} + socket.io-adapter@2.5.5: resolution: {integrity: sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==} @@ -9698,8 +9869,8 @@ packages: resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} - sonic-boom@4.2.0: - resolution: {integrity: sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==} + sonic-boom@4.2.1: + resolution: {integrity: sha512-w6AxtubXa2wTXAUsZMMWERrsIRAdrK0Sc+FUytWvYAhBJLyuI4llrMIC1DtlNSdI99EI86KZum2MMq3EAZlF9Q==} sort-object-keys@2.0.1: resolution: {integrity: sha512-R89fO+z3x7hiKPXX5P0qim+ge6Y60AjtlW+QQpRozrrNcR1lw9Pkpm5MLB56HoNvdcLHL4wbpq16OcvGpEDJIg==} @@ -9940,15 +10111,18 @@ packages: svgson@5.3.1: resolution: {integrity: sha512-qdPgvUNWb40gWktBJnbJRelWcPzkLed/ShhnRsjbayXz8OtdPOzbil9jtiZdrYvSDumAz/VNQr6JaNfPx/gvPA==} - swagger-client@3.36.2: - resolution: {integrity: sha512-M+m0TpZTWtVMvd0Qiq5W2ABLmY6w8PnnqnMIKgT/nYS/w6hZ4s1sBCCS/w4SOjmAyy0QT/kl3tNh2jPWIkaI3A==} + swagger-client@3.37.0: + resolution: {integrity: sha512-pzU+B+DkUbrSwlj4/E8sGeP1w84/CFgDJAt80fHu650TxnOHbqFLGQjiE6luvpRxTPdfK2zRHJP7I6CgUkI8yA==} - swagger-ui-react@5.31.2: - resolution: {integrity: sha512-0BwMRS07mJ30rPSZrjAsZP/vJxWTvIjxiRCm7GAoLQ/0259vy2uHtz+GtVuAbohOpmziE/F4l6QQLf0w34MuQw==} + swagger-ui-react@5.32.0: + resolution: {integrity: sha512-2mmrtvfp0EA90pdT8qXTMu26ex03TG2bsjvDAwXhdfCm+9foyadYJN+nEvDHM6/c6/xtXbdAsb6cVxBvbltnpw==} peerDependencies: react: '>=16.8.0 <20' react-dom: '>=16.8.0 <20' + swap-case@1.1.2: + resolution: {integrity: sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ==} + symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} @@ -9969,6 +10143,9 @@ packages: tar-fs@3.1.1: resolution: {integrity: sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg==} + tar-fs@3.1.2: + resolution: {integrity: sha512-QGxxTxxyleAdyM3kpFs14ymbYmNFrfY+pHj7Z8FgtbZ7w2//VAgLMac7sT6nRpIHjppXO2AwwEOg0bPFVRcmXw==} + tar-stream@2.2.0: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} @@ -9984,8 +10161,8 @@ packages: resolution: {integrity: sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==} engines: {node: '>=14.16'} - terser-webpack-plugin@5.3.16: - resolution: {integrity: sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==} + terser-webpack-plugin@5.3.17: + resolution: {integrity: sha512-YR7PtUp6GMU91BgSJmlaX/rS2lGDbAF7D+Wtq7hRO+MiljNmodYvqslzCFiYVAgW+Qoaaia/QUIP4lGXufjdZw==} engines: {node: '>= 10.13.0'} peerDependencies: '@swc/core': '*' @@ -10028,6 +10205,9 @@ packages: through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + time-span@5.1.0: resolution: {integrity: sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==} engines: {node: '>=12'} @@ -10050,6 +10230,9 @@ packages: resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==} engines: {node: '>=14.0.0'} + title-case@2.1.1: + resolution: {integrity: sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q==} + tldts-core@6.1.69: resolution: {integrity: sha512-nygxy9n2PBUFQUtAXAc122gGo+04/j5qr5TGQFZTHafTKYvmARVXt2cA5rgero2/dnXUfkdPtiJoKmrd3T+wdA==} @@ -10174,6 +10357,9 @@ packages: resolution: {integrity: sha512-zvQvhZLzTaEmNNgJbBlUYT/JOq9Xpw/xkxCqs7IT2d2/7o7pss0iZOlZXuHJ5VcvSvTny42Vc6+6GyzZcrCJ1g==} engines: {node: '>=18'} + tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -10198,72 +10384,38 @@ packages: resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} - turbo-darwin-64@2.8.10: - resolution: {integrity: sha512-A03fXh+B7S8mL3PbdhTd+0UsaGrhfyPkODvzBDpKRY7bbeac4MDFpJ7I+Slf2oSkCEeSvHKR7Z4U71uKRUfX7g==} + turbo-darwin-64@2.8.14: + resolution: {integrity: sha512-9sFi7n2lLfEsGWi5OEoA/eTtQU2BPKtzSYKqufMtDeRmqMT9vKjbv9gJCRkllSVE9BOXA0qXC3diyX8V8rKIKw==} cpu: [x64] os: [darwin] - turbo-darwin-64@2.8.9: - resolution: {integrity: sha512-KnCw1ZI9KTnEAhdI9avZrnZ/z4wsM++flMA1w8s8PKOqi5daGpFV36qoPafg4S8TmYMe52JPWEoFr0L+lQ5JIw==} - cpu: [x64] - os: [darwin] - - turbo-darwin-arm64@2.8.10: - resolution: {integrity: sha512-sidzowgWL3s5xCHLeqwC9M3s9M0i16W1nuQF3Mc7fPHpZ+YPohvcbVFBB2uoRRHYZg6yBnwD4gyUHKTeXfwtXA==} + turbo-darwin-arm64@2.8.14: + resolution: {integrity: sha512-aS4yJuy6A1PCLws+PJpZP0qCURG8Y5iVx13z/WAbKyeDTY6W6PiGgcEllSaeLGxyn++382ztN/EZH85n2zZ6VQ==} cpu: [arm64] os: [darwin] - turbo-darwin-arm64@2.8.9: - resolution: {integrity: sha512-CbD5Y2NKJKBXTOZ7z7Cc7vGlFPZkYjApA7ri9lH4iFwKV1X7MoZswh9gyRLetXYWImVX1BqIvP8KftulJg/wIA==} - cpu: [arm64] - os: [darwin] - - turbo-linux-64@2.8.10: - resolution: {integrity: sha512-YK9vcpL3TVtqonB021XwgaQhY9hJJbKKUhLv16osxV0HkcQASQWUqR56yMge7puh6nxU67rQlTq1b7ksR1T3KA==} + turbo-linux-64@2.8.14: + resolution: {integrity: sha512-XC6wPUDJkakjhNLaS0NrHDMiujRVjH+naEAwvKLArgqRaFkNxjmyNDRM4eu3soMMFmjym6NTxYaF74rvET+Orw==} cpu: [x64] os: [linux] - turbo-linux-64@2.8.9: - resolution: {integrity: sha512-OXC9HdCtsHvyH+5KUoH8ds+p5WU13vdif0OPbsFzZca4cUXMwKA3HWwUuCgQetk0iAE4cscXpi/t8A263n3VTg==} - cpu: [x64] - os: [linux] - - turbo-linux-arm64@2.8.10: - resolution: {integrity: sha512-3+j2tL0sG95iBJTm+6J8/45JsETQABPqtFyYjVjBbi6eVGdtNTiBmHNKrbvXRlQ3ZbUG75bKLaSSDHSEEN+btQ==} + turbo-linux-arm64@2.8.14: + resolution: {integrity: sha512-ChfE7isyVNjZrVSPDwcfqcHLG/FuIBbOFxnt1FM8vSuBGzHAs8AlTdwFNIxlEMJfZ8Ad9mdMxdmsCUPIWiQ6cg==} cpu: [arm64] os: [linux] - turbo-linux-arm64@2.8.9: - resolution: {integrity: sha512-yI5n8jNXiFA6+CxnXG0gO7h5ZF1+19K8uO3/kXPQmyl37AdiA7ehKJQOvf9OPAnmkGDHcF2HSCPltabERNRmug==} - cpu: [arm64] - os: [linux] - - turbo-windows-64@2.8.10: - resolution: {integrity: sha512-hdeF5qmVY/NFgiucf8FW0CWJWtyT2QPm5mIsX0W1DXAVzqKVXGq+Zf+dg4EUngAFKjDzoBeN6ec2Fhajwfztkw==} + turbo-windows-64@2.8.14: + resolution: {integrity: sha512-FTbIeQL1ycLFW2t9uQNMy+bRSzi3Xhwun/e7ZhFBdM+U0VZxxrtfYEBM9CHOejlfqomk6Jh7aRz0sJoqYn39Hg==} cpu: [x64] os: [win32] - turbo-windows-64@2.8.9: - resolution: {integrity: sha512-/OztzeGftJAg258M/9vK2ZCkUKUzqrWXJIikiD2pm8TlqHcIYUmepDbyZSDfOiUjMy6NzrLFahpNLnY7b5vNgg==} - cpu: [x64] - os: [win32] - - turbo-windows-arm64@2.8.10: - resolution: {integrity: sha512-QGdr/Q8LWmj+ITMkSvfiz2glf0d7JG0oXVzGL3jxkGqiBI1zXFj20oqVY0qWi+112LO9SVrYdpHS0E/oGFrMbQ==} + turbo-windows-arm64@2.8.14: + resolution: {integrity: sha512-KgZX12cTyhY030qS7ieT8zRkhZZE2VWJasDFVUSVVn17nR7IShpv68/7j5UqJNeRLIGF1XPK0phsP5V5yw3how==} cpu: [arm64] os: [win32] - turbo-windows-arm64@2.8.9: - resolution: {integrity: sha512-xZ2VTwVTjIqpFZKN4UBxDHCPM3oJ2J5cpRzCBSmRpJ/Pn33wpiYjs+9FB2E03svKaD04/lSSLlEUej0UYsugfg==} - cpu: [arm64] - os: [win32] - - turbo@2.8.10: - resolution: {integrity: sha512-OxbzDES66+x7nnKGg2MwBA1ypVsZoDTLHpeaP4giyiHSixbsiTaMyeJqbEyvBdp5Cm28fc+8GG6RdQtic0ijwQ==} - hasBin: true - - turbo@2.8.9: - resolution: {integrity: sha512-G+Mq8VVQAlpz/0HTsxiNNk/xywaHGl+dk1oiBREgOEVCCDjXInDlONWUn5srRnC9s5tdHTFD1bx1N19eR4hI+g==} + turbo@2.8.14: + resolution: {integrity: sha512-UCTxeMNYT1cKaHiIFdLCQ7ulI+jw5i5uOnJOrRXsgUD7G3+OjlUjwVd7JfeVt2McWSVGjYA3EVW/v1FSsJ5DtA==} hasBin: true tweetnacl@0.14.5: @@ -10277,6 +10429,10 @@ packages: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + type-fest@1.4.0: resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} engines: {node: '>=10'} @@ -10335,8 +10491,8 @@ packages: types-ramda@0.30.1: resolution: {integrity: sha512-1HTsf5/QVRmLzcGfldPFvkVsAdi1db1BBKzi7iW3KBUlOICg/nKnFS+jGqDJS3YD8VsWbAh7JiHeBvbsw8RPxA==} - typescript-eslint@8.56.0: - resolution: {integrity: sha512-c7toRLrotJ9oixgdW7liukZpsnq5CZ7PuKztubGYlNppuTqhIoWfhgHo/7EU0v06gS2l/x0i2NEFK1qMIf0rIg==} + typescript-eslint@8.56.1: + resolution: {integrity: sha512-U4lM6pjmBX7J5wk4szltF7I1cGBHXZopnAXCMXb3+fZ3B/0Z3hq3wS/CCUB2NZBNAExK92mCU2tEohWuwVMsDQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 @@ -10487,6 +10643,12 @@ packages: resolution: {integrity: sha512-wgxdSBWv3x/YpMzsWz5G4p4ec7JWD0HCl8W6bmNB6E5Gwo+1ym5oN4hiXpLf0mPySVEJEIsYlkshnplkg2OP9A==} engines: {node: '>=14'} + upper-case-first@1.1.2: + resolution: {integrity: sha512-wINKYvI3Db8dtjikdAqoBbZoP6Q+PZUyfMR7pmwHzjC2quzSkUq5DmPrTtPEqHaz8AGtmsB4TqwapMTM1QAQOQ==} + + upper-case@1.1.3: + resolution: {integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==} + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -11638,18 +11800,18 @@ snapshots: '@esbuild/win32-x64@0.27.3': optional: true - '@eslint-community/eslint-utils@4.9.1(eslint@9.39.3)': + '@eslint-community/eslint-utils@4.9.1(eslint@9.39.4)': dependencies: - eslint: 9.39.3 + eslint: 9.39.4 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} - '@eslint/config-array@0.21.1': + '@eslint/config-array@0.21.2': dependencies: '@eslint/object-schema': 2.1.7 debug: 4.4.3 - minimatch: 3.1.2 + minimatch: 3.1.5 transitivePeerDependencies: - supports-color @@ -11661,21 +11823,21 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@eslint/eslintrc@3.3.1': + '@eslint/eslintrc@3.3.5': dependencies: - ajv: 6.12.6 + ajv: 6.14.0 debug: 4.4.3 espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.0 js-yaml: 4.1.1 - minimatch: 3.1.2 + minimatch: 3.1.5 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color - '@eslint/js@9.39.3': {} + '@eslint/js@9.39.4': {} '@eslint/object-schema@2.1.7': {} @@ -11692,7 +11854,7 @@ snapshots: dependencies: '@ndaidong/bellajs': 12.0.1 cross-fetch: 4.1.0 - fast-xml-parser: 5.3.9 + fast-xml-parser: 5.4.2 html-entities: 2.6.0 transitivePeerDependencies: - encoding @@ -11824,9 +11986,9 @@ snapshots: - undici - utf-8-validate - '@hono/node-server@1.13.0(hono@4.11.9)': + '@hono/node-server@1.13.0(hono@4.12.5)': dependencies: - hono: 4.11.9 + hono: 4.12.5 '@humanfs/core@0.19.1': {} @@ -11941,132 +12103,136 @@ snapshots: '@img/sharp-win32-x64@0.34.4': optional: true + '@immich/sdk@2.5.6': + dependencies: + '@oazapfts/runtime': 1.2.0 + '@inquirer/ansi@1.0.2': {} - '@inquirer/checkbox@4.3.2(@types/node@24.10.13)': + '@inquirer/checkbox@4.3.2(@types/node@24.12.0)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@24.10.13) + '@inquirer/core': 10.3.2(@types/node@24.12.0) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@24.10.13) + '@inquirer/type': 3.0.10(@types/node@24.12.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 - '@inquirer/confirm@5.1.21(@types/node@24.10.13)': + '@inquirer/confirm@5.1.21(@types/node@24.12.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.10.13) - '@inquirer/type': 3.0.10(@types/node@24.10.13) + '@inquirer/core': 10.3.2(@types/node@24.12.0) + '@inquirer/type': 3.0.10(@types/node@24.12.0) optionalDependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 - '@inquirer/core@10.3.2(@types/node@24.10.13)': + '@inquirer/core@10.3.2(@types/node@24.12.0)': dependencies: '@inquirer/ansi': 1.0.2 '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@24.10.13) + '@inquirer/type': 3.0.10(@types/node@24.12.0) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 - '@inquirer/editor@4.2.23(@types/node@24.10.13)': + '@inquirer/editor@4.2.23(@types/node@24.12.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.10.13) - '@inquirer/external-editor': 1.0.3(@types/node@24.10.13) - '@inquirer/type': 3.0.10(@types/node@24.10.13) + '@inquirer/core': 10.3.2(@types/node@24.12.0) + '@inquirer/external-editor': 1.0.3(@types/node@24.12.0) + '@inquirer/type': 3.0.10(@types/node@24.12.0) optionalDependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 - '@inquirer/expand@4.0.23(@types/node@24.10.13)': + '@inquirer/expand@4.0.23(@types/node@24.12.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.10.13) - '@inquirer/type': 3.0.10(@types/node@24.10.13) + '@inquirer/core': 10.3.2(@types/node@24.12.0) + '@inquirer/type': 3.0.10(@types/node@24.12.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 - '@inquirer/external-editor@1.0.3(@types/node@24.10.13)': + '@inquirer/external-editor@1.0.3(@types/node@24.12.0)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 '@inquirer/figures@1.0.15': {} - '@inquirer/input@4.3.1(@types/node@24.10.13)': + '@inquirer/input@4.3.1(@types/node@24.12.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.10.13) - '@inquirer/type': 3.0.10(@types/node@24.10.13) + '@inquirer/core': 10.3.2(@types/node@24.12.0) + '@inquirer/type': 3.0.10(@types/node@24.12.0) optionalDependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 - '@inquirer/number@3.0.23(@types/node@24.10.13)': + '@inquirer/number@3.0.23(@types/node@24.12.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.10.13) - '@inquirer/type': 3.0.10(@types/node@24.10.13) + '@inquirer/core': 10.3.2(@types/node@24.12.0) + '@inquirer/type': 3.0.10(@types/node@24.12.0) optionalDependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 - '@inquirer/password@4.0.23(@types/node@24.10.13)': + '@inquirer/password@4.0.23(@types/node@24.12.0)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@24.10.13) - '@inquirer/type': 3.0.10(@types/node@24.10.13) + '@inquirer/core': 10.3.2(@types/node@24.12.0) + '@inquirer/type': 3.0.10(@types/node@24.12.0) optionalDependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 - '@inquirer/prompts@7.10.1(@types/node@24.10.13)': + '@inquirer/prompts@7.10.1(@types/node@24.12.0)': dependencies: - '@inquirer/checkbox': 4.3.2(@types/node@24.10.13) - '@inquirer/confirm': 5.1.21(@types/node@24.10.13) - '@inquirer/editor': 4.2.23(@types/node@24.10.13) - '@inquirer/expand': 4.0.23(@types/node@24.10.13) - '@inquirer/input': 4.3.1(@types/node@24.10.13) - '@inquirer/number': 3.0.23(@types/node@24.10.13) - '@inquirer/password': 4.0.23(@types/node@24.10.13) - '@inquirer/rawlist': 4.1.11(@types/node@24.10.13) - '@inquirer/search': 3.2.2(@types/node@24.10.13) - '@inquirer/select': 4.4.2(@types/node@24.10.13) + '@inquirer/checkbox': 4.3.2(@types/node@24.12.0) + '@inquirer/confirm': 5.1.21(@types/node@24.12.0) + '@inquirer/editor': 4.2.23(@types/node@24.12.0) + '@inquirer/expand': 4.0.23(@types/node@24.12.0) + '@inquirer/input': 4.3.1(@types/node@24.12.0) + '@inquirer/number': 3.0.23(@types/node@24.12.0) + '@inquirer/password': 4.0.23(@types/node@24.12.0) + '@inquirer/rawlist': 4.1.11(@types/node@24.12.0) + '@inquirer/search': 3.2.2(@types/node@24.12.0) + '@inquirer/select': 4.4.2(@types/node@24.12.0) optionalDependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 - '@inquirer/rawlist@4.1.11(@types/node@24.10.13)': + '@inquirer/rawlist@4.1.11(@types/node@24.12.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.10.13) - '@inquirer/type': 3.0.10(@types/node@24.10.13) + '@inquirer/core': 10.3.2(@types/node@24.12.0) + '@inquirer/type': 3.0.10(@types/node@24.12.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 - '@inquirer/search@3.2.2(@types/node@24.10.13)': + '@inquirer/search@3.2.2(@types/node@24.12.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.10.13) + '@inquirer/core': 10.3.2(@types/node@24.12.0) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@24.10.13) + '@inquirer/type': 3.0.10(@types/node@24.12.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 - '@inquirer/select@4.4.2(@types/node@24.10.13)': + '@inquirer/select@4.4.2(@types/node@24.12.0)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@24.10.13) + '@inquirer/core': 10.3.2(@types/node@24.12.0) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@24.10.13) + '@inquirer/type': 3.0.10(@types/node@24.12.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 - '@inquirer/type@3.0.10(@types/node@24.10.13)': + '@inquirer/type@3.0.10(@types/node@24.12.0)': optionalDependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 - '@ioredis/commands@1.5.0': {} + '@ioredis/commands@1.5.1': {} '@isaacs/cliui@8.0.2': dependencies: @@ -12120,7 +12286,7 @@ snapshots: '@kubernetes/client-node@1.4.0': dependencies: '@types/js-yaml': 4.0.9 - '@types/node': 24.10.13 + '@types/node': 24.12.0 '@types/node-fetch': 2.6.13 '@types/stream-buffers': 3.0.7 form-data: 4.0.5 @@ -12159,22 +12325,22 @@ snapshots: js-base64: 3.7.8 optional: true - '@mantine/charts@8.3.15(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(recharts@2.15.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4))': + '@mantine/charts@8.3.16(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(recharts@2.15.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4))': dependencies: - '@mantine/core': 8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@mantine/hooks': 8.3.15(react@19.2.4) + '@mantine/core': 8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@mantine/hooks': 8.3.16(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) recharts: 2.15.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@mantine/colors-generator@8.3.15(chroma-js@3.2.0)': + '@mantine/colors-generator@8.3.16(chroma-js@3.2.0)': dependencies: chroma-js: 3.2.0 - '@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@floating-ui/react': 0.27.16(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@mantine/hooks': 8.3.15(react@19.2.4) + '@mantine/hooks': 8.3.16(react@19.2.4) clsx: 2.1.1 react: 19.2.4 react-dom: 19.2.4(react@19.2.4) @@ -12185,67 +12351,67 @@ snapshots: transitivePeerDependencies: - '@types/react' - '@mantine/dates@8.3.15(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@mantine/dates@8.3.16(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@mantine/core': 8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@mantine/hooks': 8.3.15(react@19.2.4) + '@mantine/core': 8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@mantine/hooks': 8.3.16(react@19.2.4) clsx: 2.1.1 dayjs: 1.11.19 react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - '@mantine/dropzone@8.3.15(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@mantine/dropzone@8.3.16(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@mantine/core': 8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@mantine/hooks': 8.3.15(react@19.2.4) + '@mantine/core': 8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@mantine/hooks': 8.3.16(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) react-dropzone: 15.0.0(react@19.2.4) - '@mantine/form@8.3.15(react@19.2.4)': + '@mantine/form@8.3.16(react@19.2.4)': dependencies: fast-deep-equal: 3.1.3 klona: 2.0.6 react: 19.2.4 - '@mantine/hooks@8.3.15(react@19.2.4)': + '@mantine/hooks@8.3.16(react@19.2.4)': dependencies: react: 19.2.4 - '@mantine/modals@8.3.15(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@mantine/modals@8.3.16(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@mantine/core': 8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@mantine/hooks': 8.3.15(react@19.2.4) + '@mantine/core': 8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@mantine/hooks': 8.3.16(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - '@mantine/notifications@8.3.15(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@mantine/notifications@8.3.16(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@mantine/core': 8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@mantine/hooks': 8.3.15(react@19.2.4) - '@mantine/store': 8.3.15(react@19.2.4) + '@mantine/core': 8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@mantine/hooks': 8.3.16(react@19.2.4) + '@mantine/store': 8.3.16(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) react-transition-group: 4.4.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@mantine/spotlight@8.3.15(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@mantine/spotlight@8.3.16(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@mantine/core': 8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@mantine/hooks': 8.3.15(react@19.2.4) - '@mantine/store': 8.3.15(react@19.2.4) + '@mantine/core': 8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@mantine/hooks': 8.3.16(react@19.2.4) + '@mantine/store': 8.3.16(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - '@mantine/store@8.3.15(react@19.2.4)': + '@mantine/store@8.3.16(react@19.2.4)': dependencies: react: 19.2.4 - '@mantine/tiptap@8.3.15(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(@tiptap/extension-link@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0))(@tiptap/react@3.20.0(@floating-ui/dom@1.7.4)(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@mantine/tiptap@8.3.16(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(@tiptap/extension-link@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1))(@tiptap/react@3.20.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@mantine/core': 8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@mantine/hooks': 8.3.15(react@19.2.4) - '@tiptap/extension-link': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0) - '@tiptap/react': 3.20.0(@floating-ui/dom@1.7.4)(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@mantine/core': 8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@mantine/hooks': 8.3.16(react@19.2.4) + '@tiptap/extension-link': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) + '@tiptap/react': 3.20.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) @@ -12269,7 +12435,7 @@ snapshots: '@axiomhq/js': 1.0.0-rc.3 '@babel/core': 7.26.0 '@babel/types': 7.26.0 - '@hono/node-server': 1.13.0(hono@4.11.9) + '@hono/node-server': 1.13.0(hono@4.12.5) '@million/install': 1.0.14 '@rollup/pluginutils': 5.1.0 '@rrweb/types': 2.0.0-alpha.16 @@ -12277,7 +12443,7 @@ snapshots: ci-info: 4.0.0 esbuild: 0.27.3 faster-babel-types: 0.1.0(@babel/types@7.26.0) - hono: 4.11.9 + hono: 4.12.5 isomorphic-fetch: 3.0.0 nanoid: 5.1.6 ohash: 1.1.4 @@ -12348,6 +12514,8 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.1 + '@oazapfts/runtime@1.2.0': {} + '@octokit/app@16.1.2': dependencies: '@octokit/auth-app': 8.2.0 @@ -12765,7 +12933,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@semantic-release/npm@13.1.4(semantic-release@25.0.3(typescript@5.9.3))': + '@semantic-release/npm@13.1.5(semantic-release@25.0.3(typescript@5.9.3))': dependencies: '@actions/core': 3.0.0 '@semantic-release/error': 4.0.0 @@ -12775,7 +12943,7 @@ snapshots: fs-extra: 11.2.0 lodash-es: 4.17.21 nerf-dart: 1.0.0 - normalize-url: 8.0.1 + normalize-url: 9.0.0 npm: 11.6.2 rc: 1.2.8 read-pkg: 10.0.0 @@ -12813,20 +12981,20 @@ snapshots: '@standard-schema/spec@1.1.0': {} - '@swagger-api/apidom-ast@1.5.1': + '@swagger-api/apidom-ast@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-error': 1.5.1 + '@swagger-api/apidom-error': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) unraw: 3.0.0 - '@swagger-api/apidom-core@1.5.1': + '@swagger-api/apidom-core@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-ast': 1.5.1 - '@swagger-api/apidom-error': 1.5.1 + '@swagger-api/apidom-ast': 1.6.0 + '@swagger-api/apidom-error': 1.6.0 '@types/ramda': 0.30.2 minim: 0.23.8 ramda: 0.30.1 @@ -12834,246 +13002,260 @@ snapshots: short-unique-id: 5.3.2 ts-mixer: 6.0.4 - '@swagger-api/apidom-error@1.5.1': + '@swagger-api/apidom-error@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-json-pointer@1.5.1': + '@swagger-api/apidom-json-pointer@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-error': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-error': 1.6.0 '@swaggerexpert/json-pointer': 2.10.2 - '@swagger-api/apidom-ns-api-design-systems@1.5.1': + '@swagger-api/apidom-ns-api-design-systems@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-error': 1.5.1 - '@swagger-api/apidom-ns-openapi-3-1': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-error': 1.6.0 + '@swagger-api/apidom-ns-openapi-3-1': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) ts-mixer: 6.0.4 optional: true - '@swagger-api/apidom-ns-arazzo-1@1.5.1': + '@swagger-api/apidom-ns-arazzo-1@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-ns-json-schema-2020-12': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-ns-json-schema-2020-12': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) ts-mixer: 6.0.4 optional: true - '@swagger-api/apidom-ns-asyncapi-2@1.5.1': + '@swagger-api/apidom-ns-asyncapi-2@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-ns-json-schema-draft-7': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-ns-json-schema-draft-7': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) ts-mixer: 6.0.4 optional: true - '@swagger-api/apidom-ns-asyncapi-3@1.5.1': + '@swagger-api/apidom-ns-asyncapi-3@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-ns-asyncapi-2': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-ns-asyncapi-2': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) ts-mixer: 6.0.4 optional: true - '@swagger-api/apidom-ns-json-schema-2019-09@1.5.1': + '@swagger-api/apidom-ns-json-schema-2019-09@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-error': 1.5.1 - '@swagger-api/apidom-ns-json-schema-draft-7': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-error': 1.6.0 + '@swagger-api/apidom-ns-json-schema-draft-7': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) ts-mixer: 6.0.4 - '@swagger-api/apidom-ns-json-schema-2020-12@1.5.1': + '@swagger-api/apidom-ns-json-schema-2020-12@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-error': 1.5.1 - '@swagger-api/apidom-ns-json-schema-2019-09': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-error': 1.6.0 + '@swagger-api/apidom-ns-json-schema-2019-09': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) ts-mixer: 6.0.4 - '@swagger-api/apidom-ns-json-schema-draft-4@1.5.1': + '@swagger-api/apidom-ns-json-schema-draft-4@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-ast': 1.5.1 - '@swagger-api/apidom-core': 1.5.1 + '@swagger-api/apidom-ast': 1.6.0 + '@swagger-api/apidom-core': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) ts-mixer: 6.0.4 - '@swagger-api/apidom-ns-json-schema-draft-6@1.5.1': + '@swagger-api/apidom-ns-json-schema-draft-6@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-error': 1.5.1 - '@swagger-api/apidom-ns-json-schema-draft-4': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-error': 1.6.0 + '@swagger-api/apidom-ns-json-schema-draft-4': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) ts-mixer: 6.0.4 - '@swagger-api/apidom-ns-json-schema-draft-7@1.5.1': + '@swagger-api/apidom-ns-json-schema-draft-7@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-error': 1.5.1 - '@swagger-api/apidom-ns-json-schema-draft-6': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-error': 1.6.0 + '@swagger-api/apidom-ns-json-schema-draft-6': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) ts-mixer: 6.0.4 - '@swagger-api/apidom-ns-openapi-2@1.5.1': + '@swagger-api/apidom-ns-openapi-2@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-error': 1.5.1 - '@swagger-api/apidom-ns-json-schema-draft-4': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-error': 1.6.0 + '@swagger-api/apidom-ns-json-schema-draft-4': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) ts-mixer: 6.0.4 optional: true - '@swagger-api/apidom-ns-openapi-3-0@1.5.1': + '@swagger-api/apidom-ns-openapi-3-0@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-error': 1.5.1 - '@swagger-api/apidom-ns-json-schema-draft-4': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-error': 1.6.0 + '@swagger-api/apidom-ns-json-schema-draft-4': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) ts-mixer: 6.0.4 - '@swagger-api/apidom-ns-openapi-3-1@1.5.1': + '@swagger-api/apidom-ns-openapi-3-1@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-ast': 1.5.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-json-pointer': 1.5.1 - '@swagger-api/apidom-ns-json-schema-2020-12': 1.5.1 - '@swagger-api/apidom-ns-openapi-3-0': 1.5.1 + '@swagger-api/apidom-ast': 1.6.0 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-json-pointer': 1.6.0 + '@swagger-api/apidom-ns-json-schema-2020-12': 1.6.0 + '@swagger-api/apidom-ns-openapi-3-0': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) ts-mixer: 6.0.4 - '@swagger-api/apidom-parser-adapter-api-design-systems-json@1.5.1': + '@swagger-api/apidom-ns-openapi-3-2@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-ns-api-design-systems': 1.5.1 - '@swagger-api/apidom-parser-adapter-json': 1.5.1 + '@swagger-api/apidom-ast': 1.6.0 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-json-pointer': 1.6.0 + '@swagger-api/apidom-ns-json-schema-2020-12': 1.6.0 + '@swagger-api/apidom-ns-openapi-3-0': 1.6.0 + '@swagger-api/apidom-ns-openapi-3-1': 1.6.0 + '@types/ramda': 0.30.2 + ramda: 0.30.1 + ramda-adjunct: 5.1.0(ramda@0.30.1) + ts-mixer: 6.0.4 + + '@swagger-api/apidom-parser-adapter-api-design-systems-json@1.6.0': + dependencies: + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-ns-api-design-systems': 1.6.0 + '@swagger-api/apidom-parser-adapter-json': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-api-design-systems-yaml@1.5.1': + '@swagger-api/apidom-parser-adapter-api-design-systems-yaml@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-ns-api-design-systems': 1.5.1 - '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-ns-api-design-systems': 1.6.0 + '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-arazzo-json-1@1.5.1': + '@swagger-api/apidom-parser-adapter-arazzo-json-1@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-ns-arazzo-1': 1.5.1 - '@swagger-api/apidom-parser-adapter-json': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-ns-arazzo-1': 1.6.0 + '@swagger-api/apidom-parser-adapter-json': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-arazzo-yaml-1@1.5.1': + '@swagger-api/apidom-parser-adapter-arazzo-yaml-1@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-ns-arazzo-1': 1.5.1 - '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-ns-arazzo-1': 1.6.0 + '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-asyncapi-json-2@1.5.1': + '@swagger-api/apidom-parser-adapter-asyncapi-json-2@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-ns-asyncapi-2': 1.5.1 - '@swagger-api/apidom-parser-adapter-json': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-ns-asyncapi-2': 1.6.0 + '@swagger-api/apidom-parser-adapter-json': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-asyncapi-json-3@1.5.1': + '@swagger-api/apidom-parser-adapter-asyncapi-json-3@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-ns-asyncapi-3': 1.5.1 - '@swagger-api/apidom-parser-adapter-json': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-ns-asyncapi-3': 1.6.0 + '@swagger-api/apidom-parser-adapter-json': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-asyncapi-yaml-2@1.5.1': + '@swagger-api/apidom-parser-adapter-asyncapi-yaml-2@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-ns-asyncapi-2': 1.5.1 - '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-ns-asyncapi-2': 1.6.0 + '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-asyncapi-yaml-3@1.5.1': + '@swagger-api/apidom-parser-adapter-asyncapi-yaml-3@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-ns-asyncapi-3': 1.5.1 - '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-ns-asyncapi-3': 1.6.0 + '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-json@1.5.1': + '@swagger-api/apidom-parser-adapter-json@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-ast': 1.5.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-error': 1.5.1 + '@swagger-api/apidom-ast': 1.6.0 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-error': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) @@ -13082,78 +13264,100 @@ snapshots: web-tree-sitter: 0.24.5 optional: true - '@swagger-api/apidom-parser-adapter-openapi-json-2@1.5.1': + '@swagger-api/apidom-parser-adapter-openapi-json-2@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-ns-openapi-2': 1.5.1 - '@swagger-api/apidom-parser-adapter-json': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-ns-openapi-2': 1.6.0 + '@swagger-api/apidom-parser-adapter-json': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-openapi-json-3-0@1.5.1': + '@swagger-api/apidom-parser-adapter-openapi-json-3-0@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-ns-openapi-3-0': 1.5.1 - '@swagger-api/apidom-parser-adapter-json': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-ns-openapi-3-0': 1.6.0 + '@swagger-api/apidom-parser-adapter-json': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-openapi-json-3-1@1.5.1': + '@swagger-api/apidom-parser-adapter-openapi-json-3-1@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-ns-openapi-3-1': 1.5.1 - '@swagger-api/apidom-parser-adapter-json': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-ns-openapi-3-1': 1.6.0 + '@swagger-api/apidom-parser-adapter-json': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-openapi-yaml-2@1.5.1': + '@swagger-api/apidom-parser-adapter-openapi-json-3-2@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-ns-openapi-2': 1.5.1 - '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-ns-openapi-3-2': 1.6.0 + '@swagger-api/apidom-parser-adapter-json': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-openapi-yaml-3-0@1.5.1': + '@swagger-api/apidom-parser-adapter-openapi-yaml-2@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-ns-openapi-3-0': 1.5.1 - '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-ns-openapi-2': 1.6.0 + '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-openapi-yaml-3-1@1.5.1': + '@swagger-api/apidom-parser-adapter-openapi-yaml-3-0@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-ns-openapi-3-1': 1.5.1 - '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-ns-openapi-3-0': 1.6.0 + '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.6.0 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-yaml-1-2@1.5.1': + '@swagger-api/apidom-parser-adapter-openapi-yaml-3-1@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-ast': 1.5.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-error': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-ns-openapi-3-1': 1.6.0 + '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.6.0 + '@types/ramda': 0.30.2 + ramda: 0.30.1 + ramda-adjunct: 5.1.0(ramda@0.30.1) + optional: true + + '@swagger-api/apidom-parser-adapter-openapi-yaml-3-2@1.6.0': + dependencies: + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-ns-openapi-3-2': 1.6.0 + '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.6.0 + '@types/ramda': 0.30.2 + ramda: 0.30.1 + ramda-adjunct: 5.1.0(ramda@0.30.1) + optional: true + + '@swagger-api/apidom-parser-adapter-yaml-1-2@1.6.0': + dependencies: + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-ast': 1.6.0 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-error': 1.6.0 '@tree-sitter-grammars/tree-sitter-yaml': 0.7.1(tree-sitter@0.22.4) '@types/ramda': 0.30.2 ramda: 0.30.1 @@ -13162,39 +13366,42 @@ snapshots: web-tree-sitter: 0.24.5 optional: true - '@swagger-api/apidom-reference@1.5.1': + '@swagger-api/apidom-reference@1.6.0': dependencies: '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-error': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-error': 1.6.0 '@types/ramda': 0.30.2 axios: 1.12.2 minimatch: 10.2.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optionalDependencies: - '@swagger-api/apidom-json-pointer': 1.5.1 - '@swagger-api/apidom-ns-arazzo-1': 1.5.1 - '@swagger-api/apidom-ns-asyncapi-2': 1.5.1 - '@swagger-api/apidom-ns-openapi-2': 1.5.1 - '@swagger-api/apidom-ns-openapi-3-0': 1.5.1 - '@swagger-api/apidom-ns-openapi-3-1': 1.5.1 - '@swagger-api/apidom-parser-adapter-api-design-systems-json': 1.5.1 - '@swagger-api/apidom-parser-adapter-api-design-systems-yaml': 1.5.1 - '@swagger-api/apidom-parser-adapter-arazzo-json-1': 1.5.1 - '@swagger-api/apidom-parser-adapter-arazzo-yaml-1': 1.5.1 - '@swagger-api/apidom-parser-adapter-asyncapi-json-2': 1.5.1 - '@swagger-api/apidom-parser-adapter-asyncapi-json-3': 1.5.1 - '@swagger-api/apidom-parser-adapter-asyncapi-yaml-2': 1.5.1 - '@swagger-api/apidom-parser-adapter-asyncapi-yaml-3': 1.5.1 - '@swagger-api/apidom-parser-adapter-json': 1.5.1 - '@swagger-api/apidom-parser-adapter-openapi-json-2': 1.5.1 - '@swagger-api/apidom-parser-adapter-openapi-json-3-0': 1.5.1 - '@swagger-api/apidom-parser-adapter-openapi-json-3-1': 1.5.1 - '@swagger-api/apidom-parser-adapter-openapi-yaml-2': 1.5.1 - '@swagger-api/apidom-parser-adapter-openapi-yaml-3-0': 1.5.1 - '@swagger-api/apidom-parser-adapter-openapi-yaml-3-1': 1.5.1 - '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.5.1 + '@swagger-api/apidom-json-pointer': 1.6.0 + '@swagger-api/apidom-ns-arazzo-1': 1.6.0 + '@swagger-api/apidom-ns-asyncapi-2': 1.6.0 + '@swagger-api/apidom-ns-openapi-2': 1.6.0 + '@swagger-api/apidom-ns-openapi-3-0': 1.6.0 + '@swagger-api/apidom-ns-openapi-3-1': 1.6.0 + '@swagger-api/apidom-ns-openapi-3-2': 1.6.0 + '@swagger-api/apidom-parser-adapter-api-design-systems-json': 1.6.0 + '@swagger-api/apidom-parser-adapter-api-design-systems-yaml': 1.6.0 + '@swagger-api/apidom-parser-adapter-arazzo-json-1': 1.6.0 + '@swagger-api/apidom-parser-adapter-arazzo-yaml-1': 1.6.0 + '@swagger-api/apidom-parser-adapter-asyncapi-json-2': 1.6.0 + '@swagger-api/apidom-parser-adapter-asyncapi-json-3': 1.6.0 + '@swagger-api/apidom-parser-adapter-asyncapi-yaml-2': 1.6.0 + '@swagger-api/apidom-parser-adapter-asyncapi-yaml-3': 1.6.0 + '@swagger-api/apidom-parser-adapter-json': 1.6.0 + '@swagger-api/apidom-parser-adapter-openapi-json-2': 1.6.0 + '@swagger-api/apidom-parser-adapter-openapi-json-3-0': 1.6.0 + '@swagger-api/apidom-parser-adapter-openapi-json-3-1': 1.6.0 + '@swagger-api/apidom-parser-adapter-openapi-json-3-2': 1.6.0 + '@swagger-api/apidom-parser-adapter-openapi-yaml-2': 1.6.0 + '@swagger-api/apidom-parser-adapter-openapi-yaml-3-0': 1.6.0 + '@swagger-api/apidom-parser-adapter-openapi-yaml-3-1': 1.6.0 + '@swagger-api/apidom-parser-adapter-openapi-yaml-3-2': 1.6.0 + '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.6.0 transitivePeerDependencies: - debug @@ -13276,12 +13483,12 @@ snapshots: typescript: 5.9.3 zod: 4.2.1 - '@tabler/icons-react@3.37.1(react@19.2.4)': + '@tabler/icons-react@3.40.0(react@19.2.4)': dependencies: - '@tabler/icons': 3.37.1 + '@tabler/icons': 3.40.0 react: 19.2.4 - '@tabler/icons@3.37.1': {} + '@tabler/icons@3.40.0': {} '@tanstack/match-sorter-utils@8.19.4': dependencies: @@ -13345,168 +13552,168 @@ snapshots: - bare-buffer - supports-color - '@tiptap/core@3.20.0(@tiptap/pm@3.20.0)': + '@tiptap/core@3.20.1(@tiptap/pm@3.20.1)': dependencies: - '@tiptap/pm': 3.20.0 + '@tiptap/pm': 3.20.1 - '@tiptap/extension-blockquote@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))': + '@tiptap/extension-blockquote@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/extension-bold@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))': + '@tiptap/extension-bold@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/extension-bubble-menu@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)': + '@tiptap/extension-bubble-menu@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)': dependencies: '@floating-ui/dom': 1.7.4 - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) - '@tiptap/pm': 3.20.0 + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) + '@tiptap/pm': 3.20.1 optional: true - '@tiptap/extension-bullet-list@3.20.0(@tiptap/extension-list@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0))': + '@tiptap/extension-bullet-list@3.20.1(@tiptap/extension-list@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/extension-list': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0) + '@tiptap/extension-list': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) - '@tiptap/extension-code-block@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)': + '@tiptap/extension-code-block@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)': dependencies: - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) - '@tiptap/pm': 3.20.0 + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) + '@tiptap/pm': 3.20.1 - '@tiptap/extension-code@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))': + '@tiptap/extension-code@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/extension-color@3.20.0(@tiptap/extension-text-style@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0)))': + '@tiptap/extension-color@3.20.1(@tiptap/extension-text-style@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)))': dependencies: - '@tiptap/extension-text-style': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0)) + '@tiptap/extension-text-style': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) - '@tiptap/extension-document@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))': + '@tiptap/extension-document@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/extension-dropcursor@3.20.0(@tiptap/extensions@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0))': + '@tiptap/extension-dropcursor@3.20.1(@tiptap/extensions@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/extensions': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0) + '@tiptap/extensions': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) - '@tiptap/extension-floating-menu@3.20.0(@floating-ui/dom@1.7.4)(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)': + '@tiptap/extension-floating-menu@3.20.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)': dependencies: '@floating-ui/dom': 1.7.4 - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) - '@tiptap/pm': 3.20.0 + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) + '@tiptap/pm': 3.20.1 optional: true - '@tiptap/extension-gapcursor@3.20.0(@tiptap/extensions@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0))': + '@tiptap/extension-gapcursor@3.20.1(@tiptap/extensions@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/extensions': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0) + '@tiptap/extensions': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) - '@tiptap/extension-hard-break@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))': + '@tiptap/extension-hard-break@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/extension-heading@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))': + '@tiptap/extension-heading@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/extension-highlight@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))': + '@tiptap/extension-highlight@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/extension-horizontal-rule@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)': + '@tiptap/extension-horizontal-rule@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)': dependencies: - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) - '@tiptap/pm': 3.20.0 + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) + '@tiptap/pm': 3.20.1 - '@tiptap/extension-image@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))': + '@tiptap/extension-image@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/extension-italic@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))': + '@tiptap/extension-italic@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/extension-link@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)': + '@tiptap/extension-link@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)': dependencies: - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) - '@tiptap/pm': 3.20.0 + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) + '@tiptap/pm': 3.20.1 linkifyjs: 4.3.2 - '@tiptap/extension-list-item@3.20.0(@tiptap/extension-list@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0))': + '@tiptap/extension-list-item@3.20.1(@tiptap/extension-list@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/extension-list': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0) + '@tiptap/extension-list': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) - '@tiptap/extension-list-keymap@3.20.0(@tiptap/extension-list@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0))': + '@tiptap/extension-list-keymap@3.20.1(@tiptap/extension-list@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/extension-list': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0) + '@tiptap/extension-list': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) - '@tiptap/extension-list@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)': + '@tiptap/extension-list@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)': dependencies: - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) - '@tiptap/pm': 3.20.0 + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) + '@tiptap/pm': 3.20.1 - '@tiptap/extension-ordered-list@3.20.0(@tiptap/extension-list@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0))': + '@tiptap/extension-ordered-list@3.20.1(@tiptap/extension-list@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/extension-list': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0) + '@tiptap/extension-list': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) - '@tiptap/extension-paragraph@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))': + '@tiptap/extension-paragraph@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/extension-placeholder@3.20.0(@tiptap/extensions@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0))': + '@tiptap/extension-placeholder@3.20.1(@tiptap/extensions@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/extensions': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0) + '@tiptap/extensions': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) - '@tiptap/extension-strike@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))': + '@tiptap/extension-strike@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/extension-table-cell@3.20.0(@tiptap/extension-table@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0))': + '@tiptap/extension-table-cell@3.20.1(@tiptap/extension-table@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/extension-table': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0) + '@tiptap/extension-table': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) - '@tiptap/extension-table-header@3.20.0(@tiptap/extension-table@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0))': + '@tiptap/extension-table-header@3.20.1(@tiptap/extension-table@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/extension-table': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0) + '@tiptap/extension-table': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) - '@tiptap/extension-table-row@3.20.0(@tiptap/extension-table@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0))': + '@tiptap/extension-table-row@3.20.1(@tiptap/extension-table@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/extension-table': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0) + '@tiptap/extension-table': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) - '@tiptap/extension-table@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)': + '@tiptap/extension-table@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)': dependencies: - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) - '@tiptap/pm': 3.20.0 + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) + '@tiptap/pm': 3.20.1 - '@tiptap/extension-task-item@3.20.0(@tiptap/extension-list@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0))': + '@tiptap/extension-task-item@3.20.1(@tiptap/extension-list@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/extension-list': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0) + '@tiptap/extension-list': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) - '@tiptap/extension-task-list@3.20.0(@tiptap/extension-list@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0))': + '@tiptap/extension-task-list@3.20.1(@tiptap/extension-list@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/extension-list': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0) + '@tiptap/extension-list': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) - '@tiptap/extension-text-align@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))': + '@tiptap/extension-text-align@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/extension-text-style@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))': + '@tiptap/extension-text-style@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/extension-text@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))': + '@tiptap/extension-text@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/extension-underline@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))': + '@tiptap/extension-underline@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': dependencies: - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/extensions@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)': + '@tiptap/extensions@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)': dependencies: - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) - '@tiptap/pm': 3.20.0 + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) + '@tiptap/pm': 3.20.1 - '@tiptap/pm@3.20.0': + '@tiptap/pm@3.20.1': dependencies: prosemirror-changeset: 2.3.0 prosemirror-collab: 1.3.1 @@ -13527,10 +13734,10 @@ snapshots: prosemirror-transform: 1.10.2 prosemirror-view: 1.41.4 - '@tiptap/react@3.20.0(@floating-ui/dom@1.7.4)(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@tiptap/react@3.20.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) - '@tiptap/pm': 3.20.0 + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) + '@tiptap/pm': 3.20.1 '@types/react': 19.2.14 '@types/react-dom': 19.2.3(@types/react@19.2.14) '@types/use-sync-external-store': 0.0.6 @@ -13539,37 +13746,37 @@ snapshots: react-dom: 19.2.4(react@19.2.4) use-sync-external-store: 1.4.0(react@19.2.4) optionalDependencies: - '@tiptap/extension-bubble-menu': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0) - '@tiptap/extension-floating-menu': 3.20.0(@floating-ui/dom@1.7.4)(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0) + '@tiptap/extension-bubble-menu': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) + '@tiptap/extension-floating-menu': 3.20.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) transitivePeerDependencies: - '@floating-ui/dom' - '@tiptap/starter-kit@3.20.0': + '@tiptap/starter-kit@3.20.1': dependencies: - '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) - '@tiptap/extension-blockquote': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0)) - '@tiptap/extension-bold': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0)) - '@tiptap/extension-bullet-list': 3.20.0(@tiptap/extension-list@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)) - '@tiptap/extension-code': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0)) - '@tiptap/extension-code-block': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0) - '@tiptap/extension-document': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0)) - '@tiptap/extension-dropcursor': 3.20.0(@tiptap/extensions@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)) - '@tiptap/extension-gapcursor': 3.20.0(@tiptap/extensions@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)) - '@tiptap/extension-hard-break': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0)) - '@tiptap/extension-heading': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0)) - '@tiptap/extension-horizontal-rule': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0) - '@tiptap/extension-italic': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0)) - '@tiptap/extension-link': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0) - '@tiptap/extension-list': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0) - '@tiptap/extension-list-item': 3.20.0(@tiptap/extension-list@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)) - '@tiptap/extension-list-keymap': 3.20.0(@tiptap/extension-list@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)) - '@tiptap/extension-ordered-list': 3.20.0(@tiptap/extension-list@3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0)) - '@tiptap/extension-paragraph': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0)) - '@tiptap/extension-strike': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0)) - '@tiptap/extension-text': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0)) - '@tiptap/extension-underline': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0)) - '@tiptap/extensions': 3.20.0(@tiptap/core@3.20.0(@tiptap/pm@3.20.0))(@tiptap/pm@3.20.0) - '@tiptap/pm': 3.20.0 + '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) + '@tiptap/extension-blockquote': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) + '@tiptap/extension-bold': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) + '@tiptap/extension-bullet-list': 3.20.1(@tiptap/extension-list@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)) + '@tiptap/extension-code': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) + '@tiptap/extension-code-block': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) + '@tiptap/extension-document': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) + '@tiptap/extension-dropcursor': 3.20.1(@tiptap/extensions@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)) + '@tiptap/extension-gapcursor': 3.20.1(@tiptap/extensions@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)) + '@tiptap/extension-hard-break': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) + '@tiptap/extension-heading': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) + '@tiptap/extension-horizontal-rule': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) + '@tiptap/extension-italic': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) + '@tiptap/extension-link': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) + '@tiptap/extension-list': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) + '@tiptap/extension-list-item': 3.20.1(@tiptap/extension-list@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)) + '@tiptap/extension-list-keymap': 3.20.1(@tiptap/extension-list@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)) + '@tiptap/extension-ordered-list': 3.20.1(@tiptap/extension-list@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)) + '@tiptap/extension-paragraph': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) + '@tiptap/extension-strike': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) + '@tiptap/extension-text': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) + '@tiptap/extension-underline': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) + '@tiptap/extensions': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) + '@tiptap/pm': 3.20.1 '@tree-sitter-grammars/tree-sitter-yaml@0.7.1(tree-sitter@0.22.4)': dependencies: @@ -13579,75 +13786,76 @@ snapshots: tree-sitter: 0.22.4 optional: true - '@trpc/client@11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3)': + '@trpc/client@11.12.0(@trpc/server@11.12.0(typescript@5.9.3))(typescript@5.9.3)': dependencies: - '@trpc/server': 11.10.0(typescript@5.9.3) + '@trpc/server': 11.12.0(typescript@5.9.3) typescript: 5.9.3 - '@trpc/next@11.10.0(@tanstack/react-query@5.90.21(react@19.2.4))(@trpc/client@11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.10.0(@tanstack/react-query@5.90.21(react@19.2.4))(@trpc/client@11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.10.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3))(@trpc/server@11.10.0(typescript@5.9.3))(next@16.1.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3)': + '@trpc/next@11.12.0(@tanstack/react-query@5.90.21(react@19.2.4))(@trpc/client@11.12.0(@trpc/server@11.12.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.12.0(@tanstack/react-query@5.90.21(react@19.2.4))(@trpc/client@11.12.0(@trpc/server@11.12.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.12.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3))(@trpc/server@11.12.0(typescript@5.9.3))(next@16.1.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3)': dependencies: - '@trpc/client': 11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3) - '@trpc/server': 11.10.0(typescript@5.9.3) + '@trpc/client': 11.12.0(@trpc/server@11.12.0(typescript@5.9.3))(typescript@5.9.3) + '@trpc/server': 11.12.0(typescript@5.9.3) next: 16.1.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) typescript: 5.9.3 optionalDependencies: '@tanstack/react-query': 5.90.21(react@19.2.4) - '@trpc/react-query': 11.10.0(@tanstack/react-query@5.90.21(react@19.2.4))(@trpc/client@11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.10.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) + '@trpc/react-query': 11.12.0(@tanstack/react-query@5.90.21(react@19.2.4))(@trpc/client@11.12.0(@trpc/server@11.12.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.12.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) - '@trpc/react-query@11.10.0(@tanstack/react-query@5.90.21(react@19.2.4))(@trpc/client@11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.10.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3)': + '@trpc/react-query@11.12.0(@tanstack/react-query@5.90.21(react@19.2.4))(@trpc/client@11.12.0(@trpc/server@11.12.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.12.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3)': dependencies: '@tanstack/react-query': 5.90.21(react@19.2.4) - '@trpc/client': 11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3) - '@trpc/server': 11.10.0(typescript@5.9.3) + '@trpc/client': 11.12.0(@trpc/server@11.12.0(typescript@5.9.3))(typescript@5.9.3) + '@trpc/server': 11.12.0(typescript@5.9.3) react: 19.2.4 typescript: 5.9.3 - '@trpc/server@11.10.0(typescript@5.9.3)': + '@trpc/server@11.12.0(typescript@5.9.3)': dependencies: typescript: 5.9.3 - '@trpc/tanstack-react-query@11.10.0(@tanstack/react-query@5.90.21(react@19.2.4))(@trpc/client@11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.10.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3)': + '@trpc/tanstack-react-query@11.12.0(@tanstack/react-query@5.90.21(react@19.2.4))(@trpc/client@11.12.0(@trpc/server@11.12.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.12.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3)': dependencies: '@tanstack/react-query': 5.90.21(react@19.2.4) - '@trpc/client': 11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3) - '@trpc/server': 11.10.0(typescript@5.9.3) + '@trpc/client': 11.12.0(@trpc/server@11.12.0(typescript@5.9.3))(typescript@5.9.3) + '@trpc/server': 11.12.0(typescript@5.9.3) react: 19.2.4 typescript: 5.9.3 '@tsconfig/svelte@1.0.13': {} - '@turbo/gen-darwin-64@2.8.9': + '@turbo/gen-darwin-64@2.8.14': optional: true - '@turbo/gen-darwin-arm64@2.8.9': + '@turbo/gen-darwin-arm64@2.8.14': optional: true - '@turbo/gen-linux-64@2.8.9': + '@turbo/gen-linux-64@2.8.14': optional: true - '@turbo/gen-linux-arm64@2.8.9': + '@turbo/gen-linux-arm64@2.8.14': optional: true - '@turbo/gen-windows-64@2.8.9': + '@turbo/gen-windows-64@2.8.14': optional: true - '@turbo/gen@2.8.9(@types/node@24.10.13)': + '@turbo/gen@2.8.14(@types/node@24.12.0)': dependencies: - '@inquirer/prompts': 7.10.1(@types/node@24.10.13) + '@inquirer/prompts': 7.10.1(@types/node@24.12.0) + node-plop: 0.26.3 optionalDependencies: - '@turbo/gen-darwin-64': 2.8.9 - '@turbo/gen-darwin-arm64': 2.8.9 - '@turbo/gen-linux-64': 2.8.9 - '@turbo/gen-linux-arm64': 2.8.9 - '@turbo/gen-windows-64': 2.8.9 + '@turbo/gen-darwin-64': 2.8.14 + '@turbo/gen-darwin-arm64': 2.8.14 + '@turbo/gen-linux-64': 2.8.14 + '@turbo/gen-linux-arm64': 2.8.14 + '@turbo/gen-windows-64': 2.8.14 transitivePeerDependencies: - '@types/node' '@types/adm-zip@0.5.7': dependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 '@types/aws-lambda@8.10.146': {} @@ -13674,16 +13882,16 @@ snapshots: '@types/bcrypt@6.0.0': dependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 '@types/better-sqlite3@7.6.13': dependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 24.10.13 + '@types/node': 24.12.0 '@types/chai@5.2.2': dependencies: @@ -13693,7 +13901,7 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 '@types/cookie@0.4.1': {} @@ -13702,11 +13910,11 @@ snapshots: '@types/connect': 3.4.38 '@types/express': 4.17.21 '@types/keygrip': 1.0.6 - '@types/node': 24.10.13 + '@types/node': 24.12.0 '@types/cors@2.8.17': dependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 '@types/crypto-js@4.2.2': {} @@ -13746,13 +13954,13 @@ snapshots: '@types/docker-modem@3.0.6': dependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 '@types/ssh2': 1.15.1 '@types/dockerode@4.0.1': dependencies: '@types/docker-modem': 3.0.6 - '@types/node': 24.10.13 + '@types/node': 24.12.0 '@types/ssh2': 1.15.1 '@types/estree-jsx@1.0.5': @@ -13763,7 +13971,7 @@ snapshots: '@types/express-serve-static-core@4.19.5': dependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 '@types/qs': 6.9.16 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -13775,12 +13983,22 @@ snapshots: '@types/qs': 6.9.16 '@types/serve-static': 1.15.7 + '@types/glob@7.2.0': + dependencies: + '@types/minimatch': 6.0.0 + '@types/node': 24.12.0 + '@types/hast@3.0.4': dependencies: '@types/unist': 2.0.11 '@types/http-errors@2.0.4': {} + '@types/inquirer@6.5.0': + dependencies: + '@types/through': 0.0.33 + rxjs: 6.6.7 + '@types/js-yaml@4.0.9': {} '@types/json-schema@7.0.15': {} @@ -13804,13 +14022,17 @@ snapshots: '@types/mime@1.3.5': {} + '@types/minimatch@6.0.0': + dependencies: + minimatch: 10.2.2 + '@types/ms@2.1.0': {} '@types/node-cron@3.0.11': {} '@types/node-fetch@2.6.13': dependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 form-data: 4.0.5 '@types/node-unifi@2.5.1(patch_hash=5e6ae51e2a17a7f9729bfa30b0eb3d0842a5810ac6db47603ab4a6efa1ed84c5)': @@ -13821,16 +14043,16 @@ snapshots: dependencies: undici-types: 5.26.5 - '@types/node@24.10.13': + '@types/node@24.12.0': dependencies: undici-types: 7.16.0 '@types/normalize-package-data@2.4.4': {} - '@types/pg@8.16.0': + '@types/pg@8.18.0': dependencies: - '@types/node': 24.10.13 - pg-protocol: 1.10.3 + '@types/node': 24.12.0 + pg-protocol: 1.12.0 pg-types: 2.2.0 '@types/prismjs@1.26.6': {} @@ -13856,21 +14078,21 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 24.10.13 + '@types/node': 24.12.0 '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 24.10.13 + '@types/node': 24.12.0 '@types/send': 0.17.4 '@types/ssh2-streams@0.1.12': dependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 '@types/ssh2@0.5.52': dependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 '@types/ssh2-streams': 0.1.12 '@types/ssh2@1.15.1': @@ -13879,12 +14101,16 @@ snapshots: '@types/stream-buffers@3.0.7': dependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 '@types/swagger-ui-react@5.18.0': dependencies: '@types/react': 19.2.14 + '@types/through@0.0.33': + dependencies: + '@types/node': 24.12.0 + '@types/triple-beam@1.3.5': {} '@types/trusted-types@2.0.7': @@ -13900,21 +14126,21 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 '@types/xml2js@0.4.14': dependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 - '@typescript-eslint/eslint-plugin@8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.3)(typescript@5.9.3))(eslint@9.39.3)(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@9.39.4)(typescript@5.9.3))(eslint@9.39.4)(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.56.0(eslint@9.39.3)(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.56.0 - '@typescript-eslint/type-utils': 8.56.0(eslint@9.39.3)(typescript@5.9.3) - '@typescript-eslint/utils': 8.56.0(eslint@9.39.3)(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.56.0 - eslint: 9.39.3 + '@typescript-eslint/parser': 8.56.1(eslint@9.39.4)(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.56.1 + '@typescript-eslint/type-utils': 8.56.1(eslint@9.39.4)(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.1(eslint@9.39.4)(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.56.1 + eslint: 9.39.4 ignore: 7.0.5 natural-compare: 1.4.0 ts-api-utils: 2.4.0(typescript@5.9.3) @@ -13922,58 +14148,58 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.56.0(eslint@9.39.3)(typescript@5.9.3)': + '@typescript-eslint/parser@8.56.1(eslint@9.39.4)(typescript@5.9.3)': dependencies: - '@typescript-eslint/scope-manager': 8.56.0 - '@typescript-eslint/types': 8.56.0 - '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.56.0 + '@typescript-eslint/scope-manager': 8.56.1 + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.56.1 debug: 4.4.3 - eslint: 9.39.3 + eslint: 9.39.4 typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.56.0(typescript@5.9.3)': + '@typescript-eslint/project-service@8.56.1(typescript@5.9.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.56.0(typescript@5.9.3) - '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.9.3) + '@typescript-eslint/types': 8.56.1 debug: 4.4.3 typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.56.0': + '@typescript-eslint/scope-manager@8.56.1': dependencies: - '@typescript-eslint/types': 8.56.0 - '@typescript-eslint/visitor-keys': 8.56.0 + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/visitor-keys': 8.56.1 - '@typescript-eslint/tsconfig-utils@8.56.0(typescript@5.9.3)': + '@typescript-eslint/tsconfig-utils@8.56.1(typescript@5.9.3)': dependencies: typescript: 5.9.3 - '@typescript-eslint/type-utils@8.56.0(eslint@9.39.3)(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.56.1(eslint@9.39.4)(typescript@5.9.3)': dependencies: - '@typescript-eslint/types': 8.56.0 - '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.56.0(eslint@9.39.3)(typescript@5.9.3) + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.1(eslint@9.39.4)(typescript@5.9.3) debug: 4.4.3 - eslint: 9.39.3 + eslint: 9.39.4 ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.56.0': {} + '@typescript-eslint/types@8.56.1': {} - '@typescript-eslint/typescript-estree@8.56.0(typescript@5.9.3)': + '@typescript-eslint/typescript-estree@8.56.1(typescript@5.9.3)': dependencies: - '@typescript-eslint/project-service': 8.56.0(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.56.0(typescript@5.9.3) - '@typescript-eslint/types': 8.56.0 - '@typescript-eslint/visitor-keys': 8.56.0 + '@typescript-eslint/project-service': 8.56.1(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.9.3) + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/visitor-keys': 8.56.1 debug: 4.4.3 - minimatch: 9.0.5 + minimatch: 10.2.2 semver: 7.7.4 tinyglobby: 0.2.15 ts-api-utils: 2.4.0(typescript@5.9.3) @@ -13981,20 +14207,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.56.0(eslint@9.39.3)(typescript@5.9.3)': + '@typescript-eslint/utils@8.56.1(eslint@9.39.4)(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.3) - '@typescript-eslint/scope-manager': 8.56.0 - '@typescript-eslint/types': 8.56.0 - '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) - eslint: 9.39.3 + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4) + '@typescript-eslint/scope-manager': 8.56.1 + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3) + eslint: 9.39.4 typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.56.0': + '@typescript-eslint/visitor-keys@8.56.1': dependencies: - '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/types': 8.56.1 eslint-visitor-keys: 5.0.0 '@umami/node@0.4.0': {} @@ -14029,7 +14255,7 @@ snapshots: global: 4.4.0 is-function: 1.0.2 - '@vitejs/plugin-react@5.1.4(vite@7.1.12(@types/node@24.10.13)(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1))': + '@vitejs/plugin-react@5.1.4(vite@7.1.12(@types/node@24.12.0)(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0) @@ -14037,7 +14263,7 @@ snapshots: '@rolldown/pluginutils': 1.0.0-rc.3 '@types/babel__core': 7.20.5 react-refresh: 0.18.0 - vite: 7.1.12(@types/node@24.10.13)(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1) + vite: 7.1.12(@types/node@24.12.0)(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1) transitivePeerDependencies: - supports-color @@ -14053,7 +14279,7 @@ snapshots: obug: 2.1.1 std-env: 3.10.0 tinyrainbow: 3.0.3 - vitest: 4.0.18(@types/node@24.10.13)(@vitest/ui@4.0.18)(jsdom@28.1.0(@noble/hashes@2.0.1))(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1) + vitest: 4.0.18(@types/node@24.12.0)(@vitest/ui@4.0.18)(jsdom@28.1.0(@noble/hashes@2.0.1))(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1) '@vitest/expect@4.0.18': dependencies: @@ -14064,13 +14290,13 @@ snapshots: chai: 6.2.1 tinyrainbow: 3.0.3 - '@vitest/mocker@4.0.18(vite@7.1.12(@types/node@24.10.13)(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1))': + '@vitest/mocker@4.0.18(vite@7.1.12(@types/node@24.12.0)(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1))': dependencies: '@vitest/spy': 4.0.18 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.1.12(@types/node@24.10.13)(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1) + vite: 7.1.12(@types/node@24.12.0)(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1) '@vitest/pretty-format@4.0.18': dependencies: @@ -14098,7 +14324,7 @@ snapshots: sirv: 3.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vitest: 4.0.18(@types/node@24.10.13)(@vitest/ui@4.0.18)(jsdom@28.1.0(@noble/hashes@2.0.1))(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1) + vitest: 4.0.18(@types/node@24.12.0)(@vitest/ui@4.0.18)(jsdom@28.1.0(@noble/hashes@2.0.1))(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1) '@vitest/utils@4.0.18': dependencies: @@ -14212,14 +14438,12 @@ snapshots: dependencies: acorn: 8.16.0 - acorn-jsx@5.3.2(acorn@8.15.0): + acorn-jsx@5.3.2(acorn@8.16.0): dependencies: - acorn: 8.15.0 + acorn: 8.16.0 acorn@8.14.0: {} - acorn@8.15.0: {} - acorn@8.16.0: {} adm-zip@0.5.16: {} @@ -14260,13 +14484,6 @@ snapshots: ajv: 8.18.0 fast-deep-equal: 3.1.3 - ajv@6.12.6: - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - ajv@6.14.0: dependencies: fast-deep-equal: 3.1.3 @@ -14285,6 +14502,10 @@ snapshots: dependencies: string-width: 4.2.3 + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + ansi-escapes@7.0.0: dependencies: environment: 1.1.0 @@ -14375,6 +14596,8 @@ snapshots: is-string: 1.1.1 math-intrinsics: 1.1.0 + array-union@2.1.0: {} + array.prototype.findlast@1.2.5: dependencies: call-bind: 1.0.8 @@ -14489,7 +14712,7 @@ snapshots: dependencies: possible-typed-array-names: 1.0.0 - avvio@9.1.0: + avvio@9.2.0: dependencies: '@fastify/error': 4.2.0 fastq: 1.20.1 @@ -14622,7 +14845,7 @@ snapshots: dependencies: balanced-match: 4.0.2 - brace-expansion@5.0.3: + brace-expansion@5.0.4: dependencies: balanced-match: 4.0.2 @@ -14710,6 +14933,11 @@ snapshots: callsites@3.1.0: {} + camel-case@3.0.0: + dependencies: + no-case: 2.3.2 + upper-case: 1.1.3 + camelcase-css@2.0.1: {} camelcase@6.3.0: {} @@ -14735,6 +14963,27 @@ snapshots: chalk@5.4.1: {} + change-case@3.1.0: + dependencies: + camel-case: 3.0.0 + constant-case: 2.0.0 + dot-case: 2.1.1 + header-case: 1.0.1 + is-lower-case: 1.1.3 + is-upper-case: 1.1.2 + lower-case: 1.1.4 + lower-case-first: 1.0.2 + no-case: 2.3.2 + param-case: 2.1.1 + pascal-case: 2.0.1 + path-case: 2.1.1 + sentence-case: 2.1.1 + snake-case: 2.1.0 + swap-case: 1.1.2 + title-case: 2.1.1 + upper-case: 1.1.3 + upper-case-first: 1.1.2 + char-regex@1.0.2: {} character-entities-html4@2.1.0: {} @@ -14745,6 +14994,8 @@ snapshots: character-reference-invalid@2.0.1: {} + chardet@0.7.0: {} + chardet@2.1.1: {} chokidar@4.0.0: @@ -14771,6 +15022,10 @@ snapshots: cli-boxes@2.2.1: {} + cli-cursor@3.1.0: + dependencies: + restore-cursor: 3.1.0 + cli-high@0.4.3: dependencies: '@clack/prompts': 0.7.0 @@ -14793,6 +15048,8 @@ snapshots: optionalDependencies: '@colors/colors': 1.5.0 + cli-width@3.0.0: {} + cli-width@4.1.0: {} client-only@0.0.1: {} @@ -14898,11 +15155,16 @@ snapshots: write-file-atomic: 3.0.3 xdg-basedir: 4.0.0 + constant-case@2.0.0: + dependencies: + snake-case: 2.1.0 + upper-case: 1.1.3 + conventional-changelog-angular@8.0.0: dependencies: compare-func: 2.0.0 - conventional-changelog-conventionalcommits@9.1.0: + conventional-changelog-conventionalcommits@9.3.0: dependencies: compare-func: 2.0.0 @@ -15165,6 +15427,17 @@ snapshots: defu@6.1.4: {} + del@5.1.0: + dependencies: + globby: 10.0.2 + graceful-fs: 4.2.11 + is-glob: 4.0.3 + is-path-cwd: 2.2.0 + is-path-inside: 3.0.3 + p-map: 3.0.0 + rimraf: 3.0.2 + slash: 3.0.0 + delayed-stream@1.0.0: {} denque@2.1.0: {} @@ -15245,6 +15518,10 @@ snapshots: optionalDependencies: '@types/trusted-types': 2.0.7 + dot-case@2.1.1: + dependencies: + no-case: 2.3.2 + dot-prop@5.3.0: dependencies: is-obj: 2.0.0 @@ -15277,19 +15554,19 @@ snapshots: transitivePeerDependencies: - supports-color - drizzle-orm@0.45.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.6.2)(gel@2.0.0)(mysql2@3.17.4)(pg@8.18.0): + drizzle-orm@0.45.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.18.0)(better-sqlite3@12.6.2)(gel@2.0.0)(mysql2@3.19.0(@types/node@24.12.0))(pg@8.20.0): optionalDependencies: '@libsql/client-wasm': 0.14.0 '@types/better-sqlite3': 7.6.13 - '@types/pg': 8.16.0 + '@types/pg': 8.18.0 better-sqlite3: 12.6.2 gel: 2.0.0 - mysql2: 3.17.4 - pg: 8.18.0 + mysql2: 3.19.0(@types/node@24.12.0) + pg: 8.20.0 - drizzle-zod@0.8.3(drizzle-orm@0.45.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.6.2)(gel@2.0.0)(mysql2@3.17.4)(pg@8.18.0))(zod@4.2.1): + drizzle-zod@0.8.3(drizzle-orm@0.45.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.18.0)(better-sqlite3@12.6.2)(gel@2.0.0)(mysql2@3.19.0(@types/node@24.12.0))(pg@8.20.0))(zod@4.2.1): dependencies: - drizzle-orm: 0.45.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.6.2)(gel@2.0.0)(mysql2@3.17.4)(pg@8.18.0) + drizzle-orm: 0.45.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.18.0)(better-sqlite3@12.6.2)(gel@2.0.0)(mysql2@3.19.0(@types/node@24.12.0))(pg@8.20.0) zod: 4.2.1 dunder-proto@1.0.1: @@ -15349,7 +15626,7 @@ snapshots: dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.17 - '@types/node': 24.10.13 + '@types/node': 24.12.0 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.7.2 @@ -15362,7 +15639,7 @@ snapshots: - supports-color - utf-8-validate - enhanced-resolve@5.19.0: + enhanced-resolve@5.20.0: dependencies: graceful-fs: 4.2.11 tapable: 2.3.0 @@ -15690,15 +15967,15 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-config-prettier@10.1.8(eslint@9.39.3): + eslint-config-prettier@10.1.8(eslint@9.39.4): dependencies: - eslint: 9.39.3 + eslint: 9.39.4 - eslint-config-turbo@2.8.9(eslint@9.39.3)(turbo@2.8.10): + eslint-config-turbo@2.8.14(eslint@9.39.4)(turbo@2.8.14): dependencies: - eslint: 9.39.3 - eslint-plugin-turbo: 2.8.9(eslint@9.39.3)(turbo@2.8.10) - turbo: 2.8.10 + eslint: 9.39.4 + eslint-plugin-turbo: 2.8.14(eslint@9.39.4)(turbo@2.8.14) + turbo: 2.8.14 eslint-import-resolver-node@0.3.9: dependencies: @@ -15708,17 +15985,17 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.56.0(eslint@9.39.3)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.3): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.56.1(eslint@9.39.4)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.56.0(eslint@9.39.3)(typescript@5.9.3) - eslint: 9.39.3 + '@typescript-eslint/parser': 8.56.1(eslint@9.39.4)(typescript@5.9.3) + eslint: 9.39.4 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.56.0(eslint@9.39.3)(typescript@5.9.3))(eslint@9.39.3): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.56.1(eslint@9.39.4)(typescript@5.9.3))(eslint@9.39.4): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -15727,9 +16004,9 @@ snapshots: array.prototype.flatmap: 1.3.3 debug: 3.2.7 doctrine: 2.1.0 - eslint: 9.39.3 + eslint: 9.39.4 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.56.0(eslint@9.39.3)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.3) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.56.1(eslint@9.39.4)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -15741,13 +16018,13 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.56.0(eslint@9.39.3)(typescript@5.9.3) + '@typescript-eslint/parser': 8.56.1(eslint@9.39.4)(typescript@5.9.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jsx-a11y@6.10.2(eslint@9.39.3): + eslint-plugin-jsx-a11y@6.10.2(eslint@9.39.4): dependencies: aria-query: 5.3.2 array-includes: 3.1.8 @@ -15757,7 +16034,7 @@ snapshots: axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 9.39.3 + eslint: 9.39.4 hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -15766,17 +16043,17 @@ snapshots: safe-regex-test: 1.0.3 string.prototype.includes: 2.0.1 - eslint-plugin-react-hooks@6.1.1(eslint@9.39.3): + eslint-plugin-react-hooks@6.1.1(eslint@9.39.4): dependencies: '@babel/core': 7.28.4 '@babel/parser': 7.28.4 - eslint: 9.39.3 + eslint: 9.39.4 zod: 4.2.1 zod-validation-error: 4.0.2(zod@4.2.1) transitivePeerDependencies: - supports-color - eslint-plugin-react@7.37.5(eslint@9.39.3): + eslint-plugin-react@7.37.5(eslint@9.39.4): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -15784,7 +16061,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.2.1 - eslint: 9.39.3 + eslint: 9.39.4 estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -15798,11 +16075,11 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-turbo@2.8.9(eslint@9.39.3)(turbo@2.8.10): + eslint-plugin-turbo@2.8.14(eslint@9.39.4)(turbo@2.8.14): dependencies: dotenv: 16.0.3 - eslint: 9.39.3 - turbo: 2.8.10 + eslint: 9.39.4 + turbo: 2.8.14 eslint-scope@5.1.1: dependencies: @@ -15820,21 +16097,21 @@ snapshots: eslint-visitor-keys@5.0.0: {} - eslint@9.39.3: + eslint@9.39.4: dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.3) + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4) '@eslint-community/regexpp': 4.12.2 - '@eslint/config-array': 0.21.1 + '@eslint/config-array': 0.21.2 '@eslint/config-helpers': 0.4.2 '@eslint/core': 0.17.0 - '@eslint/eslintrc': 3.3.1 - '@eslint/js': 9.39.3 + '@eslint/eslintrc': 3.3.5 + '@eslint/js': 9.39.4 '@eslint/plugin-kit': 0.4.1 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.2 '@types/estree': 1.0.8 - ajv: 6.12.6 + ajv: 6.14.0 chalk: 4.1.2 cross-spawn: 7.0.6 debug: 4.4.3 @@ -15853,7 +16130,7 @@ snapshots: is-glob: 4.0.3 json-stable-stringify-without-jsonify: 1.0.1 lodash.merge: 4.6.2 - minimatch: 3.1.2 + minimatch: 3.1.5 natural-compare: 1.4.0 optionator: 0.9.4 transitivePeerDependencies: @@ -15861,8 +16138,8 @@ snapshots: espree@10.4.0: dependencies: - acorn: 8.15.0 - acorn-jsx: 5.3.2(acorn@8.15.0) + acorn: 8.16.0 + acorn-jsx: 5.3.2(acorn@8.16.0) eslint-visitor-keys: 4.2.1 esprima@4.0.1: {} @@ -15944,6 +16221,12 @@ snapshots: extend@3.0.2: {} + external-editor@3.1.0: + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.2.5 + fast-check@3.23.2: dependencies: pure-rand: 6.1.0 @@ -15987,30 +16270,29 @@ snapshots: fast-uri@3.1.0: {} - fast-xml-parser@5.3.8: - dependencies: - strnum: 2.1.2 + fast-xml-builder@1.0.0: {} - fast-xml-parser@5.3.9: + fast-xml-parser@5.4.2: dependencies: + fast-xml-builder: 1.0.0 strnum: 2.1.2 faster-babel-types@0.1.0(@babel/types@7.26.0): dependencies: '@babel/types': 7.26.0 - fastify@5.7.4: + fastify@5.8.2: dependencies: '@fastify/ajv-compiler': 4.0.5 '@fastify/error': 4.2.0 '@fastify/fast-json-stringify-compiler': 5.0.3 '@fastify/proxy-addr': 5.1.0 abstract-logging: 2.0.1 - avvio: 9.1.0 + avvio: 9.2.0 fast-json-stringify: 6.3.0 - find-my-way: 9.4.0 + find-my-way: 9.5.0 light-my-request: 6.6.0 - pino: 10.3.0 + pino: 10.3.1 process-warning: 5.0.0 rfdc: 1.4.1 secure-json-parse: 4.1.0 @@ -16041,6 +16323,10 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 + figures@3.2.0: + dependencies: + escape-string-regexp: 1.0.5 + figures@6.1.0: dependencies: is-unicode-supported: 2.1.0 @@ -16059,7 +16345,7 @@ snapshots: dependencies: to-regex-range: 5.0.1 - find-my-way@9.4.0: + find-my-way@9.5.0: dependencies: fast-deep-equal: 3.1.3 fast-querystring: 1.1.2 @@ -16132,6 +16418,8 @@ snapshots: jsonfile: 6.1.0 universalify: 2.0.1 + fs.realpath@1.0.0: {} + fsevents@2.3.2: optional: true @@ -16290,6 +16578,15 @@ snapshots: minipass: 7.1.3 path-scurry: 2.0.2 + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.5 + once: 1.4.0 + path-is-absolute: 1.0.1 + global-dirs@3.0.1: dependencies: ini: 2.0.0 @@ -16306,6 +16603,17 @@ snapshots: define-properties: 1.2.1 gopd: 1.2.0 + globby@10.0.2: + dependencies: + '@types/glob': 7.2.0 + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.1 + glob: 7.2.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + globrex@0.1.2: {} gopd@1.0.1: @@ -16405,6 +16713,11 @@ snapshots: property-information: 7.0.0 space-separated-tokens: 2.0.2 + header-case@1.0.1: + dependencies: + no-case: 2.3.2 + upper-case: 1.1.3 + hermes-estree@0.21.1: {} hermes-parser@0.21.1: @@ -16415,7 +16728,7 @@ snapshots: highlightjs-vue@1.0.0: {} - hono@4.11.9: {} + hono@4.12.5: {} hook-std@4.0.0: {} @@ -16526,6 +16839,11 @@ snapshots: inflation@2.1.0: {} + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + inherits@2.0.4: {} ini@1.3.8: {} @@ -16534,6 +16852,22 @@ snapshots: inline-style-parser@0.2.4: {} + inquirer@7.3.3: + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-width: 3.0.0 + external-editor: 3.1.0 + figures: 3.2.0 + lodash: 4.17.21 + mute-stream: 0.0.8 + run-async: 2.4.1 + rxjs: 6.6.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + through: 2.3.8 + internal-slot@1.0.7: dependencies: es-errors: 1.3.0 @@ -16564,9 +16898,9 @@ snapshots: dependencies: loose-envify: 1.4.0 - ioredis@5.9.3: + ioredis@5.10.0: dependencies: - '@ioredis/commands': 1.5.0 + '@ioredis/commands': 1.5.1 cluster-key-slot: 1.1.2 debug: 4.4.3 denque: 2.1.0 @@ -16691,6 +17025,10 @@ snapshots: global-dirs: 3.0.1 is-path-inside: 3.0.3 + is-lower-case@1.1.3: + dependencies: + lower-case: 1.1.4 + is-map@2.0.3: {} is-negative-zero@2.0.3: {} @@ -16710,6 +17048,8 @@ snapshots: is-obj@2.0.0: {} + is-path-cwd@2.2.0: {} + is-path-inside@3.0.3: {} is-plain-obj@4.1.0: {} @@ -16777,6 +17117,10 @@ snapshots: is-unicode-supported@2.1.0: {} + is-upper-case@1.1.2: + dependencies: + upper-case: 1.1.3 + is-weakmap@2.0.2: {} is-weakref@1.0.2: @@ -16804,6 +17148,8 @@ snapshots: isarray@2.0.5: {} + isbinaryfile@4.0.10: {} + isexe@2.0.0: {} isexe@3.1.5: @@ -16873,7 +17219,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -17012,7 +17358,7 @@ snapshots: dependencies: readable-stream: 2.3.8 - ldapts@8.1.6: + ldapts@8.1.7: dependencies: strict-event-emitter-types: 2.0.0 @@ -17073,6 +17419,8 @@ snapshots: lodash.escaperegexp@4.1.2: {} + lodash.get@4.4.2: {} + lodash.isarguments@3.1.0: {} lodash.isplainobject@4.0.6: {} @@ -17102,6 +17450,12 @@ snapshots: dependencies: js-tokens: 4.0.0 + lower-case-first@1.0.2: + dependencies: + lower-case: 1.1.4 + + lower-case@1.1.4: {} + lowlight@1.20.0: dependencies: fault: 1.0.4 @@ -17145,17 +17499,17 @@ snapshots: dependencies: semver: 7.7.4 - mantine-form-zod-resolver@1.3.0(@mantine/form@8.3.15(react@19.2.4))(zod@4.2.1): + mantine-form-zod-resolver@1.3.0(@mantine/form@8.3.16(react@19.2.4))(zod@4.2.1): dependencies: - '@mantine/form': 8.3.15(react@19.2.4) + '@mantine/form': 8.3.16(react@19.2.4) zod: 4.2.1 - mantine-react-table@2.0.0-beta.9(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.15(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(@tabler/icons-react@3.37.1(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4): + mantine-react-table@2.0.0-beta.9(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.16(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(@tabler/icons-react@3.40.0(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4): dependencies: - '@mantine/core': 8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@mantine/dates': 8.3.15(@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.15(react@19.2.4))(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@mantine/hooks': 8.3.15(react@19.2.4) - '@tabler/icons-react': 3.37.1(react@19.2.4) + '@mantine/core': 8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@mantine/dates': 8.3.16(@mantine/core@8.3.16(@mantine/hooks@8.3.16(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.16(react@19.2.4))(dayjs@1.11.19)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@mantine/hooks': 8.3.16(react@19.2.4) + '@tabler/icons-react': 3.40.0(react@19.2.4) '@tanstack/match-sorter-utils': 8.19.4 '@tanstack/react-table': 8.20.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@tanstack/react-virtual': 3.11.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -17457,15 +17811,19 @@ snapshots: minimatch@3.1.2: dependencies: - brace-expansion: 5.0.2 + brace-expansion: 5.0.4 + + minimatch@3.1.5: + dependencies: + brace-expansion: 5.0.4 minimatch@5.1.6: dependencies: - brace-expansion: 5.0.3 + brace-expansion: 5.0.4 minimatch@9.0.5: dependencies: - brace-expansion: 5.0.3 + brace-expansion: 5.0.4 minimist@1.2.8: {} @@ -17477,6 +17835,10 @@ snapshots: mkdirp-classic@0.5.3: {} + mkdirp@0.5.6: + dependencies: + minimist: 1.2.8 + mkdirp@3.0.1: {} mpd-parser@1.3.1: @@ -17492,6 +17854,8 @@ snapshots: ms@2.1.3: {} + mute-stream@0.0.8: {} + mute-stream@2.0.0: {} mux.js@7.1.0: @@ -17499,8 +17863,9 @@ snapshots: '@babel/runtime': 7.28.6 global: 4.4.0 - mysql2@3.17.4: + mysql2@3.19.0(@types/node@24.12.0): dependencies: + '@types/node': 24.12.0 aws-ssl-profiles: 1.1.2 denque: 2.1.0 generate-function: 2.3.1 @@ -17624,6 +17989,10 @@ snapshots: node-gyp-build: 4.8.4 optional: true + no-case@2.3.2: + dependencies: + lower-case: 1.1.4 + node-abi@3.67.0: dependencies: semver: 7.7.4 @@ -17675,6 +18044,20 @@ snapshots: node-mock-http@1.0.2: {} + node-plop@0.26.3: + dependencies: + '@babel/runtime-corejs3': 7.27.1 + '@types/inquirer': 6.5.0 + change-case: 3.1.0 + del: 5.1.0 + globby: 10.0.2 + handlebars: 4.7.8 + inquirer: 7.3.3 + isbinaryfile: 4.0.10 + lodash.get: 4.4.2 + mkdirp: 0.5.6 + resolve: 1.22.8 + node-releases@2.0.18: {} node-releases@2.0.19: {} @@ -17695,7 +18078,7 @@ snapshots: normalize-path@3.0.0: {} - normalize-url@8.0.1: {} + normalize-url@9.0.0: {} npm-run-path@4.0.1: dependencies: @@ -17879,6 +18262,10 @@ snapshots: dependencies: p-limit: 3.1.0 + p-map@3.0.0: + dependencies: + aggregate-error: 3.1.0 + p-map@7.0.3: {} p-reduce@2.1.0: {} @@ -17891,6 +18278,10 @@ snapshots: pako@2.1.0: {} + param-case@2.1.1: + dependencies: + no-case: 2.3.2 + parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -17939,10 +18330,21 @@ snapshots: dependencies: entities: 6.0.1 + pascal-case@2.0.1: + dependencies: + camel-case: 3.0.0 + upper-case-first: 1.1.2 + + path-case@2.1.1: + dependencies: + no-case: 2.3.2 + path-exists@3.0.0: {} path-exists@4.0.0: {} + path-is-absolute@1.0.1: {} + path-key@3.1.1: {} path-key@4.0.0: {} @@ -17968,17 +18370,17 @@ snapshots: pg-cloudflare@1.3.0: optional: true - pg-connection-string@2.11.0: {} + pg-connection-string@2.12.0: {} pg-int8@1.0.1: {} - pg-pool@3.11.0(pg@8.18.0): + pg-pool@3.13.0(pg@8.20.0): dependencies: - pg: 8.18.0 + pg: 8.20.0 - pg-protocol@1.10.3: {} + pg-protocol@1.12.0: {} - pg-protocol@1.11.0: {} + pg-protocol@1.13.0: {} pg-types@2.2.0: dependencies: @@ -17988,11 +18390,11 @@ snapshots: postgres-date: 1.0.7 postgres-interval: 1.2.0 - pg@8.18.0: + pg@8.20.0: dependencies: - pg-connection-string: 2.11.0 - pg-pool: 3.11.0(pg@8.18.0) - pg-protocol: 1.11.0 + pg-connection-string: 2.12.0 + pg-pool: 3.13.0(pg@8.20.0) + pg-protocol: 1.13.0 pg-types: 2.2.0 pgpass: 1.0.5 optionalDependencies: @@ -18018,7 +18420,7 @@ snapshots: pino-std-serializers@7.1.0: {} - pino@10.3.0: + pino@10.3.1: dependencies: '@pinojs/redact': 0.4.0 atomic-sleep: 1.0.0 @@ -18029,7 +18431,7 @@ snapshots: quick-format-unescaped: 4.0.4 real-require: 0.2.0 safe-stable-stringify: 2.5.0 - sonic-boom: 4.2.0 + sonic-boom: 4.2.1 thread-stream: 4.0.0 piscina@4.6.1: @@ -18130,14 +18532,14 @@ snapshots: pump: 3.0.2 rc: 1.2.8 simple-get: 4.0.1 - tar-fs: 3.1.1 + tar-fs: 3.1.2 tunnel-agent: 0.6.0 transitivePeerDependencies: - bare-buffer prelude-ls@1.2.1: {} - prettier-plugin-packagejson@3.0.0(prettier@3.8.1): + prettier-plugin-packagejson@3.0.2(prettier@3.8.1): dependencies: sort-package-json: 3.6.0 optionalDependencies: @@ -18301,7 +18703,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 24.10.13 + '@types/node': 24.12.0 long: 5.3.2 proxmox-api@1.1.1: @@ -18725,6 +19127,11 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + restore-cursor@3.1.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + ret@0.2.2: {} ret@0.5.0: {} @@ -18737,6 +19144,10 @@ snapshots: rfdc@1.4.1: {} + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + rollup@4.48.1: dependencies: '@types/estree': 1.0.8 @@ -18795,10 +19206,16 @@ snapshots: rrdom: 0.1.7 rrweb-snapshot: 2.0.0-alpha.4 + run-async@2.4.1: {} + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 + rxjs@6.6.7: + dependencies: + tslib: 1.14.1 + rxjs@7.8.2: dependencies: tslib: 2.8.1 @@ -18883,7 +19300,7 @@ snapshots: '@semantic-release/commit-analyzer': 13.0.1(semantic-release@25.0.3(typescript@5.9.3)) '@semantic-release/error': 4.0.0 '@semantic-release/github': 12.0.6(semantic-release@25.0.3(typescript@5.9.3)) - '@semantic-release/npm': 13.1.4(semantic-release@25.0.3(typescript@5.9.3)) + '@semantic-release/npm': 13.1.5(semantic-release@25.0.3(typescript@5.9.3)) '@semantic-release/release-notes-generator': 14.1.0(semantic-release@25.0.3(typescript@5.9.3)) aggregate-error: 5.0.0 cosmiconfig: 9.0.0(typescript@5.9.3) @@ -18928,14 +19345,15 @@ snapshots: semver@7.7.4: {} + sentence-case@2.1.1: + dependencies: + no-case: 2.3.2 + upper-case-first: 1.1.2 + serialize-error@8.1.0: dependencies: type-fest: 0.20.2 - serialize-javascript@6.0.2: - dependencies: - randombytes: 2.1.0 - set-cookie-parser@2.7.2: {} set-function-length@1.2.2: @@ -19068,8 +19486,14 @@ snapshots: dependencies: unicode-emoji-modifier-base: 1.0.0 + slash@3.0.0: {} + smart-buffer@4.2.0: {} + snake-case@2.1.0: + dependencies: + no-case: 2.3.2 + socket.io-adapter@2.5.5: dependencies: debug: 4.3.7 @@ -19124,7 +19548,7 @@ snapshots: ip-address: 9.0.5 smart-buffer: 4.2.0 - sonic-boom@4.2.0: + sonic-boom@4.2.1: dependencies: atomic-sleep: 1.0.0 @@ -19396,15 +19820,16 @@ snapshots: deep-rename-keys: 0.2.1 xml-reader: 2.4.3 - swagger-client@3.36.2: + swagger-client@3.37.0: dependencies: '@babel/runtime-corejs3': 7.27.1 '@scarf/scarf': 1.4.0 - '@swagger-api/apidom-core': 1.5.1 - '@swagger-api/apidom-error': 1.5.1 - '@swagger-api/apidom-json-pointer': 1.5.1 - '@swagger-api/apidom-ns-openapi-3-1': 1.5.1 - '@swagger-api/apidom-reference': 1.5.1 + '@swagger-api/apidom-core': 1.6.0 + '@swagger-api/apidom-error': 1.6.0 + '@swagger-api/apidom-json-pointer': 1.6.0 + '@swagger-api/apidom-ns-openapi-3-1': 1.6.0 + '@swagger-api/apidom-ns-openapi-3-2': 1.6.0 + '@swagger-api/apidom-reference': 1.6.0 '@swaggerexpert/cookie': 2.0.2 deepmerge: 4.3.1 fast-json-patch: 3.1.1 @@ -19419,7 +19844,7 @@ snapshots: transitivePeerDependencies: - debug - swagger-ui-react@5.31.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4): + swagger-ui-react@5.32.0(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4): dependencies: '@babel/runtime-corejs3': 7.27.1 '@scarf/scarf': 1.4.0 @@ -19452,7 +19877,7 @@ snapshots: reselect: 5.1.1 serialize-error: 8.1.0 sha.js: 2.4.12 - swagger-client: 3.36.2 + swagger-client: 3.37.0 url-parse: 1.5.10 xml: 1.0.1 xml-but-prettier: 1.0.1 @@ -19461,6 +19886,11 @@ snapshots: - '@types/react' - debug + swap-case@1.1.2: + dependencies: + lower-case: 1.1.4 + upper-case: 1.1.3 + symbol-tree@3.2.4: {} tabbable@6.2.0: {} @@ -19486,6 +19916,16 @@ snapshots: transitivePeerDependencies: - bare-buffer + tar-fs@3.1.2: + dependencies: + pump: 3.0.2 + tar-stream: 3.1.7 + optionalDependencies: + bare-fs: 4.1.2 + bare-path: 3.0.0 + transitivePeerDependencies: + - bare-buffer + tar-stream@2.2.0: dependencies: bl: 4.1.0 @@ -19509,12 +19949,11 @@ snapshots: type-fest: 2.19.0 unique-string: 3.0.0 - terser-webpack-plugin@5.3.16(esbuild@0.27.3)(webpack@5.94.0(esbuild@0.27.3)): + terser-webpack-plugin@5.3.17(esbuild@0.27.3)(webpack@5.94.0(esbuild@0.27.3)): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 - serialize-javascript: 6.0.2 terser: 5.46.0 webpack: 5.94.0(esbuild@0.27.3) optionalDependencies: @@ -19571,6 +20010,8 @@ snapshots: readable-stream: 2.3.8 xtend: 4.0.2 + through@2.3.8: {} + time-span@5.1.0: dependencies: convert-hrtime: 5.0.0 @@ -19588,6 +20029,11 @@ snapshots: tinyrainbow@3.0.3: {} + title-case@2.1.1: + dependencies: + no-case: 2.3.2 + upper-case: 1.1.3 + tldts-core@6.1.69: {} tldts-core@7.0.12: {} @@ -19664,9 +20110,9 @@ snapshots: trough@2.2.0: {} - trpc-to-openapi@3.1.0(patch_hash=2ca3c16af0fcca0c736697ad4fe553a14f794524fa9ce0d5c3e8ee4aea76090c)(@trpc/server@11.10.0(typescript@5.9.3))(zod-openapi@5.3.0(zod@4.2.1))(zod@4.2.1): + trpc-to-openapi@3.1.0(patch_hash=2ca3c16af0fcca0c736697ad4fe553a14f794524fa9ce0d5c3e8ee4aea76090c)(@trpc/server@11.12.0(typescript@5.9.3))(zod-openapi@5.3.0(zod@4.2.1))(zod@4.2.1): dependencies: - '@trpc/server': 11.10.0(typescript@5.9.3) + '@trpc/server': 11.12.0(typescript@5.9.3) co-body: 6.2.0 h3: 1.15.1 openapi3-ts: 4.4.0 @@ -19704,6 +20150,8 @@ snapshots: - encoding - supports-color + tslib@1.14.1: {} + tslib@2.8.1: {} tsscmp@1.0.6: {} @@ -19729,59 +20177,32 @@ snapshots: tunnel@0.0.6: {} - turbo-darwin-64@2.8.10: + turbo-darwin-64@2.8.14: optional: true - turbo-darwin-64@2.8.9: + turbo-darwin-arm64@2.8.14: optional: true - turbo-darwin-arm64@2.8.10: + turbo-linux-64@2.8.14: optional: true - turbo-darwin-arm64@2.8.9: + turbo-linux-arm64@2.8.14: optional: true - turbo-linux-64@2.8.10: + turbo-windows-64@2.8.14: optional: true - turbo-linux-64@2.8.9: + turbo-windows-arm64@2.8.14: optional: true - turbo-linux-arm64@2.8.10: - optional: true - - turbo-linux-arm64@2.8.9: - optional: true - - turbo-windows-64@2.8.10: - optional: true - - turbo-windows-64@2.8.9: - optional: true - - turbo-windows-arm64@2.8.10: - optional: true - - turbo-windows-arm64@2.8.9: - optional: true - - turbo@2.8.10: + turbo@2.8.14: optionalDependencies: - turbo-darwin-64: 2.8.10 - turbo-darwin-arm64: 2.8.10 - turbo-linux-64: 2.8.10 - turbo-linux-arm64: 2.8.10 - turbo-windows-64: 2.8.10 - turbo-windows-arm64: 2.8.10 - - turbo@2.8.9: - optionalDependencies: - turbo-darwin-64: 2.8.9 - turbo-darwin-arm64: 2.8.9 - turbo-linux-64: 2.8.9 - turbo-linux-arm64: 2.8.9 - turbo-windows-64: 2.8.9 - turbo-windows-arm64: 2.8.9 + turbo-darwin-64: 2.8.14 + turbo-darwin-arm64: 2.8.14 + turbo-linux-64: 2.8.14 + turbo-linux-arm64: 2.8.14 + turbo-windows-64: 2.8.14 + turbo-windows-arm64: 2.8.14 tweetnacl@0.14.5: {} @@ -19791,6 +20212,8 @@ snapshots: type-fest@0.20.2: {} + type-fest@0.21.3: {} + type-fest@1.4.0: {} type-fest@2.19.0: {} @@ -19879,13 +20302,13 @@ snapshots: dependencies: ts-toolbelt: 9.6.0 - typescript-eslint@8.56.0(eslint@9.39.3)(typescript@5.9.3): + typescript-eslint@8.56.1(eslint@9.39.4)(typescript@5.9.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.3)(typescript@5.9.3))(eslint@9.39.3)(typescript@5.9.3) - '@typescript-eslint/parser': 8.56.0(eslint@9.39.3)(typescript@5.9.3) - '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.56.0(eslint@9.39.3)(typescript@5.9.3) - eslint: 9.39.3 + '@typescript-eslint/eslint-plugin': 8.56.1(@typescript-eslint/parser@8.56.1(eslint@9.39.4)(typescript@5.9.3))(eslint@9.39.4)(typescript@5.9.3) + '@typescript-eslint/parser': 8.56.1(eslint@9.39.4)(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.1(eslint@9.39.4)(typescript@5.9.3) + eslint: 9.39.4 typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -20036,6 +20459,12 @@ snapshots: transitivePeerDependencies: - encoding + upper-case-first@1.1.2: + dependencies: + upper-case: 1.1.3 + + upper-case@1.1.3: {} + uri-js@4.4.1: dependencies: punycode: 2.3.1 @@ -20165,17 +20594,17 @@ snapshots: dependencies: global: 4.4.0 - vite-tsconfig-paths@6.1.1(typescript@5.9.3)(vite@7.1.12(@types/node@24.10.13)(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1)): + vite-tsconfig-paths@6.1.1(typescript@5.9.3)(vite@7.1.12(@types/node@24.12.0)(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1)): dependencies: debug: 4.4.3 globrex: 0.1.2 tsconfck: 3.1.3(typescript@5.9.3) - vite: 7.1.12(@types/node@24.10.13)(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1) + vite: 7.1.12(@types/node@24.12.0)(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1) transitivePeerDependencies: - supports-color - typescript - vite@7.1.12(@types/node@24.10.13)(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1): + vite@7.1.12(@types/node@24.12.0)(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1): dependencies: esbuild: 0.25.12 fdir: 6.5.0(picomatch@4.0.3) @@ -20184,7 +20613,7 @@ snapshots: rollup: 4.48.1 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 fsevents: 2.3.3 sass: 1.97.3 sugarss: 5.0.0(postcss@8.5.6) @@ -20192,10 +20621,10 @@ snapshots: tsx: 4.21.0 yaml: 2.5.1 - vitest@4.0.18(@types/node@24.10.13)(@vitest/ui@4.0.18)(jsdom@28.1.0(@noble/hashes@2.0.1))(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1): + vitest@4.0.18(@types/node@24.12.0)(@vitest/ui@4.0.18)(jsdom@28.1.0(@noble/hashes@2.0.1))(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1): dependencies: '@vitest/expect': 4.0.18 - '@vitest/mocker': 4.0.18(vite@7.1.12(@types/node@24.10.13)(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1)) + '@vitest/mocker': 4.0.18(vite@7.1.12(@types/node@24.12.0)(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1)) '@vitest/pretty-format': 4.0.18 '@vitest/runner': 4.0.18 '@vitest/snapshot': 4.0.18 @@ -20212,10 +20641,10 @@ snapshots: tinyexec: 1.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vite: 7.1.12(@types/node@24.10.13)(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1) + vite: 7.1.12(@types/node@24.12.0)(sass@1.97.3)(sugarss@5.0.0(postcss@8.5.6))(terser@5.46.0)(tsx@4.21.0)(yaml@2.5.1) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 24.10.13 + '@types/node': 24.12.0 '@vitest/ui': 4.0.18(vitest@4.0.18) jsdom: 28.1.0(@noble/hashes@2.0.1) transitivePeerDependencies: @@ -20265,7 +20694,7 @@ snapshots: acorn-import-attributes: 1.9.5(acorn@8.16.0) browserslist: 4.28.1 chrome-trace-event: 1.0.4 - enhanced-resolve: 5.19.0 + enhanced-resolve: 5.20.0 es-module-lexer: 1.7.0 eslint-scope: 5.1.1 events: 3.3.0 @@ -20277,7 +20706,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.3.0 - terser-webpack-plugin: 5.3.16(esbuild@0.27.3)(webpack@5.94.0(esbuild@0.27.3)) + terser-webpack-plugin: 5.3.17(esbuild@0.27.3)(webpack@5.94.0(esbuild@0.27.3)) watchpack: 2.5.1 webpack-sources: 3.3.4 transitivePeerDependencies: diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json index 2e65d6656..31517b177 100644 --- a/tooling/eslint/package.json +++ b/tooling/eslint/package.json @@ -19,17 +19,17 @@ "dependencies": { "@next/eslint-plugin-next": "16.1.6", "eslint-config-prettier": "^10.1.8", - "eslint-config-turbo": "^2.8.9", + "eslint-config-turbo": "^2.8.14", "eslint-plugin-import": "^2.32.0", "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^6.1.1", - "typescript-eslint": "^8.56.0" + "typescript-eslint": "^8.56.1" }, "devDependencies": { "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.39.3", + "eslint": "^9.39.4", "typescript": "^5.9.3" } } diff --git a/tooling/github/setup/action.yml b/tooling/github/setup/action.yml index 270199bf9..6051ab5cb 100644 --- a/tooling/github/setup/action.yml +++ b/tooling/github/setup/action.yml @@ -7,7 +7,7 @@ runs: - uses: pnpm/action-setup@v4 - uses: actions/setup-node@v6 with: - node-version: 24.13.1 + node-version: 24.14.0 cache: "pnpm" - shell: bash diff --git a/tooling/prettier/package.json b/tooling/prettier/package.json index fa5cf0f02..4c0fc9b0f 100644 --- a/tooling/prettier/package.json +++ b/tooling/prettier/package.json @@ -15,7 +15,7 @@ }, "devDependencies": { "@homarr/tsconfig": "workspace:^0.1.0", - "prettier-plugin-packagejson": "^3.0.0", + "prettier-plugin-packagejson": "^3.0.2", "typescript": "^5.9.3" } }