diff --git a/.github/actions/build-server/action.yml b/.github/actions/build-server/action.yml index 7e15f1e20..cc7eb0e87 100644 --- a/.github/actions/build-server/action.yml +++ b/.github/actions/build-server/action.yml @@ -10,7 +10,7 @@ runs: steps: - uses: pnpm/action-setup@v4 - name: Set up node & dependencies - uses: actions/setup-node@v4 + uses: actions/setup-node@v5 with: node-version: 22 cache: "pnpm" diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml new file mode 100644 index 000000000..6558788c8 --- /dev/null +++ b/.github/workflows/deploy-docs.yml @@ -0,0 +1,183 @@ +# GitHub Actions workflow for deploying MkDocs documentation to Cloudflare Pages +# This workflow builds and deploys your MkDocs site when changes are pushed to main +name: Deploy MkDocs Documentation + +on: + # Trigger on push to main branch + push: + branches: + - main + - master # Also support master branch + # Only run when docs files change + paths: + - 'docs/**' + - 'README.md' # README is synced to docs/index.md + - 'mkdocs.yml' + - 'requirements-docs.txt' + - '.github/workflows/deploy-docs.yml' + - 'scripts/fix-mkdocs-structure.ts' + + # Allow manual triggering from Actions tab + workflow_dispatch: + + # Run on pull requests for preview deployments + pull_request: + branches: + - main + - master + paths: + - 'docs/**' + - 'README.md' # README is synced to docs/index.md + - 'mkdocs.yml' + - 'requirements-docs.txt' + - '.github/workflows/deploy-docs.yml' + - 'scripts/fix-mkdocs-structure.ts' + +jobs: + build-and-deploy: + name: Build and Deploy MkDocs + runs-on: ubuntu-latest + timeout-minutes: 10 + + # Required permissions for deployment + permissions: + contents: read + deployments: write + pull-requests: write # For PR preview comments + id-token: write # For OIDC authentication (if needed) + + steps: + - name: Checkout Repository + uses: actions/checkout@v5 + with: + fetch-depth: 0 # Fetch all history for git info and mkdocs-git-revision-date plugin + + - name: Setup Python + uses: actions/setup-python@v6 + with: + python-version: '3.13' + cache: 'pip' + cache-dependency-path: 'requirements-docs.txt' + + - name: Install MkDocs and Dependencies + run: | + pip install --upgrade pip + pip install -r requirements-docs.txt + env: + PIP_DISABLE_PIP_VERSION_CHECK: 1 + + # Setup pnpm before fixing docs structure + - name: Setup pnpm + uses: pnpm/action-setup@v4 + + # Setup Node.js with pnpm + - name: Setup Node.js + uses: actions/setup-node@v5 + with: + node-version: '22' + cache: 'pnpm' + + # Install Node.js dependencies for the TypeScript script + - name: Install Dependencies + run: | + pnpm install --frozen-lockfile + + - name: Fix Documentation Structure + run: | + # Fix duplicate navigation entries by moving overview pages to index.md + pnpm run chore:fix-mkdocs-structure + + - name: Build MkDocs Site + run: | + # Build with strict mode but allow expected warnings + mkdocs build --verbose || { + EXIT_CODE=$? + # Check if the only issue is expected warnings + if mkdocs build 2>&1 | grep -E "WARNING.*(README|not found)" && \ + [ $(mkdocs build 2>&1 | grep -c "ERROR") -eq 0 ]; then + echo "✅ Build succeeded with expected warnings" + mkdocs build --verbose + else + echo "❌ Build failed with unexpected errors" + exit $EXIT_CODE + fi + } + + - name: Validate Built Site + run: | + # Basic validation that important files exist + test -f site/index.html || (echo "ERROR: site/index.html not found" && exit 1) + test -f site/sitemap.xml || (echo "ERROR: site/sitemap.xml not found" && exit 1) + test -d site/assets || (echo "ERROR: site/assets directory not found" && exit 1) + echo "✅ Site validation passed" + + # Install wrangler globally to avoid workspace issues + - name: Install Wrangler + run: | + npm install -g wrangler + + # Deploy using Wrangler (use pre-installed wrangler) + - name: Deploy to Cloudflare Pages + id: deploy + if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' + uses: cloudflare/wrangler-action@v3 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + command: pages deploy site --project-name=trilium-docs --branch=${{ github.ref_name }} + wranglerVersion: '' # Use pre-installed version + + # Deploy preview for PRs + - name: Deploy Preview to Cloudflare Pages + id: preview-deployment + if: github.event_name == 'pull_request' + uses: cloudflare/wrangler-action@v3 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + command: pages deploy site --project-name=trilium-docs --branch=pr-${{ github.event.pull_request.number }} + wranglerVersion: '' # Use pre-installed version + + # Post deployment URL as PR comment + - name: Comment PR with Preview URL + if: github.event_name == 'pull_request' + uses: actions/github-script@v8 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + const prNumber = context.issue.number; + // Construct preview URL based on Cloudflare Pages pattern + const previewUrl = `https://pr-${prNumber}.trilium-docs.pages.dev`; + const mainUrl = 'https://docs.triliumnotes.org'; + + // Check if we already commented + const comments = await github.rest.issues.listComments({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: prNumber + }); + + const botComment = comments.data.find(comment => + comment.user.type === 'Bot' && + comment.body.includes('Documentation preview is ready') + ); + + const commentBody = `📚 Documentation preview is ready!\n\n🔗 Preview URL: ${previewUrl}\n📖 Production URL: ${mainUrl}\n\n✅ All checks passed\n\n_This preview will be updated automatically with new commits._`; + + if (botComment) { + // Update existing comment + await github.rest.issues.updateComment({ + owner: context.repo.owner, + repo: context.repo.repo, + comment_id: botComment.id, + body: commentBody + }); + } else { + // Create new comment + await github.rest.issues.createComment({ + issue_number: prNumber, + owner: context.repo.owner, + repo: context.repo.repo, + body: commentBody + }); + } diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index c4789cb2c..ceed464c8 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -28,12 +28,15 @@ jobs: - uses: pnpm/action-setup@v4 - name: Set up node & dependencies - uses: actions/setup-node@v4 + uses: actions/setup-node@v5 with: node-version: 22 cache: "pnpm" - run: pnpm install --frozen-lockfile + - name: Typecheck + run: pnpm typecheck + - name: Run the unit tests run: pnpm run test:all diff --git a/.github/workflows/main-docker.yml b/.github/workflows/main-docker.yml index 7b2ee4ecd..a1b38782d 100644 --- a/.github/workflows/main-docker.yml +++ b/.github/workflows/main-docker.yml @@ -44,7 +44,7 @@ jobs: - uses: pnpm/action-setup@v4 - name: Set up node & dependencies - uses: actions/setup-node@v4 + uses: actions/setup-node@v5 with: node-version: 22 cache: "pnpm" @@ -144,7 +144,7 @@ jobs: uses: actions/checkout@v5 - uses: pnpm/action-setup@v4 - name: Set up node & dependencies - uses: actions/setup-node@v4 + uses: actions/setup-node@v5 with: node-version: 22 cache: 'pnpm' diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index d9edb2cc2..b6596ce60 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -51,7 +51,7 @@ jobs: - uses: actions/checkout@v5 - uses: pnpm/action-setup@v4 - name: Set up node & dependencies - uses: actions/setup-node@v4 + uses: actions/setup-node@v5 with: node-version: 22 cache: 'pnpm' diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 711aaaaeb..07ad94fd7 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -20,7 +20,7 @@ jobs: fetch-depth: 0 - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v4 + - uses: actions/setup-node@v5 with: node-version: 22 cache: 'pnpm' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 133d40622..2ec864826 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -35,7 +35,7 @@ jobs: - uses: actions/checkout@v5 - uses: pnpm/action-setup@v4 - name: Set up node & dependencies - uses: actions/setup-node@v4 + uses: actions/setup-node@v5 with: node-version: 22 cache: 'pnpm' diff --git a/.gitignore b/.gitignore index 66e9781f9..b2c4e3c46 100644 --- a/.gitignore +++ b/.gitignore @@ -45,4 +45,7 @@ upload *.tsbuildinfo /result -.svelte-kit \ No newline at end of file +.svelte-kit + +# docs +site/ diff --git a/_regroup/package.json b/_regroup/package.json index 01eeb1bf0..b61ea536a 100644 --- a/_regroup/package.json +++ b/_regroup/package.json @@ -38,10 +38,10 @@ "@playwright/test": "1.55.0", "@stylistic/eslint-plugin": "5.3.1", "@types/express": "5.0.3", - "@types/node": "22.18.0", + "@types/node": "22.18.1", "@types/yargs": "17.0.33", "@vitest/coverage-v8": "3.2.4", - "eslint": "9.34.0", + "eslint": "9.35.0", "eslint-plugin-simple-import-sort": "12.1.1", "esm": "3.2.25", "jsdoc": "4.0.4", diff --git a/apps/client/package.json b/apps/client/package.json index ca26c0b29..6a44db3e4 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -15,7 +15,7 @@ "circular-deps": "dpdm -T src/**/*.ts --tree=false --warning=false --skip-dynamic-imports=circular" }, "dependencies": { - "@eslint/js": "9.34.0", + "@eslint/js": "9.35.0", "@excalidraw/excalidraw": "0.18.0", "@fullcalendar/core": "6.1.19", "@fullcalendar/daygrid": "6.1.19", @@ -39,9 +39,9 @@ "dayjs-plugin-utc": "0.1.2", "debounce": "2.2.0", "draggabilly": "3.0.0", - "force-graph": "1.50.1", + "force-graph": "1.51.0", "globals": "16.3.0", - "i18next": "25.4.2", + "i18next": "25.5.2", "i18next-http-backend": "3.0.2", "jquery": "3.7.1", "jquery.fancytree": "2.38.5", @@ -52,7 +52,7 @@ "leaflet-gpx": "2.2.0", "mark.js": "8.11.1", "marked": "16.2.1", - "mermaid": "11.10.1", + "mermaid": "11.11.0", "mind-elixir": "5.0.6", "normalize.css": "8.0.1", "panzoom": "9.4.3", @@ -69,7 +69,7 @@ "@types/bootstrap": "5.2.10", "@types/jquery": "3.5.33", "@types/leaflet": "1.9.20", - "@types/leaflet-gpx": "1.3.7", + "@types/leaflet-gpx": "1.3.8", "@types/mark.js": "8.11.12", "@types/tabulator-tables": "6.2.10", "copy-webpack-plugin": "13.0.1", diff --git a/apps/client/src/stylesheets/theme-next-dark.css b/apps/client/src/stylesheets/theme-next-dark.css index 4edfd6e38..9b1bafaa8 100644 --- a/apps/client/src/stylesheets/theme-next-dark.css +++ b/apps/client/src/stylesheets/theme-next-dark.css @@ -13,6 +13,7 @@ --theme-style: dark; --native-titlebar-background: #00000000; + --window-background-color-bgfx: transparent; /* When background effects enabled */ --main-background-color: #272727; --main-text-color: #ccc; @@ -147,6 +148,7 @@ --launcher-pane-vert-button-hover-background: #ffffff1c; --launcher-pane-vert-button-hover-shadow: 4px 4px 4px rgba(0, 0, 0, 0.2); --launcher-pane-vert-button-focus-outline-color: var(--input-focus-outline-color); + --launcher-pane-vert-background-color-bgfx: #00000026; /* When background effects enabled */ --launcher-pane-horiz-border-color: rgb(22, 22, 22); --launcher-pane-horiz-background-color: #282828; @@ -155,6 +157,8 @@ --launcher-pane-horiz-button-hover-background: #ffffff1c; --launcher-pane-horiz-button-hover-shadow: unset; --launcher-pane-horiz-button-focus-outline-color: var(--input-focus-outline-color); + --launcher-pane-horiz-background-color-bgfx: #ffffff17; /* When background effects enabled */ + --launcher-pane-horiz-border-color-bgfx: #00000080; /* When background effects enabled */ --protected-session-active-icon-color: #8edd8e; --sync-status-error-pulse-color: #f47871; diff --git a/apps/client/src/stylesheets/theme-next-light.css b/apps/client/src/stylesheets/theme-next-light.css index 331de6d94..6456f2797 100644 --- a/apps/client/src/stylesheets/theme-next-light.css +++ b/apps/client/src/stylesheets/theme-next-light.css @@ -13,6 +13,7 @@ --theme-style: light; --native-titlebar-background: #ffffff00; + --window-background-color-bgfx: transparent; /* When background effects enabled */ --main-background-color: white; --main-text-color: black; @@ -121,11 +122,11 @@ --left-pane-collapsed-border-color: #0000000d; --left-pane-background-color: #f2f2f2; --left-pane-text-color: #383838; - --left-pane-item-hover-background: #eaeaea; + --left-pane-item-hover-background: rgba(0, 0, 0, 0.032); --left-pane-item-selected-background: white; --left-pane-item-selected-color: black; --left-pane-item-selected-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2); - --left-pane-item-action-button-background: #d7d7d7; + --left-pane-item-action-button-background: rgba(0, 0, 0, 0.11); --left-pane-item-action-button-color: inherit; --left-pane-item-action-button-hover-background: white; --left-pane-item-action-button-hover-shadow: 2px 2px 3px rgba(0, 0, 0, 0.15); @@ -141,6 +142,7 @@ --launcher-pane-vert-button-hover-background: white; --launcher-pane-vert-button-hover-shadow: 4px 4px 4px rgba(0, 0, 0, 0.075); --launcher-pane-vert-button-focus-outline-color: var(--input-focus-outline-color); + --launcher-pane-vert-background-color-bgfx: #00000009; /* When background effects enabled */ --launcher-pane-horiz-border-color: rgba(0, 0, 0, 0.1); --launcher-pane-horiz-background-color: #fafafa; @@ -148,6 +150,8 @@ --launcher-pane-horiz-button-hover-background: var(--icon-button-hover-background); --launcher-pane-horiz-button-hover-shadow: unset; --launcher-pane-horiz-button-focus-outline-color: var(--input-focus-outline-color); + --launcher-pane-horiz-background-color-bgfx: #ffffffb3; /* When background effects enabled */ + --launcher-pane-horiz-border-color-bgfx: #00000026; /* When background effects enabled */ --protected-session-active-icon-color: #16b516; --sync-status-error-pulse-color: #ff5528; diff --git a/apps/client/src/stylesheets/theme-next/shell.css b/apps/client/src/stylesheets/theme-next/shell.css index c709e457a..54a74ca77 100644 --- a/apps/client/src/stylesheets/theme-next/shell.css +++ b/apps/client/src/stylesheets/theme-next/shell.css @@ -36,31 +36,23 @@ body.mobile { /* #region Mica */ body.background-effects.platform-win32 { - --launcher-pane-horiz-border-color: rgba(0, 0, 0, 0.15); - --launcher-pane-horiz-background-color: rgba(255, 255, 255, 0.7); - --launcher-pane-vert-background-color: rgba(255, 255, 255, 0.055); - --tab-background-color: transparent; - --new-tab-button-background: transparent; - --active-tab-background-color: var(--launcher-pane-horiz-background-color); --background-material: tabbed; -} - -@media (prefers-color-scheme: dark) { - body.background-effects.platform-win32 { - --launcher-pane-horiz-border-color: rgba(0, 0, 0, 0.5); - --launcher-pane-horiz-background-color: rgba(255, 255, 255, 0.09); - } + --launcher-pane-horiz-border-color: var(--launcher-pane-horiz-border-color-bgfx); + --launcher-pane-horiz-background-color: var(--launcher-pane-horiz-background-color-bgfx); + --launcher-pane-vert-background-color: var(--launcher-pane-vert-background-color-bgfx); + --tab-background-color: var(--window-background-color-bgfx); + --new-tab-button-background: var(--window-background-color-bgfx); + --active-tab-background-color: var(--launcher-pane-horiz-background-color); } body.background-effects.platform-win32.layout-vertical { - --left-pane-background-color: transparent; - --left-pane-item-hover-background: rgba(127, 127, 127, 0.05); + --left-pane-background-color: var(--window-background-color-bgfx); --background-material: mica; } body.background-effects.platform-win32, body.background-effects.platform-win32 #root-widget { - background: transparent !important; + background: var(--window-background-color-bgfx) !important; } body.background-effects.platform-win32.layout-horizontal #horizontal-main-container, diff --git a/apps/client/src/translations/pl/translation.json b/apps/client/src/translations/pl/translation.json index 980ba7fa7..2d6e92e20 100644 --- a/apps/client/src/translations/pl/translation.json +++ b/apps/client/src/translations/pl/translation.json @@ -30,13 +30,16 @@ "search_note": "Wyszukaj notatkę po nazwie", "link_title_arbitrary": "Tytuł linku można dowolnie zmieniać", "link_title": "Tytuł linku", - "button_add_link": "Dodaj link" + "button_add_link": "Dodaj link", + "help_on_links": "Pomoc dotycząca linków", + "link_title_mirrors": "tytuł linku odzwierciedla tytuł obecnej notatki" }, "branch_prefix": { "save": "Zapisz", "edit_branch_prefix": "Edytuj prefiks gałęzi", "prefix": "Prefiks: ", - "branch_prefix_saved": "Zapisano prefiks gałęzi." + "branch_prefix_saved": "Zapisano prefiks gałęzi.", + "help_on_tree_prefix": "Pomoc dotycząca prefiksu drzewa" }, "bulk_actions": { "labels": "Etykiety", @@ -98,7 +101,8 @@ "prefix_optional": "Prefiks (opcjonalne)", "clone_to_selected_note": "Sklonuj do wybranej notatki", "no_path_to_clone_to": "Brak ścieżki do sklonowania.", - "note_cloned": "Notatka \"{{clonedTitle}}\" została sklonowana do \"{{targetTitle}}\"" + "note_cloned": "Notatka \"{{clonedTitle}}\" została sklonowana do \"{{targetTitle}}\"", + "help_on_links": "Pomoc dotycząca linków" }, "help": { "title": "Ściągawka", diff --git a/apps/server/package.json b/apps/server/package.json index 1056ebb96..7a70d0129 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -28,7 +28,7 @@ "better-sqlite3": "12.2.0" }, "devDependencies": { - "@anthropic-ai/sdk": "0.60.0", + "@anthropic-ai/sdk": "0.61.0", "@braintree/sanitize-url": "7.1.1", "@electron/remote": "2.1.3", "@preact/preset-vite": "2.10.2", @@ -88,7 +88,7 @@ "express": "5.1.0", "express-http-proxy": "2.1.1", "express-openid-connect": "^2.17.1", - "express-rate-limit": "8.0.1", + "express-rate-limit": "8.1.0", "express-session": "1.18.2", "file-uri-to-path": "2.0.0", "fs-extra": "11.3.1", @@ -97,7 +97,7 @@ "html2plaintext": "2.1.4", "http-proxy-agent": "7.0.2", "https-proxy-agent": "7.0.6", - "i18next": "25.4.2", + "i18next": "25.5.2", "i18next-fs-backend": "2.6.0", "image-type": "6.0.0", "ini": "5.0.0", diff --git a/apps/server/src/assets/translations/pl/server.json b/apps/server/src/assets/translations/pl/server.json index d2d72f874..fb90f4218 100644 --- a/apps/server/src/assets/translations/pl/server.json +++ b/apps/server/src/assets/translations/pl/server.json @@ -74,7 +74,8 @@ "zoom-out": "Pomniejsz", "zoom-in": "Powiększ", "print-active-note": "Drukuj aktywną notatkę", - "toggle-full-screen": "Przełącz pełny ekran" + "toggle-full-screen": "Przełącz pełny ekran", + "cut-into-note": "Wycina zaznaczony tekst i tworzy podrzędną notatkę z tym tekstem" }, "keyboard_action_names": { "zoom-in": "Powiększ", diff --git a/apps/server/src/routes/index.ts b/apps/server/src/routes/index.ts index 79a40f186..528e9e83e 100644 --- a/apps/server/src/routes/index.ts +++ b/apps/server/src/routes/index.ts @@ -5,7 +5,7 @@ import attributeService from "../services/attributes.js"; import config from "../services/config.js"; import optionService from "../services/options.js"; import log from "../services/log.js"; -import { isDev, isElectron } from "../services/utils.js"; +import { isDev, isElectron, isWindows11 } from "../services/utils.js"; import protectedSessionService from "../services/protected_session.js"; import packageJson from "../../package.json" with { type: "json" }; import assetPath from "../services/asset_path.js"; @@ -42,7 +42,7 @@ function index(req: Request, res: Response) { platform: process.platform, isElectron, hasNativeTitleBar: isElectron && options.nativeTitleBarVisible === "true", - hasBackgroundEffects: isElectron && options.backgroundEffects === "true", + hasBackgroundEffects: isElectron && isWindows11 && options.backgroundEffects === "true", mainFontSize: parseInt(options.mainFontSize), treeFontSize: parseInt(options.treeFontSize), detailFontSize: parseInt(options.detailFontSize), diff --git a/apps/server/src/services/utils.ts b/apps/server/src/services/utils.ts index 8f9893dff..78a8891c6 100644 --- a/apps/server/src/services/utils.ts +++ b/apps/server/src/services/utils.ts @@ -12,6 +12,9 @@ import path from "path"; import type NoteMeta from "./meta/note_meta.js"; import log from "./log.js"; import { t } from "i18next"; +import { release as osRelease } from "os"; + +const osVersion = osRelease().split('.').map(Number); const randtoken = generator({ source: "crypto" }); @@ -19,6 +22,8 @@ export const isMac = process.platform === "darwin"; export const isWindows = process.platform === "win32"; +export const isWindows11 = isWindows && osVersion[0] === 10 && osVersion[2] >= 22000; + export const isElectron = !!process.versions["electron"]; export const isDev = !!(process.env.TRILIUM_ENV && process.env.TRILIUM_ENV === "dev"); diff --git a/docs/.pages b/docs/.pages new file mode 100644 index 000000000..7ebf7a9e2 --- /dev/null +++ b/docs/.pages @@ -0,0 +1,7 @@ +# Navigation order for top-level sections +nav: + - index.md + - User Guide + - Developer Guide + - Script API + - Release Notes \ No newline at end of file diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 000000000..5675758ee --- /dev/null +++ b/docs/README.md @@ -0,0 +1,12 @@ +# Trilium Notes + +Please see the [main documentation](index.md) or visit one of our translated versions: + +- [Español](README.es.md) +- [Italiano](README.it.md) +- [日本語](README.ja.md) +- [Русский](README.ru.md) +- [简体中文](README-ZH_CN.md) +- [繁體中文](README-ZH_TW.md) + +For the full application README, please visit our [GitHub repository](https://github.com/triliumnext/trilium). \ No newline at end of file diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 000000000..5bf104216 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,94 @@ +# Trilium Notes Documentation + +Welcome to the official documentation for **Trilium Notes** - a hierarchical note-taking application with a focus on building large personal knowledge bases. + +![Trilium Notes Screenshot](app.png) + +## What is Trilium Notes? + +Trilium Notes is a powerful, feature-rich note-taking application designed for building and managing extensive personal knowledge bases. It offers: + +- **Hierarchical organization** with unlimited nesting of notes +- **Rich text editing** with markdown support +- **Powerful search** capabilities +- **Note relations** and attributes for semantic connections +- **Scripting support** for automation and customization +- **Synchronization** between devices +- **Encryption** for sensitive notes +- **Web clipper** for saving web content + +## Quick Links + +
+ +- :material-rocket-launch-outline: **[Quick Start Guide](User%20Guide/quick-start.md)** + + Get up and running with Trilium in minutes + +- :material-download: **[Installation](User%20Guide/installation.md)** + + Download and install Trilium on your platform + +- :material-docker: **[Docker Setup](User%20Guide/docker.md)** + + Deploy Trilium using Docker containers + +- :material-book-open-variant: **[User Guide](User%20Guide/index.md)** + + Comprehensive guide to all features + +- :material-code-braces: **[Script API](Script%20API/index.md)** + + Automate and extend Trilium with scripting + +- :material-wrench: **[Developer Guide](Developer%20Guide/index.md)** + + Contributing and development documentation + +
+ +## Features Overview + +### Note Organization +- Create unlimited hierarchical note structures +- Clone notes to appear in multiple locations +- Use attributes and relations for metadata +- Template system for consistent note creation + +### Content Types +- **Text notes** with rich formatting +- **Code notes** with syntax highlighting +- **Canvas notes** for drawing and diagrams +- **File attachments** of any type +- **Web view** for embedded content +- **Mermaid diagrams** support + +### Advanced Features +- **Full-text search** with advanced operators +- **Note map** visualization +- **Day notes** for journaling +- **Book notes** for long-form content +- **Protected notes** with encryption +- **Note versioning** and history + +### Automation & Integration +- JavaScript-based scripting +- Custom widgets and themes +- REST API for external integrations +- Web clipper browser extension +- Import/export in multiple formats + +## Getting Help + +- **[FAQ](support/faq.md)** - Frequently asked questions +- **[Troubleshooting](support/troubleshooting.md)** - Common issues and solutions +- **[Community Forum](https://github.com/triliumnext/trilium/discussions)** - Ask questions and share tips +- **[Issue Tracker](https://github.com/triliumnext/trilium/issues)** - Report bugs and request features + +## Contributing + +Trilium is open-source and welcomes contributions! Check out our [Contributing Guide](Developer%20Guide/contributing.md) to get started. + +## License + +Trilium Notes is licensed under [AGPL-3.0](https://github.com/triliumnext/trilium/blob/master/LICENSE). \ No newline at end of file diff --git a/docs/javascripts/extra.js b/docs/javascripts/extra.js new file mode 100644 index 000000000..f5c075755 --- /dev/null +++ b/docs/javascripts/extra.js @@ -0,0 +1,111 @@ +// Custom JavaScript for Trilium Notes documentation + +// Add smooth scrolling for anchor links +document.addEventListener('DOMContentLoaded', function() { + // Smooth scroll for internal links + document.querySelectorAll('a[href^="#"]').forEach(anchor => { + anchor.addEventListener('click', function (e) { + e.preventDefault(); + const target = document.querySelector(this.getAttribute('href')); + if (target) { + target.scrollIntoView({ + behavior: 'smooth', + block: 'start' + }); + } + }); + }); + + // Add copy button to code blocks if not already present + const codeBlocks = document.querySelectorAll('pre code'); + codeBlocks.forEach(block => { + if (!block.parentElement.querySelector('.copy-button')) { + const button = document.createElement('button'); + button.className = 'copy-button'; + button.textContent = 'Copy'; + button.addEventListener('click', () => { + navigator.clipboard.writeText(block.textContent); + button.textContent = 'Copied!'; + setTimeout(() => { + button.textContent = 'Copy'; + }, 2000); + }); + block.parentElement.appendChild(button); + } + }); + + // Add external link indicators + document.querySelectorAll('a[href^="http"]').forEach(link => { + if (!link.hostname.includes('trilium')) { + link.classList.add('external-link'); + link.setAttribute('target', '_blank'); + link.setAttribute('rel', 'noopener noreferrer'); + } + }); + + // Platform detection for download buttons + const platform = detectPlatform(); + const downloadButtons = document.querySelectorAll('.download-button'); + downloadButtons.forEach(button => { + if (button.dataset.platform === platform) { + button.classList.add('recommended'); + button.innerHTML += ' Recommended'; + } + }); +}); + +// Detect user's platform +function detectPlatform() { + const userAgent = navigator.userAgent.toLowerCase(); + if (userAgent.includes('win')) return 'windows'; + if (userAgent.includes('mac')) return 'macos'; + if (userAgent.includes('linux')) return 'linux'; + return 'unknown'; +} + +// Add search shortcuts +document.addEventListener('keydown', function(e) { + // Ctrl/Cmd + K to focus search + if ((e.ctrlKey || e.metaKey) && e.key === 'k') { + e.preventDefault(); + const searchInput = document.querySelector('.md-search__input'); + if (searchInput) { + searchInput.focus(); + } + } +}); + +// Version selector enhancement +const versionSelector = document.querySelector('.md-version__current'); +if (versionSelector) { + // Add version comparison tooltip + versionSelector.addEventListener('mouseenter', function() { + const tooltip = document.createElement('div'); + tooltip.className = 'version-tooltip'; + tooltip.textContent = 'Click to view other versions'; + this.appendChild(tooltip); + }); +} + +// Analytics event tracking for documentation +if (typeof gtag !== 'undefined') { + // Track external link clicks + document.querySelectorAll('a[href^="http"]').forEach(link => { + link.addEventListener('click', () => { + gtag('event', 'click', { + 'event_category': 'external_link', + 'event_label': link.href + }); + }); + }); + + // Track code copy events + document.querySelectorAll('.copy-button').forEach(button => { + button.addEventListener('click', () => { + gtag('event', 'copy_code', { + 'event_category': 'engagement', + 'event_label': window.location.pathname + }); + }); + }); +} \ No newline at end of file diff --git a/docs/javascripts/mathjax.js b/docs/javascripts/mathjax.js new file mode 100644 index 000000000..33ea4b928 --- /dev/null +++ b/docs/javascripts/mathjax.js @@ -0,0 +1,13 @@ +// MathJax configuration for mathematical notation support +window.MathJax = { + tex: { + inlineMath: [['$', '$'], ['\\(', '\\)']], + displayMath: [['$$', '$$'], ['\\[', '\\]']], + processEscapes: true, + processEnvironments: true + }, + options: { + ignoreHtmlClass: 'no-mathjax', + processHtmlClass: 'mathjax' + } +}; \ No newline at end of file diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css new file mode 100644 index 000000000..354beb509 --- /dev/null +++ b/docs/stylesheets/extra.css @@ -0,0 +1,121 @@ +/* Custom styles for Trilium Notes documentation */ + +/* Grid cards for homepage */ +.md-typeset .grid { + display: grid; + gap: 1rem; + grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); + margin-top: 1rem; +} + +.md-typeset .grid.cards > ul { + display: contents; +} + +.md-typeset .grid.cards > ul > li { + border: 1px solid var(--md-default-fg-color--lightest); + border-radius: .25rem; + display: flex; + flex-direction: column; + padding: 1rem; + transition: border-color .25s, box-shadow .25s; +} + +.md-typeset .grid.cards > ul > li:hover { + border-color: var(--md-accent-fg-color); + box-shadow: 0 0 0 .1rem var(--md-accent-fg-color--transparent); +} + +/* Improve code block appearance */ +.md-typeset pre > code { + font-size: .85rem; +} + +/* Better admonition spacing */ +.md-typeset .admonition { + margin: 1.5rem 0; +} + +/* Trilium brand colors */ +:root { + --trilium-primary: #4a5568; + --trilium-accent: #805ad5; +} + +/* Custom badge styles */ +.badge { + background-color: var(--md-accent-fg-color); + border-radius: .125rem; + color: var(--md-accent-bg-color); + display: inline-block; + font-size: .75rem; + font-weight: 700; + padding: .125rem .375rem; + text-transform: uppercase; +} + +/* Version badge */ +.version-badge { + background-color: var(--md-primary-fg-color); + margin-left: .5rem; +} + +/* Platform badges */ +.platform-badge { + margin: 0 .25rem; +} + +.platform-badge.windows { + background-color: #0078d4; +} + +.platform-badge.macos { + background-color: #000000; +} + +.platform-badge.linux { + background-color: #fcc624; + color: #000000; +} + +/* Improve table readability */ +.md-typeset table:not([class]) { + font-size: .85rem; +} + +.md-typeset table:not([class]) th { + background-color: var(--md-default-bg-color); + font-weight: 700; +} + +/* API reference styling */ +.api-method { + background-color: var(--md-code-bg-color); + border-radius: .125rem; + font-family: var(--md-code-font-family); + font-weight: 600; + padding: .125rem .25rem; +} + +.api-method.get { + color: #10b981; +} + +.api-method.post { + color: #3b82f6; +} + +.api-method.put { + color: #f59e0b; +} + +.api-method.delete { + color: #ef4444; +} + +/* Responsive improvements */ +@media screen and (max-width: 76.1875em) { + .md-typeset .grid { + grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); + } +} \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 000000000..3d787e9ed --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,191 @@ +# MkDocs configuration for Trilium Notes documentation +site_name: Trilium Notes Documentation +site_url: https://docs.triliumnext.com +site_description: Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases +site_author: Trilium Notes Team + +# Repository information +repo_name: triliumnext/trilium +repo_url: https://github.com/triliumnext/trilium +edit_uri: edit/main/docs/ + +# Copyright +copyright: Copyright © 2025 Trilium Notes + +# Use document-style URLs to fix image paths +use_directory_urls: false + +# Theme configuration +theme: + name: material + + # Color scheme + palette: + # Light mode + - media: "(prefers-color-scheme: light)" + scheme: default + primary: indigo + accent: deep-purple + toggle: + icon: material/brightness-7 + name: Switch to dark mode + + # Dark mode + - media: "(prefers-color-scheme: dark)" + scheme: slate + primary: blue-grey + accent: deep-purple + toggle: + icon: material/brightness-4 + name: Switch to light mode + + # Font configuration + font: + text: Inter + code: JetBrains Mono + + # Features + features: + - announce.dismiss + - content.action.edit + - content.action.view + - content.code.annotate + - content.code.copy + - content.tooltips + - navigation.footer + - navigation.indexes + - navigation.instant + - navigation.instant.prefetch + - navigation.instant.progress + - navigation.path + - navigation.prune + - navigation.sections + - navigation.tabs + - navigation.tabs.sticky + - navigation.top + - navigation.tracking + - search.highlight + - search.share + - search.suggest + - toc.follow + - toc.integrate + + # Icons + icon: + logo: material/note-multiple + repo: fontawesome/brands/github + +# Plugins +plugins: + - search: + separator: '[\s\-,:!=\[\]()"`/]+|\.(?!\d)|&[lg]t;|(?!\b)(?=[A-Z][a-z])' + lang: + - en + - awesome-pages: + collapse_single_pages: false + strict: false + order: asc + sort_type: natural + order_by: title + - minify: + minify_html: true + minify_js: true + minify_css: true + htmlmin_opts: + remove_comments: true + - git-revision-date-localized: + enable_creation_date: true + type: iso_datetime + fallback_to_build_date: true + +# Extensions +markdown_extensions: + # Python Markdown + - abbr + - admonition + - attr_list + - def_list + - footnotes + - md_in_html + - toc: + permalink: true + permalink_title: Anchor link to this section for reference + + # Python Markdown Extensions + - pymdownx.arithmatex: + generic: true + - pymdownx.betterem: + smart_enable: all + - pymdownx.caret + - pymdownx.details + - pymdownx.emoji: + emoji_index: !!python/name:material.extensions.emoji.twemoji + emoji_generator: !!python/name:material.extensions.emoji.to_svg + - pymdownx.highlight: + anchor_linenums: true + line_spans: __span + pygments_lang_class: true + - pymdownx.inlinehilite + - pymdownx.keys + - pymdownx.mark + - pymdownx.smartsymbols + - pymdownx.snippets + - pymdownx.superfences: + custom_fences: + - name: mermaid + class: mermaid + format: !!python/name:pymdownx.superfences.fence_code_format + - pymdownx.tabbed: + alternate_style: true + combine_header_slug: true + - pymdownx.tasklist: + custom_checkbox: true + - pymdownx.tilde + +# Extra CSS and JavaScript (if needed) +extra_css: + - stylesheets/extra.css + +extra_javascript: + - javascripts/extra.js + # MathJax for mathematical notation + - javascripts/mathjax.js + - https://unpkg.com/mathjax@3/es5/tex-mml-chtml.js + +# Extra configuration +extra: + # Social links + social: + - icon: fontawesome/brands/github + link: https://github.com/triliumnext/trilium + - icon: fontawesome/brands/docker + link: https://hub.docker.com/r/triliumnext/trilium + - icon: fontawesome/solid/globe + link: https://trilium.cc + + # Analytics (optional - add your own if needed) + analytics: + provider: google + property: G-XXXXXXXXXX # Replace with your Google Analytics ID + feedback: + title: Was this page helpful? + ratings: + - icon: material/emoticon-happy-outline + name: This page was helpful + data: 1 + note: >- + Thanks for your feedback! + - icon: material/emoticon-sad-outline + name: This page could be improved + data: 0 + note: >- + Thanks for your feedback! Help us improve this page by + opening an issue. + + # Version + version: + provider: mike + default: stable + +# Navigation is automatically generated from folder structure by awesome-pages plugin +# To customize order or titles, create .pages files in directories diff --git a/package.json b/package.json index 6eafcf347..6c00328d5 100644 --- a/package.json +++ b/package.json @@ -24,11 +24,13 @@ "chore:generate-openapi": "tsx ./scripts/generate-openapi.ts", "chore:update-build-info": "tsx ./scripts/update-build-info.ts", "chore:update-version": "tsx ./scripts/update-version.ts", + "chore:fix-mkdocs-structure": "tsx ./scripts/fix-mkdocs-structure.ts", "edit-docs:edit-docs": "pnpm run --filter edit-docs edit-docs", "edit-docs:edit-demo": "pnpm run --filter edit-docs edit-demo", "test:all": "pnpm test:parallel && pnpm test:sequential", "test:parallel": "pnpm --filter=!server --filter=!ckeditor5-mermaid --filter=!ckeditor5-math --parallel test", "test:sequential": "pnpm --filter=server --filter=ckeditor5-mermaid --filter=ckeditor5-math --sequential test", + "typecheck": "tsc --build", "postinstall": "tsx scripts/electron-rebuild.mts" }, "private": true, @@ -37,7 +39,7 @@ "@playwright/test": "^1.36.0", "@triliumnext/server": "workspace:*", "@types/express": "^5.0.0", - "@types/node": "22.18.0", + "@types/node": "22.18.1", "@vitest/coverage-v8": "^3.0.5", "@vitest/ui": "^3.0.0", "chalk": "5.6.0", @@ -85,7 +87,7 @@ "ckeditor5": "patches/ckeditor5.patch" }, "overrides": { - "mermaid": "11.10.1", + "mermaid": "11.11.0", "preact": "10.27.1", "roughjs": "4.6.6", "@types/express-serve-static-core": "5.0.7", diff --git a/packages/ckeditor5/package.json b/packages/ckeditor5/package.json index 2159a3517..13314f112 100644 --- a/packages/ckeditor5/package.json +++ b/packages/ckeditor5/package.json @@ -15,7 +15,7 @@ "ckeditor5-premium-features": "46.0.2" }, "devDependencies": { - "@smithy/middleware-retry": "4.1.20", + "@smithy/middleware-retry": "4.2.0", "@types/jquery": "3.5.33" } } diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index a6589b07a..35a39d36b 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -46,9 +46,10 @@ "@replit/codemirror-vim": "6.3.0", "@ssddanbrown/codemirror-lang-smarty": "1.0.0", "@ssddanbrown/codemirror-lang-twig": "1.0.0", + "@triliumnext/commons": "workspace:*", "codemirror-lang-elixir": "4.0.0", "codemirror-lang-hcl": "0.1.0", "codemirror-lang-mermaid": "0.5.0", - "eslint-linter-browserify": "9.34.0" + "eslint-linter-browserify": "9.35.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 958e78a77..242f0f66f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,7 +5,7 @@ settings: excludeLinksFromLockfile: false overrides: - mermaid: 11.10.1 + mermaid: 11.11.0 preact: 10.27.1 roughjs: 4.6.6 '@types/express-serve-static-core': 5.0.7 @@ -49,8 +49,8 @@ importers: specifier: ^5.0.0 version: 5.0.3 '@types/node': - specifier: 22.18.0 - version: 22.18.0 + specifier: 22.18.1 + version: 22.18.1 '@vitest/coverage-v8': specifier: ^3.0.5 version: 3.2.4(@vitest/browser@3.2.4)(vitest@3.2.4) @@ -71,16 +71,16 @@ importers: version: 0.25.9 eslint: specifier: ^9.8.0 - version: 9.34.0(jiti@2.5.1) + version: 9.35.0(jiti@2.5.1) eslint-config-prettier: specifier: ^10.0.0 - version: 10.1.8(eslint@9.34.0(jiti@2.5.1)) + version: 10.1.8(eslint@9.35.0(jiti@2.5.1)) eslint-plugin-playwright: specifier: ^2.0.0 - version: 2.2.2(eslint@9.34.0(jiti@2.5.1)) + version: 2.2.2(eslint@9.35.0(jiti@2.5.1)) eslint-plugin-react-hooks: specifier: 5.2.0 - version: 5.2.0(eslint@9.34.0(jiti@2.5.1)) + version: 5.2.0(eslint@9.35.0(jiti@2.5.1)) happy-dom: specifier: ~18.0.0 version: 18.0.1 @@ -98,7 +98,7 @@ importers: version: 0.17.0 rollup-plugin-webpack-stats: specifier: 2.1.4 - version: 2.1.4(rolldown@1.0.0-beta.29)(rollup@4.50.0)(vite@7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) + version: 2.1.4(rolldown@1.0.0-beta.29)(rollup@4.50.0)(vite@7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) tslib: specifier: ^2.3.0 version: 2.8.1 @@ -110,25 +110,25 @@ importers: version: 5.9.2 typescript-eslint: specifier: ^8.19.0 - version: 8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + version: 8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) upath: specifier: 2.0.1 version: 2.0.1 vite: specifier: ^7.0.0 - version: 7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + version: 7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) vite-plugin-dts: specifier: ~4.5.0 - version: 4.5.4(@types/node@22.18.0)(rollup@4.50.0)(typescript@5.9.2)(vite@7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) + version: 4.5.4(@types/node@22.18.1)(rollup@4.50.0)(typescript@5.9.2)(vite@7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) vitest: specifier: ^3.0.0 - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.0)(typescript@5.9.2))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.1)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.1)(typescript@5.9.2))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) apps/client: dependencies: '@eslint/js': - specifier: 9.34.0 - version: 9.34.0 + specifier: 9.35.0 + version: 9.35.0 '@excalidraw/excalidraw': specifier: 0.18.0 version: 0.18.0(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@16.14.0))(react@16.14.0) @@ -155,7 +155,7 @@ importers: version: 0.1.3(@types/leaflet@1.9.20)(leaflet@1.9.4)(maplibre-gl@5.6.1) '@mermaid-js/layout-elk': specifier: 0.1.9 - version: 0.1.9(mermaid@11.10.1) + version: 0.1.9(mermaid@11.11.0) '@mind-elixir/node-menu': specifier: 5.0.0 version: 5.0.0(mind-elixir@5.0.6) @@ -199,14 +199,14 @@ importers: specifier: 3.0.0 version: 3.0.0 force-graph: - specifier: 1.50.1 - version: 1.50.1 + specifier: 1.51.0 + version: 1.51.0 globals: specifier: 16.3.0 version: 16.3.0 i18next: - specifier: 25.4.2 - version: 25.4.2(typescript@5.9.2) + specifier: 25.5.2 + version: 25.5.2(typescript@5.9.2) i18next-http-backend: specifier: 3.0.2 version: 3.0.2(encoding@0.1.13) @@ -238,8 +238,8 @@ importers: specifier: 16.2.1 version: 16.2.1 mermaid: - specifier: 11.10.1 - version: 11.10.1 + specifier: 11.11.0 + version: 11.11.0 mind-elixir: specifier: 5.0.6 version: 5.0.6 @@ -254,7 +254,7 @@ importers: version: 10.27.1 react-i18next: specifier: 15.7.3 - version: 15.7.3(i18next@25.4.2(typescript@5.9.2))(react-dom@19.1.0(react@16.14.0))(react@16.14.0)(typescript@5.9.2) + version: 15.7.3(i18next@25.5.2(typescript@5.9.2))(react-dom@19.1.0(react@16.14.0))(react@16.14.0)(typescript@5.9.2) split.js: specifier: 1.6.5 version: 1.6.5 @@ -284,8 +284,8 @@ importers: specifier: 1.9.20 version: 1.9.20 '@types/leaflet-gpx': - specifier: 1.3.7 - version: 1.3.7 + specifier: 1.3.8 + version: 1.3.8 '@types/mark.js': specifier: 8.11.12 version: 8.11.12 @@ -450,8 +450,8 @@ importers: version: 12.2.0 devDependencies: '@anthropic-ai/sdk': - specifier: 0.60.0 - version: 0.60.0 + specifier: 0.61.0 + version: 0.61.0 '@braintree/sanitize-url': specifier: 7.1.1 version: 7.1.1 @@ -630,8 +630,8 @@ importers: specifier: ^2.17.1 version: 2.19.2(express@5.1.0) express-rate-limit: - specifier: 8.0.1 - version: 8.0.1(express@5.1.0) + specifier: 8.1.0 + version: 8.1.0(express@5.1.0) express-session: specifier: 1.18.2 version: 1.18.2 @@ -657,8 +657,8 @@ importers: specifier: 7.0.6 version: 7.0.6 i18next: - specifier: 25.4.2 - version: 25.4.2(typescript@5.9.2) + specifier: 25.5.2 + version: 25.5.2(typescript@5.9.2) i18next-fs-backend: specifier: 2.6.0 version: 2.6.0 @@ -776,52 +776,52 @@ importers: devDependencies: '@eslint/compat': specifier: ^1.2.5 - version: 1.3.2(eslint@9.34.0(jiti@2.5.1)) + version: 1.3.2(eslint@9.35.0(jiti@2.5.1)) '@eslint/js': specifier: ^9.18.0 - version: 9.34.0 + version: 9.35.0 '@sveltejs/adapter-auto': specifier: ^6.0.0 - version: 6.1.0(@sveltejs/kit@2.37.0(@sveltejs/vite-plugin-svelte@6.1.4(svelte@5.38.6)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.6)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))) + version: 6.1.0(@sveltejs/kit@2.37.1(@sveltejs/vite-plugin-svelte@6.1.4(svelte@5.38.7)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.7)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))) '@sveltejs/kit': specifier: ^2.16.0 - version: 2.37.0(@sveltejs/vite-plugin-svelte@6.1.4(svelte@5.38.6)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.6)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) + version: 2.37.1(@sveltejs/vite-plugin-svelte@6.1.4(svelte@5.38.7)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.7)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) '@sveltejs/vite-plugin-svelte': specifier: ^6.0.0 - version: 6.1.4(svelte@5.38.6)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) + version: 6.1.4(svelte@5.38.7)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) '@tailwindcss/typography': specifier: ^0.5.15 - version: 0.5.16(tailwindcss@4.1.12) + version: 0.5.16(tailwindcss@4.1.13) '@tailwindcss/vite': specifier: ^4.0.0 - version: 4.1.12(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) + version: 4.1.13(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) eslint: specifier: ^9.18.0 - version: 9.34.0(jiti@2.5.1) + version: 9.35.0(jiti@2.5.1) eslint-plugin-svelte: specifier: ^3.0.0 - version: 3.12.0(eslint@9.34.0(jiti@2.5.1))(svelte@5.38.6)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.3.0)(typescript@5.9.2)) + version: 3.12.1(eslint@9.35.0(jiti@2.5.1))(svelte@5.38.7)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.3.0)(typescript@5.9.2)) globals: specifier: ^16.0.0 version: 16.3.0 mdsvex: specifier: ^0.12.3 - version: 0.12.6(svelte@5.38.6) + version: 0.12.6(svelte@5.38.7) svelte: specifier: ^5.0.0 - version: 5.38.6 + version: 5.38.7 svelte-check: specifier: ^4.0.0 - version: 4.3.1(picomatch@4.0.3)(svelte@5.38.6)(typescript@5.9.2) + version: 4.3.1(picomatch@4.0.3)(svelte@5.38.7)(typescript@5.9.2) tailwindcss: specifier: ^4.0.0 - version: 4.1.12 + version: 4.1.13 typescript: specifier: ^5.0.0 version: 5.9.2 typescript-eslint: specifier: ^8.20.0 - version: 8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + version: 8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) vite: specifier: ^7.0.0 version: 7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) @@ -851,8 +851,8 @@ importers: version: 46.0.2(bufferutil@4.0.9)(ckeditor5@46.0.2(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5) devDependencies: '@smithy/middleware-retry': - specifier: 4.1.20 - version: 4.1.20 + specifier: 4.2.0 + version: 4.2.0 '@types/jquery': specifier: 3.5.33 version: 3.5.33 @@ -867,16 +867,16 @@ importers: version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.0)(bufferutil@4.0.9)(esbuild@0.25.9)(utf-8-validate@6.0.5) + version: 4.0.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.1)(bufferutil@4.0.9)(esbuild@0.25.9)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.42.0 - version: 8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + version: 8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + version: 8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.0)(typescript@5.9.2))(playwright@1.55.0)(utf-8-validate@6.0.5)(vite@7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.19.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.1)(typescript@5.9.2))(playwright@1.55.0)(utf-8-validate@6.0.5)(vite@7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.19.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -885,10 +885,10 @@ importers: version: 46.0.2(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) eslint: specifier: ^9.0.0 - version: 9.34.0(jiti@2.5.1) + version: 9.35.0(jiti@2.5.1) eslint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.1.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + version: 12.1.1(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) http-server: specifier: ^14.1.0 version: 14.1.1 @@ -903,16 +903,16 @@ importers: version: 12.1.1(stylelint@16.23.1(typescript@5.9.2)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.0)(typescript@5.9.2) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.1)(typescript@5.9.2) typescript: specifier: 5.9.2 version: 5.9.2 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.9.2)(vite@7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) + version: 2.0.0(typescript@5.9.2)(vite@7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.0)(typescript@5.9.2))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.1)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.1)(typescript@5.9.2))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) webdriverio: specifier: ^9.0.7 version: 9.19.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -927,16 +927,16 @@ importers: version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.0)(bufferutil@4.0.9)(esbuild@0.25.9)(utf-8-validate@6.0.5) + version: 4.0.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.1)(bufferutil@4.0.9)(esbuild@0.25.9)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.42.0 - version: 8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + version: 8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + version: 8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.0)(typescript@5.9.2))(playwright@1.55.0)(utf-8-validate@6.0.5)(vite@7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.19.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.1)(typescript@5.9.2))(playwright@1.55.0)(utf-8-validate@6.0.5)(vite@7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.19.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -945,10 +945,10 @@ importers: version: 46.0.2(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) eslint: specifier: ^9.0.0 - version: 9.34.0(jiti@2.5.1) + version: 9.35.0(jiti@2.5.1) eslint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.1.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + version: 12.1.1(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) http-server: specifier: ^14.1.0 version: 14.1.1 @@ -963,16 +963,16 @@ importers: version: 12.1.1(stylelint@16.23.1(typescript@5.9.2)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.0)(typescript@5.9.2) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.1)(typescript@5.9.2) typescript: specifier: 5.9.2 version: 5.9.2 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.9.2)(vite@7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) + version: 2.0.0(typescript@5.9.2)(vite@7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.0)(typescript@5.9.2))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.1)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.1)(typescript@5.9.2))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) webdriverio: specifier: ^9.0.7 version: 9.19.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -987,16 +987,16 @@ importers: version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.0)(bufferutil@4.0.9)(esbuild@0.25.9)(utf-8-validate@6.0.5) + version: 4.0.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.1)(bufferutil@4.0.9)(esbuild@0.25.9)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.42.0 - version: 8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + version: 8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + version: 8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.0)(typescript@5.9.2))(playwright@1.55.0)(utf-8-validate@6.0.5)(vite@7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.19.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.1)(typescript@5.9.2))(playwright@1.55.0)(utf-8-validate@6.0.5)(vite@7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.19.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -1005,10 +1005,10 @@ importers: version: 46.0.2(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) eslint: specifier: ^9.0.0 - version: 9.34.0(jiti@2.5.1) + version: 9.35.0(jiti@2.5.1) eslint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.1.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + version: 12.1.1(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) http-server: specifier: ^14.1.0 version: 14.1.1 @@ -1023,16 +1023,16 @@ importers: version: 12.1.1(stylelint@16.23.1(typescript@5.9.2)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.0)(typescript@5.9.2) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.1)(typescript@5.9.2) typescript: specifier: 5.9.2 version: 5.9.2 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.9.2)(vite@7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) + version: 2.0.0(typescript@5.9.2)(vite@7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.0)(typescript@5.9.2))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.1)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.1)(typescript@5.9.2))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) webdriverio: specifier: ^9.0.7 version: 9.19.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -1054,16 +1054,16 @@ importers: version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.0)(bufferutil@4.0.9)(esbuild@0.25.9)(utf-8-validate@6.0.5) + version: 4.0.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.1)(bufferutil@4.0.9)(esbuild@0.25.9)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.42.0 - version: 8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + version: 8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + version: 8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.0)(typescript@5.9.2))(playwright@1.55.0)(utf-8-validate@6.0.5)(vite@7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.19.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.1)(typescript@5.9.2))(playwright@1.55.0)(utf-8-validate@6.0.5)(vite@7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.19.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -1072,10 +1072,10 @@ importers: version: 46.0.2(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) eslint: specifier: ^9.0.0 - version: 9.34.0(jiti@2.5.1) + version: 9.35.0(jiti@2.5.1) eslint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.1.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + version: 12.1.1(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) http-server: specifier: ^14.1.0 version: 14.1.1 @@ -1090,16 +1090,16 @@ importers: version: 12.1.1(stylelint@16.23.1(typescript@5.9.2)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.0)(typescript@5.9.2) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.1)(typescript@5.9.2) typescript: specifier: 5.9.2 version: 5.9.2 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.9.2)(vite@7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) + version: 2.0.0(typescript@5.9.2)(vite@7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.0)(typescript@5.9.2))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.1)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.1)(typescript@5.9.2))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) webdriverio: specifier: ^9.0.7 version: 9.19.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -1121,16 +1121,16 @@ importers: version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.0)(bufferutil@4.0.9)(esbuild@0.25.9)(utf-8-validate@6.0.5) + version: 4.0.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.1)(bufferutil@4.0.9)(esbuild@0.25.9)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.42.0 - version: 8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + version: 8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + version: 8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.0)(typescript@5.9.2))(playwright@1.55.0)(utf-8-validate@6.0.5)(vite@7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.19.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.1)(typescript@5.9.2))(playwright@1.55.0)(utf-8-validate@6.0.5)(vite@7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.19.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -1139,10 +1139,10 @@ importers: version: 46.0.2(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) eslint: specifier: ^9.0.0 - version: 9.34.0(jiti@2.5.1) + version: 9.35.0(jiti@2.5.1) eslint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.1.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + version: 12.1.1(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) http-server: specifier: ^14.1.0 version: 14.1.1 @@ -1157,16 +1157,16 @@ importers: version: 12.1.1(stylelint@16.23.1(typescript@5.9.2)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.0)(typescript@5.9.2) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.1)(typescript@5.9.2) typescript: specifier: 5.9.2 version: 5.9.2 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.9.2)(vite@7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) + version: 2.0.0(typescript@5.9.2)(vite@7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.0)(typescript@5.9.2))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.1)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.1)(typescript@5.9.2))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) webdriverio: specifier: ^9.0.7 version: 9.19.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -1296,6 +1296,9 @@ importers: '@ssddanbrown/codemirror-lang-twig': specifier: 1.0.0 version: 1.0.0 + '@triliumnext/commons': + specifier: workspace:* + version: link:../commons codemirror-lang-elixir: specifier: 4.0.0 version: 4.0.0 @@ -1306,8 +1309,8 @@ importers: specifier: 0.5.0 version: 0.5.0 eslint-linter-browserify: - specifier: 9.34.0 - version: 9.34.0 + specifier: 9.35.0 + version: 9.35.0 packages/commons: {} @@ -1345,10 +1348,10 @@ importers: version: 5.21.1 '@typescript-eslint/eslint-plugin': specifier: ^8.0.0 - version: 8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + version: 8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + version: 8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) dotenv: specifier: ^17.0.0 version: 17.2.2 @@ -1357,7 +1360,7 @@ importers: version: 0.25.9 eslint: specifier: ^9.0.0 - version: 9.34.0(jiti@2.5.1) + version: 9.35.0(jiti@2.5.1) highlight.js: specifier: ^11.8.0 version: 11.11.1 @@ -1380,14 +1383,14 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@antfu/install-pkg@1.0.0': - resolution: {integrity: sha512-xvX6P/lo1B3ej0OsaErAjqgFYzYVcJpamjLAFLYh9vRJngBrMoUG7aVnrGTeqM7yxbyTD5p3F2+0/QUEh8Vzhw==} + '@antfu/install-pkg@1.1.0': + resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} - '@antfu/utils@8.1.1': - resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==} + '@antfu/utils@9.2.0': + resolution: {integrity: sha512-Oq1d9BGZakE/FyoEtcNeSwM7MpDO2vUBi11RWBZXf75zPsbUVWmUs03EqkRFrcgbXyKTas0BdZWC1wcuSoqSAw==} - '@anthropic-ai/sdk@0.60.0': - resolution: {integrity: sha512-9zu/TXaUy8BZhXedDtt1wT3H4LOlpKDO1/ftiFpeR3N1PCr3KJFKkxxlQWWt1NNp08xSwUNJ3JNY8yhl8av6eQ==} + '@anthropic-ai/sdk@0.61.0': + resolution: {integrity: sha512-GnlOXrPxow0uoaVB3DGNh9EJBU1MyagCBCLpU+bwDVlj/oOPYIwoiasMWlykkfYcQOrDP2x/zHnRD0xN7PeZPw==} hasBin: true '@apidevtools/json-schema-ref-parser@9.1.2': @@ -1627,6 +1630,10 @@ packages: resolution: {integrity: sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==} engines: {node: '>=6.9.0'} + '@babel/runtime@7.28.4': + resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} + engines: {node: '>=6.9.0'} + '@babel/template@7.27.0': resolution: {integrity: sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==} engines: {node: '>=6.9.0'} @@ -2461,8 +2468,8 @@ packages: resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.34.0': - resolution: {integrity: sha512-EoyvqQnBNsV1CWaEJ559rxXL4c8V92gxirbawSmVUOWXlsRxxQXl6LmCpdUblgxgSkDIqKnhzba2SjRTI/A5Rw==} + '@eslint/js@9.35.0': + resolution: {integrity: sha512-30iXE9whjlILfWobBkNerJo+TXYsgVM5ERQwMcMKCHckHflCmf7wXDAHlARoWnh0s1U72WqlbeyE7iAcCzuCPw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/markdown@6.6.0': @@ -2750,18 +2757,14 @@ packages: resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} - '@humanfs/node@0.16.6': - resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + '@humanfs/node@0.16.7': + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} engines: {node: '>=18.18.0'} '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/retry@0.3.1': - resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} - engines: {node: '>=18.18'} - '@humanwhocodes/retry@0.4.3': resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} @@ -2769,8 +2772,8 @@ packages: '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - '@iconify/utils@2.3.0': - resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==} + '@iconify/utils@3.0.1': + resolution: {integrity: sha512-A78CUEnFGX8I/WlILxJCuIJXloL0j/OJ9PSchPAfCargEIKmUBWvvEMmKWB5oONwiUqlNt+5eRufdkLxeHIWYw==} '@inlang/paraglide-js@2.2.0': resolution: {integrity: sha512-pkpXu1LanvpcAbvpVPf7PgF11Uq7DliSEBngrcUN36l4ZOOpzn3QBTvVr/tJxvks0O67WseQgiMHet8KH7Oz5A==} @@ -3128,7 +3131,7 @@ packages: '@mermaid-js/layout-elk@0.1.9': resolution: {integrity: sha512-HuvaqFZBr6yT9PpWYockvKAZPJVd89yn/UjOYPxhzbZxlybL2v+2BjVCg7MVH6vRs1irUohb/s42HEdec1CCZw==} peerDependencies: - mermaid: 11.10.1 + mermaid: 11.11.0 '@mermaid-js/parser@0.6.2': resolution: {integrity: sha512-+PO02uGF6L6Cs0Bw8RpGhikVvMWEysfAyl27qTlroUB8jSWr1lL0Sf6zi78ZxlSnmgSY2AMMKVgghnN9jTtwkQ==} @@ -4144,10 +4147,18 @@ packages: resolution: {integrity: sha512-jcrqdTQurIrBbUm4W2YdLVMQDoL0sA9DTxYd2s+R/y+2U9NLOP7Xf/YqfSg1FZhlZIYEnvk2mwbyvIfdLEPo8g==} engines: {node: '>=18.0.0'} + '@smithy/abort-controller@4.1.0': + resolution: {integrity: sha512-wEhSYznxOmx7EdwK1tYEWJF5+/wmSFsff9BfTOn8oO/+KPl3gsmThrb6MJlWbOC391+Ya31s5JuHiC2RlT80Zg==} + engines: {node: '>=18.0.0'} + '@smithy/config-resolver@4.1.4': resolution: {integrity: sha512-prmU+rDddxHOH0oNcwemL+SwnzcG65sBF2yXRO7aeXIn/xTlq2pX7JLVbkBnVLowHLg4/OL4+jBmv9hVrVGS+w==} engines: {node: '>=18.0.0'} + '@smithy/core@3.10.0': + resolution: {integrity: sha512-bXyD3Ij6b1qDymEYlEcF+QIjwb9gObwZNaRjETJsUEvSIzxFdynSQ3E4ysY7lUFSBzeWBNaFvX+5A0smbC2q6A==} + engines: {node: '>=18.0.0'} + '@smithy/core@3.9.0': resolution: {integrity: sha512-B/GknvCfS3llXd/b++hcrwIuqnEozQDnRL4sBmOac5/z/dr0/yG1PURNPOyU4Lsiy1IyTj8scPxVqRs5dYWf6A==} engines: {node: '>=18.0.0'} @@ -4184,6 +4195,10 @@ packages: resolution: {integrity: sha512-61WjM0PWmZJR+SnmzaKI7t7G0UkkNFboDpzIdzSoy7TByUzlxo18Qlh9s71qug4AY4hlH/CwXdubMtkcNEb/sQ==} engines: {node: '>=18.0.0'} + '@smithy/fetch-http-handler@5.2.0': + resolution: {integrity: sha512-VZenjDdVaUGiy3hwQtxm75nhXZrhFG+3xyL93qCQAlYDyhT/jeDWM8/3r5uCFMlTmmyrIjiDyiOynVFchb0BSg==} + engines: {node: '>=18.0.0'} + '@smithy/hash-node@4.0.4': resolution: {integrity: sha512-qnbTPUhCVnCgBp4z4BUJUhOEkVwxiEi1cyFM+Zj6o+aY8OFGxUQleKWq8ltgp3dujuhXojIvJWdoqpm6dVO3lQ==} engines: {node: '>=18.0.0'} @@ -4200,6 +4215,10 @@ packages: resolution: {integrity: sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==} engines: {node: '>=18.0.0'} + '@smithy/is-array-buffer@4.1.0': + resolution: {integrity: sha512-ePTYUOV54wMogio+he4pBybe8fwg4sDvEVDBU8ZlHOZXbXK3/C0XfJgUCu6qAZcawv05ZhZzODGUerFBPsPUDQ==} + engines: {node: '>=18.0.0'} + '@smithy/middleware-content-length@4.0.4': resolution: {integrity: sha512-F7gDyfI2BB1Kc+4M6rpuOLne5LOcEknH1n6UQB69qv+HucXBR1rkzXBnQTB2q46sFy1PM/zuSJOB532yc8bg3w==} engines: {node: '>=18.0.0'} @@ -4208,8 +4227,12 @@ packages: resolution: {integrity: sha512-EAlEPncqo03siNZJ9Tm6adKCQ+sw5fNU8ncxWwaH0zTCwMPsgmERTi6CEKaermZdgJb+4Yvh0NFm36HeO4PGgQ==} engines: {node: '>=18.0.0'} - '@smithy/middleware-retry@4.1.20': - resolution: {integrity: sha512-T3maNEm3Masae99eFdx1Q7PIqBBEVOvRd5hralqKZNeIivnoGNx5OFtI3DiZ5gCjUkl0mNondlzSXeVxkinh7Q==} + '@smithy/middleware-endpoint@4.2.0': + resolution: {integrity: sha512-J1eCF7pPDwgv7fGwRd2+Y+H9hlIolF3OZ2PjptonzzyOXXGh/1KGJAHpEcY1EX+WLlclKu2yC5k+9jWXdUG4YQ==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-retry@4.2.0': + resolution: {integrity: sha512-raL5oWYf5ALl3jCJrajE8enKJEnV/2wZkKS6mb3ZRY2tg3nj66ssdWy5Ps8E6Yu8Wqh3Tt+Sb9LozjvwZupq+A==} engines: {node: '>=18.0.0'} '@smithy/middleware-serde@4.0.8': @@ -4220,14 +4243,26 @@ packages: resolution: {integrity: sha512-uAFFR4dpeoJPGz8x9mhxp+RPjo5wW0QEEIPPPbLXiRRWeCATf/Km3gKIVR5vaP8bN1kgsPhcEeh+IZvUlBv6Xg==} engines: {node: '>=18.0.0'} + '@smithy/middleware-serde@4.1.0': + resolution: {integrity: sha512-CtLFYlHt7c2VcztyVRc+25JLV4aGpmaSv9F1sPB0AGFL6S+RPythkqpGDa2XBQLJQooKkjLA1g7Xe4450knShg==} + engines: {node: '>=18.0.0'} + '@smithy/middleware-stack@4.0.5': resolution: {integrity: sha512-/yoHDXZPh3ocRVyeWQFvC44u8seu3eYzZRveCMfgMOBcNKnAmOvjbL9+Cp5XKSIi9iYA9PECUuW2teDAk8T+OQ==} engines: {node: '>=18.0.0'} + '@smithy/middleware-stack@4.1.0': + resolution: {integrity: sha512-91Fuw4IKp0eK8PNhMXrHRcYA1jvbZ9BJGT91wwPy3bTQT8mHTcQNius/EhSQTlT9QUI3Ki1wjHeNXbWK0tO8YQ==} + engines: {node: '>=18.0.0'} + '@smithy/node-config-provider@4.1.4': resolution: {integrity: sha512-+UDQV/k42jLEPPHSn39l0Bmc4sB1xtdI9Gd47fzo/0PbXzJ7ylgaOByVjF5EeQIumkepnrJyfx86dPa9p47Y+w==} engines: {node: '>=18.0.0'} + '@smithy/node-config-provider@4.2.0': + resolution: {integrity: sha512-8/fpilqKurQ+f8nFvoFkJ0lrymoMJ+5/CQV5IcTv/MyKhk2Q/EFYCAgTSWHD4nMi9ux9NyBBynkyE9SLg2uSLA==} + engines: {node: '>=18.0.0'} + '@smithy/node-http-handler@4.1.0': resolution: {integrity: sha512-vqfSiHz2v8b3TTTrdXi03vNz1KLYYS3bhHCDv36FYDqxT7jvTll1mMnCrkD+gOvgwybuunh/2VmvOMqwBegxEg==} engines: {node: '>=18.0.0'} @@ -4236,14 +4271,26 @@ packages: resolution: {integrity: sha512-RHnlHqFpoVdjSPPiYy/t40Zovf3BBHc2oemgD7VsVTFFZrU5erFFe0n52OANZZ/5sbshgD93sOh5r6I35Xmpaw==} engines: {node: '>=18.0.0'} + '@smithy/node-http-handler@4.2.0': + resolution: {integrity: sha512-G4NV70B4hF9vBrUkkvNfWO6+QR4jYjeO4tc+4XrKCb4nPYj49V9Hu8Ftio7Mb0/0IlFyEOORudHrm+isY29nCA==} + engines: {node: '>=18.0.0'} + '@smithy/property-provider@4.0.5': resolution: {integrity: sha512-R/bswf59T/n9ZgfgUICAZoWYKBHcsVDurAGX88zsiUtOTA/xUAPyiT+qkNCPwFn43pZqN84M4MiUsbSGQmgFIQ==} engines: {node: '>=18.0.0'} + '@smithy/property-provider@4.1.0': + resolution: {integrity: sha512-eksMjMHUlG5PwOUWO3k+rfLNOPVPJ70mUzyYNKb5lvyIuAwS4zpWGsxGiuT74DFWonW0xRNy+jgzGauUzX7SyA==} + engines: {node: '>=18.0.0'} + '@smithy/protocol-http@5.1.3': resolution: {integrity: sha512-fCJd2ZR7D22XhDY0l+92pUag/7je2BztPRQ01gU5bMChcyI0rlly7QFibnYHzcxDvccMjlpM/Q1ev8ceRIb48w==} engines: {node: '>=18.0.0'} + '@smithy/protocol-http@5.2.0': + resolution: {integrity: sha512-bwjlh5JwdOQnA01be+5UvHK4HQz4iaRKlVG46hHSJuqi0Ribt3K06Z1oQ29i35Np4G9MCDgkOGcHVyLMreMcbg==} + engines: {node: '>=18.0.0'} + '@smithy/querystring-builder@4.0.4': resolution: {integrity: sha512-SwREZcDnEYoh9tLNgMbpop+UTGq44Hl9tdj3rf+yeLcfH7+J8OXEBaMc2kDxtyRHu8BhSg9ADEx0gFHvpJgU8w==} engines: {node: '>=18.0.0'} @@ -4252,6 +4299,10 @@ packages: resolution: {integrity: sha512-NJeSCU57piZ56c+/wY+AbAw6rxCCAOZLCIniRE7wqvndqxcKKDOXzwWjrY7wGKEISfhL9gBbAaWWgHsUGedk+A==} engines: {node: '>=18.0.0'} + '@smithy/querystring-builder@4.1.0': + resolution: {integrity: sha512-JqTWmVIq4AF8R8OK/2cCCiQo5ZJ0SRPsDkDgLO5/3z8xxuUp1oMIBBjfuueEe+11hGTZ6rRebzYikpKc6yQV9Q==} + engines: {node: '>=18.0.0'} + '@smithy/querystring-parser@4.0.4': resolution: {integrity: sha512-6yZf53i/qB8gRHH/l2ZwUG5xgkPgQF15/KxH0DdXMDHjesA9MeZje/853ifkSY0x4m5S+dfDZ+c4x439PF0M2w==} engines: {node: '>=18.0.0'} @@ -4260,14 +4311,26 @@ packages: resolution: {integrity: sha512-6SV7md2CzNG/WUeTjVe6Dj8noH32r4MnUeFKZrnVYsQxpGSIcphAanQMayi8jJLZAWm6pdM9ZXvKCpWOsIGg0w==} engines: {node: '>=18.0.0'} + '@smithy/querystring-parser@4.1.0': + resolution: {integrity: sha512-VgdHhr8YTRsjOl4hnKFm7xEMOCRTnKw3FJ1nU+dlWNhdt/7eEtxtkdrJdx7PlRTabdANTmvyjE4umUl9cK4awg==} + engines: {node: '>=18.0.0'} + '@smithy/service-error-classification@4.0.7': resolution: {integrity: sha512-XvRHOipqpwNhEjDf2L5gJowZEm5nsxC16pAZOeEcsygdjv9A2jdOh3YoDQvOXBGTsaJk6mNWtzWalOB9976Wlg==} engines: {node: '>=18.0.0'} + '@smithy/service-error-classification@4.1.0': + resolution: {integrity: sha512-UBpNFzBNmS20jJomuYn++Y+soF8rOK9AvIGjS9yGP6uRXF5rP18h4FDUsoNpWTlSsmiJ87e2DpZo9ywzSMH7PQ==} + engines: {node: '>=18.0.0'} + '@smithy/shared-ini-file-loader@4.0.5': resolution: {integrity: sha512-YVVwehRDuehgoXdEL4r1tAAzdaDgaC9EQvhK0lEbfnbrd0bd5+CTQumbdPryX3J2shT7ZqQE+jPW4lmNBAB8JQ==} engines: {node: '>=18.0.0'} + '@smithy/shared-ini-file-loader@4.1.0': + resolution: {integrity: sha512-W0VMlz9yGdQ/0ZAgWICFjFHTVU0YSfGoCVpKaExRM/FDkTeP/yz8OKvjtGjs6oFokCRm0srgj/g4Cg0xuHu8Rw==} + engines: {node: '>=18.0.0'} + '@smithy/signature-v4@5.1.2': resolution: {integrity: sha512-d3+U/VpX7a60seHziWnVZOHuEgJlclufjkS6zhXvxcJgkJq4UWdH5eOBLzHRMx6gXjsdT9h6lfpmLzbrdupHgQ==} engines: {node: '>=18.0.0'} @@ -4276,10 +4339,18 @@ packages: resolution: {integrity: sha512-ZSdE3vl0MuVbEwJBxSftm0J5nL/gw76xp5WF13zW9cN18MFuFXD5/LV0QD8P+sCU5bSWGyy6CTgUupE1HhOo1A==} engines: {node: '>=18.0.0'} + '@smithy/smithy-client@4.6.0': + resolution: {integrity: sha512-TvlIshqx5PIi0I0AiR+PluCpJ8olVG++xbYkAIGCUkByaMUlfOXLgjQTmYbr46k4wuDe8eHiTIlUflnjK2drPQ==} + engines: {node: '>=18.0.0'} + '@smithy/types@4.3.2': resolution: {integrity: sha512-QO4zghLxiQ5W9UZmX2Lo0nta2PuE1sSrXUYDoaB6HMR762C0P7v/HEPHf6ZdglTVssJG1bsrSBxdc3quvDSihw==} engines: {node: '>=18.0.0'} + '@smithy/types@4.4.0': + resolution: {integrity: sha512-4jY91NgZz+ZnSFcVzWwngOW6VuK3gR/ihTwSU1R/0NENe9Jd8SfWgbhDCAGUWL3bI7DiDSW7XF6Ui6bBBjrqXw==} + engines: {node: '>=18.0.0'} + '@smithy/url-parser@4.0.4': resolution: {integrity: sha512-eMkc144MuN7B0TDA4U2fKs+BqczVbk3W+qIvcoCY6D1JY3hnAdCuhCZODC+GAeaxj0p6Jroz4+XMUn3PCxQQeQ==} engines: {node: '>=18.0.0'} @@ -4288,14 +4359,26 @@ packages: resolution: {integrity: sha512-j+733Um7f1/DXjYhCbvNXABV53NyCRRA54C7bNEIxNPs0YjfRxeMKjjgm2jvTYrciZyCjsicHwQ6Q0ylo+NAUw==} engines: {node: '>=18.0.0'} + '@smithy/url-parser@4.1.0': + resolution: {integrity: sha512-/LYEIOuO5B2u++tKr1NxNxhZTrr3A63jW8N73YTwVeUyAlbB/YM+hkftsvtKAcMt3ADYo0FsF1GY3anehffSVQ==} + engines: {node: '>=18.0.0'} + '@smithy/util-base64@4.0.0': resolution: {integrity: sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==} engines: {node: '>=18.0.0'} + '@smithy/util-base64@4.1.0': + resolution: {integrity: sha512-RUGd4wNb8GeW7xk+AY5ghGnIwM96V0l2uzvs/uVHf+tIuVX2WSvynk5CxNoBCsM2rQRSZElAo9rt3G5mJ/gktQ==} + engines: {node: '>=18.0.0'} + '@smithy/util-body-length-browser@4.0.0': resolution: {integrity: sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==} engines: {node: '>=18.0.0'} + '@smithy/util-body-length-browser@4.1.0': + resolution: {integrity: sha512-V2E2Iez+bo6bUMOTENPr6eEmepdY8Hbs+Uc1vkDKgKNA/brTJqOW/ai3JO1BGj9GbCeLqw90pbbH7HFQyFotGQ==} + engines: {node: '>=18.0.0'} + '@smithy/util-body-length-node@4.0.0': resolution: {integrity: sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==} engines: {node: '>=18.0.0'} @@ -4308,6 +4391,10 @@ packages: resolution: {integrity: sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==} engines: {node: '>=18.0.0'} + '@smithy/util-buffer-from@4.1.0': + resolution: {integrity: sha512-N6yXcjfe/E+xKEccWEKzK6M+crMrlwaCepKja0pNnlSkm6SjAeLKKA++er5Ba0I17gvKfN/ThV+ZOx/CntKTVw==} + engines: {node: '>=18.0.0'} + '@smithy/util-config-provider@4.0.0': resolution: {integrity: sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==} engines: {node: '>=18.0.0'} @@ -4328,22 +4415,42 @@ packages: resolution: {integrity: sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==} engines: {node: '>=18.0.0'} + '@smithy/util-hex-encoding@4.1.0': + resolution: {integrity: sha512-1LcueNN5GYC4tr8mo14yVYbh/Ur8jHhWOxniZXii+1+ePiIbsLZ5fEI0QQGtbRRP5mOhmooos+rLmVASGGoq5w==} + engines: {node: '>=18.0.0'} + '@smithy/util-middleware@4.0.5': resolution: {integrity: sha512-N40PfqsZHRSsByGB81HhSo+uvMxEHT+9e255S53pfBw/wI6WKDI7Jw9oyu5tJTLwZzV5DsMha3ji8jk9dsHmQQ==} engines: {node: '>=18.0.0'} + '@smithy/util-middleware@4.1.0': + resolution: {integrity: sha512-612onNcKyxhP7/YOTKFTb2F6sPYtMRddlT5mZvYf1zduzaGzkYhpYIPxIeeEwBZFjnvEqe53Ijl2cYEfJ9d6/Q==} + engines: {node: '>=18.0.0'} + '@smithy/util-retry@4.0.7': resolution: {integrity: sha512-TTO6rt0ppK70alZpkjwy+3nQlTiqNfoXja+qwuAchIEAIoSZW8Qyd76dvBv3I5bCpE38APafG23Y/u270NspiQ==} engines: {node: '>=18.0.0'} + '@smithy/util-retry@4.1.0': + resolution: {integrity: sha512-5AGoBHb207xAKSVwaUnaER+L55WFY8o2RhlafELZR3mB0J91fpL+Qn+zgRkPzns3kccGaF2vy0HmNVBMWmN6dA==} + engines: {node: '>=18.0.0'} + '@smithy/util-stream@4.2.4': resolution: {integrity: sha512-vSKnvNZX2BXzl0U2RgCLOwWaAP9x/ddd/XobPK02pCbzRm5s55M53uwb1rl/Ts7RXZvdJZerPkA+en2FDghLuQ==} engines: {node: '>=18.0.0'} + '@smithy/util-stream@4.3.0': + resolution: {integrity: sha512-ZOYS94jksDwvsCJtppHprUhsIscRnCKGr6FXCo3SxgQ31ECbza3wqDBqSy6IsAak+h/oAXb1+UYEBmDdseAjUQ==} + engines: {node: '>=18.0.0'} + '@smithy/util-uri-escape@4.0.0': resolution: {integrity: sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==} engines: {node: '>=18.0.0'} + '@smithy/util-uri-escape@4.1.0': + resolution: {integrity: sha512-b0EFQkq35K5NHUYxU72JuoheM6+pytEVUGlTwiFxWFpmddA+Bpz3LgsPRIpBk8lnPE47yT7AF2Egc3jVnKLuPg==} + engines: {node: '>=18.0.0'} + '@smithy/util-utf8@2.3.0': resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} engines: {node: '>=14.0.0'} @@ -4352,6 +4459,10 @@ packages: resolution: {integrity: sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==} engines: {node: '>=18.0.0'} + '@smithy/util-utf8@4.1.0': + resolution: {integrity: sha512-mEu1/UIXAdNYuBcyEPbjScKi/+MQVXNIuY/7Cm5XLIWe319kDrT5SizBE95jqtmEXoDbGoZxKLCMttdZdqTZKQ==} + engines: {node: '>=18.0.0'} + '@socket.io/component-emitter@3.1.2': resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} @@ -4390,8 +4501,8 @@ packages: peerDependencies: '@sveltejs/kit': ^2.0.0 - '@sveltejs/kit@2.37.0': - resolution: {integrity: sha512-xgKtpjQ6Ry4mdShd01ht5AODUsW7+K1iValPDq7QX8zI1hWOKREH9GjG8SRCN5tC4K7UXmMhuQam7gbLByVcnw==} + '@sveltejs/kit@2.37.1': + resolution: {integrity: sha512-4T9rF2Roe7RGvHfcn6+n92Yc2NF88k7ljFz9+wE0jWxyencqRpadr2/CvlcQbbTXf1ozmFxgMO6af+qm+1mPFw==} engines: {node: '>=18.13'} hasBin: true peerDependencies: @@ -4503,65 +4614,65 @@ packages: resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} engines: {node: '>=10'} - '@tailwindcss/node@4.1.12': - resolution: {integrity: sha512-3hm9brwvQkZFe++SBt+oLjo4OLDtkvlE8q2WalaD/7QWaeM7KEJbAiY/LJZUaCs7Xa8aUu4xy3uoyX4q54UVdQ==} + '@tailwindcss/node@4.1.13': + resolution: {integrity: sha512-eq3ouolC1oEFOAvOMOBAmfCIqZBJuvWvvYWh5h5iOYfe1HFC6+GZ6EIL0JdM3/niGRJmnrOc+8gl9/HGUaaptw==} - '@tailwindcss/oxide-android-arm64@4.1.12': - resolution: {integrity: sha512-oNY5pq+1gc4T6QVTsZKwZaGpBb2N1H1fsc1GD4o7yinFySqIuRZ2E4NvGasWc6PhYJwGK2+5YT1f9Tp80zUQZQ==} + '@tailwindcss/oxide-android-arm64@4.1.13': + resolution: {integrity: sha512-BrpTrVYyejbgGo57yc8ieE+D6VT9GOgnNdmh5Sac6+t0m+v+sKQevpFVpwX3pBrM2qKrQwJ0c5eDbtjouY/+ew==} engines: {node: '>= 10'} cpu: [arm64] os: [android] - '@tailwindcss/oxide-darwin-arm64@4.1.12': - resolution: {integrity: sha512-cq1qmq2HEtDV9HvZlTtrj671mCdGB93bVY6J29mwCyaMYCP/JaUBXxrQQQm7Qn33AXXASPUb2HFZlWiiHWFytw==} + '@tailwindcss/oxide-darwin-arm64@4.1.13': + resolution: {integrity: sha512-YP+Jksc4U0KHcu76UhRDHq9bx4qtBftp9ShK/7UGfq0wpaP96YVnnjFnj3ZFrUAjc5iECzODl/Ts0AN7ZPOANQ==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@tailwindcss/oxide-darwin-x64@4.1.12': - resolution: {integrity: sha512-6UCsIeFUcBfpangqlXay9Ffty9XhFH1QuUFn0WV83W8lGdX8cD5/+2ONLluALJD5+yJ7k8mVtwy3zMZmzEfbLg==} + '@tailwindcss/oxide-darwin-x64@4.1.13': + resolution: {integrity: sha512-aAJ3bbwrn/PQHDxCto9sxwQfT30PzyYJFG0u/BWZGeVXi5Hx6uuUOQEI2Fa43qvmUjTRQNZnGqe9t0Zntexeuw==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@tailwindcss/oxide-freebsd-x64@4.1.12': - resolution: {integrity: sha512-JOH/f7j6+nYXIrHobRYCtoArJdMJh5zy5lr0FV0Qu47MID/vqJAY3r/OElPzx1C/wdT1uS7cPq+xdYYelny1ww==} + '@tailwindcss/oxide-freebsd-x64@4.1.13': + resolution: {integrity: sha512-Wt8KvASHwSXhKE/dJLCCWcTSVmBj3xhVhp/aF3RpAhGeZ3sVo7+NTfgiN8Vey/Fi8prRClDs6/f0KXPDTZE6nQ==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] - '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.12': - resolution: {integrity: sha512-v4Ghvi9AU1SYgGr3/j38PD8PEe6bRfTnNSUE3YCMIRrrNigCFtHZ2TCm8142X8fcSqHBZBceDx+JlFJEfNg5zQ==} + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.13': + resolution: {integrity: sha512-mbVbcAsW3Gkm2MGwA93eLtWrwajz91aXZCNSkGTx/R5eb6KpKD5q8Ueckkh9YNboU8RH7jiv+ol/I7ZyQ9H7Bw==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - '@tailwindcss/oxide-linux-arm64-gnu@4.1.12': - resolution: {integrity: sha512-YP5s1LmetL9UsvVAKusHSyPlzSRqYyRB0f+Kl/xcYQSPLEw/BvGfxzbH+ihUciePDjiXwHh+p+qbSP3SlJw+6g==} + '@tailwindcss/oxide-linux-arm64-gnu@4.1.13': + resolution: {integrity: sha512-wdtfkmpXiwej/yoAkrCP2DNzRXCALq9NVLgLELgLim1QpSfhQM5+ZxQQF8fkOiEpuNoKLp4nKZ6RC4kmeFH0HQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@tailwindcss/oxide-linux-arm64-musl@4.1.12': - resolution: {integrity: sha512-V8pAM3s8gsrXcCv6kCHSuwyb/gPsd863iT+v1PGXC4fSL/OJqsKhfK//v8P+w9ThKIoqNbEnsZqNy+WDnwQqCA==} + '@tailwindcss/oxide-linux-arm64-musl@4.1.13': + resolution: {integrity: sha512-hZQrmtLdhyqzXHB7mkXfq0IYbxegaqTmfa1p9MBj72WPoDD3oNOh1Lnxf6xZLY9C3OV6qiCYkO1i/LrzEdW2mg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@tailwindcss/oxide-linux-x64-gnu@4.1.12': - resolution: {integrity: sha512-xYfqYLjvm2UQ3TZggTGrwxjYaLB62b1Wiysw/YE3Yqbh86sOMoTn0feF98PonP7LtjsWOWcXEbGqDL7zv0uW8Q==} + '@tailwindcss/oxide-linux-x64-gnu@4.1.13': + resolution: {integrity: sha512-uaZTYWxSXyMWDJZNY1Ul7XkJTCBRFZ5Fo6wtjrgBKzZLoJNrG+WderJwAjPzuNZOnmdrVg260DKwXCFtJ/hWRQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@tailwindcss/oxide-linux-x64-musl@4.1.12': - resolution: {integrity: sha512-ha0pHPamN+fWZY7GCzz5rKunlv9L5R8kdh+YNvP5awe3LtuXb5nRi/H27GeL2U+TdhDOptU7T6Is7mdwh5Ar3A==} + '@tailwindcss/oxide-linux-x64-musl@4.1.13': + resolution: {integrity: sha512-oXiPj5mi4Hdn50v5RdnuuIms0PVPI/EG4fxAfFiIKQh5TgQgX7oSuDWntHW7WNIi/yVLAiS+CRGW4RkoGSSgVQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@tailwindcss/oxide-wasm32-wasi@4.1.12': - resolution: {integrity: sha512-4tSyu3dW+ktzdEpuk6g49KdEangu3eCYoqPhWNsZgUhyegEda3M9rG0/j1GV/JjVVsj+lG7jWAyrTlLzd/WEBg==} + '@tailwindcss/oxide-wasm32-wasi@4.1.13': + resolution: {integrity: sha512-+LC2nNtPovtrDwBc/nqnIKYh/W2+R69FA0hgoeOn64BdCX522u19ryLh3Vf3F8W49XBcMIxSe665kwy21FkhvA==} engines: {node: '>=14.0.0'} cpu: [wasm32] bundledDependencies: @@ -4572,20 +4683,20 @@ packages: - '@emnapi/wasi-threads' - tslib - '@tailwindcss/oxide-win32-arm64-msvc@4.1.12': - resolution: {integrity: sha512-iGLyD/cVP724+FGtMWslhcFyg4xyYyM+5F4hGvKA7eifPkXHRAUDFaimu53fpNg9X8dfP75pXx/zFt/jlNF+lg==} + '@tailwindcss/oxide-win32-arm64-msvc@4.1.13': + resolution: {integrity: sha512-dziTNeQXtoQ2KBXmrjCxsuPk3F3CQ/yb7ZNZNA+UkNTeiTGgfeh+gH5Pi7mRncVgcPD2xgHvkFCh/MhZWSgyQg==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@tailwindcss/oxide-win32-x64-msvc@4.1.12': - resolution: {integrity: sha512-NKIh5rzw6CpEodv/++r0hGLlfgT/gFN+5WNdZtvh6wpU2BpGNgdjvj6H2oFc8nCM839QM1YOhjpgbAONUb4IxA==} + '@tailwindcss/oxide-win32-x64-msvc@4.1.13': + resolution: {integrity: sha512-3+LKesjXydTkHk5zXX01b5KMzLV1xl2mcktBJkje7rhFUpUlYJy7IMOLqjIRQncLTa1WZZiFY/foAeB5nmaiTw==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@tailwindcss/oxide@4.1.12': - resolution: {integrity: sha512-gM5EoKHW/ukmlEtphNwaGx45fGoEmP10v51t9unv55voWh6WrOL19hfuIdo2FjxIaZzw776/BUQg7Pck++cIVw==} + '@tailwindcss/oxide@4.1.13': + resolution: {integrity: sha512-CPgsM1IpGRa880sMbYmG1s4xhAy3xEt1QULgTJGQmZUeNgXFR7s1YxYygmJyBGtou4SyEosGAGEeYqY7R53bIA==} engines: {node: '>= 10'} '@tailwindcss/typography@0.5.16': @@ -4593,8 +4704,8 @@ packages: peerDependencies: tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1' - '@tailwindcss/vite@4.1.12': - resolution: {integrity: sha512-4pt0AMFDx7gzIrAOIYgYP0KCBuKWqyW8ayrdiLEjoJTT4pKTjrzG/e4uzWtTLDziC+66R9wbUqZBccJalSE5vQ==} + '@tailwindcss/vite@4.1.13': + resolution: {integrity: sha512-0PmqLQ010N58SbMTJ7BVJ4I2xopiQn/5i6nlb4JmxzQf8zcS5+m2Cv6tqh+sfDwtIdjoEnOvwsGQ1hkUi8QEHQ==} peerDependencies: vite: ^5.2.0 || ^6 || ^7 @@ -4908,8 +5019,8 @@ packages: '@types/keyv@3.1.4': resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - '@types/leaflet-gpx@1.3.7': - resolution: {integrity: sha512-IDshIOLZ7dUUjRiCE3DuJcAGavgUCw0xQ93dc/3YvsA6jrFc+nx8eXr0tqZIf2SaWMgqiDj/n7N24WWNh/898g==} + '@types/leaflet-gpx@1.3.8': + resolution: {integrity: sha512-woIh3APM4FbrEQ+go3yaa4k5j4yn49YLVa1xfSB+T5aYwJn+O3pYhBBQvuxQJW68jpjcaAX/PTJRJLFJ+XT6ow==} '@types/leaflet@1.9.20': resolution: {integrity: sha512-rooalPMlk61LCaLOvBF2VIf9M47HgMQqi5xQ9QRi7c8PkdIe0WrIi5IxXUXQjAdL0c+vcQ01mYWbthzmp9GHWw==} @@ -4974,6 +5085,9 @@ packages: '@types/node@22.18.0': resolution: {integrity: sha512-m5ObIqwsUp6BZzyiy4RdZpzWGub9bqLJMvZDD0QMXhxjqMHMENlj+SqF5QxoUwaQNFe+8kz8XM8ZQhqkQPTgMQ==} + '@types/node@22.18.1': + resolution: {integrity: sha512-rzSDyhn4cYznVG+PCzGe1lwuMYJrcBS1fc3JqSa2PvtABwWo+dZ1ij5OVok3tqfpEBCBoaR4d7upFJk73HRJDw==} + '@types/node@24.3.0': resolution: {integrity: sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==} @@ -7429,8 +7543,8 @@ packages: peerDependencies: eslint: '>=7.0.0' - eslint-linter-browserify@9.34.0: - resolution: {integrity: sha512-UmcPxTXLdP6CaxXZ8KOHlbGZuOicIaX/3yCjHj7uQRumB9qiFoIbjc5xrLaQvWo1wNSeBQ5c+IuPO+8717mKFQ==} + eslint-linter-browserify@9.35.0: + resolution: {integrity: sha512-gKo2S/iL88z60nH4eRPkk2vR15XdE0MAa1dcuLvrdLTwtLszG2qmgbhN6Jm1Rbl3t/oL4sYe8S1PiPNpZaj18A==} eslint-plugin-ckeditor5-rules@12.1.1: resolution: {integrity: sha512-e0PhbA3sNWy4Djs6r+kVfWNvu6urJXucIUfqI2GKjgOfqYOhmpLNaudH6FHKAg/OM8g0ETb7TbG3Bc375ru+sg==} @@ -7452,8 +7566,8 @@ packages: peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 - eslint-plugin-svelte@3.12.0: - resolution: {integrity: sha512-jUAUTm+6Z7wu/UkpJgzYToa17FSKXesoCDcA26Znsk4oPvMxtnU415kIb0OP9SUIAAVY6jCYngiVBBgvl70i9g==} + eslint-plugin-svelte@3.12.1: + resolution: {integrity: sha512-gVwqUHUiD3r/T7wLqGggl24afEkUiJqV1BjBXu0C0Y2l6dB9InYOddksccrL8oOJ+DP4lLFVXVjzHexTbPs/1A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.1 || ^9.0.0 @@ -7478,8 +7592,8 @@ packages: resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.34.0: - resolution: {integrity: sha512-RNCHRX5EwdrESy3Jc9o8ie8Bog+PeYvvSR8sDGoZxNFTvZ4dlxUB3WzQ3bQMztFrSRODGrLLj8g6OFuGY/aiQg==} + eslint@9.35.0: + resolution: {integrity: sha512-QePbBFMJFjgmlE+cXAlbHZbHpdFVS2E/6vzCy7aKlebddvl1vadiC4JFV5u/wqTkNUwEV8WrQi257jf5f06hrg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -7586,8 +7700,8 @@ packages: peerDependencies: express: '>= 4.17.0' - express-rate-limit@8.0.1: - resolution: {integrity: sha512-aZVCnybn7TVmxO4BtlmnvX+nuz8qHW124KKJ8dumsBsmv5ZLxE0pYu7S2nwyRBGHHCAzdmnGyrc5U/rksSPO7Q==} + express-rate-limit@8.1.0: + resolution: {integrity: sha512-4nLnATuKupnmwqiJc27b4dCFmB/T60ExgmtDD7waf4LdrbJ8CPZzZRHYErDYNhoz+ql8fUdYwM/opf90PoPAQA==} engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' @@ -7808,8 +7922,8 @@ packages: resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} engines: {node: '>= 0.4'} - force-graph@1.50.1: - resolution: {integrity: sha512-CtldBdsUHLmlnerVYe09V9Bxi5iz8GZce1WdBSkwGAFgNFTYn6cW90NQ1lOh/UVm0NhktMRHKugXrS9Sl8Bl3A==} + force-graph@1.51.0: + resolution: {integrity: sha512-aTnihCmiMA0ItLJLCbrQYS9mzriopW24goFPgUnKAAmAlPogTSmFWqoBPMXzIfPb7bs04Hur5zEI4WYgLW3Sig==} engines: {node: '>=12'} foreground-child@3.3.1: @@ -8413,8 +8527,8 @@ packages: i18next-http-backend@3.0.2: resolution: {integrity: sha512-PdlvPnvIp4E1sYi46Ik4tBYh/v/NbYfFFgTjkwFl0is8A18s7/bx9aXqsrOax9WUbeNS6mD2oix7Z0yGGf6m5g==} - i18next@25.4.2: - resolution: {integrity: sha512-gD4T25a6ovNXsfXY1TwHXXXLnD/K2t99jyYMCSimSCBnBRJVQr5j+VAaU83RJCPzrTGhVQ6dqIga66xO2rtd5g==} + i18next@25.5.2: + resolution: {integrity: sha512-lW8Zeh37i/o0zVr+NoCHfNnfvVw+M6FQbRp36ZZ/NyHDJ3NJVpp2HhAUyU9WafL5AssymNoOjMRB48mmx2P6Hw==} peerDependencies: typescript: ^5 peerDependenciesMeta: @@ -9423,6 +9537,11 @@ packages: markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} + marked@15.0.12: + resolution: {integrity: sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==} + engines: {node: '>= 18'} + hasBin: true + marked@16.2.1: resolution: {integrity: sha512-r3UrXED9lMlHF97jJByry90cwrZBBvZmjG1L68oYfuPMW+uDTnuMbyJDymCWwbTE+f+3LhpNDKfpR3a3saFyjA==} engines: {node: '>= 20'} @@ -9532,8 +9651,8 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - mermaid@11.10.1: - resolution: {integrity: sha512-0PdeADVWURz7VMAX0+MiMcgfxFKY4aweSGsjgFihe3XlMKNqmai/cugMrqTd3WNHM93V+K+AZL6Wu6tB5HmxRw==} + mermaid@11.11.0: + resolution: {integrity: sha512-9lb/VNkZqWTRjVgCV+l1N+t4kyi94y+l5xrmBmbbxZYkfRl5hEDaTPMOcaWKCl1McG8nBEaMlWwkcAEEgjhBgg==} methods@1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} @@ -10258,8 +10377,8 @@ packages: package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - package-manager-detector@0.2.11: - resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==} + package-manager-detector@1.3.0: + resolution: {integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==} pacote@21.0.0: resolution: {integrity: sha512-lcqexq73AMv6QNLo7SOpz0JJoaGdS3rBFgF122NZVl1bApo2mfu+XzUBU/X/XsiJu+iUmKpekRayqQYAs+PhkA==} @@ -12222,6 +12341,10 @@ packages: resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==} engines: {node: '>=18'} + sirv@3.0.2: + resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==} + engines: {node: '>=18'} + slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -12688,8 +12811,8 @@ packages: svelte: optional: true - svelte@5.38.6: - resolution: {integrity: sha512-ltBPlkvqk3bgCK7/N323atUpP3O3Y+DrGV4dcULrsSn4fZaaNnOmdplNznwfdWclAgvSr5rxjtzn/zJhRm6TKg==} + svelte@5.38.7: + resolution: {integrity: sha512-1ld9TPZSdUS3EtYGQzisU2nhwXoIzNQcZ71IOU9fEmltaUofQnVfW5CQuhgM/zFsZ43arZXS1BRKi0MYgUV91w==} engines: {node: '>=18'} svg-pan-zoom@3.6.2: @@ -12749,8 +12872,8 @@ packages: tabulator-tables@6.3.1: resolution: {integrity: sha512-qFW7kfadtcaISQIibKAIy0f3eeIXUVi8242Vly1iJfMD79kfEGzfczNuPBN/80hDxHzQJXYbmJ8VipI40hQtfA==} - tailwindcss@4.1.12: - resolution: {integrity: sha512-DzFtxOi+7NsFf7DBtI3BJsynR+0Yp6etH+nRPTbpWnS2pZBaSksv/JGctNwSWzbFjp0vxSqknaUylseZqMDGrA==} + tailwindcss@4.1.13: + resolution: {integrity: sha512-i+zidfmTqtwquj4hMEwdjshYYgMbOrPzb9a0M3ZgNa0JMoZeFC6bxZvO8yr8ozS6ix2SDz0+mvryPeBs2TFE+w==} tapable@2.2.2: resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==} @@ -12853,6 +12976,9 @@ packages: tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + tinyexec@1.0.1: + resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==} + tinyglobby@0.2.14: resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} engines: {node: '>=12.0.0'} @@ -13974,14 +14100,14 @@ snapshots: '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 - '@antfu/install-pkg@1.0.0': + '@antfu/install-pkg@1.1.0': dependencies: - package-manager-detector: 0.2.11 - tinyexec: 0.3.2 + package-manager-detector: 1.3.0 + tinyexec: 1.0.1 - '@antfu/utils@8.1.1': {} + '@antfu/utils@9.2.0': {} - '@anthropic-ai/sdk@0.60.0': {} + '@anthropic-ai/sdk@0.61.0': {} '@apidevtools/json-schema-ref-parser@9.1.2': dependencies: @@ -14071,7 +14197,7 @@ snapshots: '@smithy/invalid-dependency': 4.0.4 '@smithy/middleware-content-length': 4.0.4 '@smithy/middleware-endpoint': 4.1.19 - '@smithy/middleware-retry': 4.1.20 + '@smithy/middleware-retry': 4.2.0 '@smithy/middleware-serde': 4.0.8 '@smithy/middleware-stack': 4.0.5 '@smithy/node-config-provider': 4.1.4 @@ -14117,7 +14243,7 @@ snapshots: '@smithy/invalid-dependency': 4.0.4 '@smithy/middleware-content-length': 4.0.4 '@smithy/middleware-endpoint': 4.1.19 - '@smithy/middleware-retry': 4.1.20 + '@smithy/middleware-retry': 4.2.0 '@smithy/middleware-serde': 4.0.9 '@smithy/middleware-stack': 4.0.5 '@smithy/node-config-provider': 4.1.4 @@ -14311,7 +14437,7 @@ snapshots: '@smithy/invalid-dependency': 4.0.4 '@smithy/middleware-content-length': 4.0.4 '@smithy/middleware-endpoint': 4.1.19 - '@smithy/middleware-retry': 4.1.20 + '@smithy/middleware-retry': 4.2.0 '@smithy/middleware-serde': 4.0.9 '@smithy/middleware-stack': 4.0.5 '@smithy/node-config-provider': 4.1.4 @@ -14516,6 +14642,9 @@ snapshots: '@babel/runtime@7.27.6': {} + '@babel/runtime@7.28.4': + optional: true + '@babel/template@7.27.0': dependencies: '@babel/code-frame': 7.26.2 @@ -14677,6 +14806,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.2 '@ckeditor/ckeditor5-utils': 46.0.2 ckeditor5: 46.0.2(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-block-quote@46.0.2': dependencies: @@ -14751,6 +14882,8 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.2 '@ckeditor/ckeditor5-utils': 46.0.2 ckeditor5: 46.0.2(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-code-block@46.0.2(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -14976,6 +15109,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.2 ckeditor5: 46.0.2(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-classic@46.0.2': dependencies: @@ -14994,8 +15129,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.2 ckeditor5: 46.0.2(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-inline@46.0.2': dependencies: @@ -15005,6 +15138,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.2 ckeditor5: 46.0.2(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-multi-root@46.0.2': dependencies: @@ -15027,6 +15162,8 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.2 '@ckeditor/ckeditor5-utils': 46.0.2 ckeditor5: 46.0.2(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@46.0.2': dependencies: @@ -15198,6 +15335,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.2 ckeditor5: 46.0.2(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-icons@46.0.2': {} @@ -15387,7 +15526,7 @@ snapshots: es-toolkit: 1.39.5 protobufjs: 7.5.0 - '@ckeditor/ckeditor5-package-tools@4.0.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.0)(bufferutil@4.0.9)(esbuild@0.25.9)(utf-8-validate@6.0.5)': + '@ckeditor/ckeditor5-package-tools@4.0.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.1)(bufferutil@4.0.9)(esbuild@0.25.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-dev-translations': 50.3.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.9)(typescript@5.0.4)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.9)) '@ckeditor/ckeditor5-dev-utils': 50.3.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.9)(typescript@5.0.4)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.9)) @@ -15406,7 +15545,7 @@ snapshots: stylelint-config-ckeditor5: 2.0.1(stylelint@16.23.1(typescript@5.9.2)) terser-webpack-plugin: 5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.9)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.9)) ts-loader: 9.5.2(typescript@5.0.4)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.9)) - ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.0)(typescript@5.0.4) + ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.1)(typescript@5.0.4) typescript: 5.0.4 webpack: 5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.9) webpack-dev-server: 5.2.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.9)) @@ -15496,6 +15635,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.2 '@ckeditor/ckeditor5-utils': 46.0.2 ckeditor5: 46.0.2(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-restricted-editing@46.0.2': dependencies: @@ -15539,6 +15680,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.2 '@ckeditor/ckeditor5-utils': 46.0.2 ckeditor5: 46.0.2(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-slash-command@46.0.2': dependencies: @@ -16437,21 +16580,21 @@ snapshots: '@esbuild/win32-x64@0.25.9': optional: true - '@eslint-community/eslint-utils@4.7.0(eslint@9.34.0(jiti@2.5.1))': + '@eslint-community/eslint-utils@4.7.0(eslint@9.35.0(jiti@2.5.1))': dependencies: - eslint: 9.34.0(jiti@2.5.1) + eslint: 9.35.0(jiti@2.5.1) eslint-visitor-keys: 3.4.3 - '@eslint-community/eslint-utils@4.8.0(eslint@9.34.0(jiti@2.5.1))': + '@eslint-community/eslint-utils@4.8.0(eslint@9.35.0(jiti@2.5.1))': dependencies: - eslint: 9.34.0(jiti@2.5.1) + eslint: 9.35.0(jiti@2.5.1) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint/compat@1.3.2(eslint@9.34.0(jiti@2.5.1))': + '@eslint/compat@1.3.2(eslint@9.35.0(jiti@2.5.1))': optionalDependencies: - eslint: 9.34.0(jiti@2.5.1) + eslint: 9.35.0(jiti@2.5.1) '@eslint/config-array@0.21.0': dependencies: @@ -16485,7 +16628,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.34.0': {} + '@eslint/js@9.35.0': {} '@eslint/markdown@6.6.0': dependencies: @@ -16555,7 +16698,7 @@ snapshots: '@excalidraw/mermaid-to-excalidraw@1.1.2': dependencies: '@excalidraw/markdown-to-text': 0.1.2 - mermaid: 11.10.1 + mermaid: 11.11.0 nanoid: 5.1.5 transitivePeerDependencies: - supports-color @@ -16790,23 +16933,21 @@ snapshots: '@humanfs/core@0.19.1': {} - '@humanfs/node@0.16.6': + '@humanfs/node@0.16.7': dependencies: '@humanfs/core': 0.19.1 - '@humanwhocodes/retry': 0.3.1 + '@humanwhocodes/retry': 0.4.3 '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/retry@0.3.1': {} - '@humanwhocodes/retry@0.4.3': {} '@iconify/types@2.0.0': {} - '@iconify/utils@2.3.0': + '@iconify/utils@3.0.1': dependencies: - '@antfu/install-pkg': 1.0.0 - '@antfu/utils': 8.1.1 + '@antfu/install-pkg': 1.1.0 + '@antfu/utils': 9.2.0 '@iconify/types': 2.0.0 debug: 4.4.1(supports-color@6.0.0) globals: 15.15.0 @@ -16842,18 +16983,18 @@ snapshots: transitivePeerDependencies: - babel-plugin-macros - '@inquirer/confirm@5.1.16(@types/node@22.18.0)': + '@inquirer/confirm@5.1.16(@types/node@22.18.1)': dependencies: - '@inquirer/core': 10.2.0(@types/node@22.18.0) - '@inquirer/type': 3.0.8(@types/node@22.18.0) + '@inquirer/core': 10.2.0(@types/node@22.18.1) + '@inquirer/type': 3.0.8(@types/node@22.18.1) optionalDependencies: - '@types/node': 22.18.0 + '@types/node': 22.18.1 optional: true - '@inquirer/core@10.2.0(@types/node@22.18.0)': + '@inquirer/core@10.2.0(@types/node@22.18.1)': dependencies: '@inquirer/figures': 1.0.13 - '@inquirer/type': 3.0.8(@types/node@22.18.0) + '@inquirer/type': 3.0.8(@types/node@22.18.1) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -16861,15 +17002,15 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 22.18.0 + '@types/node': 22.18.1 optional: true '@inquirer/figures@1.0.13': optional: true - '@inquirer/type@3.0.8(@types/node@22.18.0)': + '@inquirer/type@3.0.8(@types/node@22.18.1)': optionalDependencies: - '@types/node': 22.18.0 + '@types/node': 22.18.1 optional: true '@isaacs/balanced-match@4.0.1': {} @@ -17312,33 +17453,33 @@ snapshots: '@marijn/find-cluster-break@1.0.2': {} - '@mermaid-js/layout-elk@0.1.9(mermaid@11.10.1)': + '@mermaid-js/layout-elk@0.1.9(mermaid@11.11.0)': dependencies: d3: 7.9.0 elkjs: 0.9.3 - mermaid: 11.10.1 + mermaid: 11.11.0 '@mermaid-js/parser@0.6.2': dependencies: langium: 3.3.1 - '@microsoft/api-extractor-model@7.30.6(@types/node@22.18.0)': + '@microsoft/api-extractor-model@7.30.6(@types/node@22.18.1)': dependencies: '@microsoft/tsdoc': 0.15.1 '@microsoft/tsdoc-config': 0.17.1 - '@rushstack/node-core-library': 5.13.1(@types/node@22.18.0) + '@rushstack/node-core-library': 5.13.1(@types/node@22.18.1) transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.52.8(@types/node@22.18.0)': + '@microsoft/api-extractor@7.52.8(@types/node@22.18.1)': dependencies: - '@microsoft/api-extractor-model': 7.30.6(@types/node@22.18.0) + '@microsoft/api-extractor-model': 7.30.6(@types/node@22.18.1) '@microsoft/tsdoc': 0.15.1 '@microsoft/tsdoc-config': 0.17.1 - '@rushstack/node-core-library': 5.13.1(@types/node@22.18.0) + '@rushstack/node-core-library': 5.13.1(@types/node@22.18.1) '@rushstack/rig-package': 0.5.3 - '@rushstack/terminal': 0.15.3(@types/node@22.18.0) - '@rushstack/ts-command-line': 5.0.1(@types/node@22.18.0) + '@rushstack/terminal': 0.15.3(@types/node@22.18.1) + '@rushstack/ts-command-line': 5.0.1(@types/node@22.18.1) lodash: 4.17.21 minimatch: 3.0.8 resolve: 1.22.10 @@ -18217,7 +18358,7 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.50.0': optional: true - '@rushstack/node-core-library@5.13.1(@types/node@22.18.0)': + '@rushstack/node-core-library@5.13.1(@types/node@22.18.1)': dependencies: ajv: 8.13.0 ajv-draft-04: 1.0.0(ajv@8.13.0) @@ -18228,23 +18369,23 @@ snapshots: resolve: 1.22.10 semver: 7.5.4 optionalDependencies: - '@types/node': 22.18.0 + '@types/node': 22.18.1 '@rushstack/rig-package@0.5.3': dependencies: resolve: 1.22.10 strip-json-comments: 3.1.1 - '@rushstack/terminal@0.15.3(@types/node@22.18.0)': + '@rushstack/terminal@0.15.3(@types/node@22.18.1)': dependencies: - '@rushstack/node-core-library': 5.13.1(@types/node@22.18.0) + '@rushstack/node-core-library': 5.13.1(@types/node@22.18.1) supports-color: 8.1.1 optionalDependencies: - '@types/node': 22.18.0 + '@types/node': 22.18.1 - '@rushstack/ts-command-line@5.0.1(@types/node@22.18.0)': + '@rushstack/ts-command-line@5.0.1(@types/node@22.18.1)': dependencies: - '@rushstack/terminal': 0.15.3(@types/node@22.18.0) + '@rushstack/terminal': 0.15.3(@types/node@22.18.1) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -18307,6 +18448,11 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/abort-controller@4.1.0': + dependencies: + '@smithy/types': 4.4.0 + tslib: 2.8.1 + '@smithy/config-resolver@4.1.4': dependencies: '@smithy/node-config-provider': 4.1.4 @@ -18315,6 +18461,20 @@ snapshots: '@smithy/util-middleware': 4.0.5 tslib: 2.8.1 + '@smithy/core@3.10.0': + dependencies: + '@smithy/middleware-serde': 4.1.0 + '@smithy/protocol-http': 5.2.0 + '@smithy/types': 4.4.0 + '@smithy/util-base64': 4.1.0 + '@smithy/util-body-length-browser': 4.1.0 + '@smithy/util-middleware': 4.1.0 + '@smithy/util-stream': 4.3.0 + '@smithy/util-utf8': 4.1.0 + '@types/uuid': 9.0.8 + tslib: 2.8.1 + uuid: 9.0.1 + '@smithy/core@3.9.0': dependencies: '@smithy/middleware-serde': 4.0.9 @@ -18383,6 +18543,14 @@ snapshots: '@smithy/util-base64': 4.0.0 tslib: 2.8.1 + '@smithy/fetch-http-handler@5.2.0': + dependencies: + '@smithy/protocol-http': 5.2.0 + '@smithy/querystring-builder': 4.1.0 + '@smithy/types': 4.4.0 + '@smithy/util-base64': 4.1.0 + tslib: 2.8.1 + '@smithy/hash-node@4.0.4': dependencies: '@smithy/types': 4.3.2 @@ -18403,6 +18571,10 @@ snapshots: dependencies: tslib: 2.8.1 + '@smithy/is-array-buffer@4.1.0': + dependencies: + tslib: 2.8.1 + '@smithy/middleware-content-length@4.0.4': dependencies: '@smithy/protocol-http': 5.1.3 @@ -18420,15 +18592,26 @@ snapshots: '@smithy/util-middleware': 4.0.5 tslib: 2.8.1 - '@smithy/middleware-retry@4.1.20': + '@smithy/middleware-endpoint@4.2.0': dependencies: - '@smithy/node-config-provider': 4.1.4 - '@smithy/protocol-http': 5.1.3 - '@smithy/service-error-classification': 4.0.7 - '@smithy/smithy-client': 4.5.0 - '@smithy/types': 4.3.2 - '@smithy/util-middleware': 4.0.5 - '@smithy/util-retry': 4.0.7 + '@smithy/core': 3.10.0 + '@smithy/middleware-serde': 4.1.0 + '@smithy/node-config-provider': 4.2.0 + '@smithy/shared-ini-file-loader': 4.1.0 + '@smithy/types': 4.4.0 + '@smithy/url-parser': 4.1.0 + '@smithy/util-middleware': 4.1.0 + tslib: 2.8.1 + + '@smithy/middleware-retry@4.2.0': + dependencies: + '@smithy/node-config-provider': 4.2.0 + '@smithy/protocol-http': 5.2.0 + '@smithy/service-error-classification': 4.1.0 + '@smithy/smithy-client': 4.6.0 + '@smithy/types': 4.4.0 + '@smithy/util-middleware': 4.1.0 + '@smithy/util-retry': 4.1.0 '@types/uuid': 9.0.8 tslib: 2.8.1 uuid: 9.0.1 @@ -18445,11 +18628,22 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/middleware-serde@4.1.0': + dependencies: + '@smithy/protocol-http': 5.2.0 + '@smithy/types': 4.4.0 + tslib: 2.8.1 + '@smithy/middleware-stack@4.0.5': dependencies: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/middleware-stack@4.1.0': + dependencies: + '@smithy/types': 4.4.0 + tslib: 2.8.1 + '@smithy/node-config-provider@4.1.4': dependencies: '@smithy/property-provider': 4.0.5 @@ -18457,6 +18651,13 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/node-config-provider@4.2.0': + dependencies: + '@smithy/property-provider': 4.1.0 + '@smithy/shared-ini-file-loader': 4.1.0 + '@smithy/types': 4.4.0 + tslib: 2.8.1 + '@smithy/node-http-handler@4.1.0': dependencies: '@smithy/abort-controller': 4.0.4 @@ -18473,16 +18674,34 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/node-http-handler@4.2.0': + dependencies: + '@smithy/abort-controller': 4.1.0 + '@smithy/protocol-http': 5.2.0 + '@smithy/querystring-builder': 4.1.0 + '@smithy/types': 4.4.0 + tslib: 2.8.1 + '@smithy/property-provider@4.0.5': dependencies: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/property-provider@4.1.0': + dependencies: + '@smithy/types': 4.4.0 + tslib: 2.8.1 + '@smithy/protocol-http@5.1.3': dependencies: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/protocol-http@5.2.0': + dependencies: + '@smithy/types': 4.4.0 + tslib: 2.8.1 + '@smithy/querystring-builder@4.0.4': dependencies: '@smithy/types': 4.3.2 @@ -18495,6 +18714,12 @@ snapshots: '@smithy/util-uri-escape': 4.0.0 tslib: 2.8.1 + '@smithy/querystring-builder@4.1.0': + dependencies: + '@smithy/types': 4.4.0 + '@smithy/util-uri-escape': 4.1.0 + tslib: 2.8.1 + '@smithy/querystring-parser@4.0.4': dependencies: '@smithy/types': 4.3.2 @@ -18505,15 +18730,29 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/querystring-parser@4.1.0': + dependencies: + '@smithy/types': 4.4.0 + tslib: 2.8.1 + '@smithy/service-error-classification@4.0.7': dependencies: '@smithy/types': 4.3.2 + '@smithy/service-error-classification@4.1.0': + dependencies: + '@smithy/types': 4.4.0 + '@smithy/shared-ini-file-loader@4.0.5': dependencies: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/shared-ini-file-loader@4.1.0': + dependencies: + '@smithy/types': 4.4.0 + tslib: 2.8.1 + '@smithy/signature-v4@5.1.2': dependencies: '@smithy/is-array-buffer': 4.0.0 @@ -18535,10 +18774,24 @@ snapshots: '@smithy/util-stream': 4.2.4 tslib: 2.8.1 + '@smithy/smithy-client@4.6.0': + dependencies: + '@smithy/core': 3.10.0 + '@smithy/middleware-endpoint': 4.2.0 + '@smithy/middleware-stack': 4.1.0 + '@smithy/protocol-http': 5.2.0 + '@smithy/types': 4.4.0 + '@smithy/util-stream': 4.3.0 + tslib: 2.8.1 + '@smithy/types@4.3.2': dependencies: tslib: 2.8.1 + '@smithy/types@4.4.0': + dependencies: + tslib: 2.8.1 + '@smithy/url-parser@4.0.4': dependencies: '@smithy/querystring-parser': 4.0.4 @@ -18551,16 +18804,32 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/url-parser@4.1.0': + dependencies: + '@smithy/querystring-parser': 4.1.0 + '@smithy/types': 4.4.0 + tslib: 2.8.1 + '@smithy/util-base64@4.0.0': dependencies: '@smithy/util-buffer-from': 4.0.0 '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 + '@smithy/util-base64@4.1.0': + dependencies: + '@smithy/util-buffer-from': 4.1.0 + '@smithy/util-utf8': 4.1.0 + tslib: 2.8.1 + '@smithy/util-body-length-browser@4.0.0': dependencies: tslib: 2.8.1 + '@smithy/util-body-length-browser@4.1.0': + dependencies: + tslib: 2.8.1 + '@smithy/util-body-length-node@4.0.0': dependencies: tslib: 2.8.1 @@ -18575,6 +18844,11 @@ snapshots: '@smithy/is-array-buffer': 4.0.0 tslib: 2.8.1 + '@smithy/util-buffer-from@4.1.0': + dependencies: + '@smithy/is-array-buffer': 4.1.0 + tslib: 2.8.1 + '@smithy/util-config-provider@4.0.0': dependencies: tslib: 2.8.1 @@ -18607,17 +18881,32 @@ snapshots: dependencies: tslib: 2.8.1 + '@smithy/util-hex-encoding@4.1.0': + dependencies: + tslib: 2.8.1 + '@smithy/util-middleware@4.0.5': dependencies: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/util-middleware@4.1.0': + dependencies: + '@smithy/types': 4.4.0 + tslib: 2.8.1 + '@smithy/util-retry@4.0.7': dependencies: '@smithy/service-error-classification': 4.0.7 '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/util-retry@4.1.0': + dependencies: + '@smithy/service-error-classification': 4.1.0 + '@smithy/types': 4.4.0 + tslib: 2.8.1 + '@smithy/util-stream@4.2.4': dependencies: '@smithy/fetch-http-handler': 5.1.1 @@ -18629,10 +18918,25 @@ snapshots: '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 + '@smithy/util-stream@4.3.0': + dependencies: + '@smithy/fetch-http-handler': 5.2.0 + '@smithy/node-http-handler': 4.2.0 + '@smithy/types': 4.4.0 + '@smithy/util-base64': 4.1.0 + '@smithy/util-buffer-from': 4.1.0 + '@smithy/util-hex-encoding': 4.1.0 + '@smithy/util-utf8': 4.1.0 + tslib: 2.8.1 + '@smithy/util-uri-escape@4.0.0': dependencies: tslib: 2.8.1 + '@smithy/util-uri-escape@4.1.0': + dependencies: + tslib: 2.8.1 + '@smithy/util-utf8@2.3.0': dependencies: '@smithy/util-buffer-from': 2.2.0 @@ -18643,6 +18947,11 @@ snapshots: '@smithy/util-buffer-from': 4.0.0 tslib: 2.8.1 + '@smithy/util-utf8@4.1.0': + dependencies: + '@smithy/util-buffer-from': 4.1.0 + tslib: 2.8.1 + '@socket.io/component-emitter@3.1.2': {} '@sqlite.org/sqlite-wasm@3.48.0-build4': {} @@ -18657,10 +18966,10 @@ snapshots: '@standard-schema/spec@1.0.0': {} - '@stylistic/eslint-plugin@4.4.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': + '@stylistic/eslint-plugin@4.4.1(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@typescript-eslint/utils': 8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) - eslint: 9.34.0(jiti@2.5.1) + '@typescript-eslint/utils': 8.40.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.35.0(jiti@2.5.1) eslint-visitor-keys: 4.2.1 espree: 10.4.0 estraverse: 5.3.0 @@ -18685,15 +18994,15 @@ snapshots: dependencies: acorn: 8.15.0 - '@sveltejs/adapter-auto@6.1.0(@sveltejs/kit@2.37.0(@sveltejs/vite-plugin-svelte@6.1.4(svelte@5.38.6)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.6)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)))': + '@sveltejs/adapter-auto@6.1.0(@sveltejs/kit@2.37.1(@sveltejs/vite-plugin-svelte@6.1.4(svelte@5.38.7)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.7)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)))': dependencies: - '@sveltejs/kit': 2.37.0(@sveltejs/vite-plugin-svelte@6.1.4(svelte@5.38.6)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.6)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) + '@sveltejs/kit': 2.37.1(@sveltejs/vite-plugin-svelte@6.1.4(svelte@5.38.7)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.7)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) - '@sveltejs/kit@2.37.0(@sveltejs/vite-plugin-svelte@6.1.4(svelte@5.38.6)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.6)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))': + '@sveltejs/kit@2.37.1(@sveltejs/vite-plugin-svelte@6.1.4(svelte@5.38.7)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.7)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))': dependencies: '@standard-schema/spec': 1.0.0 '@sveltejs/acorn-typescript': 1.0.5(acorn@8.15.0) - '@sveltejs/vite-plugin-svelte': 6.1.4(svelte@5.38.6)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) + '@sveltejs/vite-plugin-svelte': 6.1.4(svelte@5.38.7)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) '@types/cookie': 0.6.0 acorn: 8.15.0 cookie: 1.0.2 @@ -18704,26 +19013,26 @@ snapshots: mrmime: 2.0.1 sade: 1.8.1 set-cookie-parser: 2.7.1 - sirv: 3.0.1 - svelte: 5.38.6 + sirv: 3.0.2 + svelte: 5.38.7 vite: 7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) - '@sveltejs/vite-plugin-svelte-inspector@5.0.1(@sveltejs/vite-plugin-svelte@6.1.4(svelte@5.38.6)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.6)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))': + '@sveltejs/vite-plugin-svelte-inspector@5.0.1(@sveltejs/vite-plugin-svelte@6.1.4(svelte@5.38.7)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.7)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))': dependencies: - '@sveltejs/vite-plugin-svelte': 6.1.4(svelte@5.38.6)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) + '@sveltejs/vite-plugin-svelte': 6.1.4(svelte@5.38.7)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) debug: 4.4.1(supports-color@6.0.0) - svelte: 5.38.6 + svelte: 5.38.7 vite: 7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@6.1.4(svelte@5.38.6)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))': + '@sveltejs/vite-plugin-svelte@6.1.4(svelte@5.38.7)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 5.0.1(@sveltejs/vite-plugin-svelte@6.1.4(svelte@5.38.6)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.6)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) + '@sveltejs/vite-plugin-svelte-inspector': 5.0.1(@sveltejs/vite-plugin-svelte@6.1.4(svelte@5.38.7)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.7)(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) debug: 4.4.1(supports-color@6.0.0) deepmerge: 4.3.1 magic-string: 0.30.18 - svelte: 5.38.6 + svelte: 5.38.7 vite: 7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) vitefu: 1.1.1(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) transitivePeerDependencies: @@ -18793,7 +19102,7 @@ snapshots: dependencies: defer-to-connect: 2.0.1 - '@tailwindcss/node@4.1.12': + '@tailwindcss/node@4.1.13': dependencies: '@jridgewell/remapping': 2.3.5 enhanced-resolve: 5.18.3 @@ -18801,75 +19110,75 @@ snapshots: lightningcss: 1.30.1 magic-string: 0.30.18 source-map-js: 1.2.1 - tailwindcss: 4.1.12 + tailwindcss: 4.1.13 - '@tailwindcss/oxide-android-arm64@4.1.12': + '@tailwindcss/oxide-android-arm64@4.1.13': optional: true - '@tailwindcss/oxide-darwin-arm64@4.1.12': + '@tailwindcss/oxide-darwin-arm64@4.1.13': optional: true - '@tailwindcss/oxide-darwin-x64@4.1.12': + '@tailwindcss/oxide-darwin-x64@4.1.13': optional: true - '@tailwindcss/oxide-freebsd-x64@4.1.12': + '@tailwindcss/oxide-freebsd-x64@4.1.13': optional: true - '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.12': + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.13': optional: true - '@tailwindcss/oxide-linux-arm64-gnu@4.1.12': + '@tailwindcss/oxide-linux-arm64-gnu@4.1.13': optional: true - '@tailwindcss/oxide-linux-arm64-musl@4.1.12': + '@tailwindcss/oxide-linux-arm64-musl@4.1.13': optional: true - '@tailwindcss/oxide-linux-x64-gnu@4.1.12': + '@tailwindcss/oxide-linux-x64-gnu@4.1.13': optional: true - '@tailwindcss/oxide-linux-x64-musl@4.1.12': + '@tailwindcss/oxide-linux-x64-musl@4.1.13': optional: true - '@tailwindcss/oxide-wasm32-wasi@4.1.12': + '@tailwindcss/oxide-wasm32-wasi@4.1.13': optional: true - '@tailwindcss/oxide-win32-arm64-msvc@4.1.12': + '@tailwindcss/oxide-win32-arm64-msvc@4.1.13': optional: true - '@tailwindcss/oxide-win32-x64-msvc@4.1.12': + '@tailwindcss/oxide-win32-x64-msvc@4.1.13': optional: true - '@tailwindcss/oxide@4.1.12': + '@tailwindcss/oxide@4.1.13': dependencies: detect-libc: 2.0.4 tar: 7.4.3 optionalDependencies: - '@tailwindcss/oxide-android-arm64': 4.1.12 - '@tailwindcss/oxide-darwin-arm64': 4.1.12 - '@tailwindcss/oxide-darwin-x64': 4.1.12 - '@tailwindcss/oxide-freebsd-x64': 4.1.12 - '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.12 - '@tailwindcss/oxide-linux-arm64-gnu': 4.1.12 - '@tailwindcss/oxide-linux-arm64-musl': 4.1.12 - '@tailwindcss/oxide-linux-x64-gnu': 4.1.12 - '@tailwindcss/oxide-linux-x64-musl': 4.1.12 - '@tailwindcss/oxide-wasm32-wasi': 4.1.12 - '@tailwindcss/oxide-win32-arm64-msvc': 4.1.12 - '@tailwindcss/oxide-win32-x64-msvc': 4.1.12 + '@tailwindcss/oxide-android-arm64': 4.1.13 + '@tailwindcss/oxide-darwin-arm64': 4.1.13 + '@tailwindcss/oxide-darwin-x64': 4.1.13 + '@tailwindcss/oxide-freebsd-x64': 4.1.13 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.13 + '@tailwindcss/oxide-linux-arm64-gnu': 4.1.13 + '@tailwindcss/oxide-linux-arm64-musl': 4.1.13 + '@tailwindcss/oxide-linux-x64-gnu': 4.1.13 + '@tailwindcss/oxide-linux-x64-musl': 4.1.13 + '@tailwindcss/oxide-wasm32-wasi': 4.1.13 + '@tailwindcss/oxide-win32-arm64-msvc': 4.1.13 + '@tailwindcss/oxide-win32-x64-msvc': 4.1.13 - '@tailwindcss/typography@0.5.16(tailwindcss@4.1.12)': + '@tailwindcss/typography@0.5.16(tailwindcss@4.1.13)': dependencies: lodash.castarray: 4.4.0 lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 postcss-selector-parser: 6.0.10 - tailwindcss: 4.1.12 + tailwindcss: 4.1.13 - '@tailwindcss/vite@4.1.12(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))': + '@tailwindcss/vite@4.1.13(vite@7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))': dependencies: - '@tailwindcss/node': 4.1.12 - '@tailwindcss/oxide': 4.1.12 - tailwindcss: 4.1.12 + '@tailwindcss/node': 4.1.13 + '@tailwindcss/oxide': 4.1.13 + tailwindcss: 4.1.13 vite: 7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) '@testing-library/dom@10.4.0': @@ -18929,7 +19238,7 @@ snapshots: '@types/appdmg@0.5.5': dependencies: - '@types/node': 22.18.0 + '@types/node': 22.18.1 optional: true '@types/archiver@6.0.3': @@ -18947,11 +19256,11 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 22.18.0 + '@types/node': 22.18.1 '@types/bonjour@3.5.13': dependencies: - '@types/node': 22.18.0 + '@types/node': 22.18.1 '@types/bootstrap@5.2.10': dependencies: @@ -18961,7 +19270,7 @@ snapshots: dependencies: '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 - '@types/node': 22.18.0 + '@types/node': 22.18.1 '@types/responselike': 1.0.3 '@types/chai@5.2.2': @@ -18986,11 +19295,11 @@ snapshots: '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 5.0.7 - '@types/node': 22.18.0 + '@types/node': 22.18.1 '@types/connect@3.4.38': dependencies: - '@types/node': 22.18.0 + '@types/node': 22.18.1 '@types/cookie-parser@1.4.9(@types/express@5.0.3)': dependencies: @@ -19157,7 +19466,7 @@ snapshots: '@types/express-serve-static-core@5.0.7': dependencies: - '@types/node': 22.18.0 + '@types/node': 22.18.1 '@types/qs': 6.14.0 '@types/range-parser': 1.2.7 '@types/send': 0.17.5 @@ -19186,7 +19495,7 @@ snapshots: '@types/fs-extra@9.0.13': dependencies: - '@types/node': 22.18.0 + '@types/node': 22.18.1 optional: true '@types/geojson-vt@3.2.5': @@ -19198,7 +19507,7 @@ snapshots: '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 22.18.0 + '@types/node': 22.18.1 '@types/hast@3.0.4': dependencies: @@ -19212,7 +19521,7 @@ snapshots: '@types/http-proxy@1.17.16': dependencies: - '@types/node': 22.18.0 + '@types/node': 22.18.1 '@types/ini@4.1.1': {} @@ -19232,13 +19541,13 @@ snapshots: '@types/jsonfile@6.1.4': dependencies: - '@types/node': 22.18.0 + '@types/node': 22.18.1 '@types/keyv@3.1.4': dependencies: - '@types/node': 22.18.0 + '@types/node': 22.18.1 - '@types/leaflet-gpx@1.3.7': + '@types/leaflet-gpx@1.3.8': dependencies: '@types/leaflet': 1.9.20 @@ -19286,7 +19595,7 @@ snapshots: '@types/node-forge@1.3.13': dependencies: - '@types/node': 22.18.0 + '@types/node': 22.18.1 '@types/node@16.9.1': {} @@ -19310,6 +19619,10 @@ snapshots: dependencies: undici-types: 6.21.0 + '@types/node@22.18.1': + dependencies: + undici-types: 6.21.0 + '@types/node@24.3.0': dependencies: undici-types: 7.10.0 @@ -19339,13 +19652,13 @@ snapshots: '@types/readdir-glob@1.1.5': dependencies: - '@types/node': 22.18.0 + '@types/node': 22.18.1 '@types/resolve@1.20.2': {} '@types/responselike@1.0.3': dependencies: - '@types/node': 22.18.0 + '@types/node': 22.18.1 '@types/retry@0.12.2': {} @@ -19362,12 +19675,12 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.18.0 + '@types/node': 22.18.1 '@types/send@0.17.5': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.18.0 + '@types/node': 22.18.1 '@types/serve-favicon@2.5.7': dependencies: @@ -19394,7 +19707,7 @@ snapshots: '@types/sockjs@0.3.36': dependencies: - '@types/node': 22.18.0 + '@types/node': 22.18.1 '@types/statuses@2.0.6': optional: true @@ -19407,7 +19720,7 @@ snapshots: dependencies: '@types/cookiejar': 2.1.5 '@types/methods': 1.1.4 - '@types/node': 22.18.0 + '@types/node': 22.18.1 form-data: 4.0.4 '@types/supercluster@7.1.3': @@ -19430,7 +19743,7 @@ snapshots: '@types/through2@2.0.41': dependencies: - '@types/node': 22.18.0 + '@types/node': 22.18.1 '@types/tmp@0.2.6': {} @@ -19467,18 +19780,18 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 22.18.0 + '@types/node': 22.18.1 optional: true - '@typescript-eslint/eslint-plugin@8.40.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': + '@typescript-eslint/eslint-plugin@8.40.0(@typescript-eslint/parser@8.40.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/parser': 8.40.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/scope-manager': 8.40.0 - '@typescript-eslint/type-utils': 8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) - '@typescript-eslint/utils': 8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/type-utils': 8.40.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/utils': 8.40.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/visitor-keys': 8.40.0 - eslint: 9.34.0(jiti@2.5.1) + eslint: 9.35.0(jiti@2.5.1) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 @@ -19487,15 +19800,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': + '@typescript-eslint/eslint-plugin@8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/parser': 8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/scope-manager': 8.42.0 - '@typescript-eslint/type-utils': 8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) - '@typescript-eslint/utils': 8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/type-utils': 8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/utils': 8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/visitor-keys': 8.42.0 - eslint: 9.34.0(jiti@2.5.1) + eslint: 9.35.0(jiti@2.5.1) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 @@ -19504,26 +19817,26 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': + '@typescript-eslint/parser@8.40.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@typescript-eslint/scope-manager': 8.40.0 '@typescript-eslint/types': 8.40.0 '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) '@typescript-eslint/visitor-keys': 8.40.0 debug: 4.4.1(supports-color@6.0.0) - eslint: 9.34.0(jiti@2.5.1) + eslint: 9.35.0(jiti@2.5.1) typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': + '@typescript-eslint/parser@8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@typescript-eslint/scope-manager': 8.42.0 '@typescript-eslint/types': 8.42.0 '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2) '@typescript-eslint/visitor-keys': 8.42.0 debug: 4.4.1(supports-color@6.0.0) - eslint: 9.34.0(jiti@2.5.1) + eslint: 9.35.0(jiti@2.5.1) typescript: 5.9.2 transitivePeerDependencies: - supports-color @@ -19564,25 +19877,25 @@ snapshots: dependencies: typescript: 5.9.2 - '@typescript-eslint/type-utils@8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': + '@typescript-eslint/type-utils@8.40.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@typescript-eslint/types': 8.40.0 '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/utils': 8.40.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) debug: 4.4.1(supports-color@6.0.0) - eslint: 9.34.0(jiti@2.5.1) + eslint: 9.35.0(jiti@2.5.1) ts-api-utils: 2.1.0(typescript@5.9.2) typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': + '@typescript-eslint/type-utils@8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@typescript-eslint/types': 8.42.0 '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/utils': 8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) debug: 4.4.1(supports-color@6.0.0) - eslint: 9.34.0(jiti@2.5.1) + eslint: 9.35.0(jiti@2.5.1) ts-api-utils: 2.1.0(typescript@5.9.2) typescript: 5.9.2 transitivePeerDependencies: @@ -19624,24 +19937,24 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': + '@typescript-eslint/utils@8.40.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@eslint-community/eslint-utils': 4.8.0(eslint@9.34.0(jiti@2.5.1)) + '@eslint-community/eslint-utils': 4.8.0(eslint@9.35.0(jiti@2.5.1)) '@typescript-eslint/scope-manager': 8.40.0 '@typescript-eslint/types': 8.40.0 '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) - eslint: 9.34.0(jiti@2.5.1) + eslint: 9.35.0(jiti@2.5.1) typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': + '@typescript-eslint/utils@8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0(jiti@2.5.1)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.35.0(jiti@2.5.1)) '@typescript-eslint/scope-manager': 8.42.0 '@typescript-eslint/types': 8.42.0 '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2) - eslint: 9.34.0(jiti@2.5.1) + eslint: 9.35.0(jiti@2.5.1) typescript: 5.9.2 transitivePeerDependencies: - supports-color @@ -19678,16 +19991,16 @@ snapshots: - bufferutil - utf-8-validate - '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.0)(typescript@5.9.2))(playwright@1.55.0)(utf-8-validate@6.0.5)(vite@7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.19.2(bufferutil@4.0.9)(utf-8-validate@6.0.5))': + '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.1)(typescript@5.9.2))(playwright@1.55.0)(utf-8-validate@6.0.5)(vite@7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.19.2(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@22.18.0)(typescript@5.9.2))(vite@7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@22.18.1)(typescript@5.9.2))(vite@7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) '@vitest/utils': 3.2.4 magic-string: 0.30.17 sirv: 3.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.0)(typescript@5.9.2))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.1)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.1)(typescript@5.9.2))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: playwright: 1.55.0 @@ -19710,7 +20023,7 @@ snapshots: magicast: 0.3.5 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.0)(typescript@5.9.2))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.1)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.1)(typescript@5.9.2))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) transitivePeerDependencies: - supports-color @@ -19729,9 +20042,9 @@ snapshots: std-env: 3.9.0 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.0)(typescript@5.9.2))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.1)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.1)(typescript@5.9.2))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) optionalDependencies: - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.0)(typescript@5.9.2))(playwright@1.55.0)(utf-8-validate@6.0.5)(vite@7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.19.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.1)(typescript@5.9.2))(playwright@1.55.0)(utf-8-validate@6.0.5)(vite@7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.19.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)) transitivePeerDependencies: - supports-color @@ -19743,23 +20056,23 @@ snapshots: chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@22.18.0)(typescript@5.9.2))(vite@7.1.3(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))': + '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@22.18.1)(typescript@5.9.2))(vite@7.1.3(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - msw: 2.7.5(@types/node@22.18.0)(typescript@5.9.2) - vite: 7.1.3(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + msw: 2.7.5(@types/node@22.18.1)(typescript@5.9.2) + vite: 7.1.3(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) - '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@22.18.0)(typescript@5.9.2))(vite@7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))': + '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@22.18.1)(typescript@5.9.2))(vite@7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - msw: 2.7.5(@types/node@22.18.0)(typescript@5.9.2) - vite: 7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + msw: 2.7.5(@types/node@22.18.1)(typescript@5.9.2) + vite: 7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) '@vitest/pretty-format@3.2.4': dependencies: @@ -19790,7 +20103,7 @@ snapshots: sirv: 3.0.1 tinyglobby: 0.2.14 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.0)(typescript@5.9.2))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.1)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.1)(typescript@5.9.2))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) '@vitest/utils@3.2.4': dependencies: @@ -20307,7 +20620,7 @@ snapshots: babel-plugin-macros@3.1.0: dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.28.4 cosmiconfig: 7.1.0 resolve: 1.22.10 optional: true @@ -22427,25 +22740,25 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-ckeditor5@12.1.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2): + eslint-config-ckeditor5@12.1.1(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2): dependencies: - '@eslint/js': 9.34.0 + '@eslint/js': 9.35.0 '@eslint/markdown': 6.6.0 - '@stylistic/eslint-plugin': 4.4.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) - eslint: 9.34.0(jiti@2.5.1) + '@stylistic/eslint-plugin': 4.4.1(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.35.0(jiti@2.5.1) eslint-plugin-ckeditor5-rules: 12.1.1 - eslint-plugin-mocha: 11.1.0(eslint@9.34.0(jiti@2.5.1)) + eslint-plugin-mocha: 11.1.0(eslint@9.35.0(jiti@2.5.1)) globals: 16.3.0 typescript: 5.9.2 - typescript-eslint: 8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + typescript-eslint: 8.40.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) transitivePeerDependencies: - supports-color - eslint-config-prettier@10.1.8(eslint@9.34.0(jiti@2.5.1)): + eslint-config-prettier@10.1.8(eslint@9.35.0(jiti@2.5.1)): dependencies: - eslint: 9.34.0(jiti@2.5.1) + eslint: 9.35.0(jiti@2.5.1) - eslint-linter-browserify@9.34.0: {} + eslint-linter-browserify@9.35.0: {} eslint-plugin-ckeditor5-rules@12.1.1: dependencies: @@ -22457,26 +22770,26 @@ snapshots: validate-npm-package-name: 6.0.2 yaml: 2.8.1 - eslint-plugin-mocha@11.1.0(eslint@9.34.0(jiti@2.5.1)): + eslint-plugin-mocha@11.1.0(eslint@9.35.0(jiti@2.5.1)): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0(jiti@2.5.1)) - eslint: 9.34.0(jiti@2.5.1) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.35.0(jiti@2.5.1)) + eslint: 9.35.0(jiti@2.5.1) globals: 15.15.0 - eslint-plugin-playwright@2.2.2(eslint@9.34.0(jiti@2.5.1)): + eslint-plugin-playwright@2.2.2(eslint@9.35.0(jiti@2.5.1)): dependencies: - eslint: 9.34.0(jiti@2.5.1) + eslint: 9.35.0(jiti@2.5.1) globals: 13.24.0 - eslint-plugin-react-hooks@5.2.0(eslint@9.34.0(jiti@2.5.1)): + eslint-plugin-react-hooks@5.2.0(eslint@9.35.0(jiti@2.5.1)): dependencies: - eslint: 9.34.0(jiti@2.5.1) + eslint: 9.35.0(jiti@2.5.1) - eslint-plugin-svelte@3.12.0(eslint@9.34.0(jiti@2.5.1))(svelte@5.38.6)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.3.0)(typescript@5.9.2)): + eslint-plugin-svelte@3.12.1(eslint@9.35.0(jiti@2.5.1))(svelte@5.38.7)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.3.0)(typescript@5.9.2)): dependencies: - '@eslint-community/eslint-utils': 4.8.0(eslint@9.34.0(jiti@2.5.1)) + '@eslint-community/eslint-utils': 4.8.0(eslint@9.35.0(jiti@2.5.1)) '@jridgewell/sourcemap-codec': 1.5.5 - eslint: 9.34.0(jiti@2.5.1) + eslint: 9.35.0(jiti@2.5.1) esutils: 2.0.3 globals: 16.3.0 known-css-properties: 0.37.0 @@ -22484,9 +22797,9 @@ snapshots: postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.3.0)(typescript@5.9.2)) postcss-safe-parser: 7.0.1(postcss@8.5.6) semver: 7.7.2 - svelte-eslint-parser: 1.3.1(svelte@5.38.6) + svelte-eslint-parser: 1.3.1(svelte@5.38.7) optionalDependencies: - svelte: 5.38.6 + svelte: 5.38.7 transitivePeerDependencies: - ts-node @@ -22504,17 +22817,17 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint@9.34.0(jiti@2.5.1): + eslint@9.35.0(jiti@2.5.1): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0(jiti@2.5.1)) + '@eslint-community/eslint-utils': 4.8.0(eslint@9.35.0(jiti@2.5.1)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.21.0 '@eslint/config-helpers': 0.3.1 '@eslint/core': 0.15.2 '@eslint/eslintrc': 3.3.1 - '@eslint/js': 9.34.0 + '@eslint/js': 9.35.0 '@eslint/plugin-kit': 0.3.5 - '@humanfs/node': 0.16.6 + '@humanfs/node': 0.16.7 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 '@types/estree': 1.0.8 @@ -22653,7 +22966,7 @@ snapshots: transitivePeerDependencies: - supports-color - express-rate-limit@8.0.1(express@5.1.0): + express-rate-limit@8.1.0(express@5.1.0): dependencies: express: 5.1.0 ip-address: 10.0.1 @@ -22962,7 +23275,7 @@ snapshots: dependencies: is-callable: 1.2.7 - force-graph@1.50.1: + force-graph@1.51.0: dependencies: '@tweenjs/tween.js': 25.0.0 accessor-fn: 1.5.3 @@ -23757,7 +24070,7 @@ snapshots: transitivePeerDependencies: - encoding - i18next@25.4.2(typescript@5.9.2): + i18next@25.5.2(typescript@5.9.2): dependencies: '@babel/runtime': 7.27.6 optionalDependencies: @@ -24160,13 +24473,13 @@ snapshots: jest-worker@26.6.2: dependencies: - '@types/node': 22.18.0 + '@types/node': 22.18.1 merge-stream: 2.0.0 supports-color: 7.2.0 jest-worker@27.5.1: dependencies: - '@types/node': 22.18.0 + '@types/node': 22.18.1 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -24821,6 +25134,8 @@ snapshots: markdown-table@3.0.4: {} + marked@15.0.12: {} + marked@16.2.1: {} matcher@3.0.0: @@ -24970,13 +25285,13 @@ snapshots: mdn-data@2.12.2: {} - mdsvex@0.12.6(svelte@5.38.6): + mdsvex@0.12.6(svelte@5.38.7): dependencies: '@types/mdast': 4.0.4 '@types/unist': 2.0.11 prism-svelte: 0.4.7 prismjs: 1.30.0 - svelte: 5.38.6 + svelte: 5.38.7 unist-util-visit: 2.0.3 vfile-message: 2.0.4 @@ -25007,10 +25322,10 @@ snapshots: merge2@1.4.1: {} - mermaid@11.10.1: + mermaid@11.11.0: dependencies: '@braintree/sanitize-url': 7.1.1 - '@iconify/utils': 2.3.0 + '@iconify/utils': 3.0.1 '@mermaid-js/parser': 0.6.2 '@types/d3': 7.4.3 cytoscape: 3.31.2 @@ -25024,7 +25339,7 @@ snapshots: katex: 0.16.22 khroma: 2.1.0 lodash-es: 4.17.21 - marked: 16.2.1 + marked: 15.0.12 roughjs: 4.6.6 stylis: 4.3.6 ts-dedent: 2.2.0 @@ -25458,12 +25773,12 @@ snapshots: ms@2.1.3: {} - msw@2.7.5(@types/node@22.18.0)(typescript@5.9.2): + msw@2.7.5(@types/node@22.18.1)(typescript@5.9.2): dependencies: '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.1.16(@types/node@22.18.0) + '@inquirer/confirm': 5.1.16(@types/node@22.18.1) '@mswjs/interceptors': 0.37.6 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 @@ -25933,9 +26248,7 @@ snapshots: package-json-from-dist@1.0.1: {} - package-manager-detector@0.2.11: - dependencies: - quansync: 0.2.10 + package-manager-detector@1.3.0: {} pacote@21.0.0: dependencies: @@ -27037,7 +27350,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 22.18.0 + '@types/node': 22.18.1 long: 5.3.2 protocol-buffers-schema@3.6.0: {} @@ -27179,11 +27492,11 @@ snapshots: react: 16.14.0 scheduler: 0.26.0 - react-i18next@15.7.3(i18next@25.4.2(typescript@5.9.2))(react-dom@19.1.0(react@16.14.0))(react@16.14.0)(typescript@5.9.2): + react-i18next@15.7.3(i18next@25.5.2(typescript@5.9.2))(react-dom@19.1.0(react@16.14.0))(react@16.14.0)(typescript@5.9.2): dependencies: '@babel/runtime': 7.27.6 html-parse-stringify: 3.0.1 - i18next: 25.4.2(typescript@5.9.2) + i18next: 25.5.2(typescript@5.9.2) react: 16.14.0 optionalDependencies: react-dom: 19.1.0(react@16.14.0) @@ -27531,11 +27844,11 @@ snapshots: '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.29 '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.29 - rollup-plugin-stats@1.5.0(rolldown@1.0.0-beta.29)(rollup@4.50.0)(vite@7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)): + rollup-plugin-stats@1.5.0(rolldown@1.0.0-beta.29)(rollup@4.50.0)(vite@7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)): optionalDependencies: rolldown: 1.0.0-beta.29 rollup: 4.50.0 - vite: 7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + vite: 7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) rollup-plugin-styles@4.0.0(rollup@4.40.0): dependencies: @@ -27564,13 +27877,13 @@ snapshots: '@rollup/pluginutils': 5.1.4(rollup@4.40.0) rollup: 4.40.0 - rollup-plugin-webpack-stats@2.1.4(rolldown@1.0.0-beta.29)(rollup@4.50.0)(vite@7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)): + rollup-plugin-webpack-stats@2.1.4(rolldown@1.0.0-beta.29)(rollup@4.50.0)(vite@7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)): dependencies: rolldown: 1.0.0-beta.29 - rollup-plugin-stats: 1.5.0(rolldown@1.0.0-beta.29)(rollup@4.50.0)(vite@7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) + rollup-plugin-stats: 1.5.0(rolldown@1.0.0-beta.29)(rollup@4.50.0)(vite@7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) optionalDependencies: rollup: 4.50.0 - vite: 7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + vite: 7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) rollup@4.40.0: dependencies: @@ -28092,6 +28405,12 @@ snapshots: mrmime: 2.0.1 totalist: 3.0.1 + sirv@3.0.2: + dependencies: + '@polka/url': 1.0.0-next.29 + mrmime: 2.0.1 + totalist: 3.0.1 + slash@3.0.0: {} slice-ansi@4.0.0: @@ -28668,19 +28987,19 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@4.3.1(picomatch@4.0.3)(svelte@5.38.6)(typescript@5.9.2): + svelte-check@4.3.1(picomatch@4.0.3)(svelte@5.38.7)(typescript@5.9.2): dependencies: '@jridgewell/trace-mapping': 0.3.29 chokidar: 4.0.3 fdir: 6.4.6(picomatch@4.0.3) picocolors: 1.1.1 sade: 1.8.1 - svelte: 5.38.6 + svelte: 5.38.7 typescript: 5.9.2 transitivePeerDependencies: - picomatch - svelte-eslint-parser@1.3.1(svelte@5.38.6): + svelte-eslint-parser@1.3.1(svelte@5.38.7): dependencies: eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -28689,9 +29008,9 @@ snapshots: postcss-scss: 4.0.9(postcss@8.5.6) postcss-selector-parser: 7.1.0 optionalDependencies: - svelte: 5.38.6 + svelte: 5.38.7 - svelte@5.38.6: + svelte@5.38.7: dependencies: '@jridgewell/remapping': 2.3.5 '@jridgewell/sourcemap-codec': 1.5.5 @@ -28788,7 +29107,7 @@ snapshots: tabulator-tables@6.3.1: {} - tailwindcss@4.1.12: {} + tailwindcss@4.1.13: {} tapable@2.2.2: {} @@ -28943,6 +29262,8 @@ snapshots: tinyexec@0.3.2: {} + tinyexec@1.0.1: {} + tinyglobby@0.2.14: dependencies: fdir: 6.5.0(picomatch@4.0.3) @@ -29050,14 +29371,14 @@ snapshots: typescript: 5.0.4 webpack: 5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.9) - ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.0)(typescript@5.0.4): + ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.1)(typescript@5.0.4): 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.18.0 + '@types/node': 22.18.1 acorn: 8.14.1 acorn-walk: 8.3.4 arg: 4.1.3 @@ -29070,14 +29391,14 @@ snapshots: optionalDependencies: '@swc/core': 1.11.29(@swc/helpers@0.5.17) - ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.0)(typescript@5.9.2): + ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.1)(typescript@5.9.2): 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.18.0 + '@types/node': 22.18.1 acorn: 8.14.1 acorn-walk: 8.3.4 arg: 4.1.3 @@ -29218,24 +29539,24 @@ snapshots: typedarray@0.0.6: {} - typescript-eslint@8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2): + typescript-eslint@8.40.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.40.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) - '@typescript-eslint/parser': 8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/eslint-plugin': 8.40.0(@typescript-eslint/parser@8.40.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/parser': 8.40.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) - eslint: 9.34.0(jiti@2.5.1) + '@typescript-eslint/utils': 8.40.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.35.0(jiti@2.5.1) typescript: 5.9.2 transitivePeerDependencies: - supports-color - typescript-eslint@8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2): + typescript-eslint@8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) - '@typescript-eslint/parser': 8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/eslint-plugin': 8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/parser': 8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) - eslint: 9.34.0(jiti@2.5.1) + '@typescript-eslint/utils': 8.42.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.35.0(jiti@2.5.1) typescript: 5.9.2 transitivePeerDependencies: - supports-color @@ -29492,13 +29813,13 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-node@3.2.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1): + vite-node@3.2.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1): dependencies: cac: 6.7.14 debug: 4.4.1(supports-color@6.0.0) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.1.3(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + vite: 7.1.3(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) transitivePeerDependencies: - '@types/node' - jiti @@ -29513,9 +29834,9 @@ snapshots: - tsx - yaml - vite-plugin-dts@4.5.4(@types/node@22.18.0)(rollup@4.50.0)(typescript@5.9.2)(vite@7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)): + vite-plugin-dts@4.5.4(@types/node@22.18.1)(rollup@4.50.0)(typescript@5.9.2)(vite@7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)): dependencies: - '@microsoft/api-extractor': 7.52.8(@types/node@22.18.0) + '@microsoft/api-extractor': 7.52.8(@types/node@22.18.1) '@rollup/pluginutils': 5.1.4(rollup@4.50.0) '@volar/typescript': 2.4.13 '@vue/language-core': 2.2.0(typescript@5.9.2) @@ -29526,7 +29847,7 @@ snapshots: magic-string: 0.30.17 typescript: 5.9.2 optionalDependencies: - vite: 7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + vite: 7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) transitivePeerDependencies: - '@types/node' - rollup @@ -29541,11 +29862,11 @@ snapshots: tinyglobby: 0.2.14 vite: 7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) - vite-plugin-svgo@2.0.0(typescript@5.9.2)(vite@7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)): + vite-plugin-svgo@2.0.0(typescript@5.9.2)(vite@7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)): dependencies: svgo: 3.3.2 typescript: 5.9.2 - vite: 7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + vite: 7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) vite-prerender-plugin@0.5.11(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)): dependencies: @@ -29567,7 +29888,7 @@ snapshots: stack-trace: 1.0.0-pre2 vite: 7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) - vite@7.1.3(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1): + vite@7.1.3(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1): dependencies: esbuild: 0.25.9 fdir: 6.5.0(picomatch@4.0.3) @@ -29576,7 +29897,7 @@ snapshots: rollup: 4.50.0 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 22.18.0 + '@types/node': 22.18.1 fsevents: 2.3.3 jiti: 2.5.1 less: 4.1.3 @@ -29607,7 +29928,7 @@ snapshots: tsx: 4.20.5 yaml: 2.8.1 - vite@7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1): + vite@7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1): dependencies: esbuild: 0.25.9 fdir: 6.5.0(picomatch@4.0.3) @@ -29616,7 +29937,7 @@ snapshots: rollup: 4.50.0 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 22.18.0 + '@types/node': 22.18.1 fsevents: 2.3.3 jiti: 2.5.1 less: 4.1.3 @@ -29651,11 +29972,11 @@ snapshots: optionalDependencies: vite: 7.1.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) - vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.18.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.0)(typescript@5.9.2))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.18.1)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.1)(typescript@5.9.2))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@22.18.0)(typescript@5.9.2))(vite@7.1.3(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@22.18.1)(typescript@5.9.2))(vite@7.1.3(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -29673,13 +29994,13 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.1.3(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) - vite-node: 3.2.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + vite: 7.1.3(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + vite-node: 3.2.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 22.18.0 - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.0)(typescript@5.9.2))(playwright@1.55.0)(utf-8-validate@6.0.5)(vite@7.1.4(@types/node@22.18.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.19.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@types/node': 22.18.1 + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.1)(typescript@5.9.2))(playwright@1.55.0)(utf-8-validate@6.0.5)(vite@7.1.4(@types/node@22.18.1)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.19.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/ui': 3.2.4(vitest@3.2.4) happy-dom: 18.0.1 jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) diff --git a/requirements-docs.txt b/requirements-docs.txt new file mode 100644 index 000000000..a7fa25aec --- /dev/null +++ b/requirements-docs.txt @@ -0,0 +1,21 @@ +# MkDocs and Material theme requirements for Trilium documentation +mkdocs>=1.6.0 +mkdocs-material>=9.5.0 +mkdocs-material-extensions>=1.3.0 + +# Essential plugins +mkdocs-awesome-pages-plugin>=2.9.0 # Auto-generate navigation from folder structure +mkdocs-minify-plugin>=0.8.0 +mkdocs-git-revision-date-localized-plugin>=1.2.0 + +# Optional but recommended plugins +mkdocs-redirects>=1.2.0 +mkdocs-rss-plugin>=1.12.0 +mkdocs-glightbox>=0.3.0 + +# For advanced features +pillow>=10.0.0 # For social cards generation +cairosvg>=2.7.0 # For social cards with SVG support + +# Search enhancements +mkdocs-material[imaging]>=9.5.0 \ No newline at end of file diff --git a/scripts/fix-mkdocs-structure.ts b/scripts/fix-mkdocs-structure.ts new file mode 100644 index 000000000..2807801cc --- /dev/null +++ b/scripts/fix-mkdocs-structure.ts @@ -0,0 +1,342 @@ +#!/usr/bin/env node +/** + * Fix MkDocs structure by: + * 1. Syncing README.md to docs/index.md with necessary path adjustments + * 2. Moving overview pages to index.md inside their directories to prevent duplicate navigation entries + */ + +import * as fs from 'fs'; +import * as path from 'path'; + +interface FixResult { + message: string; +} + +/** + * Find markdown files that have a corresponding directory with the same name, + * and move them to index.md inside that directory. + */ +function fixDuplicateEntries(docsDir: string): FixResult[] { + const fixesMade: FixResult[] = []; + + function walkDir(dir: string): void { + let files: string[]; + try { + files = fs.readdirSync(dir); + } catch (err) { + console.warn(`Warning: Unable to read directory ${dir}: ${err.message}`); + return; + } + + for (const file of files) { + const filePath = path.join(dir, file); + let stat: fs.Stats; + + try { + stat = fs.statSync(filePath); + } catch (err) { + // File might have been moved already, skip it + continue; + } + + if (stat.isDirectory()) { + walkDir(filePath); + } else if (file.endsWith('.md')) { + const basename = file.slice(0, -3); // Remove .md extension + const dirPath = path.join(dir, basename); + + // Check if there's a directory with the same name + if (fs.existsSync(dirPath) && fs.statSync(dirPath).isDirectory()) { + const indexPath = path.join(dirPath, 'index.md'); + + // Check if index.md already exists in that directory + if (!fs.existsSync(indexPath)) { + // Move the file to index.md in the directory + fs.renameSync(filePath, indexPath); + fixesMade.push({ + message: `Moved ${path.relative(docsDir, filePath)} -> ${path.relative(docsDir, indexPath)}` + }); + + // Move associated images with pattern basename_* + try { + const dirFiles = fs.readdirSync(dir); + for (const imgFile of dirFiles) { + if (imgFile.startsWith(`${basename}_`)) { + const imgSrc = path.join(dir, imgFile); + try { + if (!fs.statSync(imgSrc).isDirectory()) { + const imgDest = path.join(dirPath, imgFile); + fs.renameSync(imgSrc, imgDest); + fixesMade.push({ + message: `Moved ${path.relative(docsDir, imgSrc)} -> ${path.relative(docsDir, imgDest)}` + }); + } + } catch (err) { + // File might have been moved already, skip it + } + } + } + } catch (err) { + // Directory might not exist anymore, skip it + } + + // Move exact match images + const imgExtensions = ['.png', '.jpg', '.jpeg', '.gif', '.svg']; + for (const ext of imgExtensions) { + const imgFile = path.join(dir, `${basename}${ext}`); + if (fs.existsSync(imgFile)) { + const imgDest = path.join(dirPath, `${basename}${ext}`); + fs.renameSync(imgFile, imgDest); + fixesMade.push({ + message: `Moved ${path.relative(docsDir, imgFile)} -> ${path.relative(docsDir, imgDest)}` + }); + } + } + } + } + } + } + } + + walkDir(docsDir); + return fixesMade; +} + +/** + * Update references in markdown files to point to the new locations. + */ +function updateReferences(docsDir: string): FixResult[] { + const updatesMade: FixResult[] = []; + + function fixLink(match: string, text: string, link: string, currentDir: string, isIndex: boolean): string { + // Skip external links + if (link.startsWith('http')) { + return match; + } + + // Decode URL-encoded paths for processing + let decodedLink: string; + try { + decodedLink = decodeURIComponent(link); + } catch (err) { + // If decoding fails, use the original link + decodedLink = link; + } + + // Special case: if we're in index.md and the link starts with the parent directory name + // This happens when a file was converted to index.md and had links to siblings + if (isIndex && decodedLink.includes('/')) { + const pathParts = decodedLink.split('/'); + const parentDirName = path.basename(currentDir); + + // Check if first part matches the parent directory name + if (pathParts[0] === parentDirName) { + // This is a self-referential path, strip the first part + const fixedLink = pathParts.slice(1).join('/'); + // Re-encode spaces for URL compatibility before recursing + const fixedLinkEncoded = fixedLink.replace(/ /g, '%20'); + // Recursively process the fixed link + return fixLink(`[${text}](${fixedLinkEncoded})`, text, fixedLinkEncoded, currentDir, isIndex); + } + } + + // For any .md link, check if there's a directory with index.md + // that should be used instead + if (!decodedLink.startsWith('/')) { + // Resolve relative to current directory + const resolvedPath = path.resolve(currentDir, decodedLink); + + // Check if this points to a file that should be a directory + // Remove .md extension to get the potential directory name + if (resolvedPath.endsWith('.md')) { + const potentialDir = resolvedPath.slice(0, -3); + const potentialIndex = path.join(potentialDir, 'index.md'); + + // If a directory with index.md exists, update the link + if (fs.existsSync(potentialIndex)) { + // If we're in an index.md file and linking to a file that's now + // in a sibling directory, adjust the path + if (isIndex) { + // Check if they share the same parent directory + if (path.dirname(potentialDir) === path.dirname(currentDir)) { + // It's a sibling - just use directory name + const dirName = path.basename(potentialDir).replace(/ /g, '%20'); + return `[${text}](${dirName}/)`; + } + } + + // Calculate relative path from current file to the directory + const newPath = path.relative(currentDir, potentialDir).replace(/\\/g, '/').replace(/ /g, '%20'); + return `[${text}](${newPath}/)`; + } + } + } + + // Also handle local references (same directory) + if (!decodedLink.includes('/')) { + const basename = decodedLink.slice(0, -3); // Remove .md extension + const possibleDir = path.join(currentDir, basename); + + if (fs.existsSync(possibleDir) && fs.statSync(possibleDir).isDirectory()) { + // Re-encode spaces for URL compatibility + const encodedBasename = basename.replace(/ /g, '%20'); + return `[${text}](${encodedBasename}/)`; + } + } + + return match; + } + + function walkDir(dir: string): void { + let files: string[]; + try { + files = fs.readdirSync(dir); + } catch (err) { + console.warn(`Warning: Unable to read directory ${dir}: ${err.message}`); + return; + } + + for (const file of files) { + const filePath = path.join(dir, file); + let stat: fs.Stats; + + try { + stat = fs.statSync(filePath); + } catch (err) { + // File might have been moved already, skip it + continue; + } + + if (stat.isDirectory()) { + walkDir(filePath); + } else if (file.endsWith('.md')) { + let content = fs.readFileSync(filePath, 'utf-8'); + const originalContent = content; + + const isIndex = file === 'index.md'; + const currentDir = path.dirname(filePath); + + // Update markdown links: [text](path.md) + const pattern = /\[([^\]]*)\]\(([^)]+\.md)\)/g; + content = content.replace(pattern, (match, text, link) => { + return fixLink(match, text, link, currentDir, isIndex); + }); + + if (content !== originalContent) { + fs.writeFileSync(filePath, content, 'utf-8'); + updatesMade.push({ + message: `Updated references in ${path.relative(docsDir, filePath)}` + }); + } + } + } + } + + walkDir(docsDir); + return updatesMade; +} + +/** + * Sync README.md to docs/index.md with necessary path adjustments + */ +function syncReadmeToIndex(projectRoot: string, docsDir: string): FixResult[] { + const results: FixResult[] = []; + const readmePath = path.join(projectRoot, 'README.md'); + const indexPath = path.join(docsDir, 'index.md'); + + if (!fs.existsSync(readmePath)) { + console.warn('README.md not found in project root'); + return results; + } + + // Read README content + let content = fs.readFileSync(readmePath, 'utf-8'); + + // Fix image path (./docs/app.png -> app.png) + content = content.replace(/src="\.\/docs\/app\.png"/g, 'src="app.png"'); + + // Fix language links in header + content = content.replace(/\[English\]\(\.\/README\.md\)/g, '[English](./index.md)'); + content = content.replace(/\.\/docs\/README-ZH_CN\.md/g, './README-ZH_CN.md'); + content = content.replace(/\.\/docs\/README-ZH_TW\.md/g, './README-ZH_TW.md'); + content = content.replace(/\.\/docs\/README\.ru\.md/g, './README.ru.md'); + content = content.replace(/\.\/docs\/README\.ja\.md/g, './README.ja.md'); + content = content.replace(/\.\/docs\/README\.it\.md/g, './README.it.md'); + content = content.replace(/\.\/docs\/README\.es\.md/g, './README.es.md'); + + // Fix internal documentation links (./docs/User%20Guide -> ./User%20Guide) + content = content.replace(/\.\/docs\/User%20Guide/g, './User%20Guide'); + + // Write the adjusted content to docs/index.md + fs.writeFileSync(indexPath, content, 'utf-8'); + results.push({ + message: `Synced README.md to docs/index.md with path adjustments` + }); + + return results; +} + +function main(): number { + // Get the docs directory + const scriptDir = path.dirname(new URL(import.meta.url).pathname); + const projectRoot = path.dirname(scriptDir); + const docsDir = path.join(projectRoot, 'docs'); + + // Handle Windows paths (remove leading slash if on Windows) + const normalizedProjectRoot = process.platform === 'win32' && projectRoot.startsWith('/') + ? projectRoot.substring(1) + : projectRoot; + const normalizedDocsDir = process.platform === 'win32' && docsDir.startsWith('/') + ? docsDir.substring(1) + : docsDir; + + if (!fs.existsSync(normalizedDocsDir)) { + console.error(`Error: docs directory not found at ${normalizedDocsDir}`); + return 1; + } + + console.log(`Fixing MkDocs structure in ${normalizedDocsDir}`); + console.log('-'.repeat(50)); + + // Sync README.md to docs/index.md + const syncResults = syncReadmeToIndex(normalizedProjectRoot, normalizedDocsDir); + if (syncResults.length > 0) { + console.log('README sync:'); + for (const result of syncResults) { + console.log(` - ${result.message}`); + } + console.log(); + } + + // Fix duplicate entries + const fixes = fixDuplicateEntries(normalizedDocsDir); + if (fixes.length > 0) { + console.log('Files reorganized:'); + for (const fix of fixes) { + console.log(` - ${fix.message}`); + } + } else { + console.log('No duplicate entries found that need fixing'); + } + + console.log(); + + // Update references + const updates = updateReferences(normalizedDocsDir); + if (updates.length > 0) { + console.log('References updated:'); + for (const update of updates) { + console.log(` - ${update.message}`); + } + } else { + console.log('No references needed updating'); + } + + console.log('-'.repeat(50)); + console.log(`Structure fix complete: ${syncResults.length} README syncs, ${fixes.length} files moved, ${updates.length} files updated`); + + return 0; +} + +// Run the main function +process.exit(main()); \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index 481f2f1b5..db83e7978 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -59,12 +59,6 @@ }, { "path": "./packages/share-theme" - }, - { - "path": "./apps/website" - }, - { - "path": "./apps/desktop-e2e" } ] }