diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 50274be50..19e58ce01 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -31,6 +31,7 @@ body: label: Version description: What version of Homarr are you running? options: + - 1.20.0 - 1.19.1 - 1.19.0 - 1.18.0 diff --git a/.nvmrc b/.nvmrc index 8320a6d29..5b540673a 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -22.15.1 +22.16.0 diff --git a/Dockerfile b/Dockerfile index 8c1f3c784..2c0d2eb1e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:22.15.1-alpine AS base +FROM node:22.16.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 7eaea6e65..d46d8a7b5 100644 --- a/apps/nextjs/package.json +++ b/apps/nextjs/package.json @@ -55,10 +55,10 @@ "@mantine/modals": "^8.0.1", "@mantine/tiptap": "^8.0.1", "@million/lint": "1.0.14", - "@tabler/icons-react": "^3.31.0", - "@tanstack/react-query": "^5.76.1", - "@tanstack/react-query-devtools": "^5.76.1", - "@tanstack/react-query-next-experimental": "^5.76.1", + "@tabler/icons-react": "^3.33.0", + "@tanstack/react-query": "^5.76.2", + "@tanstack/react-query-devtools": "^5.76.2", + "@tanstack/react-query-next-experimental": "^5.76.2", "@trpc/client": "^11.1.2", "@trpc/next": "^11.1.2", "@trpc/react-query": "^11.1.2", @@ -83,22 +83,22 @@ "react-simple-code-editor": "^0.14.1", "sass": "^1.89.0", "superjson": "2.2.2", - "swagger-ui-react": "^5.21.0", + "swagger-ui-react": "^5.22.0", "use-deep-compare-effect": "^1.8.1", - "zod": "^3.24.4" + "zod": "^3.25.23" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", "@types/chroma-js": "3.1.1", - "@types/node": "^22.15.18", + "@types/node": "^22.15.21", "@types/prismjs": "^1.26.5", - "@types/react": "19.1.4", + "@types/react": "19.1.5", "@types/react-dom": "19.1.5", "@types/swagger-ui-react": "^5.18.0", "concurrently": "^9.1.2", - "eslint": "^9.26.0", + "eslint": "^9.27.0", "node-loader": "^2.1.0", "prettier": "^3.5.3", "typescript": "^5.8.3" diff --git a/apps/nextjs/src/app/[locale]/manage/tools/docker/docker-table.tsx b/apps/nextjs/src/app/[locale]/manage/tools/docker/docker-table.tsx index e94d2be6a..0db5d2116 100644 --- a/apps/nextjs/src/app/[locale]/manage/tools/docker/docker-table.tsx +++ b/apps/nextjs/src/app/[locale]/manage/tools/docker/docker-table.tsx @@ -17,6 +17,7 @@ import type { RouterOutputs } from "@homarr/api"; import { clientApi } from "@homarr/api/client"; import { useTimeAgo } from "@homarr/common"; import type { ContainerState } from "@homarr/docker"; +import { containerStateColorMap } from "@homarr/docker/shared"; import { useModalAction } from "@homarr/modals"; import { AddDockerAppToHomarr } from "@homarr/modals-collection"; import { showErrorNotification, showSuccessNotification } from "@homarr/notifications"; @@ -244,21 +245,11 @@ const ContainerActionBarButton = (props: ContainerActionBarButtonProps) => { ); }; -const containerStates = { - created: "cyan", - running: "green", - paused: "yellow", - restarting: "orange", - exited: "red", - removing: "pink", - dead: "dark", -} satisfies Record; - const ContainerStateBadge = ({ state }: { state: ContainerState }) => { const t = useScopedI18n("docker.field.state.option"); return ( - + {t(state)} ); diff --git a/apps/nextjs/src/components/board/items/item-content.tsx b/apps/nextjs/src/components/board/items/item-content.tsx index 9003bfacc..cb57fd463 100644 --- a/apps/nextjs/src/components/board/items/item-content.tsx +++ b/apps/nextjs/src/components/board/items/item-content.tsx @@ -125,8 +125,8 @@ const InnerContent = ({ item, ...dimensions }: InnerContentProps) => { setOptions={(partialNewOptions) => updateOptions({ newOptions: { - ...partialNewOptions.newOptions, ...options, + ...partialNewOptions.newOptions, }, }) } diff --git a/apps/nextjs/src/styles/gridstack.scss b/apps/nextjs/src/styles/gridstack.scss index 9e11de73b..615278f80 100644 --- a/apps/nextjs/src/styles/gridstack.scss +++ b/apps/nextjs/src/styles/gridstack.scss @@ -6,6 +6,12 @@ --gridstack-cell-size: 0; } +.ui-resizable-handle { + // Override default z-index of 100 to prevent it from being on top of the header. + // See https://github.com/homarr-labs/homarr/issues/1999 + z-index: 1 !important; +} + .grid-stack-placeholder > .placeholder-content { background-color: rgb(248, 249, 250) !important; border-radius: 12px; diff --git a/apps/tasks/package.json b/apps/tasks/package.json index 52344d92e..7f5b890bf 100644 --- a/apps/tasks/package.json +++ b/apps/tasks/package.json @@ -10,7 +10,7 @@ "main": "./src/main.ts", "types": "./src/main.ts", "scripts": { - "build": "esbuild src/main.ts --bundle --platform=node --loader:.scss=text --external:@opentelemetry/api --external:deasync --outfile=tasks.cjs", + "build": "esbuild src/main.ts --bundle --platform=node --loader:.scss=text --external:*.node --external:@opentelemetry/api --external:deasync --outfile=tasks.cjs", "clean": "rm -rf .turbo node_modules", "dev": "pnpm with-env tsx ./src/main.ts", "format": "prettier --check . --ignore-path ../../.gitignore", @@ -38,15 +38,16 @@ "dayjs": "^1.11.13", "dotenv": "^16.5.0", "superjson": "2.2.2", - "undici": "7.9.0" + "undici": "7.10.0" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "@types/node": "^22.15.18", + "@types/node": "^22.15.21", "dotenv-cli": "^8.0.0", - "eslint": "^9.26.0", + "esbuild": "^0.25.4", + "eslint": "^9.27.0", "prettier": "^3.5.3", "tsx": "4.19.4", "typescript": "^5.8.3" diff --git a/apps/websocket/package.json b/apps/websocket/package.json index 8edec0fb1..5bdd33ba0 100644 --- a/apps/websocket/package.json +++ b/apps/websocket/package.json @@ -34,7 +34,8 @@ "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", "@types/ws": "^8.18.1", - "eslint": "^9.26.0", + "esbuild": "^0.25.4", + "eslint": "^9.27.0", "prettier": "^3.5.3", "typescript": "^5.8.3" } diff --git a/package.json b/package.json index 0cea73585..bc98771fd 100644 --- a/package.json +++ b/package.json @@ -39,23 +39,23 @@ "@semantic-release/npm": "^12.0.1", "@semantic-release/release-notes-generator": "^14.0.3", "@turbo/gen": "^2.5.3", - "@vitejs/plugin-react": "^4.4.1", - "@vitest/coverage-v8": "^3.1.3", - "@vitest/ui": "^3.1.3", + "@vitejs/plugin-react": "^4.5.0", + "@vitest/coverage-v8": "^3.1.4", + "@vitest/ui": "^3.1.4", "conventional-changelog-conventionalcommits": "^8.0.0", "cross-env": "^7.0.3", "jsdom": "^26.1.0", "prettier": "^3.5.3", - "semantic-release": "^24.2.3", - "testcontainers": "^10.26.0", + "semantic-release": "^24.2.4", + "testcontainers": "^10.28.0", "turbo": "^2.5.3", "typescript": "^5.8.3", "vite-tsconfig-paths": "^5.1.4", - "vitest": "^3.1.3" + "vitest": "^3.1.4" }, "packageManager": "pnpm@10.11.0", "engines": { - "node": ">=22.15.1" + "node": ">=22.16.0" }, "pnpm": { "onlyBuiltDependencies": [ @@ -70,7 +70,7 @@ "tree-sitter-json" ], "overrides": { - "proxmox-api>undici": "7.9.0" + "proxmox-api>undici": "7.10.0" }, "allowUnusedPatches": true, "ignoredBuiltDependencies": [ diff --git a/packages/analytics/package.json b/packages/analytics/package.json index e2a91116f..8962bbae7 100644 --- a/packages/analytics/package.json +++ b/packages/analytics/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.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/api/package.json b/packages/api/package.json index ba65933d2..903b9e723 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -41,7 +41,7 @@ "@homarr/server-settings": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", "@kubernetes/client-node": "^1.2.0", - "@tanstack/react-query": "^5.76.1", + "@tanstack/react-query": "^5.76.2", "@trpc/client": "^11.1.2", "@trpc/react-query": "^11.1.2", "@trpc/server": "^11.1.2", @@ -52,13 +52,13 @@ "react-dom": "19.1.0", "superjson": "2.2.2", "trpc-to-openapi": "^2.2.0", - "zod": "^3.24.4" + "zod": "^3.25.23" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.26.0", + "eslint": "^9.27.0", "prettier": "^3.5.3", "typescript": "^5.8.3" } diff --git a/packages/api/src/router/docker/docker-router.ts b/packages/api/src/router/docker/docker-router.ts index 57537b1e4..abbcebe22 100644 --- a/packages/api/src/router/docker/docker-router.ts +++ b/packages/api/src/router/docker/docker-router.ts @@ -1,90 +1,48 @@ import { TRPCError } from "@trpc/server"; +import { observable } from "@trpc/server/observable"; import { z } from "zod"; -import { db, like, or } from "@homarr/db"; -import { icons } from "@homarr/db/schema"; +import type { Container, ContainerState, Docker, Port } from "@homarr/docker"; import { DockerSingleton } from "@homarr/docker"; -import type { Container, ContainerInfo, ContainerState, Docker, Port } from "@homarr/docker"; -import { logger } from "@homarr/log"; -import { createCacheChannel } from "@homarr/redis"; +import { dockerContainersRequestHandler } from "@homarr/request-handler/docker"; import { dockerMiddleware } from "../../middlewares/docker"; import { createTRPCRouter, permissionRequiredProcedure } from "../../trpc"; -const dockerCache = createCacheChannel<{ - containers: (ContainerInfo & { instance: string; iconUrl: string | null })[]; -}>("docker-containers", 5 * 60 * 1000); - export const dockerRouter = createTRPCRouter({ getContainers: permissionRequiredProcedure .requiresPermission("admin") .concat(dockerMiddleware()) .query(async () => { - const result = await dockerCache - .consumeAsync(async () => { - const dockerInstances = DockerSingleton.getInstances(); - const containers = await Promise.all( - // Return all the containers of all the instances into only one item - dockerInstances.map(({ instance, host: key }) => - instance.listContainers({ all: true }).then((containers) => - containers.map((container) => ({ - ...container, - instance: key, - })), - ), - ), - ).then((containers) => containers.flat()); - - const extractImage = (container: ContainerInfo) => container.Image.split("/").at(-1)?.split(":").at(0) ?? ""; - const likeQueries = containers.map((container) => like(icons.name, `%${extractImage(container)}%`)); - const dbIcons = - likeQueries.length >= 1 - ? await db.query.icons.findMany({ - where: or(...likeQueries), - }) - : []; - - return { - containers: containers.map((container) => ({ - ...container, - iconUrl: - dbIcons.find((icon) => { - const extractedImage = extractImage(container); - if (!extractedImage) return false; - return icon.name.toLowerCase().includes(extractedImage.toLowerCase()); - })?.url ?? null, - })), - }; - }) - .catch((error) => { - logger.error(error); - return { - isError: true, - error: error as unknown, - }; - }); - - if ("isError" in result) { - throw new TRPCError({ - code: "INTERNAL_SERVER_ERROR", - message: "An error occurred while fetching the containers", - cause: result.error, - }); - } + const innerHandler = dockerContainersRequestHandler.handler({}); + const result = await innerHandler.getCachedOrUpdatedDataAsync({ forceUpdate: false }); const { data, timestamp } = result; return { - containers: sanitizeContainers(data.containers), + containers: data satisfies DockerContainer[], timestamp, }; }), + subscribeContainers: permissionRequiredProcedure + .requiresPermission("admin") + .concat(dockerMiddleware()) + .subscription(() => { + return observable((emit) => { + const innerHandler = dockerContainersRequestHandler.handler({}); + const unsubscribe = innerHandler.subscribe((data) => { + emit.next(data); + }); + + return unsubscribe; + }); + }), invalidate: permissionRequiredProcedure .requiresPermission("admin") .concat(dockerMiddleware()) .mutation(async () => { - await dockerCache.invalidateAsync(); - return; + const innerHandler = dockerContainersRequestHandler.handler({}); + await innerHandler.invalidateAsync(); }), startAll: permissionRequiredProcedure .requiresPermission("admin") @@ -98,7 +56,8 @@ export const dockerRouter = createTRPCRouter({ }), ); - await dockerCache.invalidateAsync(); + const innerHandler = dockerContainersRequestHandler.handler({}); + await innerHandler.invalidateAsync(); }), stopAll: permissionRequiredProcedure .requiresPermission("admin") @@ -112,7 +71,8 @@ export const dockerRouter = createTRPCRouter({ }), ); - await dockerCache.invalidateAsync(); + const innerHandler = dockerContainersRequestHandler.handler({}); + await innerHandler.invalidateAsync(); }), restartAll: permissionRequiredProcedure .requiresPermission("admin") @@ -126,7 +86,8 @@ export const dockerRouter = createTRPCRouter({ }), ); - await dockerCache.invalidateAsync(); + const innerHandler = dockerContainersRequestHandler.handler({}); + await innerHandler.invalidateAsync(); }), removeAll: permissionRequiredProcedure .requiresPermission("admin") @@ -140,7 +101,8 @@ export const dockerRouter = createTRPCRouter({ }), ); - await dockerCache.invalidateAsync(); + const innerHandler = dockerContainersRequestHandler.handler({}); + await innerHandler.invalidateAsync(); }), }); @@ -180,20 +142,6 @@ interface DockerContainer { image: string; ports: Port[]; iconUrl: string | null; -} - -function sanitizeContainers( - containers: (ContainerInfo & { instance: string; iconUrl: string | null })[], -): DockerContainer[] { - return containers.map((container) => { - return { - name: container.Names[0]?.split("/")[1] ?? "Unknown", - id: container.Id, - instance: container.instance, - state: container.State as ContainerState, - image: container.Image, - ports: container.Ports, - iconUrl: container.iconUrl, - }; - }); + cpuUsage: number; + memoryUsage: number; } diff --git a/packages/api/src/router/test/docker/docker-router.spec.ts b/packages/api/src/router/test/docker/docker-router.spec.ts index 2becec4e6..941e696e6 100644 --- a/packages/api/src/router/test/docker/docker-router.spec.ts +++ b/packages/api/src/router/test/docker/docker-router.spec.ts @@ -4,14 +4,26 @@ import { describe, expect, test, vi } from "vitest"; import type { Session } from "@homarr/auth"; import { objectKeys } from "@homarr/common"; import type { Database } from "@homarr/db"; -import { getPermissionsWithChildren } from "@homarr/definitions"; import type { GroupPermissionKey } from "@homarr/definitions"; +import { getPermissionsWithChildren } from "@homarr/definitions"; import type { RouterInputs } from "../../.."; import { dockerRouter } from "../../docker/docker-router"; // Mock the auth module to return an empty session vi.mock("@homarr/auth", () => ({ auth: () => ({}) as Session })); +vi.mock("@homarr/request-handler/docker", () => ({ + dockerContainersRequestHandler: { + handler: () => ({ + getCachedOrUpdatedDataAsync: async () => { + return await Promise.resolve({ containers: [] }); + }, + invalidateAsync: async () => { + return await Promise.resolve(); + }, + }), + }, +})); vi.mock("@homarr/redis", () => ({ createCacheChannel: () => ({ // eslint-disable-next-line @typescript-eslint/require-await @@ -22,6 +34,7 @@ vi.mock("@homarr/redis", () => ({ // eslint-disable-next-line @typescript-eslint/no-empty-function invalidateAsync: async () => {}, }), + createWidgetOptionsChannel: () => ({}), })); vi.mock("@homarr/docker/env", () => ({ @@ -46,6 +59,7 @@ const validInputs: { [key in (typeof procedureKeys)[number]]: RouterInputs["docker"][key]; } = { getContainers: undefined, + subscribeContainers: undefined, startAll: { ids: ["1"] }, stopAll: { ids: ["1"] }, restartAll: { ids: ["1"] }, diff --git a/packages/auth/package.json b/packages/auth/package.json index b1a970695..c4cc95c61 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -39,7 +39,7 @@ "next-auth": "5.0.0-beta.28", "react": "19.1.0", "react-dom": "19.1.0", - "zod": "^3.24.4" + "zod": "^3.25.23" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", @@ -47,7 +47,7 @@ "@homarr/tsconfig": "workspace:^0.1.0", "@types/bcrypt": "5.0.2", "@types/cookies": "0.9.0", - "eslint": "^9.26.0", + "eslint": "^9.27.0", "prettier": "^3.5.3", "typescript": "^5.8.3" } diff --git a/packages/boards/package.json b/packages/boards/package.json index d5e5e4593..d4f47c776 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.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/certificates/package.json b/packages/certificates/package.json index 9bc86d64c..938c0b0ae 100644 --- a/packages/certificates/package.json +++ b/packages/certificates/package.json @@ -24,13 +24,13 @@ "dependencies": { "@homarr/common": "workspace:^0.1.0", "@homarr/db": "workspace:^0.1.0", - "undici": "7.9.0" + "undici": "7.10.0" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/cli/package.json b/packages/cli/package.json index b5230185b..95e2a2252 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -34,7 +34,8 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.26.0", + "esbuild": "^0.25.4", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/common/package.json b/packages/common/package.json index c5fe11b44..6c29db5f3 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -33,15 +33,15 @@ "next": "15.3.2", "react": "19.1.0", "react-dom": "19.1.0", - "undici": "7.9.0", - "zod": "^3.24.4", - "zod-validation-error": "^3.4.0" + "undici": "7.10.0", + "zod": "^3.25.23", + "zod-validation-error": "^3.4.1" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/cron-job-runner/package.json b/packages/cron-job-runner/package.json index d14d08009..96d10e551 100644 --- a/packages/cron-job-runner/package.json +++ b/packages/cron-job-runner/package.json @@ -33,7 +33,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/cron-job-runner/src/index.ts b/packages/cron-job-runner/src/index.ts index e1e851da6..9605ba3c4 100644 --- a/packages/cron-job-runner/src/index.ts +++ b/packages/cron-job-runner/src/index.ts @@ -24,6 +24,7 @@ export const cronJobs = { mediaTranscoding: { preventManualExecution: false }, minecraftServerStatus: { preventManualExecution: false }, networkController: { preventManualExecution: false }, + dockerContainers: { preventManualExecution: false }, } satisfies Record; /** diff --git a/packages/cron-job-status/package.json b/packages/cron-job-status/package.json index 6a9537cab..ffc830a0e 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.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/cron-jobs-core/package.json b/packages/cron-jobs-core/package.json index eca185503..82b72ee75 100644 --- a/packages/cron-jobs-core/package.json +++ b/packages/cron-jobs-core/package.json @@ -32,7 +32,7 @@ "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", "@types/node-cron": "^3.0.11", - "eslint": "^9.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/cron-jobs/package.json b/packages/cron-jobs/package.json index 7ccf9c26a..e88297936 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.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/cron-jobs/src/index.ts b/packages/cron-jobs/src/index.ts index b141c7146..64a661b05 100644 --- a/packages/cron-jobs/src/index.ts +++ b/packages/cron-jobs/src/index.ts @@ -1,4 +1,5 @@ import { analyticsJob } from "./jobs/analytics"; +import { dockerContainersJob } from "./jobs/docker"; import { iconsUpdaterJob } from "./jobs/icons-updater"; import { dnsHoleJob } from "./jobs/integrations/dns-hole"; import { downloadsJob } from "./jobs/integrations/downloads"; @@ -35,6 +36,7 @@ export const jobGroup = createCronJobGroup({ updateChecker: updateCheckerJob, mediaTranscoding: mediaTranscodingJob, minecraftServerStatus: minecraftServerStatusJob, + dockerContainers: dockerContainersJob, networkController: networkControllerJob, }); diff --git a/packages/cron-jobs/src/jobs/docker.ts b/packages/cron-jobs/src/jobs/docker.ts new file mode 100644 index 000000000..4f19d341c --- /dev/null +++ b/packages/cron-jobs/src/jobs/docker.ts @@ -0,0 +1,28 @@ +import SuperJSON from "superjson"; + +import { EVERY_MINUTE } from "@homarr/cron-jobs-core/expressions"; +import { db, eq } from "@homarr/db"; +import { items } from "@homarr/db/schema"; +import { logger } from "@homarr/log"; +import { dockerContainersRequestHandler } from "@homarr/request-handler/docker"; + +import type { WidgetComponentProps } from "../../../widgets"; +import { createCronJob } from "../lib"; + +export const dockerContainersJob = createCronJob("dockerContainers", EVERY_MINUTE).withCallback(async () => { + const dockerItems = await db.query.items.findMany({ + where: eq(items.kind, "dockerContainers"), + }); + + await Promise.allSettled( + dockerItems.map(async (item) => { + try { + const options = SuperJSON.parse["options"]>(item.options); + const innerHandler = dockerContainersRequestHandler.handler(options); + await innerHandler.getCachedOrUpdatedDataAsync({ forceUpdate: true }); + } catch (error) { + logger.error("Failed to update Docker container status", { item, error }); + } + }), + ); +}); diff --git a/packages/db/package.json b/packages/db/package.json index 7a4c6afb8..ca81286db 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -46,7 +46,7 @@ "@homarr/server-settings": "workspace:^0.1.0", "@mantine/core": "^8.0.1", "@paralleldrive/cuid2": "^2.2.2", - "@testcontainers/mysql": "^10.26.0", + "@testcontainers/mysql": "^10.28.0", "better-sqlite3": "^11.10.0", "dotenv": "^16.5.0", "drizzle-kit": "^0.31.1", @@ -60,7 +60,8 @@ "@homarr/tsconfig": "workspace:^0.1.0", "@types/better-sqlite3": "7.6.13", "dotenv-cli": "^8.0.0", - "eslint": "^9.26.0", + "esbuild": "^0.25.4", + "eslint": "^9.27.0", "prettier": "^3.5.3", "tsx": "4.19.4", "typescript": "^5.8.3" diff --git a/packages/definitions/package.json b/packages/definitions/package.json index ef85127ac..d9767edcc 100644 --- a/packages/definitions/package.json +++ b/packages/definitions/package.json @@ -25,13 +25,13 @@ "dependencies": { "@homarr/common": "workspace:^0.1.0", "fast-xml-parser": "^5.2.3", - "zod": "^3.24.4" + "zod": "^3.25.23" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.26.0", + "eslint": "^9.27.0", "tsx": "4.19.4", "typescript": "^5.8.3" } diff --git a/packages/definitions/src/widget.ts b/packages/definitions/src/widget.ts index 263ea533f..e5b92a8bd 100644 --- a/packages/definitions/src/widget.ts +++ b/packages/definitions/src/widget.ts @@ -24,5 +24,6 @@ export const widgetKinds = [ "indexerManager", "healthMonitoring", "releases", + "dockerContainers", ] as const; export type WidgetKind = (typeof widgetKinds)[number]; diff --git a/packages/docker/package.json b/packages/docker/package.json index 210b2c6aa..7bf003cd4 100644 --- a/packages/docker/package.json +++ b/packages/docker/package.json @@ -6,6 +6,7 @@ "type": "module", "exports": { ".": "./index.ts", + "./shared": "./src/shared.ts", "./env": "./src/env.ts" }, "typesVersions": { @@ -31,8 +32,8 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "@types/dockerode": "^3.3.38", - "eslint": "^9.26.0", + "@types/dockerode": "^3.3.39", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/docker/src/shared.ts b/packages/docker/src/shared.ts new file mode 100644 index 000000000..f50bd32c7 --- /dev/null +++ b/packages/docker/src/shared.ts @@ -0,0 +1,13 @@ +import type { MantineColor } from "@mantine/core"; + +import type { ContainerState } from "."; + +export const containerStateColorMap = { + created: "cyan", + running: "green", + paused: "yellow", + restarting: "orange", + exited: "red", + removing: "pink", + dead: "dark", +} satisfies Record; diff --git a/packages/env/package.json b/packages/env/package.json index 2f9cfe082..ee7ae9e3b 100644 --- a/packages/env/package.json +++ b/packages/env/package.json @@ -24,13 +24,13 @@ "prettier": "@homarr/prettier-config", "dependencies": { "@t3-oss/env-nextjs": "^0.13.4", - "zod": "^3.24.4" + "zod": "^3.25.23" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/form/package.json b/packages/form/package.json index f8b3f15ec..5aa759256 100644 --- a/packages/form/package.json +++ b/packages/form/package.json @@ -27,13 +27,13 @@ "@homarr/translation": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", "@mantine/form": "^8.0.1", - "zod": "^3.24.4" + "zod": "^3.25.23" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/forms-collection/package.json b/packages/forms-collection/package.json index 351fcebba..c776c3fdd 100644 --- a/packages/forms-collection/package.json +++ b/packages/forms-collection/package.json @@ -31,13 +31,13 @@ "@homarr/validation": "workspace:^0.1.0", "@mantine/core": "^8.0.1", "react": "19.1.0", - "zod": "^3.24.4" + "zod": "^3.25.23" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/icons/package.json b/packages/icons/package.json index effeb4c12..7fa7609d9 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.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/integrations/package.json b/packages/integrations/package.json index 475edfb4e..922df4a63 100644 --- a/packages/integrations/package.json +++ b/packages/integrations/package.json @@ -42,9 +42,9 @@ "node-ical": "^0.20.1", "proxmox-api": "1.1.1", "tsdav": "^2.1.4", - "undici": "7.9.0", + "undici": "7.10.0", "xml2js": "^0.6.2", - "zod": "^3.24.4" + "zod": "^3.25.23" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", @@ -52,7 +52,7 @@ "@homarr/tsconfig": "workspace:^0.1.0", "@types/node-unifi": "^2.5.1", "@types/xml2js": "^0.4.14", - "eslint": "^9.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/log/package.json b/packages/log/package.json index 068210a11..b1fd4181b 100644 --- a/packages/log/package.json +++ b/packages/log/package.json @@ -27,13 +27,13 @@ "ioredis": "5.6.1", "superjson": "2.2.2", "winston": "3.17.0", - "zod": "^3.24.4" + "zod": "^3.25.23" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/modals-collection/package.json b/packages/modals-collection/package.json index 098217764..0d3f83ef7 100644 --- a/packages/modals-collection/package.json +++ b/packages/modals-collection/package.json @@ -34,18 +34,18 @@ "@homarr/ui": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", "@mantine/core": "^8.0.1", - "@tabler/icons-react": "^3.31.0", + "@tabler/icons-react": "^3.33.0", "dayjs": "^1.11.13", "next": "15.3.2", "react": "19.1.0", "react-dom": "19.1.0", - "zod": "^3.24.4" + "zod": "^3.25.23" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/modals/package.json b/packages/modals/package.json index 381ae1a72..d39c13355 100644 --- a/packages/modals/package.json +++ b/packages/modals/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.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/notifications/package.json b/packages/notifications/package.json index cc218806e..47da1dc3a 100644 --- a/packages/notifications/package.json +++ b/packages/notifications/package.json @@ -25,13 +25,13 @@ "dependencies": { "@homarr/ui": "workspace:^0.1.0", "@mantine/notifications": "^8.0.1", - "@tabler/icons-react": "^3.31.0" + "@tabler/icons-react": "^3.33.0" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/old-import/package.json b/packages/old-import/package.json index fe137aff1..2317b7544 100644 --- a/packages/old-import/package.json +++ b/packages/old-import/package.json @@ -44,7 +44,7 @@ "react": "19.1.0", "react-dom": "19.1.0", "superjson": "2.2.2", - "zod": "^3.24.4", + "zod": "^3.25.23", "zod-form-data": "^2.0.7" }, "devDependencies": { @@ -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.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/old-schema/package.json b/packages/old-schema/package.json index 2aed86997..19c2161bd 100644 --- a/packages/old-schema/package.json +++ b/packages/old-schema/package.json @@ -23,13 +23,13 @@ "prettier": "@homarr/prettier-config", "dependencies": { "@homarr/common": "workspace:^0.1.0", - "zod": "^3.24.4" + "zod": "^3.25.23" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/ping/package.json b/packages/ping/package.json index 586d739d5..9eb5c19ce 100644 --- a/packages/ping/package.json +++ b/packages/ping/package.json @@ -30,7 +30,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/redis/package.json b/packages/redis/package.json index c35cda88f..8b6aa1ae7 100644 --- a/packages/redis/package.json +++ b/packages/redis/package.json @@ -33,7 +33,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/request-handler/package.json b/packages/request-handler/package.json index ec6474d2e..c5901e969 100644 --- a/packages/request-handler/package.json +++ b/packages/request-handler/package.json @@ -30,14 +30,14 @@ "@homarr/log": "workspace:^0.1.0", "@homarr/redis": "workspace:^0.1.0", "dayjs": "^1.11.13", - "octokit": "^4.1.3", + "octokit": "^5.0.2", "superjson": "2.2.2" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/request-handler/src/docker.ts b/packages/request-handler/src/docker.ts new file mode 100644 index 000000000..932d47e67 --- /dev/null +++ b/packages/request-handler/src/docker.ts @@ -0,0 +1,80 @@ +import dayjs from "dayjs"; +import type { ContainerInfo, ContainerStats } from "dockerode"; + +import { db, like, or } from "@homarr/db"; +import { icons } from "@homarr/db/schema"; + +import type { ContainerState } from "../../docker/src"; +import { DockerSingleton } from "../../docker/src"; +import { createCachedWidgetRequestHandler } from "./lib/cached-widget-request-handler"; + +export const dockerContainersRequestHandler = createCachedWidgetRequestHandler({ + queryKey: "dockerContainersResult", + widgetKind: "dockerContainers", + async requestAsync() { + const containers = await getContainersWithStatsAsync(); + + return containers; + }, + cacheDuration: dayjs.duration(20, "seconds"), +}); + +const dockerInstances = DockerSingleton.getInstances(); + +const extractImage = (container: ContainerInfo) => container.Image.split("/").at(-1)?.split(":").at(0) ?? ""; + +async function getContainersWithStatsAsync() { + const containers = await Promise.all( + dockerInstances.map(async ({ instance, host }) => { + const instanceContainers = await instance.listContainers({ all: true }); + return instanceContainers.map((container) => ({ + ...container, + instance: host, + })); + }), + ).then((res) => res.flat()); + + const likeQueries = containers.map((container) => like(icons.name, `%${extractImage(container)}%`)); + + const dbIcons = + likeQueries.length > 0 + ? await db.query.icons.findMany({ + where: or(...likeQueries), + }) + : []; + + const containerStatsPromises = containers.map(async (container) => { + const instance = dockerInstances.find(({ host }) => host === container.instance)?.instance; + if (!instance) return null; + + const stats = await instance.getContainer(container.Id).stats({ stream: false }); + + return { + id: container.Id, + name: container.Names[0]?.split("/")[1] ?? "Unknown", + state: container.State as ContainerState, + iconUrl: + dbIcons.find((icon) => { + const extractedImage = extractImage(container); + if (!extractedImage) return false; + return icon.name.toLowerCase().includes(extractedImage.toLowerCase()); + })?.url ?? null, + cpuUsage: calculateCpuUsage(stats), + memoryUsage: stats.memory_stats.usage, + image: container.Image, + ports: container.Ports, + }; + }); + + return (await Promise.all(containerStatsPromises)).filter((container) => container !== null); +} + +function calculateCpuUsage(stats: ContainerStats): number { + const cpuDelta = stats.cpu_stats.cpu_usage.total_usage - stats.precpu_stats.cpu_usage.total_usage; + const systemDelta = stats.cpu_stats.system_cpu_usage - stats.precpu_stats.system_cpu_usage; + const numberOfCpus = stats.cpu_stats.online_cpus || 1; + + if (systemDelta === 0) return 0; + + return (cpuDelta / systemDelta) * numberOfCpus * 100; +} diff --git a/packages/server-settings/package.json b/packages/server-settings/package.json index 2bef20cf0..3e8d776d8 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.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/settings/package.json b/packages/settings/package.json index aec3cf33f..fd6933a94 100644 --- a/packages/settings/package.json +++ b/packages/settings/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.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/spotlight/package.json b/packages/spotlight/package.json index 93e5801d1..c36885d1e 100644 --- a/packages/spotlight/package.json +++ b/packages/spotlight/package.json @@ -36,7 +36,7 @@ "@mantine/core": "^8.0.1", "@mantine/hooks": "^8.0.1", "@mantine/spotlight": "^8.0.1", - "@tabler/icons-react": "^3.31.0", + "@tabler/icons-react": "^3.33.0", "jotai": "^2.12.4", "next": "15.3.2", "react": "19.1.0", @@ -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.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/translation/package.json b/packages/translation/package.json index 1f06d4d99..1a2782de4 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.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/translation/src/lang/ca.json b/packages/translation/src/lang/ca.json index 5d6d0268d..5ac6ac03f 100644 --- a/packages/translation/src/lang/ca.json +++ b/packages/translation/src/lang/ca.json @@ -702,6 +702,132 @@ "create": "Comprova la connexió i crea", "edit": "Comprova la connexió i desa" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "El botó \"Desa\" s'habilita quan la connexió s'estableix correctament", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "", "delete": "", "discard": "", + "close": "", "confirm": "", "continue": "", "previous": "", @@ -3496,7 +3623,10 @@ "label": "" }, "certificates": { - "label": "" + "label": "", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "" + "expires": "", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/cn.json b/packages/translation/src/lang/cn.json index 79b810abf..d9c7699b9 100644 --- a/packages/translation/src/lang/cn.json +++ b/packages/translation/src/lang/cn.json @@ -702,6 +702,132 @@ "create": "测试连接并创建", "edit": "测试连接并保存" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "成功建立连接后保存按钮将启用", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "取消", "delete": "删除", "discard": "Discard", + "close": "", "confirm": "确认", "continue": "继续", "previous": "上一步", @@ -3496,7 +3623,10 @@ "label": "日志" }, "certificates": { - "label": "证书" + "label": "证书", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "可信证书", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "到期时间 {when}" + "expires": "到期时间 {when}", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "无法删除证书" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/cs.json b/packages/translation/src/lang/cs.json index 1a8df3707..7eedcbca5 100644 --- a/packages/translation/src/lang/cs.json +++ b/packages/translation/src/lang/cs.json @@ -702,6 +702,132 @@ "create": "Otestovat připojení a vytvořit", "edit": "Otestovat připojení a uložit" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "Zrušit", "delete": "Odstranit", "discard": "Zahodit", + "close": "", "confirm": "Potvrdit", "continue": "Pokračovat", "previous": "Zpět", @@ -3496,7 +3623,10 @@ "label": "" }, "certificates": { - "label": "" + "label": "", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "" + "expires": "", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/da.json b/packages/translation/src/lang/da.json index ed4043a88..6bd35a5b0 100644 --- a/packages/translation/src/lang/da.json +++ b/packages/translation/src/lang/da.json @@ -702,6 +702,132 @@ "create": "Test forbindelse og opret", "edit": "Test forbindelse og gem" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "Gem-knappen er aktiveret, når en vellykket forbindelse er etableret", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "Annuller", "delete": "Slet", "discard": "Kassér", + "close": "", "confirm": "Bekræft", "continue": "Forsæt", "previous": "Forrige", @@ -3496,7 +3623,10 @@ "label": "Logs" }, "certificates": { - "label": "Certifikater" + "label": "Certifikater", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "Betroede certifikater", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "Udløber {when}" + "expires": "Udløber {when}", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "Certifikatet kunne ikke slettes" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/de-CH.json b/packages/translation/src/lang/de-CH.json index 286800648..83518974e 100644 --- a/packages/translation/src/lang/de-CH.json +++ b/packages/translation/src/lang/de-CH.json @@ -702,6 +702,132 @@ "create": "Verbindig teste und erstäue", "edit": "Verbinding teste und spichere" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "Dr Spicherknopf isch aktiv sobald d Verbindig het chönne hergstellt werde", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "Abbrechen", "delete": "Löschen", "discard": "Verwerfen", + "close": "", "confirm": "Bestätigen", "continue": "Fortfahren", "previous": "Zurück", @@ -3496,7 +3623,10 @@ "label": "" }, "certificates": { - "label": "Zertifikate" + "label": "Zertifikate", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "Vertrauenswürdige Zertifikate", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "Gültig bis {when}" + "expires": "Gültig bis {when}", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "Das Zertifikat konnte nicht entfernt werden" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/de.json b/packages/translation/src/lang/de.json index b4b966872..37b83255a 100644 --- a/packages/translation/src/lang/de.json +++ b/packages/translation/src/lang/de.json @@ -612,15 +612,15 @@ "select": { "label": "App auswählen", "notFound": "Keine App gefunden", - "search": "", - "noResults": "", - "action": "", - "title": "" + "search": "Nach einer App suchen", + "noResults": "Keine Ergebnisse", + "action": "{app} auswählen", + "title": "Wählen Sie eine App, die diesem Board hinzugefügt werden soll" }, "create": { "title": "Neue App erstellen", - "description": "", - "action": "" + "description": "Eine neue App erstellen", + "action": "App-Erstellung öffnen" }, "add": "App hinzufügen" } @@ -702,6 +702,132 @@ "create": "Verbindung erstellen und testen", "edit": "Verbindung erstellen und speichern" }, + "error": { + "common": { + "cause": { + "title": "Fall mit mehr Details" + } + }, + "unknown": { + "title": "Unbekannter Fehler", + "description": "Ein unbekannter Fehler ist aufgetreten, den Fall unten für mehr Details öffnen" + }, + "parse": { + "title": "Fehler beim Parsen", + "description": "Die Antwort konnte nicht analysiert werden. Bitte stellen Sie sicher, dass die URL auf die Basis-URL des Dienstes zeigt." + }, + "authorization": { + "title": "Autorisierungsfehler", + "description": "Die Anfrage wurde nicht autorisiert. Bitte überprüfen Sie, ob die Anmeldedaten korrekt sind und Sie diese mit mit den entsprechenden Berechtigungen konfiguriert haben." + }, + "statusCode": { + "title": "Antwort Fehler", + "description": "Unerwartete {statusCode} ({reason}) Antwort von erhalten. Bitte überprüfen Sie, ob die URL auf die Basis-URL der Integration verweist.", + "otherDescription": "Unerwartete {statusCode} Antwort von erhalten. Bitte stellen Sie sicher, dass die URL auf die Basis-URL der Integration zeigt.", + "reason": { + "badRequest": "Fehlerhafte Anfrage", + "notFound": "Nicht gefunden", + "tooManyRequests": "Zu viele Anfragen", + "internalServerError": "Interner Serverfehler", + "serviceUnavailable": "Dienst nicht verfügbar", + "gatewayTimeout": "Gateway-Zeitüberschreitung" + } + }, + "certificate": { + "title": "Zertifikatfehler", + "description": { + "expired": "Das Zertifikat ist abgelaufen.", + "notYetValid": "Das Zertifikat ist noch nicht gültig.", + "untrusted": "Dem Zertifikat wird nicht vertraut.", + "hostnameMismatch": "Der Hostname des Zertifikats entspricht nicht der URL." + }, + "alert": { + "permission": { + "title": "Nicht genügend Berechtigungen", + "message": "Sie sind nicht berechtigt Zertifikate zu vertrauen oder hochzuladen. Bitte kontaktieren Sie Ihren Administrator, um das notwendige Root-Zertifikat hochzuladen." + }, + "hostnameMismatch": { + "title": "Hostname stimmt nicht überein", + "message": "Der Hostname im Zertifikat stimmt nicht mit dem Hostnamen überein, mit dem Sie probieren sich zu verbinden. Dies könnte auf ein Sicherheitsrisiko hindeuten, Sie können trotzdem diesem Zertifikat vertrauen." + }, + "extract": { + "title": "CA-Zertifikatextraktion fehlgeschlagen", + "message": "Nur selbstsignierte Zertifikate ohne Kette können automatisch abgerufen werden. Falls Sie ein selbst signiertes Zertifikat verwenden, stellen Sie bitte sicher, dass Sie das CA-Zertifikat manuell hochladen. Hier finden Sie Anweisungen, wie man das macht." + } + }, + "action": { + "retry": { + "label": "Erstellung wiederholen" + }, + "trust": { + "label": "Zertifikat vertrauen" + }, + "upload": { + "label": "Zertifikat hochladen" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "Der Nichtübereinstimmung der Hostnamen zustimmen", + "message": "Sind Sie sicher, dass Sie dem Zertifikat mit einer Nichtübereinstimmung des Hostnamens vertrauen möchten?" + }, + "notification": { + "success": { + "title": "Vertrauenswürdige Zertifikate", + "message": "Hostname zu vertrauenswürdiger Zertifikatsliste hinzugefügt" + }, + "error": { + "title": "Ein Fehler ist beim vertrauen des Zertifikats aufgetreten", + "message": "Dem Zertifikat mit einer Nichtübereinstimmung des Hostnamens konnte nicht vertraut werden" + } + } + }, + "selfSigned": { + "confirm": { + "title": "Selbstsigniertem Zertifikat vertrauen", + "message": "Sind Sie sicher, dass Sie diesem selbst signierten Zertifikat vertrauen möchten?" + }, + "notification": { + "success": { + "title": "Vertrauenswürdige Zertifikate", + "message": "Zertifikat zur vertrauenswürdigen Zertifikatsliste hinzugefügt" + }, + "error": { + "title": "Ein Fehler ist beim vertrauen des Zertifikats aufgetreten", + "message": "Das Zertifikat konnte nicht zur vertrauenswürdigen Zertifikatsliste hinzugefügt werden" + } + } + }, + "details": { + "title": "Details", + "description": "Überprüfen Sie die Zertifikatsinformationen, bevor Sie sich dazu entschließen, ihr zu vertrauen.", + "content": { + "action": "Inhalt anzeigen", + "title": "PEM Zertifikat" + } + } + }, + "request": { + "title": "Anfrage Fehler", + "description": { + "connection": { + "hostUnreachable": "Der Server konnte nicht erreicht werden. Dies bedeutet in der Regel, dass der Host offline oder nicht von Ihrem Netzwerk aus erreichbar ist.", + "networkUnreachable": "Das Netzwerk ist nicht erreichbar. Bitte überprüfen Sie Ihre Internetverbindung oder die Netzwerkkonfiguration.", + "refused": "Der Server hat die Verbindung abgelehnt. Er läuft möglicherweise nicht oder lehnt Anfragen auf dem angegebenen Port ab.", + "reset": "Die Verbindung wurde unerwartet vom Server getrennt. Dies kann passieren, wenn der Server instabil ist oder neu gestartet wurde." + }, + "dns": { + "notFound": "Die Serveradresse konnte nicht gefunden werden. Bitte überprüfen Sie die URL auf Tippfehler oder ungültige Domainnamen.", + "timeout": "Zeitüberschreitung bei der DNS Anfrage. Dies kann ein temporäres Problem sein – bitte versuchen Sie es in ein paar Augenblicken erneut.", + "noAnswer": "Der DNS-Server hat keine gültige Antwort zurückgegeben. Die Domain existiert vielleicht, hat jedoch keine gültigen Datensätze." + }, + "timeout": { + "aborted": "Die Anfrage wurde abgebrochen, bevor sie abgeschlossen werden konnte. Dies könnte auf eine Benutzeraktion oder einen System Timeout zurückzuführen sein.", + "timeout": "Die Anfrage zu bearbeiten hat zu lange gedauert, sie ist damit abgelaufen. Überprüfe dein Netzwerk oder versuche es später erneut." + } + } + } + }, "alertNotice": "Der Speichern Button ist verfügbar, sobald eine erfolgreiche Verbindung hergestellt wurde", "notification": { "success": { @@ -769,8 +895,8 @@ "message": "Der Pfad ist vermutlich nicht korrekt" }, "tooManyRequests": { - "title": "", - "message": "" + "title": "Zu viele Anfragen innerhalb einer bestimmten Zeit", + "message": "Es gab zu viele Anfragen. Sie werden wahrscheinlich vom Zielsystem begrenzt oder abgelehnt" } } }, @@ -878,6 +1004,7 @@ "cancel": "Abbrechen", "delete": "Löschen", "discard": "Verwerfen", + "close": "Schließen", "confirm": "Bestätigen", "continue": "Fortfahren", "previous": "Zurück", @@ -1093,7 +1220,7 @@ "label": "Integrationen" }, "title": { - "label": "" + "label": "Titel" }, "customCssClasses": { "label": "Benutzerdefinierte CSS Klassen" @@ -1445,76 +1572,76 @@ } }, "stockPrice": { - "name": "", - "description": "", + "name": "Aktienpreis", + "description": "Zeigt den aktuellen Aktienkurs einer Firma an", "option": { "stock": { - "label": "" + "label": "Aktiensymbol" }, "timeRange": { - "label": "", + "label": "Zeitraum", "option": { "1d": { - "label": "" + "label": "1 Tag" }, "5d": { - "label": "" + "label": "5 Tage" }, "1mo": { - "label": "" + "label": "1 Monat" }, "3mo": { - "label": "" + "label": "3 Monate" }, "6mo": { - "label": "" + "label": "6 Monate" }, "ytd": { - "label": "" + "label": "Bisheriger Jahresverlauf" }, "1y": { - "label": "" + "label": "1 Jahr" }, "2y": { - "label": "" + "label": "2 Jahre" }, "5y": { - "label": "" + "label": "5 Jahre" }, "10y": { - "label": "" + "label": "10 Jahre" }, "max": { - "label": "" + "label": "Max" } } }, "timeInterval": { - "label": "", + "label": "Zeitintervall", "option": { "5m": { - "label": "" + "label": "5 Minuten" }, "15m": { - "label": "" + "label": "15 Minuten" }, "30m": { - "label": "" + "label": "30 Minuten" }, "1h": { - "label": "" + "label": "1 Stunde" }, "1d": { - "label": "" + "label": "1 Tag" }, "5d": { - "label": "" + "label": "5 Tage" }, "1wk": { - "label": "" + "label": "1 Woche" }, "1mo": { - "label": "" + "label": "1 Monat" } } } @@ -1771,8 +1898,8 @@ "description": "Zeige die aktuellen Streams auf deinen Medienservern an", "option": { "showOnlyPlaying": { - "label": "", - "description": "" + "label": "Nur aktuelle Wiedergabe anzeigen", + "description": "Diese Einstellung zu deaktivieren wird für Plex nicht funktionieren" } }, "items": { @@ -1805,7 +1932,7 @@ "label": "Torrent Einträge anzeigen die abgeschlossen wurden" }, "showCompletedHttp": { - "label": "" + "label": "Andere Einträge als abgeschlossen anzeigen" }, "activeTorrentThreshold": { "label": "Abgeschlossene Torrents unter diesem Schwellenwert ausblenden (in kiB/s)" @@ -1950,7 +2077,7 @@ "approved": "Bestätigt", "declined": "Abgelehnt", "failed": "Fehlgeschlagen", - "completed": "" + "completed": "Abgeschlossen" }, "toBeDetermined": "Noch Festzulegen" }, @@ -2054,94 +2181,94 @@ } }, "releases": { - "name": "", - "description": "", + "name": "Veröffentlichungen", + "description": "Zeigt eine Liste der aktuellen Version der angegebenen Repositories mit der angegebenen Version regex an.", "option": { "newReleaseWithin": { - "label": "", - "description": "" + "label": "Neue Version innerhalb", + "description": "Anwendungsbeispiel: 1w (1 Woche), 10M (10 Monate). Akzeptierte Einheiten h (Stunden), d (Tage), w (Wochen), M (Monate), y (Jahre). Leer lassen für keine Hervorhebung neuer Releases." }, "staleReleaseWithin": { - "label": "", - "description": "" + "label": "Veraltete Version innerhalb", + "description": "Anwendungsbeispiel: 1w (1 Woche), 10M (10 Monate). Akzeptierte Einheiten h (Stunden), d (Tage), w (Wochen), M (Monate), y (Jahre). Leer lassen für keine Hervorhebung von veralteten Releases." }, "showOnlyHighlighted": { - "label": "", - "description": "" + "label": "Nur markierte anzeigen", + "description": "Nur neue oder veraltete Versionen anzeigen. Wie oben beschrieben." }, "showDetails": { - "label": "" + "label": "Details anzeigen" }, "topReleases": { - "label": "", - "description": "" + "label": "Top Releases", + "description": "Die maximale Anzahl der neuesten Versionen, die angezeigt werden sollen. Null bedeutet kein Limit." }, "repositories": { - "label": "", + "label": "Repositories", "addRRepository": { - "label": "" + "label": "Repository hinzufügen" }, "provider": { - "label": "" + "label": "Anbieter" }, "identifier": { - "label": "", - "placeholder": "" + "label": "Identifier", + "placeholder": "Name oder Eigentümer/Name" }, "name": { - "label": "" + "label": "Name" }, "versionFilter": { - "label": "", + "label": "Versionsfilter", "prefix": { - "label": "" + "label": "Präfix" }, "precision": { - "label": "", + "label": "Präzision", "options": { - "none": "" + "none": "Keine" } }, "suffix": { - "label": "" + "label": "Suffix" }, "regex": { - "label": "" + "label": "Regulärer Ausdruck" } }, "edit": { - "label": "" + "label": "Bearbeiten" }, "editForm": { - "title": "", + "title": "Repository bearbeiten", "cancel": { - "label": "" + "label": "Abbrechen" }, "confirm": { - "label": "" + "label": "Bestätigen" } }, "example": { - "label": "" + "label": "Beispiel" }, - "invalid": "" + "invalid": "Ungültige Repository Definition, bitte überprüfen Sie die Werte" } }, - "not-found": "", - "pre-release": "", - "archived": "", - "forked": "", - "starsCount": "", - "forksCount": "", - "issuesCount": "", - "openProjectPage": "", - "openReleasePage": "", - "releaseDescription": "", - "created": "", + "not-found": "Nicht gefunden", + "pre-release": "Vorveröffentlichung", + "archived": "Archiviert", + "forked": "Forked", + "starsCount": "Sterne", + "forksCount": "Ableger", + "issuesCount": "Offene Tickets", + "openProjectPage": "Projektseite öffnen", + "openReleasePage": "Release Seite öffnen", + "releaseDescription": "Release Beschreibung", + "created": "Erstellt", "error": { - "label": "", + "label": "Fehler", "options": { - "noMatchingVersion": "" + "noMatchingVersion": "Keine passende Version gefunden" } } }, @@ -2149,56 +2276,56 @@ "option": {}, "card": { "vpn": { - "countConnected": "" + "countConnected": "{count} verbunden" } }, "error": { - "integrationsDisconnected": "", - "unknownContentOption": "" + "integrationsDisconnected": "Keine Daten verfügbar, alle Integrationen getrennt", + "unknownContentOption": "Unbekannte Inhaltsoption für das Widget der Netzwerk Controller Zusammenfassung: " }, - "name": "", - "description": "" + "name": "Netzwerk Controller Zusammenfassung", + "description": "Zeigt die Zusammenfassung eines Netzwerk Controller (wie UniFi-Controller) an" }, "networkControllerStatus": { "card": { "variants": { "wired": { - "name": "" + "name": "Kabel" }, "wifi": { - "name": "" + "name": "WLAN" } }, "users": { - "label": "" + "label": "Benutzer" }, "guests": { - "label": "" + "label": "Gäste" } }, "option": { "content": { "option": { "wifi": { - "label": "" + "label": "WLAN" }, "wired": { - "label": "" + "label": "Kabel" } }, - "label": "" + "label": "Widget Inhalt" } }, "error": { - "integrationsDisconnected": "", - "unknownContentOption": "" + "integrationsDisconnected": "Keine Daten verfügbar, alle Integrationen getrennt", + "unknownContentOption": "Unbekannte Inhaltsoption für das Netzwerkstatus Widget: " }, - "name": "", - "description": "" + "name": "Netzwerkstatus", + "description": "Angeschlossene Geräte in einem Netzwerk anzeigen" }, "networkController": { "error": { - "internalServerError": "" + "internalServerError": "Fehler beim Abrufen der Netzwerk Controller Zusammenfassung" } } }, @@ -2321,10 +2448,10 @@ }, "backgroundImageUrl": { "label": "URL des Hintergrundbildes", - "placeholder": "", + "placeholder": "Tippen, um nach lokale Bilder zu suchen", "group": { - "your": "", - "other": "" + "your": "Ihre Bilder", + "other": "Andere Bilder" } }, "backgroundImageAttachment": { @@ -2963,7 +3090,7 @@ "label": "Medien Transkodierung" }, "networkController": { - "label": "" + "label": "Netzwerk Controller" } } }, @@ -3496,7 +3623,10 @@ "label": "Logs" }, "certificates": { - "label": "Zertifikate" + "label": "Zertifikate", + "hostnames": { + "label": "Hostnamen" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "Hostname" + }, + "subject": { + "label": "Thema" + }, + "issuer": { + "label": "Ersteller" + }, + "validFrom": { + "label": "Gültig ab" + }, + "validTo": { + "label": "Gültig bis" + }, + "serialNumber": { + "label": "Seriennummer" + }, + "fingerprint": { + "label": "Fingerabdruck" + } + }, "page": { "list": { "title": "Vertrauenswürdige Zertifikate", @@ -3902,10 +4055,19 @@ "title": "Es gibt noch keine Zertifikate" }, "invalid": { - "title": "", - "description": "" + "title": "Ungültiges Zertifikat", + "description": "Fehler beim Analysieren des Zertifikats" }, - "expires": "Gültig bis {when}" + "expires": "Gültig bis {when}", + "toHostnames": "Vertrauenswürdige Hostnamen" + }, + "hostnames": { + "title": "Hostnamen der vertrauten Zertifikate", + "description": "Einige Zertifikate erlauben es der spezifischen Domäne von Homarr nicht, sie anzufordern. Um diese Einschränkungen zu umgehen werden alle vertrauenswürdigen Hostnamen mit ihrem Zertifikats Fingerabdruck verwendet.", + "noResults": { + "title": "Noch keine Hostnamen vorhanden" + }, + "toCertificates": "Zertifikate" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "Das Zertifikat konnte nicht entfernt werden" } } + }, + "removeHostname": { + "label": "Vertrauenswürdigen Hostnamen entfernen", + "confirm": "Sind Sie sicher, dass Sie diesen vertrauenswürdigen Hostnamen entfernen wollen? Dies kann dazu führen, dass einige Integrationen nicht mehr funktionieren.", + "notification": { + "success": { + "title": "Hostname entfernt", + "message": "Der Hostname wurde erfolgreich entfernt" + }, + "error": { + "title": "Hostname nicht entfernt", + "message": "Der Hostname konnte nicht entfernt werden" + } + } } } } diff --git a/packages/translation/src/lang/el.json b/packages/translation/src/lang/el.json index 612c71836..7719a173b 100644 --- a/packages/translation/src/lang/el.json +++ b/packages/translation/src/lang/el.json @@ -702,6 +702,132 @@ "create": "", "edit": "" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "Ακύρωση", "delete": "Διαγραφή", "discard": "", + "close": "", "confirm": "Επιβεβαίωση", "continue": "", "previous": "Προηγούμενο", @@ -3496,7 +3623,10 @@ "label": "" }, "certificates": { - "label": "" + "label": "", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "" + "expires": "", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/en-gb.json b/packages/translation/src/lang/en-gb.json index c14f4d750..ce388fbf8 100644 --- a/packages/translation/src/lang/en-gb.json +++ b/packages/translation/src/lang/en-gb.json @@ -702,6 +702,132 @@ "create": "Test the connection and create integration", "edit": "Test the connection and save" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "The save button is enabled once the connection is successfully established", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "Cancel", "delete": "Delete", "discard": "Discard", + "close": "", "confirm": "Confirm", "continue": "Continue", "previous": "Previous", @@ -3496,7 +3623,10 @@ "label": "" }, "certificates": { - "label": "" + "label": "", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "" + "expires": "", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/en.json b/packages/translation/src/lang/en.json index 0902cc0f6..e03c79aa3 100644 --- a/packages/translation/src/lang/en.json +++ b/packages/translation/src/lang/en.json @@ -1832,6 +1832,14 @@ } } }, + "dockerContainers": { + "name": "Docker stats", + "description": "Stats of your containers (This widget can only be added with administrator privileges)", + "option": {}, + "error": { + "internalServerError": "Failed to fetch containers stats" + } + }, "common": { "location": { "query": "City / Postal code", @@ -3091,6 +3099,9 @@ }, "networkController": { "label": "Network Controller" + }, + "dockerContainers": { + "label": "Docker containers" } } }, @@ -3154,8 +3165,9 @@ "title": "Containers", "table": { "updated": "Updated {when}", - "search": "Search {count} containers", - "selected": "{selectCount} of {totalCount} containers selected" + "search": "Seach {count} containers", + "selected": "{selectCount} of {totalCount} containers selected", + "footer": "Total {count} containers" }, "field": { "name": { @@ -3173,6 +3185,14 @@ "dead": "Dead" } }, + "stats": { + "cpu": { + "label": "CPU" + }, + "memory": { + "label": "Memory" + } + }, "containerImage": { "label": "Image" }, @@ -3181,6 +3201,7 @@ } }, "action": { + "title": "Actions", "start": { "label": "Start", "notification": { diff --git a/packages/translation/src/lang/es.json b/packages/translation/src/lang/es.json index 2adaec83c..4ec94eff8 100644 --- a/packages/translation/src/lang/es.json +++ b/packages/translation/src/lang/es.json @@ -3,7 +3,7 @@ "step": { "start": { "title": "Bienvenido a Homarr", - "subtitle": "Comencemos con la configuración de tu instancia de Homar.", + "subtitle": "Comencemos con la configuración de tu instancia de Homarr.", "description": "Para empezar, por favor, seleccione cómo desea configurar su instancia de Homarr.", "action": { "scratch": "Empezar de cero", @@ -35,7 +35,7 @@ } }, "summary": { - "title": "Importar resumen", + "title": "Resumen de importación", "description": "", "action": { "import": "Confirmar la importación y continuar" @@ -160,7 +160,7 @@ } }, "error": { - "usernameTaken": "Nombre de usuario ya está ocupado" + "usernameTaken": "" }, "action": { "login": { @@ -172,7 +172,7 @@ "message": "" }, "error": { - "title": "", + "title": "Inicio de sesión fallido", "message": "" } }, @@ -702,6 +702,132 @@ "create": "", "edit": "" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "Cancelar", "delete": "Eliminar", "discard": "", + "close": "", "confirm": "Confirmar", "continue": "", "previous": "Anterior", @@ -3496,7 +3623,10 @@ "label": "" }, "certificates": { - "label": "" + "label": "", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "" + "expires": "", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/et.json b/packages/translation/src/lang/et.json index 5c1c02160..0d1db0867 100644 --- a/packages/translation/src/lang/et.json +++ b/packages/translation/src/lang/et.json @@ -702,6 +702,132 @@ "create": "", "edit": "" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "", "delete": "", "discard": "", + "close": "", "confirm": "", "continue": "", "previous": "", @@ -3496,7 +3623,10 @@ "label": "" }, "certificates": { - "label": "" + "label": "", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "" + "expires": "", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/fr.json b/packages/translation/src/lang/fr.json index ea933509a..f059dacdb 100644 --- a/packages/translation/src/lang/fr.json +++ b/packages/translation/src/lang/fr.json @@ -702,6 +702,132 @@ "create": "Tester la connexion et créer", "edit": "Tester la connexion et enregistrer" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "Le bouton Enregistrer est activé une fois qu'une connexion est établie avec succès", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "Annuler", "delete": "Supprimer", "discard": "Abandonner", + "close": "", "confirm": "Confirmer", "continue": "Continuer", "previous": "Précédent", @@ -3496,7 +3623,10 @@ "label": "Journaux" }, "certificates": { - "label": "Certificats" + "label": "Certificats", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "Certificats de confiance", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "Expire le {when}" + "expires": "Expire le {when}", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "Le certificat n'a pas pu être supprimé" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/he.json b/packages/translation/src/lang/he.json index 3f66cc144..8c240f1da 100644 --- a/packages/translation/src/lang/he.json +++ b/packages/translation/src/lang/he.json @@ -702,6 +702,132 @@ "create": "בדוק חיבור וצור", "edit": "בדוק את החיבור ושמור" }, + "error": { + "common": { + "cause": { + "title": "סיבה עם פרטים נוספים" + } + }, + "unknown": { + "title": "שגיאה לא ידועה", + "description": "אירעה שגיאה לא ידועה, פתח את הסיבה למטה כדי לראות פרטים נוספים" + }, + "parse": { + "title": "שגיאת ניתוח", + "description": "לא ניתן היה לנתח את התגובה. אנא ודא שכתובת האתר מפנה לכתובת האתר הבסיסית של השירות." + }, + "authorization": { + "title": "שגיאת הרשאה", + "description": "הבקשה לא אושרה. אנא ודא שהאישורים נכונים ושהוגדרו לך הרשאות מספיקות." + }, + "statusCode": { + "title": "שגיאת תגובה", + "description": "התקבלה תגובה בלתי צפויה של {statusCode} ({reason}) מ-. אנא ודא שכתובת האתר מפנה לכתובת האתר הבסיסית של האינטגרציה.", + "otherDescription": "התקבלה תגובה בלתי צפויה של {statusCode} מ-. אנא ודא שכתובת האתר מפנה לכתובת האתר הבסיסית של האינטגרציה.", + "reason": { + "badRequest": "בקשה שגויה", + "notFound": "לא נמצא", + "tooManyRequests": "בקשות רבות מדי", + "internalServerError": "שגיאת שרת פנימית", + "serviceUnavailable": "השירות אינו זמין", + "gatewayTimeout": "פסק זמן של השער" + } + }, + "certificate": { + "title": "שגיאת תעודה", + "description": { + "expired": "פג תוקפה של תעודה זו.", + "notYetValid": "התעודה עדיין אינה בתוקף.", + "untrusted": "התעודה אינה מהימנה.", + "hostnameMismatch": "שם המארח של האישור אינו תואם לכתובת ה-URL." + }, + "alert": { + "permission": { + "title": "אין מספיק הרשאות", + "message": "אינך רשאי לתת אמון באישורים או להעלות אותם. אנא צור קשר עם מנהל המערכת שלך כדי להעלות את אישור הבסיס הדרוש." + }, + "hostnameMismatch": { + "title": "שם השרת לא תואם", + "message": "שם המארח בתעודה אינו תואם לשם המארח שאליו אתה מתחבר. זה יכול להצביע על סיכון אבטחה, אך עדיין תוכל לבחור לתת אמון בתעודה זו." + }, + "extract": { + "title": "חילוץ תעודת CA נכשל", + "message": "ניתן לאחזר באופן אוטומטי רק אישורים חתומים עצמית ללא שרשרת. אם אתם משתמשים באישור חתום עצמית, אנא ודאו שאתם מעלים את אישור רשות האישור באופן ידני. תוכלו למצוא הוראות כיצד לעשות זאת ." + } + }, + "action": { + "retry": { + "label": "נסה ליצור שוב" + }, + "trust": { + "label": "תעודה מהימנה" + }, + "upload": { + "label": "העלאת תעודת אבטחה" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "אי התאמה בשם המארח", + "message": "האם אתה בטוח שאתה רוצה לסמוך על האישור עם אי התאמה בשם המארח?" + }, + "notification": { + "success": { + "title": "תעודה מהימנה", + "message": "נוסף שם מארח לרשימת האישורים המהימנים" + }, + "error": { + "title": "נכשל בהוספת תעודת אבטחה", + "message": "לא ניתן היה לסמוך על האישור עם אי-התאמה בשם המארח" + } + } + }, + "selfSigned": { + "confirm": { + "title": "תעודת אמון חתומה עצמית", + "message": "האם אתה בטוח שאתה רוצה לסמוך על אישור חתום עצמי זה?" + }, + "notification": { + "success": { + "title": "תעודה מהימנה", + "message": "נוסף שם מארח לרשימת האישורים המהימנים" + }, + "error": { + "title": "נכשל בהוספת תעודת אבטחה", + "message": "נכשל בהוספת האישור לרשימת האישורים המהימנים" + } + } + }, + "details": { + "title": "פרטים", + "description": "בדוק את פרטי האישור לפני שתחליט לסמוך עליו.", + "content": { + "action": "הצג תוכן", + "title": "תעודת PEM" + } + } + }, + "request": { + "title": "שגיאת בקשה", + "description": { + "connection": { + "hostUnreachable": "לא ניתן היה להגיע לשרת. משמעות הדבר בדרך כלל היא שהמארח לא מקוון או שאינו ניתן להשגה מהרשת שלך.", + "networkUnreachable": "הרשת אינה נגישה. אנא בדוק את חיבור האינטרנט או את תצורת הרשת שלך.", + "refused": "השרת דחה את החיבור. ייתכן שהוא אינו פועל או דוחה בקשות בפורט שצוין.", + "reset": "החיבור נסגר באופן בלתי צפוי על ידי השרת. זה יכול לקרות אם השרת אינו יציב או שהופעל מחדש." + }, + "dns": { + "notFound": "לא ניתן היה למצוא את כתובת השרת. אנא בדוק את כתובת ה-URL עבור שגיאות הקלדה או שמות דומיין לא חוקיים.", + "timeout": "בדיקת DNS הסתיימה. ייתכן שמדובר בבעיה זמנית - אנא נסה שוב בעוד מספר רגעים.", + "noAnswer": "שרת ה-DNS לא החזיר תגובה תקפה. ייתכן שהדומיין קיים אך אין לו רשומות תקפות." + }, + "timeout": { + "aborted": "הבקשה בוטלה לפני שהספיקה להשלים אותה. ייתכן שהדבר נובע מפעולת משתמש או מפסק זמן של המערכת.", + "timeout": "הבקשה ארכה זמן רב מדי להשלמה ופג תוקפו. בדוק את הרשת שלך או נסה שוב מאוחר יותר." + } + } + } + }, "alertNotice": "הלחצן שמור מופעל לאחר יצירת חיבור מוצלח", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "בטל", "delete": "מחיקה", "discard": "ביטול", + "close": "סגור", "confirm": "לאשר", "continue": "המשך", "previous": "הקודם", @@ -2059,11 +2186,11 @@ "option": { "newReleaseWithin": { "label": "מהדורה חדשה בתוך", - "description": "" + "description": "דוגמת שימוש: שבוע אחד (1), חודש אחד (10 חודשים). סוגי יחידות מקובלים: h (שעות), d (ימים), w (שבועות), M (חודשים), y (שנים). השאר ריק כדי לא להדגיש מהדורות חדשות." }, "staleReleaseWithin": { "label": "מהדורה חדשה בתוך", - "description": "" + "description": "דוגמת שימוש: 1w (שבוע אחד), 10M (10 חודשים). סוגי יחידות מקובלים h (שעות), d (ימים), w (שבועות), M (חודשים), y (שנים). השאר ריק כדי לא להדגיש גרסאות ישנות." }, "showOnlyHighlighted": { "label": "הצג רק את המודגשים", @@ -2073,8 +2200,8 @@ "label": "הצג פרטים" }, "topReleases": { - "label": "", - "description": "" + "label": "מהדורות מובילות", + "description": "המספר המרבי של מהדורות אחרונות להצגה. אפס פירושו שאין הגבלה." }, "repositories": { "label": "מאגרים", @@ -2089,7 +2216,7 @@ "placeholder": "שם או בעלים/שם" }, "name": { - "label": "" + "label": "שם" }, "versionFilter": { "label": "מסנן גירסאות", @@ -2139,9 +2266,9 @@ "releaseDescription": "תיאור הגרסה", "created": "נוצר", "error": { - "label": "", + "label": "שגיאה", "options": { - "noMatchingVersion": "" + "noMatchingVersion": "לא נמצאה גרסה תואמת" } } }, @@ -3496,7 +3623,10 @@ "label": "קבצי לוג" }, "certificates": { - "label": "אישורי אבטחה" + "label": "אישורי אבטחה", + "hostnames": { + "label": "שמות מארחים" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "שם מארח" + }, + "subject": { + "label": "נושא" + }, + "issuer": { + "label": "מנפיק" + }, + "validFrom": { + "label": "בתוקף מ: " + }, + "validTo": { + "label": "בתוקף מ: " + }, + "serialNumber": { + "label": "מספר סידורי" + }, + "fingerprint": { + "label": "טביעת אצבע" + } + }, "page": { "list": { "title": "תעודות מהימנות", @@ -3905,7 +4058,16 @@ "title": "אישור לא חוקי", "description": "נכשל בהוספת תעודת אבטחה" }, - "expires": "פג ב- {when}" + "expires": "פג ב- {when}", + "toHostnames": "שמות מארחים מאושרים" + }, + "hostnames": { + "title": "שמות מארחים של תעודות מהימנות", + "description": "חלק מהאישורים אינם מאפשרים לדומיין הספציפי בו Homarr משתמש לבקש אותם, מסיבה זו כל שמות המארח המהימנים עם טביעות האצבע של האישור שלהם משמשים כדי לעקוף את ההגבלות הללו.", + "noResults": { + "title": "אין עדיין שמות מארחים" + }, + "toCertificates": "אישורי אבטחה" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "לא היה ניתן להסיר את תעודת האבטחה" } } + }, + "removeHostname": { + "label": "הסר שם מארח מהימן", + "confirm": "האם אתה בטוח שברצונך להסיר את שם המארח המהימן הזה? זה עלול לגרום לחלק מהאינטגרציות להפסיק לפעול.", + "notification": { + "success": { + "title": "שם המארח הוסר", + "message": "שם המארח הוסר בהצלחה" + }, + "error": { + "title": "שם המארח לא הוסר", + "message": "לא היה ניתן להסיר את שם המארח" + } + } } } } diff --git a/packages/translation/src/lang/hr.json b/packages/translation/src/lang/hr.json index cfc3de796..1fba4eeb6 100644 --- a/packages/translation/src/lang/hr.json +++ b/packages/translation/src/lang/hr.json @@ -702,6 +702,132 @@ "create": "", "edit": "" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "Otkaži", "delete": "Obriši", "discard": "", + "close": "", "confirm": "Potvrdi", "continue": "", "previous": "Prethodno", @@ -3496,7 +3623,10 @@ "label": "" }, "certificates": { - "label": "" + "label": "", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "" + "expires": "", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/hu.json b/packages/translation/src/lang/hu.json index 08711bfef..a35b60c20 100644 --- a/packages/translation/src/lang/hu.json +++ b/packages/translation/src/lang/hu.json @@ -702,6 +702,132 @@ "create": "Tesztelje a kapcsolatot és hozzon létre", "edit": "Tesztelje a kapcsolatot és mentsen" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "A Mentés gomb a sikeres kapcsolat létrehozása után aktiválódik", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "Mégse", "delete": "Törlés", "discard": "Elvetés", + "close": "", "confirm": "Megerősít", "continue": "Folytatás", "previous": "Előző", @@ -3496,7 +3623,10 @@ "label": "" }, "certificates": { - "label": "" + "label": "", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "" + "expires": "", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/it.json b/packages/translation/src/lang/it.json index 9f806dbae..705b1896b 100644 --- a/packages/translation/src/lang/it.json +++ b/packages/translation/src/lang/it.json @@ -702,6 +702,132 @@ "create": "Prova la connessione e crea", "edit": "Prova la connessione e salva" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "Il pulsante Salva è abilitato una volta stabilita una connessione con successo", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "Annulla", "delete": "Elimina", "discard": "", + "close": "", "confirm": "Conferma", "continue": "", "previous": "Precedente", @@ -3496,7 +3623,10 @@ "label": "" }, "certificates": { - "label": "" + "label": "", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "" + "expires": "", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/ja.json b/packages/translation/src/lang/ja.json index 69fdfba25..dd8e59c46 100644 --- a/packages/translation/src/lang/ja.json +++ b/packages/translation/src/lang/ja.json @@ -702,6 +702,132 @@ "create": "", "edit": "" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "キャンセル", "delete": "削除", "discard": "", + "close": "", "confirm": "確認", "continue": "次へ", "previous": "前へ", @@ -3496,7 +3623,10 @@ "label": "" }, "certificates": { - "label": "" + "label": "", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "" + "expires": "", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/ko.json b/packages/translation/src/lang/ko.json index 934afca77..e9faa47fc 100644 --- a/packages/translation/src/lang/ko.json +++ b/packages/translation/src/lang/ko.json @@ -702,6 +702,132 @@ "create": "", "edit": "" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "취소", "delete": "삭제", "discard": "", + "close": "", "confirm": "확인", "continue": "", "previous": "이전", @@ -3496,7 +3623,10 @@ "label": "" }, "certificates": { - "label": "" + "label": "", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "" + "expires": "", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/lt.json b/packages/translation/src/lang/lt.json index 34de96955..0d6a5d1f3 100644 --- a/packages/translation/src/lang/lt.json +++ b/packages/translation/src/lang/lt.json @@ -702,6 +702,132 @@ "create": "", "edit": "" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "Atšaukti", "delete": "", "discard": "", + "close": "", "confirm": "", "continue": "", "previous": "", @@ -3496,7 +3623,10 @@ "label": "" }, "certificates": { - "label": "" + "label": "", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "" + "expires": "", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/lv.json b/packages/translation/src/lang/lv.json index ea94cfcd8..5b5b4facc 100644 --- a/packages/translation/src/lang/lv.json +++ b/packages/translation/src/lang/lv.json @@ -702,6 +702,132 @@ "create": "", "edit": "" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "Atcelt", "delete": "Dzēst", "discard": "", + "close": "", "confirm": "Apstipriniet", "continue": "", "previous": "Iepriekšējais", @@ -3496,7 +3623,10 @@ "label": "" }, "certificates": { - "label": "" + "label": "", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "" + "expires": "", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/nl.json b/packages/translation/src/lang/nl.json index 8846a4414..e17f3c0bb 100644 --- a/packages/translation/src/lang/nl.json +++ b/packages/translation/src/lang/nl.json @@ -612,17 +612,17 @@ "select": { "label": "App selecteren", "notFound": "Geen app gevonden", - "search": "", - "noResults": "", - "action": "", - "title": "" + "search": "Zoek naar een app", + "noResults": "Geen resultaten gevonden voor deze zoekopdracht", + "action": "Selecteer {app}", + "title": "Selecteer een app om aan dit bord toe te voegen" }, "create": { - "title": "", - "description": "", - "action": "" + "title": "Nieuwe app aanmaken", + "description": "Een nieuwe app aanmaken ", + "action": "Open app aanmaken" }, - "add": "" + "add": "Een app toevoegen" } }, "integration": { @@ -702,6 +702,132 @@ "create": "Verbinding testen en aanmaken", "edit": "Verbinding testen en opslaan" }, + "error": { + "common": { + "cause": { + "title": "Reden met meer details" + } + }, + "unknown": { + "title": "Onbekende fout", + "description": "Er is een onbekende fout opgetreden, open de reden hieronder om meer details te zien" + }, + "parse": { + "title": "Parser fout", + "description": "" + }, + "authorization": { + "title": "Fout tijdens het aanmelden", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "De opslaan knop wordt ingeschakeld zodra er een succesvolle verbinding tot stand is gebracht", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "Annuleren", "delete": "Verwijderen", "discard": "Negeren", + "close": "", "confirm": "Bevestigen", "continue": "Doorgaan", "previous": "Vorige", @@ -3496,7 +3623,10 @@ "label": "Logs" }, "certificates": { - "label": "Certificaten" + "label": "Certificaten", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "Vertrouwde certificaten", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "Verloopt {when}" + "expires": "Verloopt {when}", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "Certificaat kon niet worden verwijderd" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/no.json b/packages/translation/src/lang/no.json index 60ff8e0e6..b6bab56f9 100644 --- a/packages/translation/src/lang/no.json +++ b/packages/translation/src/lang/no.json @@ -702,6 +702,132 @@ "create": "Test tilkobling og opprett", "edit": "Test tilkobling og lagre" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "Lagre-knappen er aktivert når en vellykket tilkobling er opprettet", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "Avbryt", "delete": "Slett", "discard": "Forkast", + "close": "", "confirm": "Bekreft", "continue": "Fortsett", "previous": "Tidligere", @@ -3496,7 +3623,10 @@ "label": "Logger" }, "certificates": { - "label": "Sertifikater" + "label": "Sertifikater", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "Betrodde sertifikater", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "Utløper {when}" + "expires": "Utløper {when}", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "Sertifikatet kunne ikke fjernes" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/pl.json b/packages/translation/src/lang/pl.json index dfb00ae09..555d5f761 100644 --- a/packages/translation/src/lang/pl.json +++ b/packages/translation/src/lang/pl.json @@ -702,6 +702,132 @@ "create": "Sprawdź połączenie i utwórz", "edit": "Sprawdź połączenie i zapisz" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "Przycisk Zapisz jest włączony po nawiązaniu pomyślnego połączenia", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "Anuluj", "delete": "Usuń", "discard": "Odrzuć", + "close": "", "confirm": "Potwierdź", "continue": "Kontynuuj", "previous": "Poprzedni", @@ -3496,7 +3623,10 @@ "label": "" }, "certificates": { - "label": "" + "label": "", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "" + "expires": "", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/pt.json b/packages/translation/src/lang/pt.json index ca5533d69..fc7c8c3e0 100644 --- a/packages/translation/src/lang/pt.json +++ b/packages/translation/src/lang/pt.json @@ -702,6 +702,132 @@ "create": "", "edit": "" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "Cancelar", "delete": "Apagar", "discard": "", + "close": "", "confirm": "Confirme", "continue": "", "previous": "Anterior", @@ -3496,7 +3623,10 @@ "label": "" }, "certificates": { - "label": "" + "label": "", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "" + "expires": "", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/ro.json b/packages/translation/src/lang/ro.json index 307362251..a7198f4f1 100644 --- a/packages/translation/src/lang/ro.json +++ b/packages/translation/src/lang/ro.json @@ -702,6 +702,132 @@ "create": "", "edit": "" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "Anulează", "delete": "Șterge", "discard": "", + "close": "", "confirm": "Confirma", "continue": "", "previous": "Anteriorul", @@ -3496,7 +3623,10 @@ "label": "" }, "certificates": { - "label": "" + "label": "", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "" + "expires": "", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/ru.json b/packages/translation/src/lang/ru.json index 1419eddce..a62503a30 100644 --- a/packages/translation/src/lang/ru.json +++ b/packages/translation/src/lang/ru.json @@ -702,6 +702,132 @@ "create": "Проверить подключение и создать", "edit": "Проверить подключение и сохранить" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "Кнопка сохранения станет доступна после успешного подключения", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "Отмена", "delete": "Удалить", "discard": "Отменить", + "close": "", "confirm": "Подтвердить", "continue": "Продолжить", "previous": "Назад", @@ -3496,7 +3623,10 @@ "label": "Логи" }, "certificates": { - "label": "Сертификаты" + "label": "Сертификаты", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "Доверенные сертификаты", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "Истекает {when}" + "expires": "Истекает {when}", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "Произошла ошибка при удалении сертификата" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/sk.json b/packages/translation/src/lang/sk.json index 53d2f2cbf..15287909a 100644 --- a/packages/translation/src/lang/sk.json +++ b/packages/translation/src/lang/sk.json @@ -702,6 +702,132 @@ "create": "Otestujte pripojenie a vytvorte", "edit": "Otestujte pripojenie a uložte" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "Tlačidlo Uložiť sa aktivuje po úspešnom nadviazaní spojenia.", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "Zrušiť", "delete": "Vymazať", "discard": "Zahodiť", + "close": "", "confirm": "Potvrďte", "continue": "Pokračovať", "previous": "Predchádzajúci", @@ -3496,7 +3623,10 @@ "label": "Záznamy" }, "certificates": { - "label": "" + "label": "", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "" + "expires": "", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/sl.json b/packages/translation/src/lang/sl.json index c4b6d31b9..1db1be7b6 100644 --- a/packages/translation/src/lang/sl.json +++ b/packages/translation/src/lang/sl.json @@ -702,6 +702,132 @@ "create": "", "edit": "" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "Prekliči", "delete": "Izbriši", "discard": "", + "close": "", "confirm": "Potrdi", "continue": "", "previous": "Prejšnji", @@ -3496,7 +3623,10 @@ "label": "" }, "certificates": { - "label": "" + "label": "", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "" + "expires": "", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/sv.json b/packages/translation/src/lang/sv.json index aaf4b5497..786efd412 100644 --- a/packages/translation/src/lang/sv.json +++ b/packages/translation/src/lang/sv.json @@ -702,6 +702,132 @@ "create": "", "edit": "" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "Avbryt", "delete": "Ta bort", "discard": "", + "close": "", "confirm": "Bekräfta", "continue": "", "previous": "Föregående", @@ -3496,7 +3623,10 @@ "label": "" }, "certificates": { - "label": "" + "label": "", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "" + "expires": "", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/tr.json b/packages/translation/src/lang/tr.json index a4772e931..d83e83977 100644 --- a/packages/translation/src/lang/tr.json +++ b/packages/translation/src/lang/tr.json @@ -702,6 +702,132 @@ "create": "Bağlantıyı test et ve oluştur", "edit": "Bağlantıyı test et ve kaydet" }, + "error": { + "common": { + "cause": { + "title": "Daha fazla detay içeren neden" + } + }, + "unknown": { + "title": "Bilinmeyen hata", + "description": "Bilinmeyen bir hata oluştu, daha fazla ayrıntı görmek için aşağıdaki nedeni açın" + }, + "parse": { + "title": "Ayrıştırma hatası", + "description": "Yanıt ayrıştırılamadı. Lütfen URL'nin hizmetin temel URL’sine yönlendirildiğinden emin olun." + }, + "authorization": { + "title": "Yetkilendirme hatası", + "description": "İstek yetkilendirilemedi. Lütfen kimlik bilgilerinin doğru olduğunu ve yeterli izinlerle yapılandırıldığını doğrulayın." + }, + "statusCode": { + "title": "Yanıt hatası", + "description": " adresinden beklenmeyen bir {statusCode} ({reason}) yanıtı alındı. Lütfen URL’nin entegrasyon temel URL’sine yönlendirildiğinden emin olun.", + "otherDescription": " adresinden beklenmeyen {statusCode} yanıtı alındı. Lütfen URL’nin entegrasyonun temel URL’sine yönlendirildiğinden emin olun.", + "reason": { + "badRequest": "Geçersiz istek", + "notFound": "Bulunamadı", + "tooManyRequests": "Çok fazla istek", + "internalServerError": "Dahili sunucu hatası", + "serviceUnavailable": "Hizmet mevcut değil", + "gatewayTimeout": "Ağ geçidi zaman aşımı" + } + }, + "certificate": { + "title": "Sertifika hatası", + "description": { + "expired": "Sertifikanın süresi doldu.", + "notYetValid": "Sertifika henüz geçerli değil.", + "untrusted": "Sertifika güvenilir değil.", + "hostnameMismatch": "Sertifika ana makine adı URL ile eşleşmiyor." + }, + "alert": { + "permission": { + "title": "İzinler yetersiz", + "message": "Sertifikalara güvenmeniz veya yüklemeniz yasaktır. Lütfen gerekli kök sertifikayı yüklemek için yöneticinizle iletişime geçin." + }, + "hostnameMismatch": { + "title": "Ana makine adı uyumsuzluğu", + "message": "Sertifikadaki ana makine adı, bağlandığınız ana makine adıyla eşleşmiyor. Bu bir güvenlik riski olduğunu gösterebilir, ancak yine de bu sertifikaya güvenmeyi seçebilirsiniz." + }, + "extract": { + "title": "CA sertifikası çıkarma işlemi başarısız oldu", + "message": "Yalnızca zinciri olmayan kendinden imzalı sertifikalar otomatik olarak alınabilir. Kendinden imzalı bir sertifika kullanıyorsanız, lütfen CA sertifikasını manuel olarak yüklediğinizden emin olun. Bunu nasıl yapacağınızla ilgili talimatları adresinde bulabilirsiniz." + } + }, + "action": { + "retry": { + "label": "Yeniden oluşturmayı deneyin" + }, + "trust": { + "label": "Güvenilir sertifika" + }, + "upload": { + "label": "Sertifika yükle" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "Güvenilen ana makine adı uyumsuzluğu", + "message": "Ana makine adı uyumsuzluğu olan sertifikaya güvenmek istediğinizden emin misiniz?" + }, + "notification": { + "success": { + "title": "Güvenilen sertifika", + "message": "Ana makine adı güvenilir sertifika listesine eklendi" + }, + "error": { + "title": "Sertifikaya güvenilemedi", + "message": "Ana makine adı uyuşmazlığı olan sertifikaya güvenilemedi" + } + } + }, + "selfSigned": { + "confirm": { + "title": "Kendinden imzalı sertifikaya güven", + "message": "Kendinden imzalı bu sertifikaya güvenmek istediğinizden emin misiniz?" + }, + "notification": { + "success": { + "title": "Güvenilen sertifika", + "message": "Sertifika güvenilen sertifika listesine eklendi" + }, + "error": { + "title": "Sertifikaya güvenilemedi", + "message": "Sertifika güvenilen sertifika listesine eklenemedi" + } + } + }, + "details": { + "title": "Ayrıntılar", + "description": "Güvenmeye karar vermeden önce sertifika bilgilerini inceleyin.", + "content": { + "action": "İçeriği göster", + "title": "PEM Sertifikası" + } + } + }, + "request": { + "title": "İstek hatası", + "description": { + "connection": { + "hostUnreachable": "Sunucuya ulaşılamadı. Bu genellikle ana makinanın çevrimdışı olduğu veya ağınızdan erişilemediği anlamına gelir.", + "networkUnreachable": "Ağa ulaşılamıyor. Lütfen internet bağlantınızı veya ağ yapılandırmanızı kontrol edin.", + "refused": "Sunucu bağlantıyı reddetti. Belirtilen portta çalışmıyor olabilir veya istekler reddediliyor olabilir.", + "reset": "Bağlantı sunucu tarafından beklenmedik şekilde kapatıldı. Bu, sunucunun dengesiz olması veya yeniden başlatılması durumunda olabilir." + }, + "dns": { + "notFound": "Sunucu adresine ulaşılamadı. Lütfen URL’de yazım hatası veya geçersiz bir alan adı olup olmadığını kontrol edin.", + "timeout": "DNS sorgusu zaman aşımına uğradı. Bu geçici bir sorun olabilir lütfen kısa bir süre sonra yeniden deneyin.", + "noAnswer": "DNS sunucusu geçerli bir yanıt döndürmedi. Alan adı mevcut olabilir ancak geçerli kayıtlara sahip olmayabilir." + }, + "timeout": { + "aborted": "İstek tamamlanmadan önce iptal edildi. Bunun nedeni kullanıcı müdahalesi veya sistem zaman aşımı olabilir.", + "timeout": "İsteğin tamamlanması çok uzun sürdü ve zaman aşımına uğradı. Ağ bağlantınızı kontrol edin veya daha sonra tekrar deneyin." + } + } + } + }, "alertNotice": "Bağlantı başarılı olduğunda Kaydet butonu etkinleştirilir", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "Vazgeç", "delete": "Sil", "discard": "Yoksay", + "close": "Kapat", "confirm": "Onayla", "continue": "Devam Et", "previous": "Önceki", @@ -3496,7 +3623,10 @@ "label": "Günlükler" }, "certificates": { - "label": "Sertifikalar" + "label": "Sertifikalar", + "hostnames": { + "label": "Ana makine adları" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "Sunucu" + }, + "subject": { + "label": "Konu" + }, + "issuer": { + "label": "Sağlayıcı" + }, + "validFrom": { + "label": "Zamanından itibaren" + }, + "validTo": { + "label": "Zamanına kadar" + }, + "serialNumber": { + "label": "Seri numarası" + }, + "fingerprint": { + "label": "Parmak izi" + } + }, "page": { "list": { "title": "Güvenilen sertifikalar", @@ -3905,7 +4058,16 @@ "title": "Geçersiz sertifika", "description": "Sertifika çözümlenemedi" }, - "expires": "{when} süresi doluyor" + "expires": "{when} süresi doluyor", + "toHostnames": "Güvenilir ana makine adları" + }, + "hostnames": { + "title": "Güvenilen sertifika ana makine adları", + "description": "Bazı sertifikalar, Homarr’ın kullanmak istediği belirli alan adından istek yapılmasına izin vermemektedir. Bu nedenle, bu kısıtlamaları aşmak için tüm güvenilen ana makineler ve onların sertifika parmak izleri kullanılır.", + "noResults": { + "title": "Henüz hiçbir ana makine adı yok" + }, + "toCertificates": "Sertifikalar" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "Sertifika kaldırılamadı" } } + }, + "removeHostname": { + "label": "Güvenilen ana makine adını kaldır", + "confirm": "Güvenilen bu ana makine adını kaldırmak istediğinizden emin misiniz? İşlem, bazı entegrasyonların çalışmamasına neden olabilir.", + "notification": { + "success": { + "title": "Ana makine adı kaldırıldı", + "message": "Ana makine adı başarıyla kaldırıldı" + }, + "error": { + "title": "Ana makine adı kaldırılmadı", + "message": "Ana makine adı kaldırılamadı" + } + } } } } diff --git a/packages/translation/src/lang/uk.json b/packages/translation/src/lang/uk.json index 2215c75de..1ddca84c7 100644 --- a/packages/translation/src/lang/uk.json +++ b/packages/translation/src/lang/uk.json @@ -702,6 +702,132 @@ "create": "Перевірити підключення та створити", "edit": "Перевірити підключення та зберегти" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "Кнопка \"Зберегти\" стане доступною після успішного підключення", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "Скасувати", "delete": "Видалити", "discard": "Відмінити", + "close": "", "confirm": "Підтвердити", "continue": "Продовжити", "previous": "Попередній", @@ -3496,7 +3623,10 @@ "label": "Логи" }, "certificates": { - "label": "Сертифікати" + "label": "Сертифікати", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "" + "expires": "", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "Не вдалося видалити сертифікат" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/vi.json b/packages/translation/src/lang/vi.json index f4583545b..b04d50f53 100644 --- a/packages/translation/src/lang/vi.json +++ b/packages/translation/src/lang/vi.json @@ -702,6 +702,132 @@ "create": "", "edit": "" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "Hủy", "delete": "Xóa", "discard": "", + "close": "", "confirm": "Xác nhận", "continue": "", "previous": "Trước", @@ -3496,7 +3623,10 @@ "label": "" }, "certificates": { - "label": "" + "label": "", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "", @@ -3905,7 +4058,16 @@ "title": "", "description": "" }, - "expires": "" + "expires": "", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/zh.json b/packages/translation/src/lang/zh.json index b9f6006ae..fd14c0617 100644 --- a/packages/translation/src/lang/zh.json +++ b/packages/translation/src/lang/zh.json @@ -702,6 +702,132 @@ "create": "測試連線並創建", "edit": "測試連線並儲存" }, + "error": { + "common": { + "cause": { + "title": "" + } + }, + "unknown": { + "title": "", + "description": "" + }, + "parse": { + "title": "", + "description": "" + }, + "authorization": { + "title": "", + "description": "" + }, + "statusCode": { + "title": "", + "description": "", + "otherDescription": "", + "reason": { + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" + } + }, + "certificate": { + "title": "", + "description": { + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" + }, + "alert": { + "permission": { + "title": "", + "message": "" + }, + "hostnameMismatch": { + "title": "", + "message": "" + }, + "extract": { + "title": "", + "message": "" + } + }, + "action": { + "retry": { + "label": "" + }, + "trust": { + "label": "" + }, + "upload": { + "label": "" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "selfSigned": { + "confirm": { + "title": "", + "message": "" + }, + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "details": { + "title": "", + "description": "", + "content": { + "action": "", + "title": "" + } + } + }, + "request": { + "title": "", + "description": { + "connection": { + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" + }, + "dns": { + "notFound": "", + "timeout": "", + "noAnswer": "" + }, + "timeout": { + "aborted": "", + "timeout": "" + } + } + } + }, "alertNotice": "成功建立連線後儲存按鈕將啟用", "notification": { "success": { @@ -878,6 +1004,7 @@ "cancel": "取消", "delete": "移除", "discard": "丟棄", + "close": "", "confirm": "確認", "continue": "繼續", "previous": "上一步", @@ -3496,7 +3623,10 @@ "label": "Logs" }, "certificates": { - "label": "憑證" + "label": "憑證", + "hostnames": { + "label": "" + } } }, "settings": { @@ -3894,6 +4024,29 @@ } }, "certificate": { + "field": { + "hostname": { + "label": "" + }, + "subject": { + "label": "" + }, + "issuer": { + "label": "" + }, + "validFrom": { + "label": "" + }, + "validTo": { + "label": "" + }, + "serialNumber": { + "label": "" + }, + "fingerprint": { + "label": "" + } + }, "page": { "list": { "title": "可信任的憑證", @@ -3905,7 +4058,16 @@ "title": "無效的證書", "description": "解析證書失敗" }, - "expires": "到期 {when}" + "expires": "到期 {when}", + "toHostnames": "" + }, + "hostnames": { + "title": "", + "description": "", + "noResults": { + "title": "" + }, + "toCertificates": "" } }, "action": { @@ -3935,6 +4097,20 @@ "message": "此憑證無法被移除" } } + }, + "removeHostname": { + "label": "", + "confirm": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/ui/package.json b/packages/ui/package.json index 4ea2b5385..02e1916ed 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -32,7 +32,7 @@ "@mantine/core": "^8.0.1", "@mantine/dates": "^8.0.1", "@mantine/hooks": "^8.0.1", - "@tabler/icons-react": "^3.31.0", + "@tabler/icons-react": "^3.33.0", "mantine-react-table": "2.0.0-beta.9", "next": "15.3.2", "react": "19.1.0", @@ -43,7 +43,7 @@ "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", "@types/css-modules": "^1.0.5", - "eslint": "^9.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/validation/package.json b/packages/validation/package.json index 58e4bef2c..106c127c2 100644 --- a/packages/validation/package.json +++ b/packages/validation/package.json @@ -24,14 +24,14 @@ "dependencies": { "@homarr/definitions": "workspace:^0.1.0", "@homarr/translation": "workspace:^0.1.0", - "zod": "^3.24.4", + "zod": "^3.25.23", "zod-form-data": "^2.0.7" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/widgets/package.json b/packages/widgets/package.json index f34bc0bb8..757586ea7 100644 --- a/packages/widgets/package.json +++ b/packages/widgets/package.json @@ -33,6 +33,7 @@ "@homarr/common": "workspace:^0.1.0", "@homarr/db": "workspace:^0.1.0", "@homarr/definitions": "workspace:^0.1.0", + "@homarr/docker": "workspace:^0.1.0", "@homarr/form": "workspace:^0.1.0", "@homarr/forms-collection": "workspace:^0.1.0", "@homarr/integrations": "workspace:^0.1.0", @@ -50,7 +51,7 @@ "@mantine/charts": "^8.0.1", "@mantine/core": "^8.0.1", "@mantine/hooks": "^8.0.1", - "@tabler/icons-react": "^3.31.0", + "@tabler/icons-react": "^3.33.0", "@tiptap/extension-color": "2.12.0", "@tiptap/extension-highlight": "2.12.0", "@tiptap/extension-image": "2.12.0", @@ -75,14 +76,14 @@ "react-markdown": "^10.1.0", "recharts": "^2.15.3", "video.js": "^8.22.0", - "zod": "^3.24.4" + "zod": "^3.25.23" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", "@types/video.js": "^7.3.58", - "eslint": "^9.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/packages/widgets/src/docker/component.tsx b/packages/widgets/src/docker/component.tsx new file mode 100644 index 000000000..a17d365ee --- /dev/null +++ b/packages/widgets/src/docker/component.tsx @@ -0,0 +1,256 @@ +"use client"; + +import { useMemo } from "react"; +import { ActionIcon, Avatar, Badge, Group, Stack, Text, Tooltip } from "@mantine/core"; +import type { IconProps } from "@tabler/icons-react"; +import { IconBrandDocker, IconPlayerPlay, IconPlayerStop, IconRotateClockwise } from "@tabler/icons-react"; +import type { MRT_ColumnDef } from "mantine-react-table"; +import { MantineReactTable } from "mantine-react-table"; + +import type { RouterOutputs } from "@homarr/api"; +import { clientApi } from "@homarr/api/client"; +import { humanFileSize, useTimeAgo } from "@homarr/common"; +import type { ContainerState } from "@homarr/docker"; +import { containerStateColorMap } from "@homarr/docker/shared"; +import { showErrorNotification, showSuccessNotification } from "@homarr/notifications"; +import { useScopedI18n } from "@homarr/translation/client"; +import { useTranslatedMantineReactTable } from "@homarr/ui/hooks"; + +import type { WidgetComponentProps } from "../definition"; + +const ContainerStateBadge = ({ state }: { state: ContainerState }) => { + const t = useScopedI18n("docker.field.state.option"); + + return ( + + {t(state)} + + ); +}; + +const memoryUsageColor = (number: number, state: string) => { + const mbUsage = number / 1024 / 1024; + if (mbUsage === 0 && state !== "running") return "red"; + if (mbUsage < 128) return "green"; + if (mbUsage < 256) return "yellow"; + if (mbUsage < 512) return "orange"; + return "red"; +}; + +const cpuUsageColor = (number: number, state: string) => { + if (number === 0 && state !== "running") return "red"; + if (number < 40) return "green"; + if (number < 60) return "yellow"; + if (number < 90) return "orange"; + return "red"; +}; + +const safeValue = (value?: number, fallback = 0) => (value !== undefined && !isNaN(value) ? value : fallback); + +const actionIconIconStyle: IconProps["style"] = { + height: "var(--ai-icon-size)", + width: "var(--ai-icon-size)", +}; + +const createColumns = ( + t: ReturnType>, +): MRT_ColumnDef[] => [ + { + accessorKey: "name", + header: t("field.name.label"), + Cell({ renderedCellValue, row }) { + return ( + + + + {renderedCellValue} + + + ); + }, + }, + { + accessorKey: "state", + size: 100, + header: t("field.state.label"), + Cell({ row }) { + return ; + }, + }, + { + accessorKey: "cpuUsage", + size: 80, + header: t("field.stats.cpu.label"), + Cell({ row }) { + const cpuUsage = safeValue(row.original.cpuUsage); + + return ( + + {cpuUsage.toFixed(2)}% + + ); + }, + }, + { + accessorKey: "memoryUsage", + size: 80, + header: t("field.stats.memory.label"), + Cell({ row }) { + const bytesUsage = safeValue(row.original.memoryUsage); + + return ( + + {humanFileSize(bytesUsage)} + + ); + }, + }, + { + accessorKey: "actions", + size: 80, + header: t("action.title"), + Cell({ row }) { + const utils = clientApi.useUtils(); + const { mutateAsync: startContainer } = clientApi.docker.startAll.useMutation(); + const { mutateAsync: stopContainer } = clientApi.docker.stopAll.useMutation(); + const { mutateAsync: restartContainer } = clientApi.docker.restartAll.useMutation(); + + const handleActionAsync = async (action: "start" | "stop" | "restart") => { + const mutation = action === "start" ? startContainer : action === "stop" ? stopContainer : restartContainer; + + await mutation( + { ids: [row.original.id] }, + { + async onSettled() { + await utils.docker.getContainers.invalidate(); + }, + onSuccess() { + showSuccessNotification({ + title: t(`action.${action}.notification.success.title`), + message: t(`action.${action}.notification.success.message`), + }); + }, + onError() { + showErrorNotification({ + title: t(`action.${action}.notification.error.title`), + message: t(`action.${action}.notification.error.message`), + }); + }, + }, + ); + }; + + return ( + + + handleActionAsync(row.original.state === "running" ? "stop" : "start")} + > + {row.original.state === "running" ? ( + + ) : ( + + )} + + + + handleActionAsync("restart")}> + + + + + ); + }, + }, +]; + +export default function DockerWidget({ width }: WidgetComponentProps<"dockerContainers">) { + const t = useScopedI18n("docker"); + const isTiny = width <= 256; + + const utils = clientApi.useUtils(); + const [{ containers, timestamp }] = clientApi.docker.getContainers.useSuspenseQuery(); + const relativeTime = useTimeAgo(timestamp); + + clientApi.docker.subscribeContainers.useSubscription(undefined, { + onData(data) { + utils.docker.getContainers.setData(undefined, { containers: data, timestamp: new Date() }); + }, + }); + + const totalContainers = containers.length; + + const columns = useMemo(() => createColumns(t), [t]); + + const table = useTranslatedMantineReactTable({ + columns, + data: containers, + enablePagination: false, + enableTopToolbar: false, + enableBottomToolbar: false, + enableSorting: false, + enableColumnActions: false, + enableStickyHeader: false, + enableColumnOrdering: false, + enableRowSelection: false, + enableFullScreenToggle: false, + enableGlobalFilter: false, + enableDensityToggle: false, + enableFilters: false, + enableHiding: false, + initialState: { + density: "xs", + }, + mantinePaperProps: { + flex: 1, + withBorder: false, + shadow: undefined, + }, + mantineTableProps: { + className: "docker-widget-table", + style: { + tableLayout: "fixed", + }, + }, + mantineTableHeadProps: { + fz: "xs", + }, + mantineTableHeadCellProps: { + p: 4, + }, + mantineTableBodyCellProps: { + p: 4, + }, + mantineTableContainerProps: { + style: { + height: "100%", + }, + }, + }); + + return ( + + + + {!isTiny && ( + + + + {t("table.footer", { count: totalContainers.toString() })} + + + {t("table.updated", { when: relativeTime })} + + )} + + ); +} diff --git a/packages/widgets/src/docker/index.ts b/packages/widgets/src/docker/index.ts new file mode 100644 index 000000000..fa738023a --- /dev/null +++ b/packages/widgets/src/docker/index.ts @@ -0,0 +1,17 @@ +import { IconBrandDocker, IconServerOff } from "@tabler/icons-react"; + +import { createWidgetDefinition } from "../definition"; +import { optionsBuilder } from "../options"; + +export const { definition, componentLoader } = createWidgetDefinition("dockerContainers", { + icon: IconBrandDocker, + createOptions() { + return optionsBuilder.from(() => ({})); + }, + errors: { + INTERNAL_SERVER_ERROR: { + icon: IconServerOff, + message: (t) => t("widget.dockerContainers.error.internalServerError"), + }, + }, +}).withDynamicImport(() => import("./component")); diff --git a/packages/widgets/src/errors/base-component.tsx b/packages/widgets/src/errors/base-component.tsx index 8c4e12b40..65135acff 100644 --- a/packages/widgets/src/errors/base-component.tsx +++ b/packages/widgets/src/errors/base-component.tsx @@ -6,7 +6,7 @@ import { translateIfNecessary } from "@homarr/translation"; import { useI18n } from "@homarr/translation/client"; import type { TablerIcon } from "@homarr/ui"; -interface BaseWidgetErrorProps { +export interface BaseWidgetErrorProps { icon: TablerIcon; message: stringOrTranslation; showLogsLink?: boolean; diff --git a/packages/widgets/src/errors/component.tsx b/packages/widgets/src/errors/component.tsx index 5638ef321..57f77d62a 100644 --- a/packages/widgets/src/errors/component.tsx +++ b/packages/widgets/src/errors/component.tsx @@ -1,5 +1,5 @@ import { useMemo } from "react"; -import { IconExclamationCircle } from "@tabler/icons-react"; +import { IconExclamationCircle, IconShield } from "@tabler/icons-react"; import { TRPCClientError } from "@trpc/client"; import type { DefaultErrorData } from "@trpc/server/unstable-core-do-not-import"; @@ -8,6 +8,7 @@ import type { WidgetKind } from "@homarr/definitions"; import type { WidgetDefinition } from ".."; import { widgetImports } from ".."; import { ErrorBoundaryError } from "./base"; +import type { BaseWidgetErrorProps } from "./base-component"; import { BaseWidgetError } from "./base-component"; interface WidgetErrorProps { @@ -23,28 +24,58 @@ export const WidgetError = ({ error, resetErrorBoundary, kind }: WidgetErrorProp return ; } - const commonFallbackError = ( + const widgetTrpcErrorData = handleWidgetTrpcError(error, currentDefinition); + if (widgetTrpcErrorData) { + return ; + } + + const trpcErrorData = handleCommonTrpcError(error); + if (trpcErrorData) { + return ; + } + + return ( string }).toString()} onRetry={resetErrorBoundary} /> ); +}; - if (error instanceof TRPCClientError && "code" in error.data) { - const errorData = error.data as DefaultErrorData; +const handleWidgetTrpcError = ( + error: unknown, + currentDefinition: WidgetDefinition, +): Omit | null => { + if (!(error instanceof TRPCClientError && "code" in error.data)) return null; - if (!("errors" in currentDefinition)) return commonFallbackError; + const errorData = error.data as DefaultErrorData; - const errors: Exclude = currentDefinition.errors; - const errorDefinition = errors[errorData.code]; + if (!("errors" in currentDefinition) || currentDefinition.errors === undefined) return null; - if (!errorDefinition) return commonFallbackError; + const errors: Exclude = currentDefinition.errors; + const errorDefinition = errors[errorData.code]; - return ( - - ); + if (!errorDefinition) return null; + + return { + ...errorDefinition, + showLogsLink: !errorDefinition.hideLogsLink, + }; +}; + +const handleCommonTrpcError = (error: unknown): Omit | null => { + if (!(error instanceof TRPCClientError && "code" in error.data)) return null; + + const errorData = error.data as DefaultErrorData; + + if (errorData.code === "UNAUTHORIZED" || errorData.code === "FORBIDDEN") { + return { + icon: IconShield, + message: "You don't have permission to access this widget", + showLogsLink: false, + }; } - return commonFallbackError; + return null; }; diff --git a/packages/widgets/src/index.tsx b/packages/widgets/src/index.tsx index df1701741..e8d9cbe1d 100644 --- a/packages/widgets/src/index.tsx +++ b/packages/widgets/src/index.tsx @@ -14,6 +14,7 @@ import * as clock from "./clock"; import type { WidgetComponentProps } from "./definition"; import * as dnsHoleControls from "./dns-hole/controls"; import * as dnsHoleSummary from "./dns-hole/summary"; +import * as dockerContainers from "./docker"; import * as downloads from "./downloads"; import * as healthMonitoring from "./health-monitoring"; import * as iframe from "./iframe"; @@ -64,6 +65,7 @@ export const widgetImports = { healthMonitoring, mediaTranscoding, minecraftServerStatus, + dockerContainers, releases, } satisfies WidgetImportRecord; diff --git a/packages/widgets/src/releases/component.tsx b/packages/widgets/src/releases/component.tsx index fe33b3d57..e26a89609 100644 --- a/packages/widgets/src/releases/component.tsx +++ b/packages/widgets/src/releases/component.tsx @@ -129,7 +129,7 @@ export default function ReleasesWidget({ options }: WidgetComponentProps<"releas ); return ( - + {repositories.map((repository: ReleasesRepositoryResponse) => { const isActive = expandedRepository.providerKey === repository.providerKey && @@ -139,17 +139,23 @@ export default function ReleasesWidget({ options }: WidgetComponentProps<"releas return ( toggleExpandedRepository(repository)} > - - {/* eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing */} - {repository.name || repository.identifier} + + + {/* eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing */} + {repository.name || repository.identifier} + - + {hasError ? t("error.label") : (repository.latestRelease ?? t("not-found"))} - + @@ -189,6 +211,7 @@ export default function ReleasesWidget({ options }: WidgetComponentProps<"releas {!hasError ? ( (repository.isNewRelease || repository.isStaleRelease) && ( ) ) : ( - + )} @@ -206,7 +233,7 @@ export default function ReleasesWidget({ options }: WidgetComponentProps<"releas )} {isActive && } - + ); })} @@ -225,16 +252,28 @@ const DetailsDisplay = ({ repository, toggleExpandedRepository }: DetailsDisplay return ( <> - toggleExpandedRepository(repository)} /> + toggleExpandedRepository(repository)} /> toggleExpandedRepository(repository)} > - - + + - + - + - - - + + + - + {!repository.starsCount ? "-" : formatter.number(repository.starsCount, { @@ -274,13 +359,38 @@ const DetailsDisplay = ({ repository, toggleExpandedRepository }: DetailsDisplay - - + + - + {!repository.forksCount ? "-" : formatter.number(repository.forksCount, { @@ -291,13 +401,38 @@ const DetailsDisplay = ({ repository, toggleExpandedRepository }: DetailsDisplay - - + + - + {!repository.openIssues ? "-" : formatter.number(repository.openIssues, { @@ -325,11 +460,20 @@ const ExpandedDisplay = ({ repository, hasIconColor }: ExtendedDisplayProps) => return ( <> - - - - + + + + + {repository.identifier} + + + aspectRatio: "1/1", }} /> - + {Providers[repository.providerKey]?.name} - {repository.createdAt && ( - - {t("created")} - | - - {formatter.relativeTime(repository.createdAt, { - now, - style: "narrow", - })} - - - )} - - {repository.identifier} - - + {repository.createdAt && ( + + + {`${t("created")} | `} + + + {formatter.relativeTime(repository.createdAt, { + now, + style: "narrow", + })} + + + )} {(repository.releaseUrl ?? repository.projectUrl) && ( <> - + )} {repository.error && ( <> - - + <Divider className="releases-repository-expanded-error-divider" mx="30%" /> + <Title className="releases-repository-expanded-error-title" order={4} ta="center"> {t("error.label")} - + {repository.error.code ? t(`error.options.${repository.error.code}` as never) : repository.error.message} )} {repository.releaseDescription && ( <> - - + <Divider className="releases-repository-expanded-description-divider" my={10} mx="30%" /> + <Title className="releases-repository-expanded-description-title" order={4} ta="center"> {t("releaseDescription")} - + {repository.releaseDescription} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e505d064f..defc3fccb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,7 +5,7 @@ settings: excludeLinksFromLockfile: false overrides: - proxmox-api>undici: 7.9.0 + proxmox-api>undici: 7.10.0 patchedDependencies: '@types/node-unifi': @@ -21,34 +21,34 @@ importers: version: link:tooling/prettier '@semantic-release/changelog': specifier: ^6.0.3 - version: 6.0.3(semantic-release@24.2.3(typescript@5.8.3)) + version: 6.0.3(semantic-release@24.2.4(typescript@5.8.3)) '@semantic-release/commit-analyzer': specifier: ^13.0.1 - version: 13.0.1(semantic-release@24.2.3(typescript@5.8.3)) + version: 13.0.1(semantic-release@24.2.4(typescript@5.8.3)) '@semantic-release/git': specifier: ^10.0.1 - version: 10.0.1(semantic-release@24.2.3(typescript@5.8.3)) + version: 10.0.1(semantic-release@24.2.4(typescript@5.8.3)) '@semantic-release/github': specifier: ^11.0.2 - version: 11.0.2(semantic-release@24.2.3(typescript@5.8.3)) + version: 11.0.2(semantic-release@24.2.4(typescript@5.8.3)) '@semantic-release/npm': specifier: ^12.0.1 - version: 12.0.1(semantic-release@24.2.3(typescript@5.8.3)) + version: 12.0.1(semantic-release@24.2.4(typescript@5.8.3)) '@semantic-release/release-notes-generator': specifier: ^14.0.3 - version: 14.0.3(semantic-release@24.2.3(typescript@5.8.3)) + version: 14.0.3(semantic-release@24.2.4(typescript@5.8.3)) '@turbo/gen': specifier: ^2.5.3 - version: 2.5.3(@types/node@22.15.18)(typescript@5.8.3) + version: 2.5.3(@types/node@22.15.21)(typescript@5.8.3) '@vitejs/plugin-react': - specifier: ^4.4.1 - version: 4.4.1(vite@5.4.5(@types/node@22.15.18)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0)) + specifier: ^4.5.0 + version: 4.5.0(vite@5.4.5(@types/node@22.15.21)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0)) '@vitest/coverage-v8': - specifier: ^3.1.3 - version: 3.1.3(vitest@3.1.3) + specifier: ^3.1.4 + version: 3.1.4(vitest@3.1.4) '@vitest/ui': - specifier: ^3.1.3 - version: 3.1.3(vitest@3.1.3) + specifier: ^3.1.4 + version: 3.1.4(vitest@3.1.4) conventional-changelog-conventionalcommits: specifier: ^8.0.0 version: 8.0.0 @@ -62,11 +62,11 @@ importers: specifier: ^3.5.3 version: 3.5.3 semantic-release: - specifier: ^24.2.3 - version: 24.2.3(typescript@5.8.3) + specifier: ^24.2.4 + version: 24.2.4(typescript@5.8.3) testcontainers: - specifier: ^10.26.0 - version: 10.26.0 + specifier: ^10.28.0 + version: 10.28.0 turbo: specifier: ^2.5.3 version: 2.5.3 @@ -75,10 +75,10 @@ importers: version: 5.8.3 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.3)(vite@5.4.5(@types/node@22.15.18)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0)) + version: 5.1.4(typescript@5.8.3)(vite@5.4.5(@types/node@22.15.21)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0)) vitest: - specifier: ^3.1.3 - version: 3.1.3(@types/debug@4.1.12)(@types/node@22.15.18)(@vitest/ui@3.1.3)(jsdom@26.1.0)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) + specifier: ^3.1.4 + version: 3.1.4(@types/debug@4.1.12)(@types/node@22.15.21)(@vitest/ui@3.1.4)(jsdom@26.1.0)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) apps/nextjs: dependencies: @@ -186,43 +186,43 @@ importers: version: 8.0.1(chroma-js@3.1.2) '@mantine/core': specifier: ^8.0.1 - version: 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/dropzone': specifier: ^8.0.1 - version: 8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/hooks': specifier: ^8.0.1 version: 8.0.1(react@19.1.0) '@mantine/modals': specifier: ^8.0.1 - version: 8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/tiptap': specifier: ^8.0.1 - version: 8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(@tiptap/extension-link@2.12.0(@tiptap/core@2.12.0(@tiptap/pm@2.12.0))(@tiptap/pm@2.12.0))(@tiptap/react@2.12.0(@tiptap/core@2.12.0(@tiptap/pm@2.12.0))(@tiptap/pm@2.12.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(@tiptap/extension-link@2.12.0(@tiptap/core@2.12.0(@tiptap/pm@2.12.0))(@tiptap/pm@2.12.0))(@tiptap/react@2.12.0(@tiptap/core@2.12.0(@tiptap/pm@2.12.0))(@tiptap/pm@2.12.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@million/lint': specifier: 1.0.14 version: 1.0.14(rollup@4.21.3)(webpack-sources@3.2.3) '@tabler/icons-react': - specifier: ^3.31.0 - version: 3.31.0(react@19.1.0) + specifier: ^3.33.0 + version: 3.33.0(react@19.1.0) '@tanstack/react-query': - specifier: ^5.76.1 - version: 5.76.1(react@19.1.0) + specifier: ^5.76.2 + version: 5.76.2(react@19.1.0) '@tanstack/react-query-devtools': - specifier: ^5.76.1 - version: 5.76.1(@tanstack/react-query@5.76.1(react@19.1.0))(react@19.1.0) + specifier: ^5.76.2 + version: 5.76.2(@tanstack/react-query@5.76.2(react@19.1.0))(react@19.1.0) '@tanstack/react-query-next-experimental': - specifier: ^5.76.1 - version: 5.76.1(@tanstack/react-query@5.76.1(react@19.1.0))(next@15.3.2(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.0))(react@19.1.0) + specifier: ^5.76.2 + version: 5.76.2(@tanstack/react-query@5.76.2(react@19.1.0))(next@15.3.2(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.0))(react@19.1.0) '@trpc/client': specifier: ^11.1.2 version: 11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3) '@trpc/next': specifier: ^11.1.2 - version: 11.1.2(@tanstack/react-query@5.76.1(react@19.1.0))(@trpc/client@11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/react-query@11.1.2(@tanstack/react-query@5.76.1(react@19.1.0))(@trpc/client@11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.1.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3))(@trpc/server@11.1.2(typescript@5.8.3))(next@15.3.2(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) + version: 11.1.2(@tanstack/react-query@5.76.2(react@19.1.0))(@trpc/client@11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/react-query@11.1.2(@tanstack/react-query@5.76.2(react@19.1.0))(@trpc/client@11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.1.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3))(@trpc/server@11.1.2(typescript@5.8.3))(next@15.3.2(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) '@trpc/react-query': specifier: ^11.1.2 - version: 11.1.2(@tanstack/react-query@5.76.1(react@19.1.0))(@trpc/client@11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.1.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) + version: 11.1.2(@tanstack/react-query@5.76.2(react@19.1.0))(@trpc/client@11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.1.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) '@trpc/server': specifier: ^11.1.2 version: 11.1.2(typescript@5.8.3) @@ -255,10 +255,10 @@ importers: version: 11.0.2 jotai: specifier: ^2.12.4 - version: 2.12.4(@types/react@19.1.4)(react@19.1.0) + version: 2.12.4(@types/react@19.1.5)(react@19.1.0) mantine-react-table: specifier: 2.0.0-beta.9 - version: 2.0.0-beta.9(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/dates@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(@tabler/icons-react@3.31.0(react@19.1.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 2.0.0-beta.9(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/dates@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(@tabler/icons-react@3.33.0(react@19.1.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) next: specifier: 15.3.2 version: 15.3.2(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.0) @@ -287,14 +287,14 @@ importers: specifier: 2.2.2 version: 2.2.2 swagger-ui-react: - specifier: ^5.21.0 - version: 5.21.0(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^5.22.0 + version: 5.22.0(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) use-deep-compare-effect: specifier: ^1.8.1 version: 1.8.1(react@19.1.0) zod: - specifier: ^3.24.4 - version: 3.24.4 + specifier: ^3.25.23 + version: 3.25.23 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -309,17 +309,17 @@ importers: specifier: 3.1.1 version: 3.1.1 '@types/node': - specifier: ^22.15.18 - version: 22.15.18 + specifier: ^22.15.21 + version: 22.15.21 '@types/prismjs': specifier: ^1.26.5 version: 1.26.5 '@types/react': - specifier: 19.1.4 - version: 19.1.4 + specifier: 19.1.5 + version: 19.1.5 '@types/react-dom': specifier: 19.1.5 - version: 19.1.5(@types/react@19.1.4) + version: 19.1.5(@types/react@19.1.5) '@types/swagger-ui-react': specifier: ^5.18.0 version: 5.18.0 @@ -327,8 +327,8 @@ importers: specifier: ^9.1.2 version: 9.1.2 eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 node-loader: specifier: ^2.1.0 version: 2.1.0(webpack@5.94.0) @@ -396,8 +396,8 @@ importers: specifier: 2.2.2 version: 2.2.2 undici: - specifier: 7.9.0 - version: 7.9.0 + specifier: 7.10.0 + version: 7.10.0 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -409,14 +409,17 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript '@types/node': - specifier: ^22.15.18 - version: 22.15.18 + specifier: ^22.15.21 + version: 22.15.21 dotenv-cli: specifier: ^8.0.0 version: 8.0.0 + esbuild: + specifier: ^0.25.4 + version: 0.25.4 eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 prettier: specifier: ^3.5.3 version: 3.5.3 @@ -475,9 +478,12 @@ importers: '@types/ws': specifier: ^8.18.1 version: 8.18.1 + esbuild: + specifier: ^0.25.4 + version: 0.25.4 eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 prettier: specifier: ^3.5.3 version: 3.5.3 @@ -513,8 +519,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -582,20 +588,20 @@ importers: specifier: ^1.2.0 version: 1.2.0(ws@8.18.2) '@tanstack/react-query': - specifier: ^5.76.1 - version: 5.76.1(react@19.1.0) + specifier: ^5.76.2 + version: 5.76.2(react@19.1.0) '@trpc/client': specifier: ^11.1.2 version: 11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3) '@trpc/react-query': specifier: ^11.1.2 - version: 11.1.2(@tanstack/react-query@5.76.1(react@19.1.0))(@trpc/client@11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.1.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) + version: 11.1.2(@tanstack/react-query@5.76.2(react@19.1.0))(@trpc/client@11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.1.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) '@trpc/server': specifier: ^11.1.2 version: 11.1.2(typescript@5.8.3) '@trpc/tanstack-react-query': specifier: ^11.1.2 - version: 11.1.2(@tanstack/react-query@5.76.1(react@19.1.0))(@trpc/client@11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.1.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) + version: 11.1.2(@tanstack/react-query@5.76.2(react@19.1.0))(@trpc/client@11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.1.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) lodash.clonedeep: specifier: ^4.5.0 version: 4.5.0 @@ -613,10 +619,10 @@ importers: version: 2.2.2 trpc-to-openapi: specifier: ^2.2.0 - version: 2.2.0(@trpc/server@11.1.2(typescript@5.8.3))(zod-openapi@2.19.0(zod@3.24.4))(zod@3.24.4) + version: 2.2.0(@trpc/server@11.1.2(typescript@5.8.3))(zod-openapi@2.19.0(zod@3.25.23))(zod@3.25.23) zod: - specifier: ^3.24.4 - version: 3.24.4 + specifier: ^3.25.23 + version: 3.25.23 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -628,8 +634,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 prettier: specifier: ^3.5.3 version: 3.5.3 @@ -688,8 +694,8 @@ importers: specifier: 19.1.0 version: 19.1.0(react@19.1.0) zod: - specifier: ^3.24.4 - version: 3.24.4 + specifier: ^3.25.23 + version: 3.25.23 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -707,8 +713,8 @@ importers: specifier: 0.9.0 version: 0.9.0 eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 prettier: specifier: ^3.5.3 version: 3.5.3 @@ -738,8 +744,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -753,8 +759,8 @@ importers: specifier: workspace:^0.1.0 version: link:../db undici: - specifier: 7.9.0 - version: 7.9.0 + specifier: 7.10.0 + version: 7.10.0 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -766,8 +772,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -802,9 +808,12 @@ importers: '@homarr/tsconfig': specifier: workspace:^0.1.0 version: link:../../tooling/typescript + esbuild: + specifier: ^0.25.4 + version: 0.25.4 eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -830,14 +839,14 @@ importers: specifier: 19.1.0 version: 19.1.0(react@19.1.0) undici: - specifier: 7.9.0 - version: 7.9.0 + specifier: 7.10.0 + version: 7.10.0 zod: - specifier: ^3.24.4 - version: 3.24.4 + specifier: ^3.25.23 + version: 3.25.23 zod-validation-error: - specifier: ^3.4.0 - version: 3.4.0(zod@3.24.4) + specifier: ^3.4.1 + version: 3.4.1(zod@3.25.23) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -849,8 +858,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -883,8 +892,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -905,8 +914,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -975,8 +984,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -1003,8 +1012,8 @@ importers: specifier: ^3.0.11 version: 3.0.11 eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -1031,13 +1040,13 @@ importers: version: link:../server-settings '@mantine/core': specifier: ^8.0.1 - version: 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@paralleldrive/cuid2': specifier: ^2.2.2 version: 2.2.2 '@testcontainers/mysql': - specifier: ^10.26.0 - version: 10.26.0 + specifier: ^10.28.0 + version: 10.28.0 better-sqlite3: specifier: ^11.10.0 version: 11.10.0 @@ -1052,7 +1061,7 @@ importers: version: 0.43.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@11.10.0)(gel@2.0.0)(mysql2@3.14.1) drizzle-zod: specifier: ^0.7.1 - version: 0.7.1(drizzle-orm@0.43.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@11.10.0)(gel@2.0.0)(mysql2@3.14.1))(zod@3.24.4) + version: 0.7.1(drizzle-orm@0.43.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@11.10.0)(gel@2.0.0)(mysql2@3.14.1))(zod@3.25.23) mysql2: specifier: 3.14.1 version: 3.14.1 @@ -1072,9 +1081,12 @@ importers: dotenv-cli: specifier: ^8.0.0 version: 8.0.0 + esbuild: + specifier: ^0.25.4 + version: 0.25.4 eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 prettier: specifier: ^3.5.3 version: 3.5.3 @@ -1094,8 +1106,8 @@ importers: specifier: ^5.2.3 version: 5.2.3 zod: - specifier: ^3.24.4 - version: 3.24.4 + specifier: ^3.25.23 + version: 3.25.23 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1107,8 +1119,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 tsx: specifier: 4.19.4 version: 4.19.4 @@ -1138,11 +1150,11 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript '@types/dockerode': - specifier: ^3.3.38 - version: 3.3.38 + specifier: ^3.3.39 + version: 3.3.39 eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -1151,10 +1163,10 @@ importers: dependencies: '@t3-oss/env-nextjs': specifier: ^0.13.4 - version: 0.13.4(arktype@2.1.20)(typescript@5.8.3)(zod@3.24.4) + version: 0.13.4(arktype@2.1.20)(typescript@5.8.3)(zod@3.25.23) zod: - specifier: ^3.24.4 - version: 3.24.4 + specifier: ^3.25.23 + version: 3.25.23 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1166,8 +1178,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -1187,8 +1199,8 @@ importers: specifier: ^8.0.1 version: 8.0.1(react@19.1.0) zod: - specifier: ^3.24.4 - version: 3.24.4 + specifier: ^3.25.23 + version: 3.25.23 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1200,8 +1212,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -1231,13 +1243,13 @@ importers: version: link:../validation '@mantine/core': specifier: ^8.0.1 - version: 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: specifier: 19.1.0 version: 19.1.0 zod: - specifier: ^3.24.4 - version: 3.24.4 + specifier: ^3.25.23 + version: 3.25.23 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1249,8 +1261,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -1277,8 +1289,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -1311,7 +1323,7 @@ importers: version: link:../log '@homarr/node-unifi': specifier: ^2.6.0 - version: 2.6.0(undici@7.9.0) + version: 2.6.0(undici@7.10.0) '@homarr/redis': specifier: workspace:^0.1.0 version: link:../redis @@ -1337,14 +1349,14 @@ importers: specifier: ^2.1.4 version: 2.1.4 undici: - specifier: 7.9.0 - version: 7.9.0 + specifier: 7.10.0 + version: 7.10.0 xml2js: specifier: ^0.6.2 version: 0.6.2 zod: - specifier: ^3.24.4 - version: 3.24.4 + specifier: ^3.25.23 + version: 3.25.23 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1362,8 +1374,8 @@ importers: specifier: ^0.4.14 version: 0.4.14 eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -1383,8 +1395,8 @@ importers: specifier: 3.17.0 version: 3.17.0 zod: - specifier: ^3.24.4 - version: 3.24.4 + specifier: ^3.25.23 + version: 3.25.23 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1396,8 +1408,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -1412,7 +1424,7 @@ importers: version: link:../ui '@mantine/core': specifier: ^8.0.1 - version: 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/hooks': specifier: ^8.0.1 version: 8.0.1(react@19.1.0) @@ -1430,8 +1442,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -1473,10 +1485,10 @@ importers: version: link:../validation '@mantine/core': specifier: ^8.0.1 - version: 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@tabler/icons-react': - specifier: ^3.31.0 - version: 3.31.0(react@19.1.0) + specifier: ^3.33.0 + version: 3.33.0(react@19.1.0) dayjs: specifier: ^1.11.13 version: 1.11.13 @@ -1490,8 +1502,8 @@ importers: specifier: 19.1.0 version: 19.1.0(react@19.1.0) zod: - specifier: ^3.24.4 - version: 3.24.4 + specifier: ^3.25.23 + version: 3.25.23 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1503,8 +1515,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -1516,10 +1528,10 @@ importers: version: link:../ui '@mantine/notifications': specifier: ^8.0.1 - version: 8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@tabler/icons-react': - specifier: ^3.31.0 - version: 3.31.0(react@19.1.0) + specifier: ^3.33.0 + version: 3.33.0(react@19.1.0) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1531,8 +1543,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -1574,7 +1586,7 @@ importers: version: link:../validation '@mantine/core': specifier: ^8.0.1 - version: 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/hooks': specifier: ^8.0.1 version: 8.0.1(react@19.1.0) @@ -1594,11 +1606,11 @@ importers: specifier: 2.2.2 version: 2.2.2 zod: - specifier: ^3.24.4 - version: 3.24.4 + specifier: ^3.25.23 + version: 3.25.23 zod-form-data: specifier: ^2.0.7 - version: 2.0.7(zod@3.24.4) + version: 2.0.7(zod@3.25.23) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1613,8 +1625,8 @@ importers: specifier: 0.5.7 version: 0.5.7 eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -1625,8 +1637,8 @@ importers: specifier: workspace:^0.1.0 version: link:../common zod: - specifier: ^3.24.4 - version: 3.24.4 + specifier: ^3.25.23 + version: 3.25.23 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1638,8 +1650,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -1666,8 +1678,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -1703,8 +1715,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -1736,8 +1748,8 @@ importers: specifier: ^1.11.13 version: 1.11.13 octokit: - specifier: ^4.1.3 - version: 4.1.3 + specifier: ^5.0.2 + version: 5.0.2 superjson: specifier: 2.2.2 version: 2.2.2 @@ -1752,8 +1764,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -1777,8 +1789,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -1796,7 +1808,7 @@ importers: version: link:../server-settings '@mantine/dates': specifier: ^8.0.1 - version: 8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) next: specifier: 15.3.2 version: 15.3.2(@babel/core@7.26.10)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.0) @@ -1817,8 +1829,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -1857,19 +1869,19 @@ importers: version: link:../ui '@mantine/core': specifier: ^8.0.1 - version: 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/hooks': specifier: ^8.0.1 version: 8.0.1(react@19.1.0) '@mantine/spotlight': specifier: ^8.0.1 - version: 8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@tabler/icons-react': - specifier: ^3.31.0 - version: 3.31.0(react@19.1.0) + specifier: ^3.33.0 + version: 3.33.0(react@19.1.0) jotai: specifier: ^2.12.4 - version: 2.12.4(@types/react@19.1.4)(react@19.1.0) + version: 2.12.4(@types/react@19.1.5)(react@19.1.0) next: specifier: 15.3.2 version: 15.3.2(@babel/core@7.26.10)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.0) @@ -1893,8 +1905,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -1915,7 +1927,7 @@ importers: version: 4.3.1 mantine-react-table: specifier: 2.0.0-beta.9 - version: 2.0.0-beta.9(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/dates@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(@tabler/icons-react@3.31.0(react@19.1.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 2.0.0-beta.9(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/dates@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(@tabler/icons-react@3.33.0(react@19.1.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) next: specifier: 15.3.2 version: 15.3.2(@babel/core@7.26.10)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.0) @@ -1939,8 +1951,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -1964,19 +1976,19 @@ importers: version: link:../validation '@mantine/core': specifier: ^8.0.1 - version: 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/dates': specifier: ^8.0.1 - version: 8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/hooks': specifier: ^8.0.1 version: 8.0.1(react@19.1.0) '@tabler/icons-react': - specifier: ^3.31.0 - version: 3.31.0(react@19.1.0) + specifier: ^3.33.0 + version: 3.33.0(react@19.1.0) mantine-react-table: specifier: 2.0.0-beta.9 - version: 2.0.0-beta.9(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/dates@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(@tabler/icons-react@3.31.0(react@19.1.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 2.0.0-beta.9(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/dates@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(@tabler/icons-react@3.33.0(react@19.1.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) next: specifier: 15.3.2 version: 15.3.2(@babel/core@7.26.10)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.0) @@ -2000,8 +2012,8 @@ importers: specifier: ^1.0.5 version: 1.0.5 eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -2015,11 +2027,11 @@ importers: specifier: workspace:^0.1.0 version: link:../translation zod: - specifier: ^3.24.4 - version: 3.24.4 + specifier: ^3.25.23 + version: 3.25.23 zod-form-data: specifier: ^2.0.7 - version: 2.0.7(zod@3.24.4) + version: 2.0.7(zod@3.25.23) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -2031,8 +2043,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -2063,6 +2075,9 @@ importers: '@homarr/definitions': specifier: workspace:^0.1.0 version: link:../definitions + '@homarr/docker': + specifier: workspace:^0.1.0 + version: link:../docker '@homarr/form': specifier: workspace:^0.1.0 version: link:../form @@ -2107,16 +2122,16 @@ importers: version: link:../validation '@mantine/charts': specifier: ^8.0.1 - version: 8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(recharts@2.15.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)) + version: 8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(recharts@2.15.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)) '@mantine/core': specifier: ^8.0.1 - version: 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/hooks': specifier: ^8.0.1 version: 8.0.1(react@19.1.0) '@tabler/icons-react': - specifier: ^3.31.0 - version: 3.31.0(react@19.1.0) + specifier: ^3.33.0 + version: 3.33.0(react@19.1.0) '@tiptap/extension-color': specifier: 2.12.0 version: 2.12.0(@tiptap/core@2.12.0(@tiptap/pm@2.12.0))(@tiptap/extension-text-style@2.12.0(@tiptap/core@2.12.0(@tiptap/pm@2.12.0))) @@ -2170,7 +2185,7 @@ importers: version: 1.11.13 mantine-react-table: specifier: 2.0.0-beta.9 - version: 2.0.0-beta.9(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/dates@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(@tabler/icons-react@3.31.0(react@19.1.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 2.0.0-beta.9(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/dates@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(@tabler/icons-react@3.33.0(react@19.1.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) next: specifier: 15.3.2 version: 15.3.2(@babel/core@7.26.10)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.0) @@ -2182,7 +2197,7 @@ importers: version: 19.1.0(react@19.1.0) react-markdown: specifier: ^10.1.0 - version: 10.1.0(@types/react@19.1.4)(react@19.1.0) + version: 10.1.0(@types/react@19.1.5)(react@19.1.0) recharts: specifier: ^2.15.3 version: 2.15.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -2190,8 +2205,8 @@ importers: specifier: ^8.22.0 version: 8.22.0 zod: - specifier: ^3.24.4 - version: 3.24.4 + specifier: ^3.25.23 + version: 3.25.23 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -2206,8 +2221,8 @@ importers: specifier: ^7.3.58 version: 7.3.58 eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -2219,25 +2234,25 @@ importers: version: 15.3.2 eslint-config-prettier: specifier: ^10.1.5 - version: 10.1.5(eslint@9.26.0) + version: 10.1.5(eslint@9.27.0) eslint-config-turbo: specifier: ^2.5.3 - version: 2.5.3(eslint@9.26.0)(turbo@2.5.3) + version: 2.5.3(eslint@9.27.0)(turbo@2.5.3) eslint-plugin-import: specifier: ^2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.32.1(eslint@9.26.0)(typescript@5.8.3))(eslint@9.26.0) + version: 2.31.0(@typescript-eslint/parser@8.32.1(eslint@9.27.0)(typescript@5.8.3))(eslint@9.27.0) eslint-plugin-jsx-a11y: specifier: ^6.10.2 - version: 6.10.2(eslint@9.26.0) + version: 6.10.2(eslint@9.27.0) eslint-plugin-react: specifier: ^7.37.5 - version: 7.37.5(eslint@9.26.0) + version: 7.37.5(eslint@9.27.0) eslint-plugin-react-hooks: specifier: ^5.2.0 - version: 5.2.0(eslint@9.26.0) + version: 5.2.0(eslint@9.27.0) typescript-eslint: specifier: ^8.32.1 - version: 8.32.1(eslint@9.26.0)(typescript@5.8.3) + version: 8.32.1(eslint@9.27.0)(typescript@5.8.3) devDependencies: '@homarr/prettier-config': specifier: workspace:^0.1.0 @@ -2246,8 +2261,8 @@ importers: specifier: workspace:^0.1.0 version: link:../typescript eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.27.0 + version: 9.27.0 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -2267,8 +2282,8 @@ importers: specifier: workspace:^0.1.0 version: link:../typescript prettier-plugin-packagejson: - specifier: ^2.5.13 - version: 2.5.13(prettier@3.5.3) + specifier: ^2.5.14 + version: 2.5.14(prettier@3.5.3) typescript: specifier: ^5.8.3 version: 5.8.3 @@ -2411,6 +2426,10 @@ packages: resolution: {integrity: sha512-UWjX6t+v+0ckwZ50Y5ShZLnlk95pP5MyW/pon9tiYzl3+18pkTHTFNTKr7rQbfRXPkowt2QAn30o1b6oswszew==} engines: {node: '>=6.9.0'} + '@babel/runtime-corejs3@7.27.1': + resolution: {integrity: sha512-909rVuj3phpjW6y0MCXAZ5iNeORePa6ldJvp2baWGcTjwqbBDDz6xoS5JHJ7lS88NlwLYj07ImL/8IUMtDZzTA==} + engines: {node: '>=6.9.0'} + '@babel/runtime@7.25.6': resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==} engines: {node: '>=6.9.0'} @@ -2581,8 +2600,8 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.25.2': - resolution: {integrity: sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==} + '@esbuild/aix-ppc64@0.25.4': + resolution: {integrity: sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] @@ -2605,8 +2624,8 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.25.2': - resolution: {integrity: sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==} + '@esbuild/android-arm64@0.25.4': + resolution: {integrity: sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==} engines: {node: '>=18'} cpu: [arm64] os: [android] @@ -2629,8 +2648,8 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.25.2': - resolution: {integrity: sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==} + '@esbuild/android-arm@0.25.4': + resolution: {integrity: sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==} engines: {node: '>=18'} cpu: [arm] os: [android] @@ -2653,8 +2672,8 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.25.2': - resolution: {integrity: sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==} + '@esbuild/android-x64@0.25.4': + resolution: {integrity: sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==} engines: {node: '>=18'} cpu: [x64] os: [android] @@ -2677,8 +2696,8 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.25.2': - resolution: {integrity: sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==} + '@esbuild/darwin-arm64@0.25.4': + resolution: {integrity: sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] @@ -2701,8 +2720,8 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.25.2': - resolution: {integrity: sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==} + '@esbuild/darwin-x64@0.25.4': + resolution: {integrity: sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==} engines: {node: '>=18'} cpu: [x64] os: [darwin] @@ -2725,8 +2744,8 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.25.2': - resolution: {integrity: sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==} + '@esbuild/freebsd-arm64@0.25.4': + resolution: {integrity: sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] @@ -2749,8 +2768,8 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.25.2': - resolution: {integrity: sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==} + '@esbuild/freebsd-x64@0.25.4': + resolution: {integrity: sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] @@ -2773,8 +2792,8 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.25.2': - resolution: {integrity: sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==} + '@esbuild/linux-arm64@0.25.4': + resolution: {integrity: sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==} engines: {node: '>=18'} cpu: [arm64] os: [linux] @@ -2797,8 +2816,8 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.25.2': - resolution: {integrity: sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==} + '@esbuild/linux-arm@0.25.4': + resolution: {integrity: sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==} engines: {node: '>=18'} cpu: [arm] os: [linux] @@ -2821,8 +2840,8 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.25.2': - resolution: {integrity: sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==} + '@esbuild/linux-ia32@0.25.4': + resolution: {integrity: sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==} engines: {node: '>=18'} cpu: [ia32] os: [linux] @@ -2845,8 +2864,8 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.25.2': - resolution: {integrity: sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==} + '@esbuild/linux-loong64@0.25.4': + resolution: {integrity: sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==} engines: {node: '>=18'} cpu: [loong64] os: [linux] @@ -2869,8 +2888,8 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.25.2': - resolution: {integrity: sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==} + '@esbuild/linux-mips64el@0.25.4': + resolution: {integrity: sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] @@ -2893,8 +2912,8 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.25.2': - resolution: {integrity: sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==} + '@esbuild/linux-ppc64@0.25.4': + resolution: {integrity: sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] @@ -2917,8 +2936,8 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.25.2': - resolution: {integrity: sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==} + '@esbuild/linux-riscv64@0.25.4': + resolution: {integrity: sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] @@ -2941,8 +2960,8 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.25.2': - resolution: {integrity: sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==} + '@esbuild/linux-s390x@0.25.4': + resolution: {integrity: sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==} engines: {node: '>=18'} cpu: [s390x] os: [linux] @@ -2965,14 +2984,14 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.25.2': - resolution: {integrity: sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==} + '@esbuild/linux-x64@0.25.4': + resolution: {integrity: sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.25.2': - resolution: {integrity: sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==} + '@esbuild/netbsd-arm64@0.25.4': + resolution: {integrity: sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] @@ -2995,14 +3014,14 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.25.2': - resolution: {integrity: sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==} + '@esbuild/netbsd-x64@0.25.4': + resolution: {integrity: sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.25.2': - resolution: {integrity: sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==} + '@esbuild/openbsd-arm64@0.25.4': + resolution: {integrity: sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] @@ -3025,8 +3044,8 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.25.2': - resolution: {integrity: sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==} + '@esbuild/openbsd-x64@0.25.4': + resolution: {integrity: sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] @@ -3049,8 +3068,8 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.25.2': - resolution: {integrity: sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==} + '@esbuild/sunos-x64@0.25.4': + resolution: {integrity: sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==} engines: {node: '>=18'} cpu: [x64] os: [sunos] @@ -3073,8 +3092,8 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.25.2': - resolution: {integrity: sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==} + '@esbuild/win32-arm64@0.25.4': + resolution: {integrity: sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==} engines: {node: '>=18'} cpu: [arm64] os: [win32] @@ -3097,8 +3116,8 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.25.2': - resolution: {integrity: sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==} + '@esbuild/win32-ia32@0.25.4': + resolution: {integrity: sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==} engines: {node: '>=18'} cpu: [ia32] os: [win32] @@ -3121,18 +3140,12 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.25.2': - resolution: {integrity: sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==} + '@esbuild/win32-x64@0.25.4': + resolution: {integrity: sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==} engines: {node: '>=18'} cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.4.0': - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/eslint-utils@4.7.0': resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3151,24 +3164,24 @@ packages: resolution: {integrity: sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.13.0': - resolution: {integrity: sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==} + '@eslint/core@0.14.0': + resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/eslintrc@3.3.1': resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.26.0': - resolution: {integrity: sha512-I9XlJawFdSMvWjDt6wksMCrgns5ggLNfFwFvnShsleWruvXM514Qxk8V246efTw+eo9JABvVz+u3q2RiAowKxQ==} + '@eslint/js@9.27.0': + resolution: {integrity: sha512-G5JD9Tu5HJEu4z2Uo4aHY2sLV64B7CDMXxFzqzjl3NKd6RVzSXNoE80jk7Y0lJkTTkjiIhBAqmlYwjuBY3tvpA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.6': resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.2.8': - resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==} + '@eslint/plugin-kit@0.3.1': + resolution: {integrity: sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@extractus/feed-extractor@7.1.6': @@ -3544,10 +3557,6 @@ packages: resolution: {integrity: sha512-u6/kglVwZRu5+GMmtkNlGLqJVkgTl0TtM+hLa9rBg7pldx+5NG5bk45NvL37uZmAr2Xfa1C6qHb7GrFwfP372g==} hasBin: true - '@modelcontextprotocol/sdk@1.11.0': - resolution: {integrity: sha512-k/1pb70eD638anoi0e8wUGAlbMJXyvdV4p62Ko+EZ7eBe1xMx8Uhak1R5DgfoofsK5IBBnRwsYGTaLZl+6/+RQ==} - engines: {node: '>=18'} - '@ndaidong/bellajs@12.0.1': resolution: {integrity: sha512-1iY42uiHz0cxNMbde7O3zVN+ZX1viOOUOBRt6ht6lkRZbSjwOnFV34Zv4URp3hGzEe6L9Byk7BOq/41H0PzAOQ==} @@ -3621,94 +3630,83 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@octokit/app@15.1.6': - resolution: {integrity: sha512-WELCamoCJo9SN0lf3SWZccf68CF0sBNPQuLYmZ/n87p5qvBJDe9aBtr5dHkh7T9nxWZ608pizwsUbypSzZAiUw==} - engines: {node: '>= 18'} + '@octokit/app@16.0.1': + resolution: {integrity: sha512-kgTeTsWmpUX+s3Fs4EK4w1K+jWCDB6ClxLSWUWTyhlw7+L3jHtuXDR4QtABu2GsmCMdk67xRhruiXotS3ay3Yw==} + engines: {node: '>= 20'} - '@octokit/auth-app@7.2.1': - resolution: {integrity: sha512-4jaopCVOtWN0V8qCx/1s2pkRqC6tcvIQM3kFB99eIpsP53GfsoIKO08D94b83n/V3iGihHmxWR2lXzE0NicUGg==} - engines: {node: '>= 18'} + '@octokit/auth-app@8.0.1': + resolution: {integrity: sha512-P2J5pB3pjiGwtJX4WqJVYCtNkcZ+j5T2Wm14aJAEIC3WJOrv12jvBley3G1U/XI8q9o1A7QMG54LiFED2BiFlg==} + engines: {node: '>= 20'} - '@octokit/auth-oauth-app@8.1.3': - resolution: {integrity: sha512-4e6OjVe5rZ8yBe8w7byBjpKtSXFuro7gqeGAAZc7QYltOF8wB93rJl2FE0a4U1Mt88xxPv/mS+25/0DuLk0Ewg==} - engines: {node: '>= 18'} + '@octokit/auth-oauth-app@9.0.1': + resolution: {integrity: sha512-TthWzYxuHKLAbmxdFZwFlmwVyvynpyPmjwc+2/cI3cvbT7mHtsAW9b1LvQaNnAuWL+pFnqtxdmrU8QpF633i1g==} + engines: {node: '>= 20'} - '@octokit/auth-oauth-app@8.1.4': - resolution: {integrity: sha512-71iBa5SflSXcclk/OL3lJzdt4iFs56OJdpBGEBl1wULp7C58uiswZLV6TdRaiAzHP1LT8ezpbHlKuxADb+4NkQ==} - engines: {node: '>= 18'} + '@octokit/auth-oauth-device@8.0.1': + resolution: {integrity: sha512-TOqId/+am5yk9zor0RGibmlqn4V0h8vzjxlw/wYr3qzkQxl8aBPur384D1EyHtqvfz0syeXji4OUvKkHvxk/Gw==} + engines: {node: '>= 20'} - '@octokit/auth-oauth-device@7.1.3': - resolution: {integrity: sha512-BECO/N4B/Uikj0w3GCvjf/odMujtYTP3q82BJSjxC2J3rxTEiZIJ+z2xnRlDb0IE9dQSaTgRqUPVOieSbFcVzg==} - engines: {node: '>= 18'} - - '@octokit/auth-oauth-device@7.1.5': - resolution: {integrity: sha512-lR00+k7+N6xeECj0JuXeULQ2TSBB/zjTAmNF2+vyGPDEFx1dgk1hTDmL13MjbSmzusuAmuJD8Pu39rjp9jH6yw==} - engines: {node: '>= 18'} - - '@octokit/auth-oauth-user@5.1.3': - resolution: {integrity: sha512-zNPByPn9K7TC+OOHKGxU+MxrE9SZAN11UHYEFLsK2NRn3akJN2LHRl85q+Eypr3tuB2GrKx3rfj2phJdkYCvzw==} - engines: {node: '>= 18'} - - '@octokit/auth-oauth-user@5.1.4': - resolution: {integrity: sha512-4tJRofMHm6ZCd3O2PVgboBbQ/lNtacREeaihet0+wCATZmvPK+jjg2K6NjBfY69An3yzQdmkcMeiaOOoxOPr7Q==} - engines: {node: '>= 18'} + '@octokit/auth-oauth-user@6.0.0': + resolution: {integrity: sha512-GV9IW134PHsLhtUad21WIeP9mlJ+QNpFd6V9vuPWmaiN25HEJeEQUcS4y5oRuqCm9iWDLtfIs+9K8uczBXKr6A==} + engines: {node: '>= 20'} '@octokit/auth-token@5.1.1': resolution: {integrity: sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==} engines: {node: '>= 18'} - '@octokit/auth-unauthenticated@6.1.2': - resolution: {integrity: sha512-07DlUGcz/AAVdzu3EYfi/dOyMSHp9YsOxPl/MPmtlVXWiD//GlV8HgZsPhud94DEyx+RfrW0wSl46Lx+AWbOlg==} - engines: {node: '>= 18'} + '@octokit/auth-token@6.0.0': + resolution: {integrity: sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==} + engines: {node: '>= 20'} - '@octokit/auth-unauthenticated@6.1.3': - resolution: {integrity: sha512-d5gWJla3WdSl1yjbfMpET+hUSFCE15qM0KVSB0H1shyuJihf/RL1KqWoZMIaonHvlNojkL9XtLFp8QeLe+1iwA==} - engines: {node: '>= 18'} + '@octokit/auth-unauthenticated@7.0.1': + resolution: {integrity: sha512-qVq1vdjLLZdE8kH2vDycNNjuJRCD1q2oet1nA/GXWaYlpDxlR7rdVhX/K/oszXslXiQIiqrQf+rdhDlA99JdTQ==} + engines: {node: '>= 20'} '@octokit/core@6.1.5': resolution: {integrity: sha512-vvmsN0r7rguA+FySiCsbaTTobSftpIDIpPW81trAmsv9TGxg3YCujAxRYp/Uy8xmDgYCzzgulG62H7KYUFmeIg==} engines: {node: '>= 18'} - '@octokit/endpoint@10.1.3': - resolution: {integrity: sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==} - engines: {node: '>= 18'} + '@octokit/core@7.0.2': + resolution: {integrity: sha512-ODsoD39Lq6vR6aBgvjTnA3nZGliknKboc9Gtxr7E4WDNqY24MxANKcuDQSF0jzapvGb3KWOEDrKfve4HoWGK+g==} + engines: {node: '>= 20'} '@octokit/endpoint@10.1.4': resolution: {integrity: sha512-OlYOlZIsfEVZm5HCSR8aSg02T2lbUWOsCQoPKfTXJwDzcHQBrVBGdGXb89dv2Kw2ToZaRtudp8O3ZIYoaOjKlA==} engines: {node: '>= 18'} + '@octokit/endpoint@11.0.0': + resolution: {integrity: sha512-hoYicJZaqISMAI3JfaDr1qMNi48OctWuOih1m80bkYow/ayPw6Jj52tqWJ6GEoFTk1gBqfanSoI1iY99Z5+ekQ==} + engines: {node: '>= 20'} + '@octokit/graphql@8.2.2': resolution: {integrity: sha512-Yi8hcoqsrXGdt0yObxbebHXFOiUA+2v3n53epuOg1QUgOB6c4XzvisBNVXJSl8RYA5KrDuSL2yq9Qmqe5N0ryA==} engines: {node: '>= 18'} - '@octokit/oauth-app@7.1.6': - resolution: {integrity: sha512-OMcMzY2WFARg80oJNFwWbY51TBUfLH4JGTy119cqiDawSFXSIBujxmpXiKbGWQlvfn0CxE6f7/+c6+Kr5hI2YA==} - engines: {node: '>= 18'} + '@octokit/graphql@9.0.1': + resolution: {integrity: sha512-j1nQNU1ZxNFx2ZtKmL4sMrs4egy5h65OMDmSbVyuCzjOcwsHq6EaYjOTGXPQxgfiN8dJ4CriYHk6zF050WEULg==} + engines: {node: '>= 20'} - '@octokit/oauth-authorization-url@7.1.1': - resolution: {integrity: sha512-ooXV8GBSabSWyhLUowlMIVd9l1s2nsOGQdlP2SQ4LnkEsGXzeCvbSbCPdZThXhEFzleGPwbapT0Sb+YhXRyjCA==} - engines: {node: '>= 18'} + '@octokit/oauth-app@8.0.1': + resolution: {integrity: sha512-QnhMYEQpnYbEPn9cae+wXL2LuPMFglmfeuDJXXsyxIXdoORwkLK8y0cHhd/5du9MbO/zdG/BXixzB7EEwU63eQ==} + engines: {node: '>= 20'} - '@octokit/oauth-methods@5.1.4': - resolution: {integrity: sha512-Jc/ycnePClOvO1WL7tlC+TRxOFtyJBGuTDsL4dzXNiVZvzZdrPuNw7zHI3qJSUX2n6RLXE5L0SkFmYyNaVUFoQ==} - engines: {node: '>= 18'} + '@octokit/oauth-authorization-url@8.0.0': + resolution: {integrity: sha512-7QoLPRh/ssEA/HuHBHdVdSgF8xNLz/Bc5m9fZkArJE5bb6NmVkDm3anKxXPmN1zh6b5WKZPRr3697xKT/yM3qQ==} + engines: {node: '>= 20'} - '@octokit/oauth-methods@5.1.5': - resolution: {integrity: sha512-Ev7K8bkYrYLhoOSZGVAGsLEscZQyq7XQONCBBAl2JdMg7IT3PQn/y8P0KjloPoYpI5UylqYrLeUcScaYWXwDvw==} - engines: {node: '>= 18'} - - '@octokit/openapi-types@23.0.1': - resolution: {integrity: sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g==} + '@octokit/oauth-methods@6.0.0': + resolution: {integrity: sha512-Q8nFIagNLIZgM2odAraelMcDssapc+lF+y3OlcIPxyAU+knefO8KmozGqfnma1xegRDP4z5M73ABsamn72bOcA==} + engines: {node: '>= 20'} '@octokit/openapi-types@25.0.0': resolution: {integrity: sha512-FZvktFu7HfOIJf2BScLKIEYjDsw6RKc7rBJCdvCTfKsVnx2GEB/Nbzjr29DUdb7vQhlzS/j8qDzdditP0OC6aw==} - '@octokit/openapi-webhooks-types@9.1.0': - resolution: {integrity: sha512-bO1D2jLdU8qEvqmbWjNxJzDYSFT4wesiYKIKP6f4LaM0XUGtn/0LBv/20hu9YqcnpdX38X5o/xANTMtIAqdwYw==} + '@octokit/openapi-webhooks-types@11.0.0': + resolution: {integrity: sha512-ZBzCFj98v3SuRM7oBas6BHZMJRadlnDoeFfvm1olVxZnYeU6Vh97FhPxyS5aLh5pN51GYv2I51l/hVUAVkGBlA==} - '@octokit/plugin-paginate-graphql@5.2.4': - resolution: {integrity: sha512-pLZES1jWaOynXKHOqdnwZ5ULeVR6tVVCMm+AUbp0htdcyXDU95WbkYdU4R2ej1wKj5Tu94Mee2Ne0PjPO9cCyA==} - engines: {node: '>= 18'} + '@octokit/plugin-paginate-graphql@6.0.0': + resolution: {integrity: sha512-crfpnIoFiBtRkvPqOyLOsw12XsveYuY2ieP6uYDosoUegBJpSVxGwut9sxUgFFcll3VTOTqpUf8yGd8x1OmAkQ==} + engines: {node: '>= 20'} peerDependencies: '@octokit/core': '>=6' @@ -3718,9 +3716,15 @@ packages: peerDependencies: '@octokit/core': '>=6' - '@octokit/plugin-rest-endpoint-methods@14.0.0': - resolution: {integrity: sha512-iQt6ovem4b7zZYZQtdv+PwgbL5VPq37th1m2x2TdkgimIDJpsi2A6Q/OI/23i/hR6z5mL0EgisNR4dcbmckSZQ==} - engines: {node: '>= 18'} + '@octokit/plugin-paginate-rest@13.0.0': + resolution: {integrity: sha512-nPXM3wgil9ONnAINcm8cN+nwso4QhNB13PtnlRFkYFHCUIogcH9DHak/StQYcwkkjuc7pUluLG1AWZNscgvH7Q==} + engines: {node: '>= 20'} + peerDependencies: + '@octokit/core': '>=6' + + '@octokit/plugin-rest-endpoint-methods@15.0.0': + resolution: {integrity: sha512-db6UdWvpX7O6tNsdkPk1BttVwTeVdA4n8RDFeXOyjBCPjE2YPufIAlzWh8CyeH8hl/3dSuQXDa+qLmsBlkTY+Q==} + engines: {node: '>= 20'} peerDependencies: '@octokit/core': '>=6' @@ -3730,37 +3734,50 @@ packages: peerDependencies: '@octokit/core': '>=6' + '@octokit/plugin-retry@8.0.1': + resolution: {integrity: sha512-KUoYR77BjF5O3zcwDQHRRZsUvJwepobeqiSSdCJ8lWt27FZExzb0GgVxrhhfuyF6z2B2zpO0hN5pteni1sqWiw==} + engines: {node: '>= 20'} + peerDependencies: + '@octokit/core': '>=7' + '@octokit/plugin-throttling@10.0.0': resolution: {integrity: sha512-Kuq5/qs0DVYTHZuBAzCZStCzo2nKvVRo/TDNhCcpC2TKiOGz/DisXMCvjt3/b5kr6SCI1Y8eeeJTHBxxpFvZEg==} engines: {node: '>= 18'} peerDependencies: '@octokit/core': ^6.1.3 + '@octokit/plugin-throttling@11.0.1': + resolution: {integrity: sha512-S+EVhy52D/272L7up58dr3FNSMXWuNZolkL4zMJBNIfIxyZuUcczsQAU4b5w6dewJXnKYVgSHSV5wxitMSW1kw==} + engines: {node: '>= 20'} + peerDependencies: + '@octokit/core': ^7.0.0 + '@octokit/request-error@6.1.8': resolution: {integrity: sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==} engines: {node: '>= 18'} - '@octokit/request@9.2.2': - resolution: {integrity: sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==} - engines: {node: '>= 18'} + '@octokit/request-error@7.0.0': + resolution: {integrity: sha512-KRA7VTGdVyJlh0cP5Tf94hTiYVVqmt2f3I6mnimmaVz4UG3gQV/k4mDJlJv3X67iX6rmN7gSHCF8ssqeMnmhZg==} + engines: {node: '>= 20'} + + '@octokit/request@10.0.2': + resolution: {integrity: sha512-iYj4SJG/2bbhh+iIpFmG5u49DtJ4lipQ+aPakjL9OKpsGY93wM8w06gvFbEQxcMsZcCvk5th5KkIm2m8o14aWA==} + engines: {node: '>= 20'} '@octokit/request@9.2.3': resolution: {integrity: sha512-Ma+pZU8PXLOEYzsWf0cn/gY+ME57Wq8f49WTXA8FMHp2Ps9djKw//xYJ1je8Hm0pR2lU9FUGeJRWOtxq6olt4w==} engines: {node: '>= 18'} - '@octokit/types@13.8.0': - resolution: {integrity: sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==} - '@octokit/types@14.0.0': resolution: {integrity: sha512-VVmZP0lEhbo2O1pdq63gZFiGCKkm8PPp8AUOijlwPO6hojEVjspA0MWKP7E4hbvGxzFKNqKr6p0IYtOH/Wf/zA==} - '@octokit/webhooks-methods@5.1.1': - resolution: {integrity: sha512-NGlEHZDseJTCj8TMMFehzwa9g7On4KJMPVHDSrHxCQumL6uSQR8wIkP/qesv52fXqV1BPf4pTxwtS31ldAt9Xg==} - engines: {node: '>= 18'} + '@octokit/webhooks-methods@6.0.0': + resolution: {integrity: sha512-MFlzzoDJVw/GcbfzVC1RLR36QqkTLUf79vLVO3D+xn7r0QgxnFoLZgtrzxiQErAjFUOdH6fas2KeQJ1yr/qaXQ==} + engines: {node: '>= 20'} - '@octokit/webhooks@13.6.1': - resolution: {integrity: sha512-vk0jnc5k0/mLMUI4IA9LfSYkLs3OHtfa7B3h4aRG6to912V3wIG8lS/wKwatwYxRkAug4oE8is0ERRI8pzoYTw==} - engines: {node: '>= 18'} + '@octokit/webhooks@14.0.0': + resolution: {integrity: sha512-IZV4vg/s1pqIpCs86a0tp5FQ/O94DUaqksMdNrXFSaE037TXsB+fIhr8OVig09oEx3WazVgE6B2U+u7/Fvdlsw==} + engines: {node: '>= 20'} '@panva/hkdf@1.2.1': resolution: {integrity: sha512-6oclG6Y3PiDFcoyk8srjLfVKyMfVCKJ27JwNPViuXziFpmdz+MZnZN/aKY0JGXgYuO/VghU0jcOAZgWXZ1Dmrw==} @@ -3911,6 +3928,9 @@ packages: '@remirror/core-constants@3.0.0': resolution: {integrity: sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==} + '@rolldown/pluginutils@1.0.0-beta.9': + resolution: {integrity: sha512-e9MeMtVWo186sgvFFJOPGy7/d2j2mZhLJIdVW0C/xDluuOvymEATqz6zKsP0ZmXGzQtqlyjz5sC1sYQUoJG98w==} + '@rollup/pluginutils@5.1.0': resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} @@ -4088,14 +4108,17 @@ packages: '@swagger-api/apidom-ast@1.0.0-beta.30': resolution: {integrity: sha512-5Wj3zdt0dxS9ERVk4qSuqDIsMQ8dP2vop8b494OpJ/O2W261yCV39Z+vN+PqeJ2NiKDRMlJ+QoQ1uVfKwEo8Kg==} - '@swagger-api/apidom-core@1.0.0-beta.30': - resolution: {integrity: sha512-pDnUhXIKKUvmeezQfwKLL05rkOH1L7ueiy5ja5ob9y2w4r+HXDID7qHtDGeRxKZoIt4E3Sd1K37OjcE9fNcknQ==} + '@swagger-api/apidom-ast@1.0.0-beta.39': + resolution: {integrity: sha512-EWeSOtvI8XpbYMRkDyu4qAIlivhcplrskpau2cbrWfXGBjrqEtmHqWlbJ9xoXJbNshbIcZ0Z77QdxicimGjs0w==} - '@swagger-api/apidom-error@1.0.0-beta.30': - resolution: {integrity: sha512-hVDx0kUF1DTyaEXwmsF3wpJClEfnH0pxjEubqtvHpjjeTMgZzmKc5azbYtvgBX3uUpGHyQZyG/O9g94/wIhhMA==} + '@swagger-api/apidom-core@1.0.0-beta.39': + resolution: {integrity: sha512-tYZSVA+uDFvBJmnP104d8Qb/mye8B6ykNviohHAngHsy8ElcOPzSi5GKwwmJgf3taWzipMqWNM0ch5KytbXTqw==} - '@swagger-api/apidom-json-pointer@1.0.0-beta.30': - resolution: {integrity: sha512-G+BDNXU/ARJCbJiFq1A6dh6pNDDp1J0jPfKeIHjsD8aZoRdpJC0F3F7onm8TjQm2cnvAi4B7vPOKzjWrYN1VWw==} + '@swagger-api/apidom-error@1.0.0-beta.39': + resolution: {integrity: sha512-vQ3xQaRQGP9kNNBEDcFCmUd2PT9rCtYdkCyqYWZMxHBm5dXSBC/dQaC5VN1DbqQygE16fSQC+c5sqOrwg5d5WQ==} + + '@swagger-api/apidom-json-pointer@1.0.0-beta.39': + resolution: {integrity: sha512-gPDNT+MCs/B1XYuNpmnz0rOHQ0ssN9YjVDqeGkX61v03BLJUF/JZKMo3J3FA2mgKb6ap+kRHzpzw5PpHLwRKAw==} '@swagger-api/apidom-ns-api-design-systems@1.0.0-beta.11': resolution: {integrity: sha512-otqTNZf+yG7ZTDo5wzin6jcTqO9KwoAni8iwS8s359Et8sp5DwjTSR86vSg1rZsUIqw/WWDGrPRkTHU73tOX8w==} @@ -4109,26 +4132,44 @@ packages: '@swagger-api/apidom-ns-json-schema-2019-09@1.0.0-beta.30': resolution: {integrity: sha512-HZL76SJaUDmL1GuFcev23UX1vVuxSHIED3vvKso+k3KWNfVWZJrr7GX1ELJx84fWW8g3b5S5+nyz5q1ApT084A==} + '@swagger-api/apidom-ns-json-schema-2019-09@1.0.0-beta.39': + resolution: {integrity: sha512-I/XP4zbrWAmnq2KWPtbb9DKLWgzYFovIiSQOyh47bJqbYgz64/IhoZb/uGihZojVVHSqeeJH9o6JOahqHQzKOw==} + '@swagger-api/apidom-ns-json-schema-2020-12@1.0.0-beta.30': resolution: {integrity: sha512-D2adAcu/ISoBe0zRbcX0HyaDvWoMhmaL8iPR4pvjLY7soB2tCR4uLEzAkqPa2zaOKBRA2ziF74aNKrKbM5sX8w==} + '@swagger-api/apidom-ns-json-schema-2020-12@1.0.0-beta.39': + resolution: {integrity: sha512-9bpMp96fb76lOqeggtyCU457K/XBLyw3O9fxdVS3Tevhf8P3SJ6QpabmweRb6kFt4vI3+DiBschJGn0iqmlcXw==} + '@swagger-api/apidom-ns-json-schema-draft-4@1.0.0-beta.30': resolution: {integrity: sha512-u5YMIw/g74Z59wPBFS2A2LaheC+EEqRcbpUQOApTvb6zjW+xWxbCuKV1ypzIaVDDPIry8e3mpwjjXLj1mvad5w==} + '@swagger-api/apidom-ns-json-schema-draft-4@1.0.0-beta.39': + resolution: {integrity: sha512-F25tm/nwPl1rRnUHzaVw4SAeASodO60oAtWX+GF3K61WEx/Aao4Maldv3CQtAoUk8L0Ml0l1KZL00sgfikwqlw==} + '@swagger-api/apidom-ns-json-schema-draft-6@1.0.0-beta.30': resolution: {integrity: sha512-/Mp11+tBKTN6XnpOiQo/cKnqmvfJhdCniHCK6Bg8wpCI3dMi+nSSpIYgWEPVQfNsLtf/PaYegrtYY56W4UzNRw==} + '@swagger-api/apidom-ns-json-schema-draft-6@1.0.0-beta.39': + resolution: {integrity: sha512-E2fQQHWIRtbM5C1m1EL95MQNDPL98mlgYomPQDDUEFbYrH3u9BQGAgpIu4KuYasKquyuhx9YXqS/jLRhMCRfAQ==} + '@swagger-api/apidom-ns-json-schema-draft-7@1.0.0-beta.30': resolution: {integrity: sha512-6sZ0LLYnEz9KXtt9xTRSc0EORBl5Fj3LUbfabUjqLQZGldsJWU+3TTQ4XtzFFHlan7z2WYyALKP7iP+b60XbPg==} + '@swagger-api/apidom-ns-json-schema-draft-7@1.0.0-beta.39': + resolution: {integrity: sha512-mhzb7n3pm0yfYuM9bZowYMp6L61Cz+HrbjBowUIt5iOMMAATQd6x209pj81hnSmgHmEJCgv+8IO9dvweme698A==} + '@swagger-api/apidom-ns-openapi-2@1.0.0-beta.11': resolution: {integrity: sha512-aVi48Dv3pk/QzxPXH/jmOReiGU01gkgkEFUbBiNGxuHD/bzS4SbLLdkw6ai8f8eQPpXI6xKP5F6LhFHWTE0IJg==} '@swagger-api/apidom-ns-openapi-3-0@1.0.0-beta.30': resolution: {integrity: sha512-7bz6kCgjStTKGGI4wBP2ho574lyfjH5EDPPuXhkwmAG2mOn9MZezlQhsbdo3B+vbi/58mqQb2XCoB4aeP1F+GQ==} - '@swagger-api/apidom-ns-openapi-3-1@1.0.0-beta.30': - resolution: {integrity: sha512-pq2jxSp0I6xnGzyAiEXWYMuurp8H7TlOQ6Ijr/XX54gNmaIK+yQ3HXc7S6FZx+B2kQx03Tb8Y8O7L7J7YnmFiA==} + '@swagger-api/apidom-ns-openapi-3-0@1.0.0-beta.39': + resolution: {integrity: sha512-lvNlUtCmyHH8+52qOhgXXdzy4HEYA+t7xnFNvDb6dtP+epXCexux3uRs8+xEYBHo/WqUGzjdwd0qKFRgyP7Lrw==} + + '@swagger-api/apidom-ns-openapi-3-1@1.0.0-beta.39': + resolution: {integrity: sha512-sXMJxTGL2F36Uyv9iqvPwvzsD5NJM/dJ52tUuiJP8h4RqXwjrOC86hqf1/Xk/rxgpZShhW4PNEqifvPq/Mto3w==} '@swagger-api/apidom-parser-adapter-api-design-systems-json@1.0.0-beta.11': resolution: {integrity: sha512-kya/aWYL/tkJ7P12FOztRzGo8w8zajkN33KPbi0cVwiyB82yDlor2A4CodSXsy/vSEWVrqMVvz5lBVsUe2YgFQ==} @@ -4172,13 +4213,17 @@ packages: '@swagger-api/apidom-parser-adapter-yaml-1-2@1.0.0-beta.30': resolution: {integrity: sha512-NRmQehyw4gbDzeBAl0zjyPqj4e/jNYgqnRLcOsxTKpWODud8RHBqEvju/M6iET6ru0o+A9265efFzqR9hiE0LA==} - '@swagger-api/apidom-reference@1.0.0-beta.30': - resolution: {integrity: sha512-l1MpLMlmaX+y2hra5EadfR37sAMzmEz1wZomVcnw7vJEFlLQo3WwOdFvpQemPCZ9IJHUs+5zhZ++w7z60uKpSw==} + '@swagger-api/apidom-reference@1.0.0-beta.39': + resolution: {integrity: sha512-PrV2/3Z6XGJPj4fv1JazY1dKjlnAg/BN22UQdUOzA5/A0TkfbImt8uVQuVzQSL2P8RA6G9TDsdpOalj80N47rw==} '@swaggerexpert/cookie@2.0.2': resolution: {integrity: sha512-DPI8YJ0Vznk4CT+ekn3rcFNq1uQwvUHZhH6WvTSPD0YKBIlMS9ur2RYKghXuxxOiqOam/i4lHJH4xTIiTgs3Mg==} engines: {node: '>=12.20.0'} + '@swaggerexpert/json-pointer@2.10.2': + resolution: {integrity: sha512-qMx1nOrzoB+PF+pzb26Q4Tc2sOlrx9Ba2UBNX9hB31Omrq+QoZ2Gly0KLrQWw4Of1AQ4J9lnD+XOdwOdcdXqqw==} + engines: {node: '>=12.20.0'} + '@swc/counter@0.1.3': resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} @@ -4214,39 +4259,39 @@ packages: zod: optional: true - '@tabler/icons-react@3.31.0': - resolution: {integrity: sha512-2rrCM5y/VnaVKnORpDdAua9SEGuJKVqPtWxeQ/vUVsgaUx30LDgBZph7/lterXxDY1IKR6NO//HDhWiifXTi3w==} + '@tabler/icons-react@3.33.0': + resolution: {integrity: sha512-ay+HDecCjmFl25Lg14hcl59ffSjnOcgfrlV14shu8Qjbz+Xh4LRus93DuoyLQte8YSxE7Pe5gnEz6OF0GtwNtw==} peerDependencies: react: '>= 16' - '@tabler/icons@3.31.0': - resolution: {integrity: sha512-dblAdeKY3+GA1U+Q9eziZ0ooVlZMHsE8dqP0RkwvRtEsAULoKOYaCUOcJ4oW1DjWegdxk++UAt2SlQVnmeHv+g==} + '@tabler/icons@3.33.0': + resolution: {integrity: sha512-NZeFfzcYe7xcBHR3zKoCSrw/cFWvfj6LjenPQ48yVMTGdX854HH9nH44ZfMH8rrDzHBllfjwl4CIX6Vh2tyN0Q==} '@tanstack/match-sorter-utils@8.19.4': resolution: {integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==} engines: {node: '>=12'} - '@tanstack/query-core@5.76.0': - resolution: {integrity: sha512-FN375hb8ctzfNAlex5gHI6+WDXTNpe0nbxp/d2YJtnP+IBM6OUm7zcaoCW6T63BawGOYZBbKC0iPvr41TteNVg==} + '@tanstack/query-core@5.76.2': + resolution: {integrity: sha512-PFGwWh5ss9cJQ67l6bZ7hqXbisX2gy13G2jP+VGY1bgdbCfOMWh6UBVnN62QbFXro6CCoX9hYzTnZHr6Rz00YQ==} '@tanstack/query-devtools@5.76.0': resolution: {integrity: sha512-1p92nqOBPYVqVDU0Ua5nzHenC6EGZNrLnB2OZphYw8CNA1exuvI97FVgIKON7Uug3uQqvH/QY8suUKpQo8qHNQ==} - '@tanstack/react-query-devtools@5.76.1': - resolution: {integrity: sha512-LFVWgk/VtXPkerNLfYIeuGHh0Aim/k9PFGA+JxLdRaUiroQ4j4eoEqBrUpQ1Pd/KXoG4AB9vVE/M6PUQ9vwxBQ==} + '@tanstack/react-query-devtools@5.76.2': + resolution: {integrity: sha512-XQqPM7ByqhitYtzzRXpFcPXY2FIMGY13atJoQnDInxX+ko7wOhAJg51QGzSxQwZ2JEy91taj0IaIUh3pOz2buw==} peerDependencies: - '@tanstack/react-query': ^5.76.1 + '@tanstack/react-query': ^5.76.2 react: ^18 || ^19 - '@tanstack/react-query-next-experimental@5.76.1': - resolution: {integrity: sha512-PzWE2vxpip+I6rz3AQqcl+p+0NKoNHJLYWvJJbj4XW9FPCi5elXxLsDgedv5D8IJ/tAXYqK+CISmSaaWIX5Ctg==} + '@tanstack/react-query-next-experimental@5.76.2': + resolution: {integrity: sha512-h6CZtNEnf+3x9TPERhxuSnZA7nlmugjREsCRpeSWZUvG2uqUatUoN/oINrpXI780OOJRtREM4S9E+PPXaWErCw==} peerDependencies: - '@tanstack/react-query': ^5.76.1 + '@tanstack/react-query': ^5.76.2 next: ^13 || ^14 || ^15 react: ^18 || ^19 - '@tanstack/react-query@5.76.1': - resolution: {integrity: sha512-YxdLZVGN4QkT5YT1HKZQWiIlcgauIXEIsMOTSjvyD5wLYK8YVvKZUPAysMqossFJJfDpJW3pFn7WNZuPOqq+fw==} + '@tanstack/react-query@5.76.2': + resolution: {integrity: sha512-rGkWberCrFdIxMdvSAJM/UOKeu0O/JVTbMmfhQoJpiU9Uq0EDx2EMCadnNuJWbXR4smDA2t7DY3NKkYFmDVS5A==} peerDependencies: react: ^18 || ^19 @@ -4270,8 +4315,8 @@ packages: '@tanstack/virtual-core@3.11.2': resolution: {integrity: sha512-vTtpNt7mKCiZ1pwU9hfKPhpdVO2sVzFQsxoVBGtOSHxlrRRzYr8iQ2TlwbAcRYCcEiZ9ECAM8kBzH0v2+VzfKw==} - '@testcontainers/mysql@10.26.0': - resolution: {integrity: sha512-WNFbMVLa1WF5SmcqH8fUbjwDcyHcBcq1XLazuEVxT4UwQUaZXA7nLAzJoIngNcCXZ1+m4nROVjM9PsQW4nzMBQ==} + '@testcontainers/mysql@10.28.0': + resolution: {integrity: sha512-yZKe86Esg8mPyr957aSwdkmDqXH17vab5aUcDqwR/E2fZpZxLetwfvmoVP+V6TpQQNTYrVTyP5T+HPMgaZeIkA==} '@tiptap/core@2.12.0': resolution: {integrity: sha512-3qX8oGVKFFZzQ0vit+ZolR6AJIATBzmEmjAA0llFhWk4vf3v64p1YcXcJsOBsr5scizJu5L6RYWEFatFwqckRg==} @@ -4634,8 +4679,8 @@ packages: '@types/docker-modem@3.0.6': resolution: {integrity: sha512-yKpAGEuKRSS8wwx0joknWxsmLha78wNMe9R2S3UNsVOkZded8UqOrV8KoeDXoXsjndxwyF3eIhyClGbO1SEhEg==} - '@types/dockerode@3.3.38': - resolution: {integrity: sha512-nnrcfUe2iR+RyOuz0B4bZgQwD9djQa9ADEjp7OAgBs10pYT0KSCtplJjcmBDJz0qaReX5T7GbE5i4VplvzUHvA==} + '@types/dockerode@3.3.39': + resolution: {integrity: sha512-uMPmxehH6ofeYjaslASPtjvyH8FRJdM9fZ+hjhGzL4Jq3bGjr9D7TKmp9soSwgFncNk0HOwmyBxjqOb3ikjjsA==} '@types/estree-jsx@1.0.5': resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} @@ -4712,8 +4757,8 @@ packages: '@types/node@18.19.50': resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} - '@types/node@22.15.18': - resolution: {integrity: sha512-v1DKRfUdyW+jJhZNEI1PYy29S2YRxMV5AOO/x/SjKmW0acCIOqmbj6Haf9eHAhsPmrhlHSxEhv/1WszcLWV4cg==} + '@types/node@22.15.21': + resolution: {integrity: sha512-EV/37Td6c+MgKAbkcLG6vqZ2zEYHD7bvSrzqqs2RIhbA6w3x+Dqz8MZM3sP6kGTeLrdoOgKZe+Xja7tUB2DNkQ==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -4735,8 +4780,8 @@ packages: peerDependencies: '@types/react': ^19.0.0 - '@types/react@19.1.4': - resolution: {integrity: sha512-EB1yiiYdvySuIITtD5lhW4yPyJ31RkJkkDw794LaQYrxCSaQV/47y5o1FMC4zF9ZyjUjzJMZwbovEnT5yHTW6g==} + '@types/react@19.1.5': + resolution: {integrity: sha512-piErsCVVbpMMT2r7wbawdZsq4xMvIAhQuac2gedQHysu1TZYEigE6pnFfgZT+/jQnrRuF5r+SHzuehFjfRjr4g==} '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} @@ -4862,26 +4907,26 @@ packages: '@videojs/xhr@2.7.0': resolution: {integrity: sha512-giab+EVRanChIupZK7gXjHy90y3nncA2phIOyG3Ne5fvpiMJzvqYwiTOnEVW2S4CoYcuKJkomat7bMXA/UoUZQ==} - '@vitejs/plugin-react@4.4.1': - resolution: {integrity: sha512-IpEm5ZmeXAP/osiBXVVP5KjFMzbWOonMs0NaQQl+xYnUAcq4oHUBsF2+p4MgKWG4YMmFYJU8A6sxRPuowllm6w==} + '@vitejs/plugin-react@4.5.0': + resolution: {integrity: sha512-JuLWaEqypaJmOJPLWwO335Ig6jSgC1FTONCWAxnqcQthLTK/Yc9aH6hr9z/87xciejbQcnP3GnA1FWUSWeXaeg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.2.0 || ^5.0.0 || ^6.0.0 - '@vitest/coverage-v8@3.1.3': - resolution: {integrity: sha512-cj76U5gXCl3g88KSnf80kof6+6w+K4BjOflCl7t6yRJPDuCrHtVu0SgNYOUARJOL5TI8RScDbm5x4s1/P9bvpw==} + '@vitest/coverage-v8@3.1.4': + resolution: {integrity: sha512-G4p6OtioySL+hPV7Y6JHlhpsODbJzt1ndwHAFkyk6vVjpK03PFsKnauZIzcd0PrK4zAbc5lc+jeZ+eNGiMA+iw==} peerDependencies: - '@vitest/browser': 3.1.3 - vitest: 3.1.3 + '@vitest/browser': 3.1.4 + vitest: 3.1.4 peerDependenciesMeta: '@vitest/browser': optional: true - '@vitest/expect@3.1.3': - resolution: {integrity: sha512-7FTQQuuLKmN1Ig/h+h/GO+44Q1IlglPlR2es4ab7Yvfx+Uk5xsv+Ykk+MEt/M2Yn/xGmzaLKxGw2lgy2bwuYqg==} + '@vitest/expect@3.1.4': + resolution: {integrity: sha512-xkD/ljeliyaClDYqHPNCiJ0plY5YIcM0OlRiZizLhlPmpXWpxnGMyTZXOHFhFeG7w9P5PBeL4IdtJ/HeQwTbQA==} - '@vitest/mocker@3.1.3': - resolution: {integrity: sha512-PJbLjonJK82uCWHjzgBJZuR7zmAOrSvKk1QBxrennDIgtH4uK0TB1PvYmc0XBCigxxtiAVPfWtAdy4lpz8SQGQ==} + '@vitest/mocker@3.1.4': + resolution: {integrity: sha512-8IJ3CvwtSw/EFXqWFL8aCMu+YyYXG2WUSrQbViOZkWTKTVicVwZ/YiEZDSqD00kX+v/+W+OnxhNWoeVKorHygA==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 || ^6.0.0 @@ -4891,25 +4936,25 @@ packages: vite: optional: true - '@vitest/pretty-format@3.1.3': - resolution: {integrity: sha512-i6FDiBeJUGLDKADw2Gb01UtUNb12yyXAqC/mmRWuYl+m/U9GS7s8us5ONmGkGpUUo7/iAYzI2ePVfOZTYvUifA==} + '@vitest/pretty-format@3.1.4': + resolution: {integrity: sha512-cqv9H9GvAEoTaoq+cYqUTCGscUjKqlJZC7PRwY5FMySVj5J+xOm1KQcCiYHJOEzOKRUhLH4R2pTwvFlWCEScsg==} - '@vitest/runner@3.1.3': - resolution: {integrity: sha512-Tae+ogtlNfFei5DggOsSUvkIaSuVywujMj6HzR97AHK6XK8i3BuVyIifWAm/sE3a15lF5RH9yQIrbXYuo0IFyA==} + '@vitest/runner@3.1.4': + resolution: {integrity: sha512-djTeF1/vt985I/wpKVFBMWUlk/I7mb5hmD5oP8K9ACRmVXgKTae3TUOtXAEBfslNKPzUQvnKhNd34nnRSYgLNQ==} - '@vitest/snapshot@3.1.3': - resolution: {integrity: sha512-XVa5OPNTYUsyqG9skuUkFzAeFnEzDp8hQu7kZ0N25B1+6KjGm4hWLtURyBbsIAOekfWQ7Wuz/N/XXzgYO3deWQ==} + '@vitest/snapshot@3.1.4': + resolution: {integrity: sha512-JPHf68DvuO7vilmvwdPr9TS0SuuIzHvxeaCkxYcCD4jTk67XwL45ZhEHFKIuCm8CYstgI6LZ4XbwD6ANrwMpFg==} - '@vitest/spy@3.1.3': - resolution: {integrity: sha512-x6w+ctOEmEXdWaa6TO4ilb7l9DxPR5bwEb6hILKuxfU1NqWT2mpJD9NJN7t3OTfxmVlOMrvtoFJGdgyzZ605lQ==} + '@vitest/spy@3.1.4': + resolution: {integrity: sha512-Xg1bXhu+vtPXIodYN369M86K8shGLouNjoVI78g8iAq2rFoHFdajNvJJ5A/9bPMFcfQqdaCpOgWKEoMQg/s0Yg==} - '@vitest/ui@3.1.3': - resolution: {integrity: sha512-IipSzX+8DptUdXN/GWq3hq5z18MwnpphYdOMm0WndkRGYELzfq7NDP8dMpZT7JGW1uXFrIGxOW2D0Xi++ulByg==} + '@vitest/ui@3.1.4': + resolution: {integrity: sha512-CFc2Bpb3sz4Sdt53kdNGq+qZKLftBwX4qZLC03CBUc0N1LJrOoL0ZeK0oq/708mtnpwccL0BZCY9d1WuiBSr7Q==} peerDependencies: - vitest: 3.1.3 + vitest: 3.1.4 - '@vitest/utils@3.1.3': - resolution: {integrity: sha512-2Ltrpht4OmHO9+c/nmHtF09HWiyWdworqnHIwjfvDyWjuwKbdkcS9AnhsDn+8E2RM4x++foD1/tNuLPVvWG1Rg==} + '@vitest/utils@3.1.4': + resolution: {integrity: sha512-yriMuO1cfFhmiGc8ataN51+9ooHRuURdfAZfwFd3usWynjzpLslZdYnRegTv32qdgtJTsj15FoeZe2g15fY1gg==} '@webassemblyjs/ast@1.14.1': resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} @@ -4990,10 +5035,6 @@ packages: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} - accepts@2.0.0: - resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} - engines: {node: '>= 0.6'} - acorn-import-attributes@1.9.5: resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} peerDependencies: @@ -5229,9 +5270,6 @@ packages: axios@1.7.7: resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==} - axios@1.8.4: - resolution: {integrity: sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==} - axios@1.9.0: resolution: {integrity: sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==} @@ -5309,6 +5347,9 @@ packages: before-after-hook@3.0.2: resolution: {integrity: sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==} + before-after-hook@4.0.0: + resolution: {integrity: sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==} + better-sqlite3@11.10.0: resolution: {integrity: sha512-EwhOpyXiOEL/lKzHz9AW1msWFNzGc/z+LzeB3/jnFJpxu+th2yqvzsSWas1v9jgs9+xiXJcD5A8CJxAG2TaghQ==} @@ -5321,10 +5362,6 @@ packages: bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - body-parser@2.2.0: - resolution: {integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==} - engines: {node: '>=18'} - bottleneck@2.19.5: resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==} @@ -5640,14 +5677,6 @@ packages: constant-case@2.0.0: resolution: {integrity: sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ==} - content-disposition@1.0.0: - resolution: {integrity: sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==} - engines: {node: '>= 0.6'} - - content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} - conventional-changelog-angular@8.0.0: resolution: {integrity: sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==} engines: {node: '>=18'} @@ -5680,10 +5709,6 @@ packages: cookie-es@1.2.2: resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==} - cookie-signature@1.2.2: - resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} - engines: {node: '>=6.6.0'} - cookie@0.7.2: resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} @@ -6156,9 +6181,6 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - effect@3.13.10: resolution: {integrity: sha512-f2n51BJJ25G9rb/C1ClkgsVFXH6YTkCHmd6ebpu6cAkwQxfhnfbkVWKgkn3nyW9YnC9z4K8bGohRYaZ+HyWtLg==} @@ -6184,10 +6206,6 @@ packages: enabled@2.0.0: resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==} - encodeurl@2.0.0: - resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} - engines: {node: '>= 0.8'} - end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} @@ -6299,8 +6317,8 @@ packages: engines: {node: '>=12'} hasBin: true - esbuild@0.25.2: - resolution: {integrity: sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==} + esbuild@0.25.4: + resolution: {integrity: sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==} engines: {node: '>=18'} hasBin: true @@ -6312,9 +6330,6 @@ packages: resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==} engines: {node: '>=8'} - escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} @@ -6418,8 +6433,8 @@ packages: resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.26.0: - resolution: {integrity: sha512-Hx0MOjPh6uK9oq9nVsATZKE/Wlbai7KFjfCuw9UHaguDW3x+HF0O5nIi3ud39TWgrTjTO5nHxmL3R1eANinWHQ==} + eslint@9.27.0: + resolution: {integrity: sha512-ixRawFQuMB9DZ7fjU3iGGganFDp3+45bPOdaRurcFHSXO1e/sYwUX/FtQZpLZJR6SjMoJH8hR2pPEAfDyCoU2Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -6466,10 +6481,6 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} - event-target-shim@5.0.1: resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} engines: {node: '>=6'} @@ -6484,14 +6495,6 @@ packages: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - eventsource-parser@3.0.1: - resolution: {integrity: sha512-VARTJ9CYeuQYb0pZEPbzi740OWFgpHe7AYJ2WFZVnUDUQp5Dk2yJUgF36YsZ81cOyxT0QxmXD2EQpapAouzWVA==} - engines: {node: '>=18.0.0'} - - eventsource@3.0.6: - resolution: {integrity: sha512-l19WpE2m9hSuyP06+FbuUUf1G+R0SFLrtQfbRb9PRr+oimOfxQhgGCbVaXg5IvZyyTThJsxh6L/srkMiCeBPDA==} - engines: {node: '>=18.0.0'} - execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -6512,16 +6515,6 @@ packages: resolution: {integrity: sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==} engines: {node: '>=12.0.0'} - express-rate-limit@7.5.0: - resolution: {integrity: sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==} - engines: {node: '>= 16'} - peerDependencies: - express: ^4.11 || 5 || ^5.0.0-beta.1 - - express@5.1.0: - resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==} - engines: {node: '>= 18'} - extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} @@ -6536,6 +6529,9 @@ packages: fast-content-type-parse@2.0.1: resolution: {integrity: sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q==} + fast-content-type-parse@3.0.0: + resolution: {integrity: sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==} + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -6629,10 +6625,6 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - finalhandler@2.1.0: - resolution: {integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==} - engines: {node: '>= 0.8'} - find-up-simple@1.0.0: resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==} engines: {node: '>=18'} @@ -6686,14 +6678,6 @@ packages: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} engines: {node: '>=0.4.x'} - forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - - fresh@2.0.0: - resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} - engines: {node: '>= 0.8'} - from2@2.3.0: resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} @@ -7153,10 +7137,6 @@ packages: resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} engines: {node: '>= 12'} - ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - iron-webcrypto@1.2.1: resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} @@ -7322,9 +7302,6 @@ packages: is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - is-promise@4.0.0: - resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} - is-property@1.0.2: resolution: {integrity: sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==} @@ -7780,8 +7757,8 @@ packages: peerDependencies: marked: '>=1 <15' - marked@12.0.2: - resolution: {integrity: sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==} + marked@15.0.11: + resolution: {integrity: sha512-1BEXAU2euRCG3xwgLVT1y0xbJEld1XOrmRJpUwRCcy7rxhSCwMrmEu9LXoPhHSCJG41V7YcQ2mjKRr5BA3ITIA==} engines: {node: '>= 18'} hasBin: true @@ -7820,18 +7797,10 @@ packages: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} - media-typer@1.1.0: - resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} - engines: {node: '>= 0.8'} - meow@13.2.0: resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} engines: {node: '>=18'} - merge-descriptors@2.0.0: - resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} - engines: {node: '>=18'} - merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -7910,18 +7879,10 @@ packages: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} - mime-db@1.54.0: - resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} - engines: {node: '>= 0.6'} - mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - mime-types@3.0.1: - resolution: {integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==} - engines: {node: '>= 0.6'} - mime@4.0.4: resolution: {integrity: sha512-v8yqInVjhXyqP6+Kw4fV3ZzeMRqEW6FotRsKXjRS5VMTNIuXsdRoAvklpoRgSqXm6o9VNH4/C0mgedko9DdLsQ==} engines: {node: '>=16'} @@ -8345,9 +8306,9 @@ packages: resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} engines: {node: '>= 0.4'} - octokit@4.1.3: - resolution: {integrity: sha512-PP+EL8h4xPCE9NBo6jXq6I2/EiTXsn1cg9F0IZehHBv/qhuQpyGMFElEB17miWKciuT6vRHiFFiG9+FoXOmg6A==} - engines: {node: '>= 18'} + octokit@5.0.2: + resolution: {integrity: sha512-WCO9Oip2F+qsrIcNMfLwm1+dL2g70oO++pkmiluisJDMXXwdO4susVaVg1iQZgZNiDtA1qcLXs5662Mdj/vqdw==} + engines: {node: '>= 20'} ofetch@1.4.1: resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} @@ -8355,10 +8316,6 @@ packages: ohash@1.1.4: resolution: {integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==} - on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} - once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -8513,10 +8470,6 @@ packages: parse5@7.2.1: resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==} - parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - pascal-case@2.0.1: resolution: {integrity: sha512-qjS4s8rBOJa2Xm0jmxXiyh1+OFf6ekCWOvUaRgAQSktzlTbMotS0nmG9gyYAybCWBcuP4fsBeRCKNwGBnMe2OQ==} @@ -8554,10 +8507,6 @@ packages: resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} engines: {node: 20 || >=22} - path-to-regexp@8.2.0: - resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} - engines: {node: '>=16'} - path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -8597,10 +8546,6 @@ packages: piscina@4.6.1: resolution: {integrity: sha512-z30AwWGtQE+Apr+2WBZensP2lIvwoaMcOPkQlIEmSGMJNUvaYACylPYrQM6wSdUNJlnDVMSpLv7xTMJqlVshOA==} - pkce-challenge@5.0.0: - resolution: {integrity: sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==} - engines: {node: '>=16.20.0'} - pkcs7@1.0.4: resolution: {integrity: sha512-afRERtHn54AlwaF2/+LFszyAANTCggGilmcmILUzEjvs3XgFZT+xE6+QWQcAGmu4xajy+Xtj7acLOPdx5/eXWQ==} hasBin: true @@ -8691,8 +8636,8 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier-plugin-packagejson@2.5.13: - resolution: {integrity: sha512-94B/Xy25HwiwSkGUGnwQw3cBw9jg9L5LfKCHpuRMjC8ETPq4oCMa2S4EblV628E0XER9n6v5rH0TQY9cUd10pg==} + prettier-plugin-packagejson@2.5.14: + resolution: {integrity: sha512-h+3tSpr2nVpp+YOK1MDIYtYhHVXr8/0V59UUbJpIJFaqi3w4fvUokJo6eV8W+vELrUXIZzJ+DKm5G7lYzrMcKQ==} peerDependencies: prettier: '>= 1.16.0' peerDependenciesMeta: @@ -8811,10 +8756,6 @@ packages: proxmox-api@1.1.1: resolution: {integrity: sha512-2qH7pxKBBHa7WtEBmxPaBY2FZEH2R04hqr9zD9PmErLzJ7RGGcfNcXoS/v5G4vBM2Igmnx0EAYBstPwwfDwHnA==} - proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - proxy-agent@6.5.0: resolution: {integrity: sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==} engines: {node: '>= 14'} @@ -8844,10 +8785,6 @@ packages: resolution: {integrity: sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg==} engines: {node: '>=0.6'} - qs@6.14.0: - resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} - engines: {node: '>=0.6'} - querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} @@ -8873,18 +8810,10 @@ packages: randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - raw-body@2.5.2: resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} engines: {node: '>= 0.8'} - raw-body@3.0.0: - resolution: {integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==} - engines: {node: '>= 0.8'} - rc@1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true @@ -9205,10 +9134,6 @@ packages: rope-sequence@1.3.4: resolution: {integrity: sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==} - router@2.2.0: - resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} - engines: {node: '>= 18'} - rrdom@0.1.7: resolution: {integrity: sha512-ZLd8f14z9pUy2Hk9y636cNv5Y2BMnNEY99wxzW9tD2BLDfe1xFxtLjB4q/xCBYo6HRe0wofzKzjm4JojmpBfFw==} @@ -9296,8 +9221,8 @@ packages: resolution: {integrity: sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==} engines: {node: '>= 10.13.0'} - semantic-release@24.2.3: - resolution: {integrity: sha512-KRhQG9cUazPavJiJEFIJ3XAMjgfd0fcK3B+T26qOl8L0UG5aZUjeRfREO0KM5InGtYwxqiiytkJrbcYoLDEv0A==} + semantic-release@24.2.4: + resolution: {integrity: sha512-WnzIiRUzEUSHWuCH1S9ifa7eA3g4b5fpCzFQoTA5yZcyTra5P2gaYoCV5iX3VR5xB2h/laQfz3NXTCN4qdK/AQ==} engines: {node: '>=20.8.1'} hasBin: true @@ -9335,10 +9260,6 @@ packages: engines: {node: '>=10'} hasBin: true - send@1.2.0: - resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} - engines: {node: '>= 18'} - sentence-case@2.1.1: resolution: {integrity: sha512-ENl7cYHaK/Ktwk5OTD+aDbQ3uC8IByu/6Bkg+HDv8Mm+XnBnppVNalcfJTNsp1ibstKh030/JKQQWglDvtKwEQ==} @@ -9352,10 +9273,6 @@ packages: serialize-javascript@6.0.2: resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} - serve-static@2.2.0: - resolution: {integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==} - engines: {node: '>= 18'} - set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} @@ -9386,8 +9303,8 @@ packages: shell-quote@1.8.1: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} - short-unique-id@5.2.0: - resolution: {integrity: sha512-cMGfwNyfDZ/nzJ2k2M+ClthBIh//GlZl1JEf47Uoa9XR11bz8Pa2T2wQO4bVrRdH48LrIDWJahQziKo3MjhsWg==} + short-unique-id@5.3.2: + resolution: {integrity: sha512-KRT/hufMSxXKEDSQujfVE0Faa/kZ51ihUcZQAcmP04t00DvPj7Ox5anHke1sJYUtzSuiT/Y5uyzg/W7bBEGhCg==} hasBin: true side-channel-list@1.0.0: @@ -9711,11 +9628,11 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - swagger-client@3.34.4: - resolution: {integrity: sha512-Qvtu8DtARAx5GwefA0eV1WRLa4Q9bhczrtNAsiBMOx3HkxAOczy1APQhrcblJdLys0xEGQ4xYizYFXfIL9BhpA==} + swagger-client@3.35.3: + resolution: {integrity: sha512-4bO+dhBbasP485Ak67o46cWNVUnV0/92ypb2997bhvxTO2M+IuQZM1ilkN/7nSaiGuxDKJhkuL54I35PVI3AAw==} - swagger-ui-react@5.21.0: - resolution: {integrity: sha512-lS5paITM1kkcBb/BTTSMHKelh8elHfcuUP4T3R3mO80tDR0AYJL2HR5UdQD6nV1LwdvekzRM8gKjJA6hVayi0A==} + swagger-ui-react@5.22.0: + resolution: {integrity: sha512-Y0TEWg2qD4u/dgZ9q9G16yM/Edvyz0ovkIZlpACN8X/2gzSoIzS/fhSpLSJfCOxRt2UqrKmajMB11VK6cGZk2g==} peerDependencies: react: '>=16.8.0 <19' react-dom: '>=16.8.0 <19' @@ -9726,8 +9643,8 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - synckit@0.11.5: - resolution: {integrity: sha512-frqvfWyDA5VPVdrWfH24uM6SI/O8NLpVbIIJxb8t/a3YGsp4AW9CYgSKC0OaSEfexnp7Y1pVh2Y6IHO8ggGDmA==} + synckit@0.11.6: + resolution: {integrity: sha512-2pR2ubZSV64f/vqm9eLPz/KOvR9Dm+Co/5ChLgeHl0yEDRc6h5hXHoxEQH8Y5Ljycozd3p1k5TTSVdzYGkPvLw==} engines: {node: ^14.18.0 || >=16.0.0} tabbable@6.2.0: @@ -9783,8 +9700,8 @@ packages: resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} engines: {node: '>=18'} - testcontainers@10.26.0: - resolution: {integrity: sha512-4Iv3KB23pZcnxnXg4eIlOpXuvx4aHexxLY6URiciRQrc3Dao09NsVoYGxD8sV9heKUZ107mecalDITx4NZHo7A==} + testcontainers@10.28.0: + resolution: {integrity: sha512-1fKrRRCsgAQNkarjHCMKzBKXSJFmzNTiTbhb5E/j5hflRXChEtHvkefjaHlgkNUjfw92/Dq8LTgwQn6RDBFbMg==} text-decoder@1.2.0: resolution: {integrity: sha512-n1yg1mOj9DNpk3NeZOx7T6jchTbyJS3i3cucbNN6FcdPriMZx7NsgrGpWWdWZZGxD7ES1XB+3uoqHMgOKaN+fg==} @@ -10064,10 +9981,6 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - type-is@2.0.1: - resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} - engines: {node: '>= 0.6'} - typed-array-buffer@1.0.2: resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} engines: {node: '>= 0.4'} @@ -10152,12 +10065,12 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici@5.28.5: - resolution: {integrity: sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==} + undici@5.29.0: + resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==} engines: {node: '>=14.0'} - undici@7.9.0: - resolution: {integrity: sha512-e696y354tf5cFZPXsF26Yg+5M63+5H3oE6Vtkh2oqbvsE2Oe7s2nIbcQh5lmG7Lp/eS29vJtTpw9+p6PX0qNSg==} + undici@7.10.0: + resolution: {integrity: sha512-u5otvFBOBZvmdjWLVW+5DAc9Nkq8f24g0O9oY7qw2JVIF1VocIFoyz9JFkuVOS2j41AufeO0xnlweJ2RLT8nGw==} engines: {node: '>=20.18.1'} unicode-emoji-modifier-base@1.0.0: @@ -10374,8 +10287,8 @@ packages: videojs-vtt.js@0.15.5: resolution: {integrity: sha512-yZbBxvA7QMYn15Lr/ZfhhLPrNpI/RmCSCqgIff57GC2gIrV5YfyzLfLyZMj0NnZSAz8syB4N0nHXpZg9MyrMOQ==} - vite-node@3.1.3: - resolution: {integrity: sha512-uHV4plJ2IxCl4u1up1FQRrqclylKAogbtBfOTwcuJ28xFi+89PZ57BRh+naIRvH70HPwxy5QHYzg1OrEaC7AbA==} + vite-node@3.1.4: + resolution: {integrity: sha512-6enNwYnpyDo4hEgytbmc6mYWHXDHYEn0D1/rw4Q+tnHUGtKTJsn8T1YkX6Q18wI5LCrS8CTYlBaiCqxOy2kvUA==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true @@ -10418,16 +10331,16 @@ packages: terser: optional: true - vitest@3.1.3: - resolution: {integrity: sha512-188iM4hAHQ0km23TN/adso1q5hhwKqUpv+Sd6p5sOuh6FhQnRNW3IsiIpvxqahtBabsJ2SLZgmGSpcYK4wQYJw==} + vitest@3.1.4: + resolution: {integrity: sha512-Ta56rT7uWxCSJXlBtKgIlApJnT6e6IGmTYxYcmxjJ4ujuZDI59GUQgVDObXXJujOmPDBYXHK1qmaGtneu6TNIQ==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.1.3 - '@vitest/ui': 3.1.3 + '@vitest/browser': 3.1.4 + '@vitest/ui': 3.1.4 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -10706,19 +10619,14 @@ packages: peerDependencies: zod: ^3.21.4 - zod-to-json-schema@3.24.5: - resolution: {integrity: sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==} - peerDependencies: - zod: ^3.24.1 - - zod-validation-error@3.4.0: - resolution: {integrity: sha512-ZOPR9SVY6Pb2qqO5XHt+MkkTRxGXb4EVtnjc9JpXUOtUB1T9Ru7mZOT361AN3MsetVe7R0a1KZshJDZdgp9miQ==} + zod-validation-error@3.4.1: + resolution: {integrity: sha512-1KP64yqDPQ3rupxNv7oXhf7KdhHHgaqbKuspVoiN93TT0xrBjql+Svjkdjq/Qh/7GSMmgQs3AfvBT0heE35thw==} engines: {node: '>=18.0.0'} peerDependencies: - zod: ^3.18.0 + zod: ^3.24.4 - zod@3.24.4: - resolution: {integrity: sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==} + zod@3.25.23: + resolution: {integrity: sha512-Od2bdMosahjSrSgJtakrwjMDb1zM1A3VIHCPGveZt/3/wlrTWBya2lmEh2OYe4OIu8mPTmmr0gnLHIWQXdtWBg==} zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} @@ -10915,6 +10823,10 @@ snapshots: core-js-pure: 3.38.1 regenerator-runtime: 0.14.1 + '@babel/runtime-corejs3@7.27.1': + dependencies: + core-js-pure: 3.38.1 + '@babel/runtime@7.25.6': dependencies: regenerator-runtime: 0.14.1 @@ -11121,7 +11033,7 @@ snapshots: '@esbuild/aix-ppc64@0.21.5': optional: true - '@esbuild/aix-ppc64@0.25.2': + '@esbuild/aix-ppc64@0.25.4': optional: true '@esbuild/android-arm64@0.18.20': @@ -11133,7 +11045,7 @@ snapshots: '@esbuild/android-arm64@0.21.5': optional: true - '@esbuild/android-arm64@0.25.2': + '@esbuild/android-arm64@0.25.4': optional: true '@esbuild/android-arm@0.18.20': @@ -11145,7 +11057,7 @@ snapshots: '@esbuild/android-arm@0.21.5': optional: true - '@esbuild/android-arm@0.25.2': + '@esbuild/android-arm@0.25.4': optional: true '@esbuild/android-x64@0.18.20': @@ -11157,7 +11069,7 @@ snapshots: '@esbuild/android-x64@0.21.5': optional: true - '@esbuild/android-x64@0.25.2': + '@esbuild/android-x64@0.25.4': optional: true '@esbuild/darwin-arm64@0.18.20': @@ -11169,7 +11081,7 @@ snapshots: '@esbuild/darwin-arm64@0.21.5': optional: true - '@esbuild/darwin-arm64@0.25.2': + '@esbuild/darwin-arm64@0.25.4': optional: true '@esbuild/darwin-x64@0.18.20': @@ -11181,7 +11093,7 @@ snapshots: '@esbuild/darwin-x64@0.21.5': optional: true - '@esbuild/darwin-x64@0.25.2': + '@esbuild/darwin-x64@0.25.4': optional: true '@esbuild/freebsd-arm64@0.18.20': @@ -11193,7 +11105,7 @@ snapshots: '@esbuild/freebsd-arm64@0.21.5': optional: true - '@esbuild/freebsd-arm64@0.25.2': + '@esbuild/freebsd-arm64@0.25.4': optional: true '@esbuild/freebsd-x64@0.18.20': @@ -11205,7 +11117,7 @@ snapshots: '@esbuild/freebsd-x64@0.21.5': optional: true - '@esbuild/freebsd-x64@0.25.2': + '@esbuild/freebsd-x64@0.25.4': optional: true '@esbuild/linux-arm64@0.18.20': @@ -11217,7 +11129,7 @@ snapshots: '@esbuild/linux-arm64@0.21.5': optional: true - '@esbuild/linux-arm64@0.25.2': + '@esbuild/linux-arm64@0.25.4': optional: true '@esbuild/linux-arm@0.18.20': @@ -11229,7 +11141,7 @@ snapshots: '@esbuild/linux-arm@0.21.5': optional: true - '@esbuild/linux-arm@0.25.2': + '@esbuild/linux-arm@0.25.4': optional: true '@esbuild/linux-ia32@0.18.20': @@ -11241,7 +11153,7 @@ snapshots: '@esbuild/linux-ia32@0.21.5': optional: true - '@esbuild/linux-ia32@0.25.2': + '@esbuild/linux-ia32@0.25.4': optional: true '@esbuild/linux-loong64@0.18.20': @@ -11253,7 +11165,7 @@ snapshots: '@esbuild/linux-loong64@0.21.5': optional: true - '@esbuild/linux-loong64@0.25.2': + '@esbuild/linux-loong64@0.25.4': optional: true '@esbuild/linux-mips64el@0.18.20': @@ -11265,7 +11177,7 @@ snapshots: '@esbuild/linux-mips64el@0.21.5': optional: true - '@esbuild/linux-mips64el@0.25.2': + '@esbuild/linux-mips64el@0.25.4': optional: true '@esbuild/linux-ppc64@0.18.20': @@ -11277,7 +11189,7 @@ snapshots: '@esbuild/linux-ppc64@0.21.5': optional: true - '@esbuild/linux-ppc64@0.25.2': + '@esbuild/linux-ppc64@0.25.4': optional: true '@esbuild/linux-riscv64@0.18.20': @@ -11289,7 +11201,7 @@ snapshots: '@esbuild/linux-riscv64@0.21.5': optional: true - '@esbuild/linux-riscv64@0.25.2': + '@esbuild/linux-riscv64@0.25.4': optional: true '@esbuild/linux-s390x@0.18.20': @@ -11301,7 +11213,7 @@ snapshots: '@esbuild/linux-s390x@0.21.5': optional: true - '@esbuild/linux-s390x@0.25.2': + '@esbuild/linux-s390x@0.25.4': optional: true '@esbuild/linux-x64@0.18.20': @@ -11313,10 +11225,10 @@ snapshots: '@esbuild/linux-x64@0.21.5': optional: true - '@esbuild/linux-x64@0.25.2': + '@esbuild/linux-x64@0.25.4': optional: true - '@esbuild/netbsd-arm64@0.25.2': + '@esbuild/netbsd-arm64@0.25.4': optional: true '@esbuild/netbsd-x64@0.18.20': @@ -11328,10 +11240,10 @@ snapshots: '@esbuild/netbsd-x64@0.21.5': optional: true - '@esbuild/netbsd-x64@0.25.2': + '@esbuild/netbsd-x64@0.25.4': optional: true - '@esbuild/openbsd-arm64@0.25.2': + '@esbuild/openbsd-arm64@0.25.4': optional: true '@esbuild/openbsd-x64@0.18.20': @@ -11343,7 +11255,7 @@ snapshots: '@esbuild/openbsd-x64@0.21.5': optional: true - '@esbuild/openbsd-x64@0.25.2': + '@esbuild/openbsd-x64@0.25.4': optional: true '@esbuild/sunos-x64@0.18.20': @@ -11355,7 +11267,7 @@ snapshots: '@esbuild/sunos-x64@0.21.5': optional: true - '@esbuild/sunos-x64@0.25.2': + '@esbuild/sunos-x64@0.25.4': optional: true '@esbuild/win32-arm64@0.18.20': @@ -11367,7 +11279,7 @@ snapshots: '@esbuild/win32-arm64@0.21.5': optional: true - '@esbuild/win32-arm64@0.25.2': + '@esbuild/win32-arm64@0.25.4': optional: true '@esbuild/win32-ia32@0.18.20': @@ -11379,7 +11291,7 @@ snapshots: '@esbuild/win32-ia32@0.21.5': optional: true - '@esbuild/win32-ia32@0.25.2': + '@esbuild/win32-ia32@0.25.4': optional: true '@esbuild/win32-x64@0.18.20': @@ -11391,17 +11303,12 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true - '@esbuild/win32-x64@0.25.2': + '@esbuild/win32-x64@0.25.4': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@9.26.0)': + '@eslint-community/eslint-utils@4.7.0(eslint@9.27.0)': dependencies: - eslint: 9.26.0 - eslint-visitor-keys: 3.4.3 - - '@eslint-community/eslint-utils@4.7.0(eslint@9.26.0)': - dependencies: - eslint: 9.26.0 + eslint: 9.27.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} @@ -11416,7 +11323,7 @@ snapshots: '@eslint/config-helpers@0.2.1': {} - '@eslint/core@0.13.0': + '@eslint/core@0.14.0': dependencies: '@types/json-schema': 7.0.15 @@ -11434,13 +11341,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.26.0': {} + '@eslint/js@9.27.0': {} '@eslint/object-schema@2.1.6': {} - '@eslint/plugin-kit@0.2.8': + '@eslint/plugin-kit@0.3.1': dependencies: - '@eslint/core': 0.13.0 + '@eslint/core': 0.14.0 levn: 0.4.1 '@extractus/feed-extractor@7.1.6': @@ -11520,11 +11427,11 @@ snapshots: '@homarr/gridstack@1.12.0': {} - '@homarr/node-unifi@2.6.0(undici@7.9.0)': + '@homarr/node-unifi@2.6.0(undici@7.10.0)': dependencies: axios: 1.9.0 eventemitter2: 6.4.9 - http-cookie-agent: 6.0.8(tough-cookie@5.1.2)(undici@7.9.0) + http-cookie-agent: 6.0.8(tough-cookie@5.1.2)(undici@7.10.0) tough-cookie: 5.1.2 ws: 8.18.2 transitivePeerDependencies: @@ -11702,7 +11609,7 @@ snapshots: '@kubernetes/client-node@1.2.0(ws@8.18.2)': dependencies: '@types/js-yaml': 4.0.9 - '@types/node': 22.15.18 + '@types/node': 22.15.21 '@types/node-fetch': 2.6.12 '@types/stream-buffers': 3.0.7 form-data: 4.0.1 @@ -11733,9 +11640,9 @@ snapshots: js-base64: 3.7.7 optional: true - '@mantine/charts@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(recharts@2.15.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))': + '@mantine/charts@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(recharts@2.15.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))': dependencies: - '@mantine/core': 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mantine/core': 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/hooks': 8.0.1(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) @@ -11745,7 +11652,7 @@ snapshots: dependencies: chroma-js: 3.1.2 - '@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@floating-ui/react': 0.26.28(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/hooks': 8.0.1(react@19.1.0) @@ -11753,24 +11660,24 @@ snapshots: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) react-number-format: 5.4.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react-remove-scroll: 2.6.2(@types/react@19.1.4)(react@19.1.0) - react-textarea-autosize: 8.5.9(@types/react@19.1.4)(react@19.1.0) + react-remove-scroll: 2.6.2(@types/react@19.1.5)(react@19.1.0) + react-textarea-autosize: 8.5.9(@types/react@19.1.5)(react@19.1.0) type-fest: 4.40.0 transitivePeerDependencies: - '@types/react' - '@mantine/dates@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@mantine/dates@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@mantine/core': 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mantine/core': 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/hooks': 8.0.1(react@19.1.0) clsx: 2.1.1 dayjs: 1.11.13 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@mantine/dropzone@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@mantine/dropzone@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@mantine/core': 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mantine/core': 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/hooks': 8.0.1(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) @@ -11786,25 +11693,25 @@ snapshots: dependencies: react: 19.1.0 - '@mantine/modals@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@mantine/modals@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@mantine/core': 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mantine/core': 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/hooks': 8.0.1(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@mantine/notifications@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@mantine/notifications@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@mantine/core': 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mantine/core': 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/hooks': 8.0.1(react@19.1.0) '@mantine/store': 8.0.1(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) react-transition-group: 4.4.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mantine/spotlight@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@mantine/spotlight@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@mantine/core': 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mantine/core': 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/hooks': 8.0.1(react@19.1.0) '@mantine/store': 8.0.1(react@19.1.0) react: 19.1.0 @@ -11814,9 +11721,9 @@ snapshots: dependencies: react: 19.1.0 - '@mantine/tiptap@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(@tiptap/extension-link@2.12.0(@tiptap/core@2.12.0(@tiptap/pm@2.12.0))(@tiptap/pm@2.12.0))(@tiptap/react@2.12.0(@tiptap/core@2.12.0(@tiptap/pm@2.12.0))(@tiptap/pm@2.12.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@mantine/tiptap@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(@tiptap/extension-link@2.12.0(@tiptap/core@2.12.0(@tiptap/pm@2.12.0))(@tiptap/pm@2.12.0))(@tiptap/react@2.12.0(@tiptap/core@2.12.0(@tiptap/pm@2.12.0))(@tiptap/pm@2.12.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@mantine/core': 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mantine/core': 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/hooks': 8.0.1(react@19.1.0) '@tiptap/extension-link': 2.12.0(@tiptap/core@2.12.0(@tiptap/pm@2.12.0))(@tiptap/pm@2.12.0) '@tiptap/react': 2.12.0(@tiptap/core@2.12.0(@tiptap/pm@2.12.0))(@tiptap/pm@2.12.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -11876,21 +11783,6 @@ snapshots: - utf-8-validate - webpack-sources - '@modelcontextprotocol/sdk@1.11.0': - dependencies: - content-type: 1.0.5 - cors: 2.8.5 - cross-spawn: 7.0.6 - eventsource: 3.0.6 - express: 5.1.0 - express-rate-limit: 7.5.0(express@5.1.0) - pkce-challenge: 5.0.0 - raw-body: 3.0.0 - zod: 3.24.4 - zod-to-json-schema: 3.24.5(zod@3.24.4) - transitivePeerDependencies: - - supports-color - '@ndaidong/bellajs@12.0.1': {} '@next/env@15.3.2': {} @@ -11937,83 +11829,57 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@octokit/app@15.1.6': + '@octokit/app@16.0.1': dependencies: - '@octokit/auth-app': 7.2.1 - '@octokit/auth-unauthenticated': 6.1.3 - '@octokit/core': 6.1.5 - '@octokit/oauth-app': 7.1.6 - '@octokit/plugin-paginate-rest': 12.0.0(@octokit/core@6.1.5) + '@octokit/auth-app': 8.0.1 + '@octokit/auth-unauthenticated': 7.0.1 + '@octokit/core': 7.0.2 + '@octokit/oauth-app': 8.0.1 + '@octokit/plugin-paginate-rest': 13.0.0(@octokit/core@7.0.2) '@octokit/types': 14.0.0 - '@octokit/webhooks': 13.6.1 + '@octokit/webhooks': 14.0.0 - '@octokit/auth-app@7.2.1': + '@octokit/auth-app@8.0.1': dependencies: - '@octokit/auth-oauth-app': 8.1.4 - '@octokit/auth-oauth-user': 5.1.4 - '@octokit/request': 9.2.3 - '@octokit/request-error': 6.1.8 + '@octokit/auth-oauth-app': 9.0.1 + '@octokit/auth-oauth-user': 6.0.0 + '@octokit/request': 10.0.2 + '@octokit/request-error': 7.0.0 '@octokit/types': 14.0.0 toad-cache: 3.7.0 universal-github-app-jwt: 2.2.0 universal-user-agent: 7.0.2 - '@octokit/auth-oauth-app@8.1.3': + '@octokit/auth-oauth-app@9.0.1': dependencies: - '@octokit/auth-oauth-device': 7.1.3 - '@octokit/auth-oauth-user': 5.1.3 - '@octokit/request': 9.2.2 - '@octokit/types': 13.8.0 - universal-user-agent: 7.0.2 - - '@octokit/auth-oauth-app@8.1.4': - dependencies: - '@octokit/auth-oauth-device': 7.1.5 - '@octokit/auth-oauth-user': 5.1.4 - '@octokit/request': 9.2.3 + '@octokit/auth-oauth-device': 8.0.1 + '@octokit/auth-oauth-user': 6.0.0 + '@octokit/request': 10.0.2 '@octokit/types': 14.0.0 universal-user-agent: 7.0.2 - '@octokit/auth-oauth-device@7.1.3': + '@octokit/auth-oauth-device@8.0.1': dependencies: - '@octokit/oauth-methods': 5.1.4 - '@octokit/request': 9.2.2 - '@octokit/types': 13.8.0 - universal-user-agent: 7.0.2 - - '@octokit/auth-oauth-device@7.1.5': - dependencies: - '@octokit/oauth-methods': 5.1.5 - '@octokit/request': 9.2.3 + '@octokit/oauth-methods': 6.0.0 + '@octokit/request': 10.0.2 '@octokit/types': 14.0.0 universal-user-agent: 7.0.2 - '@octokit/auth-oauth-user@5.1.3': + '@octokit/auth-oauth-user@6.0.0': dependencies: - '@octokit/auth-oauth-device': 7.1.3 - '@octokit/oauth-methods': 5.1.4 - '@octokit/request': 9.2.2 - '@octokit/types': 13.8.0 - universal-user-agent: 7.0.2 - - '@octokit/auth-oauth-user@5.1.4': - dependencies: - '@octokit/auth-oauth-device': 7.1.5 - '@octokit/oauth-methods': 5.1.5 - '@octokit/request': 9.2.3 + '@octokit/auth-oauth-device': 8.0.1 + '@octokit/oauth-methods': 6.0.0 + '@octokit/request': 10.0.2 '@octokit/types': 14.0.0 universal-user-agent: 7.0.2 '@octokit/auth-token@5.1.1': {} - '@octokit/auth-unauthenticated@6.1.2': - dependencies: - '@octokit/request-error': 6.1.8 - '@octokit/types': 13.8.0 + '@octokit/auth-token@6.0.0': {} - '@octokit/auth-unauthenticated@6.1.3': + '@octokit/auth-unauthenticated@7.0.1': dependencies: - '@octokit/request-error': 6.1.8 + '@octokit/request-error': 7.0.0 '@octokit/types': 14.0.0 '@octokit/core@6.1.5': @@ -12026,9 +11892,14 @@ snapshots: before-after-hook: 3.0.2 universal-user-agent: 7.0.2 - '@octokit/endpoint@10.1.3': + '@octokit/core@7.0.2': dependencies: - '@octokit/types': 13.8.0 + '@octokit/auth-token': 6.0.0 + '@octokit/graphql': 9.0.1 + '@octokit/request': 10.0.2 + '@octokit/request-error': 7.0.0 + '@octokit/types': 14.0.0 + before-after-hook: 4.0.0 universal-user-agent: 7.0.2 '@octokit/endpoint@10.1.4': @@ -12036,57 +11907,64 @@ snapshots: '@octokit/types': 14.0.0 universal-user-agent: 7.0.2 + '@octokit/endpoint@11.0.0': + dependencies: + '@octokit/types': 14.0.0 + universal-user-agent: 7.0.2 + '@octokit/graphql@8.2.2': dependencies: '@octokit/request': 9.2.3 '@octokit/types': 14.0.0 universal-user-agent: 7.0.2 - '@octokit/oauth-app@7.1.6': + '@octokit/graphql@9.0.1': dependencies: - '@octokit/auth-oauth-app': 8.1.3 - '@octokit/auth-oauth-user': 5.1.3 - '@octokit/auth-unauthenticated': 6.1.2 - '@octokit/core': 6.1.5 - '@octokit/oauth-authorization-url': 7.1.1 - '@octokit/oauth-methods': 5.1.4 + '@octokit/request': 10.0.2 + '@octokit/types': 14.0.0 + universal-user-agent: 7.0.2 + + '@octokit/oauth-app@8.0.1': + dependencies: + '@octokit/auth-oauth-app': 9.0.1 + '@octokit/auth-oauth-user': 6.0.0 + '@octokit/auth-unauthenticated': 7.0.1 + '@octokit/core': 7.0.2 + '@octokit/oauth-authorization-url': 8.0.0 + '@octokit/oauth-methods': 6.0.0 '@types/aws-lambda': 8.10.146 universal-user-agent: 7.0.2 - '@octokit/oauth-authorization-url@7.1.1': {} + '@octokit/oauth-authorization-url@8.0.0': {} - '@octokit/oauth-methods@5.1.4': + '@octokit/oauth-methods@6.0.0': dependencies: - '@octokit/oauth-authorization-url': 7.1.1 - '@octokit/request': 9.2.2 - '@octokit/request-error': 6.1.8 - '@octokit/types': 13.8.0 - - '@octokit/oauth-methods@5.1.5': - dependencies: - '@octokit/oauth-authorization-url': 7.1.1 - '@octokit/request': 9.2.3 - '@octokit/request-error': 6.1.8 + '@octokit/oauth-authorization-url': 8.0.0 + '@octokit/request': 10.0.2 + '@octokit/request-error': 7.0.0 '@octokit/types': 14.0.0 - '@octokit/openapi-types@23.0.1': {} - '@octokit/openapi-types@25.0.0': {} - '@octokit/openapi-webhooks-types@9.1.0': {} + '@octokit/openapi-webhooks-types@11.0.0': {} - '@octokit/plugin-paginate-graphql@5.2.4(@octokit/core@6.1.5)': + '@octokit/plugin-paginate-graphql@6.0.0(@octokit/core@7.0.2)': dependencies: - '@octokit/core': 6.1.5 + '@octokit/core': 7.0.2 '@octokit/plugin-paginate-rest@12.0.0(@octokit/core@6.1.5)': dependencies: '@octokit/core': 6.1.5 '@octokit/types': 14.0.0 - '@octokit/plugin-rest-endpoint-methods@14.0.0(@octokit/core@6.1.5)': + '@octokit/plugin-paginate-rest@13.0.0(@octokit/core@7.0.2)': dependencies: - '@octokit/core': 6.1.5 + '@octokit/core': 7.0.2 + '@octokit/types': 14.0.0 + + '@octokit/plugin-rest-endpoint-methods@15.0.0(@octokit/core@7.0.2)': + dependencies: + '@octokit/core': 7.0.2 '@octokit/types': 14.0.0 '@octokit/plugin-retry@7.2.1(@octokit/core@6.1.5)': @@ -12096,22 +11974,39 @@ snapshots: '@octokit/types': 14.0.0 bottleneck: 2.19.5 + '@octokit/plugin-retry@8.0.1(@octokit/core@7.0.2)': + dependencies: + '@octokit/core': 7.0.2 + '@octokit/request-error': 7.0.0 + '@octokit/types': 14.0.0 + bottleneck: 2.19.5 + '@octokit/plugin-throttling@10.0.0(@octokit/core@6.1.5)': dependencies: '@octokit/core': 6.1.5 '@octokit/types': 14.0.0 bottleneck: 2.19.5 + '@octokit/plugin-throttling@11.0.1(@octokit/core@7.0.2)': + dependencies: + '@octokit/core': 7.0.2 + '@octokit/types': 14.0.0 + bottleneck: 2.19.5 + '@octokit/request-error@6.1.8': dependencies: '@octokit/types': 14.0.0 - '@octokit/request@9.2.2': + '@octokit/request-error@7.0.0': dependencies: - '@octokit/endpoint': 10.1.3 - '@octokit/request-error': 6.1.8 - '@octokit/types': 13.8.0 - fast-content-type-parse: 2.0.1 + '@octokit/types': 14.0.0 + + '@octokit/request@10.0.2': + dependencies: + '@octokit/endpoint': 11.0.0 + '@octokit/request-error': 7.0.0 + '@octokit/types': 14.0.0 + fast-content-type-parse: 3.0.0 universal-user-agent: 7.0.2 '@octokit/request@9.2.3': @@ -12122,21 +12017,17 @@ snapshots: fast-content-type-parse: 2.0.1 universal-user-agent: 7.0.2 - '@octokit/types@13.8.0': - dependencies: - '@octokit/openapi-types': 23.0.1 - '@octokit/types@14.0.0': dependencies: '@octokit/openapi-types': 25.0.0 - '@octokit/webhooks-methods@5.1.1': {} + '@octokit/webhooks-methods@6.0.0': {} - '@octokit/webhooks@13.6.1': + '@octokit/webhooks@14.0.0': dependencies: - '@octokit/openapi-webhooks-types': 9.1.0 - '@octokit/request-error': 6.1.8 - '@octokit/webhooks-methods': 5.1.1 + '@octokit/openapi-webhooks-types': 11.0.0 + '@octokit/request-error': 7.0.0 + '@octokit/webhooks-methods': 6.0.0 '@panva/hkdf@1.2.1': {} @@ -12255,6 +12146,8 @@ snapshots: '@remirror/core-constants@3.0.0': {} + '@rolldown/pluginutils@1.0.0-beta.9': {} + '@rollup/pluginutils@5.1.0(rollup@4.21.3)': dependencies: '@types/estree': 1.0.6 @@ -12328,15 +12221,15 @@ snapshots: '@sec-ant/readable-stream@0.4.1': {} - '@semantic-release/changelog@6.0.3(semantic-release@24.2.3(typescript@5.8.3))': + '@semantic-release/changelog@6.0.3(semantic-release@24.2.4(typescript@5.8.3))': dependencies: '@semantic-release/error': 3.0.0 aggregate-error: 3.1.0 fs-extra: 11.2.0 lodash: 4.17.21 - semantic-release: 24.2.3(typescript@5.8.3) + semantic-release: 24.2.4(typescript@5.8.3) - '@semantic-release/commit-analyzer@13.0.1(semantic-release@24.2.3(typescript@5.8.3))': + '@semantic-release/commit-analyzer@13.0.1(semantic-release@24.2.4(typescript@5.8.3))': dependencies: conventional-changelog-angular: 8.0.0 conventional-changelog-writer: 8.0.0 @@ -12346,7 +12239,7 @@ snapshots: import-from-esm: 2.0.0 lodash-es: 4.17.21 micromatch: 4.0.8 - semantic-release: 24.2.3(typescript@5.8.3) + semantic-release: 24.2.4(typescript@5.8.3) transitivePeerDependencies: - supports-color @@ -12354,7 +12247,7 @@ snapshots: '@semantic-release/error@4.0.0': {} - '@semantic-release/git@10.0.1(semantic-release@24.2.3(typescript@5.8.3))': + '@semantic-release/git@10.0.1(semantic-release@24.2.4(typescript@5.8.3))': dependencies: '@semantic-release/error': 3.0.0 aggregate-error: 3.1.0 @@ -12364,11 +12257,11 @@ snapshots: lodash: 4.17.21 micromatch: 4.0.8 p-reduce: 2.1.0 - semantic-release: 24.2.3(typescript@5.8.3) + semantic-release: 24.2.4(typescript@5.8.3) transitivePeerDependencies: - supports-color - '@semantic-release/github@11.0.2(semantic-release@24.2.3(typescript@5.8.3))': + '@semantic-release/github@11.0.2(semantic-release@24.2.4(typescript@5.8.3))': dependencies: '@octokit/core': 6.1.5 '@octokit/plugin-paginate-rest': 12.0.0(@octokit/core@6.1.5) @@ -12385,12 +12278,12 @@ snapshots: lodash-es: 4.17.21 mime: 4.0.4 p-filter: 4.1.0 - semantic-release: 24.2.3(typescript@5.8.3) + semantic-release: 24.2.4(typescript@5.8.3) url-join: 5.0.0 transitivePeerDependencies: - supports-color - '@semantic-release/npm@12.0.1(semantic-release@24.2.3(typescript@5.8.3))': + '@semantic-release/npm@12.0.1(semantic-release@24.2.4(typescript@5.8.3))': dependencies: '@semantic-release/error': 4.0.0 aggregate-error: 5.0.0 @@ -12403,11 +12296,11 @@ snapshots: rc: 1.2.8 read-pkg: 9.0.1 registry-auth-token: 5.0.2 - semantic-release: 24.2.3(typescript@5.8.3) + semantic-release: 24.2.4(typescript@5.8.3) semver: 7.6.3 tempy: 3.1.0 - '@semantic-release/release-notes-generator@14.0.3(semantic-release@24.2.3(typescript@5.8.3))': + '@semantic-release/release-notes-generator@14.0.3(semantic-release@24.2.4(typescript@5.8.3))': dependencies: conventional-changelog-angular: 8.0.0 conventional-changelog-writer: 8.0.0 @@ -12419,7 +12312,7 @@ snapshots: into-stream: 7.0.0 lodash-es: 4.17.21 read-package-up: 11.0.0 - semantic-release: 24.2.3(typescript@5.8.3) + semantic-release: 24.2.4(typescript@5.8.3) transitivePeerDependencies: - supports-color @@ -12435,44 +12328,52 @@ snapshots: '@swagger-api/apidom-ast@1.0.0-beta.30': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-error': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-error': 1.0.0-beta.39 + '@types/ramda': 0.30.2 + ramda: 0.30.1 + ramda-adjunct: 5.1.0(ramda@0.30.1) + unraw: 3.0.0 + optional: true + + '@swagger-api/apidom-ast@1.0.0-beta.39': + dependencies: + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-error': 1.0.0-beta.39 '@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.0.0-beta.30': + '@swagger-api/apidom-core@1.0.0-beta.39': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-ast': 1.0.0-beta.30 - '@swagger-api/apidom-error': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-ast': 1.0.0-beta.39 + '@swagger-api/apidom-error': 1.0.0-beta.39 '@types/ramda': 0.30.2 minim: 0.23.8 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) - short-unique-id: 5.2.0 + short-unique-id: 5.3.2 ts-mixer: 6.0.4 - '@swagger-api/apidom-error@1.0.0-beta.30': + '@swagger-api/apidom-error@1.0.0-beta.39': dependencies: - '@babel/runtime-corejs3': 7.27.0 + '@babel/runtime-corejs3': 7.27.1 - '@swagger-api/apidom-json-pointer@1.0.0-beta.30': + '@swagger-api/apidom-json-pointer@1.0.0-beta.39': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-core': 1.0.0-beta.30 - '@swagger-api/apidom-error': 1.0.0-beta.30 - '@types/ramda': 0.30.2 - ramda: 0.30.1 - ramda-adjunct: 5.1.0(ramda@0.30.1) + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 + '@swagger-api/apidom-error': 1.0.0-beta.39 + '@swaggerexpert/json-pointer': 2.10.2 '@swagger-api/apidom-ns-api-design-systems@1.0.0-beta.11': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-core': 1.0.0-beta.30 - '@swagger-api/apidom-error': 1.0.0-beta.30 - '@swagger-api/apidom-ns-openapi-3-1': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 + '@swagger-api/apidom-error': 1.0.0-beta.39 + '@swagger-api/apidom-ns-openapi-3-1': 1.0.0-beta.39 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) @@ -12481,8 +12382,8 @@ snapshots: '@swagger-api/apidom-ns-arazzo-1@1.0.0-beta.30': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-core': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 '@swagger-api/apidom-ns-json-schema-2020-12': 1.0.0-beta.30 '@types/ramda': 0.30.2 ramda: 0.30.1 @@ -12492,8 +12393,8 @@ snapshots: '@swagger-api/apidom-ns-asyncapi-2@1.0.0-beta.11': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-core': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 '@swagger-api/apidom-ns-json-schema-draft-7': 1.0.0-beta.30 '@types/ramda': 0.30.2 ramda: 0.30.1 @@ -12503,31 +12404,66 @@ snapshots: '@swagger-api/apidom-ns-json-schema-2019-09@1.0.0-beta.30': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-core': 1.0.0-beta.30 - '@swagger-api/apidom-error': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 + '@swagger-api/apidom-error': 1.0.0-beta.39 '@swagger-api/apidom-ns-json-schema-draft-7': 1.0.0-beta.30 '@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.0.0-beta.39': + dependencies: + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 + '@swagger-api/apidom-error': 1.0.0-beta.39 + '@swagger-api/apidom-ns-json-schema-draft-7': 1.0.0-beta.39 + '@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.0.0-beta.30': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-core': 1.0.0-beta.30 - '@swagger-api/apidom-error': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 + '@swagger-api/apidom-error': 1.0.0-beta.39 '@swagger-api/apidom-ns-json-schema-2019-09': 1.0.0-beta.30 '@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-2020-12@1.0.0-beta.39': + dependencies: + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 + '@swagger-api/apidom-error': 1.0.0-beta.39 + '@swagger-api/apidom-ns-json-schema-2019-09': 1.0.0-beta.39 + '@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.0.0-beta.30': dependencies: - '@babel/runtime-corejs3': 7.27.0 + '@babel/runtime-corejs3': 7.27.1 '@swagger-api/apidom-ast': 1.0.0-beta.30 - '@swagger-api/apidom-core': 1.0.0-beta.30 + '@swagger-api/apidom-core': 1.0.0-beta.39 + '@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-draft-4@1.0.0-beta.39': + dependencies: + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-ast': 1.0.0-beta.39 + '@swagger-api/apidom-core': 1.0.0-beta.39 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) @@ -12535,31 +12471,55 @@ snapshots: '@swagger-api/apidom-ns-json-schema-draft-6@1.0.0-beta.30': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-core': 1.0.0-beta.30 - '@swagger-api/apidom-error': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 + '@swagger-api/apidom-error': 1.0.0-beta.39 '@swagger-api/apidom-ns-json-schema-draft-4': 1.0.0-beta.30 '@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-draft-6@1.0.0-beta.39': + dependencies: + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 + '@swagger-api/apidom-error': 1.0.0-beta.39 + '@swagger-api/apidom-ns-json-schema-draft-4': 1.0.0-beta.39 + '@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.0.0-beta.30': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-core': 1.0.0-beta.30 - '@swagger-api/apidom-error': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 + '@swagger-api/apidom-error': 1.0.0-beta.39 '@swagger-api/apidom-ns-json-schema-draft-6': 1.0.0-beta.30 '@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-draft-7@1.0.0-beta.39': + dependencies: + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 + '@swagger-api/apidom-error': 1.0.0-beta.39 + '@swagger-api/apidom-ns-json-schema-draft-6': 1.0.0-beta.39 + '@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.0.0-beta.11': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-core': 1.0.0-beta.30 - '@swagger-api/apidom-error': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 + '@swagger-api/apidom-error': 1.0.0-beta.39 '@swagger-api/apidom-ns-json-schema-draft-4': 1.0.0-beta.30 '@types/ramda': 0.30.2 ramda: 0.30.1 @@ -12569,23 +12529,35 @@ snapshots: '@swagger-api/apidom-ns-openapi-3-0@1.0.0-beta.30': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-core': 1.0.0-beta.30 - '@swagger-api/apidom-error': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 + '@swagger-api/apidom-error': 1.0.0-beta.39 '@swagger-api/apidom-ns-json-schema-draft-4': 1.0.0-beta.30 '@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-1@1.0.0-beta.30': + '@swagger-api/apidom-ns-openapi-3-0@1.0.0-beta.39': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-ast': 1.0.0-beta.30 - '@swagger-api/apidom-core': 1.0.0-beta.30 - '@swagger-api/apidom-json-pointer': 1.0.0-beta.30 - '@swagger-api/apidom-ns-json-schema-2020-12': 1.0.0-beta.30 - '@swagger-api/apidom-ns-openapi-3-0': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 + '@swagger-api/apidom-error': 1.0.0-beta.39 + '@swagger-api/apidom-ns-json-schema-draft-4': 1.0.0-beta.39 + '@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.0.0-beta.39': + dependencies: + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-ast': 1.0.0-beta.39 + '@swagger-api/apidom-core': 1.0.0-beta.39 + '@swagger-api/apidom-json-pointer': 1.0.0-beta.39 + '@swagger-api/apidom-ns-json-schema-2020-12': 1.0.0-beta.39 + '@swagger-api/apidom-ns-openapi-3-0': 1.0.0-beta.39 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) @@ -12593,8 +12565,8 @@ snapshots: '@swagger-api/apidom-parser-adapter-api-design-systems-json@1.0.0-beta.11': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-core': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 '@swagger-api/apidom-ns-api-design-systems': 1.0.0-beta.11 '@swagger-api/apidom-parser-adapter-json': 1.0.0-beta.30 '@types/ramda': 0.30.2 @@ -12604,8 +12576,8 @@ snapshots: '@swagger-api/apidom-parser-adapter-api-design-systems-yaml@1.0.0-beta.11': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-core': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 '@swagger-api/apidom-ns-api-design-systems': 1.0.0-beta.11 '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.0.0-beta.30 '@types/ramda': 0.30.2 @@ -12615,8 +12587,8 @@ snapshots: '@swagger-api/apidom-parser-adapter-arazzo-json-1@1.0.0-beta.30': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-core': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 '@swagger-api/apidom-ns-arazzo-1': 1.0.0-beta.30 '@swagger-api/apidom-parser-adapter-json': 1.0.0-beta.30 '@types/ramda': 0.30.2 @@ -12626,8 +12598,8 @@ snapshots: '@swagger-api/apidom-parser-adapter-arazzo-yaml-1@1.0.0-beta.30': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-core': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 '@swagger-api/apidom-ns-arazzo-1': 1.0.0-beta.30 '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.0.0-beta.30 '@types/ramda': 0.30.2 @@ -12637,8 +12609,8 @@ snapshots: '@swagger-api/apidom-parser-adapter-asyncapi-json-2@1.0.0-beta.11': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-core': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 '@swagger-api/apidom-ns-asyncapi-2': 1.0.0-beta.11 '@swagger-api/apidom-parser-adapter-json': 1.0.0-beta.30 '@types/ramda': 0.30.2 @@ -12648,8 +12620,8 @@ snapshots: '@swagger-api/apidom-parser-adapter-asyncapi-yaml-2@1.0.0-beta.11': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-core': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 '@swagger-api/apidom-ns-asyncapi-2': 1.0.0-beta.11 '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.0.0-beta.30 '@types/ramda': 0.30.2 @@ -12659,10 +12631,10 @@ snapshots: '@swagger-api/apidom-parser-adapter-json@1.0.0-beta.30': dependencies: - '@babel/runtime-corejs3': 7.27.0 + '@babel/runtime-corejs3': 7.27.1 '@swagger-api/apidom-ast': 1.0.0-beta.30 - '@swagger-api/apidom-core': 1.0.0-beta.30 - '@swagger-api/apidom-error': 1.0.0-beta.30 + '@swagger-api/apidom-core': 1.0.0-beta.39 + '@swagger-api/apidom-error': 1.0.0-beta.39 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) @@ -12673,8 +12645,8 @@ snapshots: '@swagger-api/apidom-parser-adapter-openapi-json-2@1.0.0-beta.11': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-core': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 '@swagger-api/apidom-ns-openapi-2': 1.0.0-beta.11 '@swagger-api/apidom-parser-adapter-json': 1.0.0-beta.30 '@types/ramda': 0.30.2 @@ -12684,8 +12656,8 @@ snapshots: '@swagger-api/apidom-parser-adapter-openapi-json-3-0@1.0.0-beta.11': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-core': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 '@swagger-api/apidom-ns-openapi-3-0': 1.0.0-beta.30 '@swagger-api/apidom-parser-adapter-json': 1.0.0-beta.30 '@types/ramda': 0.30.2 @@ -12695,9 +12667,9 @@ snapshots: '@swagger-api/apidom-parser-adapter-openapi-json-3-1@1.0.0-beta.11': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-core': 1.0.0-beta.30 - '@swagger-api/apidom-ns-openapi-3-1': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 + '@swagger-api/apidom-ns-openapi-3-1': 1.0.0-beta.39 '@swagger-api/apidom-parser-adapter-json': 1.0.0-beta.30 '@types/ramda': 0.30.2 ramda: 0.30.1 @@ -12706,8 +12678,8 @@ snapshots: '@swagger-api/apidom-parser-adapter-openapi-yaml-2@1.0.0-beta.11': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-core': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 '@swagger-api/apidom-ns-openapi-2': 1.0.0-beta.11 '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.0.0-beta.30 '@types/ramda': 0.30.2 @@ -12717,8 +12689,8 @@ snapshots: '@swagger-api/apidom-parser-adapter-openapi-yaml-3-0@1.0.0-beta.11': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-core': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 '@swagger-api/apidom-ns-openapi-3-0': 1.0.0-beta.30 '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.0.0-beta.30 '@types/ramda': 0.30.2 @@ -12728,9 +12700,9 @@ snapshots: '@swagger-api/apidom-parser-adapter-openapi-yaml-3-1@1.0.0-beta.11': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-core': 1.0.0-beta.30 - '@swagger-api/apidom-ns-openapi-3-1': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 + '@swagger-api/apidom-ns-openapi-3-1': 1.0.0-beta.39 '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.0.0-beta.30 '@types/ramda': 0.30.2 ramda: 0.30.1 @@ -12739,10 +12711,10 @@ snapshots: '@swagger-api/apidom-parser-adapter-yaml-1-2@1.0.0-beta.30': dependencies: - '@babel/runtime-corejs3': 7.27.0 + '@babel/runtime-corejs3': 7.27.1 '@swagger-api/apidom-ast': 1.0.0-beta.30 - '@swagger-api/apidom-core': 1.0.0-beta.30 - '@swagger-api/apidom-error': 1.0.0-beta.30 + '@swagger-api/apidom-core': 1.0.0-beta.39 + '@swagger-api/apidom-error': 1.0.0-beta.39 '@tree-sitter-grammars/tree-sitter-yaml': 0.7.0(tree-sitter@0.22.1) '@types/ramda': 0.30.2 ramda: 0.30.1 @@ -12751,24 +12723,24 @@ snapshots: web-tree-sitter: 0.24.5 optional: true - '@swagger-api/apidom-reference@1.0.0-beta.30': + '@swagger-api/apidom-reference@1.0.0-beta.39': dependencies: - '@babel/runtime-corejs3': 7.27.0 - '@swagger-api/apidom-core': 1.0.0-beta.30 + '@babel/runtime-corejs3': 7.27.1 + '@swagger-api/apidom-core': 1.0.0-beta.39 + '@swagger-api/apidom-error': 1.0.0-beta.39 '@types/ramda': 0.30.2 - axios: 1.8.4 + axios: 1.9.0 minimatch: 7.4.6 process: 0.11.10 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optionalDependencies: - '@swagger-api/apidom-error': 1.0.0-beta.30 - '@swagger-api/apidom-json-pointer': 1.0.0-beta.30 + '@swagger-api/apidom-json-pointer': 1.0.0-beta.39 '@swagger-api/apidom-ns-arazzo-1': 1.0.0-beta.30 '@swagger-api/apidom-ns-asyncapi-2': 1.0.0-beta.11 '@swagger-api/apidom-ns-openapi-2': 1.0.0-beta.11 '@swagger-api/apidom-ns-openapi-3-0': 1.0.0-beta.30 - '@swagger-api/apidom-ns-openapi-3-1': 1.0.0-beta.30 + '@swagger-api/apidom-ns-openapi-3-1': 1.0.0-beta.39 '@swagger-api/apidom-parser-adapter-api-design-systems-json': 1.0.0-beta.11 '@swagger-api/apidom-parser-adapter-api-design-systems-yaml': 1.0.0-beta.11 '@swagger-api/apidom-parser-adapter-arazzo-json-1': 1.0.0-beta.30 @@ -12790,58 +12762,62 @@ snapshots: dependencies: apg-lite: 1.0.4 + '@swaggerexpert/json-pointer@2.10.2': + dependencies: + apg-lite: 1.0.4 + '@swc/counter@0.1.3': {} '@swc/helpers@0.5.15': dependencies: tslib: 2.8.1 - '@t3-oss/env-core@0.13.4(arktype@2.1.20)(typescript@5.8.3)(zod@3.24.4)': + '@t3-oss/env-core@0.13.4(arktype@2.1.20)(typescript@5.8.3)(zod@3.25.23)': dependencies: arktype: 2.1.20 optionalDependencies: typescript: 5.8.3 - zod: 3.24.4 + zod: 3.25.23 - '@t3-oss/env-nextjs@0.13.4(arktype@2.1.20)(typescript@5.8.3)(zod@3.24.4)': + '@t3-oss/env-nextjs@0.13.4(arktype@2.1.20)(typescript@5.8.3)(zod@3.25.23)': dependencies: - '@t3-oss/env-core': 0.13.4(arktype@2.1.20)(typescript@5.8.3)(zod@3.24.4) + '@t3-oss/env-core': 0.13.4(arktype@2.1.20)(typescript@5.8.3)(zod@3.25.23) optionalDependencies: typescript: 5.8.3 - zod: 3.24.4 + zod: 3.25.23 transitivePeerDependencies: - arktype - '@tabler/icons-react@3.31.0(react@19.1.0)': + '@tabler/icons-react@3.33.0(react@19.1.0)': dependencies: - '@tabler/icons': 3.31.0 + '@tabler/icons': 3.33.0 react: 19.1.0 - '@tabler/icons@3.31.0': {} + '@tabler/icons@3.33.0': {} '@tanstack/match-sorter-utils@8.19.4': dependencies: remove-accents: 0.5.0 - '@tanstack/query-core@5.76.0': {} + '@tanstack/query-core@5.76.2': {} '@tanstack/query-devtools@5.76.0': {} - '@tanstack/react-query-devtools@5.76.1(@tanstack/react-query@5.76.1(react@19.1.0))(react@19.1.0)': + '@tanstack/react-query-devtools@5.76.2(@tanstack/react-query@5.76.2(react@19.1.0))(react@19.1.0)': dependencies: '@tanstack/query-devtools': 5.76.0 - '@tanstack/react-query': 5.76.1(react@19.1.0) + '@tanstack/react-query': 5.76.2(react@19.1.0) react: 19.1.0 - '@tanstack/react-query-next-experimental@5.76.1(@tanstack/react-query@5.76.1(react@19.1.0))(next@15.3.2(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.0))(react@19.1.0)': + '@tanstack/react-query-next-experimental@5.76.2(@tanstack/react-query@5.76.2(react@19.1.0))(next@15.3.2(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.0))(react@19.1.0)': dependencies: - '@tanstack/react-query': 5.76.1(react@19.1.0) + '@tanstack/react-query': 5.76.2(react@19.1.0) next: 15.3.2(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.0) react: 19.1.0 - '@tanstack/react-query@5.76.1(react@19.1.0)': + '@tanstack/react-query@5.76.2(react@19.1.0)': dependencies: - '@tanstack/query-core': 5.76.0 + '@tanstack/query-core': 5.76.2 react: 19.1.0 '@tanstack/react-table@8.20.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': @@ -12860,9 +12836,9 @@ snapshots: '@tanstack/virtual-core@3.11.2': {} - '@testcontainers/mysql@10.26.0': + '@testcontainers/mysql@10.28.0': dependencies: - testcontainers: 10.26.0 + testcontainers: 10.28.0 transitivePeerDependencies: - bare-buffer - supports-color @@ -13089,7 +13065,7 @@ snapshots: '@trpc/server': 11.1.2(typescript@5.8.3) typescript: 5.8.3 - '@trpc/next@11.1.2(@tanstack/react-query@5.76.1(react@19.1.0))(@trpc/client@11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/react-query@11.1.2(@tanstack/react-query@5.76.1(react@19.1.0))(@trpc/client@11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.1.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3))(@trpc/server@11.1.2(typescript@5.8.3))(next@15.3.2(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)': + '@trpc/next@11.1.2(@tanstack/react-query@5.76.2(react@19.1.0))(@trpc/client@11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/react-query@11.1.2(@tanstack/react-query@5.76.2(react@19.1.0))(@trpc/client@11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.1.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3))(@trpc/server@11.1.2(typescript@5.8.3))(next@15.3.2(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)': dependencies: '@trpc/client': 11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3) '@trpc/server': 11.1.2(typescript@5.8.3) @@ -13098,12 +13074,12 @@ snapshots: react-dom: 19.1.0(react@19.1.0) typescript: 5.8.3 optionalDependencies: - '@tanstack/react-query': 5.76.1(react@19.1.0) - '@trpc/react-query': 11.1.2(@tanstack/react-query@5.76.1(react@19.1.0))(@trpc/client@11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.1.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) + '@tanstack/react-query': 5.76.2(react@19.1.0) + '@trpc/react-query': 11.1.2(@tanstack/react-query@5.76.2(react@19.1.0))(@trpc/client@11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.1.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) - '@trpc/react-query@11.1.2(@tanstack/react-query@5.76.1(react@19.1.0))(@trpc/client@11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.1.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)': + '@trpc/react-query@11.1.2(@tanstack/react-query@5.76.2(react@19.1.0))(@trpc/client@11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.1.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)': dependencies: - '@tanstack/react-query': 5.76.1(react@19.1.0) + '@tanstack/react-query': 5.76.2(react@19.1.0) '@trpc/client': 11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3) '@trpc/server': 11.1.2(typescript@5.8.3) react: 19.1.0 @@ -13114,9 +13090,9 @@ snapshots: dependencies: typescript: 5.8.3 - '@trpc/tanstack-react-query@11.1.2(@tanstack/react-query@5.76.1(react@19.1.0))(@trpc/client@11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.1.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)': + '@trpc/tanstack-react-query@11.1.2(@tanstack/react-query@5.76.2(react@19.1.0))(@trpc/client@11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.1.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)': dependencies: - '@tanstack/react-query': 5.76.1(react@19.1.0) + '@tanstack/react-query': 5.76.2(react@19.1.0) '@trpc/client': 11.1.2(@trpc/server@11.1.2(typescript@5.8.3))(typescript@5.8.3) '@trpc/server': 11.1.2(typescript@5.8.3) react: 19.1.0 @@ -13133,7 +13109,7 @@ snapshots: '@tsconfig/svelte@1.0.13': {} - '@turbo/gen@2.5.3(@types/node@22.15.18)(typescript@5.8.3)': + '@turbo/gen@2.5.3(@types/node@22.15.21)(typescript@5.8.3)': dependencies: '@turbo/workspaces': 2.5.3 commander: 10.0.1 @@ -13143,7 +13119,7 @@ snapshots: node-plop: 0.26.3 picocolors: 1.0.1 proxy-agent: 6.5.0 - ts-node: 10.9.2(@types/node@22.15.18)(typescript@5.8.3) + ts-node: 10.9.2(@types/node@22.15.21)(typescript@5.8.3) update-check: 1.5.4 validate-npm-package-name: 5.0.1 transitivePeerDependencies: @@ -13169,11 +13145,11 @@ snapshots: '@types/adm-zip@0.5.7': dependencies: - '@types/node': 22.15.18 + '@types/node': 22.15.21 '@types/asn1@0.2.4': dependencies: - '@types/node': 22.15.18 + '@types/node': 22.15.21 '@types/aws-lambda@8.10.146': {} @@ -13200,22 +13176,22 @@ snapshots: '@types/bcrypt@5.0.2': dependencies: - '@types/node': 22.15.18 + '@types/node': 22.15.21 '@types/better-sqlite3@7.6.13': dependencies: - '@types/node': 22.15.18 + '@types/node': 22.15.21 '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 22.15.18 + '@types/node': 22.15.21 '@types/chroma-js@3.1.1': {} '@types/connect@3.4.38': dependencies: - '@types/node': 22.15.18 + '@types/node': 22.15.21 '@types/cookie@0.4.1': {} @@ -13224,11 +13200,11 @@ snapshots: '@types/connect': 3.4.38 '@types/express': 4.17.21 '@types/keygrip': 1.0.6 - '@types/node': 22.15.18 + '@types/node': 22.15.21 '@types/cors@2.8.17': dependencies: - '@types/node': 22.15.18 + '@types/node': 22.15.21 '@types/css-font-loading-module@0.0.7': {} @@ -13264,13 +13240,13 @@ snapshots: '@types/docker-modem@3.0.6': dependencies: - '@types/node': 22.15.18 + '@types/node': 22.15.21 '@types/ssh2': 1.15.1 - '@types/dockerode@3.3.38': + '@types/dockerode@3.3.39': dependencies: '@types/docker-modem': 3.0.6 - '@types/node': 22.15.18 + '@types/node': 22.15.21 '@types/ssh2': 1.15.1 '@types/estree-jsx@1.0.5': @@ -13283,7 +13259,7 @@ snapshots: '@types/express-serve-static-core@4.19.5': dependencies: - '@types/node': 22.15.18 + '@types/node': 22.15.21 '@types/qs': 6.9.16 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -13298,7 +13274,7 @@ snapshots: '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 22.15.18 + '@types/node': 22.15.21 '@types/hast@2.3.10': dependencies: @@ -13346,7 +13322,7 @@ snapshots: '@types/node-fetch@2.6.12': dependencies: - '@types/node': 22.15.18 + '@types/node': 22.15.21 form-data: 4.0.1 '@types/node-unifi@2.5.1(patch_hash=5e6ae51e2a17a7f9729bfa30b0eb3d0842a5810ac6db47603ab4a6efa1ed84c5)': @@ -13357,7 +13333,7 @@ snapshots: dependencies: undici-types: 5.26.5 - '@types/node@22.15.18': + '@types/node@22.15.21': dependencies: undici-types: 6.21.0 @@ -13373,11 +13349,11 @@ snapshots: '@types/range-parser@1.2.7': {} - '@types/react-dom@19.1.5(@types/react@19.1.4)': + '@types/react-dom@19.1.5(@types/react@19.1.5)': dependencies: - '@types/react': 19.1.4 + '@types/react': 19.1.5 - '@types/react@19.1.4': + '@types/react@19.1.5': dependencies: csstype: 3.1.3 @@ -13386,21 +13362,21 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.15.18 + '@types/node': 22.15.21 '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 22.15.18 + '@types/node': 22.15.21 '@types/send': 0.17.4 '@types/ssh2-streams@0.1.12': dependencies: - '@types/node': 22.15.18 + '@types/node': 22.15.21 '@types/ssh2@0.5.52': dependencies: - '@types/node': 22.15.18 + '@types/node': 22.15.21 '@types/ssh2-streams': 0.1.12 '@types/ssh2@1.15.1': @@ -13409,15 +13385,15 @@ snapshots: '@types/stream-buffers@3.0.7': dependencies: - '@types/node': 22.15.18 + '@types/node': 22.15.21 '@types/swagger-ui-react@5.18.0': dependencies: - '@types/react': 19.1.4 + '@types/react': 19.1.5 '@types/through@0.0.33': dependencies: - '@types/node': 22.15.18 + '@types/node': 22.15.21 '@types/tinycolor2@1.4.6': {} @@ -13436,21 +13412,21 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 22.15.18 + '@types/node': 22.15.21 '@types/xml2js@0.4.14': dependencies: - '@types/node': 22.15.18 + '@types/node': 22.15.21 - '@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.26.0)(typescript@5.8.3))(eslint@9.26.0)(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.27.0)(typescript@5.8.3))(eslint@9.27.0)(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.32.1(eslint@9.26.0)(typescript@5.8.3) + '@typescript-eslint/parser': 8.32.1(eslint@9.27.0)(typescript@5.8.3) '@typescript-eslint/scope-manager': 8.32.1 - '@typescript-eslint/type-utils': 8.32.1(eslint@9.26.0)(typescript@5.8.3) - '@typescript-eslint/utils': 8.32.1(eslint@9.26.0)(typescript@5.8.3) + '@typescript-eslint/type-utils': 8.32.1(eslint@9.27.0)(typescript@5.8.3) + '@typescript-eslint/utils': 8.32.1(eslint@9.27.0)(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.32.1 - eslint: 9.26.0 + eslint: 9.27.0 graphemer: 1.4.0 ignore: 7.0.4 natural-compare: 1.4.0 @@ -13459,14 +13435,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.32.1(eslint@9.26.0)(typescript@5.8.3)': + '@typescript-eslint/parser@8.32.1(eslint@9.27.0)(typescript@5.8.3)': dependencies: '@typescript-eslint/scope-manager': 8.32.1 '@typescript-eslint/types': 8.32.1 '@typescript-eslint/typescript-estree': 8.32.1(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.32.1 debug: 4.4.0 - eslint: 9.26.0 + eslint: 9.27.0 typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -13476,12 +13452,12 @@ snapshots: '@typescript-eslint/types': 8.32.1 '@typescript-eslint/visitor-keys': 8.32.1 - '@typescript-eslint/type-utils@8.32.1(eslint@9.26.0)(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.32.1(eslint@9.27.0)(typescript@5.8.3)': dependencies: '@typescript-eslint/typescript-estree': 8.32.1(typescript@5.8.3) - '@typescript-eslint/utils': 8.32.1(eslint@9.26.0)(typescript@5.8.3) + '@typescript-eslint/utils': 8.32.1(eslint@9.27.0)(typescript@5.8.3) debug: 4.4.0 - eslint: 9.26.0 + eslint: 9.27.0 ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: @@ -13503,13 +13479,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.32.1(eslint@9.26.0)(typescript@5.8.3)': + '@typescript-eslint/utils@8.32.1(eslint@9.27.0)(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.27.0) '@typescript-eslint/scope-manager': 8.32.1 '@typescript-eslint/types': 8.32.1 '@typescript-eslint/typescript-estree': 8.32.1(typescript@5.8.3) - eslint: 9.26.0 + eslint: 9.27.0 typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -13551,18 +13527,19 @@ snapshots: global: 4.4.0 is-function: 1.0.2 - '@vitejs/plugin-react@4.4.1(vite@5.4.5(@types/node@22.15.18)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0))': + '@vitejs/plugin-react@4.5.0(vite@5.4.5(@types/node@22.15.21)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0))': dependencies: '@babel/core': 7.26.10 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.10) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.10) + '@rolldown/pluginutils': 1.0.0-beta.9 '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 5.4.5(@types/node@22.15.18)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) + vite: 5.4.5(@types/node@22.15.21)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) transitivePeerDependencies: - supports-color - '@vitest/coverage-v8@3.1.3(vitest@3.1.3)': + '@vitest/coverage-v8@3.1.4(vitest@3.1.4)': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 1.0.2 @@ -13576,58 +13553,58 @@ snapshots: std-env: 3.9.0 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.1.3(@types/debug@4.1.12)(@types/node@22.15.18)(@vitest/ui@3.1.3)(jsdom@26.1.0)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) + vitest: 3.1.4(@types/debug@4.1.12)(@types/node@22.15.21)(@vitest/ui@3.1.4)(jsdom@26.1.0)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) transitivePeerDependencies: - supports-color - '@vitest/expect@3.1.3': + '@vitest/expect@3.1.4': dependencies: - '@vitest/spy': 3.1.3 - '@vitest/utils': 3.1.3 + '@vitest/spy': 3.1.4 + '@vitest/utils': 3.1.4 chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.1.3(vite@5.4.5(@types/node@22.15.18)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0))': + '@vitest/mocker@3.1.4(vite@5.4.5(@types/node@22.15.21)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0))': dependencies: - '@vitest/spy': 3.1.3 + '@vitest/spy': 3.1.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.4.5(@types/node@22.15.18)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) + vite: 5.4.5(@types/node@22.15.21)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) - '@vitest/pretty-format@3.1.3': + '@vitest/pretty-format@3.1.4': dependencies: tinyrainbow: 2.0.0 - '@vitest/runner@3.1.3': + '@vitest/runner@3.1.4': dependencies: - '@vitest/utils': 3.1.3 + '@vitest/utils': 3.1.4 pathe: 2.0.3 - '@vitest/snapshot@3.1.3': + '@vitest/snapshot@3.1.4': dependencies: - '@vitest/pretty-format': 3.1.3 + '@vitest/pretty-format': 3.1.4 magic-string: 0.30.17 pathe: 2.0.3 - '@vitest/spy@3.1.3': + '@vitest/spy@3.1.4': dependencies: tinyspy: 3.0.2 - '@vitest/ui@3.1.3(vitest@3.1.3)': + '@vitest/ui@3.1.4(vitest@3.1.4)': dependencies: - '@vitest/utils': 3.1.3 + '@vitest/utils': 3.1.4 fflate: 0.8.2 flatted: 3.3.3 pathe: 2.0.3 sirv: 3.0.1 tinyglobby: 0.2.13 tinyrainbow: 2.0.0 - vitest: 3.1.3(@types/debug@4.1.12)(@types/node@22.15.18)(@vitest/ui@3.1.3)(jsdom@26.1.0)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) + vitest: 3.1.4(@types/debug@4.1.12)(@types/node@22.15.21)(@vitest/ui@3.1.4)(jsdom@26.1.0)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) - '@vitest/utils@3.1.3': + '@vitest/utils@3.1.4': dependencies: - '@vitest/pretty-format': 3.1.3 + '@vitest/pretty-format': 3.1.4 loupe: 3.1.3 tinyrainbow: 2.0.0 @@ -13734,11 +13711,6 @@ snapshots: mime-types: 2.1.35 negotiator: 0.6.3 - accepts@2.0.0: - dependencies: - mime-types: 3.0.1 - negotiator: 1.0.0 - acorn-import-attributes@1.9.5(acorn@8.14.1): dependencies: acorn: 8.14.1 @@ -14009,14 +13981,6 @@ snapshots: transitivePeerDependencies: - debug - axios@1.8.4: - dependencies: - follow-redirects: 1.15.9 - form-data: 4.0.1 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - axios@1.9.0: dependencies: follow-redirects: 1.15.9 @@ -14083,6 +14047,8 @@ snapshots: before-after-hook@3.0.2: {} + before-after-hook@4.0.0: {} + better-sqlite3@11.10.0: dependencies: bindings: 1.5.0 @@ -14100,20 +14066,6 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 - body-parser@2.2.0: - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 4.4.0 - http-errors: 2.0.0 - iconv-lite: 0.6.3 - on-finished: 2.4.1 - qs: 6.14.0 - raw-body: 3.0.0 - type-is: 2.0.1 - transitivePeerDependencies: - - supports-color - bottleneck@2.19.5: {} boxen@5.1.2: @@ -14469,12 +14421,6 @@ snapshots: snake-case: 2.1.0 upper-case: 1.1.3 - content-disposition@1.0.0: - dependencies: - safe-buffer: 5.2.1 - - content-type@1.0.5: {} - conventional-changelog-angular@8.0.0: dependencies: compare-func: 2.0.0 @@ -14503,8 +14449,6 @@ snapshots: cookie-es@1.2.2: {} - cookie-signature@1.2.2: {} - cookie@0.7.2: {} cookie@1.0.2: {} @@ -14852,8 +14796,8 @@ snapshots: dependencies: '@drizzle-team/brocli': 0.10.2 '@esbuild-kit/esm-loader': 2.6.5 - esbuild: 0.25.2 - esbuild-register: 3.6.0(esbuild@0.25.2) + esbuild: 0.25.4 + esbuild-register: 3.6.0(esbuild@0.25.4) transitivePeerDependencies: - supports-color @@ -14865,10 +14809,10 @@ snapshots: gel: 2.0.0 mysql2: 3.14.1 - drizzle-zod@0.7.1(drizzle-orm@0.43.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@11.10.0)(gel@2.0.0)(mysql2@3.14.1))(zod@3.24.4): + drizzle-zod@0.7.1(drizzle-orm@0.43.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@11.10.0)(gel@2.0.0)(mysql2@3.14.1))(zod@3.25.23): dependencies: drizzle-orm: 0.43.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@11.10.0)(gel@2.0.0)(mysql2@3.14.1) - zod: 3.24.4 + zod: 3.25.23 dunder-proto@1.0.1: dependencies: @@ -14882,8 +14826,6 @@ snapshots: eastasianwidth@0.2.0: {} - ee-first@1.1.1: {} - effect@3.13.10: dependencies: '@standard-schema/spec': 1.0.0 @@ -14903,8 +14845,6 @@ snapshots: enabled@2.0.0: {} - encodeurl@2.0.0: {} - end-of-stream@1.4.4: dependencies: once: 1.4.0 @@ -14927,7 +14867,7 @@ snapshots: dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.17 - '@types/node': 22.15.18 + '@types/node': 22.15.21 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.7.2 @@ -15121,10 +15061,10 @@ snapshots: is-date-object: 1.1.0 is-symbol: 1.1.1 - esbuild-register@3.6.0(esbuild@0.25.2): + esbuild-register@3.6.0(esbuild@0.25.4): dependencies: debug: 4.4.0 - esbuild: 0.25.2 + esbuild: 0.25.4 transitivePeerDependencies: - supports-color @@ -15205,40 +15145,38 @@ snapshots: '@esbuild/win32-ia32': 0.21.5 '@esbuild/win32-x64': 0.21.5 - esbuild@0.25.2: + esbuild@0.25.4: optionalDependencies: - '@esbuild/aix-ppc64': 0.25.2 - '@esbuild/android-arm': 0.25.2 - '@esbuild/android-arm64': 0.25.2 - '@esbuild/android-x64': 0.25.2 - '@esbuild/darwin-arm64': 0.25.2 - '@esbuild/darwin-x64': 0.25.2 - '@esbuild/freebsd-arm64': 0.25.2 - '@esbuild/freebsd-x64': 0.25.2 - '@esbuild/linux-arm': 0.25.2 - '@esbuild/linux-arm64': 0.25.2 - '@esbuild/linux-ia32': 0.25.2 - '@esbuild/linux-loong64': 0.25.2 - '@esbuild/linux-mips64el': 0.25.2 - '@esbuild/linux-ppc64': 0.25.2 - '@esbuild/linux-riscv64': 0.25.2 - '@esbuild/linux-s390x': 0.25.2 - '@esbuild/linux-x64': 0.25.2 - '@esbuild/netbsd-arm64': 0.25.2 - '@esbuild/netbsd-x64': 0.25.2 - '@esbuild/openbsd-arm64': 0.25.2 - '@esbuild/openbsd-x64': 0.25.2 - '@esbuild/sunos-x64': 0.25.2 - '@esbuild/win32-arm64': 0.25.2 - '@esbuild/win32-ia32': 0.25.2 - '@esbuild/win32-x64': 0.25.2 + '@esbuild/aix-ppc64': 0.25.4 + '@esbuild/android-arm': 0.25.4 + '@esbuild/android-arm64': 0.25.4 + '@esbuild/android-x64': 0.25.4 + '@esbuild/darwin-arm64': 0.25.4 + '@esbuild/darwin-x64': 0.25.4 + '@esbuild/freebsd-arm64': 0.25.4 + '@esbuild/freebsd-x64': 0.25.4 + '@esbuild/linux-arm': 0.25.4 + '@esbuild/linux-arm64': 0.25.4 + '@esbuild/linux-ia32': 0.25.4 + '@esbuild/linux-loong64': 0.25.4 + '@esbuild/linux-mips64el': 0.25.4 + '@esbuild/linux-ppc64': 0.25.4 + '@esbuild/linux-riscv64': 0.25.4 + '@esbuild/linux-s390x': 0.25.4 + '@esbuild/linux-x64': 0.25.4 + '@esbuild/netbsd-arm64': 0.25.4 + '@esbuild/netbsd-x64': 0.25.4 + '@esbuild/openbsd-arm64': 0.25.4 + '@esbuild/openbsd-x64': 0.25.4 + '@esbuild/sunos-x64': 0.25.4 + '@esbuild/win32-arm64': 0.25.4 + '@esbuild/win32-ia32': 0.25.4 + '@esbuild/win32-x64': 0.25.4 escalade@3.2.0: {} escape-goat@2.1.1: {} - escape-html@1.0.3: {} - escape-string-regexp@1.0.5: {} escape-string-regexp@4.0.0: {} @@ -15253,14 +15191,14 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-prettier@10.1.5(eslint@9.26.0): + eslint-config-prettier@10.1.5(eslint@9.27.0): dependencies: - eslint: 9.26.0 + eslint: 9.27.0 - eslint-config-turbo@2.5.3(eslint@9.26.0)(turbo@2.5.3): + eslint-config-turbo@2.5.3(eslint@9.27.0)(turbo@2.5.3): dependencies: - eslint: 9.26.0 - eslint-plugin-turbo: 2.5.3(eslint@9.26.0)(turbo@2.5.3) + eslint: 9.27.0 + eslint-plugin-turbo: 2.5.3(eslint@9.27.0)(turbo@2.5.3) turbo: 2.5.3 eslint-import-resolver-node@0.3.9: @@ -15271,17 +15209,17 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.32.1(eslint@9.26.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.26.0): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.32.1(eslint@9.27.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.27.0): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.32.1(eslint@9.26.0)(typescript@5.8.3) - eslint: 9.26.0 + '@typescript-eslint/parser': 8.32.1(eslint@9.27.0)(typescript@5.8.3) + eslint: 9.27.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.32.1(eslint@9.26.0)(typescript@5.8.3))(eslint@9.26.0): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.32.1(eslint@9.27.0)(typescript@5.8.3))(eslint@9.27.0): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -15290,9 +15228,9 @@ snapshots: array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 9.26.0 + eslint: 9.27.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.32.1(eslint@9.26.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.26.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.32.1(eslint@9.27.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.27.0) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -15304,13 +15242,13 @@ snapshots: string.prototype.trimend: 1.0.8 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.32.1(eslint@9.26.0)(typescript@5.8.3) + '@typescript-eslint/parser': 8.32.1(eslint@9.27.0)(typescript@5.8.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jsx-a11y@6.10.2(eslint@9.26.0): + eslint-plugin-jsx-a11y@6.10.2(eslint@9.27.0): dependencies: aria-query: 5.3.2 array-includes: 3.1.8 @@ -15320,7 +15258,7 @@ snapshots: axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 9.26.0 + eslint: 9.27.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -15329,11 +15267,11 @@ snapshots: safe-regex-test: 1.0.3 string.prototype.includes: 2.0.1 - eslint-plugin-react-hooks@5.2.0(eslint@9.26.0): + eslint-plugin-react-hooks@5.2.0(eslint@9.27.0): dependencies: - eslint: 9.26.0 + eslint: 9.27.0 - eslint-plugin-react@7.37.5(eslint@9.26.0): + eslint-plugin-react@7.37.5(eslint@9.27.0): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -15341,7 +15279,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.2.1 - eslint: 9.26.0 + eslint: 9.27.0 estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -15355,10 +15293,10 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-turbo@2.5.3(eslint@9.26.0)(turbo@2.5.3): + eslint-plugin-turbo@2.5.3(eslint@9.27.0)(turbo@2.5.3): dependencies: dotenv: 16.0.3 - eslint: 9.26.0 + eslint: 9.27.0 turbo: 2.5.3 eslint-scope@5.1.1: @@ -15375,20 +15313,19 @@ snapshots: eslint-visitor-keys@4.2.0: {} - eslint@9.26.0: + eslint@9.27.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.26.0) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.27.0) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.20.0 '@eslint/config-helpers': 0.2.1 - '@eslint/core': 0.13.0 + '@eslint/core': 0.14.0 '@eslint/eslintrc': 3.3.1 - '@eslint/js': 9.26.0 - '@eslint/plugin-kit': 0.2.8 + '@eslint/js': 9.27.0 + '@eslint/plugin-kit': 0.3.1 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.2 - '@modelcontextprotocol/sdk': 1.11.0 '@types/estree': 1.0.6 '@types/json-schema': 7.0.15 ajv: 6.12.6 @@ -15413,7 +15350,6 @@ snapshots: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 - zod: 3.24.4 transitivePeerDependencies: - supports-color @@ -15447,8 +15383,6 @@ snapshots: esutils@2.0.3: {} - etag@1.8.1: {} - event-target-shim@5.0.1: {} eventemitter2@6.4.9: {} @@ -15457,12 +15391,6 @@ snapshots: events@3.3.0: {} - eventsource-parser@3.0.1: {} - - eventsource@3.0.6: - dependencies: - eventsource-parser: 3.0.1 - execa@5.1.1: dependencies: cross-spawn: 7.0.6 @@ -15506,42 +15434,6 @@ snapshots: expect-type@1.2.1: {} - express-rate-limit@7.5.0(express@5.1.0): - dependencies: - express: 5.1.0 - - express@5.1.0: - dependencies: - accepts: 2.0.0 - body-parser: 2.2.0 - content-disposition: 1.0.0 - content-type: 1.0.5 - cookie: 0.7.2 - cookie-signature: 1.2.2 - debug: 4.4.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 2.1.0 - fresh: 2.0.0 - http-errors: 2.0.0 - merge-descriptors: 2.0.0 - mime-types: 3.0.1 - on-finished: 2.4.1 - once: 1.4.0 - parseurl: 1.3.3 - proxy-addr: 2.0.7 - qs: 6.14.0 - range-parser: 1.2.1 - router: 2.2.0 - send: 1.2.0 - serve-static: 2.2.0 - statuses: 2.0.1 - type-is: 2.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - extend@3.0.2: {} external-editor@3.1.0: @@ -15556,6 +15448,8 @@ snapshots: fast-content-type-parse@2.0.1: {} + fast-content-type-parse@3.0.0: {} + fast-deep-equal@3.1.3: {} fast-equals@5.2.2: {} @@ -15640,17 +15534,6 @@ snapshots: dependencies: to-regex-range: 5.0.1 - finalhandler@2.1.0: - dependencies: - debug: 4.4.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - find-up-simple@1.0.0: {} find-up@2.1.0: @@ -15697,10 +15580,6 @@ snapshots: format@0.2.2: {} - forwarded@0.2.0: {} - - fresh@2.0.0: {} - from2@2.3.0: dependencies: inherits: 2.0.4 @@ -16080,12 +15959,12 @@ snapshots: html-url-attributes@3.0.1: {} - http-cookie-agent@6.0.8(tough-cookie@5.1.2)(undici@7.9.0): + http-cookie-agent@6.0.8(tough-cookie@5.1.2)(undici@7.10.0): dependencies: agent-base: 7.1.3 tough-cookie: 5.1.2 optionalDependencies: - undici: 7.9.0 + undici: 7.10.0 http-errors@2.0.0: dependencies: @@ -16255,8 +16134,6 @@ snapshots: jsbn: 1.1.0 sprintf-js: 1.1.3 - ipaddr.js@1.9.1: {} - iron-webcrypto@1.2.1: {} is-alphabetical@1.0.4: {} @@ -16403,8 +16280,6 @@ snapshots: is-potential-custom-element-name@1.0.1: {} - is-promise@4.0.0: {} - is-property@1.0.2: {} is-regex@1.1.4: @@ -16567,15 +16442,15 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 22.15.18 + '@types/node': 22.15.21 merge-stream: 2.0.0 supports-color: 8.1.1 jose@6.0.8: {} - jotai@2.12.4(@types/react@19.1.4)(react@19.1.0): + jotai@2.12.4(@types/react@19.1.5)(react@19.1.0): optionalDependencies: - '@types/react': 19.1.4 + '@types/react': 19.1.5 react: 19.1.0 js-base64@3.7.7: @@ -16836,12 +16711,12 @@ snapshots: make-error@1.3.6: {} - mantine-react-table@2.0.0-beta.9(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/dates@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(@tabler/icons-react@3.31.0(react@19.1.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + mantine-react-table@2.0.0-beta.9(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/dates@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(@tabler/icons-react@3.33.0(react@19.1.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: - '@mantine/core': 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mantine/dates': 8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mantine/core': 8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mantine/dates': 8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@19.1.0))(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.0.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/hooks': 8.0.1(react@19.1.0) - '@tabler/icons-react': 3.31.0(react@19.1.0) + '@tabler/icons-react': 3.33.0(react@19.1.0) '@tanstack/match-sorter-utils': 8.19.4 '@tanstack/react-table': 8.20.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@tanstack/react-virtual': 3.11.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -16861,18 +16736,18 @@ snapshots: punycode.js: 2.3.1 uc.micro: 2.1.0 - marked-terminal@7.2.1(marked@12.0.2): + marked-terminal@7.2.1(marked@15.0.11): dependencies: ansi-escapes: 7.0.0 ansi-regex: 6.1.0 chalk: 5.3.0 cli-highlight: 2.1.11 cli-table3: 0.6.5 - marked: 12.0.2 + marked: 15.0.11 node-emoji: 2.2.0 supports-hyperlinks: 3.1.0 - marked@12.0.2: {} + marked@15.0.11: {} math-intrinsics@1.1.0: {} @@ -16969,12 +16844,8 @@ snapshots: media-typer@0.3.0: {} - media-typer@1.1.0: {} - meow@13.2.0: {} - merge-descriptors@2.0.0: {} - merge-stream@2.0.0: {} merge2@1.4.1: {} @@ -17119,16 +16990,10 @@ snapshots: mime-db@1.52.0: {} - mime-db@1.54.0: {} - mime-types@2.1.35: dependencies: mime-db: 1.52.0 - mime-types@3.0.1: - dependencies: - mime-db: 1.54.0 - mime@4.0.4: {} mimic-fn@2.1.0: {} @@ -17492,18 +17357,19 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.0.0 - octokit@4.1.3: + octokit@5.0.2: dependencies: - '@octokit/app': 15.1.6 - '@octokit/core': 6.1.5 - '@octokit/oauth-app': 7.1.6 - '@octokit/plugin-paginate-graphql': 5.2.4(@octokit/core@6.1.5) - '@octokit/plugin-paginate-rest': 12.0.0(@octokit/core@6.1.5) - '@octokit/plugin-rest-endpoint-methods': 14.0.0(@octokit/core@6.1.5) - '@octokit/plugin-retry': 7.2.1(@octokit/core@6.1.5) - '@octokit/plugin-throttling': 10.0.0(@octokit/core@6.1.5) - '@octokit/request-error': 6.1.8 + '@octokit/app': 16.0.1 + '@octokit/core': 7.0.2 + '@octokit/oauth-app': 8.0.1 + '@octokit/plugin-paginate-graphql': 6.0.0(@octokit/core@7.0.2) + '@octokit/plugin-paginate-rest': 13.0.0(@octokit/core@7.0.2) + '@octokit/plugin-rest-endpoint-methods': 15.0.0(@octokit/core@7.0.2) + '@octokit/plugin-retry': 8.0.1(@octokit/core@7.0.2) + '@octokit/plugin-throttling': 11.0.1(@octokit/core@7.0.2) + '@octokit/request-error': 7.0.0 '@octokit/types': 14.0.0 + '@octokit/webhooks': 14.0.0 ofetch@1.4.1: dependencies: @@ -17513,10 +17379,6 @@ snapshots: ohash@1.1.4: {} - on-finished@2.4.1: - dependencies: - ee-first: 1.1.1 - once@1.4.0: dependencies: wrappy: 1.0.2 @@ -17705,8 +17567,6 @@ snapshots: dependencies: entities: 4.5.0 - parseurl@1.3.3: {} - pascal-case@2.0.1: dependencies: camel-case: 3.0.0 @@ -17738,8 +17598,6 @@ snapshots: lru-cache: 11.0.2 minipass: 7.1.2 - path-to-regexp@8.2.0: {} - path-type@4.0.0: {} path-type@5.0.0: {} @@ -17764,8 +17622,6 @@ snapshots: optionalDependencies: nice-napi: 1.0.2 - pkce-challenge@5.0.0: {} - pkcs7@1.0.4: dependencies: '@babel/runtime': 7.25.6 @@ -17863,10 +17719,10 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-packagejson@2.5.13(prettier@3.5.3): + prettier-plugin-packagejson@2.5.14(prettier@3.5.3): dependencies: sort-package-json: 3.2.1 - synckit: 0.11.5 + synckit: 0.11.6 optionalDependencies: prettier: 3.5.3 @@ -18027,17 +17883,12 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 22.15.18 + '@types/node': 22.15.21 long: 5.2.3 proxmox-api@1.1.1: dependencies: - undici: 7.9.0 - - proxy-addr@2.0.7: - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 + undici: 7.10.0 proxy-agent@6.5.0: dependencies: @@ -18073,10 +17924,6 @@ snapshots: dependencies: side-channel: 1.1.0 - qs@6.14.0: - dependencies: - side-channel: 1.1.0 - querystringify@2.2.0: {} queue-microtask@1.2.3: {} @@ -18098,8 +17945,6 @@ snapshots: dependencies: safe-buffer: 5.2.1 - range-parser@1.2.1: {} - raw-body@2.5.2: dependencies: bytes: 3.1.2 @@ -18107,13 +17952,6 @@ snapshots: iconv-lite: 0.4.24 unpipe: 1.0.0 - raw-body@3.0.0: - dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.6.3 - unpipe: 1.0.0 - rc@1.2.8: dependencies: deep-extend: 0.6.0 @@ -18169,11 +18007,11 @@ snapshots: react-is@18.3.1: {} - react-markdown@10.1.0(@types/react@19.1.4)(react@19.1.0): + react-markdown@10.1.0(@types/react@19.1.5)(react@19.1.0): dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - '@types/react': 19.1.4 + '@types/react': 19.1.5 devlop: 1.1.0 hast-util-to-jsx-runtime: 2.3.6 html-url-attributes: 3.0.1 @@ -18192,35 +18030,35 @@ snapshots: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - react-redux@9.2.0(@types/react@19.1.4)(react@19.1.0)(redux@5.0.1): + react-redux@9.2.0(@types/react@19.1.5)(react@19.1.0)(redux@5.0.1): dependencies: '@types/use-sync-external-store': 0.0.6 react: 19.1.0 use-sync-external-store: 1.4.0(react@19.1.0) optionalDependencies: - '@types/react': 19.1.4 + '@types/react': 19.1.5 redux: 5.0.1 react-refresh@0.17.0: {} - react-remove-scroll-bar@2.3.8(@types/react@19.1.4)(react@19.1.0): + react-remove-scroll-bar@2.3.8(@types/react@19.1.5)(react@19.1.0): dependencies: react: 19.1.0 - react-style-singleton: 2.2.3(@types/react@19.1.4)(react@19.1.0) + react-style-singleton: 2.2.3(@types/react@19.1.5)(react@19.1.0) tslib: 2.8.1 optionalDependencies: - '@types/react': 19.1.4 + '@types/react': 19.1.5 - react-remove-scroll@2.6.2(@types/react@19.1.4)(react@19.1.0): + react-remove-scroll@2.6.2(@types/react@19.1.5)(react@19.1.0): dependencies: react: 19.1.0 - react-remove-scroll-bar: 2.3.8(@types/react@19.1.4)(react@19.1.0) - react-style-singleton: 2.2.3(@types/react@19.1.4)(react@19.1.0) + react-remove-scroll-bar: 2.3.8(@types/react@19.1.5)(react@19.1.0) + react-style-singleton: 2.2.3(@types/react@19.1.5)(react@19.1.0) tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@19.1.4)(react@19.1.0) - use-sidecar: 1.1.2(@types/react@19.1.4)(react@19.1.0) + use-callback-ref: 1.3.3(@types/react@19.1.5)(react@19.1.0) + use-sidecar: 1.1.2(@types/react@19.1.5)(react@19.1.0) optionalDependencies: - '@types/react': 19.1.4 + '@types/react': 19.1.5 react-scan@0.0.31: dependencies: @@ -18243,13 +18081,13 @@ snapshots: react-dom: 19.1.0(react@19.1.0) react-transition-group: 4.4.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react-style-singleton@2.2.3(@types/react@19.1.4)(react@19.1.0): + react-style-singleton@2.2.3(@types/react@19.1.5)(react@19.1.0): dependencies: get-nonce: 1.0.1 react: 19.1.0 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.1.4 + '@types/react': 19.1.5 react-syntax-highlighter@15.6.1(react@19.1.0): dependencies: @@ -18261,12 +18099,12 @@ snapshots: react: 19.1.0 refractor: 3.6.0 - react-textarea-autosize@8.5.9(@types/react@19.1.4)(react@19.1.0): + react-textarea-autosize@8.5.9(@types/react@19.1.5)(react@19.1.0): dependencies: '@babel/runtime': 7.25.6 react: 19.1.0 use-composed-ref: 1.3.0(react@19.1.0) - use-latest: 1.2.1(@types/react@19.1.4)(react@19.1.0) + use-latest: 1.2.1(@types/react@19.1.5)(react@19.1.0) transitivePeerDependencies: - '@types/react' @@ -18505,16 +18343,6 @@ snapshots: rope-sequence@1.3.4: {} - router@2.2.0: - dependencies: - debug: 4.4.0 - depd: 2.0.0 - is-promise: 4.0.0 - parseurl: 1.3.3 - path-to-regexp: 8.2.0 - transitivePeerDependencies: - - supports-color - rrdom@0.1.7: dependencies: rrweb-snapshot: 2.0.0-alpha.4 @@ -18625,13 +18453,13 @@ snapshots: ajv-formats: 2.1.1(ajv@8.17.1) ajv-keywords: 5.1.0(ajv@8.17.1) - semantic-release@24.2.3(typescript@5.8.3): + semantic-release@24.2.4(typescript@5.8.3): dependencies: - '@semantic-release/commit-analyzer': 13.0.1(semantic-release@24.2.3(typescript@5.8.3)) + '@semantic-release/commit-analyzer': 13.0.1(semantic-release@24.2.4(typescript@5.8.3)) '@semantic-release/error': 4.0.0 - '@semantic-release/github': 11.0.2(semantic-release@24.2.3(typescript@5.8.3)) - '@semantic-release/npm': 12.0.1(semantic-release@24.2.3(typescript@5.8.3)) - '@semantic-release/release-notes-generator': 14.0.3(semantic-release@24.2.3(typescript@5.8.3)) + '@semantic-release/github': 11.0.2(semantic-release@24.2.4(typescript@5.8.3)) + '@semantic-release/npm': 12.0.1(semantic-release@24.2.4(typescript@5.8.3)) + '@semantic-release/release-notes-generator': 14.0.3(semantic-release@24.2.4(typescript@5.8.3)) aggregate-error: 5.0.0 cosmiconfig: 9.0.0(typescript@5.8.3) debug: 4.4.0 @@ -18645,14 +18473,14 @@ snapshots: hosted-git-info: 8.0.2 import-from-esm: 2.0.0 lodash-es: 4.17.21 - marked: 12.0.2 - marked-terminal: 7.2.1(marked@12.0.2) + marked: 15.0.11 + marked-terminal: 7.2.1(marked@15.0.11) micromatch: 4.0.8 p-each-series: 3.0.0 p-reduce: 3.0.0 read-package-up: 11.0.0 resolve-from: 5.0.0 - semver: 7.6.3 + semver: 7.7.1 semver-diff: 4.0.0 signale: 1.4.0 yargs: 17.7.2 @@ -18666,7 +18494,7 @@ snapshots: semver-diff@4.0.0: dependencies: - semver: 7.6.3 + semver: 7.7.1 semver-parser@4.1.8: {} @@ -18680,22 +18508,6 @@ snapshots: semver@7.7.1: {} - send@1.2.0: - dependencies: - debug: 4.4.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 2.0.0 - http-errors: 2.0.0 - mime-types: 3.0.1 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - sentence-case@2.1.1: dependencies: no-case: 2.3.2 @@ -18711,15 +18523,6 @@ snapshots: dependencies: randombytes: 2.1.0 - serve-static@2.2.0: - dependencies: - encodeurl: 2.0.0 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 1.2.0 - transitivePeerDependencies: - - supports-color - set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 @@ -18779,7 +18582,7 @@ snapshots: shell-quote@1.8.1: {} - short-unique-id@5.2.0: {} + short-unique-id@5.3.2: {} side-channel-list@1.0.0: dependencies: @@ -19169,15 +18972,15 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - swagger-client@3.34.4: + swagger-client@3.35.3: dependencies: - '@babel/runtime-corejs3': 7.27.0 + '@babel/runtime-corejs3': 7.27.1 '@scarf/scarf': 1.4.0 - '@swagger-api/apidom-core': 1.0.0-beta.30 - '@swagger-api/apidom-error': 1.0.0-beta.30 - '@swagger-api/apidom-json-pointer': 1.0.0-beta.30 - '@swagger-api/apidom-ns-openapi-3-1': 1.0.0-beta.30 - '@swagger-api/apidom-reference': 1.0.0-beta.30 + '@swagger-api/apidom-core': 1.0.0-beta.39 + '@swagger-api/apidom-error': 1.0.0-beta.39 + '@swagger-api/apidom-json-pointer': 1.0.0-beta.39 + '@swagger-api/apidom-ns-openapi-3-1': 1.0.0-beta.39 + '@swagger-api/apidom-reference': 1.0.0-beta.39 '@swaggerexpert/cookie': 2.0.2 deepmerge: 4.3.1 fast-json-patch: 3.1.1 @@ -19192,9 +18995,9 @@ snapshots: transitivePeerDependencies: - debug - swagger-ui-react@5.21.0(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + swagger-ui-react@5.22.0(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: - '@babel/runtime-corejs3': 7.27.0 + '@babel/runtime-corejs3': 7.27.1 '@scarf/scarf': 1.4.0 base64-js: 1.5.1 classnames: 2.5.1 @@ -19216,7 +19019,7 @@ snapshots: react-immutable-proptypes: 2.2.0(immutable@3.8.2) react-immutable-pure-component: 2.2.2(immutable@3.8.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react-inspector: 6.0.2(react@19.1.0) - react-redux: 9.2.0(@types/react@19.1.4)(react@19.1.0)(redux@5.0.1) + react-redux: 9.2.0(@types/react@19.1.5)(react@19.1.0)(redux@5.0.1) react-syntax-highlighter: 15.6.1(react@19.1.0) redux: 5.0.1 redux-immutable: 4.0.0(immutable@3.8.2) @@ -19224,7 +19027,7 @@ snapshots: reselect: 5.1.1 serialize-error: 8.1.0 sha.js: 2.4.11 - swagger-client: 3.34.4 + swagger-client: 3.35.3 url-parse: 1.5.10 xml: 1.0.1 xml-but-prettier: 1.0.1 @@ -19240,10 +19043,9 @@ snapshots: symbol-tree@3.2.4: {} - synckit@0.11.5: + synckit@0.11.6: dependencies: '@pkgr/core': 0.2.4 - tslib: 2.8.1 tabbable@6.2.0: {} @@ -19311,10 +19113,10 @@ snapshots: glob: 10.4.5 minimatch: 9.0.5 - testcontainers@10.26.0: + testcontainers@10.28.0: dependencies: '@balena/dockerignore': 1.0.2 - '@types/dockerode': 3.3.38 + '@types/dockerode': 3.3.39 archiver: 7.0.1 async-lock: 1.4.1 byline: 5.0.0 @@ -19327,7 +19129,7 @@ snapshots: ssh-remote-port-forward: 1.0.4 tar-fs: 3.0.8 tmp: 0.2.3 - undici: 5.28.5 + undici: 5.29.0 transitivePeerDependencies: - bare-buffer - supports-color @@ -19452,14 +19254,14 @@ snapshots: trough@2.2.0: {} - trpc-to-openapi@2.2.0(@trpc/server@11.1.2(typescript@5.8.3))(zod-openapi@2.19.0(zod@3.24.4))(zod@3.24.4): + trpc-to-openapi@2.2.0(@trpc/server@11.1.2(typescript@5.8.3))(zod-openapi@2.19.0(zod@3.25.23))(zod@3.25.23): dependencies: '@trpc/server': 11.1.2(typescript@5.8.3) co-body: 6.2.0 h3: 1.15.1 openapi3-ts: 4.4.0 - zod: 3.24.4 - zod-openapi: 2.19.0(zod@3.24.4) + zod: 3.25.23 + zod-openapi: 2.19.0(zod@3.25.23) optionalDependencies: '@rollup/rollup-linux-x64-gnu': 4.6.1 @@ -19469,14 +19271,14 @@ snapshots: ts-mixer@6.0.4: {} - ts-node@10.9.2(@types/node@22.15.18)(typescript@5.8.3): + ts-node@10.9.2(@types/node@22.15.21)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.15.18 + '@types/node': 22.15.21 acorn: 8.14.1 acorn-walk: 8.3.4 arg: 4.1.3 @@ -19520,7 +19322,7 @@ snapshots: tsx@4.19.4: dependencies: - esbuild: 0.25.2 + esbuild: 0.25.4 get-tsconfig: 4.8.1 optionalDependencies: fsevents: 2.3.3 @@ -19579,12 +19381,6 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - type-is@2.0.1: - dependencies: - content-type: 1.0.5 - media-typer: 1.1.0 - mime-types: 3.0.1 - typed-array-buffer@1.0.2: dependencies: call-bind: 1.0.8 @@ -19658,12 +19454,12 @@ snapshots: dependencies: ts-toolbelt: 9.6.0 - typescript-eslint@8.32.1(eslint@9.26.0)(typescript@5.8.3): + typescript-eslint@8.32.1(eslint@9.27.0)(typescript@5.8.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.26.0)(typescript@5.8.3))(eslint@9.26.0)(typescript@5.8.3) - '@typescript-eslint/parser': 8.32.1(eslint@9.26.0)(typescript@5.8.3) - '@typescript-eslint/utils': 8.32.1(eslint@9.26.0)(typescript@5.8.3) - eslint: 9.26.0 + '@typescript-eslint/eslint-plugin': 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.27.0)(typescript@5.8.3))(eslint@9.27.0)(typescript@5.8.3) + '@typescript-eslint/parser': 8.32.1(eslint@9.27.0)(typescript@5.8.3) + '@typescript-eslint/utils': 8.32.1(eslint@9.27.0)(typescript@5.8.3) + eslint: 9.27.0 typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -19701,11 +19497,11 @@ snapshots: undici-types@6.21.0: {} - undici@5.28.5: + undici@5.29.0: dependencies: '@fastify/busboy': 2.1.1 - undici@7.9.0: {} + undici@7.10.0: {} unicode-emoji-modifier-base@1.0.0: {} @@ -19828,12 +19624,12 @@ snapshots: url-toolkit@2.2.5: {} - use-callback-ref@1.3.3(@types/react@19.1.4)(react@19.1.0): + use-callback-ref@1.3.3(@types/react@19.1.5)(react@19.1.0): dependencies: react: 19.1.0 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.1.4 + '@types/react': 19.1.5 use-composed-ref@1.3.0(react@19.1.0): dependencies: @@ -19852,26 +19648,26 @@ snapshots: intl-messageformat: 10.7.1 react: 19.1.0 - use-isomorphic-layout-effect@1.1.2(@types/react@19.1.4)(react@19.1.0): + use-isomorphic-layout-effect@1.1.2(@types/react@19.1.5)(react@19.1.0): dependencies: react: 19.1.0 optionalDependencies: - '@types/react': 19.1.4 + '@types/react': 19.1.5 - use-latest@1.2.1(@types/react@19.1.4)(react@19.1.0): + use-latest@1.2.1(@types/react@19.1.5)(react@19.1.0): dependencies: react: 19.1.0 - use-isomorphic-layout-effect: 1.1.2(@types/react@19.1.4)(react@19.1.0) + use-isomorphic-layout-effect: 1.1.2(@types/react@19.1.5)(react@19.1.0) optionalDependencies: - '@types/react': 19.1.4 + '@types/react': 19.1.5 - use-sidecar@1.1.2(@types/react@19.1.4)(react@19.1.0): + use-sidecar@1.1.2(@types/react@19.1.5)(react@19.1.0): dependencies: detect-node-es: 1.1.0 react: 19.1.0 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.1.4 + '@types/react': 19.1.5 use-sync-external-store@1.4.0(react@19.1.0): dependencies: @@ -19949,13 +19745,13 @@ snapshots: dependencies: global: 4.4.0 - vite-node@3.1.3(@types/node@22.15.18)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0): + vite-node@3.1.4(@types/node@22.15.21)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 5.4.5(@types/node@22.15.18)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) + vite: 5.4.5(@types/node@22.15.21)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) transitivePeerDependencies: - '@types/node' - less @@ -19967,38 +19763,38 @@ snapshots: - supports-color - terser - vite-tsconfig-paths@5.1.4(typescript@5.8.3)(vite@5.4.5(@types/node@22.15.18)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0)): + vite-tsconfig-paths@5.1.4(typescript@5.8.3)(vite@5.4.5(@types/node@22.15.21)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0)): dependencies: debug: 4.3.7 globrex: 0.1.2 tsconfck: 3.1.3(typescript@5.8.3) optionalDependencies: - vite: 5.4.5(@types/node@22.15.18)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) + vite: 5.4.5(@types/node@22.15.21)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) transitivePeerDependencies: - supports-color - typescript - vite@5.4.5(@types/node@22.15.18)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0): + vite@5.4.5(@types/node@22.15.21)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0): dependencies: esbuild: 0.21.5 postcss: 8.4.47 rollup: 4.21.3 optionalDependencies: - '@types/node': 22.15.18 + '@types/node': 22.15.21 fsevents: 2.3.3 sass: 1.89.0 sugarss: 4.0.1(postcss@8.4.47) terser: 5.39.0 - vitest@3.1.3(@types/debug@4.1.12)(@types/node@22.15.18)(@vitest/ui@3.1.3)(jsdom@26.1.0)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0): + vitest@3.1.4(@types/debug@4.1.12)(@types/node@22.15.21)(@vitest/ui@3.1.4)(jsdom@26.1.0)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0): dependencies: - '@vitest/expect': 3.1.3 - '@vitest/mocker': 3.1.3(vite@5.4.5(@types/node@22.15.18)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0)) - '@vitest/pretty-format': 3.1.3 - '@vitest/runner': 3.1.3 - '@vitest/snapshot': 3.1.3 - '@vitest/spy': 3.1.3 - '@vitest/utils': 3.1.3 + '@vitest/expect': 3.1.4 + '@vitest/mocker': 3.1.4(vite@5.4.5(@types/node@22.15.21)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0)) + '@vitest/pretty-format': 3.1.4 + '@vitest/runner': 3.1.4 + '@vitest/snapshot': 3.1.4 + '@vitest/spy': 3.1.4 + '@vitest/utils': 3.1.4 chai: 5.2.0 debug: 4.4.0 expect-type: 1.2.1 @@ -20010,13 +19806,13 @@ snapshots: tinyglobby: 0.2.13 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 5.4.5(@types/node@22.15.18)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) - vite-node: 3.1.3(@types/node@22.15.18)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) + vite: 5.4.5(@types/node@22.15.21)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) + vite-node: 3.1.4(@types/node@22.15.21)(sass@1.89.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 22.15.18 - '@vitest/ui': 3.1.3(vitest@3.1.3) + '@types/node': 22.15.21 + '@vitest/ui': 3.1.4(vitest@3.1.4) jsdom: 26.1.0 transitivePeerDependencies: - less @@ -20307,23 +20103,19 @@ snapshots: compress-commons: 6.0.2 readable-stream: 4.5.2 - zod-form-data@2.0.7(zod@3.24.4): + zod-form-data@2.0.7(zod@3.25.23): dependencies: '@rvf/set-get': 7.0.1 - zod: 3.24.4 + zod: 3.25.23 - zod-openapi@2.19.0(zod@3.24.4): + zod-openapi@2.19.0(zod@3.25.23): dependencies: - zod: 3.24.4 + zod: 3.25.23 - zod-to-json-schema@3.24.5(zod@3.24.4): + zod-validation-error@3.4.1(zod@3.25.23): dependencies: - zod: 3.24.4 + zod: 3.25.23 - zod-validation-error@3.4.0(zod@3.24.4): - dependencies: - zod: 3.24.4 - - zod@3.24.4: {} + zod@3.25.23: {} zwitch@2.0.4: {} diff --git a/static-data/translators.json b/static-data/translators.json index ea428f51a..074f6824b 100644 --- a/static-data/translators.json +++ b/static-data/translators.json @@ -1 +1 @@ -[{"username":"carlchina","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/6697/medium/d22bbe7797bbeb30dbdc73a5648d329a_default.png"},{"username":"zielmann","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/7795/medium/ad22b8b8d5eb33e4154d53a454c862fd_default.png"},{"username":"Thalyn","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12494028/medium/5faf5acc945a874ed116c4567edaa09f_default.png"},{"username":"magnushj","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12503488/medium/68f32e33ea7b891960055c9f831f7344_default.png"},{"username":"almontegil","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12580457/medium/f4136cacbdfdb4c28ae7f85dc5f840db_default.png"},{"username":"Skick","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12619811/medium/0331f1de413a645b4516bc4e037f31bb.jpg"},{"username":"andibing","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12664938/medium/b8be63e4dcb2e791ced1ffc9e3a049a5.jpg"},{"username":"gronare","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12680911/medium/c6eb14d1504156f34a158e507f73aa3d_default.png"},{"username":"SmartPhoneLover","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12701640/medium/ec95486662ec875cda080e778c3ff702.jpg"},{"username":"marcelotk_15","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12773227/medium/ecf6bea16ab0c873c131df2154ee9718_default.png"},{"username":"S3OD177","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13051544/medium/11dd990837f61f7e8f7d36b041a7fddb_default.png"},{"username":"marcg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13153301/medium/ebcf60fbf27deb148ec40a659566c6ff_default.png"},{"username":"BeersTeddy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13185230/medium/2f1f4e1effe74a23422b195cbefb2a95_default.png"},{"username":"jamesmcmahon0","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13245578/medium/586aa873b4abddbd9abc6f3de99ab70e.jpeg"},{"username":"b1nar10","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13286752/medium/249b02e3368752cb175446082015737c_default.png"},{"username":"vannCN","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13330448/medium/9b8a9ee3611e51e951e22d5fd4eb7d8d.jpg"},{"username":"binswm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13343482/medium/45dde0e6097b9b72705d2eba9dbbc276_default.png"},{"username":"SkewRam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13496556/medium/188f5c2deb7938eda51eb786cc4539ca.jpeg"},{"username":"raphcatarino","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13547726/medium/b003511e67df13a4b4b5689488fa8099.jpg"},{"username":"shillos5","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13600557/medium/b17650b2b84f829d54fa548c44c1ab27.jpeg"},{"username":"wolong98","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13641407/medium/f4634edc58c7857a357e5293543c15cf.jpg"},{"username":"spair0039","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14012333/medium/72430e96027c09c19141cac38eae4617.png"},{"username":"MajorMarcin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14072183/medium/0a197e64bb92b6ea94cecbb607512c45.jpg"},{"username":"KosmoMoustache","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14103535/medium/51c438cdd9f86e8811c75f4869de479c.png"},{"username":"Soochaehwa","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14118689/medium/496a1ce63111547bf455a1e0a7ac75f1_default.png"},{"username":"garryfield","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14187035/medium/520c964706676045f6eeec1b08edc880.jpg"},{"username":"droidenko","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14444264/medium/4aa3a8e824f72bc9e5ec0d8de307095e.jpeg"},{"username":"maathis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14489950/medium/6eeddf13a757ee35f78f1763f94d95e1.jpeg"},{"username":"bukvam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14546502/medium/a819dc40a13c57395a17dc46e847d3ce.jpg"},{"username":"gm.cinalli","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14670666/medium/2d466a0fdbda40764526be86c97c0ab4.jpeg"},{"username":"antoine2tt","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14722148/medium/f88d926900862dd59007ea4b3419cb9d.png"},{"username":"cretzen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14799754/medium/3ba5c1805ec20c000d5810c07985afe9.jpg"},{"username":"ktKongTong","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14817246/medium/97cfc3c028dbdaf85ebd1102da71e58c.jpeg"},{"username":"Prototypem95","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14847666/medium/2cd318fce482ca828214f35c48d30f6e_default.png"},{"username":"marinkaberg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14861042/medium/2d5c4e62613f03082f3e645fa92efd59.jpeg"},{"username":"djismgaming","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14934947/medium/f5a8570713c34ab0f7d5405d105e2a9a.jpeg"},{"username":"f1refa11","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14949159/medium/fd2ae63b8eb4462200ba96abf943c1b9.png"},{"username":"jeffersonraimon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15057621/medium/6dff469563860e2618bc9d45646d0ab4.png"},{"username":"giop98","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15057987/medium/b8a4825d3fc39fc662f35ee258db4b2d.jpeg"},{"username":"tomislav.kraljevic","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15118857/medium/e133f1061cc92850b854d05d8faaeafd.png"},{"username":"Walkx","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15202182/medium/5c37361ae45aeed487b34582c1f7ca37.png"},{"username":"andrea.rosso","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15246318/medium/11f3f5ef44ec7f55b6f143090e208704_default.png"},{"username":"ajnart","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15270132/medium/a0f107a463c8910ee96bc2fa843a17e3.jpeg"},{"username":"Witchling","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15282238/medium/9e196b6783415b10ca571b7673c2ef33.jpg"},{"username":"guineuu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15292058/medium/22fbb758bda3b7805d50bf21d38f2c20.jpeg"},{"username":"Bulgus","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15304568/medium/0e8787e5ceb02ed5c96a514d0068ae87.jpg"},{"username":"Narno","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15314996/medium/a6ba093f24884250a1bf6c6f2ca50f1b_default.png"},{"username":"BySempron","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15315986/medium/e3d22d7b1423c6823a9f36d595ed4bdb.png"},{"username":"jonathan.berglin.work","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15359236/medium/95930b2093db13b76179782f7322c5d5.png"},{"username":"icdmkg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15405504/medium/f334d16cde1ac4ffb935b440d03465af.gif"},{"username":"irithys","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15405614/medium/3086461c47cce0a0c031925e5f943412.png"},{"username":"JannesV","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419912/medium/a7809eb4b817d7c49b62cf10ae86b950.png"},{"username":"benniblot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419914/medium/7d0ba7a7c4b62dab3e5f570d858759d4.png"},{"username":"pacjo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419916/medium/3cbeddbd7bc01faafb5a3bf47bba915b_default.png"},{"username":"Payou6994","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419934/medium/37c9b9b17dfb578404c1c1ddb73ba7a8.png"},{"username":"fzibi21","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419976/medium/0da688450358e0290a7b7359cc1f7328.png"},{"username":"WowMurdock","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420118/medium/de19576fccb495b6dfe4c4c04a56b834.png"},{"username":"hbooo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420120/medium/6c7c7f8db785061356ebb03d044d3329.jpeg"},{"username":"Manicraft1001","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420178/medium/50ec94563a06a9f74f33bd09f01eed4d.jpg"},{"username":"Void123","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420354/medium/86929d44df92a00f9fe900a985c196df_default.png"},{"username":"R4cc","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15422606/medium/a390979662b84694f59de30bdb732141.jpeg"},{"username":"fabricionaweb","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15425808/medium/a9354142e7ae5152c144409d55fda551_default.png"},{"username":"JokeOfDead","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15426890/medium/a383eac9365e9de64fd4ab1d6fd0cb95.jpeg"},{"username":"hkz","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15427174/medium/c88acefb0d7306e1f7470e872029fb39_default.png"},{"username":"Steken","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15428516/medium/d5aea5653c769c3a523182bdb60d1664.png"},{"username":"flar.anton","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15428592/medium/b01fdb365d892e9f811f77fcb50a80a2.jpeg"},{"username":"Bon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15433542/medium/5397da4dfc821f20b6ac14fe0c514e9a.jpeg"},{"username":"bfkadan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15434162/medium/4f9a0b43cfe3acaea60124c14ba7f44a.png"},{"username":"BunnySweety","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15434662/medium/f0ef200a6a0dcf0e1d0e9ecd4148f560_default.png"},{"username":"HRKings","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15436168/medium/69a31e461d38549f01864e7ef10d642e.png"},{"username":"wiston81","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15439078/medium/10f292c8d12a7c21a44b54495fa4a3d8.jpeg"},{"username":"qaz0911","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15440860/medium/3d3e50ee388c72dc4bf7a771761f2d89_default.png"},{"username":"qqyule","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15441462/medium/7a3cdf82710ffb5d8f388bc0bd010665.png"},{"username":"Bims0n","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15445560/medium/603220b603eeb3367e0f0d3fa675247c.jpg"},{"username":"TariqDaCoder","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15446228/medium/50b0f4040112bbd67690b769477398e5_default.png"},{"username":"Anarchon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15449644/medium/e925e1f3e3ffbf0f982391ce263a1a28.jpeg"},{"username":"Ashun","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15453020/medium/ccdcf51c73d6aae40751bb30beee1915_default.png"},{"username":"sebekmartin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15454038/medium/bcfb44598cdfd1d7cd4eb35812538962.jpeg"},{"username":"RagnarGraves","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15459882/medium/143d5af850c1154070a218bea124e9cb_default.png"},{"username":"PrtmPhlp","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15462414/medium/b80db55e9de301432dcd1f8c8b24fd49_default.png"},{"username":"DooYoo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15470768/medium/2a18cf4be67094724b508c9e1e698a21_default.png"},{"username":"espentruls","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15486092/medium/8e38afc3a4ff669226a0cfd3e420ff3a.jpeg"},{"username":"frisco82","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15486922/medium/4e1c5d4189b42508e660daa3c1c25b2a.jpeg"},{"username":"lupineDK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15491798/medium/461bd501e8371c062bf29ea171aedd36_default.png"},{"username":"hillaliy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15492732/medium/0bae17b421604892d888e3fc70cf0587.jpeg"},{"username":"MarcOrfilaCarreras","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15501072/medium/ea52b26c3c6f21e4931e38e3ce3f3d6e.png"},{"username":"robertbridda","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15507822/medium/a368c2e30411bb2da9b49290084191f3.png"},{"username":"MKoniuszko","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15518090/medium/87605434fcc839f6763ab07c50f6d232.jpeg"},{"username":"HeroSizy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15518710/medium/4e79c0e98cbeb536dd961e656331b509.png"},{"username":"dwt136","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15520022/medium/554422503f2baea43ace85facb4546fb_default.png"},{"username":"asifthewebguy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15526719/medium/b18931dd0c800d725048bd440646198b_default.png"},{"username":"eiloogs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15545537/medium/f290a2f1190983530a9b76b2e858a609.gif"},{"username":"_vytdv","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15547289/medium/60d8644cc8ad6f11a92ccea4a14cd098_default.png"},{"username":"crendasien","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15554645/medium/598ab1d4aaf6b8dccd5ba16be92da7b9.jpeg"},{"username":"edxo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15573823/medium/8a565b732a75a77f840dd123cdb30bf4.png"},{"username":"somerlev","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15617065/medium/f4b13513e311ec902d90b2f718412c55.jpg"},{"username":"kid1412621","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15643771/medium/dd455e32de652fa88e6fd97598bdffa7.png"},{"username":"suming","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15644717/medium/244159dfe10fa03436205506f80c9e25.png"},{"username":"nick.gher","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15647517/medium/5374a2c6fef60a3fbf0edf86b997c351_default.png"},{"username":"DataCat","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15650315/medium/ce7c1365adf35c5d490d77500a4607fb_default.png"},{"username":"dizo89","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15658375/medium/0ca745e5017d491fe1b22b0239904de8.jpeg"},{"username":"tee_noodle","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15674577/medium/804d9cf06f5196026acb6436b809d0da_default.png"},{"username":"Marty88","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15674593/medium/492b1509d52bd2809dea768121217125.jpeg"},{"username":"Spillebulle","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15677023/medium/20b98bb85062e07afe0e63618f8a5feb.PNG"},{"username":"petitmewen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15685239/medium/15de9b62d2e0bc25013435f1784bbcc1.jpeg"},{"username":"NoProsNoNoobs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15687709/medium/ae8f65fafeb8bcf74dcb8871bbe46461.png"},{"username":"y.gybson","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15690777/medium/b5cb5d2d5768904ff6586c727e3a6c77.jpeg"},{"username":"inside90","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15704947/medium/c1355fcb30dd76f8e39d98d1d49f1c52.png"},{"username":"RJSkudra","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15709853/medium/c3abf2774913dc4e81fb261d36d7668c.png"},{"username":"binge203","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15713937/medium/77c1cfa4314673db80e6881fd9f64668.gif"},{"username":"Mailootje","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15714337/medium/743c3bc4ab1989966a375eeeec83d8b8.jpeg"},{"username":"tim-wiegers","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15719805/medium/08a96f064813350661cd6b20bf3d7d99.png"},{"username":"GkhnG","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15722911/medium/71a027caec489ef6ce82bcf1888329d0_default.png"},{"username":"Zoen-Millo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15760967/medium/9e956f11adc5b34f5636268b5c485dbf.jpg"},{"username":"HooinKyoma","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15792897/medium/9489f0a9b368e0e827ae758b740a2eed.jpeg"},{"username":"wathergeen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15794495/medium/a83b7fc80d180669ebfd6deb3544cfd0.png"},{"username":"MoeToo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15818233/medium/d35cd6953717706eaf20f6c143c62947.png"},{"username":"itodouble","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15836233/medium/e984caea18fb0673bf319fcf28cef649.png"},{"username":"loslocitos","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15847901/medium/fe30d12fd2cf38212f929e13b169f9ec.jpeg"},{"username":"Oversleep","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15849065/medium/06141f13a6d541d753f3c2f2947b8068_default.png"},{"username":"Beardy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15865139/medium/fca6b9d2b3f52e286d1568f52b83b6a0_default.png"},{"username":"raelyan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15875457/medium/2f4fda1d1aaa5dcc79b328baf3f03151.jpeg"},{"username":"dolphin738","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15913763/medium/ee6fede7b8528ca642329ada80d1cc18.png"},{"username":"brunotco","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15916719/medium/09db45880fc05abc18adb8d932a5ecf9_default.png"},{"username":"LukeIsHereToDevelop","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15924739/medium/3e6cd3940297bb4ba7bb039c93e6f918.png"},{"username":"kennit","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15925879/medium/6b0733ad3c5949b91c55e4d8b03db8a5_default.png"},{"username":"kuunpire","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15950309/medium/8192a4f08f07086828ac9f74ed29a169.jpeg"},{"username":"Sandor-dev","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15951759/medium/0216c2da4eb028164ebbecf1c72f6271_default.png"},{"username":"Meierschlumpf","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15953187/medium/23c744faef1ab84fbdc9351a7850aab6.jpeg"},{"username":"harmlesscat","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15970733/medium/dd8d0214a0250c932bb518b1b55e45a2_default.png"},{"username":"OrzWTF","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15976121/medium/4c4557cbff7ff7b0503455bc59c020e0.jpeg"},{"username":"tagaishi","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15977271/medium/eade504c83a5a1ff831c80a538fbdb44_default.png"},{"username":"azurite928","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15981895/medium/547ccc459ee123e78b5401c499f1022d.png"},{"username":"Ronner231","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16021342/medium/7734d550df2de5a2fec2ffff33e7024c.jpeg"},{"username":"ugyes","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16034148/medium/ed001e3f470a2dea9a8ce955b18e7bd5.png"},{"username":"rpieja","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16045554/medium/bd55baca2ef8b92502a760cc9ee7c505_default.png"},{"username":"flambyisyou","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16051620/medium/3a3bc0c90f6b95ab4ef74396a0a17beb.png"},{"username":"Topbcy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16077170/medium/d3aed33ea56330338756cfcd89477cfe.jpeg"},{"username":"ai5d02sb","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16084674/medium/7c8119fe2a5ca71bb15f636916a42b95_default.png"},{"username":"explosiveparrot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16097722/medium/7762f80fc1da63f5b2eb87de9d640324_default.png"},{"username":"DestroyCom","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16111544/medium/83e3d3ac5c8bfed634cd1a074854db67.png"},{"username":"neotraxo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16116966/medium/b30df957873329019a8a90a69f6efe3a.png"},{"username":"gzxpa","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16123314/medium/487b05577310a946b0b98bc72c11213b_default.png"},{"username":"TORIK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16124732/medium/de770890e6411860ac06e8cc2dc0abd0_default.png"},{"username":"sergio.pibot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16138114/medium/80db802b2fcd6bbf19ea4c7413367dca.jpeg"},{"username":"karam-ajaj","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16139838/medium/7539ab958d3c85d5f67e7849483ea8f7.jpeg"},{"username":"SimonHenz97","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16151520/medium/9b94a85b536688e2d94538c384fd0a76.png"},{"username":"olsson82","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16198988/medium/eeaab4cba210c537424d4204754b604e.png"},{"username":"bo3bdo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16222806/medium/8652f3beacb6098dde5a4cd0a29fe80d.jpeg"},{"username":"AngryPlayer04","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16245192/medium/342715274f4dc31fd4132cdae9126188.jpeg"},{"username":"ehatamm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16245884/medium/979d5e5526fe545be9bf46db481f7182.jpeg"},{"username":"Balionelis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16246058/medium/986d62ba363594c517d966fe9178dcbb.png"},{"username":"kwargs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16248816/medium/19ce11f04bf1ae2637e0483399c675f9_default.png"},{"username":"lucicu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16273892/medium/3b09e8f3bead221ef98d6a45a16851dc_default.png"},{"username":"Michael5564445","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16357688/medium/9d9026a8bf3eaccb0417da240932ebf7.png"},{"username":"Netscream","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16359198/medium/694e0c8572dc8a47e6d63da31ec5b992.png"},{"username":"belicstefan04","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16368142/medium/4742dcfd7bf7ad7e33e37ac44fba7e0f.png"},{"username":"Hamad2066","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16371478/medium/f37bbc7685b6757defdbd1494236af61.jpeg"},{"username":"3ct0pl4sm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16399616/medium/ce796d1c40163975624c0a483e56374f.png"},{"username":"sanchez.marcell626","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16433865/medium/3ddde1314764cc2205ffdcd1ae719a91.png"},{"username":"Minoctis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16490079/medium/91fd0849303a4eca033d660d0a7b6854.jpeg"},{"username":"vittoriosoccorso","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16498805/medium/17086b2f1981f734edd1572f79c3158a.jpeg"},{"username":"Worgen325","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16533177/medium/4a62cc6b06095751aeb4b1b3e96db93f.png"},{"username":"homarr","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16657003/medium/3afabfd3de949a54ff5d40ad04552aba.png"},{"username":"mwgg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16658379/medium/763dd09f5c238cc5324d4d5357985292.png"},{"username":"dymek37","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16659221/medium/d1dc6d11d7e7fc370efc5070e837ae03.png"},{"username":"kiwinho","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16671855/medium/bfe3a2d497dc4748a04d02e4ae2139cb.jpeg"},{"username":"tjvg4m34r13","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16679135/medium/7a483b9b0abe0d925e54808e1cb38fa0.jpeg"},{"username":"Diegoem","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16705921/medium/29ce68ebc191fc3f65499511b12de98f_default.png"},{"username":"bouks69","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16746091/medium/b58b1fc08520de416198be9df5d093eb.jpeg"},{"username":"futhgar","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16748067/medium/b8c526b097f9aa9d687250cac3df16dc.jpeg"},{"username":"GrimSQL","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16764343/medium/fff729a76d1f8fbcdaee9bb0c0f5f3fd.png"},{"username":"chnikel","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16767047/medium/3dda2a37e03049dafefe6697bb00f75c.png"},{"username":"yuki19870616","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16767951/medium/f59c848e38382cda6c8464b0a7b9e642_default.png"},{"username":"noamdal","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16782245/medium/b4a72a61f9caf138f0322c0cb987e6d0.png"},{"username":"MalithRukshan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16809057/medium/084d6a5b35fbbeacc70e7021197d222f.png"},{"username":"minirope19","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16930929/medium/e8cbbc26747e31c5a8959215e1dd067b.jpeg"},{"username":"toineenzo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12371852/medium/9f1b2bedb4794c59479cd289bdba9fab.png"},{"username":"ArcaneWater","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12421105/medium/1ac82517a6c658f6b62c48aebcb17e86_default.png"},{"username":"SergiSvK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13320543/medium/3df3c79cc5f0c53716c559cd3fd2fc20.png"},{"username":"Cruellest","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13610615/medium/2a74faa0947ee08d18f7946fb8602c1e.jpg"},{"username":"Thario","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14491372/medium/dd5e142070802a672900121aa3f332a6_default.png"},{"username":"regi4","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14842936/medium/f7e1d672f562a7db61ba6b4b8f4de41d.png"},{"username":"baton5129","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14891064/medium/8d438f557b82977dd02f0ead3187265f.PNG"},{"username":"TheRedCyclops","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16486399/medium/7f39226180120d5a9efcb8e13d8aec8e_default.png"},{"username":"Larsluph","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16779933/medium/ed7d36f8b44013bad3a16ac0491bd0f7.png"},{"username":"FOEDI","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16781001/medium/6b4552fb72e359aa016f7a054078fac8.png"},{"username":"xmarkurion","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16805443/medium/34a20428427de5aaef99c7d140646803.png"},{"username":"gregid","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16806705/medium/f3c8f4a20436e8538929130142bbc104.png"},{"username":"Flameberg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16820453/medium/d47be866148474c9d05fec6fbe406d88.png"},{"username":"Playfust","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16872865/medium/5f4609cc711e5fb9fa8a0b178635769c.jpeg"},{"username":"Cotignac","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16879297/medium/81ff353edf030699a159bb79cda26e84.jpg"},{"username":"LeaHun","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16916375/medium/618520f0543b1e212ebc83d66b683d4b_default.png"},{"username":"jackwellerreal","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16919717/medium/37bbfdc03893f141133ccc619593266d.png"},{"username":"andrius.cim","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16967845/medium/46028fc1a0ddfaaeebcb37b39739625d_default.png"},{"username":"xjxexrxrxyx","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17041412/medium/d34d664166db6fb25579bca9ff3b50b4.jpeg"},{"username":"bilhal.fellah","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17044572/medium/d1ec6f17e4aa013e9eededc83778d2c6.png"},{"username":"the_octo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17058060/medium/7423ab3a4cabb67f5decb2e2dfa2b675_default.png"},{"username":"BamesJond","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17075846/medium/128d7ffd40254c8e376f45678e2fc620_default.png"}] \ No newline at end of file +[{"username":"carlchina","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/6697/medium/d22bbe7797bbeb30dbdc73a5648d329a_default.png"},{"username":"zielmann","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/7795/medium/ad22b8b8d5eb33e4154d53a454c862fd_default.png"},{"username":"Thalyn","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12494028/medium/5faf5acc945a874ed116c4567edaa09f_default.png"},{"username":"magnushj","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12503488/medium/68f32e33ea7b891960055c9f831f7344_default.png"},{"username":"almontegil","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12580457/medium/f4136cacbdfdb4c28ae7f85dc5f840db_default.png"},{"username":"Skick","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12619811/medium/0331f1de413a645b4516bc4e037f31bb.jpg"},{"username":"andibing","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12664938/medium/b8be63e4dcb2e791ced1ffc9e3a049a5.jpg"},{"username":"gronare","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12680911/medium/c6eb14d1504156f34a158e507f73aa3d_default.png"},{"username":"SmartPhoneLover","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12701640/medium/ec95486662ec875cda080e778c3ff702.jpg"},{"username":"marcelotk_15","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12773227/medium/ecf6bea16ab0c873c131df2154ee9718_default.png"},{"username":"S3OD177","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13051544/medium/11dd990837f61f7e8f7d36b041a7fddb_default.png"},{"username":"marcg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13153301/medium/ebcf60fbf27deb148ec40a659566c6ff_default.png"},{"username":"BeersTeddy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13185230/medium/2f1f4e1effe74a23422b195cbefb2a95_default.png"},{"username":"jamesmcmahon0","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13245578/medium/586aa873b4abddbd9abc6f3de99ab70e.jpeg"},{"username":"b1nar10","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13286752/medium/249b02e3368752cb175446082015737c_default.png"},{"username":"vannCN","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13330448/medium/9b8a9ee3611e51e951e22d5fd4eb7d8d.jpg"},{"username":"binswm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13343482/medium/45dde0e6097b9b72705d2eba9dbbc276_default.png"},{"username":"SkewRam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13496556/medium/188f5c2deb7938eda51eb786cc4539ca.jpeg"},{"username":"raphcatarino","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13547726/medium/b003511e67df13a4b4b5689488fa8099.jpg"},{"username":"shillos5","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13600557/medium/b17650b2b84f829d54fa548c44c1ab27.jpeg"},{"username":"wolong98","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13641407/medium/f4634edc58c7857a357e5293543c15cf.jpg"},{"username":"spair0039","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14012333/medium/72430e96027c09c19141cac38eae4617.png"},{"username":"MajorMarcin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14072183/medium/0a197e64bb92b6ea94cecbb607512c45.jpg"},{"username":"KosmoMoustache","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14103535/medium/51c438cdd9f86e8811c75f4869de479c.png"},{"username":"Soochaehwa","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14118689/medium/496a1ce63111547bf455a1e0a7ac75f1_default.png"},{"username":"garryfield","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14187035/medium/520c964706676045f6eeec1b08edc880.jpg"},{"username":"droidenko","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14444264/medium/4aa3a8e824f72bc9e5ec0d8de307095e.jpeg"},{"username":"maathis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14489950/medium/6eeddf13a757ee35f78f1763f94d95e1.jpeg"},{"username":"bukvam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14546502/medium/a819dc40a13c57395a17dc46e847d3ce.jpg"},{"username":"gm.cinalli","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14670666/medium/2d466a0fdbda40764526be86c97c0ab4.jpeg"},{"username":"antoine2tt","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14722148/medium/f88d926900862dd59007ea4b3419cb9d.png"},{"username":"cretzen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14799754/medium/3ba5c1805ec20c000d5810c07985afe9.jpg"},{"username":"ktKongTong","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14817246/medium/97cfc3c028dbdaf85ebd1102da71e58c.jpeg"},{"username":"Prototypem95","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14847666/medium/2cd318fce482ca828214f35c48d30f6e_default.png"},{"username":"marinkaberg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14861042/medium/2d5c4e62613f03082f3e645fa92efd59.jpeg"},{"username":"djismgaming","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14934947/medium/f5a8570713c34ab0f7d5405d105e2a9a.jpeg"},{"username":"f1refa11","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14949159/medium/fd2ae63b8eb4462200ba96abf943c1b9.png"},{"username":"jeffersonraimon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15057621/medium/6dff469563860e2618bc9d45646d0ab4.png"},{"username":"giop98","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15057987/medium/b8a4825d3fc39fc662f35ee258db4b2d.jpeg"},{"username":"tomislav.kraljevic","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15118857/medium/e133f1061cc92850b854d05d8faaeafd.png"},{"username":"Walkx","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15202182/medium/5c37361ae45aeed487b34582c1f7ca37.png"},{"username":"andrea.rosso","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15246318/medium/11f3f5ef44ec7f55b6f143090e208704_default.png"},{"username":"ajnart","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15270132/medium/a0f107a463c8910ee96bc2fa843a17e3.jpeg"},{"username":"Witchling","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15282238/medium/9e196b6783415b10ca571b7673c2ef33.jpg"},{"username":"guineuu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15292058/medium/22fbb758bda3b7805d50bf21d38f2c20.jpeg"},{"username":"Bulgus","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15304568/medium/0e8787e5ceb02ed5c96a514d0068ae87.jpg"},{"username":"Narno","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15314996/medium/a6ba093f24884250a1bf6c6f2ca50f1b_default.png"},{"username":"BySempron","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15315986/medium/e3d22d7b1423c6823a9f36d595ed4bdb.png"},{"username":"jonathan.berglin.work","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15359236/medium/95930b2093db13b76179782f7322c5d5.png"},{"username":"icdmkg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15405504/medium/f334d16cde1ac4ffb935b440d03465af.gif"},{"username":"irithys","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15405614/medium/3086461c47cce0a0c031925e5f943412.png"},{"username":"JannesV","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419912/medium/a7809eb4b817d7c49b62cf10ae86b950.png"},{"username":"benniblot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419914/medium/8086b1573d31f152ba41949b3a172445.jpeg"},{"username":"pacjo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419916/medium/3cbeddbd7bc01faafb5a3bf47bba915b_default.png"},{"username":"Payou6994","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419934/medium/37c9b9b17dfb578404c1c1ddb73ba7a8.png"},{"username":"fzibi21","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419976/medium/0da688450358e0290a7b7359cc1f7328.png"},{"username":"WowMurdock","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420118/medium/de19576fccb495b6dfe4c4c04a56b834.png"},{"username":"hbooo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420120/medium/6c7c7f8db785061356ebb03d044d3329.jpeg"},{"username":"Manicraft1001","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420178/medium/50ec94563a06a9f74f33bd09f01eed4d.jpg"},{"username":"Void123","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420354/medium/86929d44df92a00f9fe900a985c196df_default.png"},{"username":"R4cc","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15422606/medium/a390979662b84694f59de30bdb732141.jpeg"},{"username":"fabricionaweb","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15425808/medium/a9354142e7ae5152c144409d55fda551_default.png"},{"username":"JokeOfDead","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15426890/medium/a383eac9365e9de64fd4ab1d6fd0cb95.jpeg"},{"username":"hkz","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15427174/medium/c88acefb0d7306e1f7470e872029fb39_default.png"},{"username":"Steken","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15428516/medium/d5aea5653c769c3a523182bdb60d1664.png"},{"username":"flar.anton","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15428592/medium/b01fdb365d892e9f811f77fcb50a80a2.jpeg"},{"username":"Bon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15433542/medium/5397da4dfc821f20b6ac14fe0c514e9a.jpeg"},{"username":"bfkadan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15434162/medium/4f9a0b43cfe3acaea60124c14ba7f44a.png"},{"username":"BunnySweety","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15434662/medium/f0ef200a6a0dcf0e1d0e9ecd4148f560_default.png"},{"username":"HRKings","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15436168/medium/69a31e461d38549f01864e7ef10d642e.png"},{"username":"wiston81","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15439078/medium/10f292c8d12a7c21a44b54495fa4a3d8.jpeg"},{"username":"qaz0911","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15440860/medium/3d3e50ee388c72dc4bf7a771761f2d89_default.png"},{"username":"qqyule","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15441462/medium/7a3cdf82710ffb5d8f388bc0bd010665.png"},{"username":"Bims0n","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15445560/medium/603220b603eeb3367e0f0d3fa675247c.jpg"},{"username":"TariqDaCoder","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15446228/medium/50b0f4040112bbd67690b769477398e5_default.png"},{"username":"Anarchon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15449644/medium/e925e1f3e3ffbf0f982391ce263a1a28.jpeg"},{"username":"Ashun","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15453020/medium/ccdcf51c73d6aae40751bb30beee1915_default.png"},{"username":"sebekmartin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15454038/medium/bcfb44598cdfd1d7cd4eb35812538962.jpeg"},{"username":"RagnarGraves","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15459882/medium/143d5af850c1154070a218bea124e9cb_default.png"},{"username":"PrtmPhlp","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15462414/medium/b80db55e9de301432dcd1f8c8b24fd49_default.png"},{"username":"DooYoo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15470768/medium/2a18cf4be67094724b508c9e1e698a21_default.png"},{"username":"espentruls","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15486092/medium/8e38afc3a4ff669226a0cfd3e420ff3a.jpeg"},{"username":"frisco82","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15486922/medium/4e1c5d4189b42508e660daa3c1c25b2a.jpeg"},{"username":"lupineDK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15491798/medium/461bd501e8371c062bf29ea171aedd36_default.png"},{"username":"hillaliy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15492732/medium/0bae17b421604892d888e3fc70cf0587.jpeg"},{"username":"MarcOrfilaCarreras","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15501072/medium/ea52b26c3c6f21e4931e38e3ce3f3d6e.png"},{"username":"robertbridda","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15507822/medium/a368c2e30411bb2da9b49290084191f3.png"},{"username":"MKoniuszko","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15518090/medium/87605434fcc839f6763ab07c50f6d232.jpeg"},{"username":"HeroSizy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15518710/medium/4e79c0e98cbeb536dd961e656331b509.png"},{"username":"dwt136","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15520022/medium/554422503f2baea43ace85facb4546fb_default.png"},{"username":"asifthewebguy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15526719/medium/b18931dd0c800d725048bd440646198b_default.png"},{"username":"eiloogs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15545537/medium/f290a2f1190983530a9b76b2e858a609.gif"},{"username":"_vytdv","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15547289/medium/60d8644cc8ad6f11a92ccea4a14cd098_default.png"},{"username":"crendasien","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15554645/medium/598ab1d4aaf6b8dccd5ba16be92da7b9.jpeg"},{"username":"edxo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15573823/medium/8a565b732a75a77f840dd123cdb30bf4.png"},{"username":"somerlev","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15617065/medium/f4b13513e311ec902d90b2f718412c55.jpg"},{"username":"kid1412621","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15643771/medium/dd455e32de652fa88e6fd97598bdffa7.png"},{"username":"suming","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15644717/medium/244159dfe10fa03436205506f80c9e25.png"},{"username":"nick.gher","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15647517/medium/5374a2c6fef60a3fbf0edf86b997c351_default.png"},{"username":"DataCat","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15650315/medium/ce7c1365adf35c5d490d77500a4607fb_default.png"},{"username":"dizo89","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15658375/medium/0ca745e5017d491fe1b22b0239904de8.jpeg"},{"username":"tee_noodle","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15674577/medium/804d9cf06f5196026acb6436b809d0da_default.png"},{"username":"Marty88","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15674593/medium/492b1509d52bd2809dea768121217125.jpeg"},{"username":"Spillebulle","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15677023/medium/20b98bb85062e07afe0e63618f8a5feb.PNG"},{"username":"petitmewen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15685239/medium/15de9b62d2e0bc25013435f1784bbcc1.jpeg"},{"username":"NoProsNoNoobs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15687709/medium/ae8f65fafeb8bcf74dcb8871bbe46461.png"},{"username":"y.gybson","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15690777/medium/b5cb5d2d5768904ff6586c727e3a6c77.jpeg"},{"username":"inside90","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15704947/medium/c1355fcb30dd76f8e39d98d1d49f1c52.png"},{"username":"RJSkudra","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15709853/medium/c3abf2774913dc4e81fb261d36d7668c.png"},{"username":"binge203","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15713937/medium/77c1cfa4314673db80e6881fd9f64668.gif"},{"username":"Mailootje","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15714337/medium/743c3bc4ab1989966a375eeeec83d8b8.jpeg"},{"username":"tim-wiegers","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15719805/medium/08a96f064813350661cd6b20bf3d7d99.png"},{"username":"GkhnG","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15722911/medium/71a027caec489ef6ce82bcf1888329d0_default.png"},{"username":"Zoen-Millo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15760967/medium/9e956f11adc5b34f5636268b5c485dbf.jpg"},{"username":"HooinKyoma","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15792897/medium/9489f0a9b368e0e827ae758b740a2eed.jpeg"},{"username":"wathergeen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15794495/medium/a83b7fc80d180669ebfd6deb3544cfd0.png"},{"username":"MoeToo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15818233/medium/d35cd6953717706eaf20f6c143c62947.png"},{"username":"itodouble","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15836233/medium/e984caea18fb0673bf319fcf28cef649.png"},{"username":"loslocitos","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15847901/medium/fe30d12fd2cf38212f929e13b169f9ec.jpeg"},{"username":"Oversleep","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15849065/medium/06141f13a6d541d753f3c2f2947b8068_default.png"},{"username":"Beardy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15865139/medium/fca6b9d2b3f52e286d1568f52b83b6a0_default.png"},{"username":"raelyan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15875457/medium/2f4fda1d1aaa5dcc79b328baf3f03151.jpeg"},{"username":"dolphin738","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15913763/medium/ee6fede7b8528ca642329ada80d1cc18.png"},{"username":"brunotco","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15916719/medium/09db45880fc05abc18adb8d932a5ecf9_default.png"},{"username":"LukeIsHereToDevelop","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15924739/medium/3e6cd3940297bb4ba7bb039c93e6f918.png"},{"username":"kennit","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15925879/medium/6b0733ad3c5949b91c55e4d8b03db8a5_default.png"},{"username":"kuunpire","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15950309/medium/8192a4f08f07086828ac9f74ed29a169.jpeg"},{"username":"Sandor-dev","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15951759/medium/0216c2da4eb028164ebbecf1c72f6271_default.png"},{"username":"Meierschlumpf","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15953187/medium/23c744faef1ab84fbdc9351a7850aab6.jpeg"},{"username":"harmlesscat","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15970733/medium/dd8d0214a0250c932bb518b1b55e45a2_default.png"},{"username":"OrzWTF","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15976121/medium/4c4557cbff7ff7b0503455bc59c020e0.jpeg"},{"username":"tagaishi","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15977271/medium/eade504c83a5a1ff831c80a538fbdb44_default.png"},{"username":"azurite928","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15981895/medium/547ccc459ee123e78b5401c499f1022d.png"},{"username":"Ronner231","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16021342/medium/7734d550df2de5a2fec2ffff33e7024c.jpeg"},{"username":"ugyes","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16034148/medium/ed001e3f470a2dea9a8ce955b18e7bd5.png"},{"username":"rpieja","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16045554/medium/bd55baca2ef8b92502a760cc9ee7c505_default.png"},{"username":"flambyisyou","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16051620/medium/3a3bc0c90f6b95ab4ef74396a0a17beb.png"},{"username":"Topbcy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16077170/medium/d3aed33ea56330338756cfcd89477cfe.jpeg"},{"username":"ai5d02sb","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16084674/medium/7c8119fe2a5ca71bb15f636916a42b95_default.png"},{"username":"explosiveparrot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16097722/medium/7762f80fc1da63f5b2eb87de9d640324_default.png"},{"username":"DestroyCom","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16111544/medium/83e3d3ac5c8bfed634cd1a074854db67.png"},{"username":"neotraxo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16116966/medium/b30df957873329019a8a90a69f6efe3a.png"},{"username":"gzxpa","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16123314/medium/487b05577310a946b0b98bc72c11213b_default.png"},{"username":"TORIK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16124732/medium/de770890e6411860ac06e8cc2dc0abd0_default.png"},{"username":"sergio.pibot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16138114/medium/80db802b2fcd6bbf19ea4c7413367dca.jpeg"},{"username":"karam-ajaj","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16139838/medium/7539ab958d3c85d5f67e7849483ea8f7.jpeg"},{"username":"SimonHenz97","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16151520/medium/9b94a85b536688e2d94538c384fd0a76.png"},{"username":"olsson82","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16198988/medium/eeaab4cba210c537424d4204754b604e.png"},{"username":"bo3bdo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16222806/medium/8652f3beacb6098dde5a4cd0a29fe80d.jpeg"},{"username":"AngryPlayer04","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16245192/medium/342715274f4dc31fd4132cdae9126188.jpeg"},{"username":"ehatamm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16245884/medium/979d5e5526fe545be9bf46db481f7182.jpeg"},{"username":"Balionelis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16246058/medium/986d62ba363594c517d966fe9178dcbb.png"},{"username":"kwargs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16248816/medium/19ce11f04bf1ae2637e0483399c675f9_default.png"},{"username":"lucicu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16273892/medium/3b09e8f3bead221ef98d6a45a16851dc_default.png"},{"username":"Michael5564445","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16357688/medium/9d9026a8bf3eaccb0417da240932ebf7.png"},{"username":"Netscream","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16359198/medium/694e0c8572dc8a47e6d63da31ec5b992.png"},{"username":"belicstefan04","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16368142/medium/4742dcfd7bf7ad7e33e37ac44fba7e0f.png"},{"username":"Hamad2066","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16371478/medium/f37bbc7685b6757defdbd1494236af61.jpeg"},{"username":"3ct0pl4sm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16399616/medium/ce796d1c40163975624c0a483e56374f.png"},{"username":"sanchez.marcell626","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16433865/medium/3ddde1314764cc2205ffdcd1ae719a91.png"},{"username":"Minoctis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16490079/medium/91fd0849303a4eca033d660d0a7b6854.jpeg"},{"username":"vittoriosoccorso","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16498805/medium/17086b2f1981f734edd1572f79c3158a.jpeg"},{"username":"Worgen325","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16533177/medium/4a62cc6b06095751aeb4b1b3e96db93f.png"},{"username":"homarr","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16657003/medium/3afabfd3de949a54ff5d40ad04552aba.png"},{"username":"mwgg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16658379/medium/763dd09f5c238cc5324d4d5357985292.png"},{"username":"dymek37","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16659221/medium/d1dc6d11d7e7fc370efc5070e837ae03.png"},{"username":"kiwinho","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16671855/medium/bfe3a2d497dc4748a04d02e4ae2139cb.jpeg"},{"username":"tjvg4m34r13","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16679135/medium/7a483b9b0abe0d925e54808e1cb38fa0.jpeg"},{"username":"Diegoem","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16705921/medium/29ce68ebc191fc3f65499511b12de98f_default.png"},{"username":"bouks69","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16746091/medium/b58b1fc08520de416198be9df5d093eb.jpeg"},{"username":"futhgar","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16748067/medium/b8c526b097f9aa9d687250cac3df16dc.jpeg"},{"username":"GrimSQL","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16764343/medium/fff729a76d1f8fbcdaee9bb0c0f5f3fd.png"},{"username":"chnikel","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16767047/medium/3dda2a37e03049dafefe6697bb00f75c.png"},{"username":"yuki19870616","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16767951/medium/f59c848e38382cda6c8464b0a7b9e642_default.png"},{"username":"noamdal","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16782245/medium/b4a72a61f9caf138f0322c0cb987e6d0.png"},{"username":"MalithRukshan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16809057/medium/084d6a5b35fbbeacc70e7021197d222f.png"},{"username":"minirope19","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16930929/medium/e8cbbc26747e31c5a8959215e1dd067b.jpeg"},{"username":"toineenzo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12371852/medium/9f1b2bedb4794c59479cd289bdba9fab.png"},{"username":"ArcaneWater","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12421105/medium/1ac82517a6c658f6b62c48aebcb17e86_default.png"},{"username":"SergiSvK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13320543/medium/3df3c79cc5f0c53716c559cd3fd2fc20.png"},{"username":"Cruellest","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13610615/medium/2a74faa0947ee08d18f7946fb8602c1e.jpg"},{"username":"Thario","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14491372/medium/dd5e142070802a672900121aa3f332a6_default.png"},{"username":"regi4","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14842936/medium/f7e1d672f562a7db61ba6b4b8f4de41d.png"},{"username":"baton5129","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14891064/medium/8d438f557b82977dd02f0ead3187265f.PNG"},{"username":"TheRedCyclops","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16486399/medium/7f39226180120d5a9efcb8e13d8aec8e_default.png"},{"username":"B3CKDOOR","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16744975/medium/e6c7b2d45e76465d54e6efb67c83da7d.png"},{"username":"Larsluph","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16779933/medium/ed7d36f8b44013bad3a16ac0491bd0f7.png"},{"username":"FOEDI","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16781001/medium/6b4552fb72e359aa016f7a054078fac8.png"},{"username":"xmarkurion","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16805443/medium/34a20428427de5aaef99c7d140646803.png"},{"username":"gregid","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16806705/medium/f3c8f4a20436e8538929130142bbc104.png"},{"username":"Flameberg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16820453/medium/d47be866148474c9d05fec6fbe406d88.png"},{"username":"Playfust","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16872865/medium/5f4609cc711e5fb9fa8a0b178635769c.jpeg"},{"username":"Cotignac","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16879297/medium/81ff353edf030699a159bb79cda26e84.jpg"},{"username":"LeaHun","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16916375/medium/618520f0543b1e212ebc83d66b683d4b_default.png"},{"username":"jackwellerreal","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16919717/medium/37bbfdc03893f141133ccc619593266d.png"},{"username":"andrius.cim","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16967845/medium/46028fc1a0ddfaaeebcb37b39739625d_default.png"},{"username":"xjxexrxrxyx","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17041412/medium/d34d664166db6fb25579bca9ff3b50b4.jpeg"},{"username":"bilhal.fellah","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17044572/medium/d1ec6f17e4aa013e9eededc83778d2c6.png"},{"username":"the_octo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17058060/medium/7423ab3a4cabb67f5decb2e2dfa2b675_default.png"},{"username":"BamesJond","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17075846/medium/128d7ffd40254c8e376f45678e2fc620_default.png"}] \ No newline at end of file diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json index a54cefcae..90d95f67e 100644 --- a/tooling/eslint/package.json +++ b/tooling/eslint/package.json @@ -29,7 +29,7 @@ "devDependencies": { "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "eslint": "^9.26.0", + "eslint": "^9.27.0", "typescript": "^5.8.3" } } diff --git a/tooling/prettier/package.json b/tooling/prettier/package.json index f90ac8d84..2a4da73a6 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": "^2.5.13", + "prettier-plugin-packagejson": "^2.5.14", "typescript": "^5.8.3" } }