diff --git a/eslint.config.ts b/eslint.config.ts
index d9c4bcae3a65e..07ee0531006a9 100644
--- a/eslint.config.ts
+++ b/eslint.config.ts
@@ -774,6 +774,7 @@ export default defineConfig([
       'unicorn/no-empty-file': [2],
       'unicorn/no-for-loop': [0],
       'unicorn/no-hex-escape': [0],
+      'unicorn/no-immediate-mutation': [0],
       'unicorn/no-instanceof-array': [0],
       'unicorn/no-invalid-fetch-options': [2],
       'unicorn/no-invalid-remove-event-listener': [2],
@@ -799,6 +800,7 @@ export default defineConfig([
       'unicorn/no-unreadable-array-destructuring': [0],
       'unicorn/no-unreadable-iife': [2],
       'unicorn/no-unused-properties': [2],
+      'unicorn/no-useless-collection-argument': [2],
       'unicorn/no-useless-fallback-in-spread': [2],
       'unicorn/no-useless-length-check': [2],
       'unicorn/no-useless-promise-resolve-reject': [2],
@@ -810,8 +812,8 @@ export default defineConfig([
       'unicorn/numeric-separators-style': [0],
       'unicorn/prefer-add-event-listener': [2],
       'unicorn/prefer-array-find': [2],
-      'unicorn/prefer-array-flat-map': [2],
       'unicorn/prefer-array-flat': [2],
+      'unicorn/prefer-array-flat-map': [2],
       'unicorn/prefer-array-index-of': [2],
       'unicorn/prefer-array-some': [2],
       'unicorn/prefer-at': [0],
@@ -846,6 +848,7 @@ export default defineConfig([
       'unicorn/prefer-query-selector': [2],
       'unicorn/prefer-reflect-apply': [0],
       'unicorn/prefer-regexp-test': [2],
+      'unicorn/prefer-response-static-json': [2],
       'unicorn/prefer-set-has': [0],
       'unicorn/prefer-set-size': [2],
       'unicorn/prefer-spread': [0],
diff --git a/options/fileicon/material-icon-rules.json b/options/fileicon/material-icon-rules.json
index 622564fe2b7e2..a9e3ad74f5c30 100644
--- a/options/fileicon/material-icon-rules.json
+++ b/options/fileicon/material-icon-rules.json
@@ -456,6 +456,10 @@
     ".news": "folder-docs",
     "_news": "folder-docs",
     "__news__": "folder-docs",
+    "blog": "folder-docs",
+    ".blog": "folder-docs",
+    "_blog": "folder-docs",
+    "__blog__": "folder-docs",
     "github/workflows": "folder-gh-workflows",
     ".github/workflows": "folder-gh-workflows",
     "_github/workflows": "folder-gh-workflows",
@@ -1236,6 +1240,26 @@
     ".ci": "folder-ci",
     "_ci": "folder-ci",
     "__ci__": "folder-ci",
+    "eslint": "folder-eslint",
+    ".eslint": "folder-eslint",
+    "_eslint": "folder-eslint",
+    "__eslint__": "folder-eslint",
+    "eslint-plugin": "folder-eslint",
+    ".eslint-plugin": "folder-eslint",
+    "_eslint-plugin": "folder-eslint",
+    "__eslint-plugin__": "folder-eslint",
+    "eslint-plugins": "folder-eslint",
+    ".eslint-plugins": "folder-eslint",
+    "_eslint-plugins": "folder-eslint",
+    "__eslint-plugins__": "folder-eslint",
+    "eslint-config": "folder-eslint",
+    ".eslint-config": "folder-eslint",
+    "_eslint-config": "folder-eslint",
+    "__eslint-config__": "folder-eslint",
+    "eslint-configs": "folder-eslint",
+    ".eslint-configs": "folder-eslint",
+    "_eslint-configs": "folder-eslint",
+    "__eslint-configs__": "folder-eslint",
     "benchmark": "folder-benchmark",
     ".benchmark": "folder-benchmark",
     "_benchmark": "folder-benchmark",
@@ -2640,6 +2664,14 @@
     ".svgs": "folder-svg",
     "_svgs": "folder-svg",
     "__svgs__": "folder-svg",
+    "vector": "folder-svg",
+    ".vector": "folder-svg",
+    "_vector": "folder-svg",
+    "__vector__": "folder-svg",
+    "vectors": "folder-svg",
+    ".vectors": "folder-svg",
+    "_vectors": "folder-svg",
+    "__vectors__": "folder-svg",
     "nuxt": "folder-nuxt",
     ".nuxt": "folder-nuxt",
     "_nuxt": "folder-nuxt",
@@ -2824,6 +2856,18 @@
     ".next": "folder-next",
     "_next": "folder-next",
     "__next__": "folder-next",
+    "dal": "folder-dal",
+    ".dal": "folder-dal",
+    "_dal": "folder-dal",
+    "__dal__": "folder-dal",
+    "data-access": "folder-dal",
+    ".data-access": "folder-dal",
+    "_data-access": "folder-dal",
+    "__data-access__": "folder-dal",
+    "data-access-layer": "folder-dal",
+    ".data-access-layer": "folder-dal",
+    "_data-access-layer": "folder-dal",
+    "__data-access-layer__": "folder-dal",
     "cobol": "folder-cobol",
     ".cobol": "folder-cobol",
     "_cobol": "folder-cobol",
@@ -3371,6 +3415,38 @@
     "..cursor": "folder-cursor",
     "_.cursor": "folder-cursor",
     "__.cursor__": "folder-cursor",
+    "input": "folder-input",
+    ".input": "folder-input",
+    "_input": "folder-input",
+    "__input__": "folder-input",
+    "inputs": "folder-input",
+    ".inputs": "folder-input",
+    "_inputs": "folder-input",
+    "__inputs__": "folder-input",
+    "io": "folder-input",
+    ".io": "folder-input",
+    "_io": "folder-input",
+    "__io__": "folder-input",
+    "in": "folder-input",
+    ".in": "folder-input",
+    "_in": "folder-input",
+    "__in__": "folder-input",
+    "simulations": "folder-simulations",
+    ".simulations": "folder-simulations",
+    "_simulations": "folder-simulations",
+    "__simulations__": "folder-simulations",
+    "simulation": "folder-simulations",
+    ".simulation": "folder-simulations",
+    "_simulation": "folder-simulations",
+    "__simulation__": "folder-simulations",
+    "sim": "folder-simulations",
+    ".sim": "folder-simulations",
+    "_sim": "folder-simulations",
+    "__sim__": "folder-simulations",
+    "sims": "folder-simulations",
+    ".sims": "folder-simulations",
+    "_sims": "folder-simulations",
+    "__sims__": "folder-simulations",
     "metro": "folder-metro",
     ".metro": "folder-metro",
     "_metro": "folder-metro",
@@ -3383,6 +3459,22 @@
     ".filters": "folder-filter",
     "_filters": "folder-filter",
     "__filters__": "folder-filter",
+    "toc": "folder-toc",
+    ".toc": "folder-toc",
+    "_toc": "folder-toc",
+    "__toc__": "folder-toc",
+    "table-of-contents": "folder-toc",
+    ".table-of-contents": "folder-toc",
+    "_table-of-contents": "folder-toc",
+    "__table-of-contents__": "folder-toc",
+    "cue": "folder-cue",
+    ".cue": "folder-cue",
+    "_cue": "folder-cue",
+    "__cue__": "folder-cue",
+    "cues": "folder-cue",
+    ".cues": "folder-cue",
+    "_cues": "folder-cue",
+    "__cues__": "folder-cue",
     "meta-inf": "folder-config",
     ".meta-inf": "folder-config",
     "_meta-inf": "folder-config",
@@ -3869,6 +3961,10 @@
     ".news": "folder-docs-open",
     "_news": "folder-docs-open",
     "__news__": "folder-docs-open",
+    "blog": "folder-docs-open",
+    ".blog": "folder-docs-open",
+    "_blog": "folder-docs-open",
+    "__blog__": "folder-docs-open",
     "github/workflows": "folder-gh-workflows-open",
     ".github/workflows": "folder-gh-workflows-open",
     "_github/workflows": "folder-gh-workflows-open",
@@ -4649,6 +4745,26 @@
     ".ci": "folder-ci-open",
     "_ci": "folder-ci-open",
     "__ci__": "folder-ci-open",
+    "eslint": "folder-eslint-open",
+    ".eslint": "folder-eslint-open",
+    "_eslint": "folder-eslint-open",
+    "__eslint__": "folder-eslint-open",
+    "eslint-plugin": "folder-eslint-open",
+    ".eslint-plugin": "folder-eslint-open",
+    "_eslint-plugin": "folder-eslint-open",
+    "__eslint-plugin__": "folder-eslint-open",
+    "eslint-plugins": "folder-eslint-open",
+    ".eslint-plugins": "folder-eslint-open",
+    "_eslint-plugins": "folder-eslint-open",
+    "__eslint-plugins__": "folder-eslint-open",
+    "eslint-config": "folder-eslint-open",
+    ".eslint-config": "folder-eslint-open",
+    "_eslint-config": "folder-eslint-open",
+    "__eslint-config__": "folder-eslint-open",
+    "eslint-configs": "folder-eslint-open",
+    ".eslint-configs": "folder-eslint-open",
+    "_eslint-configs": "folder-eslint-open",
+    "__eslint-configs__": "folder-eslint-open",
     "benchmark": "folder-benchmark-open",
     ".benchmark": "folder-benchmark-open",
     "_benchmark": "folder-benchmark-open",
@@ -6053,6 +6169,14 @@
     ".svgs": "folder-svg-open",
     "_svgs": "folder-svg-open",
     "__svgs__": "folder-svg-open",
+    "vector": "folder-svg-open",
+    ".vector": "folder-svg-open",
+    "_vector": "folder-svg-open",
+    "__vector__": "folder-svg-open",
+    "vectors": "folder-svg-open",
+    ".vectors": "folder-svg-open",
+    "_vectors": "folder-svg-open",
+    "__vectors__": "folder-svg-open",
     "nuxt": "folder-nuxt-open",
     ".nuxt": "folder-nuxt-open",
     "_nuxt": "folder-nuxt-open",
@@ -6237,6 +6361,18 @@
     ".next": "folder-next-open",
     "_next": "folder-next-open",
     "__next__": "folder-next-open",
+    "dal": "folder-dal-open",
+    ".dal": "folder-dal-open",
+    "_dal": "folder-dal-open",
+    "__dal__": "folder-dal-open",
+    "data-access": "folder-dal-open",
+    ".data-access": "folder-dal-open",
+    "_data-access": "folder-dal-open",
+    "__data-access__": "folder-dal-open",
+    "data-access-layer": "folder-dal-open",
+    ".data-access-layer": "folder-dal-open",
+    "_data-access-layer": "folder-dal-open",
+    "__data-access-layer__": "folder-dal-open",
     "cobol": "folder-cobol-open",
     ".cobol": "folder-cobol-open",
     "_cobol": "folder-cobol-open",
@@ -6784,6 +6920,38 @@
     "..cursor": "folder-cursor-open",
     "_.cursor": "folder-cursor-open",
     "__.cursor__": "folder-cursor-open",
+    "input": "folder-input-open",
+    ".input": "folder-input-open",
+    "_input": "folder-input-open",
+    "__input__": "folder-input-open",
+    "inputs": "folder-input-open",
+    ".inputs": "folder-input-open",
+    "_inputs": "folder-input-open",
+    "__inputs__": "folder-input-open",
+    "io": "folder-input-open",
+    ".io": "folder-input-open",
+    "_io": "folder-input-open",
+    "__io__": "folder-input-open",
+    "in": "folder-input-open",
+    ".in": "folder-input-open",
+    "_in": "folder-input-open",
+    "__in__": "folder-input-open",
+    "simulations": "folder-simulations-open",
+    ".simulations": "folder-simulations-open",
+    "_simulations": "folder-simulations-open",
+    "__simulations__": "folder-simulations-open",
+    "simulation": "folder-simulations-open",
+    ".simulation": "folder-simulations-open",
+    "_simulation": "folder-simulations-open",
+    "__simulation__": "folder-simulations-open",
+    "sim": "folder-simulations-open",
+    ".sim": "folder-simulations-open",
+    "_sim": "folder-simulations-open",
+    "__sim__": "folder-simulations-open",
+    "sims": "folder-simulations-open",
+    ".sims": "folder-simulations-open",
+    "_sims": "folder-simulations-open",
+    "__sims__": "folder-simulations-open",
     "metro": "folder-metro-open",
     ".metro": "folder-metro-open",
     "_metro": "folder-metro-open",
@@ -6795,7 +6963,23 @@
     "filters": "folder-filter-open",
     ".filters": "folder-filter-open",
     "_filters": "folder-filter-open",
-    "__filters__": "folder-filter-open"
+    "__filters__": "folder-filter-open",
+    "toc": "folder-toc-open",
+    ".toc": "folder-toc-open",
+    "_toc": "folder-toc-open",
+    "__toc__": "folder-toc-open",
+    "table-of-contents": "folder-toc-open",
+    ".table-of-contents": "folder-toc-open",
+    "_table-of-contents": "folder-toc-open",
+    "__table-of-contents__": "folder-toc-open",
+    "cue": "folder-cue-open",
+    ".cue": "folder-cue-open",
+    "_cue": "folder-cue-open",
+    "__cue__": "folder-cue-open",
+    "cues": "folder-cue-open",
+    ".cues": "folder-cue-open",
+    "_cues": "folder-cue-open",
+    "__cues__": "folder-cue-open"
   },
   "rootFolderNames": {},
   "rootFolderNamesExpanded": {},
@@ -7186,6 +7370,7 @@
     "sha256": "key",
     "sha256sum": "key",
     "sha256sums": "key",
+    "secret": "key",
     "woff": "font",
     "woff2": "font",
     "ttf": "font",
@@ -7946,6 +8131,8 @@
     "css.mjs": "vanilla-extract",
     "css.tsx": "vanilla-extract",
     "css.jsx": "vanilla-extract",
+    "toc": "toc",
+    "cue": "cue",
     "yaml-tmlanguage": "yaml",
     "tmlanguage": "xml",
     "cljx": "clojure",
@@ -8438,6 +8625,10 @@
     "graphql.config.cts": "graphql",
     ".graphqlconfig": "graphql",
     "XamlStyler.json": "xaml",
+    ".happo.js": "happo",
+    ".happo.mjs": "happo",
+    ".happo.cjs": "happo",
+    "chromatic.config.json": "chromatic",
     ".git": "git",
     ".gitignore": "git",
     ".gitmessage": "git",
@@ -8805,6 +8996,33 @@
     "webpackfile.mts": "webpack",
     "webpackfile.cts": "webpack",
     "webpack.config.coffee": "webpack",
+    "rspack.config.js": "rstack",
+    "rspack.config.mjs": "rstack",
+    "rspack.config.cjs": "rstack",
+    "rspack.config.ts": "rstack",
+    "rspack.config.mts": "rstack",
+    "rspack.config.cts": "rstack",
+    "rsbuild.config.js": "rstack",
+    "rsbuild.config.mjs": "rstack",
+    "rsbuild.config.cjs": "rstack",
+    "rsbuild.config.ts": "rstack",
+    "rsbuild.config.mts": "rstack",
+    "rsbuild.config.cts": "rstack",
+    "rslib.config.js": "rstack",
+    "rslib.config.mjs": "rstack",
+    "rslib.config.cjs": "rstack",
+    "rslib.config.ts": "rstack",
+    "rslib.config.mts": "rstack",
+    "rslib.config.cts": "rstack",
+    "rstest.config.js": "rstack",
+    "rstest.config.mjs": "rstack",
+    "rstest.config.cjs": "rstack",
+    "rstest.config.ts": "rstack",
+    "rstest.config.mts": "rstack",
+    "rstest.config.cts": "rstack",
+    "rspress.config.ts": "rstack",
+    "rslint.json": "rstack",
+    "rslint.jsonc": "rstack",
     "ionic.config.json": "ionic",
     ".io-config.json": "ionic",
     "gulpfile.js": "gulp",
@@ -9407,6 +9625,7 @@
     "ace": "adonis",
     "meson.build": "meson",
     "meson_options.txt": "meson",
+    "meson.options": "meson",
     ".czrc": "commitizen",
     ".cz.json": "commitizen",
     ".cz.toml": "commitizen",
@@ -9861,6 +10080,9 @@
     "werf.yml": "werf",
     "werf-giterminism.yaml": "werf",
     "werf-giterminism.yml": "werf",
+    "werf-includes.lock": "werf",
+    "werf-includes.yaml": "werf",
+    "werf-includes.yml": "werf",
     ".luaurc": "luau",
     "wally.toml": "wally",
     "panda.config.js": "panda",
@@ -10091,11 +10313,19 @@
     ".cursor.json": "cursor",
     ".cursorrc": "cursor",
     "metro.config.js": "metro",
+    "metro.config.cjs": "metro",
+    "metro.config.mjs": "metro",
     "metro.config.json": "metro",
     "src/bashly.yaml": "bashly",
     "src/bashly.yml": "bashly",
     "bashly-settings.yaml": "bashly-settings",
     "bashly-settings.yml": "bashly-settings",
+    "src/bashly-strings.yaml": "bashly-strings",
+    "src/bashly-strings.yml": "bashly-strings",
+    "google-services.json": "google",
+    "GoogleService-Info.plist": "google",
+    ".shellcheckrc": "shellcheck",
+    "shellcheckrc": "shellcheck",
     "xamlstyler.json": "xaml",
     ".rhistory": "r",
     "cmakepresets.json": "cmake",
@@ -10109,6 +10339,7 @@
     "snakefile": "snakemake",
     "claude.md": "claude",
     "claude.local.md": "claude",
+    "googleservice-info.plist": "google",
     "language-configuration.json": "jsonc",
     "icon-theme.json": "jsonc",
     "color-theme.json": "jsonc",
@@ -10309,7 +10540,8 @@
     "ahk2": "ahk2",
     "gnuplot": "gnuplot",
     "helm": "helm",
-    "nginx": "nginx"
+    "nginx": "nginx",
+    "cue": "cue"
   },
   "light": {
     "fileExtensions": {
@@ -10513,7 +10745,11 @@
       ".cursor.json": "cursor_light",
       ".cursorrc": "cursor_light",
       "bashly-settings.yaml": "bashly-settings_light",
-      "bashly-settings.yml": "bashly-settings_light"
+      "bashly-settings.yml": "bashly-settings_light",
+      "src/bashly-strings.yaml": "bashly-strings_light",
+      "src/bashly-strings.yml": "bashly-strings_light",
+      ".shellcheckrc": "shellcheck_light",
+      "shellcheckrc": "shellcheck_light"
     },
     "languageIds": {
       "toml": "toml_light",
diff --git a/options/fileicon/material-icon-svgs.json b/options/fileicon/material-icon-svgs.json
index 9aa78359dae0b..61524074fd6cf 100644
--- a/options/fileicon/material-icon-svgs.json
+++ b/options/fileicon/material-icon-svgs.json
@@ -52,6 +52,8 @@
   "bashly-hook": "",
   "bashly-settings.clone": "",
   "bashly-settings_light.clone": "",
+  "bashly-strings.clone": "",
+  "bashly-strings_light.clone": "",
   "bashly": "",
   "bazel": "",
   "bbx": "",
@@ -94,6 +96,7 @@
   "changelog": "",
   "chess": "",
   "chess_light": "",
+  "chromatic": "",
   "chrome": "",
   "circleci": "",
   "circleci_light": "",
@@ -120,7 +123,7 @@
   "commitlint": "",
   "concourse": "",
   "conduct": "",
-  "console": "",
+  "console": "",
   "container.clone": "",
   "contentlayer": "",
   "context": "",
@@ -138,6 +141,7 @@
   "css": "",
   "cucumber": "",
   "cuda": "",
+  "cue": "",
   "cursor": "",
   "cursor_light": "",
   "cypress": "",
@@ -293,6 +297,8 @@
   "folder-coverage": "",
   "folder-css-open": "",
   "folder-css": "",
+  "folder-cue-open": "",
+  "folder-cue": "",
   "folder-cursor-open": "",
   "folder-cursor-open_light": "",
   "folder-cursor": "",
@@ -301,6 +307,8 @@
   "folder-custom": "",
   "folder-cypress-open": "",
   "folder-cypress": "",
+  "folder-dal-open": "",
+  "folder-dal": "",
   "folder-dart-open": "",
   "folder-dart": "",
   "folder-database-open": "",
@@ -337,6 +345,8 @@
   "folder-environment": "",
   "folder-error-open": "",
   "folder-error": "",
+  "folder-eslint-open": "",
+  "folder-eslint": "",
   "folder-event-open": "",
   "folder-event": "",
   "folder-examples-open": "",
@@ -409,6 +419,8 @@
   "folder-import": "",
   "folder-include-open": "",
   "folder-include": "",
+  "folder-input-open": "",
+  "folder-input": "",
   "folder-intellij-open": "",
   "folder-intellij-open_light": "",
   "folder-intellij": "",
@@ -610,6 +622,8 @@
   "folder-shader": "",
   "folder-shared-open": "",
   "folder-shared": "",
+  "folder-simulations-open": "",
+  "folder-simulations": "",
   "folder-snapcraft-open": "",
   "folder-snapcraft": "",
   "folder-snippet-open": "",
@@ -656,6 +670,8 @@
   "folder-test": "",
   "folder-theme-open": "",
   "folder-theme": "",
+  "folder-toc-open": "",
+  "folder-toc": "",
   "folder-tools-open": "",
   "folder-tools": "",
   "folder-trash-open": "",
@@ -735,6 +751,7 @@
   "go_gopher": "",
   "godot-assets": "",
   "godot": "",
+  "google": "",
   "gradle": "",
   "grafana-alloy": "",
   "grain": "",
@@ -749,6 +766,7 @@
   "hadolint": "",
   "haml": "",
   "handlebars": "",
+  "happo": "",
   "hardhat": "",
   "harmonix": "",
   "haskell": "",
@@ -992,6 +1010,7 @@
   "rome": "",
   "routing": "",
   "rspec": "",
+  "rstack": "",
   "rubocop": "",
   "rubocop_light": "",
   "ruby": "",
@@ -1016,6 +1035,8 @@
   "serverless": "",
   "settings": "",
   "shader": "",
+  "shellcheck": "",
+  "shellcheck_light": "",
   "silverstripe": "",
   "simulink": "",
   "siyuan": "",
@@ -1083,6 +1104,7 @@
   "tldraw_light": "",
   "tobi": "",
   "tobimake": "",
+  "toc": "",
   "todo": "",
   "toml": "",
   "toml_light": "",
@@ -1108,7 +1130,7 @@
   "url": "",
   "uv": "",
   "vagrant": "",
-  "vala": "",
+  "vala": "",
   "vanilla-extract": "",
   "varnish": "",
   "vedic": "",
diff --git a/package.json b/package.json
index 93c231213b131..015e87f478555 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "type": "module",
-  "packageManager": "pnpm@10.0.0",
+  "packageManager": "pnpm@10.19.0",
   "engines": {
     "node": ">= 22.6.0",
     "pnpm": ">= 10.0.0"
@@ -32,11 +32,11 @@
     "dropzone": "6.0.0-beta.2",
     "easymde": "2.20.0",
     "esbuild-loader": "4.4.0",
-    "htmx.org": "2.0.7",
+    "htmx.org": "2.0.8",
     "idiomorph": "0.7.4",
     "jquery": "3.7.1",
     "katex": "0.16.25",
-    "mermaid": "11.12.0",
+    "mermaid": "11.12.1",
     "mini-css-extract-plugin": "2.9.4",
     "monaco-editor": "0.54.0",
     "monaco-editor-webpack-plugin": "7.1.1",
@@ -46,7 +46,7 @@
     "postcss": "8.5.6",
     "postcss-loader": "8.2.0",
     "sortablejs": "1.15.6",
-    "swagger-ui-dist": "5.29.5",
+    "swagger-ui-dist": "5.30.0",
     "tailwindcss": "3.4.17",
     "throttle-debounce": "5.0.2",
     "tinycolor2": "1.6.0",
@@ -69,19 +69,19 @@
     "@playwright/test": "1.56.1",
     "@stylistic/eslint-plugin": "5.5.0",
     "@stylistic/stylelint-plugin": "4.0.0",
-    "@types/codemirror": "5.60.16",
+    "@types/codemirror": "5.60.17",
     "@types/dropzone": "5.7.9",
     "@types/jquery": "3.5.33",
     "@types/katex": "0.16.7",
     "@types/pdfobject": "2.2.5",
-    "@types/sortablejs": "1.15.8",
+    "@types/sortablejs": "1.15.9",
     "@types/swagger-ui-dist": "3.30.6",
     "@types/throttle-debounce": "5.0.2",
     "@types/tinycolor2": "1.4.6",
     "@types/toastify-js": "1.12.4",
     "@typescript-eslint/parser": "8.46.2",
     "@vitejs/plugin-vue": "6.0.1",
-    "@vitest/eslint-plugin": "1.3.23",
+    "@vitest/eslint-plugin": "1.3.26",
     "eslint": "9.38.0",
     "eslint-import-resolver-typescript": "4.4.4",
     "eslint-plugin-array-func": "5.1.0",
@@ -91,14 +91,14 @@
     "eslint-plugin-playwright": "2.2.2",
     "eslint-plugin-regexp": "2.10.0",
     "eslint-plugin-sonarjs": "3.0.5",
-    "eslint-plugin-unicorn": "61.0.2",
+    "eslint-plugin-unicorn": "62.0.0",
     "eslint-plugin-vue": "10.5.1",
     "eslint-plugin-vue-scoped-css": "2.12.0",
     "eslint-plugin-wc": "3.0.2",
     "globals": "16.4.0",
     "happy-dom": "20.0.8",
     "markdownlint-cli": "0.45.0",
-    "material-icon-theme": "5.27.0",
+    "material-icon-theme": "5.28.0",
     "nolyfill": "1.0.44",
     "postcss-html": "1.8.0",
     "spectral-cli-bundle": "1.0.3",
@@ -109,10 +109,10 @@
     "stylelint-value-no-unknown-custom-properties": "6.0.1",
     "svgo": "4.0.0",
     "typescript-eslint": "8.46.2",
-    "updates": "16.8.1",
+    "updates": "16.9.1",
     "vite-string-plugin": "1.4.6",
-    "vitest": "4.0.1",
-    "vue-tsc": "3.1.1"
+    "vitest": "4.0.4",
+    "vue-tsc": "3.1.2"
   },
   "browserslist": [
     "defaults"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 355988769e7c6..a41481869cf22 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -105,8 +105,8 @@ importers:
         specifier: 4.4.0
         version: 4.4.0(webpack@5.102.1)
       htmx.org:
-        specifier: 2.0.7
-        version: 2.0.7
+        specifier: 2.0.8
+        version: 2.0.8
       idiomorph:
         specifier: 0.7.4
         version: 0.7.4
@@ -117,8 +117,8 @@ importers:
         specifier: 0.16.25
         version: 0.16.25
       mermaid:
-        specifier: 11.12.0
-        version: 11.12.0
+        specifier: 11.12.1
+        version: 11.12.1
       mini-css-extract-plugin:
         specifier: 2.9.4
         version: 2.9.4(webpack@5.102.1)
@@ -147,8 +147,8 @@ importers:
         specifier: 1.15.6
         version: 1.15.6
       swagger-ui-dist:
-        specifier: 5.29.5
-        version: 5.29.5
+        specifier: 5.30.0
+        version: 5.30.0
       tailwindcss:
         specifier: 3.4.17
         version: 3.4.17
@@ -211,8 +211,8 @@ importers:
         specifier: 4.0.0
         version: 4.0.0(stylelint@16.25.0(typescript@5.9.3))
       '@types/codemirror':
-        specifier: 5.60.16
-        version: 5.60.16
+        specifier: 5.60.17
+        version: 5.60.17
       '@types/dropzone':
         specifier: 5.7.9
         version: 5.7.9
@@ -226,8 +226,8 @@ importers:
         specifier: 2.2.5
         version: 2.2.5
       '@types/sortablejs':
-        specifier: 1.15.8
-        version: 1.15.8
+        specifier: 1.15.9
+        version: 1.15.9
       '@types/swagger-ui-dist':
         specifier: 3.30.6
         version: 3.30.6
@@ -245,10 +245,10 @@ importers:
         version: 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)
       '@vitejs/plugin-vue':
         specifier: 6.0.1
-        version: 6.0.1(vite@7.1.11(@types/node@24.9.1)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))
+        version: 6.0.1(vite@7.1.12(@types/node@24.9.1)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))
       '@vitest/eslint-plugin':
-        specifier: 1.3.23
-        version: 1.3.23(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)(vitest@4.0.1(@types/debug@4.1.12)(@types/node@24.9.1)(happy-dom@20.0.8)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1))
+        specifier: 1.3.26
+        version: 1.3.26(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)(vitest@4.0.4(@types/debug@4.1.12)(@types/node@24.9.1)(happy-dom@20.0.8)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1))
       eslint:
         specifier: 9.38.0
         version: 9.38.0(jiti@2.6.1)
@@ -277,8 +277,8 @@ importers:
         specifier: 3.0.5
         version: 3.0.5(eslint@9.38.0(jiti@2.6.1))
       eslint-plugin-unicorn:
-        specifier: 61.0.2
-        version: 61.0.2(eslint@9.38.0(jiti@2.6.1))
+        specifier: 62.0.0
+        version: 62.0.0(eslint@9.38.0(jiti@2.6.1))
       eslint-plugin-vue:
         specifier: 10.5.1
         version: 10.5.1(@stylistic/eslint-plugin@5.5.0(eslint@9.38.0(jiti@2.6.1)))(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.38.0(jiti@2.6.1)))
@@ -298,8 +298,8 @@ importers:
         specifier: 0.45.0
         version: 0.45.0
       material-icon-theme:
-        specifier: 5.27.0
-        version: 5.27.0
+        specifier: 5.28.0
+        version: 5.28.0
       nolyfill:
         specifier: 1.0.44
         version: 1.0.44
@@ -331,17 +331,17 @@ importers:
         specifier: 8.46.2
         version: 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)
       updates:
-        specifier: 16.8.1
-        version: 16.8.1
+        specifier: 16.9.1
+        version: 16.9.1
       vite-string-plugin:
         specifier: 1.4.6
         version: 1.4.6
       vitest:
-        specifier: 4.0.1
-        version: 4.0.1(@types/debug@4.1.12)(@types/node@24.9.1)(happy-dom@20.0.8)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1)
+        specifier: 4.0.4
+        version: 4.0.4(@types/debug@4.1.12)(@types/node@24.9.1)(happy-dom@20.0.8)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1)
       vue-tsc:
-        specifier: 3.1.1
-        version: 3.1.1(typescript@5.9.3)
+        specifier: 3.1.2
+        version: 3.1.2(typescript@5.9.3)
 
 packages:
 
@@ -363,12 +363,12 @@ packages:
     resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
     engines: {node: '>=6.9.0'}
 
-  '@babel/helper-validator-identifier@7.27.1':
-    resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
+  '@babel/helper-validator-identifier@7.28.5':
+    resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==}
     engines: {node: '>=6.9.0'}
 
-  '@babel/parser@7.28.4':
-    resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==}
+  '@babel/parser@7.28.5':
+    resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==}
     engines: {node: '>=6.0.0'}
     hasBin: true
 
@@ -376,8 +376,8 @@ packages:
     resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==}
     engines: {node: '>=6.9.0'}
 
-  '@babel/types@7.28.4':
-    resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==}
+  '@babel/types@7.28.5':
+    resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==}
     engines: {node: '>=6.9.0'}
 
   '@braintree/sanitize-url@7.1.1':
@@ -687,10 +687,6 @@ packages:
     resolution: {integrity: sha512-csZAzkNhsgwb0I/UAV6/RGFTbiakPCf0ZrGmrIxQpYvGZ00PhTkSnyKNolphgIvmnJeGw6rcGVEXfTzUnFuEvw==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
-  '@eslint/core@0.15.2':
-    resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
   '@eslint/core@0.16.0':
     resolution: {integrity: sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -707,10 +703,6 @@ packages:
     resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
-  '@eslint/plugin-kit@0.3.5':
-    resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
   '@eslint/plugin-kit@0.4.0':
     resolution: {integrity: sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -1078,8 +1070,8 @@ packages:
   '@types/chai@5.2.3':
     resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==}
 
-  '@types/codemirror@5.60.16':
-    resolution: {integrity: sha512-V/yHdamffSS075jit+fDxaOAmdP2liok8NSNJnAZfDJErzOheuygHZEhAJrfmk5TEyM32MhkZjwo/idX791yxw==}
+  '@types/codemirror@5.60.17':
+    resolution: {integrity: sha512-AZq2FIsUHVMlp7VSe2hTfl5w4pcUkoFkM3zVsRKsn1ca8CXRDYvnin04+HP2REkwsxemuHqvDofdlhUWNpbwfw==}
 
   '@types/d3-array@3.2.2':
     resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==}
@@ -1228,8 +1220,8 @@ packages:
   '@types/sizzle@2.3.10':
     resolution: {integrity: sha512-TC0dmN0K8YcWEAEfiPi5gJP14eJe30TTGjkvek3iM/1NdHHsdCA/Td6GvNndMOo/iSnIsZ4HuuhrYPDAmbxzww==}
 
-  '@types/sortablejs@1.15.8':
-    resolution: {integrity: sha512-b79830lW+RZfwaztgs1aVPgbasJ8e7AXtZYHTELNXZPsERt4ymJdjV4OccDbHQAvHrCcFpbF78jkm0R6h/pZVg==}
+  '@types/sortablejs@1.15.9':
+    resolution: {integrity: sha512-7HP+rZGE2p886PKV9c9OJzLBI6BBJu1O7lJGYnPyG3fS4/duUCcngkNCjsLwIMV+WMqANe3tt4irrXHSIe68OQ==}
 
   '@types/swagger-ui-dist@3.30.6':
     resolution: {integrity: sha512-FVxN7wjLYRtJsZBscOcOcf8oR++m38vbUFjT33Mr9HBuasX9bRDrJsp7iwixcOtKSHEEa2B7o2+4wEiXqC+Ebw==}
@@ -1416,12 +1408,12 @@ packages:
       vite: ^5.0.0 || ^6.0.0 || ^7.0.0
       vue: ^3.2.25
 
-  '@vitest/eslint-plugin@1.3.23':
-    resolution: {integrity: sha512-kp1vjoJTdVf8jWdzr/JpHIPfh3HMR6JBr2p7XuH4YNx0UXmV4XWdgzvCpAmH8yb39Gry31LULiuBcuhyc/OqkQ==}
+  '@vitest/eslint-plugin@1.3.26':
+    resolution: {integrity: sha512-oP+Vyqgp+kLuMagG0tRkcT7e2tUoE+XWgti1OFxqdTpmMlSZJ6BWSC3rv8vzhtDXReXNyAJI1eojuc7N0QqbNQ==}
     engines: {node: '>=18'}
     peerDependencies:
-      eslint: '>= 8.57.0'
-      typescript: '>= 5.0.0'
+      eslint: '>=8.57.0'
+      typescript: '>=5.0.0'
       vitest: '*'
     peerDependenciesMeta:
       typescript:
@@ -1429,11 +1421,11 @@ packages:
       vitest:
         optional: true
 
-  '@vitest/expect@4.0.1':
-    resolution: {integrity: sha512-KtvGLN/IWoZfg68JF2q/zbDEo+UJTWnc7suYJ8RF+ZTBeBcBz4NIOJDxO4Q3bEY9GsOYhgy5cOevcVPFh4+V7g==}
+  '@vitest/expect@4.0.4':
+    resolution: {integrity: sha512-0ioMscWJtfpyH7+P82sGpAi3Si30OVV73jD+tEqXm5+rIx9LgnfdaOn45uaFkKOncABi/PHL00Yn0oW/wK4cXw==}
 
-  '@vitest/mocker@4.0.1':
-    resolution: {integrity: sha512-fwmvg8YvwSAE41Hyhul7dL4UzPhG+k2VaZCcL+aHagLx4qlNQgKYTw7coF4YdjAxSBBt0b408gQFYMX1Qeqweg==}
+  '@vitest/mocker@4.0.4':
+    resolution: {integrity: sha512-UTtKgpjWj+pvn3lUM55nSg34098obGhSHH+KlJcXesky8b5wCUgg7s60epxrS6yAG8slZ9W8T9jGWg4PisMf5Q==}
     peerDependencies:
       msw: ^2.4.9
       vite: ^6.0.0 || ^7.0.0-0
@@ -1443,20 +1435,20 @@ packages:
       vite:
         optional: true
 
-  '@vitest/pretty-format@4.0.1':
-    resolution: {integrity: sha512-6nq3JY/zQ91+oX1vd4fajiVNyA/HMhaF9cOw5P9cQi6ML7PRi7ilVaQ77PulF+4kvUKr9bcLm9GoAtwlVFbGzw==}
+  '@vitest/pretty-format@4.0.4':
+    resolution: {integrity: sha512-lHI2rbyrLVSd1TiHGJYyEtbOBo2SDndIsN3qY4o4xe2pBxoJLD6IICghNCvD7P+BFin6jeyHXiUICXqgl6vEaQ==}
 
-  '@vitest/runner@4.0.1':
-    resolution: {integrity: sha512-nxUoWmw7ZX2OiSNwolJeSOOzrrR/o79wRTwP7HhiW/lDFwQHtWMj9snMhrdvccFqanvI8897E81eXjgDbrRvqA==}
+  '@vitest/runner@4.0.4':
+    resolution: {integrity: sha512-99EDqiCkncCmvIZj3qJXBZbyoQ35ghOwVWNnQ5nj0Hnsv4Qm40HmrMJrceewjLVvsxV/JSU4qyx2CGcfMBmXJw==}
 
-  '@vitest/snapshot@4.0.1':
-    resolution: {integrity: sha512-CvfsEWutEIN/Z9ScXYup7YwlPeK9JICrV7FN9p3pVytsyh+aCHAH0PUi//YlTiQ7T8qYxJYpUrAwZL9XqmZ5ZA==}
+  '@vitest/snapshot@4.0.4':
+    resolution: {integrity: sha512-XICqf5Gi4648FGoBIeRgnHWSNDp+7R5tpclGosFaUUFzY6SfcpsfHNMnC7oDu/iOLBxYfxVzaQpylEvpgii3zw==}
 
-  '@vitest/spy@4.0.1':
-    resolution: {integrity: sha512-Hj0/TBQ2EN72wDpfKiUf63mRCkE0ZiSGXGeDDvW9T3LBKVVApItd0GyQLDBIe03kWbyK9gOTEbJVVWthcLFzCg==}
+  '@vitest/spy@4.0.4':
+    resolution: {integrity: sha512-G9L13AFyYECo40QG7E07EdYnZZYCKMTSp83p9W8Vwed0IyCG1GnpDLxObkx8uOGPXfDpdeVf24P1Yka8/q1s9g==}
 
-  '@vitest/utils@4.0.1':
-    resolution: {integrity: sha512-uRrACgpIz5sxuT87ml7xhh7EdKtW8k0N9oSFVBPl8gHB/JfLObLe9dXO6ZrsNN55FzciGIRqIEILgTQvg1eNHw==}
+  '@vitest/utils@4.0.4':
+    resolution: {integrity: sha512-4bJLmSvZLyVbNsYFRpPYdJViG9jZyRvMZ35IF4ymXbRZoS+ycYghmwTGiscTXduUg2lgKK7POWIyXJNute1hjw==}
 
   '@volar/language-core@2.4.23':
     resolution: {integrity: sha512-hEEd5ET/oSmBC6pi1j6NaNYRWoAiDhINbT8rmwtINugR39loROSlufGdYMF9TaKGfz+ViGs1Idi3mAhnuPcoGQ==}
@@ -1479,8 +1471,8 @@ packages:
   '@vue/compiler-ssr@3.5.22':
     resolution: {integrity: sha512-GdgyLvg4R+7T8Nk2Mlighx7XGxq/fJf9jaVofc3IL0EPesTE86cP/8DD1lT3h1JeZr2ySBvyqKQJgbS54IX1Ww==}
 
-  '@vue/language-core@3.1.1':
-    resolution: {integrity: sha512-qjMY3Q+hUCjdH+jLrQapqgpsJ0rd/2mAY02lZoHG3VFJZZZKLjAlV+Oo9QmWIT4jh8+Rx8RUGUi++d7T9Wb6Mw==}
+  '@vue/language-core@3.1.2':
+    resolution: {integrity: sha512-PyFDCqpdfYUT+oMLqcc61oHfJlC6yjhybaefwQjRdkchIihToOEpJ2Wu/Ebq2yrnJdd1EsaAvZaXVAqcxtnDxQ==}
     peerDependencies:
       typescript: '*'
     peerDependenciesMeta:
@@ -1707,8 +1699,8 @@ packages:
   base64-js@1.5.1:
     resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
 
-  baseline-browser-mapping@2.8.19:
-    resolution: {integrity: sha512-zoKGUdu6vb2jd3YOq0nnhEDQVbPcHhco3UImJrv5dSkvxTc2pl2WjOPsjZXDwPDSl5eghIMuY3R6J9NDKF3KcQ==}
+  baseline-browser-mapping@2.8.20:
+    resolution: {integrity: sha512-JMWsdF+O8Orq3EMukbUN1QfbLK9mX2CkUmQBcW2T0s8OmdAUL5LLM/6wFwSrqXzlXB13yhyK9gTKS1rIizOduQ==}
     hasBin: true
 
   big.js@5.2.2:
@@ -2127,8 +2119,8 @@ packages:
     resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==}
     engines: {node: '>=12'}
 
-  dagre-d3-es@7.0.11:
-    resolution: {integrity: sha512-tvlJLyQf834SylNKax8Wkzco/1ias1OPw8DcUMDE7oUIoSEW25riQVuiu/0OWEFqT0cxHT3Pa9/D82Jr47IONw==}
+  dagre-d3-es@7.0.13:
+    resolution: {integrity: sha512-efEhnxpSuwpYOKRm/L5KbqoZmNNukHa/Flty4Wp62JRvgH2ojwVgPgdYyr4twpieZnyRDdIH7PY2mopX26+j2Q==}
 
   damerau-levenshtein@1.0.8:
     resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
@@ -2226,8 +2218,8 @@ packages:
   easymde@2.20.0:
     resolution: {integrity: sha512-V1Z5f92TfR42Na852OWnIZMbM7zotWQYTddNaLYZFVKj7APBbyZ3FYJ27gBw2grMW3R6Qdv9J8n5Ij7XRSIgXQ==}
 
-  electron-to-chromium@1.5.239:
-    resolution: {integrity: sha512-1y5w0Zsq39MSPmEjHjbizvhYoTaulVtivpxkp5q5kaPmQtsK6/2nvAzGRxNMS9DoYySp9PkW0MAQDwU1m764mg==}
+  electron-to-chromium@1.5.240:
+    resolution: {integrity: sha512-OBwbZjWgrCOH+g6uJsA2/7Twpas2OlepS9uvByJjR2datRDuKGYeD+nP8lBBks2qnB7bGJNHDUx7c/YLaT3QMQ==}
 
   emoji-regex@10.6.0:
     resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==}
@@ -2448,11 +2440,11 @@ packages:
     peerDependencies:
       eslint: ^8.0.0 || ^9.0.0
 
-  eslint-plugin-unicorn@61.0.2:
-    resolution: {integrity: sha512-zLihukvneYT7f74GNbVJXfWIiNQmkc/a9vYBTE4qPkQZswolWNdu+Wsp9sIXno1JOzdn6OUwLPd19ekXVkahRA==}
+  eslint-plugin-unicorn@62.0.0:
+    resolution: {integrity: sha512-HIlIkGLkvf29YEiS/ImuDZQbP12gWyx5i3C6XrRxMvVdqMroCI9qoVYCoIl17ChN+U89pn9sVwLxhIWj5nEc7g==}
     engines: {node: ^20.10.0 || >=21.0.0}
     peerDependencies:
-      eslint: '>=9.29.0'
+      eslint: '>=9.38.0'
 
   eslint-plugin-vue-scoped-css@2.12.0:
     resolution: {integrity: sha512-gEbuvYetNbsPA0IsmERFkVC2/vOHCInfFekNSOsAxWI/7C/bc8PoLal+fRibWfnzWryY6iL8YoluMtrEqWRj1A==}
@@ -2752,8 +2744,8 @@ packages:
   htmlparser2@8.0.2:
     resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==}
 
-  htmx.org@2.0.7:
-    resolution: {integrity: sha512-YiJqF3U5KyO28VC5mPfehKJPF+n1Gni+cupK+D69TF0nm7wY6AXn3a4mPWIikfAXtl1u1F1+ZhSCS7KT8pVmqA==}
+  htmx.org@2.0.8:
+    resolution: {integrity: sha512-fm297iru0iWsNJlBrjvtN7V9zjaxd+69Oqjh4F/Vq9Wwi2kFisLcrLCiv5oBX0KLfOX/zG8AUo9ROMU5XUB44Q==}
 
   iconv-lite@0.6.3:
     resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
@@ -2946,11 +2938,6 @@ packages:
     resolution: {integrity: sha512-iZ8Bdb84lWRuGHamRXFyML07r21pcwBrLkHEuHgEY5UbCouBwv7ECknDRKzsQIXMiqpPymqtIf8TC/shYKB5rw==}
     engines: {node: '>=12.0.0'}
 
-  jsesc@3.0.2:
-    resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
-    engines: {node: '>=6'}
-    hasBin: true
-
   jsesc@3.1.0:
     resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
     engines: {node: '>=6'}
@@ -3114,8 +3101,8 @@ packages:
     resolution: {integrity: sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==}
     engines: {node: 20 || >=22}
 
-  magic-string@0.30.19:
-    resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==}
+  magic-string@0.30.21:
+    resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
 
   markdown-it@14.1.0:
     resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
@@ -3145,8 +3132,8 @@ packages:
     engines: {node: '>= 12'}
     hasBin: true
 
-  material-icon-theme@5.27.0:
-    resolution: {integrity: sha512-zB3LtPY2n6z4Kp5fSc7OT8KwAZIJRvcOq6PZR4jmAkvmW1Ot+y6lNJmNqERK9rYAT42tZD1YmkhHaMcA2KEObA==}
+  material-icon-theme@5.28.0:
+    resolution: {integrity: sha512-71MxNSngYnNRUQ2YZpcVJg1KPsCFMlvdJV2LtSk434DjSkIjEeh0soHcJjaUp7ohbyYdpU4rukbvzfOylh+lxg==}
     engines: {vscode: ^1.55.0}
 
   mathml-tag-names@2.1.3:
@@ -3172,8 +3159,8 @@ packages:
     resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
     engines: {node: '>= 8'}
 
-  mermaid@11.12.0:
-    resolution: {integrity: sha512-ZudVx73BwrMJfCFmSSJT84y6u5brEoV8DOItdHomNLz32uBjNrelm7mg95X7g+C6UoQH/W6mBLGDEDv73JdxBg==}
+  mermaid@11.12.1:
+    resolution: {integrity: sha512-UlIZrRariB11TY1RtTgUWp65tphtBv4CSq7vyS2ZZ2TgoMjs2nloq+wFqxiwcxlhHUvs7DPGgMjs2aeQxz5h9g==}
 
   micromark-core-commonmark@2.0.3:
     resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==}
@@ -3684,8 +3671,8 @@ packages:
     resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==}
     hasBin: true
 
-  regjsparser@0.12.0:
-    resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==}
+  regjsparser@0.13.0:
+    resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==}
     hasBin: true
 
   rename-keys@1.2.0:
@@ -3813,8 +3800,8 @@ packages:
     resolution: {integrity: sha512-UOPtVuYkzYGee0Bd2Szz8d2G3RfMfJ2t3qVdZUAozZyAk+a0Sxa+QKix0YCwjL/A1RR0ar44nCxaoN9FxdJGwA==}
     engines: {node: '>= 18'}
 
-  solid-js@1.9.9:
-    resolution: {integrity: sha512-A0ZBPJQldAeGCTW0YRYJmt7RCeh5rbFfPZ2aOttgYnctHE7HgKeHCBB/PVc2P7eOfmNXqMFFFoYYdm3S4dcbkA==}
+  solid-js@1.9.10:
+    resolution: {integrity: sha512-Coz956cos/EPDlhs6+jsdTxKuJDPT7B5SVIWgABwROyxjY7Xbr8wkzD68Et+NxnV7DLJ3nJdAC2r9InuV/4Jew==}
 
   solid-transition-group@0.2.3:
     resolution: {integrity: sha512-iB72c9N5Kz9ykRqIXl0lQohOau4t0dhel9kjwFvx81UZJbVwaChMuBuyhiZmK24b8aKEK0w3uFM96ZxzcyZGdg==}
@@ -3992,8 +3979,8 @@ packages:
   svgson@5.3.1:
     resolution: {integrity: sha512-qdPgvUNWb40gWktBJnbJRelWcPzkLed/ShhnRsjbayXz8OtdPOzbil9jtiZdrYvSDumAz/VNQr6JaNfPx/gvPA==}
 
-  swagger-ui-dist@5.29.5:
-    resolution: {integrity: sha512-2zFnjONgLXlz8gLToRKvXHKJdqXF6UGgCmv65i8T6i/UrjDNyV1fIQ7FauZA40SaivlGKEvW2tw9XDyDhfcXqQ==}
+  swagger-ui-dist@5.30.0:
+    resolution: {integrity: sha512-BoiDSeT9PCtHfDYMgX5UpB/qTQy44UoSFRmzHqvhGfgxzEVPHxIW78a+HMLUIHnSFu3z63wjtbq6L6+Rto20Rw==}
 
   sync-fetch@0.4.5:
     resolution: {integrity: sha512-esiWJ7ixSKGpd9DJPBTC4ckChqdOjIwJfYhVHkcQ2Gnm41323p1TRmEI+esTQ9ppD+b5opps2OTEGTCGX5kF+g==}
@@ -4153,8 +4140,8 @@ packages:
     peerDependencies:
       browserslist: '>= 4.21.0'
 
-  updates@16.8.1:
-    resolution: {integrity: sha512-uzW6nuUMxFQGve03MH35jPV3PZ3uk8hExIGu0ZKMeFvXzelgBuuXZp8nNqoBFjZQoMb5ahv/PeyXOdCnfqlFOA==}
+  updates@16.9.1:
+    resolution: {integrity: sha512-Ct2VXiFLPG6ArPnL0Bd5KIOXjH/V26NYv84cgVZegkVBO96x58x8wG4KqxM2449YaHhgsWiM76jnTNz14pRalQ==}
     engines: {node: '>=20'}
     hasBin: true
 
@@ -4174,8 +4161,8 @@ packages:
   vite-string-plugin@1.4.6:
     resolution: {integrity: sha512-Csjtny8/uVIynzlaRRj4RpHrPAakNwlH9jw6kgQ8tQhc2f0zzA6bCbAgWD0y84EgB8aLNrz7pZFUqSt3LOtk+w==}
 
-  vite@7.1.11:
-    resolution: {integrity: sha512-uzcxnSDVjAopEUjljkWh8EIrg6tlzrjFUfMcR1EVsRDGwf/ccef0qQPRyOrROwhrTDaApueq+ja+KLPlzR/zdg==}
+  vite@7.1.12:
+    resolution: {integrity: sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==}
     engines: {node: ^20.19.0 || >=22.12.0}
     hasBin: true
     peerDependencies:
@@ -4214,18 +4201,18 @@ packages:
       yaml:
         optional: true
 
-  vitest@4.0.1:
-    resolution: {integrity: sha512-4rwTfUNF0MExMZBiNirkzZpeyUZGOs3JD76N2qHNP9i6w6/bff7MRv2I9yFJKd1ICxzn2igpra+E4t9o2EfQhw==}
+  vitest@4.0.4:
+    resolution: {integrity: sha512-hV31h0/bGbtmDQc0KqaxsTO1v4ZQeF8ojDFuy4sZhFadwAqqvJA0LDw68QUocctI5EDpFMql/jVWKuPYHIf2Ew==}
     engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0}
     hasBin: true
     peerDependencies:
       '@edge-runtime/vm': '*'
       '@types/debug': ^4.1.12
       '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0
-      '@vitest/browser-playwright': 4.0.1
-      '@vitest/browser-preview': 4.0.1
-      '@vitest/browser-webdriverio': 4.0.1
-      '@vitest/ui': 4.0.1
+      '@vitest/browser-playwright': 4.0.4
+      '@vitest/browser-preview': 4.0.4
+      '@vitest/browser-webdriverio': 4.0.4
+      '@vitest/ui': 4.0.4
       happy-dom: '*'
       jsdom: '*'
     peerDependenciesMeta:
@@ -4298,8 +4285,8 @@ packages:
       vue:
         optional: true
 
-  vue-tsc@3.1.1:
-    resolution: {integrity: sha512-fyixKxFniOVgn+L/4+g8zCG6dflLLt01Agz9jl3TO45Bgk87NZJRmJVPsiK+ouq3LB91jJCbOV+pDkzYTxbI7A==}
+  vue-tsc@3.1.2:
+    resolution: {integrity: sha512-3fd4DY0rFczs5f+VB3OhcLU83V6+3Puj2yLBe0Ak65k7ERk+STVNKaOAi0EBo6Lc15UiJB6LzU6Mxy4+h/pKew==}
     hasBin: true
     peerDependencies:
       typescript: '>=5.0.0'
@@ -4437,24 +4424,24 @@ snapshots:
 
   '@babel/code-frame@7.27.1':
     dependencies:
-      '@babel/helper-validator-identifier': 7.27.1
+      '@babel/helper-validator-identifier': 7.28.5
       js-tokens: 4.0.0
       picocolors: 1.1.1
 
   '@babel/helper-string-parser@7.27.1': {}
 
-  '@babel/helper-validator-identifier@7.27.1': {}
+  '@babel/helper-validator-identifier@7.28.5': {}
 
-  '@babel/parser@7.28.4':
+  '@babel/parser@7.28.5':
     dependencies:
-      '@babel/types': 7.28.4
+      '@babel/types': 7.28.5
 
   '@babel/runtime@7.28.4': {}
 
-  '@babel/types@7.28.4':
+  '@babel/types@7.28.5':
     dependencies:
       '@babel/helper-string-parser': 7.27.1
-      '@babel/helper-validator-identifier': 7.27.1
+      '@babel/helper-validator-identifier': 7.28.5
 
   '@braintree/sanitize-url@7.1.1': {}
 
@@ -4695,10 +4682,6 @@ snapshots:
     dependencies:
       '@eslint/core': 0.16.0
 
-  '@eslint/core@0.15.2':
-    dependencies:
-      '@types/json-schema': 7.0.15
-
   '@eslint/core@0.16.0':
     dependencies:
       '@types/json-schema': 7.0.15
@@ -4721,11 +4704,6 @@ snapshots:
 
   '@eslint/object-schema@2.1.7': {}
 
-  '@eslint/plugin-kit@0.3.5':
-    dependencies:
-      '@eslint/core': 0.15.2
-      levn: 0.4.1
-
   '@eslint/plugin-kit@0.4.0':
     dependencies:
       '@eslint/core': 0.16.0
@@ -4995,18 +4973,18 @@ snapshots:
       core-js: 3.32.2
       nanopop: 2.3.0
 
-  '@solid-primitives/refs@1.1.2(solid-js@1.9.9)':
+  '@solid-primitives/refs@1.1.2(solid-js@1.9.10)':
     dependencies:
-      '@solid-primitives/utils': 6.3.2(solid-js@1.9.9)
-      solid-js: 1.9.9
+      '@solid-primitives/utils': 6.3.2(solid-js@1.9.10)
+      solid-js: 1.9.10
 
-  '@solid-primitives/transition-group@1.1.2(solid-js@1.9.9)':
+  '@solid-primitives/transition-group@1.1.2(solid-js@1.9.10)':
     dependencies:
-      solid-js: 1.9.9
+      solid-js: 1.9.10
 
-  '@solid-primitives/utils@6.3.2(solid-js@1.9.9)':
+  '@solid-primitives/utils@6.3.2(solid-js@1.9.10)':
     dependencies:
-      solid-js: 1.9.9
+      solid-js: 1.9.10
 
   '@standard-schema/spec@1.0.0': {}
 
@@ -5056,7 +5034,7 @@ snapshots:
       '@types/deep-eql': 4.0.2
       assertion-error: 2.0.1
 
-  '@types/codemirror@5.60.16':
+  '@types/codemirror@5.60.17':
     dependencies:
       '@types/tern': 0.23.9
 
@@ -5229,7 +5207,7 @@ snapshots:
 
   '@types/sizzle@2.3.10': {}
 
-  '@types/sortablejs@1.15.8': {}
+  '@types/sortablejs@1.15.9': {}
 
   '@types/swagger-ui-dist@3.30.6': {}
 
@@ -5402,60 +5380,60 @@ snapshots:
   '@unrs/resolver-binding-win32-x64-msvc@1.11.1':
     optional: true
 
-  '@vitejs/plugin-vue@6.0.1(vite@7.1.11(@types/node@24.9.1)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))':
+  '@vitejs/plugin-vue@6.0.1(vite@7.1.12(@types/node@24.9.1)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))':
     dependencies:
       '@rolldown/pluginutils': 1.0.0-beta.29
-      vite: 7.1.11(@types/node@24.9.1)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1)
+      vite: 7.1.12(@types/node@24.9.1)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1)
       vue: 3.5.22(typescript@5.9.3)
 
-  '@vitest/eslint-plugin@1.3.23(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)(vitest@4.0.1(@types/debug@4.1.12)(@types/node@24.9.1)(happy-dom@20.0.8)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1))':
+  '@vitest/eslint-plugin@1.3.26(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)(vitest@4.0.4(@types/debug@4.1.12)(@types/node@24.9.1)(happy-dom@20.0.8)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1))':
     dependencies:
       '@typescript-eslint/scope-manager': 8.46.2
       '@typescript-eslint/utils': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)
       eslint: 9.38.0(jiti@2.6.1)
     optionalDependencies:
       typescript: 5.9.3
-      vitest: 4.0.1(@types/debug@4.1.12)(@types/node@24.9.1)(happy-dom@20.0.8)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1)
+      vitest: 4.0.4(@types/debug@4.1.12)(@types/node@24.9.1)(happy-dom@20.0.8)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1)
     transitivePeerDependencies:
       - supports-color
 
-  '@vitest/expect@4.0.1':
+  '@vitest/expect@4.0.4':
     dependencies:
       '@standard-schema/spec': 1.0.0
       '@types/chai': 5.2.3
-      '@vitest/spy': 4.0.1
-      '@vitest/utils': 4.0.1
+      '@vitest/spy': 4.0.4
+      '@vitest/utils': 4.0.4
       chai: 6.2.0
       tinyrainbow: 3.0.3
 
-  '@vitest/mocker@4.0.1(vite@7.1.11(@types/node@24.9.1)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1))':
+  '@vitest/mocker@4.0.4(vite@7.1.12(@types/node@24.9.1)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1))':
     dependencies:
-      '@vitest/spy': 4.0.1
+      '@vitest/spy': 4.0.4
       estree-walker: 3.0.3
-      magic-string: 0.30.19
+      magic-string: 0.30.21
     optionalDependencies:
-      vite: 7.1.11(@types/node@24.9.1)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1)
+      vite: 7.1.12(@types/node@24.9.1)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1)
 
-  '@vitest/pretty-format@4.0.1':
+  '@vitest/pretty-format@4.0.4':
     dependencies:
       tinyrainbow: 3.0.3
 
-  '@vitest/runner@4.0.1':
+  '@vitest/runner@4.0.4':
     dependencies:
-      '@vitest/utils': 4.0.1
+      '@vitest/utils': 4.0.4
       pathe: 2.0.3
 
-  '@vitest/snapshot@4.0.1':
+  '@vitest/snapshot@4.0.4':
     dependencies:
-      '@vitest/pretty-format': 4.0.1
-      magic-string: 0.30.19
+      '@vitest/pretty-format': 4.0.4
+      magic-string: 0.30.21
       pathe: 2.0.3
 
-  '@vitest/spy@4.0.1': {}
+  '@vitest/spy@4.0.4': {}
 
-  '@vitest/utils@4.0.1':
+  '@vitest/utils@4.0.4':
     dependencies:
-      '@vitest/pretty-format': 4.0.1
+      '@vitest/pretty-format': 4.0.4
       tinyrainbow: 3.0.3
 
   '@volar/language-core@2.4.23':
@@ -5472,7 +5450,7 @@ snapshots:
 
   '@vue/compiler-core@3.5.22':
     dependencies:
-      '@babel/parser': 7.28.4
+      '@babel/parser': 7.28.5
       '@vue/shared': 3.5.22
       entities: 4.5.0
       estree-walker: 2.0.2
@@ -5485,13 +5463,13 @@ snapshots:
 
   '@vue/compiler-sfc@3.5.22':
     dependencies:
-      '@babel/parser': 7.28.4
+      '@babel/parser': 7.28.5
       '@vue/compiler-core': 3.5.22
       '@vue/compiler-dom': 3.5.22
       '@vue/compiler-ssr': 3.5.22
       '@vue/shared': 3.5.22
       estree-walker: 2.0.2
-      magic-string: 0.30.19
+      magic-string: 0.30.21
       postcss: 8.5.6
       source-map-js: 1.2.1
 
@@ -5500,7 +5478,7 @@ snapshots:
       '@vue/compiler-dom': 3.5.22
       '@vue/shared': 3.5.22
 
-  '@vue/language-core@3.1.1(typescript@5.9.3)':
+  '@vue/language-core@3.1.2(typescript@5.9.3)':
     dependencies:
       '@volar/language-core': 2.4.23
       '@vue/compiler-dom': 3.5.22
@@ -5702,8 +5680,8 @@ snapshots:
   asciinema-player@3.12.1:
     dependencies:
       '@babel/runtime': 7.28.4
-      solid-js: 1.9.9
-      solid-transition-group: 0.2.3(solid-js@1.9.9)
+      solid-js: 1.9.10
+      solid-transition-group: 0.2.3(solid-js@1.9.10)
 
   assertion-error@2.0.1: {}
 
@@ -5723,7 +5701,7 @@ snapshots:
 
   base64-js@1.5.1: {}
 
-  baseline-browser-mapping@2.8.19: {}
+  baseline-browser-mapping@2.8.20: {}
 
   big.js@5.2.2: {}
 
@@ -5746,9 +5724,9 @@ snapshots:
 
   browserslist@4.27.0:
     dependencies:
-      baseline-browser-mapping: 2.8.19
+      baseline-browser-mapping: 2.8.20
       caniuse-lite: 1.0.30001751
-      electron-to-chromium: 1.5.239
+      electron-to-chromium: 1.5.240
       node-releases: 2.0.26
       update-browserslist-db: 1.1.4(browserslist@4.27.0)
 
@@ -6153,7 +6131,7 @@ snapshots:
       d3-transition: 3.0.1(d3-selection@3.0.0)
       d3-zoom: 3.0.0
 
-  dagre-d3-es@7.0.11:
+  dagre-d3-es@7.0.13:
     dependencies:
       d3: 7.9.0
       lodash-es: 4.17.21
@@ -6242,13 +6220,13 @@ snapshots:
 
   easymde@2.20.0:
     dependencies:
-      '@types/codemirror': 5.60.16
+      '@types/codemirror': 5.60.17
       '@types/marked': 4.3.2
       codemirror: 5.65.20
       codemirror-spell-checker: 1.1.2
       marked: 4.3.0
 
-  electron-to-chromium@1.5.239: {}
+  electron-to-chromium@1.5.240: {}
 
   emoji-regex@10.6.0: {}
 
@@ -6544,11 +6522,11 @@ snapshots:
       semver: 7.7.2
       typescript: 5.9.3
 
-  eslint-plugin-unicorn@61.0.2(eslint@9.38.0(jiti@2.6.1)):
+  eslint-plugin-unicorn@62.0.0(eslint@9.38.0(jiti@2.6.1)):
     dependencies:
-      '@babel/helper-validator-identifier': 7.27.1
+      '@babel/helper-validator-identifier': 7.28.5
       '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@2.6.1))
-      '@eslint/plugin-kit': 0.3.5
+      '@eslint/plugin-kit': 0.4.0
       change-case: 5.4.4
       ci-info: 4.3.1
       clean-regexp: 1.0.0
@@ -6562,7 +6540,7 @@ snapshots:
       jsesc: 3.1.0
       pluralize: 8.0.0
       regexp-tree: 0.1.27
-      regjsparser: 0.12.0
+      regjsparser: 0.13.0
       semver: 7.7.3
       strip-indent: 4.1.1
 
@@ -6887,7 +6865,7 @@ snapshots:
       domutils: 3.2.2
       entities: 4.5.0
 
-  htmx.org@2.0.7: {}
+  htmx.org@2.0.8: {}
 
   iconv-lite@0.6.3:
     dependencies:
@@ -7044,8 +7022,6 @@ snapshots:
 
   jsdoc-type-pratt-parser@4.8.0: {}
 
-  jsesc@3.0.2: {}
-
   jsesc@3.1.0: {}
 
   json-buffer@3.0.1: {}
@@ -7180,7 +7156,7 @@ snapshots:
 
   lru-cache@11.2.2: {}
 
-  magic-string@0.30.19:
+  magic-string@0.30.21:
     dependencies:
       '@jridgewell/sourcemap-codec': 1.5.5
 
@@ -7228,7 +7204,7 @@ snapshots:
 
   marked@4.3.0: {}
 
-  material-icon-theme@5.27.0:
+  material-icon-theme@5.28.0:
     dependencies:
       chroma-js: 3.1.2
       events: 3.3.0
@@ -7249,7 +7225,7 @@ snapshots:
 
   merge2@1.4.1: {}
 
-  mermaid@11.12.0:
+  mermaid@11.12.1:
     dependencies:
       '@braintree/sanitize-url': 7.1.1
       '@iconify/utils': 3.0.2
@@ -7260,7 +7236,7 @@ snapshots:
       cytoscape-fcose: 2.2.0(cytoscape@3.33.1)
       d3: 7.9.0
       d3-sankey: 0.12.3
-      dagre-d3-es: 7.0.11
+      dagre-d3-es: 7.0.13
       dayjs: 1.11.18
       dompurify: 3.3.0
       katex: 0.16.25
@@ -7832,9 +7808,9 @@ snapshots:
 
   regexp-tree@0.1.27: {}
 
-  regjsparser@0.12.0:
+  regjsparser@0.13.0:
     dependencies:
-      jsesc: 3.0.2
+      jsesc: 3.1.0
 
   rename-keys@1.2.0: {}
 
@@ -7965,17 +7941,17 @@ snapshots:
 
   smol-toml@1.3.4: {}
 
-  solid-js@1.9.9:
+  solid-js@1.9.10:
     dependencies:
       csstype: 3.1.3
       seroval: 1.3.2
       seroval-plugins: 1.3.3(seroval@1.3.2)
 
-  solid-transition-group@0.2.3(solid-js@1.9.9):
+  solid-transition-group@0.2.3(solid-js@1.9.10):
     dependencies:
-      '@solid-primitives/refs': 1.1.2(solid-js@1.9.9)
-      '@solid-primitives/transition-group': 1.1.2(solid-js@1.9.9)
-      solid-js: 1.9.9
+      '@solid-primitives/refs': 1.1.2(solid-js@1.9.10)
+      '@solid-primitives/transition-group': 1.1.2(solid-js@1.9.10)
+      solid-js: 1.9.10
 
   sortablejs@1.15.6: {}
 
@@ -8189,7 +8165,7 @@ snapshots:
       deep-rename-keys: 0.2.1
       xml-reader: 2.4.3
 
-  swagger-ui-dist@5.29.5:
+  swagger-ui-dist@5.30.0:
     dependencies:
       '@scarf/scarf': 1.4.0
 
@@ -8377,7 +8353,7 @@ snapshots:
       escalade: 3.2.0
       picocolors: 1.1.1
 
-  updates@16.8.1: {}
+  updates@16.9.1: {}
 
   uri-js@4.4.1:
     dependencies:
@@ -8391,7 +8367,7 @@ snapshots:
 
   vite-string-plugin@1.4.6: {}
 
-  vite@7.1.11(@types/node@24.9.1)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1):
+  vite@7.1.12(@types/node@24.9.1)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1):
     dependencies:
       esbuild: 0.25.11
       fdir: 6.5.0(picomatch@4.0.3)
@@ -8407,19 +8383,19 @@ snapshots:
       terser: 5.44.0
       yaml: 2.8.1
 
-  vitest@4.0.1(@types/debug@4.1.12)(@types/node@24.9.1)(happy-dom@20.0.8)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1):
+  vitest@4.0.4(@types/debug@4.1.12)(@types/node@24.9.1)(happy-dom@20.0.8)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1):
     dependencies:
-      '@vitest/expect': 4.0.1
-      '@vitest/mocker': 4.0.1(vite@7.1.11(@types/node@24.9.1)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1))
-      '@vitest/pretty-format': 4.0.1
-      '@vitest/runner': 4.0.1
-      '@vitest/snapshot': 4.0.1
-      '@vitest/spy': 4.0.1
-      '@vitest/utils': 4.0.1
+      '@vitest/expect': 4.0.4
+      '@vitest/mocker': 4.0.4(vite@7.1.12(@types/node@24.9.1)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1))
+      '@vitest/pretty-format': 4.0.4
+      '@vitest/runner': 4.0.4
+      '@vitest/snapshot': 4.0.4
+      '@vitest/spy': 4.0.4
+      '@vitest/utils': 4.0.4
       debug: 4.4.3
       es-module-lexer: 1.7.0
       expect-type: 1.2.2
-      magic-string: 0.30.19
+      magic-string: 0.30.21
       pathe: 2.0.3
       picomatch: 4.0.3
       std-env: 3.10.0
@@ -8427,7 +8403,7 @@ snapshots:
       tinyexec: 0.3.2
       tinyglobby: 0.2.15
       tinyrainbow: 3.0.3
-      vite: 7.1.11(@types/node@24.9.1)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1)
+      vite: 7.1.12(@types/node@24.9.1)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.0)(yaml@2.8.1)
       why-is-node-running: 2.3.0
     optionalDependencies:
       '@types/debug': 4.1.12
@@ -8498,10 +8474,10 @@ snapshots:
     optionalDependencies:
       vue: 3.5.22(typescript@5.9.3)
 
-  vue-tsc@3.1.1(typescript@5.9.3):
+  vue-tsc@3.1.2(typescript@5.9.3):
     dependencies:
       '@volar/typescript': 2.4.23
-      '@vue/language-core': 3.1.1(typescript@5.9.3)
+      '@vue/language-core': 3.1.2(typescript@5.9.3)
       typescript: 5.9.3
 
   vue@3.5.22(typescript@5.9.3):