diff --git a/.env b/.env deleted file mode 100644 index ff859e622..000000000 --- a/.env +++ /dev/null @@ -1 +0,0 @@ -NODE_OPTIONS=--max_old_space_size=4096 \ No newline at end of file diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index be719993f..d15752461 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -39,7 +39,7 @@ jobs: - uses: nrwl/nx-set-shas@v4 - name: Check affected - run: pnpm nx affected --verbose -t typecheck build rebuild-deps + run: pnpm nx affected --verbose -t typecheck build rebuild-deps test-build test_dev: name: Test development diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 7504eca93..1f370c360 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -11,7 +11,8 @@ on: pull_request: paths: - .github/actions/build-electron/* - - forge.config.cjs + - .github/workflows/nightly.yml + - forge.config.ts concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -76,7 +77,7 @@ jobs: WINDOWS_SIGN_EXECUTABLE: ${{ vars.WINDOWS_SIGN_EXECUTABLE }} - name: Publish release - uses: softprops/action-gh-release@v2.2.2 + uses: softprops/action-gh-release@v2.3.2 if: ${{ github.event_name != 'pull_request' }} with: make_latest: false @@ -116,7 +117,7 @@ jobs: arch: ${{ matrix.arch }} - name: Publish release - uses: softprops/action-gh-release@v2.2.2 + uses: softprops/action-gh-release@v2.3.2 if: ${{ github.event_name != 'pull_request' }} with: make_latest: false diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5dee14fed..9533621f0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -114,7 +114,7 @@ jobs: path: upload - name: Publish stable release - uses: softprops/action-gh-release@v2.2.2 + uses: softprops/action-gh-release@v2.3.2 with: draft: false body_path: docs/Release Notes/Release Notes/${{ github.ref_name }}.md diff --git a/.gitignore b/.gitignore index ecb8c9edf..d7694258d 100644 --- a/.gitignore +++ b/.gitignore @@ -45,4 +45,5 @@ upload .rollup.cache *.tsbuildinfo -/result \ No newline at end of file +/result +.svelte-kit \ No newline at end of file diff --git a/.nxignore b/.nxignore index bac1baa0e..7290b55e6 100644 --- a/.nxignore +++ b/.nxignore @@ -1,7 +1,2 @@ _regroup -_regroup_monorepo - -# Asset copying respects .gitignore / .nxignore for some reason. -# See https://github.com/nrwl/nx/issues/20309 -!dist -!node_modules \ No newline at end of file +_regroup_monorepo \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 13e5a892d..e64c42352 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -9,6 +9,8 @@ "redhat.vscode-yaml", "tobermory.es6-string-html", "vitest.explorer", - "yzhang.markdown-all-in-one" + "yzhang.markdown-all-in-one", + "svelte.svelte-vscode", + "bradlc.vscode-tailwindcss" ] } diff --git a/README.md b/README.md index 7caf50479..288bc3467 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ See [screenshots](https://triliumnext.github.io/Docs/Wiki/screenshot-tour) for q * Seamless [note versioning](https://triliumnext.github.io/Docs/Wiki/note-revisions) * Note [attributes](https://triliumnext.github.io/Docs/Wiki/attributes) can be used for note organization, querying and advanced [scripting](https://triliumnext.github.io/Docs/Wiki/scripts) * UI available in English, German, Spanish, French, Romanian, and Chinese (simplified and traditional) -* Direct [OpenID and TOTP integration](.docs/User%20Guide/User%20Guide/Installation%20%26%20Setup/Server%20Installation/Multi-Factor%20Authentication.md") for more secure login +* Direct [OpenID and TOTP integration](./docs/User%20Guide/User%20Guide/Installation%20%26%20Setup/Server%20Installation/Multi-Factor%20Authentication.md) for more secure login * [Synchronization](https://triliumnext.github.io/Docs/Wiki/synchronization) with self-hosted sync server * there's a [3rd party service for hosting synchronisation server](https://trilium.cc/paid-hosting) * [Sharing](https://triliumnext.github.io/Docs/Wiki/sharing) (publishing) notes to public internet diff --git a/_regroup/eslint.config.js b/_regroup/eslint.config.js index 2f2b2c036..7c906beb2 100644 --- a/_regroup/eslint.config.js +++ b/_regroup/eslint.config.js @@ -44,7 +44,6 @@ export default tseslint.config( "dist/*", "docs/*", "demo/*", - "libraries/*", "src/public/app-dist/*", "src/public/app/doc_notes/*" ] diff --git a/_regroup/eslint.format.config.js b/_regroup/eslint.format.config.js index 23fbb6caf..9dbfd78b2 100644 --- a/_regroup/eslint.format.config.js +++ b/_regroup/eslint.format.config.js @@ -38,7 +38,6 @@ export default [ "dist/*", "docs/*", "demo/*", - "libraries/*", // TriliumNextTODO: check if we want to format packages here as well - for now skipping it "packages/*", "src/public/app-dist/*", diff --git a/_regroup/package.json b/_regroup/package.json index 57cca2b4e..c90182481 100644 --- a/_regroup/package.json +++ b/_regroup/package.json @@ -38,10 +38,10 @@ "@playwright/test": "1.53.0", "@stylistic/eslint-plugin": "4.4.1", "@types/express": "5.0.3", - "@types/node": "22.15.31", + "@types/node": "22.15.32", "@types/yargs": "17.0.33", - "@vitest/coverage-v8": "3.2.3", - "eslint": "9.28.0", + "@vitest/coverage-v8": "3.2.4", + "eslint": "9.29.0", "eslint-plugin-simple-import-sort": "12.1.1", "esm": "3.2.25", "jsdoc": "4.0.4", diff --git a/apps/client/.env b/apps/client/.env new file mode 100644 index 000000000..001b8becd --- /dev/null +++ b/apps/client/.env @@ -0,0 +1,4 @@ +# The development license key for premium CKEditor features. +# Note: This key must only be used for the Trilium Notes project. +# Expires on: 2025-09-13 +VITE_CKEDITOR_KEY=eyJhbGciOiJFUzI1NiJ9.eyJleHAiOjE3NTc3MjE1OTksImp0aSI6ImFiN2E0NjZmLWJlZGMtNDNiYy1iMzU4LTk0NGQ0YWJhY2I3ZiIsImRpc3RyaWJ1dGlvbkNoYW5uZWwiOlsic2giLCJkcnVwYWwiXSwid2hpdGVMYWJlbCI6dHJ1ZSwiZmVhdHVyZXMiOlsiRFJVUCIsIkNNVCIsIkRPIiwiRlAiLCJTQyIsIlRPQyIsIlRQTCIsIlBPRSIsIkNDIiwiTUYiLCJTRUUiLCJFQ0giLCJFSVMiXSwidmMiOiI1MzlkOWY5YyJ9.2rvKPql4hmukyXhEtWPZ8MLxKvzPIwzCdykO653g7IxRRZy2QJpeRszElZx9DakKYZKXekVRAwQKgHxwkgbE_w \ No newline at end of file diff --git a/apps/client/.env.production b/apps/client/.env.production new file mode 100644 index 000000000..efd1fd517 --- /dev/null +++ b/apps/client/.env.production @@ -0,0 +1 @@ +VITE_CKEDITOR_ENABLE_INSPECTOR=false diff --git a/apps/client/package.json b/apps/client/package.json index c101dbe5a..7f1786fec 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -1,6 +1,6 @@ { "name": "@triliumnext/client", - "version": "0.94.1", + "version": "0.95.0", "description": "JQuery-based client for TriliumNext, used for both web and desktop (via Electron)", "private": true, "license": "AGPL-3.0-only", @@ -10,7 +10,7 @@ "url": "https://github.com/TriliumNext/Notes" }, "dependencies": { - "@eslint/js": "9.28.0", + "@eslint/js": "9.29.0", "@excalidraw/excalidraw": "0.18.0", "@fullcalendar/core": "6.1.17", "@fullcalendar/daygrid": "6.1.17", @@ -27,7 +27,7 @@ "@triliumnext/highlightjs": "workspace:*", "@triliumnext/share-theme": "workspace:*", "autocomplete.js": "0.38.1", - "bootstrap": "5.3.6", + "bootstrap": "5.3.7", "boxicons": "2.1.4", "dayjs": "1.11.13", "dayjs-plugin-utc": "0.1.2", @@ -48,11 +48,10 @@ "mark.js": "8.11.1", "marked": "15.0.12", "mermaid": "11.6.0", - "mind-elixir": "4.6.0", + "mind-elixir": "4.6.1", "normalize.css": "8.0.1", "panzoom": "9.4.3", - "react": "19.1.0", - "react-dom": "19.1.0", + "preact": "10.26.9", "split.js": "1.6.5", "svg-pan-zoom": "3.6.2", "vanilla-js-wheel-zoom": "9.0.4" @@ -64,18 +63,18 @@ "@types/leaflet": "1.9.18", "@types/leaflet-gpx": "1.3.7", "@types/mark.js": "8.11.12", - "@types/react": "19.1.7", - "@types/react-dom": "19.1.6", "copy-webpack-plugin": "13.0.0", "happy-dom": "18.0.1", "script-loader": "0.7.2", - "vite-plugin-static-copy": "3.0.0" + "vite-plugin-static-copy": "3.0.2" }, "nx": { "name": "client", "targets": { "serve": { - "dependsOn": ["^build"] + "dependsOn": [ + "^build" + ] } } } diff --git a/apps/client/src/components/app_context.ts b/apps/client/src/components/app_context.ts index f7a5dfb1e..0cf5058ed 100644 --- a/apps/client/src/components/app_context.ts +++ b/apps/client/src/components/app_context.ts @@ -28,6 +28,7 @@ import type { NativeImage, TouchBar } from "electron"; import TouchBarComponent from "./touch_bar.js"; import type { CKTextEditor } from "@triliumnext/ckeditor5"; import type CodeMirror from "@triliumnext/codemirror"; +import { StartupChecks } from "./startup_checks.js"; interface Layout { getRootWidget: (appContext: AppContext) => RootWidget; @@ -128,6 +129,7 @@ export type CommandMappings = { openAboutDialog: CommandData; hideFloatingButtons: {}; hideLeftPane: CommandData; + showCpuArchWarning: CommandData; showLeftPane: CommandData; hoistNote: CommandData & { noteId: string }; leaveProtectedSession: CommandData; @@ -279,6 +281,7 @@ export type CommandMappings = { buildIcon(name: string): NativeImage; }; refreshTouchBar: CommandData; + reloadTextEditor: CommandData; }; type EventMappings = { @@ -473,7 +476,14 @@ export class AppContext extends Component { initComponents() { this.tabManager = new TabManager(); - this.components = [this.tabManager, new RootCommandExecutor(), new Entrypoints(), new MainTreeExecutors(), new ShortcutComponent()]; + this.components = [ + this.tabManager, + new RootCommandExecutor(), + new Entrypoints(), + new MainTreeExecutors(), + new ShortcutComponent(), + new StartupChecks() + ]; if (utils.isMobile()) { this.components.push(new MobileScreenSwitcherExecutor()); diff --git a/apps/client/src/components/startup_checks.ts b/apps/client/src/components/startup_checks.ts new file mode 100644 index 000000000..b320d7e13 --- /dev/null +++ b/apps/client/src/components/startup_checks.ts @@ -0,0 +1,26 @@ +import server from "../services/server"; +import Component from "./component"; + +// TODO: Deduplicate. +interface CpuArchResponse { + isCpuArchMismatch: boolean; +} + +export class StartupChecks extends Component { + + constructor() { + super(); + this.checkCpuArchMismatch(); + } + + async checkCpuArchMismatch() { + try { + const response = await server.get("system-checks") as CpuArchResponse; + if (response.isCpuArchMismatch) { + this.triggerCommand("showCpuArchWarning", {}); + } + } catch (error) { + console.warn("Could not check CPU arch status:", error); + } + } +} diff --git a/apps/client/src/desktop.ts b/apps/client/src/desktop.ts index 1a0f7e8a9..65e2e285a 100644 --- a/apps/client/src/desktop.ts +++ b/apps/client/src/desktop.ts @@ -8,6 +8,7 @@ import electronContextMenu from "./menus/electron_context_menu.js"; import glob from "./services/glob.js"; import { t } from "./services/i18n.js"; import options from "./services/options.js"; +import server from "./services/server.js"; import type ElectronRemote from "@electron/remote"; import type Electron from "electron"; import "./stylesheets/bootstrap.scss"; diff --git a/apps/client/src/layouts/layout_commons.ts b/apps/client/src/layouts/layout_commons.ts index d9559cde2..e53839839 100644 --- a/apps/client/src/layouts/layout_commons.ts +++ b/apps/client/src/layouts/layout_commons.ts @@ -21,6 +21,7 @@ import ConfirmDialog from "../widgets/dialogs/confirm.js"; import RevisionsDialog from "../widgets/dialogs/revisions.js"; import DeleteNotesDialog from "../widgets/dialogs/delete_notes.js"; import InfoDialog from "../widgets/dialogs/info.js"; +import IncorrectCpuArchDialog from "../widgets/dialogs/incorrect_cpu_arch.js"; export function applyModals(rootContainer: RootContainer) { rootContainer @@ -45,4 +46,5 @@ export function applyModals(rootContainer: RootContainer) { .child(new InfoDialog()) .child(new ConfirmDialog()) .child(new PromptDialog()) + .child(new IncorrectCpuArchDialog()) } diff --git a/apps/client/src/libraries/codemirror/hcl.js b/apps/client/src/libraries/codemirror/hcl.js deleted file mode 100644 index 04c0ea749..000000000 --- a/apps/client/src/libraries/codemirror/hcl.js +++ /dev/null @@ -1,204 +0,0 @@ -// Source: https://github.com/codemirror/codemirror5/pull/7080/files - -// CodeMirror, copyright (c) by Marijn Haverbeke and others -// Distributed under an MIT license: https://codemirror.net/5/LICENSE - -(function (mod) { - if (typeof exports == "object" && typeof module == "object") // CommonJS - mod(require("../../lib/codemirror")); - else if (typeof define == "function" && define.amd) // AMD - define(["../../lib/codemirror"], mod); - else // Plain browser env - mod(CodeMirror); -})(function (CodeMirror) { - "use strict"; - - CodeMirror.defineMode("hcl", function (config) { - var indentUnit = config.indentUnit; - - var keywords = { - "resource": true, - "variable": true, - "output": true, - "module": true, - "provider": true, - "data": true, - "locals": true, - "terraform": true, - "if": true, - "else": true, - "for": true, - "foreach": true, - "in": true, - "true": true, - "false": true, - "null": true, - }; - - var atoms = { - "true": true, - "false": true, - "null": true, - }; - - var isOperatorChar = /[+\-*&^%:=<>!|\/]/; - - var curPunc; - - function tokenBase(stream, state) { - var ch = stream.next(); - if (ch == '"' || ch == "'" || ch == "`") { - state.tokenize = tokenString(ch); - return state.tokenize(stream, state); - } - if (/[\d\.]/.test(ch)) { - if (ch == ".") { - stream.match(/^[0-9_]+([eE][\-+]?[0-9_]+)?/); - } else { - stream.match(/^[0-9_]*\.?[0-9_]*([eE][\-+]?[0-9_]+)?/); - } - return "number"; - } - if (/[\[\]{}\(\),;\:\.]/.test(ch)) { - curPunc = ch; - return null; - } - if (ch == "/") { - if (stream.eat("*")) { - state.tokenize = tokenComment; - return tokenComment(stream, state); - } - if (stream.eat("/")) { - stream.skipToEnd(); - return "comment"; - } - } - if (isOperatorChar.test(ch)) { - stream.eatWhile(isOperatorChar); - return "operator"; - } - stream.eatWhile(/[\w\$_\xa1-\uffff]/); - var cur = stream.current(); - if (keywords.propertyIsEnumerable(cur)) { - return "keyword"; - } - if (atoms.propertyIsEnumerable(cur)) return "atom"; - return "variable"; - } - - function tokenString(quote) { - return function (stream, state) { - var escaped = false, - next, - end = false; - while ((next = stream.next()) != null) { - if (next == quote && !escaped) { - end = true; - break; - } - escaped = !escaped && quote != "`" && next == "\\"; - } - if (end || !(escaped || quote == "`")) - state.tokenize = tokenBase; - return "string"; - }; - } - - function tokenComment(stream, state) { - var maybeEnd = false, - ch; - while (ch = stream.next()) { - if (ch == "/" && maybeEnd) { - state.tokenize = tokenBase; - break; - } - maybeEnd = (ch == "*"); - } - return "comment"; - } - - function Context(indented, column, type, align, prev) { - this.indented = indented; - this.column = column; - this.type = type; - this.align = align; - this.prev = prev; - } - function pushContext(state, col, type) { - return state.context = new Context(state.indented, col, type, null, state.context); - } - function popContext(state) { - if (!state.context.prev) return; - var t = state.context.type; - if (t == ")" || t == "]" || t == "}") - state.indented = state.context.indented; - return state.context = state.context.prev; - } - - // Interface - - return { - startState: function (basecolumn) { - return { - tokenize: null, - context: new Context((basecolumn || 0) - indentUnit, 0, "top", false), - indented: 0, - startOfLine: true - }; - }, - - token: function (stream, state) { - var ctx = state.context; - if (stream.sol()) { - if (ctx.align == null) ctx.align = false; - state.indented = stream.indentation(); - state.startOfLine = true; - } - if (stream.eatSpace()) return null; - curPunc = null; - var style = (state.tokenize || tokenBase)(stream, state); - if (style == "comment") return style; - if (ctx.align == null) ctx.align = true; - - if (curPunc == "{") pushContext(state, stream.column(), "}"); - else if (curPunc == "[") pushContext(state, stream.column(), "]"); - else if (curPunc == "(") pushContext(state, stream.column(), ")"); - else if (curPunc == "}" && ctx.type == "}") popContext(state); - else if (curPunc == ctx.type) popContext(state); - state.startOfLine = false; - return style; - }, - - indent: function (state, textAfter) { - if (state.tokenize != tokenBase && state.tokenize != null) return CodeMirror.Pass; - var ctx = state.context, firstChar = textAfter && textAfter.charAt(0); - if (firstChar == "#" || firstChar == ";") return 0; - if (stream.sol()) { - if (ctx.type == "case" && /^(?:case|default)\b/.test(textAfter)) { - state.context.type = "}"; - return ctx.indented; - } - var closing = firstChar == ctx.type; - if (ctx.align) return ctx.column + (closing ? 0 : 1); - else return ctx.indented + (closing ? 0 : indentUnit); - } - }, - - electricChars: "{}):", - closeBrackets: "()[]{}''\"\"``", - fold: "brace", - blockCommentStart: "/*", - blockCommentEnd: "*/", - lineComment: "//" - }; - }); - - CodeMirror.defineMIME("text/x-hcl", "hcl"); - CodeMirror.modeInfo.push({ - ext: [ "hcl " ], - mime: "text/x-hcl", - mode: "hcl", - name: "Terraform (HCL)" - }); - -}); diff --git a/apps/client/src/menus/context_menu.ts b/apps/client/src/menus/context_menu.ts index a8a37f462..72519233a 100644 --- a/apps/client/src/menus/context_menu.ts +++ b/apps/client/src/menus/context_menu.ts @@ -194,14 +194,15 @@ class ContextMenu { return false; }); - if (!this.isMobile) { - $item.on("mouseup", (e) =>{ + $item.on("mouseup", (e) => { + // Prevent submenu from failing to expand on mobile + if (!this.isMobile || !("items" in item && item.items)) { e.stopPropagation(); // Hide the content menu on mouse up to prevent the mouse event from propagating to the elements below. this.hide(); return false; - }); - } + } + }); if ("enabled" in item && item.enabled !== undefined && !item.enabled) { $item.addClass("disabled"); diff --git a/apps/client/src/services/froca.ts b/apps/client/src/services/froca.ts index 131cec06f..6bbc3a50d 100644 --- a/apps/client/src/services/froca.ts +++ b/apps/client/src/services/froca.ts @@ -245,6 +245,10 @@ class FrocaImpl implements Froca { } async getNotes(noteIds: string[] | JQuery, silentNotFoundError = false): Promise { + if (noteIds.length === 0) { + return []; + } + noteIds = Array.from(new Set(noteIds)); // make unique const missingNoteIds = noteIds.filter((noteId) => !this.notes[noteId]); diff --git a/apps/client/src/services/note_autocomplete.ts b/apps/client/src/services/note_autocomplete.ts index 4ffff8594..d6eb4df0e 100644 --- a/apps/client/src/services/note_autocomplete.ts +++ b/apps/client/src/services/note_autocomplete.ts @@ -289,13 +289,11 @@ function initNoteAutocomplete($el: JQuery, options?: Options) { } if (suggestion.action === "create-note") { - const { success, noteType, templateNoteId } = await noteCreateService.chooseNoteType(); - + const { success, noteType, templateNoteId, notePath } = await noteCreateService.chooseNoteType(); if (!success) { return; } - - const { note } = await noteCreateService.createNote(suggestion.parentNoteId, { + const { note } = await noteCreateService.createNote( notePath || suggestion.parentNoteId, { title: suggestion.noteTitle, activate: false, type: noteType, diff --git a/apps/client/src/services/note_create.ts b/apps/client/src/services/note_create.ts index 5fa262553..6ce92bc0d 100644 --- a/apps/client/src/services/note_create.ts +++ b/apps/client/src/services/note_create.ts @@ -116,7 +116,7 @@ async function chooseNoteType() { } async function createNoteWithTypePrompt(parentNotePath: string, options: CreateNoteOpts = {}) { - const { success, noteType, templateNoteId } = await chooseNoteType(); + const { success, noteType, templateNoteId, notePath } = await chooseNoteType(); if (!success) { return; @@ -125,7 +125,7 @@ async function createNoteWithTypePrompt(parentNotePath: string, options: CreateN options.type = noteType; options.templateNoteId = templateNoteId; - return await createNote(parentNotePath, options); + return await createNote(notePath || parentNotePath, options); } /* If the first element is heading, parse it out and use it as a new heading. */ diff --git a/apps/client/src/services/note_types.ts b/apps/client/src/services/note_types.ts index 4de0bd8bf..e9905063c 100644 --- a/apps/client/src/services/note_types.ts +++ b/apps/client/src/services/note_types.ts @@ -4,6 +4,8 @@ import { t } from "./i18n.js"; import type { MenuItem } from "../menus/context_menu.js"; import type { TreeCommandNames } from "../menus/tree_context_menu.js"; +const SEPARATOR = { title: "----" }; + async function getNoteTypeItems(command?: TreeCommandNames) { const items: MenuItem[] = [ { title: t("note_types.text"), command, type: "text", uiIcon: "bx bx-note" }, @@ -18,25 +20,59 @@ async function getNoteTypeItems(command?: TreeCommandNames) { { title: t("note_types.web-view"), command, type: "webView", uiIcon: "bx bx-globe-alt" }, { title: t("note_types.mind-map"), command, type: "mindMap", uiIcon: "bx bx-sitemap" }, { title: t("note_types.geo-map"), command, type: "geoMap", uiIcon: "bx bx-map-alt" }, + ...await getBuiltInTemplates(command), + ...await getUserTemplates(command) ]; + return items; +} + +async function getUserTemplates(command?: TreeCommandNames) { const templateNoteIds = await server.get("search-templates"); const templateNotes = await froca.getNotes(templateNoteIds); - - if (templateNotes.length > 0) { - items.push({ title: "----" }); - - for (const templateNote of templateNotes) { - items.push({ - title: templateNote.title, - uiIcon: templateNote.getIcon(), - command: command, - type: templateNote.type, - templateNoteId: templateNote.noteId - }); - } + if (templateNotes.length === 0) { + return []; } + const items: MenuItem[] = [ + SEPARATOR + ]; + for (const templateNote of templateNotes) { + items.push({ + title: templateNote.title, + uiIcon: templateNote.getIcon(), + command: command, + type: templateNote.type, + templateNoteId: templateNote.noteId + }); + } + return items; +} + +async function getBuiltInTemplates(command?: TreeCommandNames) { + const templatesRoot = await froca.getNote("_templates"); + if (!templatesRoot) { + console.warn("Unable to find template root."); + return []; + } + + const childNotes = await templatesRoot.getChildNotes(); + if (childNotes.length === 0) { + return []; + } + + const items: MenuItem[] = [ + SEPARATOR + ]; + for (const templateNote of childNotes) { + items.push({ + title: templateNote.title, + uiIcon: templateNote.getIcon(), + command: command, + type: templateNote.type, + templateNoteId: templateNote.noteId + }); + } return items; } diff --git a/apps/client/src/services/utils.ts b/apps/client/src/services/utils.ts index 2cfa07ee8..412650605 100644 --- a/apps/client/src/services/utils.ts +++ b/apps/client/src/services/utils.ts @@ -332,8 +332,6 @@ async function openDialog($dialog: JQuery, closeActDialog = true) { } }); - // TODO: Fix once keyboard_actions is ported. - // @ts-ignore const keyboardActionsService = (await import("./keyboard_actions.js")).default; keyboardActionsService.updateDisplayedShortcuts($dialog); diff --git a/apps/client/src/stylesheets/style.css b/apps/client/src/stylesheets/style.css index 2f026ab01..0bf0588b0 100644 --- a/apps/client/src/stylesheets/style.css +++ b/apps/client/src/stylesheets/style.css @@ -25,6 +25,7 @@ --bs-body-font-weight: var(--main-font-weight) !important; --bs-body-color: var(--main-text-color) !important; --bs-body-bg: var(--main-background-color) !important; + --ck-mention-list-max-height: 500px; } .table { @@ -391,7 +392,7 @@ body.desktop .dropdown-menu { } body.desktop .dropdown-menu:not(#context-menu-container) .dropdown-item, -body.desktop #context-menu-container .dropdown-item > span { +body #context-menu-container .dropdown-item > span { display: flex; align-items: center; } @@ -439,10 +440,11 @@ body.desktop #context-menu-container .dropdown-item > span { border-radius: 6px; overflow: hidden; margin: 4px; + font-size: var(--monospace-font-size); } -body .cm-editor { - font-size: var(--monospace-font-size); +.cm-scroller { + font-family: var(--monospace-font-family) !important; } body .cm-editor .cm-gutters { @@ -1273,6 +1275,29 @@ body:not(.mobile) #launcher-pane.horizontal .dropdown-submenu > .dropdown-menu { white-space: normal !important; } +/* Slash commands */ + +.ck.ck-slash-command-button { + padding: 0.5em 1em !important; +} + +.ck.ck-slash-command-button__text-part, +.ck.ck-template-form__text-part { + margin-left: 0.5em; + line-height: 1.2em !important; +} + +.ck.ck-slash-command-button__text-part > span, +.ck.ck-template-form__text-part > span { + line-height: inherit !important; +} + +.ck.ck-slash-command-button__text-part .ck.ck-slash-command-button__description, +.ck.ck-template-form__text-part .ck-template-form__description { + display: block; + opacity: 0.8; +} + .area-expander { display: flex; flex-direction: row; diff --git a/apps/client/src/stylesheets/theme-next/dialogs.css b/apps/client/src/stylesheets/theme-next/dialogs.css index e73c555fc..45456693b 100644 --- a/apps/client/src/stylesheets/theme-next/dialogs.css +++ b/apps/client/src/stylesheets/theme-next/dialogs.css @@ -395,4 +395,20 @@ div.tn-tool-dialog { padding-right: 12px; font-weight: normal; white-space: nowrap; +} + +/* + * NOTE TYPE CHOOSER DIALOG + */ + +.note-type-chooser-dialog div.note-type-dropdown { + /* Disable the active item highlighting since there is no use for it here */ + --active-item-text-color: initial; + --active-item-background-color: initial; + + font-size: unset; +} + +.note-type-chooser-dialog div.note-type-dropdown .dropdown-item span.bx { + margin-right: .25em; } \ No newline at end of file diff --git a/apps/client/src/stylesheets/theme-next/forms.css b/apps/client/src/stylesheets/theme-next/forms.css index 446c9b89c..b09d6cb65 100644 --- a/apps/client/src/stylesheets/theme-next/forms.css +++ b/apps/client/src/stylesheets/theme-next/forms.css @@ -267,7 +267,7 @@ input::selection, } .input-group button:focus-visible, -.input-group a:focus-visible { +.input-group a:focus-visible:not(.dropdown-item) { box-shadow: unset; outline: transparent; border: transparent; @@ -349,7 +349,7 @@ select:hover, select.form-select:hover, select.form-control:hover, .select-button.dropdown-toggle.btn:hover { - background: var(--input-hover-background) var(--dropdown-arrow); + background: var(--input-hover-background) var(--dropdown-arrow,); color: var(--input-hover-color); } diff --git a/apps/client/src/stylesheets/theme-next/notes/text.css b/apps/client/src/stylesheets/theme-next/notes/text.css index f7b9e3f51..404a47fec 100644 --- a/apps/client/src/stylesheets/theme-next/notes/text.css +++ b/apps/client/src/stylesheets/theme-next/notes/text.css @@ -201,6 +201,11 @@ color: var(--menu-item-icon-color); } +/* Slash commands */ +.ck.ck-slash-command-button__text-part .ck.ck-button__label { + font-weight: bold; +} + /* Separator */ :root .ck .ck-list__separator { margin: .5em 0; diff --git a/apps/client/src/stylesheets/theme-next/pages.css b/apps/client/src/stylesheets/theme-next/pages.css index 5a34b9680..1d2d0512c 100644 --- a/apps/client/src/stylesheets/theme-next/pages.css +++ b/apps/client/src/stylesheets/theme-next/pages.css @@ -142,6 +142,12 @@ div.note-detail-empty { border: unset; } +/* NOTE ATTACHMENTS */ + +.attachment-list div.links-wrapper { + font-size: unset; +} + /* * OPTIONS PAGES */ diff --git a/apps/client/src/stylesheets/theme-next/shell.css b/apps/client/src/stylesheets/theme-next/shell.css index 5b11839e5..c48a52290 100644 --- a/apps/client/src/stylesheets/theme-next/shell.css +++ b/apps/client/src/stylesheets/theme-next/shell.css @@ -354,7 +354,7 @@ body.layout-horizontal > .horizontal { } .calendar-dropdown-widget .calendar-header .calendar-month-selector .select-button { - --select-arrow-svg: ""; /* Disable the dropdown arrow */ + --select-arrow-svg: initial; /* Disable the dropdown arrow */ } @media (max-width: 992px) { @@ -1145,12 +1145,18 @@ body.mobile .note-title { /* The "Change note icon" button */ -.note-icon-widget .note-icon { +:root .note-icon-widget button.note-icon, +:root .note-icon-widget button.note-icon:hover { border: none; border-radius: 8px; } -.note-icon-widget .note-icon:hover { +/* Dropdown open */ +:root .note-icon-widget button.note-icon.show { + background: var(--ck-editor-toolbar-dropdown-button-open-background); +} + +:root .note-icon-widget button.note-icon:not(:disabled):hover { background: var(--icon-button-hover-background); color: var(--icon-button-hover-color); } diff --git a/apps/client/src/translations/cn/translation.json b/apps/client/src/translations/cn/translation.json index fa2460f26..cf852e56b 100644 --- a/apps/client/src/translations/cn/translation.json +++ b/apps/client/src/translations/cn/translation.json @@ -1333,7 +1333,7 @@ "recovery_keys_used": "已使用: {{date}}", "recovery_keys_unused": "恢复代码 {{index}} 未使用", "oauth_title": "OAuth/OpenID 认证", - "oauth_description": "OpenID 是一种标准化方式,允许您使用其他服务(如 Google)的账户登录网站,以验证您的身份。请参阅这些 指南 通过 Google 设置 OpenID 服务。", + "oauth_description": "OpenID 是一种标准化方式,允许您使用其他服务(如 Google)的账号登录网站来验证您的身份。默认的身份提供者是 Google,但您可以更改为任何其他 OpenID 提供者。点击这里了解更多信息。请参阅这些 指南 通过 Google 设置 OpenID 服务。", "oauth_description_warning": "要启用 OAuth/OpenID,您需要设置 config.ini 文件中的 OAuth/OpenID 基础 URL、客户端 ID 和客户端密钥,并重新启动应用程序。如果要从环境变量设置,请设置 TRILIUM_OAUTH_BASE_URL、TRILIUM_OAUTH_CLIENT_ID 和 TRILIUM_OAUTH_CLIENT_SECRET 环境变量。", "oauth_missing_vars": "缺少以下设置项: {{missingVars}}", "oauth_user_account": "用户账号:", diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index 44b50445b..251819807 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -233,6 +233,8 @@ "move_success_message": "Selected notes have been moved into " }, "note_type_chooser": { + "change_path_prompt": "Change where to create the new note:", + "search_placeholder": "search path by name (default if empty)", "modal_title": "Choose note type", "close": "Close", "modal_body": "Choose note type / template of the new note:", @@ -1493,7 +1495,7 @@ "recovery_keys_used": "Used: {{date}}", "recovery_keys_unused": "Recovery code {{index}} is unused", "oauth_title": "OAuth/OpenID", - "oauth_description": "OpenID is a standardized way to let you log into websites using an account from another service, like Google, to verify your identity. Follow these instructions to setup an OpenID service through Google.", + "oauth_description": "OpenID is a standardized way to let you log into websites using an account from another service, like Google, to verify your identity. The default issuer is Google, but you can change it to any other OpenID provider. Check here for more information. Follow these instructions to setup an OpenID service through Google.", "oauth_description_warning": "To enable OAuth/OpenID, you need to set the OAuth/OpenID base URL, client ID and client secret in the config.ini file and restart the application. If you want to set from environment variables, please set TRILIUM_OAUTH_BASE_URL, TRILIUM_OAUTH_CLIENT_ID and TRILIUM_OAUTH_CLIENT_SECRET.", "oauth_missing_vars": "Missing settings: {{variables}}", "oauth_user_account": "User Account: ", @@ -1918,5 +1920,14 @@ "title": "Appearance", "word_wrapping": "Word wrapping", "color-scheme": "Color scheme" + }, + "cpu_arch_warning": { + "title": "Please download the ARM64 version", + "message_macos": "TriliumNext is currently running under Rosetta 2 translation, which means you're using the Intel (x64) version on Apple Silicon Mac. This will significantly impact performance and battery life.", + "message_windows": "TriliumNext is currently running emulation, which means you're using the Intel (x64) version on a Windows on ARM device. This will significantly impact performance and battery life.", + "recommendation": "For the best experience, please download the native ARM64 version of TriliumNext from our releases page.", + "download_link": "Download Native Version", + "continue_anyway": "Continue Anyway", + "dont_show_again": "Don't show this warning again" } } diff --git a/apps/client/src/types-assets.d.ts b/apps/client/src/types-assets.d.ts index 34a964be8..e80532517 100644 --- a/apps/client/src/types-assets.d.ts +++ b/apps/client/src/types-assets.d.ts @@ -3,9 +3,14 @@ declare module "*.png" { export default path; } -declare module "@triliumnext/ckeditor5/emoji_definitions/en.json?url" { +declare module "*?url" { var path: string; export default path; } +declare module "*?raw" { + var content: string; + export default content; +} + declare module "boxicons/css/boxicons.min.css" { } diff --git a/apps/client/src/types.d.ts b/apps/client/src/types.d.ts index 113b94d76..be42284c7 100644 --- a/apps/client/src/types.d.ts +++ b/apps/client/src/types.d.ts @@ -57,6 +57,8 @@ declare global { process?: ElectronProcess; glob?: CustomGlobals; + + EXCALIDRAW_ASSET_PATH?: string; } interface AutoCompleteConfig { diff --git a/apps/client/src/vite-env.d.ts b/apps/client/src/vite-env.d.ts new file mode 100644 index 000000000..d6d562031 --- /dev/null +++ b/apps/client/src/vite-env.d.ts @@ -0,0 +1,16 @@ +/// + +interface ViteTypeOptions { + strictImportMetaEnv: unknown +} + +interface ImportMetaEnv { + /** The license key for CKEditor premium features. */ + readonly VITE_CKEDITOR_KEY?: string; + /** Whether to enable the CKEditor inspector (see https://ckeditor.com/docs/ckeditor5/latest/framework/develpment-tools/inspector.html). */ + readonly VITE_CKEDITOR_ENABLE_INSPECTOR?: "true" | "false"; +} + +interface ImportMeta { + readonly env: ImportMetaEnv +} diff --git a/apps/client/src/widgets/dialogs/add_link.ts b/apps/client/src/widgets/dialogs/add_link.ts index 14defb082..fe2295442 100644 --- a/apps/client/src/widgets/dialogs/add_link.ts +++ b/apps/client/src/widgets/dialogs/add_link.ts @@ -111,7 +111,7 @@ export default class AddLinkDialog extends BasicWidget { this.updateTitleSettingsVisibility(); - utils.openDialog(this.$widget); + await utils.openDialog(this.$widget); this.$autoComplete.val(""); this.$linkTitle.val(""); diff --git a/apps/client/src/widgets/dialogs/incorrect_cpu_arch.ts b/apps/client/src/widgets/dialogs/incorrect_cpu_arch.ts new file mode 100644 index 000000000..8e30060fe --- /dev/null +++ b/apps/client/src/widgets/dialogs/incorrect_cpu_arch.ts @@ -0,0 +1,59 @@ +import BasicWidget from "../basic_widget.js"; +import { Modal } from "bootstrap"; +import utils from "../../services/utils.js"; +import { t } from "../../services/i18n.js"; + +const TPL = /*html*/` +`; + +export default class IncorrectCpuArchDialog extends BasicWidget { + private modal!: Modal; + private $downloadButton!: JQuery; + + doRender() { + this.$widget = $(TPL); + this.modal = Modal.getOrCreateInstance(this.$widget[0]); + this.$downloadButton = this.$widget.find(".download-correct-version-button"); + + this.$downloadButton.on("click", () => { + // Open the releases page where users can download the correct version + if (utils.isElectron()) { + const { shell } = utils.dynamicRequire("electron"); + shell.openExternal("https://github.com/TriliumNext/Notes/releases/latest"); + } else { + window.open("https://github.com/TriliumNext/Notes/releases/latest", "_blank"); + } + }); + + // Auto-focus the download button when shown + this.$widget.on("shown.bs.modal", () => { + this.$downloadButton.trigger("focus"); + }); + } + + showCpuArchWarningEvent() { + this.modal.show(); + } +} diff --git a/apps/client/src/widgets/dialogs/markdown_import.ts b/apps/client/src/widgets/dialogs/markdown_import.ts index 3cc528b87..2f7c2bdf4 100644 --- a/apps/client/src/widgets/dialogs/markdown_import.ts +++ b/apps/client/src/widgets/dialogs/markdown_import.ts @@ -69,6 +69,7 @@ export default class MarkdownImportDialog extends BasicWidget { const modelFragment = textEditor.data.toModel(viewFragment); textEditor.model.insertContent(modelFragment, textEditor.model.document.selection); + textEditor.editing.view.focus(); toastService.showMessage(t("markdown_import.import_success")); } diff --git a/apps/client/src/widgets/dialogs/note_type_chooser.ts b/apps/client/src/widgets/dialogs/note_type_chooser.ts index 927e2f174..02b960308 100644 --- a/apps/client/src/widgets/dialogs/note_type_chooser.ts +++ b/apps/client/src/widgets/dialogs/note_type_chooser.ts @@ -2,6 +2,7 @@ import type { CommandNames } from "../../components/app_context.js"; import type { MenuCommandItem } from "../../menus/context_menu.js"; import { t } from "../../services/i18n.js"; import noteTypesService from "../../services/note_types.js"; +import noteAutocompleteService from "../../services/note_autocomplete.js"; import BasicWidget from "../basic_widget.js"; import { Dropdown, Modal } from "bootstrap"; @@ -13,6 +14,11 @@ const TPL = /*html*/` z-index: 1100 !important; } + .note-type-chooser-dialog .input-group { + margin-top: 15px; + margin-bottom: 15px; + } + .note-type-chooser-dialog .note-type-dropdown { position: relative; font-size: large; @@ -30,6 +36,12 @@ const TPL = /*html*/` @@ -48,6 +60,7 @@ export interface ChooseNoteTypeResponse { success: boolean; noteType?: string; templateNoteId?: string; + notePath?: string; } type Callback = (data: ChooseNoteTypeResponse) => void; @@ -57,6 +70,7 @@ export default class NoteTypeChooserDialog extends BasicWidget { private dropdown!: Dropdown; private modal!: Modal; private $noteTypeDropdown!: JQuery; + private $autoComplete!: JQuery; private $originalFocused: JQuery | null; private $originalDialog: JQuery | null; @@ -71,7 +85,8 @@ export default class NoteTypeChooserDialog extends BasicWidget { doRender() { this.$widget = $(TPL); this.modal = Modal.getOrCreateInstance(this.$widget[0]); - + + this.$autoComplete = this.$widget.find(".choose-note-path"); this.$noteTypeDropdown = this.$widget.find(".note-type-dropdown"); this.dropdown = Dropdown.getOrCreateInstance(this.$widget.find(".note-type-dropdown-trigger")[0]); @@ -116,9 +131,20 @@ export default class NoteTypeChooserDialog extends BasicWidget { }); } + async refresh() { + noteAutocompleteService + .initNoteAutocomplete(this.$autoComplete, { + allowCreatingNotes: false, + hideGoToSelectedNoteButton: true, + allowJumpToSearchNotes: false, + }) + } + async chooseNoteTypeEvent({ callback }: { callback: Callback }) { this.$originalFocused = $(":focus"); + await this.refresh(); + const noteTypes = await noteTypesService.getNoteTypeItems(); this.$noteTypeDropdown.empty(); @@ -153,12 +179,14 @@ export default class NoteTypeChooserDialog extends BasicWidget { const $item = $(e.target).closest(".dropdown-item"); const noteType = $item.attr("data-note-type"); const templateNoteId = $item.attr("data-template-note-id"); + const notePath = this.$autoComplete.getSelectedNotePath() || undefined; if (this.resolve) { this.resolve({ success: true, noteType, - templateNoteId + templateNoteId, + notePath }); } this.resolve = null; diff --git a/apps/client/src/widgets/floating_buttons/code_buttons.ts b/apps/client/src/widgets/floating_buttons/code_buttons.ts index e95266459..63b0d92bb 100644 --- a/apps/client/src/widgets/floating_buttons/code_buttons.ts +++ b/apps/client/src/widgets/floating_buttons/code_buttons.ts @@ -52,9 +52,9 @@ export default class CodeButtonsWidget extends NoteContextAwareWidget { toastService.showMessage(t("code_buttons.opening_api_docs_message")); if (this.note?.mime.endsWith("frontend")) { - window.open("https://zadam.github.io/trilium/frontend_api/FrontendScriptApi.html", "_blank"); + window.open("https://triliumnext.github.io/Notes/Script%20API/interfaces/Frontend_Script_API.Api.html", "_blank"); } else { - window.open("https://zadam.github.io/trilium/backend_api/BackendScriptApi.html", "_blank"); + window.open("https://triliumnext.github.io/Notes/Script%20API/interfaces/Backend_Script_API.Api.html", "_blank"); } }); diff --git a/apps/client/src/widgets/floating_buttons/help_button.ts b/apps/client/src/widgets/floating_buttons/help_button.ts index e09a2454f..a68cb5711 100644 --- a/apps/client/src/widgets/floating_buttons/help_button.ts +++ b/apps/client/src/widgets/floating_buttons/help_button.ts @@ -56,6 +56,8 @@ export default class ContextualHelpButton extends NoteContextAwareWidget { return byNoteType[note.type]; } else if (note?.hasLabel("calendarRoot")) { return "l0tKav7yLHGF"; + } else if (note?.hasLabel("textSnippet")) { + return "pwc194wlRzcH"; } else if (note && note.type === "book") { return byBookType[note.getAttributeValue("label", "viewType") as ViewTypeOptions ?? ""] } diff --git a/apps/client/src/widgets/note_tree.ts b/apps/client/src/widgets/note_tree.ts index 662562f42..46abe10a0 100644 --- a/apps/client/src/widgets/note_tree.ts +++ b/apps/client/src/widgets/note_tree.ts @@ -1507,6 +1507,12 @@ export default class NoteTreeWidget extends NoteContextAwareWidget { ); this.toggleHiddenNode(true); // hoisting will handle hidden note visibility + + // Automatically expand the hoisted note by default + const node = this.getActiveNode(); + if (node.data.noteId === this.noteContext.hoistedNoteId){ + this.setExpanded(node.data.branchId, true); + } } } diff --git a/apps/client/src/widgets/tab_aware_widget.js b/apps/client/src/widgets/tab_aware_widget.js deleted file mode 100644 index c6f8e4450..000000000 --- a/apps/client/src/widgets/tab_aware_widget.js +++ /dev/null @@ -1,53 +0,0 @@ -import BasicWidget from "./basic_widget.js"; - -/** - * Base class for widgets that need to track the active tab/note - */ -export default class TabAwareWidget extends BasicWidget { - constructor() { - super(); - this.noteId = null; - this.noteType = null; - this.notePath = null; - this.isActiveTab = false; - } - - /** - * Called when the active note is switched - * - * @param {string} noteId - * @param {string|null} noteType - * @param {string|null} notePath - */ - async noteSwitched(noteId, noteType, notePath) { - this.noteId = noteId; - this.noteType = noteType; - this.notePath = notePath; - } - - /** - * Called when the widget's tab becomes active or inactive - * - * @param {boolean} active - */ - activeTabChanged(active) { - this.isActiveTab = active; - } - - /** - * Called when entities (notes, attributes, etc.) are reloaded - */ - entitiesReloaded() {} - - /** - * Check if this widget is enabled - */ - isEnabled() { - return true; - } - - /** - * Refresh widget with current data - */ - async refresh() {} -} diff --git a/apps/client/src/widgets/type_widgets/abstract_text_type_widget.ts b/apps/client/src/widgets/type_widgets/abstract_text_type_widget.ts index 71bd2a57c..5061d3b57 100644 --- a/apps/client/src/widgets/type_widgets/abstract_text_type_widget.ts +++ b/apps/client/src/widgets/type_widgets/abstract_text_type_widget.ts @@ -17,6 +17,7 @@ export default class AbstractTextTypeWidget extends TypeWidget { this.$widget.on("dblclick", "img", (e) => this.openImageInCurrentTab($(e.target))); this.$widget.on("click", "img", (e) => { + e.stopPropagation(); const isLeftClick = e.which === 1; const isMiddleClick = e.which === 2; const ctrlKey = utils.isCtrlKey(e); diff --git a/apps/client/src/widgets/type_widgets/canvas.ts b/apps/client/src/widgets/type_widgets/canvas.ts index 53c940970..a15715c64 100644 --- a/apps/client/src/widgets/type_widgets/canvas.ts +++ b/apps/client/src/widgets/type_widgets/canvas.ts @@ -1,16 +1,11 @@ import TypeWidget from "./type_widget.js"; -import utils from "../../services/utils.js"; -import linkService from "../../services/link.js"; import server from "../../services/server.js"; import type FNote from "../../entities/fnote.js"; import options from "../../services/options.js"; -import type { ExcalidrawElement, Theme } from "@excalidraw/excalidraw/element/types"; -import type { AppState, BinaryFileData, ExcalidrawImperativeAPI, ExcalidrawProps, LibraryItem, SceneData } from "@excalidraw/excalidraw/types"; -import type { JSX } from "react"; -import type React from "react"; -import type { Root } from "react-dom/client"; -import "@excalidraw/excalidraw/index.css"; -import asset_path from "../../asset_path.js"; +import type { LibraryItem } from "@excalidraw/excalidraw/types"; +import type { Theme } from "@excalidraw/excalidraw/element/types"; +import type Canvas from "./canvas_el.js"; +import { CanvasContent } from "./canvas_el.js"; const TPL = /*html*/`
@@ -28,6 +23,7 @@ const TPL = /*html*/` .excalidraw-wrapper { height: 100%; + } :root[dir="ltr"] .excalidraw @@ -51,11 +47,7 @@ const TPL = /*html*/`
`; -interface CanvasContent { - elements: ExcalidrawElement[]; - files: BinaryFileData[]; - appState: Partial; -} + interface AttachmentMetadata { title: string; @@ -107,37 +99,22 @@ interface AttachmentMetadata { */ export default class ExcalidrawTypeWidget extends TypeWidget { - private readonly SCENE_VERSION_INITIAL: number; - private readonly SCENE_VERSION_ERROR: number; - private currentNoteId: string; - private currentSceneVersion: number; + private libraryChanged: boolean; private librarycache: LibraryItem[]; private attachmentMetadata: AttachmentMetadata[]; private themeStyle!: Theme; - private excalidrawLib!: typeof import("@excalidraw/excalidraw"); - private excalidrawApi!: ExcalidrawImperativeAPI; - private excalidrawWrapperRef!: React.RefObject; private $render!: JQuery; - private root?: Root; private reactHandlers!: JQuery; + private canvasInstance!: Canvas; constructor() { super(); - // constants - this.SCENE_VERSION_INITIAL = -1; // -1 indicates that it is fresh. excalidraw scene version is always >0 - this.SCENE_VERSION_ERROR = -2; // -2 indicates error - - // currently required by excalidraw, in order to allows self-hosting fonts locally. - // this avoids making excalidraw load the fonts from an external CDN. - (window as any).EXCALIDRAW_ASSET_PATH = `${window.location.pathname}/node_modules/@excalidraw/excalidraw/dist/prod`; - // temporary vars this.currentNoteId = ""; - this.currentSceneVersion = this.SCENE_VERSION_INITIAL; // will be overwritten this.$render; @@ -182,34 +159,48 @@ export default class ExcalidrawTypeWidget extends TypeWidget { throw new Error("Unable to find element to render."); } - // See https://github.com/excalidraw/excalidraw/issues/7899. - if (!window.process) { - (window.process as any) = {}; - } - if (!window.process.env) { - window.process.env = {}; - } - (window.process.env as any).PREACT = false; + const Canvas = (await import("./canvas_el.js")).default; + this.canvasInstance = new Canvas({ + // this makes sure that 1) manual theme switch button is hidden 2) theme stays as it should after opening menu + theme: this.themeStyle, + onChange: () => this.onChangeHandler(), + viewModeEnabled: options.is("databaseReadonly"), + zenModeEnabled: false, + gridModeEnabled: false, + isCollaborating: false, + detectScroll: false, + handleKeyboardGlobally: false, + autoFocus: false, + UIOptions: { + canvasActions: { + saveToActiveFile: false, + export: false + } + }, + onLibraryChange: () => { + this.libraryChanged = true; - const excalidraw = await import("@excalidraw/excalidraw"); - this.excalidrawLib = excalidraw; + this.saveData(); + }, + }); - const { createRoot } = await import("react-dom/client"); - const React = (await import("react")).default; - this.root?.unmount(); - this.root = createRoot(renderElement); - this.root.render(React.createElement(() => this.createExcalidrawReactApp(React, excalidraw.Excalidraw))); + await setupFonts(); + this.canvasInstance.renderCanvas(renderElement); } /** * called to populate the widget container with the note content */ async doRefresh(note: FNote) { + if (!this.canvasInstance) { + await this.#init(); + } + // see if the note changed, since we do not get a new class for a new note const noteChanged = this.currentNoteId !== note.noteId; if (noteChanged) { // reset the scene to omit unnecessary onchange handler - this.currentSceneVersion = this.SCENE_VERSION_INITIAL; + this.canvasInstance.resetSceneVersion(); } this.currentNoteId = note.noteId; @@ -217,10 +208,7 @@ export default class ExcalidrawTypeWidget extends TypeWidget { const blob = await note.getBlob(); // before we load content into excalidraw, make sure excalidraw has loaded - while (!this.excalidrawApi) { - console.log("excalidrawApi not yet loaded, sleep 200ms..."); - await utils.sleep(200); - } + await this.canvasInstance.waitForApiToBecomeAvailable(); /** * new and empty note - make sure that canvas is empty. @@ -229,15 +217,7 @@ export default class ExcalidrawTypeWidget extends TypeWidget { * newly instantiated? */ if (!blob?.content?.trim()) { - const sceneData: SceneData = { - elements: [], - appState: { - theme: this.themeStyle - } - }; - - // TODO: Props mismatch. - this.excalidrawApi.updateScene(sceneData as any); + this.canvasInstance.resetScene(this.themeStyle); } else if (blob.content) { let content: CanvasContent; @@ -254,36 +234,7 @@ export default class ExcalidrawTypeWidget extends TypeWidget { }; } - const { elements, files } = content; - const appState: Partial = content.appState ?? {}; - - appState.theme = this.themeStyle; - - if (this.excalidrawWrapperRef.current) { - const boundingClientRect = this.excalidrawWrapperRef.current.getBoundingClientRect(); - appState.width = boundingClientRect.width; - appState.height = boundingClientRect.height; - appState.offsetLeft = boundingClientRect.left; - appState.offsetTop = boundingClientRect.top; - } - - const sceneData: SceneData = { - elements, - appState - }; - - // files are expected in an array when loading. they are stored as a key-index object - // see example for loading here: - // https://github.com/excalidraw/excalidraw/blob/c5a7723185f6ca05e0ceb0b0d45c4e3fbcb81b2a/src/packages/excalidraw/example/App.js#L68 - const fileArray: BinaryFileData[] = []; - for (const fileId in files) { - const file = files[fileId]; - // TODO: dataURL is replaceable with a trilium image url - // maybe we can save normal images (pasted) with base64 data url, and trilium images - // with their respective url! nice - // file.dataURL = "http://localhost:8080/api/images/ltjOiU8nwoZx/start.png"; - fileArray.push(file); - } + this.canvasInstance.loadData(content, this.themeStyle); Promise.all( (await note.getAttachmentsByRole("canvasLibraryItem")).map(async (attachment) => { @@ -310,23 +261,19 @@ export default class ExcalidrawTypeWidget extends TypeWidget { const metadata = results.map((result) => result.metadata); // Update the library and save to independent variables - this.excalidrawApi.updateLibrary({ libraryItems, merge: false }); + this.canvasInstance.updateLibrary(libraryItems); // save state of library to compare it to the new state later. this.librarycache = libraryItems; this.attachmentMetadata = metadata; }); - // Update the scene - // TODO: Fix type of sceneData - this.excalidrawApi.updateScene(sceneData as any); - this.excalidrawApi.addFiles(fileArray); - this.excalidrawApi.history.clear(); + } // set initial scene version - if (this.currentSceneVersion === this.SCENE_VERSION_INITIAL) { - this.currentSceneVersion = this.getSceneVersion(); + if (this.canvasInstance.isInitialScene()) { + this.canvasInstance.updateSceneVersion(); } } @@ -335,56 +282,14 @@ export default class ExcalidrawTypeWidget extends TypeWidget { * this is automatically called after this.saveData(); */ async getData() { - const elements = this.excalidrawApi.getSceneElements(); - const appState = this.excalidrawApi.getAppState(); - - /** - * A file is not deleted, even though removed from canvas. Therefore, we only keep - * files that are referenced by an element. Maybe this will change with a new excalidraw version? - */ - const files = this.excalidrawApi.getFiles(); - - // parallel svg export to combat bitrot and enable rendering image for note inclusion, preview, and share - const svg = await this.excalidrawLib.exportToSvg({ - elements, - appState, - exportPadding: 5, // 5 px padding - files - }); - const svgString = svg.outerHTML; - - const activeFiles: Record = {}; - // TODO: Used any where upstream typings appear to be broken. - elements.forEach((element: any) => { - if ("fileId" in element && element.fileId) { - activeFiles[element.fileId] = files[element.fileId]; - } - }); - - const content = { - type: "excalidraw", - version: 2, - elements, - files: activeFiles, - appState: { - scrollX: appState.scrollX, - scrollY: appState.scrollY, - zoom: appState.zoom - } - }; - - const attachments = [{ role: "image", title: "canvas-export.svg", mime: "image/svg+xml", content: svgString, position: 0 }]; + const { content, svg } = await this.canvasInstance.getData(); + const attachments = [{ role: "image", title: "canvas-export.svg", mime: "image/svg+xml", content: svg, position: 0 }]; if (this.libraryChanged) { // this.libraryChanged is unset in dataSaved() // there's no separate method to get library items, so have to abuse this one - const libraryItems = await this.excalidrawApi.updateLibrary({ - libraryItems() { - return []; - }, - merge: true - }); + const libraryItems = await this.canvasInstance.getLibraryItems(); // excalidraw saves the library as a own state. the items are saved to libraryItems. then we compare the library right now with a libraryitemcache. The cache is filled when we first load the Library into the note. //We need the cache to delete old attachments later in the server. @@ -453,146 +358,39 @@ export default class ExcalidrawTypeWidget extends TypeWidget { } // changeHandler is called upon any tiny change in excalidraw. button clicked, hover, etc. // make sure only when a new element is added, we actually save something. - const isNewSceneVersion = this.isNewSceneVersion(); + const isNewSceneVersion = this.canvasInstance.isNewSceneVersion(); /** * FIXME: however, we might want to make an exception, if viewport changed, since viewport * is desired to save? (add) and appState background, and some things */ // upon updateScene, onchange is called, even though "nothing really changed" that is worth saving - const isNotInitialScene = this.currentSceneVersion !== this.SCENE_VERSION_INITIAL; - + const isNotInitialScene = !this.canvasInstance.isInitialScene(); const shouldSave = isNewSceneVersion && isNotInitialScene; if (shouldSave) { - this.updateSceneVersion(); + this.canvasInstance.updateSceneVersion(); this.saveData(); } } - createExcalidrawReactApp(react: typeof React, excalidrawComponent: React.MemoExoticComponent<(props: ExcalidrawProps) => JSX.Element>) { - const excalidrawWrapperRef = react.useRef(null); - this.excalidrawWrapperRef = excalidrawWrapperRef; - const [dimensions, setDimensions] = react.useState<{ width?: number; height?: number }>({ - width: undefined, - height: undefined - }); - - react.useEffect(() => { - if (excalidrawWrapperRef.current) { - const dimensions = { - width: excalidrawWrapperRef.current.getBoundingClientRect().width, - height: excalidrawWrapperRef.current.getBoundingClientRect().height - }; - setDimensions(dimensions); - } - - const onResize = () => { - if (this.note?.type !== "canvas") { - return; - } - - if (excalidrawWrapperRef.current) { - const dimensions = { - width: excalidrawWrapperRef.current.getBoundingClientRect().width, - height: excalidrawWrapperRef.current.getBoundingClientRect().height - }; - setDimensions(dimensions); - } - }; - - window.addEventListener("resize", onResize); - - return () => window.removeEventListener("resize", onResize); - }, [excalidrawWrapperRef]); - - const onLinkOpen = react.useCallback>((element, event) => { - let link = element.link; - if (!link) { - return false; - } - - if (link.startsWith("root/")) { - link = "#" + link; - } - - const { nativeEvent } = event.detail; - - event.preventDefault(); - - return linkService.goToLinkExt(nativeEvent, link, null); - }, []); - - return react.createElement( - react.Fragment, - null, - react.createElement( - "div", - { - className: "excalidraw-wrapper", - ref: excalidrawWrapperRef - }, - react.createElement(excalidrawComponent, { - // this makes sure that 1) manual theme switch button is hidden 2) theme stays as it should after opening menu - theme: this.themeStyle, - excalidrawAPI: (api: ExcalidrawImperativeAPI) => { - this.excalidrawApi = api; - }, - onLibraryChange: () => { - this.libraryChanged = true; - - this.saveData(); - }, - onChange: () => this.onChangeHandler(), - viewModeEnabled: options.is("databaseReadonly"), - zenModeEnabled: false, - gridModeEnabled: false, - isCollaborating: false, - detectScroll: false, - handleKeyboardGlobally: false, - autoFocus: false, - onLinkOpen, - UIOptions: { - canvasActions: { - saveToActiveFile: false, - export: false - } - } - }) - ) - ); - } - - /** - * needed to ensure, that multipleOnChangeHandler calls do not trigger a save. - * we compare the scene version as suggested in: - * https://github.com/excalidraw/excalidraw/issues/3014#issuecomment-778115329 - * - * info: sceneVersions are not incrementing. it seems to be a pseudo-random number - */ - isNewSceneVersion() { - if (options.is("databaseReadonly")) { - return false; - } - - const sceneVersion = this.getSceneVersion(); - - return ( - this.currentSceneVersion === this.SCENE_VERSION_INITIAL || // initial scene version update - this.currentSceneVersion !== sceneVersion - ); // ensure scene changed - } - - getSceneVersion() { - if (this.excalidrawApi) { - const elements = this.excalidrawApi.getSceneElements(); - return this.excalidrawLib.getSceneVersion(elements); - } else { - return this.SCENE_VERSION_ERROR; - } - } - - updateSceneVersion() { - this.currentSceneVersion = this.getSceneVersion(); - } +} + +async function setupFonts() { + if (window.EXCALIDRAW_ASSET_PATH) { + return; + } + + // currently required by excalidraw, in order to allows self-hosting fonts locally. + // this avoids making excalidraw load the fonts from an external CDN. + let path: string; + if (!glob.isDev) { + path = `${window.location.pathname}/node_modules/@excalidraw/excalidraw/dist/prod`; + } else { + path = (await import("../../../node_modules/@excalidraw/excalidraw/dist/prod/fonts/Excalifont/Excalifont-Regular-a88b72a24fb54c9f94e3b5fdaa7481c9.woff2?url")).default; + let pathComponents = path.split("/"); + path = pathComponents.slice(0, pathComponents.length - 2).join("/"); + } + + window.EXCALIDRAW_ASSET_PATH = path; } diff --git a/apps/client/src/widgets/type_widgets/canvas_el.ts b/apps/client/src/widgets/type_widgets/canvas_el.ts new file mode 100644 index 000000000..1ba54d2c2 --- /dev/null +++ b/apps/client/src/widgets/type_widgets/canvas_el.ts @@ -0,0 +1,179 @@ +import "@excalidraw/excalidraw/index.css"; +import { Excalidraw, getSceneVersion, exportToSvg } from "@excalidraw/excalidraw"; +import { createElement, render, unmountComponentAtNode } from "preact/compat"; +import { AppState, BinaryFileData, ExcalidrawImperativeAPI, ExcalidrawProps, LibraryItem } from "@excalidraw/excalidraw/types"; +import type { ComponentType } from "preact"; +import { ExcalidrawElement, NonDeletedExcalidrawElement, Theme } from "@excalidraw/excalidraw/element/types"; + +export interface CanvasContent { + elements: ExcalidrawElement[]; + files: BinaryFileData[]; + appState: Partial; +} + +/** Indicates that it is fresh. excalidraw scene version is always >0 */ +const SCENE_VERSION_INITIAL = -1; + +export default class Canvas { + + private currentSceneVersion: number; + private opts: ExcalidrawProps; + private excalidrawApi!: ExcalidrawImperativeAPI; + private initializedPromise: JQuery.Deferred; + + constructor(opts: ExcalidrawProps) { + this.opts = opts; + this.currentSceneVersion = SCENE_VERSION_INITIAL; + this.initializedPromise = $.Deferred(); + } + + renderCanvas(targetEl: HTMLElement) { + unmountComponentAtNode(targetEl); + render(this.createCanvasElement({ + ...this.opts, + excalidrawAPI: (api: ExcalidrawImperativeAPI) => { + this.excalidrawApi = api; + this.initializedPromise.resolve(); + }, + }), targetEl); + } + + async waitForApiToBecomeAvailable() { + while (!this.excalidrawApi) { + await this.initializedPromise; + } + } + + private createCanvasElement(opts: ExcalidrawProps) { + return createElement("div", { className: "excalidraw-wrapper", }, + createElement(Excalidraw as ComponentType, opts) + ); + } + + /** + * needed to ensure, that multipleOnChangeHandler calls do not trigger a save. + * we compare the scene version as suggested in: + * https://github.com/excalidraw/excalidraw/issues/3014#issuecomment-778115329 + * + * info: sceneVersions are not incrementing. it seems to be a pseudo-random number + */ + isNewSceneVersion() { + const sceneVersion = this.getSceneVersion(); + + return ( + this.currentSceneVersion === SCENE_VERSION_INITIAL || // initial scene version update + this.currentSceneVersion !== sceneVersion + ); // ensure scene changed + } + + getSceneVersion() { + const elements = this.excalidrawApi.getSceneElements(); + return getSceneVersion(elements); + } + + updateSceneVersion() { + this.currentSceneVersion = this.getSceneVersion(); + } + + resetSceneVersion() { + this.currentSceneVersion = SCENE_VERSION_INITIAL; + } + + isInitialScene() { + return this.currentSceneVersion === SCENE_VERSION_INITIAL; + } + + resetScene(theme: Theme) { + this.excalidrawApi.updateScene({ + elements: [], + appState: { + theme + } + }); + } + + loadData(content: CanvasContent, theme: Theme) { + const { elements, files } = content; + const appState: Partial = content.appState ?? {}; + appState.theme = theme; + + // files are expected in an array when loading. they are stored as a key-index object + // see example for loading here: + // https://github.com/excalidraw/excalidraw/blob/c5a7723185f6ca05e0ceb0b0d45c4e3fbcb81b2a/src/packages/excalidraw/example/App.js#L68 + const fileArray: BinaryFileData[] = []; + for (const fileId in files) { + const file = files[fileId]; + // TODO: dataURL is replaceable with a trilium image url + // maybe we can save normal images (pasted) with base64 data url, and trilium images + // with their respective url! nice + // file.dataURL = "http://localhost:8080/api/images/ltjOiU8nwoZx/start.png"; + fileArray.push(file); + } + + // Update the scene + // TODO: Fix type of sceneData + this.excalidrawApi.updateScene({ + elements, + appState: appState as AppState + }); + this.excalidrawApi.addFiles(fileArray); + this.excalidrawApi.history.clear(); + } + + async getData() { + const elements = this.excalidrawApi.getSceneElements(); + const appState = this.excalidrawApi.getAppState(); + + /** + * A file is not deleted, even though removed from canvas. Therefore, we only keep + * files that are referenced by an element. Maybe this will change with a new excalidraw version? + */ + const files = this.excalidrawApi.getFiles(); + // parallel svg export to combat bitrot and enable rendering image for note inclusion, preview, and share + const svg = await exportToSvg({ + elements, + appState, + exportPadding: 5, // 5 px padding + files + }); + const svgString = svg.outerHTML; + + const activeFiles: Record = {}; + elements.forEach((element: NonDeletedExcalidrawElement) => { + if ("fileId" in element && element.fileId) { + activeFiles[element.fileId] = files[element.fileId]; + } + }); + + const content = { + type: "excalidraw", + version: 2, + elements, + files: activeFiles, + appState: { + scrollX: appState.scrollX, + scrollY: appState.scrollY, + zoom: appState.zoom + } + }; + + return { + content, + svg: svgString + } + } + + async getLibraryItems() { + return this.excalidrawApi.updateLibrary({ + libraryItems() { + return []; + }, + merge: true + }); + } + + async updateLibrary(libraryItems: LibraryItem[]) { + this.excalidrawApi.updateLibrary({ libraryItems, merge: false }); + } + +} diff --git a/apps/client/src/widgets/type_widgets/ckeditor/config.ts b/apps/client/src/widgets/type_widgets/ckeditor/config.ts index a1fa4c382..03bd5fc07 100644 --- a/apps/client/src/widgets/type_widgets/ckeditor/config.ts +++ b/apps/client/src/widgets/type_widgets/ckeditor/config.ts @@ -1,19 +1,20 @@ import { ALLOWED_PROTOCOLS } from "../../../services/link.js"; import { MIME_TYPE_AUTO } from "@triliumnext/commons"; -import type { EditorConfig } from "@triliumnext/ckeditor5"; +import { buildExtraCommands, type EditorConfig } from "@triliumnext/ckeditor5"; import { getHighlightJsNameForMime } from "../../../services/mime_types.js"; import options from "../../../services/options.js"; import { ensureMimeTypesForHighlighting, isSyntaxHighlightEnabled } from "../../../services/syntax_highlight.js"; import utils from "../../../services/utils.js"; import emojiDefinitionsUrl from "@triliumnext/ckeditor5/emoji_definitions/en.json?url"; import { copyTextWithToast } from "../../../services/clipboard_ext.js"; +import getTemplates from "./snippets.js"; const TEXT_FORMATTING_GROUP = { label: "Text formatting", icon: "text" }; -export function buildConfig(): EditorConfig { +export async function buildConfig(): Promise { return { image: { styles: { @@ -121,6 +122,14 @@ export function buildConfig(): EditorConfig { clipboard: { copy: copyTextWithToast }, + slashCommand: { + removeCommands: [], + dropdownLimit: Number.MAX_SAFE_INTEGER, + extraCommands: buildExtraCommands() + }, + template: { + definitions: await getTemplates() + }, // This value must be kept in sync with the language defined in webpack.config.js. language: "en" }; @@ -201,6 +210,7 @@ export function buildClassicToolbar(multilineToolbar: boolean) { "outdent", "indent", "|", + "insertTemplate", "markdownImport", "cuttonote", "findAndReplace" @@ -257,6 +267,7 @@ export function buildFloatingToolbar() { "outdent", "indent", "|", + "insertTemplate", "imageUpload", "markdownImport", "specialCharacters", diff --git a/apps/client/src/widgets/type_widgets/ckeditor/snippets.ts b/apps/client/src/widgets/type_widgets/ckeditor/snippets.ts new file mode 100644 index 000000000..b2d99cfd6 --- /dev/null +++ b/apps/client/src/widgets/type_widgets/ckeditor/snippets.ts @@ -0,0 +1,105 @@ +import debounce from "debounce"; +import froca from "../../../services/froca.js"; +import type LoadResults from "../../../services/load_results.js"; +import search from "../../../services/search.js"; +import type { TemplateDefinition } from "@triliumnext/ckeditor5"; +import appContext from "../../../components/app_context.js"; +import TemplateIcon from "@ckeditor/ckeditor5-icons/theme/icons/template.svg?raw"; +import type FNote from "../../../entities/fnote.js"; + +interface TemplateData { + title: string; + description?: string; + content?: string; +} + +let templateCache: Map = new Map(); +const debouncedHandleContentUpdate = debounce(handleContentUpdate, 1000); + +/** + * Generates the list of snippets based on the user's notes to be passed down to the CKEditor configuration. + * + * @returns the list of templates. + */ +export default async function getTemplates() { + // Build the definitions and populate the cache. + const snippets = await search.searchForNotes("#textSnippet"); + const definitions: TemplateDefinition[] = []; + for (const snippet of snippets) { + const { description } = await invalidateCacheFor(snippet); + + definitions.push({ + title: snippet.title, + data: () => templateCache.get(snippet.noteId)?.content ?? "", + icon: TemplateIcon, + description + }); + } + return definitions; +} + +async function invalidateCacheFor(snippet: FNote) { + const description = snippet.getLabelValue("textSnippetDescription"); + const data: TemplateData = { + title: snippet.title, + description: description ?? undefined, + content: await snippet.getContent() + }; + templateCache.set(snippet.noteId, data); + return data; +} + +function handleFullReload() { + console.warn("Full text editor reload needed"); + appContext.triggerCommand("reloadTextEditor"); +} + +async function handleContentUpdate(affectedNoteIds: string[]) { + const updatedNoteIds = new Set(affectedNoteIds); + const templateNoteIds = new Set(templateCache.keys()); + const affectedTemplateNoteIds = templateNoteIds.intersection(updatedNoteIds); + + await froca.getNotes(affectedNoteIds); + + let fullReloadNeeded = false; + for (const affectedTemplateNoteId of affectedTemplateNoteIds) { + try { + const template = await froca.getNote(affectedTemplateNoteId); + if (!template) { + console.warn("Unable to obtain template with ID ", affectedTemplateNoteId); + continue; + } + + const newTitle = template.title; + if (templateCache.get(affectedTemplateNoteId)?.title !== newTitle) { + fullReloadNeeded = true; + break; + } + + await invalidateCacheFor(template); + } catch (e) { + // If a note was not found while updating the cache, it means we need to do a full reload. + fullReloadNeeded = true; + } + } + + if (fullReloadNeeded) { + handleFullReload(); + } +} + +export function updateTemplateCache(loadResults: LoadResults): boolean { + const affectedNoteIds = loadResults.getNoteIds(); + + // React to creation or deletion of text snippets. + if (loadResults.getAttributeRows().find((attr) => + attr.type === "label" && + (attr.name === "textSnippet" || attr.name === "textSnippetDescription"))) { + handleFullReload(); + } else if (affectedNoteIds.length > 0) { + // Update content and titles if one of the template notes were updated. + debouncedHandleContentUpdate(affectedNoteIds); + } + + return false; +} diff --git a/apps/client/src/widgets/type_widgets/content_widget.ts b/apps/client/src/widgets/type_widgets/content_widget.ts index 614159cb7..77b86231d 100644 --- a/apps/client/src/widgets/type_widgets/content_widget.ts +++ b/apps/client/src/widgets/type_widgets/content_widget.ts @@ -45,7 +45,7 @@ import { t } from "../../services/i18n.js"; import LanguageOptions from "./options/i18n/language.js"; import type BasicWidget from "../basic_widget.js"; import CodeTheme from "./options/code_notes/code_theme.js"; -import RelatedSettings from "./options/related_settings.js"; +import RelatedSettings from "./options/appearance/related_settings.js"; const TPL = /*html*/`
+ + + + + + + + + + + + + + diff --git a/apps/website/static/note-types/canvas.png b/apps/website/static/note-types/canvas.png new file mode 100644 index 000000000..ad5c74b36 Binary files /dev/null and b/apps/website/static/note-types/canvas.png differ diff --git a/apps/website/static/note-types/geo-map.png b/apps/website/static/note-types/geo-map.png new file mode 100644 index 000000000..cd891b646 Binary files /dev/null and b/apps/website/static/note-types/geo-map.png differ diff --git a/apps/website/static/note-types/mermaid.png b/apps/website/static/note-types/mermaid.png new file mode 100644 index 000000000..1e8bd7386 Binary files /dev/null and b/apps/website/static/note-types/mermaid.png differ diff --git a/apps/website/static/note-types/mind-map.png b/apps/website/static/note-types/mind-map.png new file mode 100644 index 000000000..a970d485f Binary files /dev/null and b/apps/website/static/note-types/mind-map.png differ diff --git a/apps/website/static/screenshots/desktop-win.png b/apps/website/static/screenshots/desktop-win.png new file mode 100644 index 000000000..ab6ee05ec Binary files /dev/null and b/apps/website/static/screenshots/desktop-win.png differ diff --git a/apps/website/static/screenshots/macos/dark.png b/apps/website/static/screenshots/macos/dark.png new file mode 100644 index 000000000..2eae66f18 Binary files /dev/null and b/apps/website/static/screenshots/macos/dark.png differ diff --git a/apps/website/static/screenshots/macos/light.png b/apps/website/static/screenshots/macos/light.png new file mode 100644 index 000000000..a2b64b7fb Binary files /dev/null and b/apps/website/static/screenshots/macos/light.png differ diff --git a/apps/website/static/technical-features/grafana-metrics.png b/apps/website/static/technical-features/grafana-metrics.png new file mode 120000 index 000000000..1dd11db67 --- /dev/null +++ b/apps/website/static/technical-features/grafana-metrics.png @@ -0,0 +1 @@ +../../../../docs/User Guide/User Guide/Advanced Usage/1_Metrics_image.png \ No newline at end of file diff --git a/apps/website/svelte.config.js b/apps/website/svelte.config.js new file mode 100644 index 000000000..0cd57a52d --- /dev/null +++ b/apps/website/svelte.config.js @@ -0,0 +1,11 @@ +import { mdsvex } from 'mdsvex'; +import adapter from '@sveltejs/adapter-auto'; +import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; + +const config = { + preprocess: [vitePreprocess(), mdsvex()], + kit: { adapter: adapter() }, + extensions: ['.svelte', '.svx'] +}; + +export default config; diff --git a/apps/website/tsconfig.json b/apps/website/tsconfig.json new file mode 100644 index 000000000..5adb685c0 --- /dev/null +++ b/apps/website/tsconfig.json @@ -0,0 +1,20 @@ +{ + "extends": "./.svelte-kit/tsconfig.json", + "compilerOptions": { + "allowJs": true, + "checkJs": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": true, + "moduleResolution": "bundler", + "composite": true + } + // Path aliases are handled by https://svelte.dev/docs/kit/configuration#alias + // except $lib which is handled by https://svelte.dev/docs/kit/configuration#files + // + // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes + // from the referenced tsconfig.json - TypeScript does not merge them in +} diff --git a/apps/website/vite.config.ts b/apps/website/vite.config.ts new file mode 100644 index 000000000..4625e0b2c --- /dev/null +++ b/apps/website/vite.config.ts @@ -0,0 +1,24 @@ +import tailwindcss from '@tailwindcss/vite'; +import { paraglideVitePlugin } from '@inlang/paraglide-js'; +import { sveltekit } from '@sveltejs/kit/vite'; +import { defineConfig } from 'vite'; + +export default () => { + // See https://github.com/nrwl/nx/issues/28978. + const cwd = process.cwd(); + process.chdir(__dirname); // Temporarily change the working directory + + const config = defineConfig({ + plugins: [ + tailwindcss(), + sveltekit(), + paraglideVitePlugin({ + project: './project.inlang', + outdir: './src/lib/paraglide' + }) + ] + }); + + process.chdir(cwd); // Restore the original working directory + return config; +}; diff --git a/docs/Developer Guide/!!!meta.json b/docs/Developer Guide/!!!meta.json index 6e9c247b9..277572b7a 100644 --- a/docs/Developer Guide/!!!meta.json +++ b/docs/Developer Guide/!!!meta.json @@ -1,6 +1,6 @@ { "formatVersion": 2, - "appVersion": "0.94.0", + "appVersion": "0.95.0", "files": [ { "isClone": false, @@ -178,6 +178,1587 @@ } ] }, + { + "isClone": false, + "noteId": "wbVIolLKDhe2", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2" + ], + "title": "Development and architecture", + "notePosition": 220, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "attachments": [], + "dirFileName": "Development and architecture", + "children": [ + { + "isClone": false, + "noteId": "TLXJwBDo8Rdv", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "TLXJwBDo8Rdv" + ], + "title": "Internationalisation / Translations", + "notePosition": 10, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "ky5zpmxXZhhr", + "isInheritable": false, + "position": 10 + }, + { + "type": "label", + "name": "iconClass", + "value": "bx bx-globe", + "isInheritable": false, + "position": 10 + } + ], + "format": "markdown", + "dataFileName": "Internationalisation Translat.md", + "attachments": [], + "dirFileName": "Internationalisation Translations", + "children": [ + { + "isClone": false, + "noteId": "ky5zpmxXZhhr", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "TLXJwBDo8Rdv", + "ky5zpmxXZhhr" + ], + "title": "Guidelines", + "notePosition": 10, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Guidelines.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "VTebBD3jZjdp", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "TLXJwBDo8Rdv", + "VTebBD3jZjdp" + ], + "title": "i18n-ally", + "notePosition": 20, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "ky5zpmxXZhhr", + "isInheritable": false, + "position": 10 + } + ], + "format": "markdown", + "dataFileName": "i18n-ally.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "KhDvxPlQQybs", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "TLXJwBDo8Rdv", + "KhDvxPlQQybs" + ], + "title": "Server translations", + "notePosition": 30, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Server translations.md", + "attachments": [] + } + ] + }, + { + "isClone": false, + "noteId": "fI16A7NrT713", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "fI16A7NrT713" + ], + "title": "Live reload", + "notePosition": 20, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Live reload.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "7BCukQTCm7fv", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "7BCukQTCm7fv" + ], + "title": "Themes", + "notePosition": 30, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Themes.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "n9wYW9nUTynV", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "n9wYW9nUTynV" + ], + "title": "Synchronisation", + "notePosition": 40, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "attachments": [], + "dirFileName": "Synchronisation", + "children": [ + { + "isClone": false, + "noteId": "wA6tm9xcWWaB", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "n9wYW9nUTynV", + "wA6tm9xcWWaB" + ], + "title": "Content hashing", + "notePosition": 10, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Content hashing.md", + "attachments": [] + } + ] + }, + { + "isClone": false, + "noteId": "aGlhNBEA9wwo", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "aGlhNBEA9wwo" + ], + "title": "Build information", + "notePosition": 50, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "PXzm2t3sCdsP", + "isInheritable": false, + "position": 10 + } + ], + "format": "markdown", + "dataFileName": "Build information.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "vNMojjUN76jc", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "vNMojjUN76jc" + ], + "title": "Database", + "notePosition": 60, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "attachments": [], + "dirFileName": "Database", + "children": [ + { + "isClone": false, + "noteId": "e6GnYOXeIWjg", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "vNMojjUN76jc", + "e6GnYOXeIWjg" + ], + "title": "attachments", + "notePosition": 20, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "DSkl8C325tEC", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "UvXpeSqfYc6d", + "isInheritable": false, + "position": 20 + }, + { + "type": "relation", + "name": "internalLink", + "value": "VIcWnKGs0sMh", + "isInheritable": false, + "position": 30 + }, + { + "type": "relation", + "name": "internalLink", + "value": "tM3rIZQzlum4", + "isInheritable": false, + "position": 40 + }, + { + "type": "label", + "name": "iconClass", + "value": "bx bx-table", + "isInheritable": false, + "position": 10 + } + ], + "format": "markdown", + "dataFileName": "attachments.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "ciL84vNBNi9y", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "vNMojjUN76jc", + "ciL84vNBNi9y" + ], + "title": "attributes", + "notePosition": 30, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "r11Bh3uxFGRj", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "DSkl8C325tEC", + "isInheritable": false, + "position": 20 + }, + { + "type": "relation", + "name": "internalLink", + "value": "tM3rIZQzlum4", + "isInheritable": false, + "position": 30 + }, + { + "type": "label", + "name": "iconClass", + "value": "bx bx-table", + "isInheritable": false, + "position": 10 + } + ], + "format": "markdown", + "dataFileName": "attributes.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "VIcWnKGs0sMh", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "vNMojjUN76jc", + "VIcWnKGs0sMh" + ], + "title": "blobs", + "notePosition": 40, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "label", + "name": "iconClass", + "value": "bx bx-table", + "isInheritable": false, + "position": 10 + } + ], + "format": "markdown", + "dataFileName": "blobs.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "GskLPkgY5n6E", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "vNMojjUN76jc", + "GskLPkgY5n6E" + ], + "title": "branches", + "notePosition": 50, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "h8AsuFjSD4fB", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "DSkl8C325tEC", + "isInheritable": false, + "position": 20 + }, + { + "type": "relation", + "name": "internalLink", + "value": "tM3rIZQzlum4", + "isInheritable": false, + "position": 30 + }, + { + "type": "label", + "name": "iconClass", + "value": "bx bx-table", + "isInheritable": false, + "position": 10 + } + ], + "format": "markdown", + "dataFileName": "branches.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "ohhExR078MPU", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "vNMojjUN76jc", + "ohhExR078MPU" + ], + "title": "entity_changes", + "notePosition": 51, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "label", + "name": "iconClass", + "value": "bx bx-table", + "isInheritable": false, + "position": 10 + } + ], + "format": "markdown", + "dataFileName": "entity_changes.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "bRqbIg633nCs", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "vNMojjUN76jc", + "bRqbIg633nCs" + ], + "title": "etapi_tokens", + "notePosition": 52, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "tM3rIZQzlum4", + "isInheritable": false, + "position": 10 + }, + { + "type": "label", + "name": "iconClass", + "value": "bx bx-table", + "isInheritable": false, + "position": 10 + } + ], + "format": "markdown", + "dataFileName": "etapi_tokens.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "DSkl8C325tEC", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "vNMojjUN76jc", + "DSkl8C325tEC" + ], + "title": "notes", + "notePosition": 53, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "VIcWnKGs0sMh", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "UvXpeSqfYc6d", + "isInheritable": false, + "position": 20 + }, + { + "type": "relation", + "name": "internalLink", + "value": "tM3rIZQzlum4", + "isInheritable": false, + "position": 30 + }, + { + "type": "label", + "name": "iconClass", + "value": "bx bx-table", + "isInheritable": false, + "position": 10 + } + ], + "format": "markdown", + "dataFileName": "notes.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "4oeftEmy77Bt", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "vNMojjUN76jc", + "4oeftEmy77Bt" + ], + "title": "options", + "notePosition": 54, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "label", + "name": "iconClass", + "value": "bx bx-table", + "isInheritable": false, + "position": 10 + } + ], + "format": "markdown", + "dataFileName": "options.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "VyFirdgAOoh5", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "vNMojjUN76jc", + "VyFirdgAOoh5" + ], + "title": "recent_notes", + "notePosition": 55, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "DSkl8C325tEC", + "isInheritable": false, + "position": 10 + }, + { + "type": "label", + "name": "iconClass", + "value": "bx bx-table", + "isInheritable": false, + "position": 10 + } + ], + "format": "markdown", + "dataFileName": "recent_notes.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "s7ZBiaJVNumK", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "vNMojjUN76jc", + "s7ZBiaJVNumK" + ], + "title": "revisions", + "notePosition": 56, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "DSkl8C325tEC", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "VIcWnKGs0sMh", + "isInheritable": false, + "position": 20 + }, + { + "type": "relation", + "name": "internalLink", + "value": "UvXpeSqfYc6d", + "isInheritable": false, + "position": 30 + }, + { + "type": "label", + "name": "iconClass", + "value": "bx bx-table", + "isInheritable": false, + "position": 10 + } + ], + "format": "markdown", + "dataFileName": "revisions.md", + "attachments": [] + } + ] + }, + { + "isClone": false, + "noteId": "UvXpeSqfYc6d", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "UvXpeSqfYc6d" + ], + "title": "Protected entities", + "notePosition": 80, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "e6GnYOXeIWjg", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "DSkl8C325tEC", + "isInheritable": false, + "position": 20 + }, + { + "type": "relation", + "name": "internalLink", + "value": "s7ZBiaJVNumK", + "isInheritable": false, + "position": 30 + } + ], + "format": "markdown", + "dataFileName": "Protected entities.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "tM3rIZQzlum4", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "tM3rIZQzlum4" + ], + "title": "Deleted notes", + "notePosition": 90, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Deleted notes.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "r11Bh3uxFGRj", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "r11Bh3uxFGRj" + ], + "title": "Special notes", + "notePosition": 100, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Special notes.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "h8AsuFjSD4fB", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "h8AsuFjSD4fB" + ], + "title": "Branch prefixes", + "notePosition": 110, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Branch prefixes.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "qjQNyaYXSNWu", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "qjQNyaYXSNWu" + ], + "title": "Revisions", + "notePosition": 120, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Revisions.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "3mz4ZYhi9Cy8", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "3mz4ZYhi9Cy8" + ], + "title": "Backlinks", + "notePosition": 130, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Backlinks.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "ItZRqNGeGSU0", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "ItZRqNGeGSU0" + ], + "title": "Note types", + "notePosition": 140, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "DSkl8C325tEC", + "isInheritable": false, + "position": 10 + } + ], + "format": "markdown", + "dataFileName": "Note types.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "64ZTlUPgEPtW", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "64ZTlUPgEPtW" + ], + "title": "Safe mode", + "notePosition": 150, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Safe mode.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "m2W35hwSDUeh", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "m2W35hwSDUeh" + ], + "title": "Icons", + "notePosition": 160, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "PXzm2t3sCdsP", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "oLhKpfi2kGON", + "isInheritable": false, + "position": 20 + } + ], + "format": "markdown", + "dataFileName": "Icons.md", + "attachments": [], + "dirFileName": "Icons", + "children": [ + { + "isClone": false, + "noteId": "rUkJPiX0sJSk", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "m2W35hwSDUeh", + "rUkJPiX0sJSk" + ], + "title": "Removed icons", + "notePosition": 10, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Removed icons.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "GzrBXey1UTUW", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "m2W35hwSDUeh", + "GzrBXey1UTUW" + ], + "title": "Icons on Mac", + "notePosition": 20, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Icons on Mac.md", + "attachments": [ + { + "attachmentId": "gMQM37l1tgDc", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "Icons on Mac_image.png" + }, + { + "attachmentId": "KBbeDSs1hueu", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "1_Icons on Mac_image.png" + } + ], + "dirFileName": "Icons on Mac", + "children": [ + { + "isClone": false, + "noteId": "0btkkp7llQdO", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "m2W35hwSDUeh", + "GzrBXey1UTUW", + "0btkkp7llQdO" + ], + "title": "Slightly blurry icon on Mac", + "notePosition": 10, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Slightly blurry icon on Mac.md", + "attachments": [ + { + "attachmentId": "6USSTMu15E6N", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "Slightly blurry icon on Ma.png" + }, + { + "attachmentId": "KEkBj1bOyfQ5", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "1_Slightly blurry icon on Ma.png" + }, + { + "attachmentId": "XaG2VbiqKYtR", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "2_Slightly blurry icon on Ma.png" + } + ] + }, + { + "isClone": false, + "noteId": "8zAJ5J8SFEp8", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "m2W35hwSDUeh", + "GzrBXey1UTUW", + "8zAJ5J8SFEp8" + ], + "title": "Adaptive icon", + "notePosition": 20, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Adaptive icon.md", + "attachments": [ + { + "attachmentId": "38usIA7IJTpY", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "Adaptive icon_image.png" + }, + { + "attachmentId": "4eQa9Eqkuekv", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "1_Adaptive icon_image.png" + }, + { + "attachmentId": "gM1I22x3bYDv", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "2_Adaptive icon_image.png" + }, + { + "attachmentId": "Im2xMquSwizu", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "3_Adaptive icon_image.png" + }, + { + "attachmentId": "l2xu0BHxfPfq", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "4_Adaptive icon_image.png" + }, + { + "attachmentId": "wM6YPPsas7tA", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "5_Adaptive icon_image.png" + }, + { + "attachmentId": "zPLIBv0Xvgwm", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "6_Adaptive icon_image.png" + } + ] + } + ] + } + ] + }, + { + "isClone": false, + "noteId": "oLhKpfi2kGON", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "oLhKpfi2kGON" + ], + "title": "Demo document", + "notePosition": 170, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Demo document.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "mXFYlhuEr1mZ", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "mXFYlhuEr1mZ" + ], + "title": "Docker", + "notePosition": 180, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Docker.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "6dC7ha5vjqqS", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "6dC7ha5vjqqS" + ], + "title": "Options", + "notePosition": 190, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Options.md", + "attachments": [], + "dirFileName": "Options", + "children": [ + { + "isClone": false, + "noteId": "Qk5Q0Xty3ITv", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "6dC7ha5vjqqS", + "Qk5Q0Xty3ITv" + ], + "title": "Check box option", + "notePosition": 10, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Check box option.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "VnqYvYEuMMvb", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "6dC7ha5vjqqS", + "VnqYvYEuMMvb" + ], + "title": "Trigger UI refresh", + "notePosition": 20, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Trigger UI refresh.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "3TbiQZODAp6y", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "6dC7ha5vjqqS", + "3TbiQZODAp6y" + ], + "title": "Displaying the option in settings", + "notePosition": 30, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Displaying the option in setti.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "1TVWljchsc0t", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "6dC7ha5vjqqS", + "1TVWljchsc0t" + ], + "title": "Refresh widget with option change", + "notePosition": 40, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Refresh widget with option cha.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "NcHcYOEn4ol5", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "6dC7ha5vjqqS", + "NcHcYOEn4ol5" + ], + "title": "Creating a new option", + "notePosition": 50, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Creating a new option.md", + "attachments": [] + } + ] + }, + { + "isClone": false, + "noteId": "AdNRgGrYeTCy", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "AdNRgGrYeTCy" + ], + "title": "Adding a new note type", + "notePosition": 210, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "attachments": [], + "dirFileName": "Adding a new note type", + "children": [ + { + "isClone": false, + "noteId": "UFtOg3sLumZM", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "AdNRgGrYeTCy", + "UFtOg3sLumZM" + ], + "title": "First steps", + "notePosition": 10, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "lgFwLJT72mdf", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "oLhKpfi2kGON", + "isInheritable": false, + "position": 20 + } + ], + "format": "markdown", + "dataFileName": "First steps.md", + "attachments": [], + "dirFileName": "First steps", + "children": [ + { + "isClone": false, + "noteId": "aSO1wqK7L1ma", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "AdNRgGrYeTCy", + "UFtOg3sLumZM", + "aSO1wqK7L1ma" + ], + "title": "mind_map.js", + "notePosition": 10, + "prefix": null, + "isExpanded": false, + "type": "code", + "mime": "application/javascript;env=frontend", + "attributes": [], + "dataFileName": "mind_map.js", + "attachments": [] + } + ] + }, + { + "isClone": false, + "noteId": "lgFwLJT72mdf", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "AdNRgGrYeTCy", + "lgFwLJT72mdf" + ], + "title": "Note type checklist", + "notePosition": 20, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "UFtOg3sLumZM", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "OGYpAbrmEXbX", + "isInheritable": false, + "position": 20 + }, + { + "type": "label", + "name": "iconClass", + "value": "bx bx-list-check", + "isInheritable": false, + "position": 40 + } + ], + "format": "markdown", + "dataFileName": "Note type checklist.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "PoxUNujeKJ7T", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "AdNRgGrYeTCy", + "PoxUNujeKJ7T" + ], + "title": "Saving data via spaced update", + "notePosition": 30, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "OGYpAbrmEXbX", + "isInheritable": false, + "position": 10 + } + ], + "format": "markdown", + "dataFileName": "Saving data via spaced update.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "xYVE7qA3EBwb", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "AdNRgGrYeTCy", + "xYVE7qA3EBwb" + ], + "title": "Loading data", + "notePosition": 40, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "PoxUNujeKJ7T", + "isInheritable": false, + "position": 10 + } + ], + "format": "markdown", + "dataFileName": "Loading data.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "OGYpAbrmEXbX", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "AdNRgGrYeTCy", + "OGYpAbrmEXbX" + ], + "title": "SVG rendering", + "notePosition": 50, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "SVG rendering.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "Q8hgB8EEen80", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "AdNRgGrYeTCy", + "Q8hgB8EEen80" + ], + "title": "Copy image reference to the clipboard", + "notePosition": 60, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Copy image reference to the cl.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "AwWq8bJRl6XD", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "AdNRgGrYeTCy", + "AwWq8bJRl6XD" + ], + "title": "Export diagram as SVG", + "notePosition": 70, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "OGYpAbrmEXbX", + "isInheritable": false, + "position": 10 + } + ], + "format": "markdown", + "dataFileName": "Export diagram as SVG.md", + "attachments": [] + } + ] + }, + { + "isClone": false, + "noteId": "W0msUwLxm40d", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "W0msUwLxm40d" + ], + "title": "Printing", + "notePosition": 220, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Printing.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "Usiyzn9C4WFv", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "Usiyzn9C4WFv" + ], + "title": "Launchers", + "notePosition": 230, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Launchers.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "k7RavjuXQt8z", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "k7RavjuXQt8z" + ], + "title": "Syntax highlighting", + "notePosition": 240, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Syntax highlighting.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "UzRirf46Xi46", + "notePath": [ + "jdjRLhLV3TtI", + "wbVIolLKDhe2", + "UzRirf46Xi46" + ], + "title": "Hidden notes", + "notePosition": 250, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Hidden notes.md", + "attachments": [] + } + ] + }, + { + "isClone": false, + "noteId": "VHhyVRYK43gI", + "notePath": [ + "jdjRLhLV3TtI", + "VHhyVRYK43gI" + ], + "title": "Building and deployment", + "notePosition": 230, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "attachments": [], + "dirFileName": "Building and deployment", + "children": [ + { + "isClone": false, + "noteId": "Un4wj2Mak2Ky", + "notePath": [ + "jdjRLhLV3TtI", + "VHhyVRYK43gI", + "Un4wj2Mak2Ky" + ], + "title": "Nix flake", + "notePosition": 10, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Nix flake.md", + "attachments": [] + } + ] + }, { "isClone": false, "noteId": "ibAPHul7Efvr", @@ -186,7 +1767,7 @@ "ibAPHul7Efvr" ], "title": "Old documentation", - "notePosition": 220, + "notePosition": 260, "prefix": null, "isExpanded": false, "type": "text", @@ -602,1603 +2183,6 @@ } ] }, - { - "isClone": false, - "noteId": "wbVIolLKDhe2", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2" - ], - "title": "Development and architecture", - "notePosition": 70, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "attachments": [], - "dirFileName": "Development and architecture", - "children": [ - { - "isClone": false, - "noteId": "TLXJwBDo8Rdv", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "TLXJwBDo8Rdv" - ], - "title": "Internationalisation / Translations", - "notePosition": 10, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "relation", - "name": "internalLink", - "value": "ky5zpmxXZhhr", - "isInheritable": false, - "position": 10 - }, - { - "type": "label", - "name": "iconClass", - "value": "bx bx-globe", - "isInheritable": false, - "position": 10 - } - ], - "format": "markdown", - "dataFileName": "Internationalisation Translat.md", - "attachments": [], - "dirFileName": "Internationalisation Translations", - "children": [ - { - "isClone": false, - "noteId": "ky5zpmxXZhhr", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "TLXJwBDo8Rdv", - "ky5zpmxXZhhr" - ], - "title": "Guidelines", - "notePosition": 10, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Guidelines.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "VTebBD3jZjdp", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "TLXJwBDo8Rdv", - "VTebBD3jZjdp" - ], - "title": "i18n-ally", - "notePosition": 20, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "relation", - "name": "internalLink", - "value": "ky5zpmxXZhhr", - "isInheritable": false, - "position": 10 - } - ], - "format": "markdown", - "dataFileName": "i18n-ally.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "KhDvxPlQQybs", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "TLXJwBDo8Rdv", - "KhDvxPlQQybs" - ], - "title": "Server translations", - "notePosition": 30, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Server translations.md", - "attachments": [] - } - ] - }, - { - "isClone": false, - "noteId": "fI16A7NrT713", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "fI16A7NrT713" - ], - "title": "Live reload", - "notePosition": 20, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Live reload.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "7BCukQTCm7fv", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "7BCukQTCm7fv" - ], - "title": "Themes", - "notePosition": 30, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Themes.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "n9wYW9nUTynV", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "n9wYW9nUTynV" - ], - "title": "Synchronisation", - "notePosition": 40, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "attachments": [], - "dirFileName": "Synchronisation", - "children": [ - { - "isClone": false, - "noteId": "wA6tm9xcWWaB", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "n9wYW9nUTynV", - "wA6tm9xcWWaB" - ], - "title": "Content hashing", - "notePosition": 10, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Content hashing.md", - "attachments": [] - } - ] - }, - { - "isClone": false, - "noteId": "aGlhNBEA9wwo", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "aGlhNBEA9wwo" - ], - "title": "Build information", - "notePosition": 50, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "relation", - "name": "internalLink", - "value": "PXzm2t3sCdsP", - "isInheritable": false, - "position": 10 - } - ], - "format": "markdown", - "dataFileName": "Build information.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "vNMojjUN76jc", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "vNMojjUN76jc" - ], - "title": "Database", - "notePosition": 60, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "attachments": [], - "dirFileName": "Database", - "children": [ - { - "isClone": false, - "noteId": "e6GnYOXeIWjg", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "vNMojjUN76jc", - "e6GnYOXeIWjg" - ], - "title": "attachments", - "notePosition": 20, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "relation", - "name": "internalLink", - "value": "DSkl8C325tEC", - "isInheritable": false, - "position": 10 - }, - { - "type": "relation", - "name": "internalLink", - "value": "UvXpeSqfYc6d", - "isInheritable": false, - "position": 20 - }, - { - "type": "relation", - "name": "internalLink", - "value": "VIcWnKGs0sMh", - "isInheritable": false, - "position": 30 - }, - { - "type": "relation", - "name": "internalLink", - "value": "tM3rIZQzlum4", - "isInheritable": false, - "position": 40 - }, - { - "type": "label", - "name": "iconClass", - "value": "bx bx-table", - "isInheritable": false, - "position": 10 - } - ], - "format": "markdown", - "dataFileName": "attachments.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "ciL84vNBNi9y", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "vNMojjUN76jc", - "ciL84vNBNi9y" - ], - "title": "attributes", - "notePosition": 30, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "relation", - "name": "internalLink", - "value": "r11Bh3uxFGRj", - "isInheritable": false, - "position": 10 - }, - { - "type": "relation", - "name": "internalLink", - "value": "DSkl8C325tEC", - "isInheritable": false, - "position": 20 - }, - { - "type": "relation", - "name": "internalLink", - "value": "tM3rIZQzlum4", - "isInheritable": false, - "position": 30 - }, - { - "type": "label", - "name": "iconClass", - "value": "bx bx-table", - "isInheritable": false, - "position": 10 - } - ], - "format": "markdown", - "dataFileName": "attributes.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "VIcWnKGs0sMh", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "vNMojjUN76jc", - "VIcWnKGs0sMh" - ], - "title": "blobs", - "notePosition": 40, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "label", - "name": "iconClass", - "value": "bx bx-table", - "isInheritable": false, - "position": 10 - } - ], - "format": "markdown", - "dataFileName": "blobs.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "GskLPkgY5n6E", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "vNMojjUN76jc", - "GskLPkgY5n6E" - ], - "title": "branches", - "notePosition": 50, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "relation", - "name": "internalLink", - "value": "h8AsuFjSD4fB", - "isInheritable": false, - "position": 10 - }, - { - "type": "relation", - "name": "internalLink", - "value": "DSkl8C325tEC", - "isInheritable": false, - "position": 20 - }, - { - "type": "relation", - "name": "internalLink", - "value": "tM3rIZQzlum4", - "isInheritable": false, - "position": 30 - }, - { - "type": "label", - "name": "iconClass", - "value": "bx bx-table", - "isInheritable": false, - "position": 10 - } - ], - "format": "markdown", - "dataFileName": "branches.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "ohhExR078MPU", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "vNMojjUN76jc", - "ohhExR078MPU" - ], - "title": "entity_changes", - "notePosition": 51, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "label", - "name": "iconClass", - "value": "bx bx-table", - "isInheritable": false, - "position": 10 - } - ], - "format": "markdown", - "dataFileName": "entity_changes.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "bRqbIg633nCs", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "vNMojjUN76jc", - "bRqbIg633nCs" - ], - "title": "etapi_tokens", - "notePosition": 52, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "relation", - "name": "internalLink", - "value": "tM3rIZQzlum4", - "isInheritable": false, - "position": 10 - }, - { - "type": "label", - "name": "iconClass", - "value": "bx bx-table", - "isInheritable": false, - "position": 10 - } - ], - "format": "markdown", - "dataFileName": "etapi_tokens.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "DSkl8C325tEC", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "vNMojjUN76jc", - "DSkl8C325tEC" - ], - "title": "notes", - "notePosition": 53, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "relation", - "name": "internalLink", - "value": "VIcWnKGs0sMh", - "isInheritable": false, - "position": 10 - }, - { - "type": "relation", - "name": "internalLink", - "value": "UvXpeSqfYc6d", - "isInheritable": false, - "position": 20 - }, - { - "type": "relation", - "name": "internalLink", - "value": "tM3rIZQzlum4", - "isInheritable": false, - "position": 30 - }, - { - "type": "label", - "name": "iconClass", - "value": "bx bx-table", - "isInheritable": false, - "position": 10 - } - ], - "format": "markdown", - "dataFileName": "notes.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "4oeftEmy77Bt", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "vNMojjUN76jc", - "4oeftEmy77Bt" - ], - "title": "options", - "notePosition": 54, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "label", - "name": "iconClass", - "value": "bx bx-table", - "isInheritable": false, - "position": 10 - } - ], - "format": "markdown", - "dataFileName": "options.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "VyFirdgAOoh5", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "vNMojjUN76jc", - "VyFirdgAOoh5" - ], - "title": "recent_notes", - "notePosition": 55, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "relation", - "name": "internalLink", - "value": "DSkl8C325tEC", - "isInheritable": false, - "position": 10 - }, - { - "type": "label", - "name": "iconClass", - "value": "bx bx-table", - "isInheritable": false, - "position": 10 - } - ], - "format": "markdown", - "dataFileName": "recent_notes.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "s7ZBiaJVNumK", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "vNMojjUN76jc", - "s7ZBiaJVNumK" - ], - "title": "revisions", - "notePosition": 56, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "relation", - "name": "internalLink", - "value": "DSkl8C325tEC", - "isInheritable": false, - "position": 10 - }, - { - "type": "relation", - "name": "internalLink", - "value": "VIcWnKGs0sMh", - "isInheritable": false, - "position": 20 - }, - { - "type": "relation", - "name": "internalLink", - "value": "UvXpeSqfYc6d", - "isInheritable": false, - "position": 30 - }, - { - "type": "label", - "name": "iconClass", - "value": "bx bx-table", - "isInheritable": false, - "position": 10 - } - ], - "format": "markdown", - "dataFileName": "revisions.md", - "attachments": [] - } - ] - }, - { - "isClone": false, - "noteId": "UvXpeSqfYc6d", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "UvXpeSqfYc6d" - ], - "title": "Protected entities", - "notePosition": 80, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "relation", - "name": "internalLink", - "value": "e6GnYOXeIWjg", - "isInheritable": false, - "position": 10 - }, - { - "type": "relation", - "name": "internalLink", - "value": "DSkl8C325tEC", - "isInheritable": false, - "position": 20 - }, - { - "type": "relation", - "name": "internalLink", - "value": "s7ZBiaJVNumK", - "isInheritable": false, - "position": 30 - } - ], - "format": "markdown", - "dataFileName": "Protected entities.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "tM3rIZQzlum4", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "tM3rIZQzlum4" - ], - "title": "Deleted notes", - "notePosition": 90, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Deleted notes.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "r11Bh3uxFGRj", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "r11Bh3uxFGRj" - ], - "title": "Special notes", - "notePosition": 100, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Special notes.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "h8AsuFjSD4fB", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "h8AsuFjSD4fB" - ], - "title": "Branch prefixes", - "notePosition": 110, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Branch prefixes.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "qjQNyaYXSNWu", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "qjQNyaYXSNWu" - ], - "title": "Revisions", - "notePosition": 120, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Revisions.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "3mz4ZYhi9Cy8", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "3mz4ZYhi9Cy8" - ], - "title": "Backlinks", - "notePosition": 130, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Backlinks.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "ItZRqNGeGSU0", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "ItZRqNGeGSU0" - ], - "title": "Note types", - "notePosition": 140, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "relation", - "name": "internalLink", - "value": "DSkl8C325tEC", - "isInheritable": false, - "position": 10 - } - ], - "format": "markdown", - "dataFileName": "Note types.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "64ZTlUPgEPtW", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "64ZTlUPgEPtW" - ], - "title": "Safe mode", - "notePosition": 150, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Safe mode.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "m2W35hwSDUeh", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "m2W35hwSDUeh" - ], - "title": "Icons", - "notePosition": 160, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "relation", - "name": "internalLink", - "value": "PXzm2t3sCdsP", - "isInheritable": false, - "position": 10 - }, - { - "type": "relation", - "name": "internalLink", - "value": "oLhKpfi2kGON", - "isInheritable": false, - "position": 20 - } - ], - "format": "markdown", - "dataFileName": "Icons.md", - "attachments": [], - "dirFileName": "Icons", - "children": [ - { - "isClone": false, - "noteId": "rUkJPiX0sJSk", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "m2W35hwSDUeh", - "rUkJPiX0sJSk" - ], - "title": "Removed icons", - "notePosition": 10, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Removed icons.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "GzrBXey1UTUW", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "m2W35hwSDUeh", - "GzrBXey1UTUW" - ], - "title": "Icons on Mac", - "notePosition": 20, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Icons on Mac.md", - "attachments": [ - { - "attachmentId": "gMQM37l1tgDc", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "Icons on Mac_image.png" - }, - { - "attachmentId": "KBbeDSs1hueu", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "1_Icons on Mac_image.png" - } - ], - "dirFileName": "Icons on Mac", - "children": [ - { - "isClone": false, - "noteId": "0btkkp7llQdO", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "m2W35hwSDUeh", - "GzrBXey1UTUW", - "0btkkp7llQdO" - ], - "title": "Slightly blurry icon on Mac", - "notePosition": 10, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Slightly blurry icon on Mac.md", - "attachments": [ - { - "attachmentId": "6USSTMu15E6N", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "Slightly blurry icon on Ma.png" - }, - { - "attachmentId": "KEkBj1bOyfQ5", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "1_Slightly blurry icon on Ma.png" - }, - { - "attachmentId": "XaG2VbiqKYtR", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "2_Slightly blurry icon on Ma.png" - } - ] - }, - { - "isClone": false, - "noteId": "8zAJ5J8SFEp8", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "m2W35hwSDUeh", - "GzrBXey1UTUW", - "8zAJ5J8SFEp8" - ], - "title": "Adaptive icon", - "notePosition": 20, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Adaptive icon.md", - "attachments": [ - { - "attachmentId": "38usIA7IJTpY", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "Adaptive icon_image.png" - }, - { - "attachmentId": "4eQa9Eqkuekv", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "1_Adaptive icon_image.png" - }, - { - "attachmentId": "gM1I22x3bYDv", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "2_Adaptive icon_image.png" - }, - { - "attachmentId": "Im2xMquSwizu", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "3_Adaptive icon_image.png" - }, - { - "attachmentId": "l2xu0BHxfPfq", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "4_Adaptive icon_image.png" - }, - { - "attachmentId": "wM6YPPsas7tA", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "5_Adaptive icon_image.png" - }, - { - "attachmentId": "zPLIBv0Xvgwm", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "6_Adaptive icon_image.png" - } - ] - } - ] - } - ] - }, - { - "isClone": false, - "noteId": "oLhKpfi2kGON", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "oLhKpfi2kGON" - ], - "title": "Demo document", - "notePosition": 170, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Demo document.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "mXFYlhuEr1mZ", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "mXFYlhuEr1mZ" - ], - "title": "Docker", - "notePosition": 180, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Docker.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "6dC7ha5vjqqS", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "6dC7ha5vjqqS" - ], - "title": "Options", - "notePosition": 190, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Options.md", - "attachments": [], - "dirFileName": "Options", - "children": [ - { - "isClone": false, - "noteId": "Qk5Q0Xty3ITv", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "6dC7ha5vjqqS", - "Qk5Q0Xty3ITv" - ], - "title": "Check box option", - "notePosition": 10, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Check box option.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "VnqYvYEuMMvb", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "6dC7ha5vjqqS", - "VnqYvYEuMMvb" - ], - "title": "Trigger UI refresh", - "notePosition": 20, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Trigger UI refresh.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "3TbiQZODAp6y", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "6dC7ha5vjqqS", - "3TbiQZODAp6y" - ], - "title": "Displaying the option in settings", - "notePosition": 30, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Displaying the option in setti.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "1TVWljchsc0t", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "6dC7ha5vjqqS", - "1TVWljchsc0t" - ], - "title": "Refresh widget with option change", - "notePosition": 40, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Refresh widget with option cha.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "NcHcYOEn4ol5", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "6dC7ha5vjqqS", - "NcHcYOEn4ol5" - ], - "title": "Creating a new option", - "notePosition": 50, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Creating a new option.md", - "attachments": [] - } - ] - }, - { - "isClone": false, - "noteId": "AdNRgGrYeTCy", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "AdNRgGrYeTCy" - ], - "title": "Adding a new note type", - "notePosition": 210, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "attachments": [], - "dirFileName": "Adding a new note type", - "children": [ - { - "isClone": false, - "noteId": "UFtOg3sLumZM", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "AdNRgGrYeTCy", - "UFtOg3sLumZM" - ], - "title": "First steps", - "notePosition": 10, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "relation", - "name": "internalLink", - "value": "lgFwLJT72mdf", - "isInheritable": false, - "position": 10 - }, - { - "type": "relation", - "name": "internalLink", - "value": "oLhKpfi2kGON", - "isInheritable": false, - "position": 20 - } - ], - "format": "markdown", - "dataFileName": "First steps.md", - "attachments": [], - "dirFileName": "First steps", - "children": [ - { - "isClone": false, - "noteId": "aSO1wqK7L1ma", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "AdNRgGrYeTCy", - "UFtOg3sLumZM", - "aSO1wqK7L1ma" - ], - "title": "mind_map.js", - "notePosition": 10, - "prefix": null, - "isExpanded": false, - "type": "code", - "mime": "application/javascript;env=frontend", - "attributes": [], - "dataFileName": "mind_map.js", - "attachments": [] - } - ] - }, - { - "isClone": false, - "noteId": "lgFwLJT72mdf", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "AdNRgGrYeTCy", - "lgFwLJT72mdf" - ], - "title": "Note type checklist", - "notePosition": 20, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "relation", - "name": "internalLink", - "value": "UFtOg3sLumZM", - "isInheritable": false, - "position": 10 - }, - { - "type": "relation", - "name": "internalLink", - "value": "OGYpAbrmEXbX", - "isInheritable": false, - "position": 20 - }, - { - "type": "label", - "name": "iconClass", - "value": "bx bx-list-check", - "isInheritable": false, - "position": 40 - } - ], - "format": "markdown", - "dataFileName": "Note type checklist.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "PoxUNujeKJ7T", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "AdNRgGrYeTCy", - "PoxUNujeKJ7T" - ], - "title": "Saving data via spaced update", - "notePosition": 30, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "relation", - "name": "internalLink", - "value": "OGYpAbrmEXbX", - "isInheritable": false, - "position": 10 - } - ], - "format": "markdown", - "dataFileName": "Saving data via spaced update.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "xYVE7qA3EBwb", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "AdNRgGrYeTCy", - "xYVE7qA3EBwb" - ], - "title": "Loading data", - "notePosition": 40, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "relation", - "name": "internalLink", - "value": "PoxUNujeKJ7T", - "isInheritable": false, - "position": 10 - } - ], - "format": "markdown", - "dataFileName": "Loading data.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "OGYpAbrmEXbX", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "AdNRgGrYeTCy", - "OGYpAbrmEXbX" - ], - "title": "SVG rendering", - "notePosition": 50, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "SVG rendering.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "Q8hgB8EEen80", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "AdNRgGrYeTCy", - "Q8hgB8EEen80" - ], - "title": "Copy image reference to the clipboard", - "notePosition": 60, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Copy image reference to the cl.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "AwWq8bJRl6XD", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "AdNRgGrYeTCy", - "AwWq8bJRl6XD" - ], - "title": "Export diagram as SVG", - "notePosition": 70, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "relation", - "name": "internalLink", - "value": "OGYpAbrmEXbX", - "isInheritable": false, - "position": 10 - } - ], - "format": "markdown", - "dataFileName": "Export diagram as SVG.md", - "attachments": [] - } - ] - }, - { - "isClone": false, - "noteId": "W0msUwLxm40d", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "W0msUwLxm40d" - ], - "title": "Printing", - "notePosition": 220, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Printing.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "Usiyzn9C4WFv", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "Usiyzn9C4WFv" - ], - "title": "Launchers", - "notePosition": 230, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Launchers.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "k7RavjuXQt8z", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "k7RavjuXQt8z" - ], - "title": "Syntax highlighting", - "notePosition": 240, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Syntax highlighting.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "UzRirf46Xi46", - "notePath": [ - "jdjRLhLV3TtI", - "ibAPHul7Efvr", - "wbVIolLKDhe2", - "UzRirf46Xi46" - ], - "title": "Hidden notes", - "notePosition": 250, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [], - "format": "markdown", - "dataFileName": "Hidden notes.md", - "attachments": [] - } - ] - }, { "isClone": false, "noteId": "re0QTuqiYnVb", diff --git a/docs/Developer Guide/Developer Guide/Building and deployment/Nix flake.md b/docs/Developer Guide/Developer Guide/Building and deployment/Nix flake.md new file mode 100644 index 000000000..9268eed6e --- /dev/null +++ b/docs/Developer Guide/Developer Guide/Building and deployment/Nix flake.md @@ -0,0 +1,76 @@ +# Nix flake +Since TriliumNext 0.94.1, the desktop and server applications can be built using [Nix](https://nixos.org/). + +## System requirements + +Installation of Nix on Mac or Linux ([download page](https://nixos.org/download/)). About 3-4 gigabytes of additional storage space, for build artifacts. + +## Run directly + +Using [nix run](https://nix.dev/manual/nix/stable/command-ref/new-cli/nix3-run.html), the desktop app can be started as: `nix run github:TriliumNext/Notes/v0.95.0` + +Running the server requires explicitly specifying the desired package: `nix run github:TriliumNext/Notes/v0.95.0#server` + +Instead of a version (`v0.95.0` above), you can also specify a commit hash (or a branch name). This makes it easy to test development builds. + +## Install on NixOS + +Add to your `flake.nix`: + +``` +{ + inputs = { + nixpkgs.url = # ...; + trilium-notes = { + url = "github:TriliumNext/Notes/v0.95.0"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = + { + self, + # ... + trilium-notes, + ... + }: + { + nixosConfigurations = { + "nixos" = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + ./configuration.nix + ]; + specialArgs = { + inherit + trilium-notes + ; + }; + }; + }; + }; +} + +``` + +Add to your `configuration.nix`: + +``` +{ + # ... + trilium-notes, + ... +}: + +{ + # ... + + services.trilium-server.package = trilium-notes.packages.x86_64-linux.server; + + environment.systemPackages = [ + trilium-notes.packages.x86_64-linux.desktop + ]; +} +``` + +The flake aims to be compatible with the latest NixOS stable and unstable. \ No newline at end of file diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Adding a new note type/Copy image reference to the cl.md b/docs/Developer Guide/Developer Guide/Development and architecture/Adding a new note type/Copy image reference to the cl.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Adding a new note type/Copy image reference to the cl.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Adding a new note type/Copy image reference to the cl.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Adding a new note type/Export diagram as SVG.md b/docs/Developer Guide/Developer Guide/Development and architecture/Adding a new note type/Export diagram as SVG.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Adding a new note type/Export diagram as SVG.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Adding a new note type/Export diagram as SVG.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Adding a new note type/First steps.md b/docs/Developer Guide/Developer Guide/Development and architecture/Adding a new note type/First steps.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Adding a new note type/First steps.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Adding a new note type/First steps.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Adding a new note type/First steps/mind_map.js b/docs/Developer Guide/Developer Guide/Development and architecture/Adding a new note type/First steps/mind_map.js similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Adding a new note type/First steps/mind_map.js rename to docs/Developer Guide/Developer Guide/Development and architecture/Adding a new note type/First steps/mind_map.js diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Adding a new note type/Loading data.md b/docs/Developer Guide/Developer Guide/Development and architecture/Adding a new note type/Loading data.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Adding a new note type/Loading data.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Adding a new note type/Loading data.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Adding a new note type/Note type checklist.md b/docs/Developer Guide/Developer Guide/Development and architecture/Adding a new note type/Note type checklist.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Adding a new note type/Note type checklist.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Adding a new note type/Note type checklist.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Adding a new note type/SVG rendering.md b/docs/Developer Guide/Developer Guide/Development and architecture/Adding a new note type/SVG rendering.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Adding a new note type/SVG rendering.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Adding a new note type/SVG rendering.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Adding a new note type/Saving data via spaced update.md b/docs/Developer Guide/Developer Guide/Development and architecture/Adding a new note type/Saving data via spaced update.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Adding a new note type/Saving data via spaced update.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Adding a new note type/Saving data via spaced update.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Backlinks.md b/docs/Developer Guide/Developer Guide/Development and architecture/Backlinks.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Backlinks.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Backlinks.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Branch prefixes.md b/docs/Developer Guide/Developer Guide/Development and architecture/Branch prefixes.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Branch prefixes.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Branch prefixes.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Build information.md b/docs/Developer Guide/Developer Guide/Development and architecture/Build information.md similarity index 80% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Build information.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Build information.md index bdc3399fe..475d902f5 100644 --- a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Build information.md +++ b/docs/Developer Guide/Developer Guide/Development and architecture/Build information.md @@ -1,4 +1,4 @@ # Build information * Provides context about when the build was made and the corresponding Git revision. * The information is displayed to the client when going in the about dialog. -* The build information is hard-coded in `src/services/build.ts`. This file is generated automatically via `npm run update-build-info` which itself is run automatically whenever making a build in the CI, or a [local delivery](../Build%20deliveries%20locally.md). \ No newline at end of file +* The build information is hard-coded in `src/services/build.ts`. This file is generated automatically via `npm run update-build-info` which itself is run automatically whenever making a build in the CI, or a [local delivery](../Old%20documentation/Build%20deliveries%20locally.md). \ No newline at end of file diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Database/attachments.md b/docs/Developer Guide/Developer Guide/Development and architecture/Database/attachments.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Database/attachments.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Database/attachments.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Database/attributes.md b/docs/Developer Guide/Developer Guide/Development and architecture/Database/attributes.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Database/attributes.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Database/attributes.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Database/blobs.md b/docs/Developer Guide/Developer Guide/Development and architecture/Database/blobs.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Database/blobs.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Database/blobs.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Database/branches.md b/docs/Developer Guide/Developer Guide/Development and architecture/Database/branches.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Database/branches.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Database/branches.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Database/entity_changes.md b/docs/Developer Guide/Developer Guide/Development and architecture/Database/entity_changes.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Database/entity_changes.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Database/entity_changes.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Database/etapi_tokens.md b/docs/Developer Guide/Developer Guide/Development and architecture/Database/etapi_tokens.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Database/etapi_tokens.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Database/etapi_tokens.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Database/notes.md b/docs/Developer Guide/Developer Guide/Development and architecture/Database/notes.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Database/notes.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Database/notes.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Database/options.md b/docs/Developer Guide/Developer Guide/Development and architecture/Database/options.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Database/options.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Database/options.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Database/recent_notes.md b/docs/Developer Guide/Developer Guide/Development and architecture/Database/recent_notes.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Database/recent_notes.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Database/recent_notes.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Database/revisions.md b/docs/Developer Guide/Developer Guide/Development and architecture/Database/revisions.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Database/revisions.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Database/revisions.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Deleted notes.md b/docs/Developer Guide/Developer Guide/Development and architecture/Deleted notes.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Deleted notes.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Deleted notes.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Demo document.md b/docs/Developer Guide/Developer Guide/Development and architecture/Demo document.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Demo document.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Demo document.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Docker.md b/docs/Developer Guide/Developer Guide/Development and architecture/Docker.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Docker.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Docker.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Hidden notes.md b/docs/Developer Guide/Developer Guide/Development and architecture/Hidden notes.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Hidden notes.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Hidden notes.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons.md b/docs/Developer Guide/Developer Guide/Development and architecture/Icons.md similarity index 61% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Icons.md index 4641a82d1..68d57f474 100644 --- a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons.md +++ b/docs/Developer Guide/Developer Guide/Development and architecture/Icons.md @@ -17,7 +17,7 @@ These are stored in `images`: ## App icons -
NameResolutionDescription
ios/apple-touch-icon.png180x180Used as apple-touch-icon, but only in login.ejs and set_password.ejs for some reason.
mac/icon.icns512x512Provided as --icon to electron-packager for mac-arm64 and mac-x64 builds.
png/128x128.png128x128Used in linux-x64 build, to provide an icon.png.
png/256x256-dev.png256x256Used by the Electron window icon, if in dev mode.
png/256x256.pngUsed by the Electron window icon, if not in dev mode.
win/icon.ico
  • ICO 16x16
  • ICO 32x32
  • ICO 48x48
  • ICO 64x64
  • ICO 128x128
  • PNG 256x256
  • Used by the win-x64 build.
  • Used by Squirrel Windows installer for: setup icon, app icon, control panel icon
  • Used as the favicon.
win/setup-banner.gif640x480Used by the Squirrel Windows installer during the installation process. Has only one frame.
+
NameResolutionDescription
ios/apple-touch-icon.png180x180Used as apple-touch-icon, but only in login.ejs and set_password.ejs for some reason.
mac/icon.icns512x512Provided as --icon to electron-packager for mac-arm64 and mac-x64 builds.
png/128x128.png128x128Used in linux-x64 build, to provide an icon.png.
png/256x256-dev.png256x256Used by the Electron window icon, if in dev mode.
png/256x256.pngUsed by the Electron window icon, if not in dev mode.
win/icon.ico
  • ICO 16x16
  • ICO 32x32
  • ICO 48x48
  • ICO 64x64
  • ICO 128x128
  • PNG 256x256
  • Used by the win-x64 build.
  • Used by Squirrel Windows installer for: setup icon, app icon, control panel icon
  • Used as the favicon.
win/setup-banner.gif640x480Used by the Squirrel Windows installer during the installation process. Has only one frame.
## Additional locations where the branding is used diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/1_Icons on Mac_image.png b/docs/Developer Guide/Developer Guide/Development and architecture/Icons/1_Icons on Mac_image.png similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/1_Icons on Mac_image.png rename to docs/Developer Guide/Developer Guide/Development and architecture/Icons/1_Icons on Mac_image.png diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac.md b/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac/1_Adaptive icon_image.png b/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/1_Adaptive icon_image.png similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac/1_Adaptive icon_image.png rename to docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/1_Adaptive icon_image.png diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac/1_Slightly blurry icon on Ma.png b/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/1_Slightly blurry icon on Ma.png similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac/1_Slightly blurry icon on Ma.png rename to docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/1_Slightly blurry icon on Ma.png diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac/2_Adaptive icon_image.png b/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/2_Adaptive icon_image.png similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac/2_Adaptive icon_image.png rename to docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/2_Adaptive icon_image.png diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac/2_Slightly blurry icon on Ma.png b/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/2_Slightly blurry icon on Ma.png similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac/2_Slightly blurry icon on Ma.png rename to docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/2_Slightly blurry icon on Ma.png diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac/3_Adaptive icon_image.png b/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/3_Adaptive icon_image.png similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac/3_Adaptive icon_image.png rename to docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/3_Adaptive icon_image.png diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac/4_Adaptive icon_image.png b/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/4_Adaptive icon_image.png similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac/4_Adaptive icon_image.png rename to docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/4_Adaptive icon_image.png diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac/5_Adaptive icon_image.png b/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/5_Adaptive icon_image.png similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac/5_Adaptive icon_image.png rename to docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/5_Adaptive icon_image.png diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac/6_Adaptive icon_image.png b/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/6_Adaptive icon_image.png similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac/6_Adaptive icon_image.png rename to docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/6_Adaptive icon_image.png diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac/Adaptive icon.md b/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/Adaptive icon.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac/Adaptive icon.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/Adaptive icon.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac/Adaptive icon_image.png b/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/Adaptive icon_image.png similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac/Adaptive icon_image.png rename to docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/Adaptive icon_image.png diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac/Slightly blurry icon on Ma.png b/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/Slightly blurry icon on Ma.png similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac/Slightly blurry icon on Ma.png rename to docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/Slightly blurry icon on Ma.png diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac/Slightly blurry icon on Mac.md b/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/Slightly blurry icon on Mac.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac/Slightly blurry icon on Mac.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/Slightly blurry icon on Mac.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac_image.png b/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac_image.png similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Icons on Mac_image.png rename to docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac_image.png diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Removed icons.md b/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Removed icons.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Icons/Removed icons.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Icons/Removed icons.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Internationalisation Translat.md b/docs/Developer Guide/Developer Guide/Development and architecture/Internationalisation Translat.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Internationalisation Translat.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Internationalisation Translat.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Internationalisation Translations/Guidelines.md b/docs/Developer Guide/Developer Guide/Development and architecture/Internationalisation Translations/Guidelines.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Internationalisation Translations/Guidelines.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Internationalisation Translations/Guidelines.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Internationalisation Translations/Server translations.md b/docs/Developer Guide/Developer Guide/Development and architecture/Internationalisation Translations/Server translations.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Internationalisation Translations/Server translations.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Internationalisation Translations/Server translations.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Internationalisation Translations/i18n-ally.md b/docs/Developer Guide/Developer Guide/Development and architecture/Internationalisation Translations/i18n-ally.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Internationalisation Translations/i18n-ally.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Internationalisation Translations/i18n-ally.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Launchers.md b/docs/Developer Guide/Developer Guide/Development and architecture/Launchers.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Launchers.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Launchers.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Live reload.md b/docs/Developer Guide/Developer Guide/Development and architecture/Live reload.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Live reload.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Live reload.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Note types.md b/docs/Developer Guide/Developer Guide/Development and architecture/Note types.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Note types.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Note types.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Options.md b/docs/Developer Guide/Developer Guide/Development and architecture/Options.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Options.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Options.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Options/Check box option.md b/docs/Developer Guide/Developer Guide/Development and architecture/Options/Check box option.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Options/Check box option.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Options/Check box option.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Options/Creating a new option.md b/docs/Developer Guide/Developer Guide/Development and architecture/Options/Creating a new option.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Options/Creating a new option.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Options/Creating a new option.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Options/Displaying the option in setti.md b/docs/Developer Guide/Developer Guide/Development and architecture/Options/Displaying the option in setti.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Options/Displaying the option in setti.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Options/Displaying the option in setti.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Options/Refresh widget with option cha.md b/docs/Developer Guide/Developer Guide/Development and architecture/Options/Refresh widget with option cha.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Options/Refresh widget with option cha.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Options/Refresh widget with option cha.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Options/Trigger UI refresh.md b/docs/Developer Guide/Developer Guide/Development and architecture/Options/Trigger UI refresh.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Options/Trigger UI refresh.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Options/Trigger UI refresh.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Printing.md b/docs/Developer Guide/Developer Guide/Development and architecture/Printing.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Printing.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Printing.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Protected entities.md b/docs/Developer Guide/Developer Guide/Development and architecture/Protected entities.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Protected entities.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Protected entities.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Revisions.md b/docs/Developer Guide/Developer Guide/Development and architecture/Revisions.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Revisions.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Revisions.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Safe mode.md b/docs/Developer Guide/Developer Guide/Development and architecture/Safe mode.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Safe mode.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Safe mode.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Special notes.md b/docs/Developer Guide/Developer Guide/Development and architecture/Special notes.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Special notes.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Special notes.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Synchronisation/Content hashing.md b/docs/Developer Guide/Developer Guide/Development and architecture/Synchronisation/Content hashing.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Synchronisation/Content hashing.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Synchronisation/Content hashing.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Syntax highlighting.md b/docs/Developer Guide/Developer Guide/Development and architecture/Syntax highlighting.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Syntax highlighting.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Syntax highlighting.md diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Themes.md b/docs/Developer Guide/Developer Guide/Development and architecture/Themes.md similarity index 100% rename from docs/Developer Guide/Developer Guide/Old documentation/Development and architecture/Themes.md rename to docs/Developer Guide/Developer Guide/Development and architecture/Themes.md diff --git a/docs/Release Notes/!!!meta.json b/docs/Release Notes/!!!meta.json index 1c30ae90c..9d8183825 100644 --- a/docs/Release Notes/!!!meta.json +++ b/docs/Release Notes/!!!meta.json @@ -1,6 +1,6 @@ { "formatVersion": 2, - "appVersion": "0.94.0", + "appVersion": "0.95.0", "files": [ { "isClone": false, @@ -61,6 +61,32 @@ "attachments": [], "dirFileName": "Release Notes", "children": [ + { + "isClone": false, + "noteId": "jthwbL0FdaeU", + "notePath": [ + "hD3V4hiu2VW4", + "jthwbL0FdaeU" + ], + "title": "v0.95.0", + "notePosition": 10, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "template", + "value": "wyurrlcDl416", + "isInheritable": false, + "position": 60 + } + ], + "format": "markdown", + "dataFileName": "v0.95.0.md", + "attachments": [] + }, { "isClone": false, "noteId": "7HGYsJbLuhnv", @@ -69,7 +95,7 @@ "7HGYsJbLuhnv" ], "title": "v0.94.1", - "notePosition": 10, + "notePosition": 20, "prefix": null, "isExpanded": false, "type": "text", @@ -95,7 +121,7 @@ "Neq53ujRGBqv" ], "title": "v0.94.0", - "notePosition": 20, + "notePosition": 30, "prefix": null, "isExpanded": false, "type": "text", @@ -121,7 +147,7 @@ "VN3xnce1vLkX" ], "title": "v0.93.0", - "notePosition": 30, + "notePosition": 40, "prefix": null, "isExpanded": false, "type": "text", @@ -139,7 +165,7 @@ "WRaBfQqPr6qo" ], "title": "v0.92.7", - "notePosition": 40, + "notePosition": 50, "prefix": null, "isExpanded": false, "type": "text", @@ -165,7 +191,7 @@ "a2rwfKNmUFU1" ], "title": "v0.92.6", - "notePosition": 50, + "notePosition": 60, "prefix": null, "isExpanded": false, "type": "text", @@ -183,7 +209,7 @@ "fEJ8qErr0BKL" ], "title": "v0.92.5-beta", - "notePosition": 60, + "notePosition": 70, "prefix": null, "isExpanded": false, "type": "text", @@ -201,7 +227,7 @@ "kkkZQQGSXjwy" ], "title": "v0.92.4", - "notePosition": 70, + "notePosition": 80, "prefix": null, "isExpanded": false, "type": "text", @@ -219,7 +245,7 @@ "vAroNixiezaH" ], "title": "v0.92.3-beta", - "notePosition": 80, + "notePosition": 90, "prefix": null, "isExpanded": false, "type": "text", @@ -237,7 +263,7 @@ "mHEq1wxAKNZd" ], "title": "v0.92.2-beta", - "notePosition": 90, + "notePosition": 100, "prefix": null, "isExpanded": false, "type": "text", @@ -255,7 +281,7 @@ "IykjoAmBpc61" ], "title": "v0.92.1-beta", - "notePosition": 100, + "notePosition": 110, "prefix": null, "isExpanded": false, "type": "text", @@ -273,7 +299,7 @@ "dq2AJ9vSBX4Y" ], "title": "v0.92.0-beta", - "notePosition": 110, + "notePosition": 120, "prefix": null, "isExpanded": false, "type": "text", @@ -291,7 +317,7 @@ "3a8aMe4jz4yM" ], "title": "v0.91.6", - "notePosition": 120, + "notePosition": 130, "prefix": null, "isExpanded": false, "type": "text", @@ -309,7 +335,7 @@ "8djQjkiDGESe" ], "title": "v0.91.5", - "notePosition": 130, + "notePosition": 140, "prefix": null, "isExpanded": false, "type": "text", @@ -327,7 +353,7 @@ "OylxVoVJqNmr" ], "title": "v0.91.4-beta", - "notePosition": 140, + "notePosition": 150, "prefix": null, "isExpanded": false, "type": "text", @@ -345,7 +371,7 @@ "tANGQDvnyhrj" ], "title": "v0.91.3-beta", - "notePosition": 150, + "notePosition": 160, "prefix": null, "isExpanded": false, "type": "text", @@ -363,7 +389,7 @@ "hMoBfwSoj1SC" ], "title": "v0.91.2-beta", - "notePosition": 160, + "notePosition": 170, "prefix": null, "isExpanded": false, "type": "text", @@ -381,7 +407,7 @@ "a2XMSKROCl9z" ], "title": "v0.91.1-beta", - "notePosition": 170, + "notePosition": 180, "prefix": null, "isExpanded": false, "type": "text", @@ -399,7 +425,7 @@ "yqXFvWbLkuMD" ], "title": "v0.90.12", - "notePosition": 180, + "notePosition": 190, "prefix": null, "isExpanded": false, "type": "text", @@ -417,7 +443,7 @@ "veS7pg311yJP" ], "title": "v0.90.11-beta", - "notePosition": 190, + "notePosition": 200, "prefix": null, "isExpanded": false, "type": "text", @@ -435,7 +461,7 @@ "sq5W9TQxRqMq" ], "title": "v0.90.10-beta", - "notePosition": 200, + "notePosition": 210, "prefix": null, "isExpanded": false, "type": "text", @@ -453,7 +479,7 @@ "yFEGVCUM9tPx" ], "title": "v0.90.9-beta", - "notePosition": 210, + "notePosition": 220, "prefix": null, "isExpanded": false, "type": "text", @@ -471,7 +497,7 @@ "o4wAGqOQuJtV" ], "title": "v0.90.8", - "notePosition": 220, + "notePosition": 230, "prefix": null, "isExpanded": false, "type": "text", @@ -504,7 +530,7 @@ "i4A5g9iOg9I0" ], "title": "v0.90.7-beta", - "notePosition": 230, + "notePosition": 240, "prefix": null, "isExpanded": false, "type": "text", @@ -522,7 +548,7 @@ "ThNf2GaKgXUs" ], "title": "v0.90.6-beta", - "notePosition": 240, + "notePosition": 250, "prefix": null, "isExpanded": false, "type": "text", @@ -540,7 +566,7 @@ "G4PAi554kQUr" ], "title": "v0.90.5-beta", - "notePosition": 250, + "notePosition": 260, "prefix": null, "isExpanded": false, "type": "text", @@ -567,7 +593,7 @@ "zATRobGRCmBn" ], "title": "v0.90.4", - "notePosition": 260, + "notePosition": 270, "prefix": null, "isExpanded": false, "type": "text", @@ -585,7 +611,7 @@ "sCDLf8IKn3Iz" ], "title": "v0.90.3", - "notePosition": 270, + "notePosition": 280, "prefix": null, "isExpanded": false, "type": "text", @@ -603,7 +629,7 @@ "VqqyBu4AuTjC" ], "title": "v0.90.2-beta", - "notePosition": 280, + "notePosition": 290, "prefix": null, "isExpanded": false, "type": "text", @@ -621,7 +647,7 @@ "RX3Nl7wInLsA" ], "title": "v0.90.1-beta", - "notePosition": 290, + "notePosition": 300, "prefix": null, "isExpanded": false, "type": "text", @@ -639,7 +665,7 @@ "GyueACukPWjk" ], "title": "v0.90.0-beta", - "notePosition": 300, + "notePosition": 310, "prefix": null, "isExpanded": false, "type": "text", @@ -657,7 +683,7 @@ "wyurrlcDl416" ], "title": "Release Template", - "notePosition": 310, + "notePosition": 320, "prefix": null, "isExpanded": false, "type": "text", diff --git a/docs/Release Notes/Release Notes/v0.94.1.md b/docs/Release Notes/Release Notes/v0.94.1.md index 7a630ccab..0dc2be481 100644 --- a/docs/Release Notes/Release Notes/v0.94.1.md +++ b/docs/Release Notes/Release Notes/v0.94.1.md @@ -1,6 +1,6 @@ # v0.94.1 > [!NOTE] -> *TriliumNext Notes* will rebrand itself back to Trilium Notes since @zadam was kind enough to give us the original name. See [#2190](https://github.com/orgs/TriliumNext/discussions/2190) for more info. This will probably be the "last" version branded as *TriliumNext Notes*. +> _TriliumNext Notes_ will rebrand itself back to Trilium Notes since @zadam was kind enough to give us the original name. See [#2190](https://github.com/orgs/TriliumNext/discussions/2190) for more info. This will probably be the "last" version branded as _TriliumNext Notes_. > [!IMPORTANT] > If you enjoyed this release, consider showing a token of appreciation by: diff --git a/docs/Release Notes/Release Notes/v0.95.0.md b/docs/Release Notes/Release Notes/v0.95.0.md new file mode 100644 index 000000000..50f764ce8 --- /dev/null +++ b/docs/Release Notes/Release Notes/v0.95.0.md @@ -0,0 +1,61 @@ +# v0.95.0 +> [!IMPORTANT] +> If you enjoyed this release, consider showing a token of appreciation by: +> +> * Pressing the “Star” button on [GitHub](https://github.com/TriliumNext/Notes) (top-right). +> * Considering a one-time or recurrent donation to the [lead developer](https://github.com/eliandoran) via [GitHub Sponsors](https://github.com/sponsors/eliandoran) or [PayPal](https://paypal.me/eliandoran). + +> [!CAUTION] +> Sync version has been increased, so update of both the client and server are necessary. + +> [!IMPORTANT] +> For canvas notes, the “Mermaid to Excalidraw” feature is no longer functional for now since it relies on an old version of Mermaid diagrams. To avoid having a large library duplicated, we had to let go of this feature. If it's an important feature to you, let us know. + +## 💡 Key highlights + +* Improvements to the shared notes functionality: + * A new default theme was introduced called Trilium.Rocks (original development by @zerebos) and adapted to our project. New features from this theme include: search, collapsible tree, light/dark mode, mobile mobile. + * Basic syntax highlighting for code blocks has been added, but only if the language is explicitly specified. + * Note icons are now displayed in the share tree. + * Math equations are now rendered in text notes. + +## 🐞 Bugfixes + +* Text notes stability if the editor crashes: + * Data loss if the editor crashed while it was saving (causing an empty note) + * Blank screen if editor crashes more than once +* [Zen Mode: text formatting commands are missing from UI](https://github.com/TriliumNext/Notes/issues/1370) by @SiriusXT +* [Links: Unable to open notes in a new window](https://github.com/TriliumNext/Notes/pull/2243) by @SiriusXT +* [desktop syncing issues with the app](https://github.com/TriliumNext/Notes/issues/2268) +* LLM bugfixes by @perfectra1n: + * LLM could sometimes save the response in the wrong note + * [Llama3.1 doesn't work](https://github.com/TriliumNext/Notes/issues/2200) +* Text notes: + * [Selection gets incomplete when moving multiple lines up/down](https://github.com/TriliumNext/Notes/issues/2191) by @SiriusXT and @herrkami + * [Markdown import: restore focus after importing markdown](https://github.com/TriliumNext/Notes/pull/2304) by @SiriusXT + * [Ensure images opened in a new tab can be activated](https://github.com/TriliumNext/Notes/pull/2303) by @SiriusXT +* [Unexpected collapse after hoisting a note](https://github.com/TriliumNext/Notes/pull/2293) by @SiriusXT + +## ✨ Improvements + +* [Tab bar: ensure similar behavior between horizontal/vertical scrolling](https://github.com/TriliumNext/Notes/pull/2177) by @SiriusXT and @rom1dep +* [Two factor: support custom OIDC server](https://github.com/TriliumNext/Notes/pull/2198) by @koderx and @JYC333 +* LLM improvements by @perfectra1n  + * [Clarify experimental state](https://github.com/TriliumNext/Notes/pull/2217) + * [Simplify (remove embedding system) in order to improve its stability](https://github.com/TriliumNext/Notes/pull/2205) + * Simplify provider selection +* Text editor improvements + * [Relocate link icon in floating toolbar](https://github.com/TriliumNext/Notes/pull/2231) by @SiriusXT + * [Add text alignment options](https://github.com/TriliumNext/Notes/pull/2232) by @SiriusXT +* [Display a warning when using the the x86 build on ARM](https://github.com/TriliumNext/Notes/pull/2281) by @perfectra1n + +## 📖 Documentation + +* Clarify custom paths for non-root and improve nginx configuration by @hulmgulm +* Multi-factor authentication clarifications by @JYC333 + +## 🛠️ Technical updates + +* Express was updated to the newest major version (5). +* The canvas (Excalidraw) was refactored to use Preact instead of React. +* Desktop version: remove unnecessary locale information to save some space. \ No newline at end of file diff --git a/docs/User Guide/!!!meta.json b/docs/User Guide/!!!meta.json index 82f5f1f1e..db5591c4c 100644 --- a/docs/User Guide/!!!meta.json +++ b/docs/User Guide/!!!meta.json @@ -1,6 +1,6 @@ { "formatVersion": 2, - "appVersion": "0.94.0", + "appVersion": "0.95.0", "files": [ { "isClone": false, @@ -189,23 +189,23 @@ { "type": "relation", "name": "internalLink", - "value": "fDLvzOx29Pfg", + "value": "0hzsNCP31IAB", "isInheritable": false, "position": 120 }, + { + "type": "relation", + "name": "internalLink", + "value": "fDLvzOx29Pfg", + "isInheritable": false, + "position": 130 + }, { "type": "label", "name": "shareAlias", "value": "server-installation", "isInheritable": false, - "position": 30 - }, - { - "type": "relation", - "name": "internalLink", - "value": "0hzsNCP31IAB", - "isInheritable": false, - "position": 130 + "position": 10 } ], "format": "markdown", @@ -269,14 +269,14 @@ "name": "shareAlias", "value": "packaged-server-installation", "isInheritable": false, - "position": 20 + "position": 10 }, { "type": "label", "name": "iconClass", "value": "bx bxl-tux", "isInheritable": false, - "position": 30 + "position": 20 } ], "format": "markdown", @@ -674,32 +674,32 @@ "mime": "text/html", "attributes": [ { - "type": "label", - "name": "iconClass", - "value": "bx bx-lock-alt", + "type": "relation", + "name": "internalLink", + "value": "wX4HbRucYSDD", "isInheritable": false, "position": 10 }, { "type": "relation", "name": "internalLink", - "value": "7DAiwaf8Z7Rz", + "value": "YKWqdJhzi2VY", "isInheritable": false, "position": 20 }, { "type": "relation", "name": "internalLink", - "value": "wX4HbRucYSDD", + "value": "7DAiwaf8Z7Rz", "isInheritable": false, "position": 30 }, { - "type": "relation", - "name": "internalLink", - "value": "YKWqdJhzi2VY", + "type": "label", + "name": "iconClass", + "value": "bx bx-lock-alt", "isInheritable": false, - "position": 40 + "position": 10 } ], "format": "markdown", @@ -736,19 +736,12 @@ "isInheritable": false, "position": 10 }, - { - "type": "label", - "name": "shareHiddenFromTree", - "value": "", - "isInheritable": false, - "position": 20 - }, { "type": "label", "name": "iconClass", "value": "bx bx-stopwatch", "isInheritable": false, - "position": 30 + "position": 20 } ], "format": "markdown", @@ -5016,6 +5009,27 @@ "value": "", "isInheritable": false, "position": 40 + }, + { + "type": "relation", + "name": "internalLink", + "value": "gLt3vA97tMcp", + "isInheritable": false, + "position": 190 + }, + { + "type": "relation", + "name": "internalLink", + "value": "ZlN4nump6EbW", + "isInheritable": false, + "position": 200 + }, + { + "type": "relation", + "name": "internalLink", + "value": "KC1HB96bqqHX", + "isInheritable": false, + "position": 210 } ], "format": "markdown", @@ -6699,6 +6713,233 @@ } ] }, + { + "isClone": false, + "noteId": "gLt3vA97tMcp", + "notePath": [ + "pOsGYCXsbNQG", + "KSZ04uQ2D1St", + "iPIMuisry3hd", + "gLt3vA97tMcp" + ], + "title": "Premium features", + "notePosition": 190, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "iPIMuisry3hd", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "wy8So3yZZlH9", + "isInheritable": false, + "position": 10 + }, + { + "type": "label", + "name": "iconClass", + "value": "bx bx-star", + "isInheritable": false, + "position": 10 + } + ], + "format": "markdown", + "dataFileName": "Premium features.md", + "attachments": [], + "dirFileName": "Premium features", + "children": [ + { + "isClone": false, + "noteId": "ZlN4nump6EbW", + "notePath": [ + "pOsGYCXsbNQG", + "KSZ04uQ2D1St", + "iPIMuisry3hd", + "gLt3vA97tMcp", + "ZlN4nump6EbW" + ], + "title": "Slash Commands", + "notePosition": 10, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "gLt3vA97tMcp", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "iPIMuisry3hd", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "A9Oc6YKKc65v", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "NwBbFdNZ9h7O", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "pwc194wlRzcH", + "isInheritable": false, + "position": 20 + }, + { + "type": "label", + "name": "iconClass", + "value": "bx bx-menu", + "isInheritable": false, + "position": 10 + } + ], + "format": "markdown", + "dataFileName": "Slash Commands.md", + "attachments": [ + { + "attachmentId": "WUCwfWz4wTwf", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "Slash Commands_image.png" + } + ] + }, + { + "isClone": false, + "noteId": "pwc194wlRzcH", + "notePath": [ + "pOsGYCXsbNQG", + "KSZ04uQ2D1St", + "iPIMuisry3hd", + "gLt3vA97tMcp", + "pwc194wlRzcH" + ], + "title": "Text Snippets", + "notePosition": 20, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "gLt3vA97tMcp", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "KC1HB96bqqHX", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "oPVyFC7WL2Lp", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "OFXdgB2nNk1F", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "nRhnJkTT8cPs", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "ZlN4nump6EbW", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "s8alTXmpFR61", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "wy8So3yZZlH9", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "9sRHySam5fXb", + "isInheritable": false, + "position": 10 + }, + { + "type": "label", + "name": "iconClass", + "value": "bx bx-align-left", + "isInheritable": false, + "position": 10 + } + ], + "format": "markdown", + "dataFileName": "Text Snippets.md", + "attachments": [ + { + "attachmentId": "1hG8Yw0DTTxr", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "Text Snippets_image.png" + }, + { + "attachmentId": "DlisV0iJLVec", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "1_Text Snippets_image.png" + } + ] + } + ] + }, { "isClone": false, "noteId": "BFvAtE74rbP6", @@ -6709,7 +6950,7 @@ "BFvAtE74rbP6" ], "title": "Table of contents", - "notePosition": 190, + "notePosition": 200, "prefix": null, "isExpanded": false, "type": "text", @@ -6767,7 +7008,7 @@ "NdowYOC1GFKS" ], "title": "Tables", - "notePosition": 200, + "notePosition": 210, "prefix": null, "isExpanded": false, "type": "text", @@ -9152,38 +9393,122 @@ { "type": "relation", "name": "internalLink", - "value": "WOcw2SLH6tbX", + "value": "iPIMuisry3hd", "isInheritable": false, "position": 10 }, { "type": "relation", "name": "internalLink", - "value": "bwZpz2ajCEwO", + "value": "6f9hih2hXXZk", "isInheritable": false, "position": 20 }, { "type": "relation", "name": "internalLink", - "value": "6f9hih2hXXZk", + "value": "m523cpzocqaD", "isInheritable": false, "position": 30 }, { "type": "relation", "name": "internalLink", - "value": "Wy267RK4M69c", + "value": "iRwzGnHPzonm", "isInheritable": false, "position": 40 }, { "type": "relation", "name": "internalLink", - "value": "Qjt68inQ2bRj", + "value": "bdUJEHsAPYQR", "isInheritable": false, "position": 50 }, + { + "type": "relation", + "name": "internalLink", + "value": "HcABDtFCkbFN", + "isInheritable": false, + "position": 60 + }, + { + "type": "relation", + "name": "internalLink", + "value": "GTwFsgaA0lCt", + "isInheritable": false, + "position": 70 + }, + { + "type": "relation", + "name": "internalLink", + "value": "s1aBHPd79XYj", + "isInheritable": false, + "position": 80 + }, + { + "type": "relation", + "name": "internalLink", + "value": "grjYqerjn243", + "isInheritable": false, + "position": 90 + }, + { + "type": "relation", + "name": "internalLink", + "value": "1vHRoWCEjj0L", + "isInheritable": false, + "position": 100 + }, + { + "type": "relation", + "name": "internalLink", + "value": "gBbsAeiuUxI5", + "isInheritable": false, + "position": 110 + }, + { + "type": "relation", + "name": "internalLink", + "value": "81SGnPGMk7Xc", + "isInheritable": false, + "position": 120 + }, + { + "type": "relation", + "name": "internalLink", + "value": "W8vYD3Q1zjCR", + "isInheritable": false, + "position": 130 + }, + { + "type": "relation", + "name": "internalLink", + "value": "WOcw2SLH6tbX", + "isInheritable": false, + "position": 140 + }, + { + "type": "relation", + "name": "internalLink", + "value": "bwZpz2ajCEwO", + "isInheritable": false, + "position": 150 + }, + { + "type": "relation", + "name": "internalLink", + "value": "Wy267RK4M69c", + "isInheritable": false, + "position": 160 + }, + { + "type": "relation", + "name": "internalLink", + "value": "Qjt68inQ2bRj", + "isInheritable": false, + "position": 170 + }, { "type": "label", "name": "shareAlias", @@ -9211,20 +9536,12 @@ "dataFileName": "Sharing_shared-list.png" }, { - "attachmentId": "DFUCyGDOpqOt", - "title": "share-multiple-notes-web.png", + "attachmentId": "ibqWQUOCMhIE", + "title": "image.png", "role": "image", "mime": "image/png", "position": 10, - "dataFileName": "Sharing_share-multiple-not.png" - }, - { - "attachmentId": "Il8udowRLald", - "title": "share-single-note-web.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "Sharing_share-single-note-.png" + "dataFileName": "Sharing_image.png" }, { "attachmentId": "ShhsPSZVMQKx", @@ -9265,10 +9582,10 @@ "dataFileName": "Serving directly the conte.png" }, { - "attachmentId": "xicVjsf2Kmaz", + "attachmentId": "ixkXFTSSkdpL", "title": "image.png", "role": "image", - "mime": "image/jpg", + "mime": "image/png", "position": 10, "dataFileName": "1_Serving directly the conte.png" } diff --git a/docs/User Guide/User Guide/Advanced Usage/Sharing.md b/docs/User Guide/User Guide/Advanced Usage/Sharing.md index 9be69d58a..9e03163f4 100644 --- a/docs/User Guide/User Guide/Advanced Usage/Sharing.md +++ b/docs/User Guide/User Guide/Advanced Usage/Sharing.md @@ -1,6 +1,32 @@ # Sharing Trilium allows you to share selected notes as **publicly accessible** read-only documents. This feature is particularly useful for publishing content directly from your Trilium notes, making it accessible to others online. +
+ +## Features, interaction and limitations + +* Searching by note title. +* Automatic dark/light mode based on the user's browser settings. +* Mobile-friendly layout, with sidebar. +* Collapsible tree with the same note icons as the application. +* Customizable logo. +* Toggle button for dark/light mode, which also stores the user preferences. +* Quick navigation buttons (previous and next note). +* Displaying the date of the last update of the note. + +### By note type + +
 Supported featuresLimitations
Text
  • Table of contents.
  • Syntax highlight of code blocks, provided a language is selected (does not work if “Auto-detected” is enabled).
  • Rendering for math equations.
  • Including notes is not supported.
  • Inline Mermaid diagrams are not rendered.
Code
  • Basic support (displaying the contents of the note in a monospace font).
  • No syntax highlight.
Saved SearchNot supported.
Relation MapNot supported.
Note MapNot supported.
Render NoteNot supported.
Book
  • The child notes are displayed in a fixed format. 
  • More advanced view types such as the calendar view are not supported.
Mermaid Diagrams
  • The diagram is displayed as a vector image.
  • No further interaction supported.
Canvas
  • The diagram is displayed as a vector image.
  • No further interaction supported.
Web ViewNot supported.
Mind MapThe diagram is displayed as a vector image.
  • No further interaction supported.
Geo MapNot supported.
FileBasic interaction (downloading the file).
  • No further interaction supported.
+ +While the sharing feature is powerful, it has some limitations: + +* **Code Notes**: No syntax highlighting. +* **Static Note Tree** +* **Protected Notes**: Cannot be shared. +* **Include Notes**: Not supported. + +Some of these limitations may be addressed in future updates. + ## Prerequisites To use the sharing feature, you must have a Server Installation of Trilium. This is necessary because the notes will be hosted from the server. @@ -11,15 +37,11 @@ To use the sharing feature, you must have a Code note to the shared page by adding a `~shareCss` relation to the note. If you want this style to apply to the entire subtree, make the label inheritable. You can hide the CSS code note from the tree navigation by adding the `#shareHiddenFromTree` label. * **Omitting Default CSS**: For extensive styling changes, use the `#shareOmitDefaultCss` label to avoid conflicts with Trilium's [default stylesheet](../Basic%20Concepts%20and%20Features/Themes.md). @@ -79,19 +101,10 @@ To customize the favicon for your shared pages, create a relation `~shareFavicon You can designate a specific note or folder as the root of your shared content by adding the `#shareRoot` label. This note will be linked when visiting `[http://domain.tld/share](http://domain/share)`, making it easier to use Trilium as a fully-fledged website. Consider combining this with the `#shareIndex` label, which will display a list of all shared notes. -## Limitations - -While the sharing feature is powerful, it has some limitations: - -* **No Relation Map Support** -* **Book Notes**: Only show a list of child notes. -* **Code Notes**: No syntax highlighting. -* **Static Note Tree** -* **Protected Notes**: Cannot be shared. -* **Include Notes**: Not supported. - -Some of these limitations may be addressed in future updates. - ## Attribute reference -
AttributeDescription
shareHiddenFromTreethis note is hidden from left navigation tree, but still accessible with its URL
shareExternalLinknote will act as a link to an external website in the share tree
shareAliasdefine an alias using which the note will be available under https://your_trilium_host/share/[your_alias]
shareOmitDefaultCssdefault share page CSS will be omitted. Use when you make extensive styling changes.
shareRootmarks note which is served on /share root.
shareDescriptiondefine text to be added to the HTML meta tag for description
shareRawNote will be served in its raw format, without HTML wrapper. See also Serving directly the content of a note for an alternative method without setting an attribute.
shareDisallowRobotIndexing

Indicates to web crawlers that the page should not be indexed of this note by:

  • Setting the X-Robots-Tag: noindex HTTP header.
  • Setting the noindex, follow meta tag.
shareCredentialsrequire credentials to access this shared note. Value is expected to be in format username:password. Don't forget to make this inheritable to apply to child-notes/images.
shareIndexNote with this label will list all roots of shared notes.
\ No newline at end of file +
AttributeDescription
shareHiddenFromTreethis note is hidden from left navigation tree, but still accessible with its URL
shareExternalLinknote will act as a link to an external website in the share tree
shareAliasdefine an alias using which the note will be available under https://your_trilium_host/share/[your_alias]
shareOmitDefaultCssdefault share page CSS will be omitted. Use when you make extensive styling changes.
shareRootmarks note which is served on /share root.
shareDescriptiondefine text to be added to the HTML meta tag for description
shareRawNote will be served in its raw format, without HTML wrapper. See also Serving directly the content of a note for an alternative method without setting an attribute.
shareDisallowRobotIndexing

Indicates to web crawlers that the page should not be indexed of this note by:

  • Setting the X-Robots-Tag: noindex HTTP header.
  • Setting the noindex, follow meta tag.
shareCredentialsrequire credentials to access this shared note. Value is expected to be in format username:password. Don't forget to make this inheritable to apply to child-notes/images.
shareIndexNote with this label will list all roots of shared notes.
+ +## Credits + +Since v0.95.0, a new theme was introduced (and enabled by default) which greatly improves the visual aspect of the Share feature, as well as its functionality (such as mobile support, dark/light mode, collapsible tree, etc.). This theme is an adaptation of the [Trilium Rocks!](https://github.com/zerebos/trilium.rocks) by [zerebos](https://github.com/zerebos). \ No newline at end of file diff --git a/docs/User Guide/User Guide/Advanced Usage/Sharing/1_Serving directly the conte.png b/docs/User Guide/User Guide/Advanced Usage/Sharing/1_Serving directly the conte.png index 981a43146..23592294b 100644 Binary files a/docs/User Guide/User Guide/Advanced Usage/Sharing/1_Serving directly the conte.png and b/docs/User Guide/User Guide/Advanced Usage/Sharing/1_Serving directly the conte.png differ diff --git a/docs/User Guide/User Guide/Advanced Usage/Sharing/Serving directly the content o.md b/docs/User Guide/User Guide/Advanced Usage/Sharing/Serving directly the content o.md index 72a495a47..54531bf31 100644 --- a/docs/User Guide/User Guide/Advanced Usage/Sharing/Serving directly the content o.md +++ b/docs/User Guide/User Guide/Advanced Usage/Sharing/Serving directly the content o.md @@ -1,9 +1,7 @@ # Serving directly the content of a note When accessing a shared note, Trilium will render it as a web page. Sometimes it's desirable to serve the content directly so that it can be used in a script or downloaded by the user. -| A note displayed as a web page (HTML) | A note displayed as a raw format | -| --- | --- | -| ![](1_Serving%20directly%20the%20conte.png) | ![](Serving%20directly%20the%20conte.png) | +
A note displayed as a web page (HTML)A note displayed as a raw format
## By adding an attribute to the note diff --git a/docs/User Guide/User Guide/Advanced Usage/Sharing_image.png b/docs/User Guide/User Guide/Advanced Usage/Sharing_image.png new file mode 100644 index 000000000..4c92b90c5 Binary files /dev/null and b/docs/User Guide/User Guide/Advanced Usage/Sharing_image.png differ diff --git a/docs/User Guide/User Guide/Advanced Usage/Sharing_share-multiple-not.png b/docs/User Guide/User Guide/Advanced Usage/Sharing_share-multiple-not.png deleted file mode 100644 index 6b88c8b6e..000000000 Binary files a/docs/User Guide/User Guide/Advanced Usage/Sharing_share-multiple-not.png and /dev/null differ diff --git a/docs/User Guide/User Guide/Advanced Usage/Sharing_share-single-note-.png b/docs/User Guide/User Guide/Advanced Usage/Sharing_share-single-note-.png deleted file mode 100644 index 744fd4cda..000000000 Binary files a/docs/User Guide/User Guide/Advanced Usage/Sharing_share-single-note-.png and /dev/null differ diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Search.md b/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Search.md index c4a1e3023..d8dae25c5 100644 --- a/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Search.md +++ b/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Search.md @@ -69,6 +69,7 @@ The options available are: * `#dateNote >= TODAY-30`: A "smart search" to find notes with the "dateNote" label within the last 30 days. Supported smart values include NOW +- seconds, TODAY +- days, MONTH +- months, YEAR +- years. * `~author.title *=* Tolkien`: Find notes related to an author whose title contains "Tolkien". * `#publicationYear %= '19[0-9]{2}'`: Use the '%=' operator to match a regular expression (regex). This feature has been available since Trilium 0.52. +* `note.content %= '\\d{2}:\\d{2} (PM|AM)'`: Find notes that mention a time. Backslashes in a regex must be escaped. ### Advanced Use Cases diff --git a/docs/User Guide/User Guide/Installation & Setup/Server Installation/2. Reverse proxy/Nginx.md b/docs/User Guide/User Guide/Installation & Setup/Server Installation/2. Reverse proxy/Nginx.md index 24b57c4ea..57f51b4e6 100644 --- a/docs/User Guide/User Guide/Installation & Setup/Server Installation/2. Reverse proxy/Nginx.md +++ b/docs/User Guide/User Guide/Installation & Setup/Server Installation/2. Reverse proxy/Nginx.md @@ -73,4 +73,4 @@ Configure Nginx proxy and HTTPS. The operating system here is Ubuntu 18.04. proxy_read_timeout 90; } - ``` + ``` \ No newline at end of file diff --git a/docs/User Guide/User Guide/Installation & Setup/Server Installation/Authentication.md b/docs/User Guide/User Guide/Installation & Setup/Server Installation/Authentication.md index 901127eb7..cebac2f48 100644 --- a/docs/User Guide/User Guide/Installation & Setup/Server Installation/Authentication.md +++ b/docs/User Guide/User Guide/Installation & Setup/Server Installation/Authentication.md @@ -27,7 +27,7 @@ When “Remember me” is unchecked, the behavior is different. At client/browse The login sessions are now stored in the same Database as the user data. In order to view which sessions are active, open the SQL Console and run the following query: -```trilium +``` SELECT * FROM sessions ``` diff --git a/docs/User Guide/User Guide/Installation & Setup/Server Installation/Multi-Factor Authentication.md b/docs/User Guide/User Guide/Installation & Setup/Server Installation/Multi-Factor Authentication.md index a2bf3f7e4..e76e1e2c2 100644 --- a/docs/User Guide/User Guide/Installation & Setup/Server Installation/Multi-Factor Authentication.md +++ b/docs/User Guide/User Guide/Installation & Setup/Server Installation/Multi-Factor Authentication.md @@ -34,9 +34,6 @@ MFA can only be set up on a server instance. ### OpenID -> [!NOTE] -> Currently only compatible with Google. Other services like Authentik and Auth0 are planned on being added. - In order to setup OpenID, you will need to setup a authentication provider. This requires a bit of extra setup. Follow [these instructions](https://developers.google.com/identity/openid-connect/openid-connect) to setup an OpenID service through google. 1. Set the `oauthBaseUrl`, `oauthClientId` and `oauthClientSecret` in the `config.ini` file (check Configuration (config.ini or environment variables) for more information). @@ -45,4 +42,7 @@ In order to setup OpenID, you will need to setup a authentication provider. This 3. Go to "Menu" -> "Options" -> "MFA" 4. Click the “Enable Multi-Factor Authentication” checkbox if not checked 5. Choose “OAuth/OpenID” under MFA Method -6. Refresh the page and login through OpenID provider \ No newline at end of file +6. Refresh the page and login through OpenID provider + +> [!NOTE] +> The default OAuth issuer is Google. To use other services such as Authentik or Auth0, you can configure the settings via `oauthIssuerBaseUrl`, `oauthIssuerName`, and `oauthIssuerIcon` in the `config.ini` file. Alternatively, these values can be set using environment variables: `TRILIUM_OAUTH_ISSUER_BASE_URL`, `TRILIUM_OAUTH_ISSUER_NAME`, and `TRILIUM_OAUTH_ISSUER_ICON`. `oauthIssuerName` and `oauthIssuerIcon` are required for displaying correct issuer information at the Login page. \ No newline at end of file diff --git a/docs/User Guide/User Guide/Note Types/Text.md b/docs/User Guide/User Guide/Note Types/Text.md index 5d29939c4..1b6486efb 100644 --- a/docs/User Guide/User Guide/Note Types/Text.md +++ b/docs/User Guide/User Guide/Note Types/Text.md @@ -16,7 +16,7 @@ Fore more information see 
Dedicated articleFeature
General formatting
  • Headings (section titles, paragraph)
  • Font size
  • Bold, italic, underline, strike-through
  • Superscript, subscript
  • Font color & background color
  • Remove formatting
Lists
  • Bulleted lists
  • Numbered lists
  • To-do lists
Block quotes & admonitions
  • Block quotes
  • Admonitions
Tables
  • Basic tables
  • Merging cells
  • Styling tables and cells.
  • Table captions
Developer-specific formatting
  • Inline code
  • Code blocks
  • Keyboard shortcuts
Footnotes
  • Footnotes
Images
  • Images
Links
  • External links
  • Internal Trilium links
Include Note
  • Include note
Insert buttons
Other features
+
Dedicated articleFeature
General formatting
  • Headings (section titles, paragraph)
  • Font size
  • Bold, italic, underline, strike-through
  • Superscript, subscript
  • Font color & background color
  • Remove formatting
Lists
  • Bulleted lists
  • Numbered lists
  • To-do lists
Block quotes & admonitions
  • Block quotes
  • Admonitions
Tables
  • Basic tables
  • Merging cells
  • Styling tables and cells.
  • Table captions
Developer-specific formatting
  • Inline code
  • Code blocks
  • Keyboard shortcuts
Footnotes
  • Footnotes
Images
  • Images
Links
  • External links
  • Internal Trilium links
Include Note
  • Include note
Insert buttons
Other features
Premium features
## Read-Only vs. Editing Mode diff --git a/docs/User Guide/User Guide/Note Types/Text/Premium features.md b/docs/User Guide/User Guide/Note Types/Text/Premium features.md new file mode 100644 index 000000000..1e2dd43e2 --- /dev/null +++ b/docs/User Guide/User Guide/Note Types/Text/Premium features.md @@ -0,0 +1,12 @@ +# Premium features +The text editor we are using for 
Text notes is called CKEditor and it's a commercial product. The core components are open-source, however they [offer quite a few features](https://ckeditor.com/docs/trial/latest/index.html) that require a commercial license in order to be used. + +We have reached out to the CKEditor team in order to obtain a license in order to have some of these extra features and they have agreed, based on a signed agreement. + +## How the license works + +The license key is stored in the application and it enables the use of the previously described premium features. The license key has an expiration date which means that the features can become disabled if using an older version of the application for extended periods of time. + +## Can I opt out of these features? + +At this moment there is no way to disable this features, apart from manually modifying the source code. If this is a problem, [let us know](../../Troubleshooting/Reporting%20issues.md). \ No newline at end of file diff --git a/docs/User Guide/User Guide/Note Types/Text/Premium features/1_Text Snippets_image.png b/docs/User Guide/User Guide/Note Types/Text/Premium features/1_Text Snippets_image.png new file mode 100644 index 000000000..b2dd17dfa Binary files /dev/null and b/docs/User Guide/User Guide/Note Types/Text/Premium features/1_Text Snippets_image.png differ diff --git a/docs/User Guide/User Guide/Note Types/Text/Premium features/Slash Commands.md b/docs/User Guide/User Guide/Note Types/Text/Premium features/Slash Commands.md new file mode 100644 index 000000000..2eb72ef5e --- /dev/null +++ b/docs/User Guide/User Guide/Note Types/Text/Premium features/Slash Commands.md @@ -0,0 +1,22 @@ +# Slash Commands +
+ +> [!NOTE] +> This is a premium feature of the editor we are using (CKEditor) and we benefit from it thanks to an written agreement with the team. See  Premium features for more information. + +Slash commands is a feature of Text notes which allows easily accessing commonly used commands simply by using the keyboard, without having to remember dedicated Keyboard Shortcuts. + +## Interaction + +* As the name suggests, to trigger the slash commands simply press the / key to trigger it. Note that this can be anywhere in a paragraph as long as it's not part of the word, if it doesn't show up simply press a space and press the / key again. +* Use and keys to navigate between options. +* By default, the full list of commands is displayed. +* To search by title or description, simply start typing for an action. +* To trigger an action, press the Enter key. + +## Integration with other features + +Apart from the common set of commands, some features are specially integrated with the slash commands: + +* For [admonitions](../Block%20quotes%20%26%20admonitions.md), each admonition type (e.g. note, tip) will be individually displayed. +* Every Text Snippets will also appear individually, making it easy to insert them. \ No newline at end of file diff --git a/docs/User Guide/User Guide/Note Types/Text/Premium features/Slash Commands_image.png b/docs/User Guide/User Guide/Note Types/Text/Premium features/Slash Commands_image.png new file mode 100644 index 000000000..b46c1a4c6 Binary files /dev/null and b/docs/User Guide/User Guide/Note Types/Text/Premium features/Slash Commands_image.png differ diff --git a/docs/User Guide/User Guide/Note Types/Text/Premium features/Text Snippets.md b/docs/User Guide/User Guide/Note Types/Text/Premium features/Text Snippets.md new file mode 100644 index 000000000..a8be60e12 --- /dev/null +++ b/docs/User Guide/User Guide/Note Types/Text/Premium features/Text Snippets.md @@ -0,0 +1,38 @@ +# Text Snippets +
+ +> [!NOTE] +> This is a premium feature of the editor we are using (CKEditor) and we benefit from it thanks to an written agreement with the team. See  Premium features for more information. + +Text Snippets are closely related to Templates, but instead of defining the content of an entire note, text snippets are pieces of formatted text that can easily be inserted in a text note. + +## Creating a text snippet + +In the Note Tree:  + +1. Right click a note where to place the text snippet. +2. Select _Insert child note_. +3. Select _Text snippet_. + +Afterwards, simply type in the content of the note the desired text. The text can be formatted in the same manner as a normal text note. + +The title of the note will become the title of the template. Optionally, a description can be added in the Promoted Attributes section. + +## Inserting a snippet + +Once a snippet is created, there are two options to insert it: + +1. From the Formatting toolbar, by looking for the button. +2. Using Slash Commands:  + 1. To look for a specific template, start typing the name of the template (its title). + 2. To look for all the templates, type `template`. + +> [!TIP] +> A newly created snippet doesn't appear? Generally it takes up to a few seconds to refresh the list of templates once you make a change. +> +> If this doesn't happen, [reload the application](../../../Troubleshooting/Refreshing%20the%20application.md) and [report the issue](../../../Troubleshooting/Reporting%20issues.md)to us.  + +## Limitations + +* Whenever a snippet is created, deleted or its title/description are modified, all the open text notes will need to be refreshed. This causes a slight flash for usually under a second, but it can cause some discomfort. +* Unlike Templates, the snippets cannot be limited to a particular [workspace](../../../Basic%20Concepts%20and%20Features/Navigation/Workspaces.md). \ No newline at end of file diff --git a/docs/User Guide/User Guide/Note Types/Text/Premium features/Text Snippets_image.png b/docs/User Guide/User Guide/Note Types/Text/Premium features/Text Snippets_image.png new file mode 100644 index 000000000..90b8fbe95 Binary files /dev/null and b/docs/User Guide/User Guide/Note Types/Text/Premium features/Text Snippets_image.png differ diff --git a/docs/User Guide/User Guide/Theme development/Reference.md b/docs/User Guide/User Guide/Theme development/Reference.md index 5e1036ae1..9f1be7b9c 100644 --- a/docs/User Guide/User Guide/Theme development/Reference.md +++ b/docs/User Guide/User Guide/Theme development/Reference.md @@ -195,4 +195,4 @@ If the theme is auto (e.g. supports both light or dark based on `prefers-color-s } ``` -This will affect the behavior of the Electron application by informing the operating system of the color preference (e.g. background effects will appear correct on Windows). +This will affect the behavior of the Electron application by informing the operating system of the color preference (e.g. background effects will appear correct on Windows). \ No newline at end of file diff --git a/flake.nix b/flake.nix index 3b3736081..11b3d296a 100644 --- a/flake.nix +++ b/flake.nix @@ -21,7 +21,7 @@ system: let pkgs = import nixpkgs { inherit system; }; - electron = pkgs.electron_35; + electron = pkgs."electron_${lib.versions.major packageJsonDesktop.devDependencies.electron}"; nodejs = pkgs.nodejs_22; pnpm = pkgs.pnpm_10; inherit (pkgs) @@ -30,6 +30,7 @@ lib makeBinaryWrapper makeDesktopItem + makeShellWrapper moreutils removeReferencesTo stdenv @@ -40,13 +41,13 @@ fullCleanSourceFilter = name: type: (lib.cleanSourceFilter name type) - || ( + && ( let baseName = baseNameOf (toString name); in # No need to copy the flake. # Don't copy local development instance of NX cache. - baseName == "flake.nix" || baseName == "flake.lock" || baseName == ".nx" + baseName != "flake.nix" && baseName != "flake.lock" && baseName != ".nx" ); fullCleanSource = src: @@ -55,6 +56,7 @@ src = src; }; packageJson = builtins.fromJSON (builtins.readFile ./package.json); + packageJsonDesktop = builtins.fromJSON (builtins.readFile ./apps/desktop/package.json); makeApp = { @@ -101,15 +103,20 @@ extraNativeBuildInputs = [ - makeBinaryWrapper moreutils # sponge nodejs.python removeReferencesTo ] ++ lib.optionals (app == "desktop") [ copyDesktopItems + # required for NIXOS_OZONE_WL expansion + # https://github.com/NixOS/nixpkgs/issues/172583 + makeShellWrapper wrapGAppsHook3 ] + ++ lib.optionals (app == "server") [ + makeBinaryWrapper + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcodebuild darwin.cctools @@ -162,7 +169,7 @@ comment = meta.description; desktopName = "TriliumNext Notes"; categories = [ "Office" ]; - startupWMClass = "Trilium Notes Next"; + startupWMClass = "TriliumNext Notes"; }) ]; @@ -184,9 +191,11 @@ mkdir -p $out/{bin,share/icons/hicolor/512x512/apps,opt/trilium} cp --archive apps/desktop/dist/* $out/opt/trilium cp apps/client/src/assets/icon.png $out/share/icons/hicolor/512x512/apps/trilium.png - makeWrapper ${lib.getExe electron} $out/bin/trilium \ + makeShellWrapper ${lib.getExe electron} $out/bin/trilium \ "''${gappsWrapperArgs[@]}" \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ --set-default ELECTRON_IS_DEV 0 \ + --set TRILIUM_RESOURCE_DIR $out/opt/trilium \ --add-flags $out/opt/trilium/main.cjs ''; }; diff --git a/package.json b/package.json index d154dfd0a..0b0263d70 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@triliumnext/source", - "version": "0.94.1", + "version": "0.95.0", "description": "Build your personal knowledge base with TriliumNext Notes", "directories": { "doc": "docs" @@ -20,27 +20,27 @@ "chore:update-build-info": "tsx ./scripts/update-build-info.ts", "chore:update-version": "tsx ./scripts/update-version.ts", "test:all": "pnpm test:parallel && pnpm test:sequential", - "test:parallel": "pnpm nx run-many -t test --all --exclude=ckeditor5-mermaid,ckeditor5-math --parallel", - "test:sequential": "pnpm nx run-many -t test --projects=ckeditor5-mermaid,ckeditor5-math --parallel=1", + "test:parallel": "pnpm nx run-many -t test --all --exclude=server,ckeditor5-mermaid,ckeditor5-math --parallel", + "test:sequential": "pnpm nx run-many -t test --projects=server,ckeditor5-mermaid,ckeditor5-math --parallel=1", "coverage": "pnpm nx run-many -t coverage" }, "private": true, "devDependencies": { "@electron/rebuild": "4.0.1", - "@nx/devkit": "21.1.3", - "@nx/esbuild": "21.1.3", - "@nx/eslint": "21.1.3", - "@nx/eslint-plugin": "21.1.3", - "@nx/express": "21.1.3", - "@nx/js": "21.1.3", - "@nx/node": "21.1.3", - "@nx/playwright": "21.1.3", - "@nx/vite": "21.1.3", - "@nx/web": "21.1.3", + "@nx/devkit": "21.2.0", + "@nx/esbuild": "21.2.0", + "@nx/eslint": "21.2.0", + "@nx/eslint-plugin": "21.2.0", + "@nx/express": "21.2.0", + "@nx/js": "21.2.0", + "@nx/node": "21.2.0", + "@nx/playwright": "21.2.0", + "@nx/vite": "21.2.0", + "@nx/web": "21.2.0", "@playwright/test": "^1.36.0", "@triliumnext/server": "workspace:*", "@types/express": "^5.0.0", - "@types/node": "22.15.31", + "@types/node": "22.15.32", "@vitest/coverage-v8": "^3.0.5", "@vitest/ui": "^3.0.0", "chalk": "5.4.1", @@ -53,11 +53,11 @@ "jiti": "2.4.2", "jsdom": "~26.1.0", "jsonc-eslint-parser": "^2.1.0", - "nx": "21.1.3", + "nx": "21.2.0", "react-refresh": "^0.17.0", "rollup-plugin-webpack-stats": "2.0.7", "tslib": "^2.3.0", - "tsx": "4.19.4", + "tsx": "4.20.3", "typescript": "~5.8.0", "typescript-eslint": "^8.19.0", "upath": "2.0.1", @@ -79,19 +79,19 @@ "url": "https://github.com/TriliumNext/Notes/issues" }, "homepage": "https://github.com/TriliumNext/Notes#readme", - "dependencies": { - "axios": "^1.6.0", - "express": "^5.0.0" - }, "packageManager": "pnpm@10.12.1+sha512.f0dda8580f0ee9481c5c79a1d927b9164f2c478e90992ad268bbb2465a736984391d6333d2c327913578b2804af33474ca554ba29c04a8b13060a717675ae3ac", "pnpm": { "patchedDependencies": { "@ckeditor/ckeditor5-mention": "patches/@ckeditor__ckeditor5-mention.patch", "@ckeditor/ckeditor5-code-block": "patches/@ckeditor__ckeditor5-code-block.patch", - "ckeditor5": "patches/ckeditor5.patch" + "ckeditor5": "patches/ckeditor5.patch", + "@nx/js": "patches/@nx__js.patch" }, "overrides": { "node-abi": "4.9.0", + "mermaid": "11.6.0", + "preact": "10.26.9", + "roughjs": "4.6.6", "@types/express-serve-static-core": "5.0.6", "flat@<5.0.1": ">=5.0.1", "debug@>=3.2.0 <3.2.7": ">=3.2.7", @@ -99,7 +99,24 @@ "nanoid@>=4.0.0 <5.0.9": ">=5.0.9", "dompurify@<3.2.4": ">=3.2.4", "esbuild@<=0.24.2": ">=0.25.0" - } + }, + "ignoredBuiltDependencies": [ + "sqlite3" + ], + "onlyBuiltDependencies": [ + "@parcel/watcher", + "@scarf/scarf", + "better-sqlite3", + "bufferutil", + "core-js-pure", + "electron", + "electron-winstaller", + "esbuild", + "fs-xattr", + "macos-alias", + "nx", + "utf-8-validate" + ] }, "nx": { "name": "triliumnext" diff --git a/packages/ckeditor5-admonition/src/index.ts b/packages/ckeditor5-admonition/src/index.ts index c6db132c2..99edeece8 100644 --- a/packages/ckeditor5-admonition/src/index.ts +++ b/packages/ckeditor5-admonition/src/index.ts @@ -4,9 +4,9 @@ import "../theme/blockquote.css"; export { default as Admonition } from './admonition.js'; export { default as AdmonitionEditing } from './admonitionediting.js'; -export { default as AdmonitionUI } from './admonitionui.js'; +export { default as AdmonitionUI, ADMONITION_TYPES } from './admonitionui.js'; export { default as AdmonitionAutoformat } from './admonitionautoformat.js'; -export type { default as AdmonitionCommand } from './admonitioncommand.js'; +export type { default as AdmonitionCommand, AdmonitionType } from './admonitioncommand.js'; export const icons = { admonitionIcon diff --git a/packages/ckeditor5-admonition/vitest.config.ts b/packages/ckeditor5-admonition/vitest.config.ts index 636654886..22699a78f 100644 --- a/packages/ckeditor5-admonition/vitest.config.ts +++ b/packages/ckeditor5-admonition/vitest.config.ts @@ -11,31 +11,12 @@ export default defineConfig( { svg() ], test: { - browser: { - enabled: true, - name: 'chrome', - provider: 'webdriverio', - providerOptions: {}, - headless: true, - ui: false - }, + environment: "happy-dom", include: [ 'tests/**/*.[jt]s' ], globals: true, watch: false, - passWithNoTests: true, - coverage: { - thresholds: { - lines: 100, - functions: 100, - branches: 100, - statements: 100 - }, - provider: 'istanbul', - include: [ - 'src' - ] - } + passWithNoTests: true } } ); diff --git a/packages/ckeditor5-math/src/index.ts b/packages/ckeditor5-math/src/index.ts index 781f07432..f33a90620 100644 --- a/packages/ckeditor5-math/src/index.ts +++ b/packages/ckeditor5-math/src/index.ts @@ -3,6 +3,7 @@ import './augmentation.js'; import "../theme/mathform.css"; export { default as Math } from './math.js'; +export { default as MathUI } from './mathui.js'; export { default as AutoformatMath } from './autoformatmath.js'; export const icons = { diff --git a/packages/ckeditor5/package.json b/packages/ckeditor5/package.json index 863a3f6e8..79455a19c 100644 --- a/packages/ckeditor5/package.json +++ b/packages/ckeditor5/package.json @@ -23,17 +23,20 @@ "name": "ckeditor5", "targets": { "typecheck": { - "dependsOn": [ "^build" ] + "dependsOn": [ + "^build" + ] } } }, "dependencies": { - "ckeditor5": "45.2.0", - "@triliumnext/ckeditor5-keyboard-marker": "workspace:*", - "@triliumnext/ckeditor5-mermaid": "workspace:*", "@triliumnext/ckeditor5-admonition": "workspace:*", "@triliumnext/ckeditor5-footnotes": "workspace:*", - "@triliumnext/ckeditor5-math": "workspace:*" + "@triliumnext/ckeditor5-keyboard-marker": "workspace:*", + "@triliumnext/ckeditor5-math": "workspace:*", + "@triliumnext/ckeditor5-mermaid": "workspace:*", + "ckeditor5": "45.2.0", + "ckeditor5-premium-features": "45.2.0" }, "devDependencies": { "@types/jquery": "3.5.32" diff --git a/packages/ckeditor5/src/extra_slash_commands.ts b/packages/ckeditor5/src/extra_slash_commands.ts new file mode 100644 index 000000000..ec77b1f94 --- /dev/null +++ b/packages/ckeditor5/src/extra_slash_commands.ts @@ -0,0 +1,139 @@ +import type { Editor } from 'ckeditor5'; +import type { SlashCommandEditorConfig } from 'ckeditor5-premium-features'; +import { icons as footnoteIcons } from '@triliumnext/ckeditor5-footnotes'; +import IconPageBreak from "@ckeditor/ckeditor5-icons/theme/icons/page-break.svg?raw"; +import IconAlignLeft from "@ckeditor/ckeditor5-icons/theme/icons/align-left.svg?raw"; +import IconAlignCenter from "@ckeditor/ckeditor5-icons/theme/icons/align-center.svg?raw"; +import IconAlignRight from "@ckeditor/ckeditor5-icons/theme/icons/align-right.svg?raw"; +import IconAlignJustify from "@ckeditor/ckeditor5-icons/theme/icons/align-justify.svg?raw"; +import bxInfoCircle from "boxicons/svg/regular/bx-info-circle.svg?raw"; +import bxBulb from "boxicons/svg/regular/bx-bulb.svg?raw"; +import bxCommentError from "boxicons/svg/regular/bx-comment-error.svg?raw"; +import bxErrorCircle from "boxicons/svg/regular/bx-error-circle.svg?raw"; +import bxError from "boxicons/svg/regular/bx-error.svg?raw"; +import { COMMAND_NAME as INSERT_DATE_TIME_COMMAND } from './plugins/insert_date_time.js'; +import { COMMAND_NAME as INTERNAL_LINK_COMMAND } from './plugins/internallink.js'; +import { COMMAND_NAME as INCLUDE_NOTE_COMMAND } from './plugins/includenote.js'; +import { COMMAND_NAME as MARKDOWN_IMPORT_COMMAND } from './plugins/markdownimport.js'; +import { ADMONITION_TYPES, type AdmonitionType } from '@triliumnext/ckeditor5-admonition'; +import dateTimeIcon from './icons/date-time.svg?raw'; +import internalLinkIcon from './icons/trilium.svg?raw'; +import noteIcon from './icons/note.svg?raw'; +import importMarkdownIcon from './icons/markdown-mark.svg?raw'; +import { icons as mathIcons, MathUI } from '@triliumnext/ckeditor5-math'; + +type SlashCommandDefinition = SlashCommandEditorConfig["extraCommands"][number]; + +export default function buildExtraCommands(): SlashCommandDefinition[] { + return [ + ...buildAlignmentExtraCommands(), + ...buildAdmonitionExtraCommands(), + { + id: 'footnote', + title: 'Footnote', + description: 'Create a new footnote and reference it here', + icon: footnoteIcons.insertFootnoteIcon, + commandName: "InsertFootnote" + }, + { + id: "datetime", + title: "Insert Date/Time", + description: "Insert the current date and time", + icon: dateTimeIcon, + commandName: INSERT_DATE_TIME_COMMAND + }, + { + id: "internal-link", + title: "Internal Trilium link", + description: "Insert a link to another Trilium note", + aliases: [ "internal link", "trilium link", "reference link" ], + icon: internalLinkIcon, + commandName: INTERNAL_LINK_COMMAND + }, + { + id: "math", + title: "Math equation", + description: "Insert a math equation", + icon: mathIcons.ckeditor, + execute: (editor: Editor) => editor.plugins.get(MathUI)._showUI() + }, + { + id: "include-note", + title: "Include note", + description: "Display the content of another note in this note", + icon: noteIcon, + commandName: INCLUDE_NOTE_COMMAND + }, + { + id: "page-break", + title: "Page break", + description: "Insert a page break (for printing)", + icon: IconPageBreak, + commandName: "pageBreak" + }, + { + id: "markdown-import", + title: "Markdown import", + description: "Import a markdown file into this note", + icon: importMarkdownIcon, + commandName: MARKDOWN_IMPORT_COMMAND + } + ]; +} + +function buildAlignmentExtraCommands(): SlashCommandDefinition[] { + return [ + { + id: "align-left", + title: "Align Left", + description: "Align text to the left", + icon: IconAlignLeft, + execute: (editor: Editor) => editor.execute("alignment", { value: "left" }), + }, + { + id: "align-center", + title: "Align Center", + description: "Align text to the center", + icon: IconAlignCenter, + execute: (editor: Editor) => editor.execute("alignment", { value: "center" }), + }, + { + id: "align-right", + title: "Align Right", + description: "Align text to the right", + icon: IconAlignRight, + execute: (editor: Editor) => editor.execute("alignment", { value: "right" }), + }, + { + id: "align-justify", + title: "Justify", + description: "Justify text alignment", + icon: IconAlignJustify, + execute: (editor: Editor) => editor.execute("alignment", { value: "justify" }), + } + ]; +} + +function buildAdmonitionExtraCommands(): SlashCommandDefinition[] { + const commands: SlashCommandDefinition[] = []; + const admonitionIcons: Record = { + note: bxInfoCircle, + tip: bxBulb, + important: bxCommentError, + caution: bxErrorCircle, + warning: bxError, + }; + + for (const [ keyword, definition ] of Object.entries(ADMONITION_TYPES)) { + commands.push({ + id: keyword, + title: definition.title, + description: "Inserts a new admonition", + icon: admonitionIcons[keyword as AdmonitionType], + execute: (editor: Editor) => editor.execute("admonition", { forceValue: keyword as AdmonitionType }), + aliases: [ "box" ] + }); + } + return commands; +} + diff --git a/packages/ckeditor5/src/index.ts b/packages/ckeditor5/src/index.ts index 117d14574..932c12d1d 100644 --- a/packages/ckeditor5/src/index.ts +++ b/packages/ckeditor5/src/index.ts @@ -2,8 +2,11 @@ import "ckeditor5/ckeditor5.css"; import "./theme/code_block_toolbar.css"; import { COMMON_PLUGINS, CORE_PLUGINS, POPUP_EDITOR_PLUGINS } from "./plugins"; import { BalloonEditor, DecoupledEditor, FindAndReplaceEditing, FindCommand } from "ckeditor5"; +import "./translation_overrides.js"; export { EditorWatchdog } from "ckeditor5"; export type { EditorConfig, MentionFeed, MentionFeedObjectItem, Node, Position, Element, WatchdogConfig } from "ckeditor5"; +export type { TemplateDefinition } from "ckeditor5-premium-features"; +export { default as buildExtraCommands } from "./extra_slash_commands.js"; // Import with sideffects to ensure that type augmentations are present. import "@triliumnext/ckeditor5-math"; @@ -25,6 +28,7 @@ export type FindCommandResult = ReturnType; * The text editor that can be used for editing attributes and relations. */ export class AttributeEditor extends BalloonEditor { + static override get builtinPlugins() { return CORE_PLUGINS; } diff --git a/packages/ckeditor5/src/plugins.ts b/packages/ckeditor5/src/plugins.ts index ae64b7ea0..1911c9e64 100644 --- a/packages/ckeditor5/src/plugins.ts +++ b/packages/ckeditor5/src/plugins.ts @@ -1,4 +1,5 @@ import { Autoformat, AutoLink, BlockQuote, BlockToolbar, Bold, CKFinderUploadAdapter, Clipboard, Code, CodeBlock, Enter, FindAndReplace, Font, FontBackgroundColor, FontColor, GeneralHtmlSupport, Heading, HeadingButtonsUI, HorizontalLine, Image, ImageCaption, ImageInline, ImageResize, ImageStyle, ImageToolbar, ImageUpload, Alignment, Indent, IndentBlock, Italic, Link, List, ListProperties, Mention, PageBreak, Paragraph, ParagraphButtonUI, PasteFromOffice, PictureEditing, RemoveFormat, SelectAll, ShiftEnter, SpecialCharacters, SpecialCharactersEssentials, Strikethrough, Style, Subscript, Superscript, Table, TableCaption, TableCellProperties, TableColumnResize, TableProperties, TableSelection, TableToolbar, TextPartLanguage, TextTransformation, TodoList, Typing, Underline, Undo, Bookmark, Emoji } from "ckeditor5"; +import { SlashCommand, Template } from "ckeditor5-premium-features"; import type { Plugin } from "ckeditor5"; import CutToNotePlugin from "./plugins/cuttonote.js"; import UploadimagePlugin from "./plugins/uploadimage.js"; @@ -77,6 +78,14 @@ export const CORE_PLUGINS: typeof Plugin[] = [ ReferenceLink ]; +/** + * Plugins that require a premium CKEditor license key to work. + */ +export const PREMIUM_PLUGINS: typeof Plugin[] = [ + SlashCommand, + Template +]; + /** * The set of plugins that are required for the editor to work. This is used in normal text editors (floating or fixed toolbar) but not in the attribute editor. */ @@ -139,7 +148,8 @@ export const COMMON_PLUGINS: typeof Plugin[] = [ Emoji, ...TRILIUM_PLUGINS, - ...EXTERNAL_PLUGINS + ...EXTERNAL_PLUGINS, + ...PREMIUM_PLUGINS ]; /** diff --git a/packages/ckeditor5/src/plugins/code_block_toolbar.ts b/packages/ckeditor5/src/plugins/code_block_toolbar.ts index ff9014fd8..4bdd30f0c 100644 --- a/packages/ckeditor5/src/plugins/code_block_toolbar.ts +++ b/packages/ckeditor5/src/plugins/code_block_toolbar.ts @@ -1,4 +1,4 @@ -import { CodeBlock, Plugin, ViewDocumentFragment, WidgetToolbarRepository, type ViewNode } from "ckeditor5"; +import { BalloonToolbarShowEvent, CodeBlock, Plugin, ViewDocumentFragment, WidgetToolbarRepository, type ViewNode } from "ckeditor5"; import CodeBlockLanguageDropdown from "./code_block_language_dropdown"; import CopyToClipboardButton from "./copy_to_clipboard_button"; @@ -37,6 +37,18 @@ export default class CodeBlockToolbar extends Plugin { return null; } }); + + // Hide balloon toolbar when in a code block + if (editor.plugins.has("BalloonToolbar")) { + editor.listenTo(editor.plugins.get('BalloonToolbar'), 'show', (evt) => { + const firstPosition = editor.model.document.selection.getFirstPosition(); + const isInCodeBlock = firstPosition?.findAncestor('codeBlock'); + + if (isInCodeBlock) { + evt.stop(); // Prevent the balloon toolbar from showing + } + }, { priority: 'high' }); + } } } diff --git a/packages/ckeditor5/src/plugins/includenote.ts b/packages/ckeditor5/src/plugins/includenote.ts index 0c7149078..1ce633f35 100644 --- a/packages/ckeditor5/src/plugins/includenote.ts +++ b/packages/ckeditor5/src/plugins/includenote.ts @@ -1,6 +1,8 @@ import { ButtonView, Command, Plugin, toWidget, Widget, type Editor, type Observable } from 'ckeditor5'; import noteIcon from '../icons/note.svg?raw'; +export const COMMAND_NAME = 'insertIncludeNote'; + export default class IncludeNote extends Plugin { static get requires() { return [ IncludeNoteEditing, IncludeNoteUI ]; @@ -16,7 +18,7 @@ class IncludeNoteUI extends Plugin { // to be displayed in the toolbar. editor.ui.componentFactory.add( 'includeNote', locale => { // The state of the button will be bound to the widget command. - const command = editor.commands.get( 'insertIncludeNote' ); + const command = editor.commands.get( COMMAND_NAME ); // The button will be an instance of ButtonView. const buttonView = new ButtonView( locale ); @@ -35,7 +37,7 @@ class IncludeNoteUI extends Plugin { } // Execute the command when the button is clicked (executed). - this.listenTo( buttonView, 'execute', () => editor.execute( 'insertIncludeNote' ) ); + this.listenTo( buttonView, 'execute', () => editor.execute( COMMAND_NAME ) ); return buttonView; } ); @@ -51,7 +53,7 @@ class IncludeNoteEditing extends Plugin { this._defineSchema(); this._defineConverters(); - this.editor.commands.add( 'insertIncludeNote', new InsertIncludeNoteCommand( this.editor ) ); + this.editor.commands.add( COMMAND_NAME, new InsertIncludeNoteCommand( this.editor ) ); } _defineSchema() { diff --git a/packages/ckeditor5/src/plugins/insert_date_time.ts b/packages/ckeditor5/src/plugins/insert_date_time.ts index f08d616a9..b105297e5 100644 --- a/packages/ckeditor5/src/plugins/insert_date_time.ts +++ b/packages/ckeditor5/src/plugins/insert_date_time.ts @@ -1,10 +1,14 @@ -import { ButtonView, Plugin } from 'ckeditor5'; +import { ButtonView, Command, Plugin } from 'ckeditor5'; import dateTimeIcon from '../icons/date-time.svg?raw'; +export const COMMAND_NAME = 'insertDateTimeToText'; + export default class InsertDateTimePlugin extends Plugin { init() { const editor = this.editor; + editor.commands.add(COMMAND_NAME, new InsertDateTimeCommand(editor)); + editor.ui.componentFactory.add('dateTime', locale => { const view = new ButtonView( locale ); @@ -15,17 +19,30 @@ export default class InsertDateTimePlugin extends Plugin { } ); // enable only if the editor is not read only - view.bind('isEnabled').to(editor, 'isReadOnly', isReadOnly => !isReadOnly); - + const command = editor.commands.get(COMMAND_NAME)!; + view.bind('isEnabled').to(command, 'isEnabled'); view.on('execute', () => { - const editorEl = editor.editing.view.getDomRoot(); - const component = glob.getComponentByEl(editorEl); - - component.triggerCommand('insertDateTimeToText'); + editor.execute(COMMAND_NAME); editor.editing.view.focus(); - } ); - + }); return view; }); } -} \ No newline at end of file +} + +class InsertDateTimeCommand extends Command { + + refresh() { + this.isEnabled = !this.editor.isReadOnly; + } + + execute() { + const editor = this.editor; + const editorEl = editor.editing.view.getDomRoot(); + const component = glob.getComponentByEl(editorEl); + + component.triggerCommand('insertDateTimeToText'); + editor.editing.view.focus(); + } + +} diff --git a/packages/ckeditor5/src/plugins/internallink.ts b/packages/ckeditor5/src/plugins/internallink.ts index 895de239a..f6045dbc9 100644 --- a/packages/ckeditor5/src/plugins/internallink.ts +++ b/packages/ckeditor5/src/plugins/internallink.ts @@ -1,7 +1,9 @@ -import { ButtonView, Plugin } from 'ckeditor5'; +import { ButtonView, Command, Plugin } from 'ckeditor5'; import internalLinkIcon from '../icons/trilium.svg?raw'; import ReferenceLink from './referencelink'; +export const COMMAND_NAME = 'insertInternalLink'; + export default class InternalLinkPlugin extends Plugin { static get requires() { @@ -11,6 +13,8 @@ export default class InternalLinkPlugin extends Plugin { init() { const editor = this.editor; + editor.commands.add(COMMAND_NAME, new InsertInternalLinkCommand(editor)); + editor.ui.componentFactory.add('internalLink', locale => { const view = new ButtonView( locale ); @@ -21,16 +25,28 @@ export default class InternalLinkPlugin extends Plugin { } ); // enable internal link only if the editor is not read only - view.bind('isEnabled').to(editor, 'isReadOnly', isReadOnly => !isReadOnly); - + const command = editor.commands.get(COMMAND_NAME)!; + view.bind('isEnabled').to(command, 'isEnabled'); view.on('execute', () => { - const editorEl = editor.editing.view.getDomRoot(); - const component = glob.getComponentByEl(editorEl); - - component.triggerCommand('addLinkToText'); + editor.execute(COMMAND_NAME); } ); return view; }); } } + +class InsertInternalLinkCommand extends Command { + + refresh() { + this.isEnabled = !this.editor.isReadOnly; + } + + execute() { + const editor = this.editor; + const editorEl = editor.editing.view.getDomRoot(); + const component = glob.getComponentByEl(editorEl); + + component.triggerCommand('addLinkToText'); + } +} diff --git a/packages/ckeditor5/src/plugins/markdownimport.ts b/packages/ckeditor5/src/plugins/markdownimport.ts index 2da1c7e4e..c00b9f7f6 100644 --- a/packages/ckeditor5/src/plugins/markdownimport.ts +++ b/packages/ckeditor5/src/plugins/markdownimport.ts @@ -1,10 +1,14 @@ -import { ButtonView, Plugin } from 'ckeditor5'; +import { ButtonView, Command, Plugin } from 'ckeditor5'; import markdownIcon from '../icons/markdown-mark.svg?raw'; +export const COMMAND_NAME = 'importMarkdownInline'; + export default class MarkdownImportPlugin extends Plugin { init() { const editor = this.editor; + editor.commands.add(COMMAND_NAME, new ImportMarkdownCommand(editor)); + editor.ui.componentFactory.add( 'markdownImport', locale => { const view = new ButtonView( locale ); @@ -15,11 +19,19 @@ export default class MarkdownImportPlugin extends Plugin { } ); // Callback executed once the image is clicked. - view.on( 'execute', () => { - glob.importMarkdownInline(); - } ); + const command = editor.commands.get(COMMAND_NAME)!; + view.bind('isEnabled').to(command, 'isEnabled'); + view.on('execute', () => editor.execute(COMMAND_NAME)); return view; } ); } } + +class ImportMarkdownCommand extends Command { + + execute() { + glob.importMarkdownInline(); + } + +} diff --git a/packages/ckeditor5/src/plugins/move_block_updown.ts b/packages/ckeditor5/src/plugins/move_block_updown.ts index e804bb426..dc5a8958c 100644 --- a/packages/ckeditor5/src/plugins/move_block_updown.ts +++ b/packages/ckeditor5/src/plugins/move_block_updown.ts @@ -2,71 +2,144 @@ * https://github.com/TriliumNext/Notes/issues/1002 */ -import { Command, DocumentSelection, Element, Node, Plugin } from 'ckeditor5'; - +import { Command, DocumentSelection, Element, Node, Plugin, Range } from 'ckeditor5'; export default class MoveBlockUpDownPlugin extends Plugin { init() { const editor = this.editor; - editor.config.define('moveBlockUp', { - keystroke: ['ctrl+arrowup', 'alt+arrowup'], - }); - editor.config.define('moveBlockDown', { - keystroke: ['ctrl+arrowdown', 'alt+arrowdown'], - }); editor.commands.add('moveBlockUp', new MoveBlockUpCommand(editor)); editor.commands.add('moveBlockDown', new MoveBlockDownCommand(editor)); - for (const keystroke of editor.config.get('moveBlockUp.keystroke') ?? []) { - editor.keystrokes.set(keystroke, 'moveBlockUp'); - } - for (const keystroke of editor.config.get('moveBlockDown.keystroke') ?? []) { - editor.keystrokes.set(keystroke, 'moveBlockDown'); - } + // Use native DOM capturing to intercept Ctrl/Alt + ↑/↓, + // as plugin-level keystroke handling may fail when the selection is near an object. + this.bindMoveBlockShortcuts(editor); } + + bindMoveBlockShortcuts(editor: any) { + editor.editing.view.once('render', () => { + const domRoot = editor.editing.view.getDomRoot(); + if (!domRoot) return; + + const handleKeydown = (e: KeyboardEvent) => { + const keyMap = { + ArrowUp: 'moveBlockUp', + ArrowDown: 'moveBlockDown' + }; + + const command = keyMap[e.key]; + const isCtrl = e.ctrlKey || e.metaKey; + const hasModifier = (isCtrl || e.altKey) && !(isCtrl && e.altKey); + + if (command && hasModifier) { + e.preventDefault(); + e.stopImmediatePropagation(); + editor.execute(command); + } + }; + + domRoot.addEventListener('keydown', handleKeydown, { capture: true }); + }); + } } abstract class MoveBlockUpDownCommand extends Command { - abstract getSelectedBlocks(selection: DocumentSelection): Element[]; abstract getSibling(selectedBlock: Element): Node | null; abstract get offset(): "before" | "after"; - override refresh() { - const selection = this.editor.model.document.selection; - const selectedBlocks = this.getSelectedBlocks(selection); - - this.isEnabled = true; - for (const selectedBlock of selectedBlocks) { - if (!this.getSibling(selectedBlock)) this.isEnabled = false; - } - } - override execute() { const model = this.editor.model; const selection = model.document.selection; const selectedBlocks = this.getSelectedBlocks(selection); + const isEnabled = selectedBlocks.length > 0 + && selectedBlocks.every(block => !!this.getSibling(block)); + + if (!isEnabled) { + return; + } + + const movingBlocks = this.offset === 'before' + ? selectedBlocks + : [...selectedBlocks].reverse(); + + // Store selection offsets + const firstBlock = selectedBlocks[0]; + const lastBlock = selectedBlocks[selectedBlocks.length - 1]; + const startOffset = model.document.selection.getFirstPosition()?.offset ?? 0; + const endOffset = model.document.selection.getLastPosition()?.offset ?? 0; model.change((writer) => { - for (const selectedBlock of selectedBlocks) { - const sibling = this.getSibling(selectedBlock); + // Move blocks + for (const block of movingBlocks) { + const sibling = this.getSibling(block); if (sibling) { - const range = model.createRangeOn(selectedBlock); + const range = model.createRangeOn(block); writer.move(range, sibling, this.offset); } } + + // Restore selection + let range: Range; + const maxStart = firstBlock.maxOffset ?? startOffset; + const maxEnd = lastBlock.maxOffset ?? endOffset; + // If original offsets valid within bounds, restore partial selection + if (startOffset <= maxStart && endOffset <= maxEnd) { + const clampedStart = Math.min(startOffset, maxStart); + const clampedEnd = Math.min(endOffset, maxEnd); + range = writer.createRange( + writer.createPositionAt(firstBlock, clampedStart), + writer.createPositionAt(lastBlock, clampedEnd) + ); + } else { // Fallback: select entire moved blocks (handles tables) + range = writer.createRange( + writer.createPositionBefore(firstBlock), + writer.createPositionAfter(lastBlock) + ); + } + writer.setSelection(range); + this.editor.editing.view.focus(); + + this.scrollToSelection(); }); + } + + getSelectedBlocks(selection: DocumentSelection) { + const blocks = [...selection.getSelectedBlocks()]; + const resolved: Element[] = []; + + // Selects elements (such as Mermaid) when there are no blocks + if (!blocks.length) { + const selectedObj = selection.getSelectedElement(); + if (selectedObj) { + return [selectedObj]; + } + } + + for (const block of blocks) { + let el: Element = block; + // Traverse up until the parent is the root ($root) or there is no parent + while (el.parent && el.parent.name !== '$root') { + el = el.parent as Element; + } + resolved.push(el); + } + + // Deduplicate adjacent duplicates (e.g., nested selections resolving to same block) + return resolved.filter((blk, idx) => idx === 0 || blk !== resolved[idx - 1]); } + + scrollToSelection() { + // Ensure scroll happens in sync with DOM updates + requestAnimationFrame(() => { + this.editor.editing.view.scrollToTheSelection(); + }); + }; } class MoveBlockUpCommand extends MoveBlockUpDownCommand { - getSelectedBlocks(selection: DocumentSelection) { - return [...selection.getSelectedBlocks()]; - } - getSibling(selectedBlock: Element) { return selectedBlock.previousSibling; } @@ -79,11 +152,6 @@ class MoveBlockUpCommand extends MoveBlockUpDownCommand { class MoveBlockDownCommand extends MoveBlockUpDownCommand { - /** @override */ - getSelectedBlocks(selection: DocumentSelection) { - return [...selection.getSelectedBlocks()].reverse(); - } - /** @override */ getSibling(selectedBlock: Element) { return selectedBlock.nextSibling; diff --git a/packages/ckeditor5/src/translation_overrides.ts b/packages/ckeditor5/src/translation_overrides.ts new file mode 100644 index 000000000..47c167d51 --- /dev/null +++ b/packages/ckeditor5/src/translation_overrides.ts @@ -0,0 +1,8 @@ +window.CKEDITOR_TRANSLATIONS = { + en: { + dictionary: { + "Insert template": "Insert text snippet", + "Search template": "Search text snippet" + } + } +}; diff --git a/packages/ckeditor5/tests/templates.ts b/packages/ckeditor5/tests/templates.ts new file mode 100644 index 000000000..f8894ac60 --- /dev/null +++ b/packages/ckeditor5/tests/templates.ts @@ -0,0 +1,37 @@ +import { it } from "vitest"; +import { describe } from "vitest"; +import { ClassicEditor } from "../src/index.js"; +import { type BalloonEditor, type ButtonView, type Editor } from "ckeditor5"; +import { beforeEach } from "vitest"; +import { expect } from "vitest"; + +describe("Text snippets", () => { + let editorElement: HTMLDivElement; + let editor: Editor; + + beforeEach(async () => { + editorElement = document.createElement( 'div' ); + document.body.appendChild( editorElement ); + + console.log("Trigger each"); + + editor = await ClassicEditor.create(editorElement, { + licenseKey: "GPL", + toolbar: { + items: [ + "insertTemplate" + ] + } + }); + }); + + it("uses correct translations", () => { + const itemsWithButtonView = Array.from(editor.ui.view.toolbar?.items) + .filter(item => "buttonView" in item) + .map(item => (item.buttonView as ButtonView).label); + + expect(itemsWithButtonView).not.toContain("Insert template"); + expect(itemsWithButtonView).toContain("Insert text snippet"); + }); +}); + diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index e99ec1e88..645254830 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -24,13 +24,13 @@ "@codemirror/lang-html": "6.4.9", "@codemirror/lang-javascript": "6.2.4", "@codemirror/lang-json": "6.0.1", - "@codemirror/lang-markdown": "6.3.2", + "@codemirror/lang-markdown": "6.3.3", "@codemirror/lang-php": "6.0.1", "@codemirror/lang-vue": "0.1.3", "@codemirror/lang-xml": "6.1.0", "@codemirror/legacy-modes": "6.5.1", "@codemirror/search": "6.5.11", - "@codemirror/view": "6.37.1", + "@codemirror/view": "6.37.2", "@fsegurai/codemirror-theme-abcdef": "6.2.0", "@fsegurai/codemirror-theme-abyss": "6.2.0", "@fsegurai/codemirror-theme-android-studio": "6.2.0", @@ -59,8 +59,9 @@ "@replit/codemirror-vim": "6.3.0", "@ssddanbrown/codemirror-lang-smarty": "1.0.0", "@ssddanbrown/codemirror-lang-twig": "1.0.0", + "codemirror-lang-elixir": "4.0.0", "codemirror-lang-hcl": "0.1.0", "codemirror-lang-mermaid": "0.5.0", - "eslint-linter-browserify": "9.28.0" + "eslint-linter-browserify": "9.29.0" } } diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts index 9fffa31b3..40a0d721d 100644 --- a/packages/codemirror/src/syntax_highlighting.ts +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -84,6 +84,7 @@ const byMimeType: Record Promise | Language "text/x-ebnf": async () => (await import('@codemirror/legacy-modes/mode/ebnf')).ebnf, "text/x-ecl": async () => (await import('@codemirror/legacy-modes/mode/ecl')).ecl, "text/x-eiffel": async () => (await import('@codemirror/legacy-modes/mode/eiffel')).eiffel, + "text/x-elixir": async () => (await import('codemirror-lang-elixir')).elixir(), "text/x-elm": async () => (await import('@codemirror/legacy-modes/mode/elm')).elm, "text/x-erlang": async () => (await import('@codemirror/legacy-modes/mode/erlang')).erlang, "text/x-esper": async () => (await import('@codemirror/legacy-modes/mode/sql')).esper, diff --git a/packages/commons/package.json b/packages/commons/package.json index 16894e80a..6ce4f5705 100644 --- a/packages/commons/package.json +++ b/packages/commons/package.json @@ -1,6 +1,6 @@ { "name": "@triliumnext/commons", - "version": "0.94.1", + "version": "0.95.0", "description": "Shared library between the clients (e.g. browser, Electron) and the server, mostly for type definitions and utility methods.", "private": true, "type": "module", diff --git a/packages/commons/src/lib/hidden_subtree.ts b/packages/commons/src/lib/hidden_subtree.ts index 54f386668..af860aba8 100644 --- a/packages/commons/src/lib/hidden_subtree.ts +++ b/packages/commons/src/lib/hidden_subtree.ts @@ -12,7 +12,7 @@ enum Command { } export interface HiddenSubtreeAttribute { - type: AttributeType; + type: "label" | "relation"; name: string; isInheritable?: boolean; value?: string; @@ -23,6 +23,9 @@ export interface HiddenSubtreeItem { id: string; title: string; type: LauncherNoteType; + /** + * The icon to use for this item, in the format "bx-icon-name" (e.g., `bx-file-blank`), *without* the leading `bx `. + */ icon?: string; attributes?: HiddenSubtreeAttribute[]; children?: HiddenSubtreeItem[]; diff --git a/packages/commons/src/lib/mime_type.ts b/packages/commons/src/lib/mime_type.ts index 039201cba..ba6deafc8 100644 --- a/packages/commons/src/lib/mime_type.ts +++ b/packages/commons/src/lib/mime_type.ts @@ -9,8 +9,6 @@ export interface MimeTypeDefinition { mime: string; /** The name of the language/mime type as defined by highlight.js (or one of the aliases), in order to be used for syntax highlighting such as inside code blocks. */ mdLanguageCode?: string; - /** If specified, will load the corresponding highlight file from the given path instead of `node_modules`. */ - codeMirrorSource?: string; } export interface MimeType extends MimeTypeDefinition { @@ -43,7 +41,7 @@ export const MIME_TYPES_DICT: readonly MimeTypeDefinition[] = Object.freeze([ { title: "ASN.1", mime: "text/x-ttcn-asn" }, { title: "ASP.NET", mime: "application/x-aspx" }, { title: "Asterisk", mime: "text/x-asterisk" }, - { title: "Batch file (DOS)", mime: "application/x-bat", highlightJs: "dos", codeMirrorSource: "libraries/codemirror/batch.js" }, + { title: "Batch file (DOS)", mime: "application/x-bat", highlightJs: "dos" }, { title: "Brainfuck", mime: "text/x-brainfuck", mdLanguageCode: "brainfuck" }, { title: "C", mime: "text/x-csrc", mdLanguageCode: "c", default: true }, { title: "C#", mime: "text/x-csharp", mdLanguageCode: "csharp", default: true }, @@ -71,6 +69,7 @@ export const MIME_TYPES_DICT: readonly MimeTypeDefinition[] = Object.freeze([ { title: "ECL", mime: "text/x-ecl" }, { title: "edn", mime: "application/edn" }, { title: "Eiffel", mime: "text/x-eiffel" }, + { title: "Elixir", mime: "text/x-elixir", mdLanguageCode: "elixir" }, { title: "Elm", mime: "text/x-elm", mdLanguageCode: "elm" }, { title: "Embedded Javascript", mime: "application/x-ejs" }, { title: "Embedded Ruby", mime: "application/x-erb", mdLanguageCode: "erb" }, @@ -174,7 +173,7 @@ export const MIME_TYPES_DICT: readonly MimeTypeDefinition[] = Object.freeze([ { title: "Swift", mime: "text/x-swift", default: true }, { title: "SystemVerilog", mime: "text/x-systemverilog" }, { title: "Tcl", mime: "text/x-tcl", mdLanguageCode: "tcl" }, - { title: "Terraform (HCL)", mime: "text/x-hcl", highlightJs: "terraform", highlightJsSource: "libraries", codeMirrorSource: "libraries/codemirror/hcl.js" }, + { title: "Terraform (HCL)", mime: "text/x-hcl", highlightJs: "terraform" }, { title: "Textile", mime: "text/x-textile" }, { title: "TiddlyWiki ", mime: "text/x-tiddlywiki" }, { title: "Tiki wiki", mime: "text/tiki" }, diff --git a/packages/highlightjs/src/syntax_highlighting.ts b/packages/highlightjs/src/syntax_highlighting.ts index f91f580e9..dc94d6303 100644 --- a/packages/highlightjs/src/syntax_highlighting.ts +++ b/packages/highlightjs/src/syntax_highlighting.ts @@ -64,6 +64,7 @@ const byMimeType: MimeRecord = { "text/x-ebnf": () => import("highlight.js/lib/languages/ebnf"), "text/x-ecl": null, "text/x-eiffel": null, + "text/x-elixir": () => import("highlight.js/lib/languages/elixir"), "text/x-elm": () => import("highlight.js/lib/languages/elm"), "text/x-erlang": () => import("highlight.js/lib/languages/erlang"), "text/x-esper": null, diff --git a/packages/share-theme/package.json b/packages/share-theme/package.json index f3d34f56f..350890be7 100644 --- a/packages/share-theme/package.json +++ b/packages/share-theme/package.json @@ -24,8 +24,8 @@ "devDependencies": { "@digitak/esrun": "^3.2.24", "@types/swagger-ui": "^5.0.0", - "@typescript-eslint/eslint-plugin": "^6.7.2", - "@typescript-eslint/parser": "^6.7.2", + "@typescript-eslint/eslint-plugin": "^8.0.0", + "@typescript-eslint/parser": "^8.0.0", "dotenv": "^16.3.1", "esbuild": "^0.25.0", "eslint": "^9.0.0", diff --git a/patches/@nx__js.patch b/patches/@nx__js.patch new file mode 100644 index 000000000..eb9a069f5 --- /dev/null +++ b/patches/@nx__js.patch @@ -0,0 +1,17 @@ +diff --git a/src/utils/assets/copy-assets-handler.js b/src/utils/assets/copy-assets-handler.js +index 6b68205d833ce9e8277283ac31230c020d2921ec..2f0a7f018b03eae3b8f3ce1a4cf4790aaafed677 100644 +--- a/src/utils/assets/copy-assets-handler.js ++++ b/src/utils/assets/copy-assets-handler.js +@@ -39,12 +39,6 @@ class CopyAssetsHandler { + this.callback = opts.callback ?? exports.defaultFileEventHandler; + // TODO(jack): Should handle nested .gitignore files + this.ignore = (0, ignore_1.default)(); +- const gitignore = pathPosix.join(opts.rootDir, '.gitignore'); +- const nxignore = pathPosix.join(opts.rootDir, '.nxignore'); +- if ((0, node_fs_1.existsSync)(gitignore)) +- this.ignore.add((0, node_fs_1.readFileSync)(gitignore).toString()); +- if ((0, node_fs_1.existsSync)(nxignore)) +- this.ignore.add((0, node_fs_1.readFileSync)(nxignore).toString()); + this.assetGlobs = opts.assets.map((f) => { + let isGlob = false; + let pattern; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0188eaa33..84eeecb45 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,6 +6,9 @@ settings: overrides: node-abi: 4.9.0 + mermaid: 11.6.0 + preact: 10.26.9 + roughjs: 4.6.6 '@types/express-serve-static-core': 5.0.6 flat@<5.0.1: '>=5.0.1' debug@>=3.2.0 <3.2.7: '>=3.2.7' @@ -21,6 +24,9 @@ patchedDependencies: '@ckeditor/ckeditor5-mention': hash: 5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d path: patches/@ckeditor__ckeditor5-mention.patch + '@nx/js': + hash: 7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7 + path: patches/@nx__js.patch ckeditor5: hash: 8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41 path: patches/ckeditor5.patch @@ -28,47 +34,40 @@ patchedDependencies: importers: .: - dependencies: - axios: - specifier: ^1.6.0 - version: 1.9.0(debug@4.4.1) - express: - specifier: ^5.0.0 - version: 5.1.0 devDependencies: '@electron/rebuild': specifier: 4.0.1 version: 4.0.1 '@nx/devkit': - specifier: 21.1.3 - version: 21.1.3(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.2.0 + version: 21.2.0(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/esbuild': - specifier: 21.1.3 - version: 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5)(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.2.0 + version: 21.2.0(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5)(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/eslint': - specifier: 21.1.3 - version: 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.28.0(jiti@2.4.2))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.2.0 + version: 21.2.0(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.29.0(jiti@2.4.2))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/eslint-plugin': - specifier: 21.1.3 - version: 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.5(eslint@9.28.0(jiti@2.4.2)))(eslint@9.28.0(jiti@2.4.2))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) + specifier: 21.2.0 + version: 21.2.0(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.5(eslint@9.29.0(jiti@2.4.2)))(eslint@9.29.0(jiti@2.4.2))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) '@nx/express': - specifier: 21.1.3 - version: 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.31)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.28.0(jiti@2.4.2))(express@5.1.0)(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@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.15.31)(typescript@5.8.3))(typescript@5.8.3) + specifier: 21.2.0 + version: 21.2.0(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.29.0(jiti@2.4.2))(express@4.21.2)(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@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.15.32)(typescript@5.8.3))(typescript@5.8.3) '@nx/js': - specifier: 21.1.3 - version: 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.2.0 + version: 21.2.0(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/node': - specifier: 21.1.3 - version: 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.31)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.28.0(jiti@2.4.2))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@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.15.31)(typescript@5.8.3))(typescript@5.8.3) + specifier: 21.2.0 + version: 21.2.0(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.29.0(jiti@2.4.2))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@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.15.32)(typescript@5.8.3))(typescript@5.8.3) '@nx/playwright': - specifier: 21.1.3 - version: 21.1.3(@babel/traverse@7.27.0)(@playwright/test@1.53.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.28.0(jiti@2.4.2))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) + specifier: 21.2.0 + version: 21.2.0(@babel/traverse@7.27.0)(@playwright/test@1.53.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.29.0(jiti@2.4.2))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) '@nx/vite': - specifier: 21.1.3 - version: 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vitest@3.2.3) + specifier: 21.2.0 + version: 21.2.0(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4) '@nx/web': - specifier: 21.1.3 - version: 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.2.0 + version: 21.2.0(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@playwright/test': specifier: ^1.36.0 version: 1.53.0 @@ -79,14 +78,14 @@ importers: specifier: ^5.0.0 version: 5.0.3 '@types/node': - specifier: 22.15.31 - version: 22.15.31 + specifier: 22.15.32 + version: 22.15.32 '@vitest/coverage-v8': specifier: ^3.0.5 - version: 3.2.3(vitest@3.2.3) + version: 3.2.4(vitest@3.2.4) '@vitest/ui': specifier: ^3.0.0 - version: 3.2.3(vitest@3.2.3) + version: 3.2.4(vitest@3.2.4) chalk: specifier: 5.4.1 version: 5.4.1 @@ -98,13 +97,13 @@ importers: version: 0.25.5 eslint: specifier: ^9.8.0 - version: 9.28.0(jiti@2.4.2) + version: 9.29.0(jiti@2.4.2) eslint-config-prettier: specifier: ^10.0.0 - version: 10.1.5(eslint@9.28.0(jiti@2.4.2)) + version: 10.1.5(eslint@9.29.0(jiti@2.4.2)) eslint-plugin-playwright: specifier: ^2.0.0 - version: 2.2.0(eslint@9.28.0(jiti@2.4.2)) + version: 2.2.0(eslint@9.29.0(jiti@2.4.2)) happy-dom: specifier: ~18.0.0 version: 18.0.1 @@ -118,47 +117,47 @@ importers: specifier: ^2.1.0 version: 2.4.0 nx: - specifier: 21.1.3 - version: 21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + specifier: 21.2.0 + version: 21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) react-refresh: specifier: ^0.17.0 version: 0.17.0 rollup-plugin-webpack-stats: specifier: 2.0.7 - version: 2.0.7(rollup@4.40.0)(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)) + version: 2.0.7(rollup@4.40.0)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)) tslib: specifier: ^2.3.0 version: 2.8.1 tsx: - specifier: 4.19.4 - version: 4.19.4 + specifier: 4.20.3 + version: 4.20.3 typescript: specifier: ~5.8.0 version: 5.8.3 typescript-eslint: specifier: ^8.19.0 - version: 8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) upath: specifier: 2.0.1 version: 2.0.1 vite: specifier: ^6.0.0 - version: 6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) + version: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) vite-plugin-dts: specifier: ~4.5.0 - version: 4.5.4(@types/node@22.15.31)(rollup@4.40.0)(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)) + version: 4.5.4(@types/node@22.15.32)(rollup@4.40.0)(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.0 - version: 3.2.3(@types/debug@4.1.12)(@types/node@22.15.31)(@vitest/ui@3.2.3)(happy-dom@18.0.1)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.15.32)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.15.32)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) apps/client: dependencies: '@eslint/js': - specifier: 9.28.0 - version: 9.28.0 + specifier: 9.29.0 + version: 9.29.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@19.1.0))(react@19.1.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) '@fullcalendar/core': specifier: 6.1.17 version: 6.1.17 @@ -182,7 +181,7 @@ importers: version: 0.1.7(mermaid@11.6.0) '@mind-elixir/node-menu': specifier: 1.0.5 - version: 1.0.5(mind-elixir@4.6.0) + version: 1.0.5(mind-elixir@4.6.1) '@popperjs/core': specifier: 2.11.8 version: 2.11.8 @@ -205,8 +204,8 @@ importers: specifier: 0.38.1 version: 0.38.1 bootstrap: - specifier: 5.3.6 - version: 5.3.6(@popperjs/core@2.11.8) + specifier: 5.3.7 + version: 5.3.7(@popperjs/core@2.11.8) boxicons: specifier: 2.1.4 version: 2.1.4 @@ -268,20 +267,17 @@ importers: specifier: 11.6.0 version: 11.6.0 mind-elixir: - specifier: 4.6.0 - version: 4.6.0 + specifier: 4.6.1 + version: 4.6.1 normalize.css: specifier: 8.0.1 version: 8.0.1 panzoom: specifier: 9.4.3 version: 9.4.3 - react: - specifier: 19.1.0 - version: 19.1.0 - react-dom: - specifier: 19.1.0 - version: 19.1.0(react@19.1.0) + preact: + specifier: 10.26.9 + version: 10.26.9 split.js: specifier: 1.6.5 version: 1.6.5 @@ -310,12 +306,6 @@ importers: '@types/mark.js': specifier: 8.11.12 version: 8.11.12 - '@types/react': - specifier: 19.1.7 - version: 19.1.7 - '@types/react-dom': - specifier: 19.1.6 - version: 19.1.6(@types/react@19.1.7) copy-webpack-plugin: specifier: 13.0.0 version: 13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5)) @@ -326,8 +316,8 @@ importers: specifier: 0.7.2 version: 0.7.2 vite-plugin-static-copy: - specifier: 3.0.0 - version: 3.0.0(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)) + specifier: 3.0.2 + version: 3.0.2(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)) apps/db-compare: dependencies: @@ -471,8 +461,8 @@ importers: version: 11.10.0 devDependencies: '@anthropic-ai/sdk': - specifier: 0.53.0 - version: 0.53.0 + specifier: 0.54.0 + version: 0.54.0 '@braintree/sanitize-url': specifier: 7.1.1 version: 7.1.1 @@ -585,8 +575,8 @@ importers: specifier: 0.5.0 version: 0.5.0 axios: - specifier: 1.9.0 - version: 1.9.0(debug@4.4.1) + specifier: 1.10.0 + version: 1.10.0(debug@4.4.1) bindings: specifier: 1.5.0 version: 1.5.0 @@ -714,8 +704,8 @@ importers: specifier: 0.5.16 version: 0.5.16 openai: - specifier: 5.3.0 - version: 5.3.0(ws@8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@3.24.4) + specifier: 5.5.1 + version: 5.5.1(ws@8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@3.24.4) rand-token: specifier: 1.0.1 version: 1.0.1 @@ -780,6 +770,64 @@ importers: specifier: 16.5.0 version: 16.5.0 + apps/website: + dependencies: + '@inlang/paraglide-js': + specifier: ^2.0.0 + version: 2.1.0(babel-plugin-macros@3.1.0) + devDependencies: + '@eslint/compat': + specifier: ^1.2.5 + version: 1.3.0(eslint@9.28.0(jiti@2.4.2)) + '@eslint/js': + specifier: ^9.18.0 + version: 9.28.0 + '@sveltejs/adapter-auto': + specifier: ^6.0.0 + version: 6.0.1(@sveltejs/kit@2.21.5(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.1)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.34.1)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0))) + '@sveltejs/kit': + specifier: ^2.16.0 + version: 2.21.5(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.1)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.34.1)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte': + specifier: ^5.0.0 + version: 5.1.0(svelte@5.34.1)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)) + '@tailwindcss/typography': + specifier: ^0.5.15 + version: 0.5.16(tailwindcss@4.1.10) + '@tailwindcss/vite': + specifier: ^4.0.0 + version: 4.1.10(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)) + eslint: + specifier: ^9.18.0 + version: 9.28.0(jiti@2.4.2) + eslint-plugin-svelte: + specifier: ^3.0.0 + version: 3.9.2(eslint@9.28.0(jiti@2.4.2))(svelte@5.34.1)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(typescript@5.8.3)) + globals: + specifier: ^16.0.0 + version: 16.2.0 + mdsvex: + specifier: ^0.12.3 + version: 0.12.6(svelte@5.34.1) + svelte: + specifier: ^5.0.0 + version: 5.34.1 + svelte-check: + specifier: ^4.0.0 + version: 4.2.1(picomatch@4.0.2)(svelte@5.34.1)(typescript@5.8.3) + tailwindcss: + specifier: ^4.0.0 + version: 4.1.10 + typescript: + specifier: ^5.0.0 + version: 5.8.3 + typescript-eslint: + specifier: ^8.20.0 + version: 8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + vite: + specifier: ^6.2.6 + version: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) + packages/ckeditor5: dependencies: '@triliumnext/ckeditor5-admonition': @@ -800,6 +848,9 @@ importers: ckeditor5: specifier: 45.2.0 version: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + ckeditor5-premium-features: + specifier: 45.2.0 + version: 45.2.0(bufferutil@4.0.9)(ckeditor5@45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5) devDependencies: '@types/jquery': specifier: 3.5.32 @@ -815,7 +866,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.0(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.31)(bufferutil@4.0.9)(esbuild@0.25.5)(utf-8-validate@6.0.5) + version: 4.0.0(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(bufferutil@4.0.9)(esbuild@0.25.5)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.34.0 version: 8.34.0(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) @@ -824,7 +875,7 @@ importers: version: 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.0(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(playwright@1.53.0)(utf-8-validate@6.0.5)(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vitest@3.2.0)(webdriverio@9.15.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.0(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.15.32)(typescript@5.8.3))(playwright@1.53.0)(utf-8-validate@6.0.5)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.0)(webdriverio@9.15.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.0(vitest@3.2.0) @@ -851,16 +902,16 @@ importers: version: 10.0.0(stylelint@16.20.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.31)(typescript@5.8.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.0(@types/debug@4.1.12)(@types/node@22.15.31)(@vitest/browser@3.2.0)(@vitest/ui@3.2.0)(happy-dom@18.0.1)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) + version: 3.2.0(@types/debug@4.1.12)(@types/node@22.15.32)(@vitest/browser@3.2.0)(@vitest/ui@3.2.0)(happy-dom@18.0.1)(jiti@2.4.2)(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.15.32)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 version: 9.15.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -875,7 +926,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.0(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.31)(bufferutil@4.0.9)(esbuild@0.25.5)(utf-8-validate@6.0.5) + version: 4.0.0(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(bufferutil@4.0.9)(esbuild@0.25.5)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.34.0 version: 8.34.0(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) @@ -884,7 +935,7 @@ importers: version: 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.0(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(playwright@1.53.0)(utf-8-validate@6.0.5)(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vitest@3.2.0)(webdriverio@9.15.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.0(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.15.32)(typescript@5.8.3))(playwright@1.53.0)(utf-8-validate@6.0.5)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.0)(webdriverio@9.15.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.0(vitest@3.2.0) @@ -911,16 +962,16 @@ importers: version: 10.0.0(stylelint@16.20.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.31)(typescript@5.8.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.0(@types/debug@4.1.12)(@types/node@22.15.31)(@vitest/browser@3.2.0)(@vitest/ui@3.2.0)(happy-dom@18.0.1)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) + version: 3.2.0(@types/debug@4.1.12)(@types/node@22.15.32)(@vitest/browser@3.2.0)(@vitest/ui@3.2.0)(happy-dom@18.0.1)(jiti@2.4.2)(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.15.32)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 version: 9.15.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -935,7 +986,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.0(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.31)(bufferutil@4.0.9)(esbuild@0.25.5)(utf-8-validate@6.0.5) + version: 4.0.0(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(bufferutil@4.0.9)(esbuild@0.25.5)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.34.0 version: 8.34.0(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) @@ -944,7 +995,7 @@ importers: version: 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.0(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(playwright@1.53.0)(utf-8-validate@6.0.5)(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vitest@3.2.0)(webdriverio@9.15.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.0(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.15.32)(typescript@5.8.3))(playwright@1.53.0)(utf-8-validate@6.0.5)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.0)(webdriverio@9.15.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.0(vitest@3.2.0) @@ -971,16 +1022,16 @@ importers: version: 10.0.0(stylelint@16.20.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.31)(typescript@5.8.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.0(@types/debug@4.1.12)(@types/node@22.15.31)(@vitest/browser@3.2.0)(@vitest/ui@3.2.0)(happy-dom@18.0.1)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) + version: 3.2.0(@types/debug@4.1.12)(@types/node@22.15.32)(@vitest/browser@3.2.0)(@vitest/ui@3.2.0)(happy-dom@18.0.1)(jiti@2.4.2)(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.15.32)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 version: 9.15.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -1002,7 +1053,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.0(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.31)(bufferutil@4.0.9)(esbuild@0.25.5)(utf-8-validate@6.0.5) + version: 4.0.0(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(bufferutil@4.0.9)(esbuild@0.25.5)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.34.0 version: 8.34.0(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) @@ -1011,7 +1062,7 @@ importers: version: 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.0(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(playwright@1.53.0)(utf-8-validate@6.0.5)(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vitest@3.2.0)(webdriverio@9.15.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.0(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.15.32)(typescript@5.8.3))(playwright@1.53.0)(utf-8-validate@6.0.5)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.0)(webdriverio@9.15.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.0(vitest@3.2.0) @@ -1038,16 +1089,16 @@ importers: version: 10.0.0(stylelint@16.20.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.31)(typescript@5.8.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.0(@types/debug@4.1.12)(@types/node@22.15.31)(@vitest/browser@3.2.0)(@vitest/ui@3.2.0)(happy-dom@18.0.1)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) + version: 3.2.0(@types/debug@4.1.12)(@types/node@22.15.32)(@vitest/browser@3.2.0)(@vitest/ui@3.2.0)(happy-dom@18.0.1)(jiti@2.4.2)(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.15.32)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 version: 9.15.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -1069,7 +1120,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.0(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.31)(bufferutil@4.0.9)(esbuild@0.25.5)(utf-8-validate@6.0.5) + version: 4.0.0(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(bufferutil@4.0.9)(esbuild@0.25.5)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.34.0 version: 8.34.0(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) @@ -1078,7 +1129,7 @@ importers: version: 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.0(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(playwright@1.53.0)(utf-8-validate@6.0.5)(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vitest@3.2.0)(webdriverio@9.15.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.0(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.15.32)(typescript@5.8.3))(playwright@1.53.0)(utf-8-validate@6.0.5)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.0)(webdriverio@9.15.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.0(vitest@3.2.0) @@ -1105,16 +1156,16 @@ importers: version: 10.0.0(stylelint@16.20.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.31)(typescript@5.8.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.0(@types/debug@4.1.12)(@types/node@22.15.31)(@vitest/browser@3.2.0)(@vitest/ui@3.2.0)(happy-dom@18.0.1)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) + version: 3.2.0(@types/debug@4.1.12)(@types/node@22.15.32)(@vitest/browser@3.2.0)(@vitest/ui@3.2.0)(happy-dom@18.0.1)(jiti@2.4.2)(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.15.32)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 version: 9.15.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -1137,8 +1188,8 @@ importers: specifier: 6.0.1 version: 6.0.1 '@codemirror/lang-markdown': - specifier: 6.3.2 - version: 6.3.2 + specifier: 6.3.3 + version: 6.3.3 '@codemirror/lang-php': specifier: 6.0.1 version: 6.0.1 @@ -1155,92 +1206,95 @@ importers: specifier: 6.5.11 version: 6.5.11 '@codemirror/view': - specifier: 6.37.1 - version: 6.37.1 + specifier: 6.37.2 + version: 6.37.2 '@fsegurai/codemirror-theme-abcdef': specifier: 6.2.0 - version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1) + version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-abyss': specifier: 6.2.0 - version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1) + version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-android-studio': specifier: 6.2.0 - version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1) + version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-andromeda': specifier: 6.2.0 - version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1) + version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-basic-dark': specifier: 6.2.0 - version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1) + version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-basic-light': specifier: 6.2.0 - version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1) + version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-forest': specifier: 6.2.0 - version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1) + version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-github-dark': specifier: 6.2.0 - version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1) + version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-github-light': specifier: 6.2.0 - version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1) + version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-gruvbox-dark': specifier: 6.2.0 - version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1) + version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-gruvbox-light': specifier: 6.2.0 - version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1) + version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-material-dark': specifier: 6.2.0 - version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1) + version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-material-light': specifier: 6.2.0 - version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1) + version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-monokai': specifier: 6.2.0 - version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1) + version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-nord': specifier: 6.2.0 - version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1) + version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-palenight': specifier: 6.2.0 - version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1) + version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-solarized-dark': specifier: 6.2.0 - version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1) + version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-solarized-light': specifier: 6.2.0 - version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1) + version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-tokyo-night-day': specifier: 6.2.0 - version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1) + version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-tokyo-night-storm': specifier: 6.2.0 - version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1) + version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-volcano': specifier: 6.2.0 - version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1) + version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-vscode-dark': specifier: 6.2.0 - version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1) + version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-vscode-light': specifier: 6.2.0 - version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1) + version: 6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1) '@replit/codemirror-indentation-markers': specifier: 6.5.3 - version: 6.5.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1) + version: 6.5.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) '@replit/codemirror-lang-nix': specifier: 6.0.1 - version: 6.0.1(@codemirror/autocomplete@6.18.6)(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/common@1.2.3)(@lezer/highlight@1.2.1)(@lezer/lr@1.4.2) + version: 6.0.1(@codemirror/autocomplete@6.18.6)(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/common@1.2.3)(@lezer/highlight@1.2.1)(@lezer/lr@1.4.2) '@replit/codemirror-vim': specifier: 6.3.0 - version: 6.3.0(@codemirror/commands@6.8.1)(@codemirror/language@6.11.0)(@codemirror/search@6.5.11)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1) + version: 6.3.0(@codemirror/commands@6.8.1)(@codemirror/language@6.11.0)(@codemirror/search@6.5.11)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) '@ssddanbrown/codemirror-lang-smarty': specifier: 1.0.0 version: 1.0.0 '@ssddanbrown/codemirror-lang-twig': specifier: 1.0.0 version: 1.0.0 + codemirror-lang-elixir: + specifier: 4.0.0 + version: 4.0.0 codemirror-lang-hcl: specifier: 0.1.0 version: 0.1.0 @@ -1248,8 +1302,8 @@ importers: specifier: 0.5.0 version: 0.5.0 eslint-linter-browserify: - specifier: 9.28.0 - version: 9.28.0 + specifier: 9.29.0 + version: 9.29.0 packages/commons: {} @@ -1286,11 +1340,11 @@ importers: specifier: ^5.0.0 version: 5.21.1 '@typescript-eslint/eslint-plugin': - specifier: ^6.7.2 - version: 6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + specifier: ^8.0.0 + version: 8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/parser': - specifier: ^6.7.2 - version: 6.21.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + specifier: ^8.0.0 + version: 8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) dotenv: specifier: ^16.3.1 version: 16.5.0 @@ -1331,8 +1385,8 @@ packages: '@antfu/utils@8.1.1': resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==} - '@anthropic-ai/sdk@0.53.0': - resolution: {integrity: sha512-bl2frVo0cgHCXTzQEIHXPH329uQXC4YKBaLBkZmUc59tNiR3GgcGpBZU7mwfyv5tPuU/yT7tGHyoe5AnjN02QA==} + '@anthropic-ai/sdk@0.54.0': + resolution: {integrity: sha512-xyoCtHJnt/qg5GG6IgK+UJEndz8h8ljzt/caKXmq3LfBF81nC/BW6E4x2rOWCZcvsLyVW+e8U5mtIr6UCE/kJw==} hasBin: true '@apidevtools/json-schema-ref-parser@9.1.2': @@ -1353,6 +1407,127 @@ packages: '@asamuzakjp/css-color@3.1.4': resolution: {integrity: sha512-SeuBV4rnjpFNjI8HSgKUwteuFdkHwkboq31HWzznuqgySQir+jSTczoWVVL4jvOjKjuH80fMDG0Fvg1Sb+OJsA==} + '@aws-crypto/crc32@5.2.0': + resolution: {integrity: sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==} + engines: {node: '>=16.0.0'} + + '@aws-crypto/sha256-browser@5.2.0': + resolution: {integrity: sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==} + + '@aws-crypto/sha256-js@5.2.0': + resolution: {integrity: sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==} + engines: {node: '>=16.0.0'} + + '@aws-crypto/supports-web-crypto@5.2.0': + resolution: {integrity: sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==} + + '@aws-crypto/util@5.2.0': + resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} + + '@aws-sdk/client-bedrock-runtime@3.621.0': + resolution: {integrity: sha512-08QQhvnY3WQvIKX3rdzPcOwq13rD16jL63U2itpciNPVAlsDdw/4cUnbVSW+h9V/Lhb9LmlmbbbYdI3ZvGW+7A==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/client-sso-oidc@3.621.0': + resolution: {integrity: sha512-mMjk3mFUwV2Y68POf1BQMTF+F6qxt5tPu6daEUCNGC9Cenk3h2YXQQoS4/eSyYzuBiYk3vx49VgleRvdvkg8rg==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@aws-sdk/client-sts': ^3.621.0 + + '@aws-sdk/client-sso@3.621.0': + resolution: {integrity: sha512-xpKfikN4u0BaUYZA9FGUMkkDmfoIP0Q03+A86WjqDWhcOoqNA1DkHsE4kZ+r064ifkPUfcNuUvlkVTEoBZoFjA==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/client-sts@3.621.0': + resolution: {integrity: sha512-707uiuReSt+nAx6d0c21xLjLm2lxeKc7padxjv92CIrIocnQSlJPxSCM7r5zBhwiahJA6MNQwmTl2xznU67KgA==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/core@3.621.0': + resolution: {integrity: sha512-CtOwWmDdEiINkGXD93iGfXjN0WmCp9l45cDWHHGa8lRgEDyhuL7bwd/pH5aSzj0j8SiQBG2k0S7DHbd5RaqvbQ==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/credential-provider-env@3.620.1': + resolution: {integrity: sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/credential-provider-http@3.621.0': + resolution: {integrity: sha512-/jc2tEsdkT1QQAI5Dvoci50DbSxtJrevemwFsm0B73pwCcOQZ5ZwwSdVqGsPutzYzUVx3bcXg3LRL7jLACqRIg==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/credential-provider-ini@3.621.0': + resolution: {integrity: sha512-0EWVnSc+JQn5HLnF5Xv405M8n4zfdx9gyGdpnCmAmFqEDHA8LmBdxJdpUk1Ovp/I5oPANhjojxabIW5f1uU0RA==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@aws-sdk/client-sts': ^3.621.0 + + '@aws-sdk/credential-provider-node@3.621.0': + resolution: {integrity: sha512-4JqpccUgz5Snanpt2+53hbOBbJQrSFq7E1sAAbgY6BKVQUsW5qyXqnjvSF32kDeKa5JpBl3bBWLZl04IadcPHw==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/credential-provider-process@3.620.1': + resolution: {integrity: sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/credential-provider-sso@3.621.0': + resolution: {integrity: sha512-Kza0jcFeA/GEL6xJlzR2KFf1PfZKMFnxfGzJzl5yN7EjoGdMijl34KaRyVnfRjnCWcsUpBWKNIDk9WZVMY9yiw==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/credential-provider-web-identity@3.621.0': + resolution: {integrity: sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@aws-sdk/client-sts': ^3.621.0 + + '@aws-sdk/middleware-host-header@3.620.0': + resolution: {integrity: sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/middleware-logger@3.609.0': + resolution: {integrity: sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/middleware-recursion-detection@3.620.0': + resolution: {integrity: sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/middleware-user-agent@3.620.0': + resolution: {integrity: sha512-bvS6etn+KsuL32ubY5D3xNof1qkenpbJXf/ugGXbg0n98DvDFQ/F+SMLxHgbnER5dsKYchNnhmtI6/FC3HFu/A==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/region-config-resolver@3.614.0': + resolution: {integrity: sha512-vDCeMXvic/LU0KFIUjpC3RiSTIkkvESsEfbVHiHH0YINfl8HnEqR5rj+L8+phsCeVg2+LmYwYxd5NRz4PHxt5g==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/token-providers@3.614.0': + resolution: {integrity: sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@aws-sdk/client-sso-oidc': ^3.614.0 + + '@aws-sdk/types@3.609.0': + resolution: {integrity: sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/util-endpoints@3.614.0': + resolution: {integrity: sha512-wK2cdrXHH4oz4IomV/yrGkftU9A+ITB6nFL+rxxyO78is2ifHJpFdV4aqk4LSkXYPi6CXWNru/Dqc7yiKXgJPw==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/util-locate-window@3.804.0': + resolution: {integrity: sha512-zVoRfpmBVPodYlnMjgVjfGoEZagyRF5IPn3Uo6ZvOZp24chnW/FRstH7ESDHDDRga4z3V+ElUQHKpFDXWyBW5A==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-user-agent-browser@3.609.0': + resolution: {integrity: sha512-fojPU+mNahzQ0YHYBsx0ZIhmMA96H+ZIZ665ObU9tl+SGdbLneVZVikGve+NmHTQwHzwkFsZYYnVKAkreJLAtA==} + + '@aws-sdk/util-user-agent-node@3.614.0': + resolution: {integrity: sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA==} + engines: {node: '>=16.0.0'} + peerDependencies: + aws-crt: '>=1.0.0' + peerDependenciesMeta: + aws-crt: + optional: true + '@babel/code-frame@7.26.2': resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} @@ -2007,9 +2182,18 @@ packages: '@chevrotain/utils@11.0.3': resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==} + '@ckeditor/ckeditor-cloud-services-collaboration@53.0.0': + resolution: {integrity: sha512-fvPDzpWW6X0cPaz0nTV2e1kKIGCCUZWCYcgaY8Nfk/Lol1uqqhOaYqzL33ONDPf/TeEIrBNXDU+WtBPWLGMNIQ==} + peerDependencies: + '@ckeditor/ckeditor5-utils': '>= 37.0' + ckeditor5: '>= 37.0' + '@ckeditor/ckeditor5-adapter-ckfinder@45.2.0': resolution: {integrity: sha512-wMDFBDGcUpq8jN/yftki1RxEz79FePfBedeS572+sWdvjm4lPDhkFQETOH0RwZ0TySNen3GJxFe8rKc4LI+iZA==} + '@ckeditor/ckeditor5-ai@45.2.0': + resolution: {integrity: sha512-klC/QECKx61d9Yf/nfl+gK/W549d64+gsD7lkpm/M9nKGRszqXDZV8aZDyYabP2vPrjO+fUpKCAG5LCSa1OuoQ==} + '@ckeditor/ckeditor5-alignment@45.2.0': resolution: {integrity: sha512-fARxsVWFZpWgTTiWdaY5bxrXnDokafTNk2cEZul5YtVBG3qFXz7MA/MzPc9+NFlu1Kju3WDos9synwxtDrMKTQ==} @@ -2028,6 +2212,9 @@ packages: '@ckeditor/ckeditor5-bookmark@45.2.0': resolution: {integrity: sha512-mpMXvRA/ZWHR7K9nFOUd517/7CgJxSNfbJpgibEcXJMvWQxeKBAMgLtrA8hKO3uX22qbxbBxw5EipyGz3b1cYA==} + '@ckeditor/ckeditor5-case-change@45.2.0': + resolution: {integrity: sha512-NDaAwaAldUsHfkrnzHUp+ZbJjoIJtd4DyqlAHrZzAbJyvOYWRw5LQ1N3kvyFrVlDT802PjihbRC7QIM9IS4zfw==} + '@ckeditor/ckeditor5-ckbox@45.2.0': resolution: {integrity: sha512-HTwlpWUiozn4OubRCavQ0BJMZKvBBQ8bwjdbsC3hmRHMQvh62808r454wj6fETy4JuTBCaRNqaw9sO3j2eCpsQ==} @@ -2043,6 +2230,12 @@ packages: '@ckeditor/ckeditor5-code-block@45.2.0': resolution: {integrity: sha512-lU5PIc7hDUqZ7GEVrZQBI863cMeoIFWhuY9yVBzOgsGj4J6FcO1GeRGOUNeedCnwjIIRh9+hGEBgYfc8dMa5yg==} + '@ckeditor/ckeditor5-collaboration-core@45.2.0': + resolution: {integrity: sha512-Qp6UfD7DtryBTsEOZaDXvyhIQLMJWfsTkQKaDXkYKa5NPqIZoIo8e7dDaAeaaZzwJK93Lw8ejcwOyg8aNuV6mw==} + + '@ckeditor/ckeditor5-comments@45.2.0': + resolution: {integrity: sha512-COTiHzA6TVYpCCFCyTI2qxlCbxLUHvh0Li3jGWnlbcmCbX5K3/Mt9Nm4+bcBJrC1Q/bhUoOwv3ky+fDb+iPE9g==} + '@ckeditor/ckeditor5-core@45.2.0': resolution: {integrity: sha512-mNHNCReBAeBLkMSffq54iD/l5p+eViYWOo+iRoUyXw+qNStmNRWac2Gkl4oWvwn05At1Gpprzs4LqHeWTEMNcw==} @@ -2067,6 +2260,9 @@ packages: resolution: {integrity: sha512-qy+9myEN/c/LSQYbjwXx9P1YEIb3ms1gmTb3LwOzyZFeEZacztC5vKjEopBFQaNBy38edm9F97UXyANiZ+BUiw==} engines: {node: '>=18.0.0', npm: '>=5.7.1'} + '@ckeditor/ckeditor5-document-outline@45.2.0': + resolution: {integrity: sha512-SwlFhyIglQvOtYAu82rYhhC9Dp9g++1+pZnImWKIvKxlC3r5wgXWD413OuQoLJtk5tZe74e92rJ0U+rMuLjo9A==} + '@ckeditor/ckeditor5-easy-image@45.2.0': resolution: {integrity: sha512-6wPMwLiYtYQU3SuPQv/B0ujz7IMBEzETbKfqNtYzDk1MvzSdvDSfI5GjIH1tqTyGmK7wtEaJVZLI2B1Wu/R1mA==} @@ -2085,6 +2281,9 @@ packages: '@ckeditor/ckeditor5-editor-multi-root@45.2.0': resolution: {integrity: sha512-MmVq3Dis/3gKME26aVeIHWp+ESqoi9VJTazzjTBuqtuplwCfG2/NhaYvMSX4goN9HGkmXGtfgRONlfWSaLQiPA==} + '@ckeditor/ckeditor5-email@45.2.0': + resolution: {integrity: sha512-1sjduEWcJAvfXq2WKQS/sisrD0d41Yjen4Gh4eUpr65q/m4AgYQ+xmbSu45LGgZs3yupFtEw1anPCfwQffWOyQ==} + '@ckeditor/ckeditor5-emoji@45.2.0': resolution: {integrity: sha512-NtUTMRyv26iWd14Rr6G0zbwLeRsInj51WzsjPSf2YPw0/yqhV3ul9q4mYELfKBEG4op/uReH0ZTPbF7DQNUstg==} @@ -2097,12 +2296,24 @@ packages: '@ckeditor/ckeditor5-essentials@45.2.0': resolution: {integrity: sha512-z0CSUMTPHSr29agNg76K3rwI5mh3EAYvlu7BIzgzfZqrKVdAiJHwzbdBqU/LU2JorhLl4ZTHVb3H4wk4fHzxug==} + '@ckeditor/ckeditor5-export-inline-styles@45.2.0': + resolution: {integrity: sha512-hM+HxUwUhv3EqMXpoKFQZ5VOt+Aa3X1o0Rh3jMVlZ5rdlrRHckT0dnDgAWx5+NypWmTCRrGDRvr9++xa9Qwg2w==} + + '@ckeditor/ckeditor5-export-pdf@45.2.0': + resolution: {integrity: sha512-tatn/ZH9Q2QBiqcGDavUwybevNXu1HDbGZtNDJt8Vunp2B1HjGD69ZEFDVXDyvbHjKjaTB9QVlei0B3VFpt7uw==} + + '@ckeditor/ckeditor5-export-word@45.2.0': + resolution: {integrity: sha512-DWfKzKz3fuXSHj8zmAmwuGJyW4Qx33/tP7oDMohOTZhKwvq6FCZRUZmFcqJhz4+T+J+1L5KO/A3Ty7HAU0Gqzw==} + '@ckeditor/ckeditor5-find-and-replace@45.2.0': resolution: {integrity: sha512-Fn7vhHX8baV7MQgm5fr15sG8LS6QUyqvqdvY05gQuv4+CVs3HBgK2zdNznQwUFoI+Zlyk0erEhKnWdyTCYRcxQ==} '@ckeditor/ckeditor5-font@45.2.0': resolution: {integrity: sha512-EEamXmHw+Kckhjk7JmaxA6fDVK7P6rwAWGqmZiJzwfO0g7BRwzp/BtjTmXysbWVvaCxm7bbnib/OKX6MP8ZyWw==} + '@ckeditor/ckeditor5-format-painter@45.2.0': + resolution: {integrity: sha512-N1vCTFYOVRyFlhk4TFjupp5OriJKteZMuvdfIXZXiwQsyYhYy4EnEHNUMzovlCqHV0AFNYSQMxT7qfeJ+0O66g==} + '@ckeditor/ckeditor5-fullscreen@45.2.0': resolution: {integrity: sha512-bYj3jt42X7qPpkJUGc4N7n+EzwsoHIVInVAHYXHeJLkN8axuiLraGAe+pguZvwRalMJOkIDqXj/flpm8go2x9w==} @@ -2127,6 +2338,9 @@ packages: '@ckeditor/ckeditor5-image@45.2.0': resolution: {integrity: sha512-x218ePIog5HZ83H7m3OeAuH4gdclRN+sJczXZAi9zGSYuRzUxHmqcXh2s4rDyrLc0tFf2TB9W6jjrsqokmXZTA==} + '@ckeditor/ckeditor5-import-word@45.2.0': + resolution: {integrity: sha512-7mM/GXxsISUzzV/unw+uCgv/ji2zI1B5KG673hsIlivMRegnpNHce/sOFThcl+UANDPRkgK3UcTR696SImTupA==} + '@ckeditor/ckeditor5-indent@45.2.0': resolution: {integrity: sha512-gdJQugvCrT5OpDdQCvCIl+zsgDxWFh8q+Aj+aL7We2LDDXg2rlbDuT/lBbXPEBObyuLBBo0/MthlwcirkBoXKg==} @@ -2140,6 +2354,9 @@ packages: '@ckeditor/ckeditor5-link@45.2.0': resolution: {integrity: sha512-0KHaoF+/tpHcJljdxdnrKRrPgtn8YVVPz/wyuTITeg0aO+K6r7UbtrB/LEsLOv8MUO/KLcb9LtlgCZw7Jxm4VQ==} + '@ckeditor/ckeditor5-list-multi-level@45.2.0': + resolution: {integrity: sha512-kH7aJwqwHkgSFfc8EOQUV75rywDQKGhgLTKRFB7kmdfHfOAyK6N/aGRpCwLwJkuZgyp0zqPJBkmlnqmLCV2i2g==} + '@ckeditor/ckeditor5-list@45.2.0': resolution: {integrity: sha512-pXGpmkPhHxVmIDJnfjAaCuSS1MxbGJ29vJ+tHy9avTdN4oQjQJX3HMaKg7Fxq8iqsHKrXvMFM3k3kLq+ff2IFw==} @@ -2152,9 +2369,15 @@ packages: '@ckeditor/ckeditor5-mention@45.2.0': resolution: {integrity: sha512-nBBEArPfYiopARSOI2TwbYCxLk9ALdKc/3qh2D2rjQwvoJ6zn7nBBoiDBMbhO2XC6J+AkUYQNEqcNVS4j3HIew==} + '@ckeditor/ckeditor5-merge-fields@45.2.0': + resolution: {integrity: sha512-oVb8rawPuEYwfanBsXLAsRltoTecKVqfiM65A+GCB2bqfXRmM1jbu8nzGHj16uPSDYboXONwRqjQK0AFRChrTg==} + '@ckeditor/ckeditor5-minimap@45.2.0': resolution: {integrity: sha512-24X53UrzhzppPHECa17Xb69EcnXuV/ktaSTbYFncIDbBFef4GwQjkQweplmXdgNRh630GLlhQc/GCCtbhIvDlA==} + '@ckeditor/ckeditor5-operations-compressor@45.2.0': + resolution: {integrity: sha512-MO48Y5hQ2FYCWHrfmHSexYWdvm+QVWeJq0pTA7OWnDMhNXG0+u3jEjIngbjjAXL4GfTx8q33N0fCNQPB3yFf7Q==} + '@ckeditor/ckeditor5-package-tools@4.0.0': resolution: {integrity: sha512-LSNB5Q51A7nZL2N/o7EuV3TcHn2rncpc1qucP3GgJstYSXELY37NEGgprGKWJPH20tQqs1vJIFO7L4Jq6h1h1A==} hasBin: true @@ -2162,24 +2385,42 @@ packages: '@ckeditor/ckeditor5-page-break@45.2.0': resolution: {integrity: sha512-hKjc/pJS8CbCwQXJMmBb0EbqBjCb9811E+08SNo4o0AztZfFlxvZPcua4GjckWWQYYtjdG7GviTe+pmnR4vT+w==} + '@ckeditor/ckeditor5-pagination@45.2.0': + resolution: {integrity: sha512-Cuo1aVDioMux/k0vel1czpDeRvyzrJAvlPAsFlPiw7v8gFirtBqP9DJb+zF4n3izbebo8ZLrH1T8si7j+jXeRw==} + '@ckeditor/ckeditor5-paragraph@45.2.0': resolution: {integrity: sha512-6Cb7PdZigDe/wxDbIA6ZEmQFqDzOXfkzS8frXiQZ5EoU9DcylrF9GgRQhCO3vC2v0SoymqBZ72ldxGxHGhaVCw==} + '@ckeditor/ckeditor5-paste-from-office-enhanced@45.2.0': + resolution: {integrity: sha512-u1nT9X9YN2+F5PtbVFJGJXp0i5/UlktDenFxsH76/fUkdujxX/KyxUZOE9MpHHBItMkhYSPJ1H15NrLgJBv+vg==} + '@ckeditor/ckeditor5-paste-from-office@45.2.0': resolution: {integrity: sha512-lEvFlWW1xSzwX9+d8cfES7quvIjifbkKp3zy2x4pW3hSsk7ba4zNuV0ML1JRea95u79RjCNLYnK2FU3q0AXKUg==} + '@ckeditor/ckeditor5-real-time-collaboration@45.2.0': + resolution: {integrity: sha512-tSxStI7GBhZkMCnQNIqsj0b8geXh8OGzjVnycHK7M+7fPwoaaQmpeuboUX2xj02/ITd8Gd11pjMleueOxtHD5w==} + '@ckeditor/ckeditor5-remove-format@45.2.0': resolution: {integrity: sha512-NHHsbjSw0gXGgDW8eyuOIHRTjs6BtU3YJwhXFqLXP6h+RM1gs9xTypZoKAPF6IYqS8F9+73SNy50/bmSzGfcFg==} '@ckeditor/ckeditor5-restricted-editing@45.2.0': resolution: {integrity: sha512-HegnRobGiLHWkBtZcQVuPyUmbU6R5sFU0w2CKLLjQzqpgs9i1g2mTqcBr3GBPUdOty0v0nfc3r0Q0BM2X8Rtow==} + '@ckeditor/ckeditor5-revision-history@45.2.0': + resolution: {integrity: sha512-IFTyrNtntlcZ021iA2i4svtzHLJ8ZvAvbdm+ImUfZ3fdXmbs9YlQAJNse0W6q8zbgTowkGPvksU/nEE3n1b3iQ==} + '@ckeditor/ckeditor5-select-all@45.2.0': resolution: {integrity: sha512-Q7qjnwnkDvev7wsIYV7kcqtap3Ki5PIUlEBisB8IBrnS+6JjZtkbVSbuRYK2E6Qfe0gDdz//tnOoUc4Hb65uWA==} '@ckeditor/ckeditor5-show-blocks@45.2.0': resolution: {integrity: sha512-CCgj9R27PqMAat62COD/vfnX/YHWmFYzQCqyT88XuUIxB3GltsHEimxsZ+4uXo8G433bHeHhQWuOc9zWBh6CzQ==} + '@ckeditor/ckeditor5-slash-command@45.2.0': + resolution: {integrity: sha512-LMrBCrmGWeghVVeNkO3aTC3UU+EmMx8Z6gv6ZNADgIlqB+2AIy/fpNBHWJIQuSwzRxn1/wyDWpHjcfWoMHBbwA==} + + '@ckeditor/ckeditor5-source-editing-enhanced@45.2.0': + resolution: {integrity: sha512-5nhFFykXvkMfO6iS4CjHlHH2NSgtyD4uMPxe4WKRl4ax0+iJvrMTQaqJi/aIh23XqgLJkmsuKxH+51RcyXWDhA==} + '@ckeditor/ckeditor5-source-editing@45.2.0': resolution: {integrity: sha512-3DZPIvuvjgpfD3kr6/TE210+wVTFHwML1RAKU0fcBfWbgz/OPr81DJAU35kcpaU4vwahurLAwc15iM7D+O/TGg==} @@ -2192,9 +2433,15 @@ packages: '@ckeditor/ckeditor5-table@45.2.0': resolution: {integrity: sha512-sMYpAaHTx418RQwIsiHEQ1RXOhkmxXZxfVoThfFdCvdSVhVruCRmrXc6Thn809pJEFqAnAOe3t7Pf5gNIdFnrQ==} + '@ckeditor/ckeditor5-template@45.2.0': + resolution: {integrity: sha512-1SxnW7KMfRNCglC+HfvNSbi/hFNMNX6BP0e39S+rY80h0I/HtxTMOcKAzIsRrPx8/X4Zgphk0YCY2IfYNGrD6A==} + '@ckeditor/ckeditor5-theme-lark@45.2.0': resolution: {integrity: sha512-oxW8jaa8YZcFoq9EgZUpRZhJS/YDlq7FBDahl92CYjhfHeCCXNWLpG48bx8OSLTLviFE+5wAR2fwvetwMhEkeA==} + '@ckeditor/ckeditor5-track-changes@45.2.0': + resolution: {integrity: sha512-k2vEf5dsko8FePqb65B95NT0CjK6sP4ct/HCeZgZiz43jsdWAtl/TMNinQbM/Qa+hKYY6lLcOAPGjo86MZ7hUg==} + '@ckeditor/ckeditor5-typing@45.2.0': resolution: {integrity: sha512-kIolXzb60SV9+oAA2tRz0gjsZgb/Tjyra6Jy1S+K7YPh8tMGaDZEhWzwNf4IZl6J0Ue840XwStZgA7Wnf1y1fw==} @@ -2207,6 +2454,9 @@ packages: '@ckeditor/ckeditor5-upload@45.2.0': resolution: {integrity: sha512-t4oYi3OK/dYzVjPzZI55VxmHqfc9rA8GeVonQrnLOpQfBW3G9BHxDn4xzLhgGbKqyMKwDqYb1XIUoFrI84pvMg==} + '@ckeditor/ckeditor5-uploadcare@45.2.0': + resolution: {integrity: sha512-/myYYfDDYsAVFOR6rm4S5HD1h5eqX9/YM9S0sN3KAT6bsHAkkAoYL0S67tUygQXEudNHxOJGfS8rjeNUW1/9Kw==} + '@ckeditor/ckeditor5-utils@45.2.0': resolution: {integrity: sha512-SFRh25D5szN+AhnmzNwgef8zJFQisl9tP2f3GR7Mr4bVHzzyz/9SY/ZkGTwOG1Q5lt0kbwQyL3WWpDLfVkWPpg==} @@ -2222,6 +2472,9 @@ packages: '@codemirror/autocomplete@6.18.6': resolution: {integrity: sha512-PHHBXFomUs5DF+9tCOM/UoW6XQ4R44lLNNhRaW9PKPTU0D7lIjRg3ElxaJnTwsl/oHiR93WSXDBrekhoUGCPtg==} + '@codemirror/commands@6.8.0': + resolution: {integrity: sha512-q8VPEFaEP4ikSlt6ZxjB3zW72+7osfAYW9i8Zu943uqbKuz6utc1+F170hyLUCUltXORjQXRyYQNfkckzA/bPQ==} + '@codemirror/commands@6.8.1': resolution: {integrity: sha512-KlGVYufHMQzxbdQONiLyGQDUW0itrLZwq3CcY7xpv9ZLRHqzkBSoteocBHtMCoY7/Ci4xhzSrToIeLg7FxHuaw==} @@ -2240,6 +2493,9 @@ packages: '@codemirror/lang-markdown@6.3.2': resolution: {integrity: sha512-c/5MYinGbFxYl4itE9q/rgN/sMTjOr8XL5OWnC+EaRMLfCbVUmmubTJfdgpfcSS2SCaT7b+Q+xi3l6CgoE+BsA==} + '@codemirror/lang-markdown@6.3.3': + resolution: {integrity: sha512-1fn1hQAPWlSSMCvnF810AkhWpNLkJpl66CRfIy3vVl20Sl4NwChkorCHqpMtNbXr1EuMJsrDnhEpjZxKZ2UX3A==} + '@codemirror/lang-php@6.0.1': resolution: {integrity: sha512-ublojMdw/PNWa7qdN5TMsjmqkNuTBD3k6ndZ4Z0S25SBAiweFGyY68AS3xNcIOlb6DDFDvKlinLQ40vSLqf8xA==} @@ -2264,8 +2520,11 @@ packages: '@codemirror/state@6.5.2': resolution: {integrity: sha512-FVqsPqtPWKVVL3dPSxy8wEF/ymIEuVzF1PK3VbUgrxXpJUSHQWWZz4JMToquRxnkw+36LTamCZG2iua2Ptq0fA==} - '@codemirror/view@6.37.1': - resolution: {integrity: sha512-Qy4CAUwngy/VQkEz0XzMKVRcckQuqLYWKqVpDDDghBe5FSXSqfVrJn49nw3ePZHxRUz4nRmb05Lgi+9csWo4eg==} + '@codemirror/theme-one-dark@6.1.2': + resolution: {integrity: sha512-F+sH0X16j/qFLMAfbciKTxVOwkdAS336b7AXTKOZhy8BR3eH/RelsnLgLFINrpST63mmN2OuwUt0W2ndUgYwUA==} + + '@codemirror/view@6.37.2': + resolution: {integrity: sha512-XD3LdgQpxQs5jhOOZ2HRVT+Rj59O4Suc7g2ULvZ+Yi8eCkickrkZ5JFuoDhs2ST1mNI5zSsNYgR3NGa4OUrbnw==} '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} @@ -2640,18 +2899,39 @@ packages: resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + '@eslint/compat@1.3.0': + resolution: {integrity: sha512-ZBygRBqpDYiIHsN+d1WyHn3TYgzgpzLEcgJUxTATyiInQbKZz6wZb6+ljwdg8xeeOe4v03z6Uh6lELiw0/mVhQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^9.10.0 + peerDependenciesMeta: + eslint: + optional: true + '@eslint/config-array@0.20.0': resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/config-array@0.20.1': + resolution: {integrity: sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/config-helpers@0.2.2': resolution: {integrity: sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/config-helpers@0.2.3': + resolution: {integrity: sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/core@0.14.0': resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/core@0.15.0': + resolution: {integrity: sha512-b7ePw78tEWWkpgZCDYkbqDOP8dmM6qe+AOC6iuJqlq1R/0ahMAeH3qynpnqKFGkMltrp44ohV4ubGyvLX28tzw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/eslintrc@3.3.1': resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2660,6 +2940,10 @@ packages: resolution: {integrity: sha512-fnqSjGWd/CoIp4EXIxWVK/sHA6DOHN4+8Ix2cX5ycOY7LG0UY8nHCU5pIp2eaE1Mc7Qd8kHspYNzYXT2ojPLzg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/js@9.29.0': + resolution: {integrity: sha512-3PIF4cBw/y+1u2EazflInpV+lYsSG0aByVIQzAgb1m1MhHFSbqTyNqtBKHgWf/9Ykud+DhILS9EGkmekVhbKoQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/object-schema@2.1.6': resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2668,6 +2952,10 @@ packages: resolution: {integrity: sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/plugin-kit@0.3.2': + resolution: {integrity: sha512-4SaFZCNfJqvk/kenHpI8xvN42DMaoycy4PzKc5otHxRswww1kAt82OlBuwRVLofCACCTZEcla2Ydxv8scMXaTg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@excalidraw/excalidraw@0.18.0': resolution: {integrity: sha512-QkIiS+5qdy8lmDWTKsuy0sK/fen/LRDtbhm2lc2xcFcqhv2/zdg95bYnl+wnwwXGHo7kEmP65BSiMHE7PJ3Zpw==} peerDependencies: @@ -2955,6 +3243,17 @@ packages: '@iconify/utils@2.3.0': resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==} + '@inlang/paraglide-js@2.1.0': + resolution: {integrity: sha512-hpj5AglQphR91IH2qXPRp78fTkRVdhlNl09rZZBTtB18fcmJpCScDFckUEaR0UhOARySd4SiH/7/GbVenFcrbQ==} + hasBin: true + + '@inlang/recommend-sherlock@0.2.1': + resolution: {integrity: sha512-ckv8HvHy/iTqaVAEKrr+gnl+p3XFNwe5D2+6w6wJk2ORV2XkcRkKOJ/XsTUJbPSiyi4PI+p+T3bqbmNx/rDUlg==} + + '@inlang/sdk@2.4.9': + resolution: {integrity: sha512-cvz/C1rF5WBxzHbEoiBoI6Sz6q6M+TdxfWkEGBYTD77opY8i8WN01prUWXEM87GPF4SZcyIySez9U0Ccm12oFQ==} + engines: {node: '>=18.0.0'} + '@inquirer/confirm@5.1.12': resolution: {integrity: sha512-dpq+ielV9/bqgXRUbNH//KsY6WEw9DrGPmipkpmgC1Y46cwuBTNx7PXFWTjc3MQ+urcc0QxoVHcMI0FW4Ok0hg==} engines: {node: '>=18'} @@ -3252,6 +3551,13 @@ packages: '@lezer/xml@1.0.6': resolution: {integrity: sha512-CdDwirL0OEaStFue/66ZmFSeppuL6Dwjlk8qk153mSQwiSH/Dlri4GNymrNWnUmPl2Um7QfV1FO9KFUyX3Twww==} + '@lix-js/sdk@0.4.7': + resolution: {integrity: sha512-pRbW+joG12L0ULfMiWYosIW0plmW4AsUdiPCp+Z8rAsElJ+wJ6in58zhD3UwUcd4BNcpldEGjg6PdA7e0RgsDQ==} + engines: {node: '>=18'} + + '@lix-js/server-protocol-schema@0.1.1': + resolution: {integrity: sha512-jBeALB6prAbtr5q4vTuxnRZZv1M2rKe8iNqRQhFJ4Tv7150unEa0vKyz0hs8Gl3fUGsWaNJBh3J8++fpbrpRBQ==} + '@ljharb/resumer@0.0.1': resolution: {integrity: sha512-skQiAOrCfO7vRTq53cxznMpks7wS1va95UCidALlOVWqvBAzwPVErwizDwoMqNVMEn1mDq0utxZd02eIrvF1lw==} engines: {node: '>= 0.4'} @@ -3284,7 +3590,7 @@ packages: '@mermaid-js/layout-elk@0.1.7': resolution: {integrity: sha512-G3AJ2jMaCAqky2CT3z/sf3pK5UuS3tne98GsXDl3PkKByCmPmOYmJPf+6oX5PUlV3HNWWHuSgtZ9NU/CZDSuHQ==} peerDependencies: - mermaid: ^11.0.0 + mermaid: 11.6.0 '@mermaid-js/parser@0.4.0': resolution: {integrity: sha512-wla8XOWvQAwuqy+gxiZqY+c7FokraOTHRWMsbB4AgRx9Sy7zKslNyejy7E+a77qHfey5GXw/ik3IXv/NHMJgaA==} @@ -3361,21 +3667,21 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} deprecated: This functionality has been moved to @npmcli/fs - '@nx/devkit@21.1.3': - resolution: {integrity: sha512-NSNXdn+PaNoPcxAKIhnZUbOA91Jzgk68paZEiABzAhkvfmrE5jM6VDMT6sJZ8lHWocrf6QFnzAOon1R4MoBeZw==} + '@nx/devkit@21.2.0': + resolution: {integrity: sha512-IunVWFtqiq7NqGu1dL8fUPW3uaShbxGqjwbfkRVAiEq+GqpAWgeFLJYHqUb0THdHegX7Fxit8x0sTz4QNNpd2Q==} peerDependencies: - nx: 21.1.3 + nx: 21.2.0 - '@nx/esbuild@21.1.3': - resolution: {integrity: sha512-yYbD5wtc0nsSJq7v6F/tbfZwAxvvZfLxowdK4f30RgPdMnIgVW8Aqwyu3czDnLrmORJeuZ10NiGHp5pZtkGeYQ==} + '@nx/esbuild@21.2.0': + resolution: {integrity: sha512-DW/Ue7uyd6I9xw8GBonkGW4Yyc8EhjniGLY35T/OULrH0qdbi1IAHj1iTgxTfitfa+UISU0pw6oUowL8pniflw==} peerDependencies: esbuild: '>=0.25.0' peerDependenciesMeta: esbuild: optional: true - '@nx/eslint-plugin@21.1.3': - resolution: {integrity: sha512-xmh3bsK7yVQiEm0O5C3cD/J1P++iWQbEUl5rnysNxgHLh6gxkIh+4GLyRS8/05gbd6+JD1WKuzn77/wGq1gohw==} + '@nx/eslint-plugin@21.2.0': + resolution: {integrity: sha512-UEUYzns1Y4KJmrmz8a3gDt5gBMG1G7cNbdndRIOfWIA4l14ziPAqvphuwNMRFvmIcIx0OpuzzlitdXTSlPKB5Q==} peerDependencies: '@typescript-eslint/parser': ^6.13.2 || ^7.0.0 || ^8.0.0 eslint-config-prettier: ^10.0.0 @@ -3383,8 +3689,8 @@ packages: eslint-config-prettier: optional: true - '@nx/eslint@21.1.3': - resolution: {integrity: sha512-g4Os1AfTjS+51a6+X+5ZgY/J7TGIKdc1byORreaSnLXtN9BU6r4WKzGkT5TAAXS+UXXmSih7QAJhKPur2IHddQ==} + '@nx/eslint@21.2.0': + resolution: {integrity: sha512-IxVItkeApgbQxeCb8D0A8Rm7eyxoFD9N5QfyKua89jNnPdtr+JkVZ4LlFyCMmtFzrmu+A06+x0pyY2wCNv4sPg==} peerDependencies: '@zkochan/js-yaml': 0.0.7 eslint: ^8.0.0 || ^9.0.0 @@ -3392,97 +3698,97 @@ packages: '@zkochan/js-yaml': optional: true - '@nx/express@21.1.3': - resolution: {integrity: sha512-CbfxgkDJmx6iz8eegcNDa+ygPbfyQ7lIVwEDLGECFEaL5W48IwDlydbBYjbtPD2VfXFHX1z8zbgeuC1zMnWuKA==} + '@nx/express@21.2.0': + resolution: {integrity: sha512-k2BDmTo2UPI1/fKMWKKHl+G/CZ/uDJHCtkeE7+bXY8X6SIInWOVfrXFNG9IPjUvUcRxjpVZYRXfZ4pF2s7B70w==} peerDependencies: express: ^4.21.2 peerDependenciesMeta: express: optional: true - '@nx/jest@21.1.3': - resolution: {integrity: sha512-Wn3dqxvJ+O3OYiJ/h0Mmr4huc3JS+nZquUMAm19aJS8y6QVWRzGQGPxEJQ5jzoe407VMIKjiQ4LPhoV/xrNwbA==} + '@nx/jest@21.2.0': + resolution: {integrity: sha512-QLBgnQWdHn+EAvp9+juPmOYTTcR3/RIYKIaL7fbSVrXi2h1Axnx02DtNXSYEN1wGGF6DbWxoRLN6gb84dG2wDA==} - '@nx/js@21.1.3': - resolution: {integrity: sha512-pwn1tgWX8sxh+VKZRZl9VkabXkEyeELFCgkWS/on2Y1J6W2dMBcmyGuZAeLef2GkUNaR79VMWIqvPaK0JLyf4g==} + '@nx/js@21.2.0': + resolution: {integrity: sha512-BdDvhaEYh+/Aat8lrbmsuaUsYyxpLO4sRKiiAgW4NMRG+1a96BSwd9tvkrJkiLPJO5SnbI+/YKImunQwqcg/dg==} peerDependencies: verdaccio: ^6.0.5 peerDependenciesMeta: verdaccio: optional: true - '@nx/node@21.1.3': - resolution: {integrity: sha512-tFsdkQ7RJZjAmivRkmVRAbY3ck7u+RLhcswelx2kXRsRozrWxX4Da+pECUePt2wq/HnrBGujPgGrZz7pMpZrbQ==} + '@nx/node@21.2.0': + resolution: {integrity: sha512-YRENukvKe4wZxC35CwUrLFVld7fGB8NbDPaqPDDtDQMFuOhD6WodDtD1fpki40ZUpIxdZVaOAsCK4JA/xwUKXQ==} - '@nx/nx-darwin-arm64@21.1.3': - resolution: {integrity: sha512-gbBKQrw9ecjXHVs7Kwaht5Dip//NBCgmnkf3GGoA40ad3zyvHDe+MBWMxueRToUVW/mDPh8b5lvLbmFApiY6sQ==} + '@nx/nx-darwin-arm64@21.2.0': + resolution: {integrity: sha512-vfGvQ9IKinXo785jB1gTa9pAFRfxkZGeK/4P5hQNxYNLyROGu9caujrseXTLjZvF1hDuStvnUfoaBlcfhP36hQ==} cpu: [arm64] os: [darwin] - '@nx/nx-darwin-x64@21.1.3': - resolution: {integrity: sha512-yGDWqxwNty1BJcuvZlwGGravAhg8eIRMEIp2omfIxeyfZEVA4b7egwMCqczwU2Li/StNjTtzrUe1HPWgcCVAuQ==} + '@nx/nx-darwin-x64@21.2.0': + resolution: {integrity: sha512-+EMFxQzZshXbKXF1AexSnutroF1+Fs2W84DdfukHL0Q/hT00CZTKS4wgVAkMEO5dfRKpSB/fs8owRkSbE8R9vQ==} cpu: [x64] os: [darwin] - '@nx/nx-freebsd-x64@21.1.3': - resolution: {integrity: sha512-vpZPfSQgNIQ0vmnQA26DlJKZog20ISdS14ir234mvCaJJFdlgWGcpyEOSCU3Vg+32Z/VsSx7kIkBwRhfEZ73Ag==} + '@nx/nx-freebsd-x64@21.2.0': + resolution: {integrity: sha512-wKTSZI9jb7lEjc8x60h10XCm5NExbXpz0vRjLEt8x8y5NXvDYCgHCRpAU4jPQRS3PIm2fBqa+5umc8qskQu7CQ==} cpu: [x64] os: [freebsd] - '@nx/nx-linux-arm-gnueabihf@21.1.3': - resolution: {integrity: sha512-R2GzEyHvyree2m7w+e/MOZjUY/l99HbW4E/jJl5BBXRGEAnGTIx9fOxSDiOW5QK6U0oZb2YO2b565t+IC+7rBQ==} + '@nx/nx-linux-arm-gnueabihf@21.2.0': + resolution: {integrity: sha512-6/Uoun4plMesFCrmjtaY5Ye2YvYqNZVkucZyjBYfJ8D5mF967I8Vpt0hDyDVfXxT0zx9YQGeUb33UgOktVL+xg==} cpu: [arm] os: [linux] - '@nx/nx-linux-arm64-gnu@21.1.3': - resolution: {integrity: sha512-TlFT0G5gO6ujdkT7KUmvS2bwurvpV3olQwchqW1rQwuZ1eEQ1GVDuyzg49UG7lgESYruFn2HRhBf4V+iaD8WIw==} + '@nx/nx-linux-arm64-gnu@21.2.0': + resolution: {integrity: sha512-0U2Q760B0pf9dQBGK3qes25jm1SwqGZ4bCgrdfccWpkka+Z+wWyIga55fAh3KIJQr5Cdw6QgsPKra6HbIFbpfQ==} cpu: [arm64] os: [linux] - '@nx/nx-linux-arm64-musl@21.1.3': - resolution: {integrity: sha512-YkdzrZ7p2Y0YpteRyT9lPKhfuz2t5rNFQ87x9WHK2/cFD6H6M42Fg2JldCPIVj2chN9liH+s5ougW5oPQpZyKw==} + '@nx/nx-linux-arm64-musl@21.2.0': + resolution: {integrity: sha512-lM5GEliTA8TH8l64v1zq3sfsSOsODy+KdBLkcis0mNsuCop1kv/CxyuE0X3PwCGAGFchzDNj7mDprRR4FLfWoA==} cpu: [arm64] os: [linux] - '@nx/nx-linux-x64-gnu@21.1.3': - resolution: {integrity: sha512-nnHxhakNCr4jR1y13g0yS/UOmn5aXkJ+ZA1R6jFQxIwLv3Ocy05i0ZvU7rPOtflluDberxEop8xzoiuEZXDa/w==} + '@nx/nx-linux-x64-gnu@21.2.0': + resolution: {integrity: sha512-5KoTe9Kv9elMWPvlWI4cXLXYmFjnD2asQIMgR4eSuWi09CqX9ua4mIyKC5sPjgy9VxWUhaKx+fZydp+akWh37w==} cpu: [x64] os: [linux] - '@nx/nx-linux-x64-musl@21.1.3': - resolution: {integrity: sha512-poPt/LnFbq54CA3PZ1af8wcdQ4VsWRuA9w1Q1/G1BhCfDUAVIOZ0mhH1NzFpPwCxgVZ1TbNCZWhV2qjVRwQtlw==} + '@nx/nx-linux-x64-musl@21.2.0': + resolution: {integrity: sha512-UbFzIU331vEEprCeKN01k+9Sn1y9pQO32/6yV4eLvK/FdrvzJahu0Dn+IinvCqdIAMiUvIdkBtcKirQby+Pc2Q==} cpu: [x64] os: [linux] - '@nx/nx-win32-arm64-msvc@21.1.3': - resolution: {integrity: sha512-gBSVMRkXRqxTKgj/dabAD1EaptROy64fEtlU1llPz/RtcJcVhIlDczBF/y2WSD6A72cSv6zF/F1n3NrekNSfBA==} + '@nx/nx-win32-arm64-msvc@21.2.0': + resolution: {integrity: sha512-mKqED/y9hD4qTPSeBTc3uZHQozm0XtqnnnrZui4BdXJOMvS3llCiCxmZF2E5N6GZl5L5sb6nNkjhzJDbAfs3TQ==} cpu: [arm64] os: [win32] - '@nx/nx-win32-x64-msvc@21.1.3': - resolution: {integrity: sha512-k3/1b2dLQjnWzrg2UqHDLCoaqEBx2SRgujjYCACRJ12vmYH2gTyFX2UPXikVbbpaTJNeXv8eaCzyCKhuvPK1sQ==} + '@nx/nx-win32-x64-msvc@21.2.0': + resolution: {integrity: sha512-UWc5C16yT99ntbHv5a3mlXuRNuPnmPtZ/q9UdRHWbfXbtlf5CBLOH7MrP6bbpNCsRdwsCpGCqAu8XO1QRBjeMw==} cpu: [x64] os: [win32] - '@nx/playwright@21.1.3': - resolution: {integrity: sha512-6Cq8lgQQsSutx5hZG2RChFQFJ9cVgJf9ymqvBohLCDPcC6/d2QflMdoqT4yjaOd5TqStk3ZC+elll6tnTY+QYA==} + '@nx/playwright@21.2.0': + resolution: {integrity: sha512-QGfNAcXDScQVn/iDX0vwwfr1U3/hyWov5EQ4WBM0FQohmLx/agt0JrPtJs9Px/GVy+o29S/jOJhS569h5KLXhg==} peerDependencies: '@playwright/test': ^1.36.0 peerDependenciesMeta: '@playwright/test': optional: true - '@nx/vite@21.1.3': - resolution: {integrity: sha512-xd3WFYQDIZFm3DPza1fY52dVa1km1gCJyoE9/2s+m9Jbvxu40BukdSw37SZVgCtVqyNjsl4rrlXOmzOIKLb98g==} + '@nx/vite@21.2.0': + resolution: {integrity: sha512-OX6DoSu2wcJN/Dm29+Pu0ljTQQPzsV9805wmKSGBvejJOuziQtjt0Ltn+PuK04EuA/5IuUQnzk0BNlH/PM4QQA==} peerDependencies: vite: ^5.0.0 || ^6.0.0 vitest: ^1.3.1 || ^2.0.0 || ^3.0.0 - '@nx/web@21.1.3': - resolution: {integrity: sha512-9UV3uacxJ6oMYPfXbPDq1jadM6nPMs13QhSEpjQLAxNDi4ay0zTOobbHZG6LYnf69dAFEIppoayiS42Kuk6L3Q==} + '@nx/web@21.2.0': + resolution: {integrity: sha512-OYvsOZ/Vk3K3aIAyqxXj/GeT0lpx0j21SsnexD7ptUtZlb9kxLLpPP/Jbvy71bXQny4f5werTH2+bRsj9EKGsQ==} - '@nx/workspace@21.1.3': - resolution: {integrity: sha512-SAObZmW1cx0hRddC2PCFWJBHpzdjsTGNArJta8iyzfrbP9KAxQd8jjDBZvXLpXU6YMOw0fLwm8YAD2E1xvIoyw==} + '@nx/workspace@21.2.0': + resolution: {integrity: sha512-2uaVMWo51MEoKo4nAgGCZNQxAPBkSR9i05R3t9bkYPgvM24u/0tE4ooWPefWpIulvsWysmUmdFJ6rTXARKer8g==} '@open-draft/deferred-promise@2.2.0': resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} @@ -3670,6 +3976,36 @@ packages: '@promptbook/utils@0.69.5': resolution: {integrity: sha512-xm5Ti/Hp3o4xHrsK9Yy3MS6KbDxYbq485hDsFvxqaNA7equHLPdo8H8faTitTeb14QCDfLW4iwCxdVYu5sn6YQ==} + '@protobufjs/aspromise@1.1.2': + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} + + '@protobufjs/base64@1.1.2': + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} + + '@protobufjs/codegen@2.0.4': + resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} + + '@protobufjs/eventemitter@1.1.0': + resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} + + '@protobufjs/fetch@1.1.0': + resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + + '@protobufjs/float@1.0.2': + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} + + '@protobufjs/inquire@1.1.0': + resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} + + '@protobufjs/path@1.1.2': + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} + + '@protobufjs/pool@1.1.0': + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} + + '@protobufjs/utf8@1.1.0': + resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + '@puppeteer/browsers@2.10.5': resolution: {integrity: sha512-eifa0o+i8dERnngJwKrfp3dEq7ia5XFyoqB17S4gK8GhsQE4/P8nxOfQSE0zQHxzzLo/cmF+7+ywEQ7wK7Fb+w==} engines: {node: '>=18'} @@ -4193,6 +4529,9 @@ packages: '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + '@sinclair/typebox@0.31.28': + resolution: {integrity: sha512-/s55Jujywdw/Jpan+vsy6JZs1z2ZTGxTmbZTPiuSL2wz9mfzA2gN1zzaqmvfi4pq+uOt7Du85fkiwv5ymW84aQ==} + '@sindresorhus/is@4.6.0': resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} @@ -4203,6 +4542,199 @@ packages: '@sinonjs/fake-timers@10.3.0': resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + '@smithy/abort-controller@3.1.9': + resolution: {integrity: sha512-yiW0WI30zj8ZKoSYNx90no7ugVn3khlyH/z5W8qtKBtVE6awRALbhSG+2SAHA1r6bO/6M9utxYKVZ3PCJ1rWxw==} + engines: {node: '>=16.0.0'} + + '@smithy/config-resolver@3.0.13': + resolution: {integrity: sha512-Gr/qwzyPaTL1tZcq8WQyHhTZREER5R1Wytmz4WnVGL4onA3dNk6Btll55c8Vr58pLdvWZmtG8oZxJTw3t3q7Jg==} + engines: {node: '>=16.0.0'} + + '@smithy/core@2.5.7': + resolution: {integrity: sha512-8olpW6mKCa0v+ibCjoCzgZHQx1SQmZuW/WkrdZo73wiTprTH6qhmskT60QLFdT9DRa5mXxjz89kQPZ7ZSsoqqg==} + engines: {node: '>=16.0.0'} + + '@smithy/credential-provider-imds@3.2.8': + resolution: {integrity: sha512-ZCY2yD0BY+K9iMXkkbnjo+08T2h8/34oHd0Jmh6BZUSZwaaGlGCyBT/3wnS7u7Xl33/EEfN4B6nQr3Gx5bYxgw==} + engines: {node: '>=16.0.0'} + + '@smithy/eventstream-codec@3.1.10': + resolution: {integrity: sha512-323B8YckSbUH0nMIpXn7HZsAVKHYHFUODa8gG9cHo0ySvA1fr5iWaNT+iIL0UCqUzG6QPHA3BSsBtRQou4mMqQ==} + + '@smithy/eventstream-serde-browser@3.0.14': + resolution: {integrity: sha512-kbrt0vjOIihW3V7Cqj1SXQvAI5BR8SnyQYsandva0AOR307cXAc+IhPngxIPslxTLfxwDpNu0HzCAq6g42kCPg==} + engines: {node: '>=16.0.0'} + + '@smithy/eventstream-serde-config-resolver@3.0.11': + resolution: {integrity: sha512-P2pnEp4n75O+QHjyO7cbw/vsw5l93K/8EWyjNCAAybYwUmj3M+hjSQZ9P5TVdUgEG08ueMAP5R4FkuSkElZ5tQ==} + engines: {node: '>=16.0.0'} + + '@smithy/eventstream-serde-node@3.0.13': + resolution: {integrity: sha512-zqy/9iwbj8Wysmvi7Lq7XFLeDgjRpTbCfwBhJa8WbrylTAHiAu6oQTwdY7iu2lxigbc9YYr9vPv5SzYny5tCXQ==} + engines: {node: '>=16.0.0'} + + '@smithy/eventstream-serde-universal@3.0.13': + resolution: {integrity: sha512-L1Ib66+gg9uTnqp/18Gz4MDpJPKRE44geOjOQ2SVc0eiaO5l255ADziATZgjQjqumC7yPtp1XnjHlF1srcwjKw==} + engines: {node: '>=16.0.0'} + + '@smithy/fetch-http-handler@3.2.9': + resolution: {integrity: sha512-hYNVQOqhFQ6vOpenifFME546f0GfJn2OiQ3M0FDmuUu8V/Uiwy2wej7ZXxFBNqdx0R5DZAqWM1l6VRhGz8oE6A==} + + '@smithy/fetch-http-handler@4.1.3': + resolution: {integrity: sha512-6SxNltSncI8s689nvnzZQc/dPXcpHQ34KUj6gR/HBroytKOd/isMG3gJF/zBE1TBmTT18TXyzhg3O3SOOqGEhA==} + + '@smithy/hash-node@3.0.11': + resolution: {integrity: sha512-emP23rwYyZhQBvklqTtwetkQlqbNYirDiEEwXl2v0GYWMnCzxst7ZaRAnWuy28njp5kAH54lvkdG37MblZzaHA==} + engines: {node: '>=16.0.0'} + + '@smithy/invalid-dependency@3.0.11': + resolution: {integrity: sha512-NuQmVPEJjUX6c+UELyVz8kUx8Q539EDeNwbRyu4IIF8MeV7hUtq1FB3SHVyki2u++5XLMFqngeMKk7ccspnNyQ==} + + '@smithy/is-array-buffer@2.2.0': + resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} + engines: {node: '>=14.0.0'} + + '@smithy/is-array-buffer@3.0.0': + resolution: {integrity: sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==} + engines: {node: '>=16.0.0'} + + '@smithy/middleware-content-length@3.0.13': + resolution: {integrity: sha512-zfMhzojhFpIX3P5ug7jxTjfUcIPcGjcQYzB9t+rv0g1TX7B0QdwONW+ATouaLoD7h7LOw/ZlXfkq4xJ/g2TrIw==} + engines: {node: '>=16.0.0'} + + '@smithy/middleware-endpoint@3.2.8': + resolution: {integrity: sha512-OEJZKVUEhMOqMs3ktrTWp7UvvluMJEvD5XgQwRePSbDg1VvBaL8pX8mwPltFn6wk1GySbcVwwyldL8S+iqnrEQ==} + engines: {node: '>=16.0.0'} + + '@smithy/middleware-retry@3.0.34': + resolution: {integrity: sha512-yVRr/AAtPZlUvwEkrq7S3x7Z8/xCd97m2hLDaqdz6ucP2RKHsBjEqaUA2ebNv2SsZoPEi+ZD0dZbOB1u37tGCA==} + engines: {node: '>=16.0.0'} + + '@smithy/middleware-serde@3.0.11': + resolution: {integrity: sha512-KzPAeySp/fOoQA82TpnwItvX8BBURecpx6ZMu75EZDkAcnPtO6vf7q4aH5QHs/F1s3/snQaSFbbUMcFFZ086Mw==} + engines: {node: '>=16.0.0'} + + '@smithy/middleware-stack@3.0.11': + resolution: {integrity: sha512-1HGo9a6/ikgOMrTrWL/WiN9N8GSVYpuRQO5kjstAq4CvV59bjqnh7TbdXGQ4vxLD3xlSjfBjq5t1SOELePsLnA==} + engines: {node: '>=16.0.0'} + + '@smithy/node-config-provider@3.1.12': + resolution: {integrity: sha512-O9LVEu5J/u/FuNlZs+L7Ikn3lz7VB9hb0GtPT9MQeiBmtK8RSY3ULmsZgXhe6VAlgTw0YO+paQx4p8xdbs43vQ==} + engines: {node: '>=16.0.0'} + + '@smithy/node-http-handler@3.3.3': + resolution: {integrity: sha512-BrpZOaZ4RCbcJ2igiSNG16S+kgAc65l/2hmxWdmhyoGWHTLlzQzr06PXavJp9OBlPEG/sHlqdxjWmjzV66+BSQ==} + engines: {node: '>=16.0.0'} + + '@smithy/property-provider@3.1.11': + resolution: {integrity: sha512-I/+TMc4XTQ3QAjXfOcUWbSS073oOEAxgx4aZy8jHaf8JQnRkq2SZWw8+PfDtBvLUjcGMdxl+YwtzWe6i5uhL/A==} + engines: {node: '>=16.0.0'} + + '@smithy/protocol-http@4.1.8': + resolution: {integrity: sha512-hmgIAVyxw1LySOwkgMIUN0kjN8TG9Nc85LJeEmEE/cNEe2rkHDUWhnJf2gxcSRFLWsyqWsrZGw40ROjUogg+Iw==} + engines: {node: '>=16.0.0'} + + '@smithy/querystring-builder@3.0.11': + resolution: {integrity: sha512-u+5HV/9uJaeLj5XTb6+IEF/dokWWkEqJ0XiaRRogyREmKGUgZnNecLucADLdauWFKUNbQfulHFEZEdjwEBjXRg==} + engines: {node: '>=16.0.0'} + + '@smithy/querystring-parser@3.0.11': + resolution: {integrity: sha512-Je3kFvCsFMnso1ilPwA7GtlbPaTixa3WwC+K21kmMZHsBEOZYQaqxcMqeFFoU7/slFjKDIpiiPydvdJm8Q/MCw==} + engines: {node: '>=16.0.0'} + + '@smithy/service-error-classification@3.0.11': + resolution: {integrity: sha512-QnYDPkyewrJzCyaeI2Rmp7pDwbUETe+hU8ADkXmgNusO1bgHBH7ovXJiYmba8t0fNfJx75fE8dlM6SEmZxheog==} + engines: {node: '>=16.0.0'} + + '@smithy/shared-ini-file-loader@3.1.12': + resolution: {integrity: sha512-1xKSGI+U9KKdbG2qDvIR9dGrw3CNx+baqJfyr0igKEpjbHL5stsqAesYBzHChYHlelWtb87VnLWlhvfCz13H8Q==} + engines: {node: '>=16.0.0'} + + '@smithy/signature-v4@4.2.4': + resolution: {integrity: sha512-5JWeMQYg81TgU4cG+OexAWdvDTs5JDdbEZx+Qr1iPbvo91QFGzjy0IkXAKaXUHqmKUJgSHK0ZxnCkgZpzkeNTA==} + engines: {node: '>=16.0.0'} + + '@smithy/smithy-client@3.7.0': + resolution: {integrity: sha512-9wYrjAZFlqWhgVo3C4y/9kpc68jgiSsKUnsFPzr/MSiRL93+QRDafGTfhhKAb2wsr69Ru87WTiqSfQusSmWipA==} + engines: {node: '>=16.0.0'} + + '@smithy/types@3.7.2': + resolution: {integrity: sha512-bNwBYYmN8Eh9RyjS1p2gW6MIhSO2rl7X9QeLM8iTdcGRP+eDiIWDt66c9IysCc22gefKszZv+ubV9qZc7hdESg==} + engines: {node: '>=16.0.0'} + + '@smithy/url-parser@3.0.11': + resolution: {integrity: sha512-TmlqXkSk8ZPhfc+SQutjmFr5FjC0av3GZP4B/10caK1SbRwe/v+Wzu/R6xEKxoNqL+8nY18s1byiy6HqPG37Aw==} + + '@smithy/util-base64@3.0.0': + resolution: {integrity: sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==} + engines: {node: '>=16.0.0'} + + '@smithy/util-body-length-browser@3.0.0': + resolution: {integrity: sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==} + + '@smithy/util-body-length-node@3.0.0': + resolution: {integrity: sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==} + engines: {node: '>=16.0.0'} + + '@smithy/util-buffer-from@2.2.0': + resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} + engines: {node: '>=14.0.0'} + + '@smithy/util-buffer-from@3.0.0': + resolution: {integrity: sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==} + engines: {node: '>=16.0.0'} + + '@smithy/util-config-provider@3.0.0': + resolution: {integrity: sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==} + engines: {node: '>=16.0.0'} + + '@smithy/util-defaults-mode-browser@3.0.34': + resolution: {integrity: sha512-FumjjF631lR521cX+svMLBj3SwSDh9VdtyynTYDAiBDEf8YPP5xORNXKQ9j0105o5+ARAGnOOP/RqSl40uXddA==} + engines: {node: '>= 10.0.0'} + + '@smithy/util-defaults-mode-node@3.0.34': + resolution: {integrity: sha512-vN6aHfzW9dVVzkI0wcZoUXvfjkl4CSbM9nE//08lmUMyf00S75uuCpTrqF9uD4bD9eldIXlt53colrlwKAT8Gw==} + engines: {node: '>= 10.0.0'} + + '@smithy/util-endpoints@2.1.7': + resolution: {integrity: sha512-tSfcqKcN/Oo2STEYCABVuKgJ76nyyr6skGl9t15hs+YaiU06sgMkN7QYjo0BbVw+KT26zok3IzbdSOksQ4YzVw==} + engines: {node: '>=16.0.0'} + + '@smithy/util-hex-encoding@3.0.0': + resolution: {integrity: sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==} + engines: {node: '>=16.0.0'} + + '@smithy/util-middleware@3.0.11': + resolution: {integrity: sha512-dWpyc1e1R6VoXrwLoLDd57U1z6CwNSdkM69Ie4+6uYh2GC7Vg51Qtan7ITzczuVpqezdDTKJGJB95fFvvjU/ow==} + engines: {node: '>=16.0.0'} + + '@smithy/util-retry@3.0.11': + resolution: {integrity: sha512-hJUC6W7A3DQgaee3Hp9ZFcOxVDZzmBIRBPlUAk8/fSOEl7pE/aX7Dci0JycNOnm9Mfr0KV2XjIlUOcGWXQUdVQ==} + engines: {node: '>=16.0.0'} + + '@smithy/util-stream@3.3.4': + resolution: {integrity: sha512-SGhGBG/KupieJvJSZp/rfHHka8BFgj56eek9px4pp7lZbOF+fRiVr4U7A3y3zJD8uGhxq32C5D96HxsTC9BckQ==} + engines: {node: '>=16.0.0'} + + '@smithy/util-uri-escape@3.0.0': + resolution: {integrity: sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==} + engines: {node: '>=16.0.0'} + + '@smithy/util-utf8@2.3.0': + resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} + engines: {node: '>=14.0.0'} + + '@smithy/util-utf8@3.0.0': + resolution: {integrity: sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==} + engines: {node: '>=16.0.0'} + + '@socket.io/component-emitter@3.1.2': + resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} + + '@sqlite.org/sqlite-wasm@3.48.0-build4': + resolution: {integrity: sha512-hI6twvUkzOmyGZhQMza1gpfqErZxXRw6JEsiVjUbo7tFanVD+8Oil0Ih3l2nGzHdxPI41zFmfUQG7GHqhciKZQ==} + hasBin: true + '@ssddanbrown/codemirror-lang-smarty@1.0.0': resolution: {integrity: sha512-F0ut1kmdbT3eORk3xVIKfQsGCZiQdh+6sLayBa0+FTex2gyIQlVQZRRA7bPSlchI3uZtWwNnqGNz5O/QLWRlFg==} @@ -4215,6 +4747,40 @@ packages: peerDependencies: eslint: '>=9.0.0' + '@sveltejs/acorn-typescript@1.0.5': + resolution: {integrity: sha512-IwQk4yfwLdibDlrXVE04jTZYlLnwsTT2PIOQQGNLWfjavGifnk1JD1LcZjZaBTRcxZu2FfPfNLOE04DSu9lqtQ==} + peerDependencies: + acorn: ^8.9.0 + + '@sveltejs/adapter-auto@6.0.1': + resolution: {integrity: sha512-mcWud3pYGPWM2Pphdj8G9Qiq24nZ8L4LB7coCUckUEy5Y7wOWGJ/enaZ4AtJTcSm5dNK1rIkBRoqt+ae4zlxcQ==} + peerDependencies: + '@sveltejs/kit': ^2.0.0 + + '@sveltejs/kit@2.21.5': + resolution: {integrity: sha512-P5m7yZtvD1Kx/Z6JcjgJtdMqef/tCGMDrd9B9S2q8j+FMnkeKTMxW1nidnjVzk4HEDRGf4IlBI94/niy6t3hLA==} + engines: {node: '>=18.13'} + hasBin: true + peerDependencies: + '@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1 || ^5.0.0 + svelte: ^4.0.0 || ^5.0.0-next.0 + vite: ^5.0.3 || ^6.0.0 + + '@sveltejs/vite-plugin-svelte-inspector@4.0.1': + resolution: {integrity: sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22} + peerDependencies: + '@sveltejs/vite-plugin-svelte': ^5.0.0 + svelte: ^5.0.0 + vite: ^6.0.0 + + '@sveltejs/vite-plugin-svelte@5.1.0': + resolution: {integrity: sha512-wojIS/7GYnJDYIg1higWj2ROA6sSRWvcR1PO/bqEyFr/5UZah26c8Cz4u0NaqjPeVltzsVpt2Tm8d2io0V+4Tw==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22} + peerDependencies: + svelte: ^5.0.0 + vite: ^6.0.0 + '@swc-node/core@1.13.3': resolution: {integrity: sha512-OGsvXIid2Go21kiNqeTIn79jcaX4l0G93X2rAnas4LFoDyA9wAwVK7xZdm+QsKoMn5Mus2yFLCc4OtX2dD/PWA==} engines: {node: '>= 10'} @@ -4309,10 +4875,108 @@ packages: '@swc/types@0.1.21': resolution: {integrity: sha512-2YEtj5HJVbKivud9N4bpPBAyZhj4S2Ipe5LkUG94alTpr7in/GU/EARgPAd3BwU+YOmFVJC2+kjqhGRi3r0ZpQ==} + '@symbiotejs/symbiote@1.11.7': + resolution: {integrity: sha512-fUOJwzuldeApJ533YeTdrfnpp4nsA+ss1eiNBodX7RHf4LnhPB2Z9HP4fF3m2YhKYnxK0whjXaKA+wrxTRP5qA==} + '@szmarczak/http-timer@4.0.6': resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} engines: {node: '>=10'} + '@tailwindcss/node@4.1.10': + resolution: {integrity: sha512-2ACf1znY5fpRBwRhMgj9ZXvb2XZW8qs+oTfotJ2C5xR0/WNL7UHZ7zXl6s+rUqedL1mNi+0O+WQr5awGowS3PQ==} + + '@tailwindcss/oxide-android-arm64@4.1.10': + resolution: {integrity: sha512-VGLazCoRQ7rtsCzThaI1UyDu/XRYVyH4/EWiaSX6tFglE+xZB5cvtC5Omt0OQ+FfiIVP98su16jDVHDEIuH4iQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.1.10': + resolution: {integrity: sha512-ZIFqvR1irX2yNjWJzKCqTCcHZbgkSkSkZKbRM3BPzhDL/18idA8uWCoopYA2CSDdSGFlDAxYdU2yBHwAwx8euQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.1.10': + resolution: {integrity: sha512-eCA4zbIhWUFDXoamNztmS0MjXHSEJYlvATzWnRiTqJkcUteSjO94PoRHJy1Xbwp9bptjeIxxBHh+zBWFhttbrQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.1.10': + resolution: {integrity: sha512-8/392Xu12R0cc93DpiJvNpJ4wYVSiciUlkiOHOSOQNH3adq9Gi/dtySK7dVQjXIOzlpSHjeCL89RUUI8/GTI6g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.10': + resolution: {integrity: sha512-t9rhmLT6EqeuPT+MXhWhlRYIMSfh5LZ6kBrC4FS6/+M1yXwfCtp24UumgCWOAJVyjQwG+lYva6wWZxrfvB+NhQ==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.1.10': + resolution: {integrity: sha512-3oWrlNlxLRxXejQ8zImzrVLuZ/9Z2SeKoLhtCu0hpo38hTO2iL86eFOu4sVR8cZc6n3z7eRXXqtHJECa6mFOvA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-musl@4.1.10': + resolution: {integrity: sha512-saScU0cmWvg/Ez4gUmQWr9pvY9Kssxt+Xenfx1LG7LmqjcrvBnw4r9VjkFcqmbBb7GCBwYNcZi9X3/oMda9sqQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-gnu@4.1.10': + resolution: {integrity: sha512-/G3ao/ybV9YEEgAXeEg28dyH6gs1QG8tvdN9c2MNZdUXYBaIY/Gx0N6RlJzfLy/7Nkdok4kaxKPHKJUlAaoTdA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-musl@4.1.10': + resolution: {integrity: sha512-LNr7X8fTiKGRtQGOerSayc2pWJp/9ptRYAa4G+U+cjw9kJZvkopav1AQc5HHD+U364f71tZv6XamaHKgrIoVzA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-wasm32-wasi@4.1.10': + resolution: {integrity: sha512-d6ekQpopFQJAcIK2i7ZzWOYGZ+A6NzzvQ3ozBvWFdeyqfOZdYHU66g5yr+/HC4ipP1ZgWsqa80+ISNILk+ae/Q==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + + '@tailwindcss/oxide-win32-arm64-msvc@4.1.10': + resolution: {integrity: sha512-i1Iwg9gRbwNVOCYmnigWCCgow8nDWSFmeTUU5nbNx3rqbe4p0kRbEqLwLJbYZKmSSp23g4N6rCDmm7OuPBXhDA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.1.10': + resolution: {integrity: sha512-sGiJTjcBSfGq2DVRtaSljq5ZgZS2SDHSIfhOylkBvHVjwOsodBhnb3HdmiKkVuUGKD0I7G63abMOVaskj1KpOA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.1.10': + resolution: {integrity: sha512-v0C43s7Pjw+B9w21htrQwuFObSkio2aV/qPx/mhrRldbqxbWJK6KizM+q7BF1/1CmuLqZqX3CeYF7s7P9fbA8Q==} + engines: {node: '>= 10'} + + '@tailwindcss/typography@0.5.16': + resolution: {integrity: sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA==} + peerDependencies: + tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1' + + '@tailwindcss/vite@4.1.10': + resolution: {integrity: sha512-QWnD5HDY2IADv+vYR82lOhqOlS1jSCUUAmfem52cXAhRTKxpDh3ARX8TTXJTCCO7Rv7cD2Nlekabv02bwP3a2A==} + peerDependencies: + vite: ^5.2.0 || ^6 + '@testing-library/dom@10.4.0': resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} engines: {node: '>=18'} @@ -4558,6 +5222,9 @@ packages: '@types/estree@1.0.7': resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/express-http-proxy@1.6.6': resolution: {integrity: sha512-J8ZqHG76rq1UB716IZ3RCmUhg406pbWxsM3oFCFccl5xlWUPzoR4if6Og/cE4juK8emH0H9quZa5ltn6ZdmQJg==} @@ -4642,14 +5309,17 @@ packages: '@types/lodash@4.17.16': resolution: {integrity: sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==} + '@types/luxon@3.4.2': + resolution: {integrity: sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA==} + '@types/mark.js@8.11.12': resolution: {integrity: sha512-244ZnaIBpz4c6xutliAnYVZp6xJlmC569jZqnR3ElO1Y01ooYASSVQEqpd2x0A2UfrgVMs5V9/9tUAdZaDMytQ==} '@types/marked@4.3.2': resolution: {integrity: sha512-a79Yc3TOk6dGdituy8hmTTJXjOkZ7zsFYV10L337ttq/rec8lRMDBpV7fL3uLx6TgbFCa5DU/h8FmIBQPSbU0w==} - '@types/mdast@3.0.15': - resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} '@types/methods@1.1.4': resolution: {integrity: sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==} @@ -4690,8 +5360,8 @@ packages: '@types/node@22.15.30': resolution: {integrity: sha512-6Q7lr06bEHdlfplU6YRbgG1SFBdlsfNC4/lX+SkhiTs0cpJkOElmWls8PxDFv4yY/xKb8Y6SO0OmSX4wgqTZbA==} - '@types/node@22.15.31': - resolution: {integrity: sha512-jnVe5ULKl6tijxUhvQeNbQG/84fHfg+yMak02cT8QVhBx/F05rAVxCGBYYTh2EKz22D6JF5ktXuNwdx7b9iEGw==} + '@types/node@22.15.32': + resolution: {integrity: sha512-3jigKqgSjsH6gYZv2nEsqdXfZqIFGAV36XYYjf9KGZ3PSG+IhLecqPnI310RvjutyMwifE2hhhNEklOUrvx/wA==} '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} @@ -4731,9 +5401,6 @@ packages: '@types/sax@1.2.7': resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} - '@types/semver@7.7.0': - resolution: {integrity: sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==} - '@types/send@0.17.4': resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} @@ -4818,17 +5485,6 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@6.21.0': - resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - '@typescript-eslint/eslint-plugin@8.34.0': resolution: {integrity: sha512-QXwAlHlbcAwNlEEMKQS2RCgJsgXrTJdjXT08xEgbPFa2yYQgVjBymxP5DrfrE7X7iodSzd9qBUHUycdyVJTW1w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4837,15 +5493,13 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/parser@6.21.0': - resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/eslint-plugin@8.34.1': + resolution: {integrity: sha512-STXcN6ebF6li4PxwNeFnqF8/2BNDvBupf2OPx2yWNzr6mKNGF7q49VM00Pz5FaomJyqvbXpY6PhO+T9w139YEQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/parser': ^8.34.1 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/parser@8.33.1': resolution: {integrity: sha512-qwxv6dq682yVvgKKp2qWwLgRbscDAYktPptK4JPojCwwi3R9cwrvIxS4lvBpzmcqzR4bdn54Z0IG1uHFskW4dA==} @@ -4861,6 +5515,13 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/parser@8.34.1': + resolution: {integrity: sha512-4O3idHxhyzjClSMJ0a29AcoK0+YwnEqzI6oz3vlRf3xw0zbzt15MzXwItOlnr5nIth6zlY2RENLsOPvhyrKAQA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/project-service@8.33.1': resolution: {integrity: sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4873,9 +5534,11 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/scope-manager@6.21.0': - resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/project-service@8.34.1': + resolution: {integrity: sha512-nuHlOmFZfuRwLJKDGQOVc0xnQrAmuq1Mj/ISou5044y1ajGNp2BNliIqp7F2LPQ5sForz8lempMFCovfeS1XoA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/scope-manager@8.33.1': resolution: {integrity: sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA==} @@ -4885,6 +5548,10 @@ packages: resolution: {integrity: sha512-9Ac0X8WiLykl0aj1oYQNcLZjHgBojT6cW68yAgZ19letYu+Hxd0rE0veI1XznSSst1X5lwnxhPbVdwjDRIomRw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.34.1': + resolution: {integrity: sha512-beu6o6QY4hJAgL1E8RaXNC071G4Kso2MGmJskCFQhRhg8VOH/FDbC8soP8NHN7e/Hdphwp8G8cE6OBzC8o41ZA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/tsconfig-utils@8.33.1': resolution: {integrity: sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4897,21 +5564,10 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/type-utils@6.21.0': - resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/type-utils@8.33.1': - resolution: {integrity: sha512-1cG37d9xOkhlykom55WVwG2QRNC7YXlxMaMzqw2uPeJixBFfKWZgaP/hjAObqMN/u3fr5BrTwTnc31/L9jQ2ww==} + '@typescript-eslint/tsconfig-utils@8.34.1': + resolution: {integrity: sha512-K4Sjdo4/xF9NEeA2khOb7Y5nY6NSXBnod87uniVYW9kHP+hNlDV8trUSFeynA2uxWam4gIWgWoygPrv9VMWrYg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/type-utils@8.34.0': @@ -4921,9 +5577,12 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/types@6.21.0': - resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/type-utils@8.34.1': + resolution: {integrity: sha512-Tv7tCCr6e5m8hP4+xFugcrwTOucB8lshffJ6zf1mF1TbU67R+ntCc6DzLNKM+s/uzDyv8gLq7tufaAhIBYeV8g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/types@8.33.1': resolution: {integrity: sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg==} @@ -4933,14 +5592,9 @@ packages: resolution: {integrity: sha512-9V24k/paICYPniajHfJ4cuAWETnt7Ssy+R0Rbcqo5sSFr3QEZ/8TSoUi9XeXVBGXCaLtwTOKSLGcInCAvyZeMA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@6.21.0': - resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/types@8.34.1': + resolution: {integrity: sha512-rjLVbmE7HR18kDsjNIZQHxmv9RZwlgzavryL5Lnj2ujIRTeXlKtILHgRNmQ3j4daw7zd+mQgy+uyt6Zo6I0IGA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@8.33.1': resolution: {integrity: sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA==} @@ -4954,17 +5608,10 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/utils@6.21.0': - resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - - '@typescript-eslint/utils@8.33.1': - resolution: {integrity: sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ==} + '@typescript-eslint/typescript-estree@8.34.1': + resolution: {integrity: sha512-rjCNqqYPuMUF5ODD+hWBNmOitjBWghkGKJg6hiCHzUvXRy6rK22Jd3rwbP2Xi+R7oYVvIKhokHVhH41BxPV5mA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/utils@8.34.0': @@ -4974,9 +5621,12 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/visitor-keys@6.21.0': - resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/utils@8.34.1': + resolution: {integrity: sha512-mqOwUdZ3KjtGk7xJJnLbHxTuWVn3GO2WZZuM+Slhkun4+qthLdXx32C8xIXbO1kfCECb3jIs3eoxK3eryk7aoQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/visitor-keys@8.33.1': resolution: {integrity: sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ==} @@ -4986,6 +5636,20 @@ packages: resolution: {integrity: sha512-qHV7pW7E85A0x6qyrFn+O+q1k1p3tQCsqIZ1KZ5ESLXY57aTvUd3/a4rdPTeXisvhXn2VQG0VSKUqs8KHF2zcA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.34.1': + resolution: {integrity: sha512-xoh5rJ+tgsRKoXnkBPFRLZ7rjKM0AfVbC68UZ/ECXoDbfggb9RbEySN359acY1vS3qZ0jVTVWzbtfapwm5ztxw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@uploadcare/file-uploader@1.12.0': + resolution: {integrity: sha512-yymQlZPJ5Rx8sK8FnsOMoeI9HgzLR9jSnD8nwIRyDeXKyHJkdHZg22jMgy30ibCXBWbWptaG4I1BG77/o27ODg==} + + '@uploadcare/image-shrink@6.14.3': + resolution: {integrity: sha512-GCZOewwaGdU/FXgK8m1Ct6FHF7CH3LUGcBvsUxPrablkV2Dyl99XdMtyomaZgpsyfRDlVUbvkntDXEB3IZo92A==} + + '@uploadcare/upload-client@6.14.1': + resolution: {integrity: sha512-GvXLq6GGyXHjq7tebfv3IqHFpMzuOSuNPOhwCcNPquUbwoAlTEFPLjB2Ir/EZUuCtTWowluLjo4LPDQwvHbqyA==} + engines: {node: '>=16'} + '@vitest/browser@3.2.0': resolution: {integrity: sha512-sVpX5m53lX9/0ehAqkcTSQeJK1SVlTlvBrwE8rPQ2KJQgb/Iiorx+3y+VQdzIJ+CDqfG89bQEA5l1Z02VogDsA==} peerDependencies: @@ -5006,11 +5670,11 @@ packages: peerDependencies: vitest: 3.2.0 - '@vitest/coverage-v8@3.2.3': - resolution: {integrity: sha512-D1QKzngg8PcDoCE8FHSZhREDuEy+zcKmMiMafYse41RZpBE5EDJyKOTdqK3RQfsV2S2nyKor5KCs8PyPRFqKPg==} + '@vitest/coverage-v8@3.2.4': + resolution: {integrity: sha512-EyF9SXU6kS5Ku/U82E259WSnvg6c8KTjppUncuNdm5QHpe17mwREHnjDzozC8x9MZ0xfBUFSaLkRv4TMA75ALQ==} peerDependencies: - '@vitest/browser': 3.2.3 - vitest: 3.2.3 + '@vitest/browser': 3.2.4 + vitest: 3.2.4 peerDependenciesMeta: '@vitest/browser': optional: true @@ -5018,8 +5682,8 @@ packages: '@vitest/expect@3.2.0': resolution: {integrity: sha512-0v4YVbhDKX3SKoy0PHWXpKhj44w+3zZkIoVES9Ex2pq+u6+Bijijbi2ua5kE+h3qT6LBWFTNZSCOEU37H8Y5sA==} - '@vitest/expect@3.2.3': - resolution: {integrity: sha512-W2RH2TPWVHA1o7UmaFKISPvdicFJH+mjykctJFoAkUw+SPTJTGjUNdKscFBrqM7IPnCVu6zihtKYa7TkZS1dkQ==} + '@vitest/expect@3.2.4': + resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} '@vitest/mocker@3.2.0': resolution: {integrity: sha512-HFcW0lAMx3eN9vQqis63H0Pscv0QcVMo1Kv8BNysZbxcmHu3ZUYv59DS6BGYiGQ8F5lUkmsfMMlPm4DJFJdf/A==} @@ -5032,8 +5696,8 @@ packages: vite: optional: true - '@vitest/mocker@3.2.3': - resolution: {integrity: sha512-cP6fIun+Zx8he4rbWvi+Oya6goKQDZK+Yq4hhlggwQBbrlOQ4qtZ+G4nxB6ZnzI9lyIb+JnvyiJnPC2AGbKSPA==} + '@vitest/mocker@3.2.4': + resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 @@ -5046,42 +5710,42 @@ packages: '@vitest/pretty-format@3.2.0': resolution: {integrity: sha512-gUUhaUmPBHFkrqnOokmfMGRBMHhgpICud9nrz/xpNV3/4OXCn35oG+Pl8rYYsKaTNd/FAIrqRHnwpDpmYxCYZw==} - '@vitest/pretty-format@3.2.3': - resolution: {integrity: sha512-yFglXGkr9hW/yEXngO+IKMhP0jxyFw2/qys/CK4fFUZnSltD+MU7dVYGrH8rvPcK/O6feXQA+EU33gjaBBbAng==} + '@vitest/pretty-format@3.2.4': + resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} '@vitest/runner@3.2.0': resolution: {integrity: sha512-bXdmnHxuB7fXJdh+8vvnlwi/m1zvu+I06i1dICVcDQFhyV4iKw2RExC/acavtDn93m/dRuawUObKsrNE1gJacA==} - '@vitest/runner@3.2.3': - resolution: {integrity: sha512-83HWYisT3IpMaU9LN+VN+/nLHVBCSIUKJzGxC5RWUOsK1h3USg7ojL+UXQR3b4o4UBIWCYdD2fxuzM7PQQ1u8w==} + '@vitest/runner@3.2.4': + resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==} '@vitest/snapshot@3.2.0': resolution: {integrity: sha512-z7P/EneBRMe7hdvWhcHoXjhA6at0Q4ipcoZo6SqgxLyQQ8KSMMCmvw1cSt7FHib3ozt0wnRHc37ivuUMbxzG/A==} - '@vitest/snapshot@3.2.3': - resolution: {integrity: sha512-9gIVWx2+tysDqUmmM1L0hwadyumqssOL1r8KJipwLx5JVYyxvVRfxvMq7DaWbZZsCqZnu/dZedaZQh4iYTtneA==} + '@vitest/snapshot@3.2.4': + resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==} '@vitest/spy@3.2.0': resolution: {integrity: sha512-s3+TkCNUIEOX99S0JwNDfsHRaZDDZZR/n8F0mop0PmsEbQGKZikCGpTGZ6JRiHuONKew3Fb5//EPwCP+pUX9cw==} - '@vitest/spy@3.2.3': - resolution: {integrity: sha512-JHu9Wl+7bf6FEejTCREy+DmgWe+rQKbK+y32C/k5f4TBIAlijhJbRBIRIOCEpVevgRsCQR2iHRUH2/qKVM/plw==} + '@vitest/spy@3.2.4': + resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} '@vitest/ui@3.2.0': resolution: {integrity: sha512-cYFZZSl1usgzsHoGF66GHfYXlEwc06ggapS1TaSLMKCzhTPWBPI9b/t1RvKIsLSjdKUakpSPf33jQMvRjMvvlQ==} peerDependencies: vitest: 3.2.0 - '@vitest/ui@3.2.3': - resolution: {integrity: sha512-9aR2tY/WT7GRHGEH/9sSIipJqeA21Eh3C6xmiOVmfyBCFmezUSUFLalpaSmRHlRzWCKQU10yz3AHhKuYcdnZGQ==} + '@vitest/ui@3.2.4': + resolution: {integrity: sha512-hGISOaP18plkzbWEcP/QvtRW1xDXF2+96HbEX6byqQhAUbiS5oH6/9JwW+QsQCIYON2bI6QZBF+2PvOmrRZ9wA==} peerDependencies: - vitest: 3.2.3 + vitest: 3.2.4 '@vitest/utils@3.2.0': resolution: {integrity: sha512-gXXOe7Fj6toCsZKVQouTRLJftJwmvbhH5lKOBR6rlP950zUq9AitTUjnFoXS/CqjBC2aoejAztLPzzuva++XBw==} - '@vitest/utils@3.2.3': - resolution: {integrity: sha512-4zFBCU5Pf+4Z6v+rwnZ1HU1yzOKKvDkMXZrymE2PBlbjKJRlrOxbvpfPSvJTGRIwGoahaOGvp+kbCoxifhzJ1Q==} + '@vitest/utils@3.2.4': + resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} '@volar/language-core@2.4.13': resolution: {integrity: sha512-MnQJ7eKchJx5Oz+YdbqyFUk8BN6jasdJv31n/7r6/WwlOOv7qzvot6B66887l2ST3bUW4Mewml54euzpJWA6bg==} @@ -5261,6 +5925,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + address@1.2.2: resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} engines: {node: '>= 10.0.0'} @@ -5449,6 +6118,9 @@ packages: array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + array-timsort@1.0.3: + resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} + array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} @@ -5518,8 +6190,12 @@ packages: resolution: {integrity: sha512-zJAaP9zxTcvTHRlejau3ZOY4V7SRpiByf3/dxx2uyKxxor19tpmpV2QRsTKikckwhaPmr2dVpxxMr7jOCYVp5g==} engines: {node: '>=6.0.0'} - axios@1.9.0: - resolution: {integrity: sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==} + axios@1.10.0: + resolution: {integrity: sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==} + + axobject-query@4.1.0: + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} + engines: {node: '>= 0.4'} b4a@1.6.7: resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==} @@ -5688,23 +6364,29 @@ packages: resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - bootstrap@5.3.6: - resolution: {integrity: sha512-jX0GAcRzvdwISuvArXn3m7KZscWWFAf1MKBcnzaN02qWMb3jpMoUX4/qgeiGzqyIb4ojulRzs89UCUmGcFSzTA==} + bootstrap@5.3.7: + resolution: {integrity: sha512-7KgiD8UHjfcPBHEpDNg+zGz8L3LqR3GVwqZiBRFX04a1BCArZOz1r2kjly2HQ0WokqTO0v1nF+QAt8dsW4lKlw==} peerDependencies: '@popperjs/core': ^2.11.8 + bowser@2.11.0: + resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} + boxicons@2.1.4: resolution: {integrity: sha512-BvJNfYfnE4g9WQ7GL91fftxMOTwAleWlPFwvQJPYb/Ju7aLjlQ/Eu55AH9JLNk/OR82z+ZSq4TbKzbV/e5Rr0A==} bplist-creator@0.0.8: resolution: {integrity: sha512-Za9JKzD6fjLC16oX2wsXfc+qBEhJBJB1YPInoAQpMLhDuj5aVOv1baGeIQSq1Fr3OCqzvsoQcSBSwGId/Ja2PA==} - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} @@ -5865,9 +6547,6 @@ packages: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} - character-entities@2.0.2: - resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} - chardet@2.1.0: resolution: {integrity: sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==} @@ -5931,6 +6610,14 @@ packages: cjs-module-lexer@1.4.3: resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} + ckeditor5-collaboration@45.2.0: + resolution: {integrity: sha512-7xTA0+fi1d0PjfOsf+ftTzkGzPR3iZDz7QfipFeYooWlwv7RjqN8+8ZbMISZaQg25lCi3gR7ZEoicVghbEsuhA==} + + ckeditor5-premium-features@45.2.0: + resolution: {integrity: sha512-JP1FeHXb9rUBj+vbiES1xz7LEX7Pni5KJ7U/C2JDJjr8Y3bbTcSW83nk+Li4VVctpRp1SgP50wKWlpssWB+MBQ==} + peerDependencies: + ckeditor5: 45.2.0 + ckeditor5@45.2.0: resolution: {integrity: sha512-1qmimEn9buiaadFq8e8ixUP/9rMWZ7YCw0UX6RokPy3njEUByXLlni20El6nMvDG1OEtPiYvl/G79DSs6DiN8w==} @@ -6007,10 +6694,17 @@ packages: resolution: {integrity: sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==} engines: {node: '>=6'} + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + co@4.6.0: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + codemirror-lang-elixir@4.0.0: + resolution: {integrity: sha512-mzFesxo/t6KOxwnkqVd34R/q7yk+sMtHh6vUKGAvjwHmpL7bERHB+vQAsmU/nqrndkwVeJEHWGw/z/ybfdiudA==} + codemirror-lang-hcl@0.1.0: resolution: {integrity: sha512-duwKEaQDhkJWad4YQ9pv4282BS6hCdR+gS/qTAj3f9bypXNNZ42bIN43h9WK3DjyZRENtVlUQdrQM1sA44wHmA==} @@ -6099,6 +6793,10 @@ packages: resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} + comment-json@4.2.5: + resolution: {integrity: sha512-bKw/r35jR3HGt5PEPm1ljsQQGyCrR8sFGNiN5L+ykDHdpO8Smxkrkla9Yi6NkQyUrb8V54PGhfMs6NrIwtxtdw==} + engines: {node: '>= 6'} + comment-parser@1.4.0: resolution: {integrity: sha512-QLyTNiZ2KDOibvFPlZ6ZngVsZ/0gYnE6uTXi5aoDg8ed3AkJAz4sEje3Y8a29hQ1s6A99MZXe47fLAXQ1rTqaw==} engines: {node: '>= 12.0.0'} @@ -6152,6 +6850,10 @@ packages: resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} engines: {node: '>=0.8'} + consola@3.4.0: + resolution: {integrity: sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==} + engines: {node: ^14.18.0 || >=16.10.0} + console-control-strings@1.1.0: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} @@ -6184,6 +6886,10 @@ packages: resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} engines: {node: '>=6.6.0'} + cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + cookie@0.7.1: resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} engines: {node: '>= 0.6'} @@ -6597,9 +7303,6 @@ packages: resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} engines: {node: '>=12'} - dagre-d3-es@7.0.10: - resolution: {integrity: sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==} - dagre-d3-es@7.0.11: resolution: {integrity: sha512-tvlJLyQf834SylNKax8Wkzco/1ias1OPw8DcUMDE7oUIoSEW25riQVuiu/0OWEFqT0cxHT3Pa9/D82Jr47IONw==} @@ -6669,6 +7372,15 @@ packages: supports-color: optional: true + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + debug@4.4.1: resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} engines: {node: '>=6.0'} @@ -6693,9 +7405,6 @@ packages: decimal.js@10.5.0: resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==} - decode-named-character-reference@1.1.0: - resolution: {integrity: sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==} - decode-uri-component@0.2.2: resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} engines: {node: '>=0.10'} @@ -6704,6 +7413,14 @@ packages: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} + dedent@1.5.1: + resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + dedent@1.5.3: resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} peerDependencies: @@ -6842,6 +7559,9 @@ packages: detect-touch-events@2.0.2: resolution: {integrity: sha512-g8GWBkJLiIDRJfRXEdrd1wMXpNyGId2DkbfuwFahSb4OCvn717hyRJtAcEDISfp3zkwEhZ4Y4woHPA6DeyB3Fw==} + devalue@5.1.1: + resolution: {integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==} + dezalgo@1.0.4: resolution: {integrity: sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==} @@ -7064,6 +7784,13 @@ packages: end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + engine.io-client@6.5.4: + resolution: {integrity: sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ==} + + engine.io-parser@5.2.3: + resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==} + engines: {node: '>=10.0.0'} + enhanced-resolve@5.18.1: resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} engines: {node: '>=10.13.0'} @@ -7203,8 +7930,8 @@ packages: peerDependencies: eslint: '>=7.0.0' - eslint-linter-browserify@9.28.0: - resolution: {integrity: sha512-kwl+x7pjceCh+odhn7M6wOyjPKjXtmN/gPcxB7R7OItlW9aFKS1iETNnPbfcGWvO+hULt1BLSyWvNFWUah7EvQ==} + eslint-linter-browserify@9.29.0: + resolution: {integrity: sha512-GWzrT2ZgnsIujgWoxDrza6VS8FPuVOQHUjBLXj8aStjK2eXJ4z3XDc5RZo7Mgu+YvyGHm0/bG2luHFGeRL3xlg==} eslint-plugin-ckeditor5-rules@10.0.0: resolution: {integrity: sha512-0gYPxrvzQmljIUHnxCUKrH0NsLsJNoR316wihe4QSeSSqe4zIv0MLI9ROyXt8HiuAQgSSnGnzVCcdg+T0PxpuQ==} @@ -7220,6 +7947,16 @@ packages: peerDependencies: eslint: '>=8.40.0' + eslint-plugin-svelte@3.9.2: + resolution: {integrity: sha512-aqzfHtG9RPaFhCUFm5QFC6eFY/yHFQIT8VYYFe7/mT2A9mbgVR3XV2keCqU19LN8iVD9mdvRvqHU+4+CzJImvg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.1 || ^9.0.0 + svelte: ^3.37.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + svelte: + optional: true + eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} @@ -7228,6 +7965,10 @@ packages: resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-scope@8.4.0: + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -7236,6 +7977,10 @@ packages: resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-visitor-keys@4.2.1: + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint@9.28.0: resolution: {integrity: sha512-ocgh41VhRlf9+fVpe7QKzwLj9c92fDiqOj8Y3Sd4/ZmVA4Btx4PlUYPq4pp9JDyupkf1upbEXecxL2mwNV7jPQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -7246,10 +7991,27 @@ packages: jiti: optional: true + eslint@9.29.0: + resolution: {integrity: sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + esm-env@1.2.2: + resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==} + espree@10.3.0: resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@10.4.0: + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -7263,6 +8025,9 @@ packages: resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} engines: {node: '>=0.10'} + esrap@1.4.9: + resolution: {integrity: sha512-3OMlcd0a03UGuZpPeUC1HxR3nA23l+HEyCiZw3b3FumJIN9KphoGzDJKMXI1S72jVS1dsenDyQC0kJlO1U9E1g==} + esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} @@ -7405,6 +8170,10 @@ packages: fast-uri@3.0.6: resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} + fast-xml-parser@4.4.1: + resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} + hasBin: true + fast-xml-parser@4.5.3: resolution: {integrity: sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==} hasBin: true @@ -7766,6 +8535,9 @@ packages: get-tsconfig@4.10.0: resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==} + get-tsconfig@4.10.1: + resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==} + get-uri@6.0.4: resolution: {integrity: sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ==} engines: {node: '>= 14'} @@ -7912,6 +8684,10 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + has-own-prop@2.0.0: + resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==} + engines: {node: '>=8'} + has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} @@ -8082,6 +8858,10 @@ packages: resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} + human-id@4.1.1: + resolution: {integrity: sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==} + hasBin: true + humanize-ms@1.2.1: resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} @@ -8132,6 +8912,10 @@ packages: resolution: {integrity: sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==} engines: {node: '>= 4'} + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + image-blob-reduce@3.0.1: resolution: {integrity: sha512-/VmmWgIryG/wcn4TVrV7cC4mlfUC/oyiKIfSg5eVM3Ten/c1c34RJhMYKCWTnoSMHSqXLt3tsrBR4Q2HInvN+Q==} @@ -8161,8 +8945,8 @@ packages: immutable@4.3.7: resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} - immutable@5.1.2: - resolution: {integrity: sha512-qHKXW1q6liAk1Oys6umoaZbDRqjcjgSrbnrifHsfsttza7zcvRAsL7mMV6xWcyhwQy7Xj5v4hhbr6b+iDYwlmQ==} + immutable@5.1.3: + resolution: {integrity: sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==} import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} @@ -8433,6 +9217,9 @@ packages: is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} + is-reference@3.0.3: + resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==} + is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} @@ -8729,6 +9516,9 @@ packages: jquery@3.7.1: resolution: {integrity: sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==} + js-sha256@0.11.1: + resolution: {integrity: sha512-o6WSo/LUvY2uC4j7mO50a2ms7E/EAdbP0swigLV+nzHKTTaYnaLIWJ02VdXrsJX0vGedDESQnLsOekr94ryfjg==} + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -8846,11 +9636,15 @@ packages: keyboardevents-areequal@0.2.2: resolution: {integrity: sha512-Nv+Kr33T0mEjxR500q+I6IWisOQ0lK1GGOncV0kWE6n4KFmpcu7RUX5/2B0EUtX51Cb0HjZ9VJsSY3u4cBa0kw==} + keyux@0.7.2: + resolution: {integrity: sha512-Z8ULf9BhSx1hI2rKG2uNjcvMgQmza97ZW2w43phS5VaT4wiTka7tOL4i/GJSc79k65tbvpoTVNCZwam0pqoH6A==} + engines: {node: ^18.0.0 || >=20.0.0} + keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - keyv@5.3.3: - resolution: {integrity: sha512-Rwu4+nXI9fqcxiEHtbkvoes2X+QfkTRo1TMkPfwzipGsJlJO/z69vqB4FNl9xJ3xCpAcbkvmEabZfPzrwN3+gQ==} + keyv@5.3.4: + resolution: {integrity: sha512-ypEvQvInNpUe+u+w8BIcPkQvEqXquyyibWE/1NB5T2BTzIpS5cGEV1LZskDzPSTvNAaT4+5FutvzlvnkxOSKlw==} khroma@2.1.0: resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} @@ -8880,6 +9674,10 @@ packages: kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + kysely@0.27.6: + resolution: {integrity: sha512-FIyV/64EkKhJmjgC0g2hygpBv5RNWVPyNCqSAD7eTCv6eFWNIi4PN1UvdSJGicN/o35bnevgis4Y0UDC0qi8jQ==} + engines: {node: '>=14.0.0'} + langium@3.3.1: resolution: {integrity: sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w==} engines: {node: '>=16.0.0'} @@ -8916,9 +9714,76 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} + lezer-elixir@1.1.2: + resolution: {integrity: sha512-K3yPMJcNhqCL6ugr5NkgOC1g37rcOM38XZezO9lBXy0LwWFd8zdWXfmRbY829vZVk0OGCQoI02yDWp9FF2OWZA==} + lie@3.3.0: resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} + lightningcss-darwin-arm64@1.30.1: + resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.30.1: + resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.30.1: + resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.30.1: + resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.30.1: + resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-musl@1.30.1: + resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-x64-gnu@1.30.1: + resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-musl@1.30.1: + resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-win32-arm64-msvc@1.30.1: + resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.30.1: + resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.30.1: + resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==} + engines: {node: '>= 12.0.0'} + lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} @@ -8969,6 +9834,9 @@ packages: locate-app@2.5.0: resolution: {integrity: sha512-xIqbzPMBYArJRmPGUZD9CzV9wOqmVtQnaAn3wrj3s6WYW0bQvPI7x+sPYUGmDTYMHefVK//zc6HEYZ1qnxIK+Q==} + locate-character@3.0.0: + resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} + locate-path@2.0.0: resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} engines: {node: '>=4'} @@ -8988,6 +9856,9 @@ packages: lodash-es@4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + lodash.castarray@4.4.0: + resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} + lodash.clonedeep@4.5.0: resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} @@ -9002,6 +9873,9 @@ packages: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} deprecated: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. + lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} @@ -9049,6 +9923,9 @@ packages: resolution: {integrity: sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==} engines: {node: '>= 0.6.0'} + long@5.3.2: + resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==} + loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -9056,6 +9933,9 @@ packages: loupe@3.1.3: resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} + loupe@3.1.4: + resolution: {integrity: sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==} + lowercase-keys@2.0.0: resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} engines: {node: '>=8'} @@ -9074,6 +9954,10 @@ packages: resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} engines: {node: '>=12'} + luxon@3.5.0: + resolution: {integrity: sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==} + engines: {node: '>=12'} + lz-string@1.5.0: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true @@ -9146,12 +10030,6 @@ packages: mathml-tag-names@2.1.3: resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} - mdast-util-from-markdown@1.3.1: - resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} - - mdast-util-to-string@3.2.0: - resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} - mdn-data@2.0.14: resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} @@ -9164,6 +10042,11 @@ packages: mdn-data@2.12.2: resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} + mdsvex@0.12.6: + resolution: {integrity: sha512-pupx2gzWh3hDtm/iDW4WuCpljmyHbHi34r7ktOqpPGvyiM4MyfNgdJ3qMizXdgCErmvYC9Nn/qyjePy+4ss9Wg==} + peerDependencies: + svelte: ^3.56.0 || ^4.0.0 || ^5.0.0-next.120 + media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} @@ -9198,9 +10081,6 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - mermaid@10.9.3: - resolution: {integrity: sha512-V80X1isSEvAewIL3xhmz/rVmc27CVljcsbWxkxlWJWY/1kQa4XOABqpDl2qQLGKzpKm6WbTfUEKImBlUfFYArw==} - mermaid@11.6.0: resolution: {integrity: sha512-PE8hGUy1LDlWIHWBP05SFdqUHGmRcCcK4IzpOKPE35eOw+G9zZgcnMpyunJVUEOgb//KBORPjysKndw8bFLuRg==} @@ -9208,69 +10088,6 @@ packages: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} - micromark-core-commonmark@1.1.0: - resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} - - micromark-factory-destination@1.1.0: - resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} - - micromark-factory-label@1.1.0: - resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} - - micromark-factory-space@1.1.0: - resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} - - micromark-factory-title@1.1.0: - resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} - - micromark-factory-whitespace@1.1.0: - resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} - - micromark-util-character@1.2.0: - resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} - - micromark-util-chunked@1.1.0: - resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} - - micromark-util-classify-character@1.1.0: - resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} - - micromark-util-combine-extensions@1.1.0: - resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} - - micromark-util-decode-numeric-character-reference@1.1.0: - resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} - - micromark-util-decode-string@1.1.0: - resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} - - micromark-util-encode@1.1.0: - resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} - - micromark-util-html-tag-name@1.2.0: - resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} - - micromark-util-normalize-identifier@1.1.0: - resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} - - micromark-util-resolve-all@1.1.0: - resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} - - micromark-util-sanitize-uri@1.2.0: - resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} - - micromark-util-subtokenize@1.1.0: - resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} - - micromark-util-symbol@1.1.0: - resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} - - micromark-util-types@1.1.0: - resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} - - micromark@3.2.0: - resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} - micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} @@ -9322,8 +10139,8 @@ packages: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} - mind-elixir@4.6.0: - resolution: {integrity: sha512-svl/YkKaIR8vsKhdgA0YRmGCWlVUgyYfUrDIFfnmL599CJDkw5f1gygwbQN8uDyRIRXNl8LZLUqEZmwmxXAPsg==} + mind-elixir@4.6.1: + resolution: {integrity: sha512-hrQj5+tJPjYdF7gbVyP/wFEaG6M/hW3S/94WWG68lpD1c630IKuPfnsByjpgE84UotEQfm5U85pA8tdXJTggSA==} mini-css-extract-plugin@2.4.7: resolution: {integrity: sha512-euWmddf0sk9Nv1O0gfeeUAvAkoSlWncNLF77C0TP2+WoPvy8mAHKOzMajcCz2dzvyt3CNgxb1obIEVFIRxaipg==} @@ -9615,9 +10432,6 @@ packages: node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} - non-layered-tidy-tree-layout@2.0.2: - resolution: {integrity: sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==} - nopt@5.0.0: resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} engines: {node: '>=6'} @@ -9673,8 +10487,8 @@ packages: nwsapi@2.2.20: resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==} - nx@21.1.3: - resolution: {integrity: sha512-GZ7+Bve4xOVIk/hb9nN16fVqVq5PNNyFom1SCQbEGhGkyABJF8kA4JImCKhZpZyg1CtZeUrkPHK4xNO+rw9G5w==} + nx@21.2.0: + resolution: {integrity: sha512-64UK6Bt9a2BbeRhKPpfdyHDCtzz5onfjiBtngyqjtkB8FLVXW4OAggG18NIUl354SUcv2xqjlZyTRz7H/mmXdQ==} hasBin: true peerDependencies: '@swc-node/register': ^1.8.0 @@ -9763,8 +10577,8 @@ packages: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} - openai@5.3.0: - resolution: {integrity: sha512-VIKmoF7y4oJCDOwP/oHXGzM69+x0dpGFmN9QmYO+uPbLFOmmnwO+x1GbsgUtI+6oraxomGZ566Y421oYVu191w==} + openai@5.5.1: + resolution: {integrity: sha512-5i19097mGotHA1eFsM6Tjd/tJ8uo9sa5Ysv4Q6bKJ2vtN6rc0MzMrUefXnLXYAJcmMQrC1Efhj0AvfIkXrQamw==} hasBin: true peerDependencies: ws: ^8.18.0 @@ -10289,6 +11103,18 @@ packages: peerDependencies: postcss: ^8.4.21 + postcss-load-config@3.1.4: + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} + engines: {node: '>= 10'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + postcss-loader@4.3.0: resolution: {integrity: sha512-M/dSoIiNDOo8Rk0mUqoj4kpGq91gcxCfb9PoyZVdZ76/AuhxylHDYZblNE8o+EQ9AMSASeMFEKxZf5aU6wlx1Q==} engines: {node: '>= 10.13.0'} @@ -10684,6 +11510,16 @@ packages: peerDependencies: postcss: ^8.4.31 + postcss-scss@4.0.9: + resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.4.29 + + postcss-selector-parser@6.0.10: + resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + engines: {node: '>=4'} + postcss-selector-parser@6.1.2: resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} engines: {node: '>=4'} @@ -10746,11 +11582,8 @@ packages: engines: {node: '>=14.0.0'} hasBin: true - preact@10.12.1: - resolution: {integrity: sha512-l8386ixSsBdbreOAkqtrwqHwdvR35ID8c3rKPa8lCWuO86dBi32QWHV4vfsZK1utLLFMvw+Z5Ad4XLkZzchscg==} - - preact@10.26.5: - resolution: {integrity: sha512-fmpDkgfGU6JYux9teDWLhj9mKN55tyepwYbxHgQuIxbWQzgFg5vk7Mrrtfx7xRxq798ynkY4DDDxZr235Kk+4w==} + preact@10.26.9: + resolution: {integrity: sha512-SSjF9vcnF27mJK1XyFMNJzFd5u3pQiATFqoaDy03XuN00u4ziveVVEGt5RKJrDR8MHE/wJo9Nnad56RLzS2RMA==} prebuild-install@7.1.3: resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} @@ -10769,6 +11602,13 @@ packages: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + prism-svelte@0.4.7: + resolution: {integrity: sha512-yABh19CYbM24V7aS7TuPYRNMqthxwbvx6FF/Rw920YbyBWO3tnyPIqRMgHuSVsLmuHkkBS1Akyof463FVdkeDQ==} + + prismjs@1.30.0: + resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} + engines: {node: '>=6'} + proc-log@2.0.1: resolution: {integrity: sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -10807,6 +11647,10 @@ packages: prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + protobufjs@7.5.0: + resolution: {integrity: sha512-Z2E/kOY1QjoMlCytmexzYfDm/w5fKAiRwpSzGtdnXW1zC88Z2yXazHHrOtwCzn+7wSxyE8PYM4rvVcMphF9sOA==} + engines: {node: '>=12.0.0'} + proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} @@ -10984,10 +11828,6 @@ packages: resolution: {integrity: sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==} engines: {node: '>=0.10.0'} - react@19.1.0: - resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} - engines: {node: '>=0.10.0'} - read-binary-file-arch@1.0.6: resolution: {integrity: sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==} hasBin: true @@ -11216,9 +12056,6 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - roughjs@4.6.4: - resolution: {integrity: sha512-s6EZ0BntezkFYMf/9mGn7M8XGIoaav9QQBCnJROWB3brUWQ683Q2LbRD/hq0Z3bAJ/9NVpU/5LpiTWvQMyLDhw==} - roughjs@4.6.6: resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} @@ -11520,6 +12357,9 @@ packages: set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + set-cookie-parser@2.7.1: + resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==} + set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} @@ -11638,6 +12478,14 @@ packages: smob@1.5.0: resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} + socket.io-client@4.7.0: + resolution: {integrity: sha512-7Q8CeDrhuZzg4QLXl3tXlk5yb086oxYzehAVZRLiGCzCmtDneiHz1qHyyWcxhTgxXiokVpWQXoG/u60HoXSQew==} + engines: {node: '>=10.0.0'} + + socket.io-parser@4.2.4: + resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} + engines: {node: '>=10.0.0'} + sockjs@0.3.24: resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} @@ -11715,6 +12563,10 @@ packages: resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} engines: {node: '>=6.0.0'} + specificity@0.4.1: + resolution: {integrity: sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==} + hasBin: true + split-on-first@1.1.0: resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} engines: {node: '>=6'} @@ -11732,6 +12584,11 @@ packages: sprintf-js@1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + sqlite-wasm-kysely@0.3.0: + resolution: {integrity: sha512-TzjBNv7KwRw6E3pdKdlRyZiTmUIE0UttT/Sl56MVwVARl/u5gp978KepazCJZewFUnlWHz9i3NQd4kOtP/Afdg==} + peerDependencies: + kysely: '*' + sqlite3@5.1.7: resolution: {integrity: sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==} @@ -12021,6 +12878,27 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + svelte-check@4.2.1: + resolution: {integrity: sha512-e49SU1RStvQhoipkQ/aonDhHnG3qxHSBtNfBRb9pxVXoa+N7qybAo32KgA9wEb2PCYFNaDg7bZCdhLD1vHpdYA==} + engines: {node: '>= 18.0.0'} + hasBin: true + peerDependencies: + svelte: ^4.0.0 || ^5.0.0-next.0 + typescript: '>=5.0.0' + + svelte-eslint-parser@1.2.0: + resolution: {integrity: sha512-mbPtajIeuiyU80BEyGvwAktBeTX7KCr5/0l+uRGLq1dafwRNrjfM5kHGJScEBlPG3ipu6dJqfW/k0/fujvIEVw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + svelte: ^3.37.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + svelte: + optional: true + + svelte@5.34.1: + resolution: {integrity: sha512-jWNnN2hZFNtnzKPptCcJHBWrD9CtbHPDwIRIODufOYaWkR0kLmAIlM384lMt4ucwuIRX4hCJwD2D8ZtEcGJQ0Q==} + engines: {node: '>=18'} + svg-pan-zoom@3.6.2: resolution: {integrity: sha512-JwnvRWfVKw/Xzfe6jriFyfey/lWJLq4bUh2jwoR5ChWQuQoOH8FEh1l/bEp46iHHKHEJWIyFJETbazraxNWECg==} @@ -12070,6 +12948,9 @@ packages: resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==} engines: {node: '>=10.0.0'} + tailwindcss@4.1.10: + resolution: {integrity: sha512-P3nr6WkvKV/ONsTzj6Gb57sWPMX29EPNPopo7+FcpkQaNsrNpZ1pv8QmrYI2RqEKD7mlGqLnGovlcYnBK0IqUA==} + tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} @@ -12192,6 +13073,10 @@ packages: resolution: {integrity: sha512-7CotroY9a8DKsKprEy/a14aCCm8jYVmR7aFy4fpkZM8sdpNJbKkixuNjgM50yCmip2ezc8z4N7k3oe2+rfRJCQ==} engines: {node: ^18.0.0 || >=20.0.0} + tinypool@1.1.1: + resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} + engines: {node: ^18.0.0 || >=20.0.0} + tinyrainbow@2.0.0: resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} engines: {node: '>=14.0.0'} @@ -12280,12 +13165,6 @@ packages: truncate-utf8-bytes@1.0.2: resolution: {integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==} - ts-api-utils@1.4.3: - resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' - ts-api-utils@2.1.0: resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} engines: {node: '>=18.12'} @@ -12329,6 +13208,11 @@ packages: engines: {node: '>=18.0.0'} hasBin: true + tsx@4.20.3: + resolution: {integrity: sha512-qjbnuR9Tr+FJOMBqJCW5ehvIo/buZq7vH7qD7JziU98h6l3qGy0a/yPFjwO+y0/T7GFpNgNAvEcPPVfyT8rrPQ==} + engines: {node: '>=18.0.0'} + hasBin: true + tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} @@ -12414,16 +13298,18 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + typescript-eslint@8.34.1: + resolution: {integrity: sha512-XjS+b6Vg9oT1BaIUfkW3M3LvqZE++rbzAMEHuccCfO/YkP43ha6w3jTEMilQxMF92nVOYCcdjv1ZUhAa1D/0ow==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + typescript@5.0.4: resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} engines: {node: '>=12.20'} hasBin: true - typescript@5.7.3: - resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} - engines: {node: '>=14.17'} - hasBin: true - typescript@5.8.2: resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==} engines: {node: '>=14.17'} @@ -12512,8 +13398,17 @@ packages: resolution: {integrity: sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==} engines: {node: ^18.17.0 || >=20.5.0} - unist-util-stringify-position@3.0.3: - resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} + unist-util-is@4.1.0: + resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} + + unist-util-stringify-position@2.0.3: + resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + + unist-util-visit-parents@3.1.1: + resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} + + unist-util-visit@2.0.3: + resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==} universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} @@ -12535,6 +13430,10 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} + unplugin@2.3.5: + resolution: {integrity: sha512-RyWSb5AHmGtjjNQ6gIlA67sHOsWpsbWpwDokLwTcejVdOjEkJZh7QKu14J00gDDVSh8kGH4KYC/TNBceXFZhtw==} + engines: {node: '>=18.12.0'} + unused-filename@4.0.1: resolution: {integrity: sha512-ZX6U1J04K1FoSUeoX1OicAhw4d0aro2qo+L8RhJkiGTNtBNkd/Fi1Wxoc9HzcVu6HfOzm0si/N15JjxFmD1z6A==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -12611,6 +13510,10 @@ packages: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} + uuid@10.0.0: + resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} + hasBin: true + uuid@11.1.0: resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==} hasBin: true @@ -12623,11 +13526,6 @@ packages: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true - uvu@0.5.6: - resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} - engines: {node: '>=8'} - hasBin: true - v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} @@ -12662,13 +13560,16 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} + vfile-message@2.0.4: + resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} + vite-node@3.2.0: resolution: {integrity: sha512-8Fc5Ko5Y4URIJkmMF/iFP1C0/OJyY+VGVe9Nw6WAdZyw4bTO+eVg9mwxWkQp/y8NnAoQY3o9KAvE1ZdA2v+Vmg==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true - vite-node@3.2.3: - resolution: {integrity: sha512-gc8aAifGuDIpZHrPjuHyP4dpQmYXqWw7D1GmDnWeNWP654UEXzVfQ5IHPSK5HaHkwB/+p1atpYpSdw/2kOv8iQ==} + vite-node@3.2.4: + resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true @@ -12681,8 +13582,8 @@ packages: vite: optional: true - vite-plugin-static-copy@3.0.0: - resolution: {integrity: sha512-Uki9pPUQ4ZnoMEdIFabvoh9h6Bh9Q1m3iF7BrZvoiF30reREpJh2gZb4jOnW1/uYFzyRiLCmFSkM+8hwiq1vWQ==} + vite-plugin-static-copy@3.0.2: + resolution: {integrity: sha512-/seLvhUg44s1oU9RhjTZZy/0NPbfNctozdysKcvPovxxXZdI5l19mGq6Ri3IaTf1Dy/qChS4BSR7ayxeu8o9aQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 || ^6.0.0 @@ -12733,6 +13634,14 @@ packages: yaml: optional: true + vitefu@1.0.6: + resolution: {integrity: sha512-+Rex1GlappUyNN6UfwbVZne/9cYC4+R2XDk9xkNXBKMw6HQagdX9PgZ8V2v1WUSK1wfBLp7qbI1+XSNIlB1xmA==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 + peerDependenciesMeta: + vite: + optional: true + vitest@3.2.0: resolution: {integrity: sha512-P7Nvwuli8WBNmeMHHek7PnGW4oAZl9za1fddfRVidZar8wDZRi7hpznLKQePQ8JPLwSBEYDK11g+++j7uFJV8Q==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} @@ -12761,16 +13670,16 @@ packages: jsdom: optional: true - vitest@3.2.3: - resolution: {integrity: sha512-E6U2ZFXe3N/t4f5BwUaVCKRLHqUpk1CBWeMh78UT4VaTPH/2dyvH6ALl29JTovEPu9dVKr/K/J4PkXgrMbw4Ww==} + vitest@3.2.4: + resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.2.3 - '@vitest/ui': 3.2.3 + '@vitest/browser': 3.2.4 + '@vitest/ui': 3.2.4 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -12852,9 +13761,6 @@ packages: resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} engines: {node: '>= 8'} - web-worker@1.5.0: - resolution: {integrity: sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw==} - webdriver@9.15.0: resolution: {integrity: sha512-JCW5xvhZtL6kjbckdePgVYMOlvWbh22F1VFkIf9pw3prwXI2EHED5Eq/nfDnNfHiqr0AfFKWmIDPziSafrVv4Q==} engines: {node: '>=18.20.0'} @@ -12916,6 +13822,9 @@ packages: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} + webpack-virtual-modules@0.6.2: + resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + webpack@5.99.9: resolution: {integrity: sha512-brOPwM3JnmOa+7kd3NsmOUOwbDAj8FT9xDsG3IW0MgbN9yZV7Oi/s/+MNQ/EcSMqw7qfoRyXPoeEWT8zLVdVGg==} engines: {node: '>=10.13.0'} @@ -13070,6 +13979,18 @@ packages: utf-8-validate: optional: true + ws@8.17.1: + resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + ws@8.18.2: resolution: {integrity: sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==} engines: {node: '>=10.0.0'} @@ -13111,6 +14032,10 @@ packages: xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + xmlhttprequest-ssl@2.0.0: + resolution: {integrity: sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==} + engines: {node: '>=0.4.0'} + xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} @@ -13207,6 +14132,9 @@ packages: engines: {node: '>=8.0.0'} hasBin: true + zimmerframe@1.1.2: + resolution: {integrity: sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==} + zip-stream@6.0.1: resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} engines: {node: '>= 14'} @@ -13246,7 +14174,7 @@ snapshots: '@antfu/utils@8.1.1': {} - '@anthropic-ai/sdk@0.53.0': {} + '@anthropic-ai/sdk@0.54.0': {} '@apidevtools/json-schema-ref-parser@9.1.2': dependencies: @@ -13277,6 +14205,394 @@ snapshots: '@csstools/css-tokenizer': 3.0.3 lru-cache: 10.4.3 + '@aws-crypto/crc32@5.2.0': + dependencies: + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.609.0 + tslib: 2.8.1 + + '@aws-crypto/sha256-browser@5.2.0': + dependencies: + '@aws-crypto/sha256-js': 5.2.0 + '@aws-crypto/supports-web-crypto': 5.2.0 + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.609.0 + '@aws-sdk/util-locate-window': 3.804.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.8.1 + + '@aws-crypto/sha256-js@5.2.0': + dependencies: + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.609.0 + tslib: 2.8.1 + + '@aws-crypto/supports-web-crypto@5.2.0': + dependencies: + tslib: 2.8.1 + + '@aws-crypto/util@5.2.0': + dependencies: + '@aws-sdk/types': 3.609.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.8.1 + + '@aws-sdk/client-bedrock-runtime@3.621.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/client-sso-oidc': 3.621.0(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/client-sts': 3.621.0 + '@aws-sdk/core': 3.621.0 + '@aws-sdk/credential-provider-node': 3.621.0(@aws-sdk/client-sso-oidc@3.621.0(@aws-sdk/client-sts@3.621.0))(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/middleware-host-header': 3.620.0 + '@aws-sdk/middleware-logger': 3.609.0 + '@aws-sdk/middleware-recursion-detection': 3.620.0 + '@aws-sdk/middleware-user-agent': 3.620.0 + '@aws-sdk/region-config-resolver': 3.614.0 + '@aws-sdk/types': 3.609.0 + '@aws-sdk/util-endpoints': 3.614.0 + '@aws-sdk/util-user-agent-browser': 3.609.0 + '@aws-sdk/util-user-agent-node': 3.614.0 + '@smithy/config-resolver': 3.0.13 + '@smithy/core': 2.5.7 + '@smithy/eventstream-serde-browser': 3.0.14 + '@smithy/eventstream-serde-config-resolver': 3.0.11 + '@smithy/eventstream-serde-node': 3.0.13 + '@smithy/fetch-http-handler': 3.2.9 + '@smithy/hash-node': 3.0.11 + '@smithy/invalid-dependency': 3.0.11 + '@smithy/middleware-content-length': 3.0.13 + '@smithy/middleware-endpoint': 3.2.8 + '@smithy/middleware-retry': 3.0.34 + '@smithy/middleware-serde': 3.0.11 + '@smithy/middleware-stack': 3.0.11 + '@smithy/node-config-provider': 3.1.12 + '@smithy/node-http-handler': 3.3.3 + '@smithy/protocol-http': 4.1.8 + '@smithy/smithy-client': 3.7.0 + '@smithy/types': 3.7.2 + '@smithy/url-parser': 3.0.11 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.34 + '@smithy/util-defaults-mode-node': 3.0.34 + '@smithy/util-endpoints': 2.1.7 + '@smithy/util-middleware': 3.0.11 + '@smithy/util-retry': 3.0.11 + '@smithy/util-stream': 3.3.4 + '@smithy/util-utf8': 3.0.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/client-sso-oidc@3.621.0(@aws-sdk/client-sts@3.621.0)': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/client-sts': 3.621.0 + '@aws-sdk/core': 3.621.0 + '@aws-sdk/credential-provider-node': 3.621.0(@aws-sdk/client-sso-oidc@3.621.0(@aws-sdk/client-sts@3.621.0))(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/middleware-host-header': 3.620.0 + '@aws-sdk/middleware-logger': 3.609.0 + '@aws-sdk/middleware-recursion-detection': 3.620.0 + '@aws-sdk/middleware-user-agent': 3.620.0 + '@aws-sdk/region-config-resolver': 3.614.0 + '@aws-sdk/types': 3.609.0 + '@aws-sdk/util-endpoints': 3.614.0 + '@aws-sdk/util-user-agent-browser': 3.609.0 + '@aws-sdk/util-user-agent-node': 3.614.0 + '@smithy/config-resolver': 3.0.13 + '@smithy/core': 2.5.7 + '@smithy/fetch-http-handler': 3.2.9 + '@smithy/hash-node': 3.0.11 + '@smithy/invalid-dependency': 3.0.11 + '@smithy/middleware-content-length': 3.0.13 + '@smithy/middleware-endpoint': 3.2.8 + '@smithy/middleware-retry': 3.0.34 + '@smithy/middleware-serde': 3.0.11 + '@smithy/middleware-stack': 3.0.11 + '@smithy/node-config-provider': 3.1.12 + '@smithy/node-http-handler': 3.3.3 + '@smithy/protocol-http': 4.1.8 + '@smithy/smithy-client': 3.7.0 + '@smithy/types': 3.7.2 + '@smithy/url-parser': 3.0.11 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.34 + '@smithy/util-defaults-mode-node': 3.0.34 + '@smithy/util-endpoints': 2.1.7 + '@smithy/util-middleware': 3.0.11 + '@smithy/util-retry': 3.0.11 + '@smithy/util-utf8': 3.0.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/client-sso@3.621.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/core': 3.621.0 + '@aws-sdk/middleware-host-header': 3.620.0 + '@aws-sdk/middleware-logger': 3.609.0 + '@aws-sdk/middleware-recursion-detection': 3.620.0 + '@aws-sdk/middleware-user-agent': 3.620.0 + '@aws-sdk/region-config-resolver': 3.614.0 + '@aws-sdk/types': 3.609.0 + '@aws-sdk/util-endpoints': 3.614.0 + '@aws-sdk/util-user-agent-browser': 3.609.0 + '@aws-sdk/util-user-agent-node': 3.614.0 + '@smithy/config-resolver': 3.0.13 + '@smithy/core': 2.5.7 + '@smithy/fetch-http-handler': 3.2.9 + '@smithy/hash-node': 3.0.11 + '@smithy/invalid-dependency': 3.0.11 + '@smithy/middleware-content-length': 3.0.13 + '@smithy/middleware-endpoint': 3.2.8 + '@smithy/middleware-retry': 3.0.34 + '@smithy/middleware-serde': 3.0.11 + '@smithy/middleware-stack': 3.0.11 + '@smithy/node-config-provider': 3.1.12 + '@smithy/node-http-handler': 3.3.3 + '@smithy/protocol-http': 4.1.8 + '@smithy/smithy-client': 3.7.0 + '@smithy/types': 3.7.2 + '@smithy/url-parser': 3.0.11 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.34 + '@smithy/util-defaults-mode-node': 3.0.34 + '@smithy/util-endpoints': 2.1.7 + '@smithy/util-middleware': 3.0.11 + '@smithy/util-retry': 3.0.11 + '@smithy/util-utf8': 3.0.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/client-sts@3.621.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/client-sso-oidc': 3.621.0(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/core': 3.621.0 + '@aws-sdk/credential-provider-node': 3.621.0(@aws-sdk/client-sso-oidc@3.621.0(@aws-sdk/client-sts@3.621.0))(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/middleware-host-header': 3.620.0 + '@aws-sdk/middleware-logger': 3.609.0 + '@aws-sdk/middleware-recursion-detection': 3.620.0 + '@aws-sdk/middleware-user-agent': 3.620.0 + '@aws-sdk/region-config-resolver': 3.614.0 + '@aws-sdk/types': 3.609.0 + '@aws-sdk/util-endpoints': 3.614.0 + '@aws-sdk/util-user-agent-browser': 3.609.0 + '@aws-sdk/util-user-agent-node': 3.614.0 + '@smithy/config-resolver': 3.0.13 + '@smithy/core': 2.5.7 + '@smithy/fetch-http-handler': 3.2.9 + '@smithy/hash-node': 3.0.11 + '@smithy/invalid-dependency': 3.0.11 + '@smithy/middleware-content-length': 3.0.13 + '@smithy/middleware-endpoint': 3.2.8 + '@smithy/middleware-retry': 3.0.34 + '@smithy/middleware-serde': 3.0.11 + '@smithy/middleware-stack': 3.0.11 + '@smithy/node-config-provider': 3.1.12 + '@smithy/node-http-handler': 3.3.3 + '@smithy/protocol-http': 4.1.8 + '@smithy/smithy-client': 3.7.0 + '@smithy/types': 3.7.2 + '@smithy/url-parser': 3.0.11 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.34 + '@smithy/util-defaults-mode-node': 3.0.34 + '@smithy/util-endpoints': 2.1.7 + '@smithy/util-middleware': 3.0.11 + '@smithy/util-retry': 3.0.11 + '@smithy/util-utf8': 3.0.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/core@3.621.0': + dependencies: + '@smithy/core': 2.5.7 + '@smithy/node-config-provider': 3.1.12 + '@smithy/protocol-http': 4.1.8 + '@smithy/signature-v4': 4.2.4 + '@smithy/smithy-client': 3.7.0 + '@smithy/types': 3.7.2 + '@smithy/util-middleware': 3.0.11 + fast-xml-parser: 4.4.1 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-env@3.620.1': + dependencies: + '@aws-sdk/types': 3.609.0 + '@smithy/property-provider': 3.1.11 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-http@3.621.0': + dependencies: + '@aws-sdk/types': 3.609.0 + '@smithy/fetch-http-handler': 3.2.9 + '@smithy/node-http-handler': 3.3.3 + '@smithy/property-provider': 3.1.11 + '@smithy/protocol-http': 4.1.8 + '@smithy/smithy-client': 3.7.0 + '@smithy/types': 3.7.2 + '@smithy/util-stream': 3.3.4 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-ini@3.621.0(@aws-sdk/client-sso-oidc@3.621.0(@aws-sdk/client-sts@3.621.0))(@aws-sdk/client-sts@3.621.0)': + dependencies: + '@aws-sdk/client-sts': 3.621.0 + '@aws-sdk/credential-provider-env': 3.620.1 + '@aws-sdk/credential-provider-http': 3.621.0 + '@aws-sdk/credential-provider-process': 3.620.1 + '@aws-sdk/credential-provider-sso': 3.621.0(@aws-sdk/client-sso-oidc@3.621.0(@aws-sdk/client-sts@3.621.0)) + '@aws-sdk/credential-provider-web-identity': 3.621.0(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/types': 3.609.0 + '@smithy/credential-provider-imds': 3.2.8 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + + '@aws-sdk/credential-provider-node@3.621.0(@aws-sdk/client-sso-oidc@3.621.0(@aws-sdk/client-sts@3.621.0))(@aws-sdk/client-sts@3.621.0)': + dependencies: + '@aws-sdk/credential-provider-env': 3.620.1 + '@aws-sdk/credential-provider-http': 3.621.0 + '@aws-sdk/credential-provider-ini': 3.621.0(@aws-sdk/client-sso-oidc@3.621.0(@aws-sdk/client-sts@3.621.0))(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/credential-provider-process': 3.620.1 + '@aws-sdk/credential-provider-sso': 3.621.0(@aws-sdk/client-sso-oidc@3.621.0(@aws-sdk/client-sts@3.621.0)) + '@aws-sdk/credential-provider-web-identity': 3.621.0(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/types': 3.609.0 + '@smithy/credential-provider-imds': 3.2.8 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - '@aws-sdk/client-sts' + - aws-crt + + '@aws-sdk/credential-provider-process@3.620.1': + dependencies: + '@aws-sdk/types': 3.609.0 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-sso@3.621.0(@aws-sdk/client-sso-oidc@3.621.0(@aws-sdk/client-sts@3.621.0))': + dependencies: + '@aws-sdk/client-sso': 3.621.0 + '@aws-sdk/token-providers': 3.614.0(@aws-sdk/client-sso-oidc@3.621.0(@aws-sdk/client-sts@3.621.0)) + '@aws-sdk/types': 3.609.0 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + + '@aws-sdk/credential-provider-web-identity@3.621.0(@aws-sdk/client-sts@3.621.0)': + dependencies: + '@aws-sdk/client-sts': 3.621.0 + '@aws-sdk/types': 3.609.0 + '@smithy/property-provider': 3.1.11 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@aws-sdk/middleware-host-header@3.620.0': + dependencies: + '@aws-sdk/types': 3.609.0 + '@smithy/protocol-http': 4.1.8 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@aws-sdk/middleware-logger@3.609.0': + dependencies: + '@aws-sdk/types': 3.609.0 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@aws-sdk/middleware-recursion-detection@3.620.0': + dependencies: + '@aws-sdk/types': 3.609.0 + '@smithy/protocol-http': 4.1.8 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@aws-sdk/middleware-user-agent@3.620.0': + dependencies: + '@aws-sdk/types': 3.609.0 + '@aws-sdk/util-endpoints': 3.614.0 + '@smithy/protocol-http': 4.1.8 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@aws-sdk/region-config-resolver@3.614.0': + dependencies: + '@aws-sdk/types': 3.609.0 + '@smithy/node-config-provider': 3.1.12 + '@smithy/types': 3.7.2 + '@smithy/util-config-provider': 3.0.0 + '@smithy/util-middleware': 3.0.11 + tslib: 2.8.1 + + '@aws-sdk/token-providers@3.614.0(@aws-sdk/client-sso-oidc@3.621.0(@aws-sdk/client-sts@3.621.0))': + dependencies: + '@aws-sdk/client-sso-oidc': 3.621.0(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/types': 3.609.0 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@aws-sdk/types@3.609.0': + dependencies: + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@aws-sdk/util-endpoints@3.614.0': + dependencies: + '@aws-sdk/types': 3.609.0 + '@smithy/types': 3.7.2 + '@smithy/util-endpoints': 2.1.7 + tslib: 2.8.1 + + '@aws-sdk/util-locate-window@3.804.0': + dependencies: + tslib: 2.8.1 + + '@aws-sdk/util-user-agent-browser@3.609.0': + dependencies: + '@aws-sdk/types': 3.609.0 + '@smithy/types': 3.7.2 + bowser: 2.11.0 + tslib: 2.8.1 + + '@aws-sdk/util-user-agent-node@3.614.0': + dependencies: + '@aws-sdk/types': 3.609.0 + '@smithy/node-config-provider': 3.1.12 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + '@babel/code-frame@7.26.2': dependencies: '@babel/helper-validator-identifier': 7.27.1 @@ -14099,12 +15415,41 @@ snapshots: '@chevrotain/utils@11.0.3': {} + '@ckeditor/ckeditor-cloud-services-collaboration@53.0.0(@ckeditor/ckeditor5-utils@45.2.0)(bufferutil@4.0.9)(ckeditor5@45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5)': + dependencies: + '@ckeditor/ckeditor5-utils': 45.2.0 + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + protobufjs: 7.5.0 + socket.io-client: 4.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + socket.io-parser: 4.2.4 + url-parse: 1.5.10 + uuid: 9.0.1 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + '@ckeditor/ckeditor5-adapter-ckfinder@45.2.0': dependencies: '@ckeditor/ckeditor5-core': 45.2.0 '@ckeditor/ckeditor5-upload': 45.2.0 ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-ai@45.2.0': + dependencies: + '@aws-sdk/client-bedrock-runtime': 3.621.0 + '@ckeditor/ckeditor5-clipboard': 45.2.0 + '@ckeditor/ckeditor5-core': 45.2.0 + '@ckeditor/ckeditor5-engine': 45.2.0 + '@ckeditor/ckeditor5-icons': 45.2.0 + '@ckeditor/ckeditor5-table': 45.2.0 + '@ckeditor/ckeditor5-ui': 45.2.0 + '@ckeditor/ckeditor5-utils': 45.2.0 + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + es-toolkit: 1.32.0 + transitivePeerDependencies: + - aws-crt + '@ckeditor/ckeditor5-alignment@45.2.0': dependencies: '@ckeditor/ckeditor5-core': 45.2.0 @@ -14158,6 +15503,14 @@ snapshots: '@ckeditor/ckeditor5-widget': 45.2.0 ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-case-change@45.2.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.2.0 + '@ckeditor/ckeditor5-icons': 45.2.0 + '@ckeditor/ckeditor5-ui': 45.2.0 + '@ckeditor/ckeditor5-utils': 45.2.0 + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-ckbox@45.2.0': dependencies: '@ckeditor/ckeditor5-cloud-services': 45.2.0 @@ -14207,6 +15560,40 @@ snapshots: '@ckeditor/ckeditor5-utils': 45.2.0 ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-collaboration-core@45.2.0': + dependencies: + '@ckeditor/ckeditor5-comments': 45.2.0 + '@ckeditor/ckeditor5-core': 45.2.0 + '@ckeditor/ckeditor5-icons': 45.2.0 + '@ckeditor/ckeditor5-theme-lark': 45.2.0 + '@ckeditor/ckeditor5-track-changes': 45.2.0 + '@ckeditor/ckeditor5-ui': 45.2.0 + '@ckeditor/ckeditor5-utils': 45.2.0 + '@types/luxon': 3.4.2 + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + luxon: 3.5.0 + + '@ckeditor/ckeditor5-comments@45.2.0': + dependencies: + '@ckeditor/ckeditor5-clipboard': 45.2.0 + '@ckeditor/ckeditor5-collaboration-core': 45.2.0 + '@ckeditor/ckeditor5-core': 45.2.0 + '@ckeditor/ckeditor5-engine': 45.2.0 + '@ckeditor/ckeditor5-enter': 45.2.0 + '@ckeditor/ckeditor5-icons': 45.2.0 + '@ckeditor/ckeditor5-paragraph': 45.2.0 + '@ckeditor/ckeditor5-select-all': 45.2.0 + '@ckeditor/ckeditor5-source-editing': 45.2.0 + '@ckeditor/ckeditor5-theme-lark': 45.2.0 + '@ckeditor/ckeditor5-typing': 45.2.0 + '@ckeditor/ckeditor5-ui': 45.2.0 + '@ckeditor/ckeditor5-undo': 45.2.0 + '@ckeditor/ckeditor5-utils': 45.2.0 + '@ckeditor/ckeditor5-widget': 45.2.0 + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + ckeditor5-collaboration: 45.2.0 + es-toolkit: 1.32.0 + '@ckeditor/ckeditor5-core@45.2.0': dependencies: '@ckeditor/ckeditor5-engine': 45.2.0 @@ -14342,6 +15729,18 @@ snapshots: - uglify-js - webpack + '@ckeditor/ckeditor5-document-outline@45.2.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.2.0 + '@ckeditor/ckeditor5-engine': 45.2.0 + '@ckeditor/ckeditor5-heading': 45.2.0 + '@ckeditor/ckeditor5-icons': 45.2.0 + '@ckeditor/ckeditor5-ui': 45.2.0 + '@ckeditor/ckeditor5-utils': 45.2.0 + '@ckeditor/ckeditor5-widget': 45.2.0 + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + es-toolkit: 1.32.0 + '@ckeditor/ckeditor5-easy-image@45.2.0': dependencies: '@ckeditor/ckeditor5-cloud-services': 45.2.0 @@ -14395,6 +15794,17 @@ snapshots: ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.32.0 + '@ckeditor/ckeditor5-email@45.2.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.2.0 + '@ckeditor/ckeditor5-export-inline-styles': 45.2.0 + '@ckeditor/ckeditor5-font': 45.2.0 + '@ckeditor/ckeditor5-html-support': 45.2.0 + '@ckeditor/ckeditor5-list': 45.2.0 + '@ckeditor/ckeditor5-table': 45.2.0 + '@ckeditor/ckeditor5-utils': 45.2.0 + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-emoji@45.2.0': dependencies: '@ckeditor/ckeditor5-core': 45.2.0 @@ -14429,6 +15839,37 @@ snapshots: '@ckeditor/ckeditor5-undo': 45.2.0 ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-export-inline-styles@45.2.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.2.0 + '@ckeditor/ckeditor5-engine': 45.2.0 + '@ckeditor/ckeditor5-utils': 45.2.0 + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + specificity: 0.4.1 + + '@ckeditor/ckeditor5-export-pdf@45.2.0': + dependencies: + '@ckeditor/ckeditor5-cloud-services': 45.2.0 + '@ckeditor/ckeditor5-core': 45.2.0 + '@ckeditor/ckeditor5-icons': 45.2.0 + '@ckeditor/ckeditor5-merge-fields': 45.2.0 + '@ckeditor/ckeditor5-ui': 45.2.0 + '@ckeditor/ckeditor5-utils': 45.2.0 + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + + '@ckeditor/ckeditor5-export-word@45.2.0': + dependencies: + '@ckeditor/ckeditor5-cloud-services': 45.2.0 + '@ckeditor/ckeditor5-collaboration-core': 45.2.0 + '@ckeditor/ckeditor5-comments': 45.2.0 + '@ckeditor/ckeditor5-core': 45.2.0 + '@ckeditor/ckeditor5-icons': 45.2.0 + '@ckeditor/ckeditor5-merge-fields': 45.2.0 + '@ckeditor/ckeditor5-track-changes': 45.2.0 + '@ckeditor/ckeditor5-ui': 45.2.0 + '@ckeditor/ckeditor5-utils': 45.2.0 + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-find-and-replace@45.2.0': dependencies: '@ckeditor/ckeditor5-core': 45.2.0 @@ -14447,6 +15888,15 @@ snapshots: '@ckeditor/ckeditor5-utils': 45.2.0 ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-format-painter@45.2.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.2.0 + '@ckeditor/ckeditor5-engine': 45.2.0 + '@ckeditor/ckeditor5-icons': 45.2.0 + '@ckeditor/ckeditor5-ui': 45.2.0 + '@ckeditor/ckeditor5-utils': 45.2.0 + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-fullscreen@45.2.0': dependencies: '@ckeditor/ckeditor5-core': 45.2.0 @@ -14524,6 +15974,18 @@ snapshots: ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.32.0 + '@ckeditor/ckeditor5-import-word@45.2.0': + dependencies: + '@ckeditor/ckeditor5-clipboard': 45.2.0 + '@ckeditor/ckeditor5-cloud-services': 45.2.0 + '@ckeditor/ckeditor5-core': 45.2.0 + '@ckeditor/ckeditor5-engine': 45.2.0 + '@ckeditor/ckeditor5-icons': 45.2.0 + '@ckeditor/ckeditor5-merge-fields': 45.2.0 + '@ckeditor/ckeditor5-ui': 45.2.0 + '@ckeditor/ckeditor5-utils': 45.2.0 + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-indent@45.2.0': dependencies: '@ckeditor/ckeditor5-core': 45.2.0 @@ -14558,6 +16020,16 @@ snapshots: ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.32.0 + '@ckeditor/ckeditor5-list-multi-level@45.2.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.2.0 + '@ckeditor/ckeditor5-engine': 45.2.0 + '@ckeditor/ckeditor5-icons': 45.2.0 + '@ckeditor/ckeditor5-list': 45.2.0 + '@ckeditor/ckeditor5-ui': 45.2.0 + '@ckeditor/ckeditor5-utils': 45.2.0 + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-list@45.2.0': dependencies: '@ckeditor/ckeditor5-clipboard': 45.2.0 @@ -14604,6 +16076,18 @@ snapshots: ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.32.0 + '@ckeditor/ckeditor5-merge-fields@45.2.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.2.0 + '@ckeditor/ckeditor5-icons': 45.2.0 + '@ckeditor/ckeditor5-image': 45.2.0 + '@ckeditor/ckeditor5-mention': 45.2.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d) + '@ckeditor/ckeditor5-ui': 45.2.0 + '@ckeditor/ckeditor5-utils': 45.2.0 + '@ckeditor/ckeditor5-widget': 45.2.0 + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + es-toolkit: 1.32.0 + '@ckeditor/ckeditor5-minimap@45.2.0': dependencies: '@ckeditor/ckeditor5-core': 45.2.0 @@ -14612,7 +16096,14 @@ snapshots: '@ckeditor/ckeditor5-utils': 45.2.0 ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-package-tools@4.0.0(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.31)(bufferutil@4.0.9)(esbuild@0.25.5)(utf-8-validate@6.0.5)': + '@ckeditor/ckeditor5-operations-compressor@45.2.0': + dependencies: + '@ckeditor/ckeditor5-utils': 45.2.0 + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + es-toolkit: 1.32.0 + protobufjs: 7.5.0 + + '@ckeditor/ckeditor5-package-tools@4.0.0(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(bufferutil@4.0.9)(esbuild@0.25.5)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5)) '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5)) @@ -14631,7 +16122,7 @@ snapshots: stylelint-config-ckeditor5: 2.0.1(stylelint@16.20.0(typescript@5.8.3)) terser-webpack-plugin: 5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5)) ts-loader: 9.5.2(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5)) - ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.31)(typescript@5.0.4) + ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(typescript@5.0.4) typescript: 5.0.4 webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5) webpack-dev-server: 5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5)) @@ -14657,6 +16148,16 @@ snapshots: '@ckeditor/ckeditor5-widget': 45.2.0 ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-pagination@45.2.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.2.0 + '@ckeditor/ckeditor5-icons': 45.2.0 + '@ckeditor/ckeditor5-theme-lark': 45.2.0 + '@ckeditor/ckeditor5-ui': 45.2.0 + '@ckeditor/ckeditor5-utils': 45.2.0 + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + es-toolkit: 1.32.0 + '@ckeditor/ckeditor5-paragraph@45.2.0': dependencies: '@ckeditor/ckeditor5-core': 45.2.0 @@ -14665,6 +16166,14 @@ snapshots: '@ckeditor/ckeditor5-ui': 45.2.0 '@ckeditor/ckeditor5-utils': 45.2.0 + '@ckeditor/ckeditor5-paste-from-office-enhanced@45.2.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.2.0 + '@ckeditor/ckeditor5-engine': 45.2.0 + '@ckeditor/ckeditor5-paste-from-office': 45.2.0 + '@ckeditor/ckeditor5-utils': 45.2.0 + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-paste-from-office@45.2.0': dependencies: '@ckeditor/ckeditor5-clipboard': 45.2.0 @@ -14672,6 +16181,28 @@ snapshots: '@ckeditor/ckeditor5-engine': 45.2.0 ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-real-time-collaboration@45.2.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': + dependencies: + '@ckeditor/ckeditor-cloud-services-collaboration': 53.0.0(@ckeditor/ckeditor5-utils@45.2.0)(bufferutil@4.0.9)(ckeditor5@45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-cloud-services': 45.2.0 + '@ckeditor/ckeditor5-comments': 45.2.0 + '@ckeditor/ckeditor5-core': 45.2.0 + '@ckeditor/ckeditor5-editor-multi-root': 45.2.0 + '@ckeditor/ckeditor5-engine': 45.2.0 + '@ckeditor/ckeditor5-operations-compressor': 45.2.0 + '@ckeditor/ckeditor5-revision-history': 45.2.0 + '@ckeditor/ckeditor5-theme-lark': 45.2.0 + '@ckeditor/ckeditor5-track-changes': 45.2.0 + '@ckeditor/ckeditor5-ui': 45.2.0 + '@ckeditor/ckeditor5-utils': 45.2.0 + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + ckeditor5-collaboration: 45.2.0 + es-toolkit: 1.32.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + '@ckeditor/ckeditor5-remove-format@45.2.0': dependencies: '@ckeditor/ckeditor5-core': 45.2.0 @@ -14689,6 +16220,22 @@ snapshots: '@ckeditor/ckeditor5-utils': 45.2.0 ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-revision-history@45.2.0': + dependencies: + '@ckeditor/ckeditor5-autosave': 45.2.0 + '@ckeditor/ckeditor5-comments': 45.2.0 + '@ckeditor/ckeditor5-core': 45.2.0 + '@ckeditor/ckeditor5-editor-classic': 45.2.0 + '@ckeditor/ckeditor5-engine': 45.2.0 + '@ckeditor/ckeditor5-icons': 45.2.0 + '@ckeditor/ckeditor5-ui': 45.2.0 + '@ckeditor/ckeditor5-utils': 45.2.0 + '@types/luxon': 3.4.2 + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + ckeditor5-collaboration: 45.2.0 + es-toolkit: 1.32.0 + luxon: 3.5.0 + '@ckeditor/ckeditor5-select-all@45.2.0': dependencies: '@ckeditor/ckeditor5-core': 45.2.0 @@ -14705,6 +16252,35 @@ snapshots: '@ckeditor/ckeditor5-utils': 45.2.0 ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-slash-command@45.2.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.2.0 + '@ckeditor/ckeditor5-heading': 45.2.0 + '@ckeditor/ckeditor5-icons': 45.2.0 + '@ckeditor/ckeditor5-mention': 45.2.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d) + '@ckeditor/ckeditor5-style': 45.2.0 + '@ckeditor/ckeditor5-template': 45.2.0 + '@ckeditor/ckeditor5-ui': 45.2.0 + '@ckeditor/ckeditor5-utils': 45.2.0 + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + + '@ckeditor/ckeditor5-source-editing-enhanced@45.2.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.2.0 + '@ckeditor/ckeditor5-icons': 45.2.0 + '@ckeditor/ckeditor5-theme-lark': 45.2.0 + '@ckeditor/ckeditor5-ui': 45.2.0 + '@ckeditor/ckeditor5-utils': 45.2.0 + '@codemirror/autocomplete': 6.18.6 + '@codemirror/commands': 6.8.0 + '@codemirror/lang-html': 6.4.9 + '@codemirror/lang-markdown': 6.3.2 + '@codemirror/language': 6.11.0 + '@codemirror/state': 6.5.2 + '@codemirror/theme-one-dark': 6.1.2 + '@codemirror/view': 6.37.2 + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-source-editing@45.2.0': dependencies: '@ckeditor/ckeditor5-core': 45.2.0 @@ -14747,10 +16323,48 @@ snapshots: ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.32.0 + '@ckeditor/ckeditor5-template@45.2.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.2.0 + '@ckeditor/ckeditor5-icons': 45.2.0 + '@ckeditor/ckeditor5-ui': 45.2.0 + '@ckeditor/ckeditor5-utils': 45.2.0 + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-theme-lark@45.2.0': dependencies: '@ckeditor/ckeditor5-ui': 45.2.0 + '@ckeditor/ckeditor5-track-changes@45.2.0': + dependencies: + '@ckeditor/ckeditor5-clipboard': 45.2.0 + '@ckeditor/ckeditor5-code-block': 45.2.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95) + '@ckeditor/ckeditor5-comments': 45.2.0 + '@ckeditor/ckeditor5-core': 45.2.0 + '@ckeditor/ckeditor5-editor-multi-root': 45.2.0 + '@ckeditor/ckeditor5-engine': 45.2.0 + '@ckeditor/ckeditor5-enter': 45.2.0 + '@ckeditor/ckeditor5-find-and-replace': 45.2.0 + '@ckeditor/ckeditor5-font': 45.2.0 + '@ckeditor/ckeditor5-heading': 45.2.0 + '@ckeditor/ckeditor5-highlight': 45.2.0 + '@ckeditor/ckeditor5-icons': 45.2.0 + '@ckeditor/ckeditor5-image': 45.2.0 + '@ckeditor/ckeditor5-link': 45.2.0 + '@ckeditor/ckeditor5-list': 45.2.0 + '@ckeditor/ckeditor5-media-embed': 45.2.0 + '@ckeditor/ckeditor5-merge-fields': 45.2.0 + '@ckeditor/ckeditor5-restricted-editing': 45.2.0 + '@ckeditor/ckeditor5-style': 45.2.0 + '@ckeditor/ckeditor5-table': 45.2.0 + '@ckeditor/ckeditor5-typing': 45.2.0 + '@ckeditor/ckeditor5-ui': 45.2.0 + '@ckeditor/ckeditor5-utils': 45.2.0 + '@ckeditor/ckeditor5-widget': 45.2.0 + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + ckeditor5-collaboration: 45.2.0 + es-toolkit: 1.32.0 + '@ckeditor/ckeditor5-typing@45.2.0': dependencies: '@ckeditor/ckeditor5-core': 45.2.0 @@ -14784,6 +16398,22 @@ snapshots: '@ckeditor/ckeditor5-core': 45.2.0 '@ckeditor/ckeditor5-utils': 45.2.0 + '@ckeditor/ckeditor5-uploadcare@45.2.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': + dependencies: + '@ckeditor/ckeditor5-core': 45.2.0 + '@ckeditor/ckeditor5-icons': 45.2.0 + '@ckeditor/ckeditor5-image': 45.2.0 + '@ckeditor/ckeditor5-theme-lark': 45.2.0 + '@ckeditor/ckeditor5-ui': 45.2.0 + '@ckeditor/ckeditor5-upload': 45.2.0 + '@ckeditor/ckeditor5-utils': 45.2.0 + '@uploadcare/file-uploader': 1.12.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@uploadcare/upload-client': 6.14.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + '@ckeditor/ckeditor5-utils@45.2.0': dependencies: '@ckeditor/ckeditor5-ui': 45.2.0 @@ -14820,14 +16450,21 @@ snapshots: dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 + '@lezer/common': 1.2.3 + + '@codemirror/commands@6.8.0': + dependencies: + '@codemirror/language': 6.11.0 + '@codemirror/state': 6.5.2 + '@codemirror/view': 6.37.2 '@lezer/common': 1.2.3 '@codemirror/commands@6.8.1': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/common': 1.2.3 '@codemirror/lang-css@6.3.1': @@ -14845,7 +16482,7 @@ snapshots: '@codemirror/lang-javascript': 6.2.4 '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/common': 1.2.3 '@lezer/css': 1.1.11 '@lezer/html': 1.3.10 @@ -14856,7 +16493,7 @@ snapshots: '@codemirror/language': 6.11.0 '@codemirror/lint': 6.8.5 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/common': 1.2.3 '@lezer/javascript': 1.5.1 @@ -14871,7 +16508,17 @@ snapshots: '@codemirror/lang-html': 6.4.9 '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 + '@lezer/common': 1.2.3 + '@lezer/markdown': 1.4.3 + + '@codemirror/lang-markdown@6.3.3': + dependencies: + '@codemirror/autocomplete': 6.18.6 + '@codemirror/lang-html': 6.4.9 + '@codemirror/language': 6.11.0 + '@codemirror/state': 6.5.2 + '@codemirror/view': 6.37.2 '@lezer/common': 1.2.3 '@lezer/markdown': 1.4.3 @@ -14897,14 +16544,14 @@ snapshots: '@codemirror/autocomplete': 6.18.6 '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/common': 1.2.3 '@lezer/xml': 1.0.6 '@codemirror/language@6.11.0': dependencies: '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/common': 1.2.3 '@lezer/highlight': 1.2.1 '@lezer/lr': 1.4.2 @@ -14917,20 +16564,27 @@ snapshots: '@codemirror/lint@6.8.5': dependencies: '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 crelt: 1.0.6 '@codemirror/search@6.5.11': dependencies: '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 crelt: 1.0.6 '@codemirror/state@6.5.2': dependencies: '@marijn/find-cluster-break': 1.0.2 - '@codemirror/view@6.37.1': + '@codemirror/theme-one-dark@6.1.2': + dependencies: + '@codemirror/language': 6.11.0 + '@codemirror/state': 6.5.2 + '@codemirror/view': 6.37.2 + '@lezer/highlight': 1.2.1 + + '@codemirror/view@6.37.2': dependencies: '@codemirror/state': 6.5.2 crelt: 1.0.6 @@ -15472,8 +17126,17 @@ snapshots: eslint: 9.28.0(jiti@2.4.2) eslint-visitor-keys: 3.4.3 + '@eslint-community/eslint-utils@4.7.0(eslint@9.29.0(jiti@2.4.2))': + dependencies: + eslint: 9.29.0(jiti@2.4.2) + eslint-visitor-keys: 3.4.3 + '@eslint-community/regexpp@4.12.1': {} + '@eslint/compat@1.3.0(eslint@9.28.0(jiti@2.4.2))': + optionalDependencies: + eslint: 9.28.0(jiti@2.4.2) + '@eslint/config-array@0.20.0': dependencies: '@eslint/object-schema': 2.1.6 @@ -15482,17 +17145,31 @@ snapshots: transitivePeerDependencies: - supports-color + '@eslint/config-array@0.20.1': + dependencies: + '@eslint/object-schema': 2.1.6 + debug: 4.4.1(supports-color@6.0.0) + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + '@eslint/config-helpers@0.2.2': {} + '@eslint/config-helpers@0.2.3': {} + '@eslint/core@0.14.0': dependencies: '@types/json-schema': 7.0.15 + '@eslint/core@0.15.0': + dependencies: + '@types/json-schema': 7.0.15 + '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 debug: 4.4.1(supports-color@6.0.0) - espree: 10.3.0 + espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.1 @@ -15504,6 +17181,8 @@ snapshots: '@eslint/js@9.28.0': {} + '@eslint/js@9.29.0': {} + '@eslint/object-schema@2.1.6': {} '@eslint/plugin-kit@0.3.1': @@ -15511,14 +17190,19 @@ snapshots: '@eslint/core': 0.14.0 levn: 0.4.1 - '@excalidraw/excalidraw@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@19.1.0))(react@19.1.0)': + '@eslint/plugin-kit@0.3.2': + dependencies: + '@eslint/core': 0.15.0 + levn: 0.4.1 + + '@excalidraw/excalidraw@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)': dependencies: '@braintree/sanitize-url': 6.0.2 '@excalidraw/laser-pointer': 1.3.1 '@excalidraw/mermaid-to-excalidraw': 1.1.2 '@excalidraw/random-username': 1.1.0 - '@radix-ui/react-popover': 1.1.6(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-tabs': 1.0.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-popover': 1.1.6(@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) + '@radix-ui/react-tabs': 1.0.2(react-dom@19.1.0(react@16.14.0))(react@16.14.0) browser-fs-access: 0.29.1 canvas-roundrect-polyfill: 0.0.1 clsx: 1.1.1 @@ -15527,8 +17211,8 @@ snapshots: fractional-indexing: 3.2.0 fuzzy: 0.1.3 image-blob-reduce: 3.0.1 - jotai: 2.11.0(@types/react@19.1.7)(react@19.1.0) - jotai-scope: 0.7.2(jotai@2.11.0(@types/react@19.1.7)(react@19.1.0))(react@19.1.0) + jotai: 2.11.0(@types/react@19.1.7)(react@16.14.0) + jotai-scope: 0.7.2(jotai@2.11.0(@types/react@19.1.7)(react@16.14.0))(react@16.14.0) lodash.debounce: 4.0.8 lodash.throttle: 4.1.1 nanoid: 4.0.2 @@ -15541,11 +17225,11 @@ snapshots: png-chunks-extract: 1.0.0 points-on-curve: 1.0.1 pwacompat: 2.0.17 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - roughjs: 4.6.4 + react: 16.14.0 + react-dom: 19.1.0(react@16.14.0) + roughjs: 4.6.6 sass: 1.51.0 - tunnel-rat: 0.1.2(@types/react@19.1.7)(react@19.1.0) + tunnel-rat: 0.1.2(@types/react@19.1.7)(react@16.14.0) transitivePeerDependencies: - '@types/react' - '@types/react-dom' @@ -15559,7 +17243,7 @@ snapshots: '@excalidraw/mermaid-to-excalidraw@1.1.2': dependencies: '@excalidraw/markdown-to-text': 0.1.2 - mermaid: 10.9.3 + mermaid: 11.6.0 nanoid: 5.1.5 transitivePeerDependencies: - supports-color @@ -15582,178 +17266,178 @@ snapshots: '@floating-ui/core': 1.6.9 '@floating-ui/utils': 0.2.9 - '@floating-ui/react-dom@2.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@floating-ui/react-dom@2.1.2(react-dom@19.1.0(react@16.14.0))(react@16.14.0)': dependencies: '@floating-ui/dom': 1.6.13 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + react: 16.14.0 + react-dom: 19.1.0(react@16.14.0) '@floating-ui/utils@0.2.9': {} - '@fsegurai/codemirror-theme-abcdef@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-abcdef@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-abyss@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-abyss@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-android-studio@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-android-studio@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-andromeda@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-andromeda@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-basic-dark@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-basic-dark@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-basic-light@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-basic-light@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-forest@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-forest@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-github-dark@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-github-dark@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-github-light@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-github-light@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-gruvbox-dark@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-gruvbox-dark@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-gruvbox-light@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-gruvbox-light@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-material-dark@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-material-dark@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-material-light@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-material-light@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-monokai@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-monokai@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-nord@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-nord@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-palenight@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-palenight@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-solarized-dark@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-solarized-dark@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-solarized-light@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-solarized-light@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-tokyo-night-day@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-tokyo-night-day@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-tokyo-night-storm@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-tokyo-night-storm@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-volcano@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-volcano@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-vscode-dark@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-vscode-dark@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-vscode-light@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-vscode-light@6.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/highlight': 1.2.1 '@fullcalendar/core@6.1.17': dependencies: - preact: 10.12.1 + preact: 10.26.9 '@fullcalendar/daygrid@6.1.17(@fullcalendar/core@6.1.17)': dependencies: @@ -15813,18 +17497,44 @@ snapshots: transitivePeerDependencies: - supports-color - '@inquirer/confirm@5.1.12(@types/node@22.15.31)': + '@inlang/paraglide-js@2.1.0(babel-plugin-macros@3.1.0)': dependencies: - '@inquirer/core': 10.1.13(@types/node@22.15.31) - '@inquirer/type': 3.0.7(@types/node@22.15.31) + '@inlang/recommend-sherlock': 0.2.1 + '@inlang/sdk': 2.4.9(babel-plugin-macros@3.1.0) + commander: 11.1.0 + consola: 3.4.0 + json5: 2.2.3 + unplugin: 2.3.5 + urlpattern-polyfill: 10.0.0 + transitivePeerDependencies: + - babel-plugin-macros + + '@inlang/recommend-sherlock@0.2.1': + dependencies: + comment-json: 4.2.5 + + '@inlang/sdk@2.4.9(babel-plugin-macros@3.1.0)': + dependencies: + '@lix-js/sdk': 0.4.7(babel-plugin-macros@3.1.0) + '@sinclair/typebox': 0.31.28 + kysely: 0.27.6 + sqlite-wasm-kysely: 0.3.0(kysely@0.27.6) + uuid: 10.0.0 + transitivePeerDependencies: + - babel-plugin-macros + + '@inquirer/confirm@5.1.12(@types/node@22.15.32)': + dependencies: + '@inquirer/core': 10.1.13(@types/node@22.15.32) + '@inquirer/type': 3.0.7(@types/node@22.15.32) optionalDependencies: - '@types/node': 22.15.31 + '@types/node': 22.15.32 optional: true - '@inquirer/core@10.1.13(@types/node@22.15.31)': + '@inquirer/core@10.1.13(@types/node@22.15.32)': dependencies: '@inquirer/figures': 1.0.12 - '@inquirer/type': 3.0.7(@types/node@22.15.31) + '@inquirer/type': 3.0.7(@types/node@22.15.32) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -15832,15 +17542,15 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.15.31 + '@types/node': 22.15.32 optional: true '@inquirer/figures@1.0.12': optional: true - '@inquirer/type@3.0.7(@types/node@22.15.31)': + '@inquirer/type@3.0.7(@types/node@22.15.32)': optionalDependencies: - '@types/node': 22.15.31 + '@types/node': 22.15.32 optional: true '@isaacs/cliui@8.0.2': @@ -15869,7 +17579,7 @@ snapshots: '@jest/console@29.7.0': dependencies: '@jest/types': 29.6.3 - '@types/node': 22.15.31 + '@types/node': 22.15.32 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -15879,7 +17589,7 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.31 + '@types/node': 22.15.32 jest-mock: 29.7.0 '@jest/expect-utils@29.7.0': @@ -15897,7 +17607,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 22.15.31 + '@types/node': 22.15.32 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -15919,7 +17629,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 22.15.31 + '@types/node': 22.15.32 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -15989,7 +17699,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.15.31 + '@types/node': 22.15.32 '@types/yargs': 17.0.33 chalk: 4.1.2 @@ -16284,6 +17994,20 @@ snapshots: '@lezer/highlight': 1.2.1 '@lezer/lr': 1.4.2 + '@lix-js/sdk@0.4.7(babel-plugin-macros@3.1.0)': + dependencies: + '@lix-js/server-protocol-schema': 0.1.1 + dedent: 1.5.1(babel-plugin-macros@3.1.0) + human-id: 4.1.1 + js-sha256: 0.11.1 + kysely: 0.27.6 + sqlite-wasm-kysely: 0.3.0(kysely@0.27.6) + uuid: 10.0.0 + transitivePeerDependencies: + - babel-plugin-macros + + '@lix-js/server-protocol-schema@0.1.1': {} + '@ljharb/resumer@0.0.1': dependencies: '@ljharb/through': 2.3.14 @@ -16335,23 +18059,23 @@ snapshots: dependencies: langium: 3.3.1 - '@microsoft/api-extractor-model@7.30.6(@types/node@22.15.31)': + '@microsoft/api-extractor-model@7.30.6(@types/node@22.15.32)': dependencies: '@microsoft/tsdoc': 0.15.1 '@microsoft/tsdoc-config': 0.17.1 - '@rushstack/node-core-library': 5.13.1(@types/node@22.15.31) + '@rushstack/node-core-library': 5.13.1(@types/node@22.15.32) transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.52.8(@types/node@22.15.31)': + '@microsoft/api-extractor@7.52.8(@types/node@22.15.32)': dependencies: - '@microsoft/api-extractor-model': 7.30.6(@types/node@22.15.31) + '@microsoft/api-extractor-model': 7.30.6(@types/node@22.15.32) '@microsoft/tsdoc': 0.15.1 '@microsoft/tsdoc-config': 0.17.1 - '@rushstack/node-core-library': 5.13.1(@types/node@22.15.31) + '@rushstack/node-core-library': 5.13.1(@types/node@22.15.32) '@rushstack/rig-package': 0.5.3 - '@rushstack/terminal': 0.15.3(@types/node@22.15.31) - '@rushstack/ts-command-line': 5.0.1(@types/node@22.15.31) + '@rushstack/terminal': 0.15.3(@types/node@22.15.32) + '@rushstack/ts-command-line': 5.0.1(@types/node@22.15.32) lodash: 4.17.21 minimatch: 3.0.8 resolve: 1.22.10 @@ -16370,9 +18094,9 @@ snapshots: '@microsoft/tsdoc@0.15.1': {} - '@mind-elixir/node-menu@1.0.5(mind-elixir@4.6.0)': + '@mind-elixir/node-menu@1.0.5(mind-elixir@4.6.1)': dependencies: - mind-elixir: 4.6.0 + mind-elixir: 4.6.1 '@mixmark-io/domino@2.2.0': {} @@ -16447,22 +18171,22 @@ snapshots: mkdirp: 1.0.4 rimraf: 3.0.2 - '@nx/devkit@21.1.3(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/devkit@21.2.0(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: ejs: 3.1.10 enquirer: 2.3.6 ignore: 5.3.2 minimatch: 9.0.3 - nx: 21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + nx: 21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) semver: 7.7.2 tmp: 0.2.3 tslib: 2.8.1 yargs-parser: 21.1.1 - '@nx/esbuild@21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5)(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/esbuild@21.2.0(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5)(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: - '@nx/devkit': 21.1.3(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.2.0(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.2.0(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) picocolors: 1.1.1 tinyglobby: 0.2.14 tsconfig-paths: 4.2.0 @@ -16478,13 +18202,13 @@ snapshots: - supports-color - verdaccio - '@nx/eslint-plugin@21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.5(eslint@9.28.0(jiti@2.4.2)))(eslint@9.28.0(jiti@2.4.2))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': + '@nx/eslint-plugin@21.2.0(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.5(eslint@9.29.0(jiti@2.4.2)))(eslint@9.29.0(jiti@2.4.2))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.1.3(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@typescript-eslint/parser': 8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/type-utils': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/utils': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@nx/devkit': 21.2.0(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.2.0(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@typescript-eslint/parser': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/type-utils': 8.34.0(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.34.0(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) chalk: 4.1.2 confusing-browser-globals: 1.0.11 globals: 15.15.0 @@ -16492,7 +18216,7 @@ snapshots: semver: 7.7.2 tslib: 2.8.1 optionalDependencies: - eslint-config-prettier: 10.1.5(eslint@9.28.0(jiti@2.4.2)) + eslint-config-prettier: 10.1.5(eslint@9.29.0(jiti@2.4.2)) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -16504,14 +18228,14 @@ snapshots: - typescript - verdaccio - '@nx/eslint@21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.28.0(jiti@2.4.2))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/eslint@21.2.0(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.29.0(jiti@2.4.2))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: - '@nx/devkit': 21.1.3(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - eslint: 9.28.0(jiti@2.4.2) + '@nx/devkit': 21.2.0(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.2.0(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + eslint: 9.29.0(jiti@2.4.2) semver: 7.7.2 tslib: 2.8.1 - typescript: 5.7.3 + typescript: 5.8.3 optionalDependencies: '@zkochan/js-yaml': 0.0.7 transitivePeerDependencies: @@ -16523,14 +18247,14 @@ snapshots: - supports-color - verdaccio - '@nx/express@21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.31)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.28.0(jiti@2.4.2))(express@5.1.0)(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@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.15.31)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/express@21.2.0(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.29.0(jiti@2.4.2))(express@4.21.2)(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@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.15.32)(typescript@5.8.3))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.1.3(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/node': 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.31)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.28.0(jiti@2.4.2))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@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.15.31)(typescript@5.8.3))(typescript@5.8.3) + '@nx/devkit': 21.2.0(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.2.0(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/node': 21.2.0(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.29.0(jiti@2.4.2))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@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.15.32)(typescript@5.8.3))(typescript@5.8.3) tslib: 2.8.1 optionalDependencies: - express: 5.1.0 + express: 4.21.2 transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -16547,15 +18271,15 @@ snapshots: - typescript - verdaccio - '@nx/jest@21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.31)(babel-plugin-macros@3.1.0)(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@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.15.31)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/jest@21.2.0(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(babel-plugin-macros@3.1.0)(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@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.15.32)(typescript@5.8.3))(typescript@5.8.3)': dependencies: '@jest/reporters': 29.7.0 '@jest/test-result': 29.7.0 - '@nx/devkit': 21.1.3(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.2.0(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.2.0(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) identity-obj-proxy: 3.0.0 - jest-config: 29.7.0(@types/node@22.15.31)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.31)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.15.32)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(typescript@5.8.3)) jest-resolve: 29.7.0 jest-util: 29.7.0 minimatch: 9.0.3 @@ -16578,7 +18302,7 @@ snapshots: - typescript - verdaccio - '@nx/js@21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/js@21.2.0(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: '@babel/core': 7.26.10 '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.10) @@ -16587,8 +18311,8 @@ snapshots: '@babel/preset-env': 7.26.9(@babel/core@7.26.10) '@babel/preset-typescript': 7.27.0(@babel/core@7.26.10) '@babel/runtime': 7.27.1 - '@nx/devkit': 21.1.3(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/workspace': 21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + '@nx/devkit': 21.2.0(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/workspace': 21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) '@zkochan/js-yaml': 0.0.7 babel-plugin-const-enum: 1.2.0(@babel/core@7.26.10) babel-plugin-macros: 3.1.0 @@ -16617,12 +18341,12 @@ snapshots: - nx - supports-color - '@nx/node@21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.31)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.28.0(jiti@2.4.2))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@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.15.31)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/node@21.2.0(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.29.0(jiti@2.4.2))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@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.15.32)(typescript@5.8.3))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.1.3(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/eslint': 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.28.0(jiti@2.4.2))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/jest': 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.31)(babel-plugin-macros@3.1.0)(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@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.15.31)(typescript@5.8.3))(typescript@5.8.3) - '@nx/js': 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.2.0(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/eslint': 21.2.0(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.29.0(jiti@2.4.2))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/jest': 21.2.0(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(babel-plugin-macros@3.1.0)(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@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.15.32)(typescript@5.8.3))(typescript@5.8.3) + '@nx/js': 21.2.0(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) kill-port: 1.6.1 tcp-port-used: 1.0.2 tslib: 2.8.1 @@ -16642,41 +18366,41 @@ snapshots: - typescript - verdaccio - '@nx/nx-darwin-arm64@21.1.3': + '@nx/nx-darwin-arm64@21.2.0': optional: true - '@nx/nx-darwin-x64@21.1.3': + '@nx/nx-darwin-x64@21.2.0': optional: true - '@nx/nx-freebsd-x64@21.1.3': + '@nx/nx-freebsd-x64@21.2.0': optional: true - '@nx/nx-linux-arm-gnueabihf@21.1.3': + '@nx/nx-linux-arm-gnueabihf@21.2.0': optional: true - '@nx/nx-linux-arm64-gnu@21.1.3': + '@nx/nx-linux-arm64-gnu@21.2.0': optional: true - '@nx/nx-linux-arm64-musl@21.1.3': + '@nx/nx-linux-arm64-musl@21.2.0': optional: true - '@nx/nx-linux-x64-gnu@21.1.3': + '@nx/nx-linux-x64-gnu@21.2.0': optional: true - '@nx/nx-linux-x64-musl@21.1.3': + '@nx/nx-linux-x64-musl@21.2.0': optional: true - '@nx/nx-win32-arm64-msvc@21.1.3': + '@nx/nx-win32-arm64-msvc@21.2.0': optional: true - '@nx/nx-win32-x64-msvc@21.1.3': + '@nx/nx-win32-x64-msvc@21.2.0': optional: true - '@nx/playwright@21.1.3(@babel/traverse@7.27.0)(@playwright/test@1.53.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.28.0(jiti@2.4.2))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': + '@nx/playwright@21.2.0(@babel/traverse@7.27.0)(@playwright/test@1.53.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.29.0(jiti@2.4.2))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.1.3(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/eslint': 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.28.0(jiti@2.4.2))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.2.0(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/eslint': 21.2.0(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.29.0(jiti@2.4.2))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.2.0(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) minimatch: 9.0.3 tslib: 2.8.1 @@ -16694,10 +18418,10 @@ snapshots: - typescript - verdaccio - '@nx/vite@21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vitest@3.2.3)': + '@nx/vite@21.2.0(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)': dependencies: - '@nx/devkit': 21.1.3(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.2.0(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.2.0(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) '@swc/helpers': 0.5.17 ajv: 8.17.1 @@ -16705,8 +18429,8 @@ snapshots: picomatch: 4.0.2 semver: 7.7.2 tsconfig-paths: 4.2.0 - vite: 6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) - vitest: 3.2.3(@types/debug@4.1.12)(@types/node@22.15.31)(@vitest/ui@3.2.3)(happy-dom@18.0.1)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.15.32)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.15.32)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -16717,10 +18441,10 @@ snapshots: - typescript - verdaccio - '@nx/web@21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/web@21.2.0(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: - '@nx/devkit': 21.1.3(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.2.0(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.2.0(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) detect-port: 1.6.1 http-server: 14.1.1 picocolors: 1.1.1 @@ -16734,13 +18458,13 @@ snapshots: - supports-color - verdaccio - '@nx/workspace@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))': + '@nx/workspace@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))': dependencies: - '@nx/devkit': 21.1.3(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.2.0(nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@zkochan/js-yaml': 0.0.7 chalk: 4.1.2 enquirer: 2.3.6 - nx: 21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + nx: 21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) picomatch: 4.0.2 tslib: 2.8.1 yargs-parser: 21.1.1 @@ -16889,6 +18613,29 @@ snapshots: dependencies: spacetrim: 0.11.59 + '@protobufjs/aspromise@1.1.2': {} + + '@protobufjs/base64@1.1.2': {} + + '@protobufjs/codegen@2.0.4': {} + + '@protobufjs/eventemitter@1.1.0': {} + + '@protobufjs/fetch@1.1.0': + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/inquire': 1.1.0 + + '@protobufjs/float@1.0.2': {} + + '@protobufjs/inquire@1.1.0': {} + + '@protobufjs/path@1.1.2': {} + + '@protobufjs/pool@1.1.0': {} + + '@protobufjs/utf8@1.1.0': {} + '@puppeteer/browsers@2.10.5': dependencies: debug: 4.4.1(supports-color@6.0.0) @@ -16908,303 +18655,303 @@ snapshots: '@radix-ui/primitive@1.1.1': {} - '@radix-ui/react-arrow@1.1.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-arrow@1.1.2(@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)': dependencies: - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-primitive': 2.0.2(@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) + react: 16.14.0 + react-dom: 19.1.0(react@16.14.0) optionalDependencies: '@types/react': 19.1.7 '@types/react-dom': 19.1.6(@types/react@19.1.7) - '@radix-ui/react-collection@1.0.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-collection@1.0.1(react-dom@19.1.0(react@16.14.0))(react@16.14.0)': dependencies: '@babel/runtime': 7.27.1 - '@radix-ui/react-compose-refs': 1.0.0(react@19.1.0) - '@radix-ui/react-context': 1.0.0(react@19.1.0) - '@radix-ui/react-primitive': 1.0.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-slot': 1.0.1(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-compose-refs': 1.0.0(react@16.14.0) + '@radix-ui/react-context': 1.0.0(react@16.14.0) + '@radix-ui/react-primitive': 1.0.1(react-dom@19.1.0(react@16.14.0))(react@16.14.0) + '@radix-ui/react-slot': 1.0.1(react@16.14.0) + react: 16.14.0 + react-dom: 19.1.0(react@16.14.0) - '@radix-ui/react-compose-refs@1.0.0(react@19.1.0)': + '@radix-ui/react-compose-refs@1.0.0(react@16.14.0)': dependencies: '@babel/runtime': 7.27.1 - react: 19.1.0 + react: 16.14.0 - '@radix-ui/react-compose-refs@1.1.1(@types/react@19.1.7)(react@19.1.0)': + '@radix-ui/react-compose-refs@1.1.1(@types/react@19.1.7)(react@16.14.0)': dependencies: - react: 19.1.0 + react: 16.14.0 optionalDependencies: '@types/react': 19.1.7 - '@radix-ui/react-context@1.0.0(react@19.1.0)': + '@radix-ui/react-context@1.0.0(react@16.14.0)': dependencies: '@babel/runtime': 7.27.1 - react: 19.1.0 + react: 16.14.0 - '@radix-ui/react-context@1.1.1(@types/react@19.1.7)(react@19.1.0)': + '@radix-ui/react-context@1.1.1(@types/react@19.1.7)(react@16.14.0)': dependencies: - react: 19.1.0 + react: 16.14.0 optionalDependencies: '@types/react': 19.1.7 - '@radix-ui/react-direction@1.0.0(react@19.1.0)': + '@radix-ui/react-direction@1.0.0(react@16.14.0)': dependencies: '@babel/runtime': 7.27.1 - react: 19.1.0 + react: 16.14.0 - '@radix-ui/react-dismissable-layer@1.1.5(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-dismissable-layer@1.1.5(@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)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@19.1.0) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@19.1.0) - '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.1.7)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@16.14.0) + '@radix-ui/react-primitive': 2.0.2(@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) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@16.14.0) + '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.1.7)(react@16.14.0) + react: 16.14.0 + react-dom: 19.1.0(react@16.14.0) optionalDependencies: '@types/react': 19.1.7 '@types/react-dom': 19.1.6(@types/react@19.1.7) - '@radix-ui/react-focus-guards@1.1.1(@types/react@19.1.7)(react@19.1.0)': + '@radix-ui/react-focus-guards@1.1.1(@types/react@19.1.7)(react@16.14.0)': dependencies: - react: 19.1.0 + react: 16.14.0 optionalDependencies: '@types/react': 19.1.7 - '@radix-ui/react-focus-scope@1.1.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-focus-scope@1.1.2(@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)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@19.1.0) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@16.14.0) + '@radix-ui/react-primitive': 2.0.2(@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) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@16.14.0) + react: 16.14.0 + react-dom: 19.1.0(react@16.14.0) optionalDependencies: '@types/react': 19.1.7 '@types/react-dom': 19.1.6(@types/react@19.1.7) - '@radix-ui/react-id@1.0.0(react@19.1.0)': + '@radix-ui/react-id@1.0.0(react@16.14.0)': dependencies: '@babel/runtime': 7.27.1 - '@radix-ui/react-use-layout-effect': 1.0.0(react@19.1.0) - react: 19.1.0 + '@radix-ui/react-use-layout-effect': 1.0.0(react@16.14.0) + react: 16.14.0 - '@radix-ui/react-id@1.1.0(@types/react@19.1.7)(react@19.1.0)': + '@radix-ui/react-id@1.1.0(@types/react@19.1.7)(react@16.14.0)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@19.1.0) - react: 19.1.0 + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@16.14.0) + react: 16.14.0 optionalDependencies: '@types/react': 19.1.7 - '@radix-ui/react-popover@1.1.6(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-popover@1.1.6(@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)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@19.1.0) - '@radix-ui/react-context': 1.1.1(@types/react@19.1.7)(react@19.1.0) - '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.1.7)(react@19.1.0) - '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-id': 1.1.0(@types/react@19.1.7)(react@19.1.0) - '@radix-ui/react-popper': 1.2.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-portal': 1.1.4(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-slot': 1.1.2(@types/react@19.1.7)(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@16.14.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.1.7)(react@16.14.0) + '@radix-ui/react-dismissable-layer': 1.1.5(@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) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.1.7)(react@16.14.0) + '@radix-ui/react-focus-scope': 1.1.2(@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) + '@radix-ui/react-id': 1.1.0(@types/react@19.1.7)(react@16.14.0) + '@radix-ui/react-popper': 1.2.2(@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) + '@radix-ui/react-portal': 1.1.4(@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) + '@radix-ui/react-presence': 1.1.2(@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) + '@radix-ui/react-primitive': 2.0.2(@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) + '@radix-ui/react-slot': 1.1.2(@types/react@19.1.7)(react@16.14.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.1.7)(react@16.14.0) aria-hidden: 1.2.4 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - react-remove-scroll: 2.6.3(@types/react@19.1.7)(react@19.1.0) + react: 16.14.0 + react-dom: 19.1.0(react@16.14.0) + react-remove-scroll: 2.6.3(@types/react@19.1.7)(react@16.14.0) optionalDependencies: '@types/react': 19.1.7 '@types/react-dom': 19.1.6(@types/react@19.1.7) - '@radix-ui/react-popper@1.2.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-popper@1.2.2(@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)': dependencies: - '@floating-ui/react-dom': 2.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-arrow': 1.1.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@19.1.0) - '@radix-ui/react-context': 1.1.1(@types/react@19.1.7)(react@19.1.0) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@19.1.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@19.1.0) - '@radix-ui/react-use-rect': 1.1.0(@types/react@19.1.7)(react@19.1.0) - '@radix-ui/react-use-size': 1.1.0(@types/react@19.1.7)(react@19.1.0) + '@floating-ui/react-dom': 2.1.2(react-dom@19.1.0(react@16.14.0))(react@16.14.0) + '@radix-ui/react-arrow': 1.1.2(@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) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@16.14.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.1.7)(react@16.14.0) + '@radix-ui/react-primitive': 2.0.2(@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) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@16.14.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@16.14.0) + '@radix-ui/react-use-rect': 1.1.0(@types/react@19.1.7)(react@16.14.0) + '@radix-ui/react-use-size': 1.1.0(@types/react@19.1.7)(react@16.14.0) '@radix-ui/rect': 1.1.0 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + react: 16.14.0 + react-dom: 19.1.0(react@16.14.0) optionalDependencies: '@types/react': 19.1.7 '@types/react-dom': 19.1.6(@types/react@19.1.7) - '@radix-ui/react-portal@1.1.4(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-portal@1.1.4(@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)': dependencies: - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-primitive': 2.0.2(@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) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@16.14.0) + react: 16.14.0 + react-dom: 19.1.0(react@16.14.0) optionalDependencies: '@types/react': 19.1.7 '@types/react-dom': 19.1.6(@types/react@19.1.7) - '@radix-ui/react-presence@1.0.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-presence@1.0.0(react-dom@19.1.0(react@16.14.0))(react@16.14.0)': dependencies: '@babel/runtime': 7.27.1 - '@radix-ui/react-compose-refs': 1.0.0(react@19.1.0) - '@radix-ui/react-use-layout-effect': 1.0.0(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-compose-refs': 1.0.0(react@16.14.0) + '@radix-ui/react-use-layout-effect': 1.0.0(react@16.14.0) + react: 16.14.0 + react-dom: 19.1.0(react@16.14.0) - '@radix-ui/react-presence@1.1.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-presence@1.1.2(@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)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@19.1.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@16.14.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@16.14.0) + react: 16.14.0 + react-dom: 19.1.0(react@16.14.0) optionalDependencies: '@types/react': 19.1.7 '@types/react-dom': 19.1.6(@types/react@19.1.7) - '@radix-ui/react-primitive@1.0.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-primitive@1.0.1(react-dom@19.1.0(react@16.14.0))(react@16.14.0)': dependencies: '@babel/runtime': 7.27.1 - '@radix-ui/react-slot': 1.0.1(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-slot': 1.0.1(react@16.14.0) + react: 16.14.0 + react-dom: 19.1.0(react@16.14.0) - '@radix-ui/react-primitive@2.0.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-primitive@2.0.2(@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)': dependencies: - '@radix-ui/react-slot': 1.1.2(@types/react@19.1.7)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-slot': 1.1.2(@types/react@19.1.7)(react@16.14.0) + react: 16.14.0 + react-dom: 19.1.0(react@16.14.0) optionalDependencies: '@types/react': 19.1.7 '@types/react-dom': 19.1.6(@types/react@19.1.7) - '@radix-ui/react-roving-focus@1.0.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-roving-focus@1.0.2(react-dom@19.1.0(react@16.14.0))(react@16.14.0)': dependencies: '@babel/runtime': 7.27.1 '@radix-ui/primitive': 1.0.0 - '@radix-ui/react-collection': 1.0.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-compose-refs': 1.0.0(react@19.1.0) - '@radix-ui/react-context': 1.0.0(react@19.1.0) - '@radix-ui/react-direction': 1.0.0(react@19.1.0) - '@radix-ui/react-id': 1.0.0(react@19.1.0) - '@radix-ui/react-primitive': 1.0.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-callback-ref': 1.0.0(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.0.0(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-collection': 1.0.1(react-dom@19.1.0(react@16.14.0))(react@16.14.0) + '@radix-ui/react-compose-refs': 1.0.0(react@16.14.0) + '@radix-ui/react-context': 1.0.0(react@16.14.0) + '@radix-ui/react-direction': 1.0.0(react@16.14.0) + '@radix-ui/react-id': 1.0.0(react@16.14.0) + '@radix-ui/react-primitive': 1.0.1(react-dom@19.1.0(react@16.14.0))(react@16.14.0) + '@radix-ui/react-use-callback-ref': 1.0.0(react@16.14.0) + '@radix-ui/react-use-controllable-state': 1.0.0(react@16.14.0) + react: 16.14.0 + react-dom: 19.1.0(react@16.14.0) - '@radix-ui/react-slot@1.0.1(react@19.1.0)': + '@radix-ui/react-slot@1.0.1(react@16.14.0)': dependencies: '@babel/runtime': 7.27.1 - '@radix-ui/react-compose-refs': 1.0.0(react@19.1.0) - react: 19.1.0 + '@radix-ui/react-compose-refs': 1.0.0(react@16.14.0) + react: 16.14.0 - '@radix-ui/react-slot@1.1.2(@types/react@19.1.7)(react@19.1.0)': + '@radix-ui/react-slot@1.1.2(@types/react@19.1.7)(react@16.14.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@19.1.0) - react: 19.1.0 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@16.14.0) + react: 16.14.0 optionalDependencies: '@types/react': 19.1.7 - '@radix-ui/react-tabs@1.0.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-tabs@1.0.2(react-dom@19.1.0(react@16.14.0))(react@16.14.0)': dependencies: '@babel/runtime': 7.27.1 '@radix-ui/primitive': 1.0.0 - '@radix-ui/react-context': 1.0.0(react@19.1.0) - '@radix-ui/react-direction': 1.0.0(react@19.1.0) - '@radix-ui/react-id': 1.0.0(react@19.1.0) - '@radix-ui/react-presence': 1.0.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-primitive': 1.0.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-roving-focus': 1.0.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.0.0(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-context': 1.0.0(react@16.14.0) + '@radix-ui/react-direction': 1.0.0(react@16.14.0) + '@radix-ui/react-id': 1.0.0(react@16.14.0) + '@radix-ui/react-presence': 1.0.0(react-dom@19.1.0(react@16.14.0))(react@16.14.0) + '@radix-ui/react-primitive': 1.0.1(react-dom@19.1.0(react@16.14.0))(react@16.14.0) + '@radix-ui/react-roving-focus': 1.0.2(react-dom@19.1.0(react@16.14.0))(react@16.14.0) + '@radix-ui/react-use-controllable-state': 1.0.0(react@16.14.0) + react: 16.14.0 + react-dom: 19.1.0(react@16.14.0) - '@radix-ui/react-use-callback-ref@1.0.0(react@19.1.0)': + '@radix-ui/react-use-callback-ref@1.0.0(react@16.14.0)': dependencies: '@babel/runtime': 7.27.1 - react: 19.1.0 + react: 16.14.0 - '@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.1.7)(react@19.1.0)': + '@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.1.7)(react@16.14.0)': dependencies: - react: 19.1.0 + react: 16.14.0 optionalDependencies: '@types/react': 19.1.7 - '@radix-ui/react-use-controllable-state@1.0.0(react@19.1.0)': + '@radix-ui/react-use-controllable-state@1.0.0(react@16.14.0)': dependencies: '@babel/runtime': 7.27.1 - '@radix-ui/react-use-callback-ref': 1.0.0(react@19.1.0) - react: 19.1.0 + '@radix-ui/react-use-callback-ref': 1.0.0(react@16.14.0) + react: 16.14.0 - '@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.1.7)(react@19.1.0)': + '@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.1.7)(react@16.14.0)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@19.1.0) - react: 19.1.0 + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@16.14.0) + react: 16.14.0 optionalDependencies: '@types/react': 19.1.7 - '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.1.7)(react@19.1.0)': + '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.1.7)(react@16.14.0)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@19.1.0) - react: 19.1.0 + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@16.14.0) + react: 16.14.0 optionalDependencies: '@types/react': 19.1.7 - '@radix-ui/react-use-layout-effect@1.0.0(react@19.1.0)': + '@radix-ui/react-use-layout-effect@1.0.0(react@16.14.0)': dependencies: '@babel/runtime': 7.27.1 - react: 19.1.0 + react: 16.14.0 - '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.1.7)(react@19.1.0)': + '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.1.7)(react@16.14.0)': dependencies: - react: 19.1.0 + react: 16.14.0 optionalDependencies: '@types/react': 19.1.7 - '@radix-ui/react-use-rect@1.1.0(@types/react@19.1.7)(react@19.1.0)': + '@radix-ui/react-use-rect@1.1.0(@types/react@19.1.7)(react@16.14.0)': dependencies: '@radix-ui/rect': 1.1.0 - react: 19.1.0 + react: 16.14.0 optionalDependencies: '@types/react': 19.1.7 - '@radix-ui/react-use-size@1.1.0(@types/react@19.1.7)(react@19.1.0)': + '@radix-ui/react-use-size@1.1.0(@types/react@19.1.7)(react@16.14.0)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@19.1.0) - react: 19.1.0 + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@16.14.0) + react: 16.14.0 optionalDependencies: '@types/react': 19.1.7 '@radix-ui/rect@1.1.0': {} - '@replit/codemirror-indentation-markers@6.5.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)': + '@replit/codemirror-indentation-markers@6.5.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 - '@replit/codemirror-lang-nix@6.0.1(@codemirror/autocomplete@6.18.6)(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(@lezer/common@1.2.3)(@lezer/highlight@1.2.1)(@lezer/lr@1.4.2)': + '@replit/codemirror-lang-nix@6.0.1(@codemirror/autocomplete@6.18.6)(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/common@1.2.3)(@lezer/highlight@1.2.1)(@lezer/lr@1.4.2)': dependencies: '@codemirror/autocomplete': 6.18.6 '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@lezer/common': 1.2.3 '@lezer/highlight': 1.2.1 '@lezer/lr': 1.4.2 - '@replit/codemirror-vim@6.3.0(@codemirror/commands@6.8.1)(@codemirror/language@6.11.0)(@codemirror/search@6.5.11)(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)': + '@replit/codemirror-vim@6.3.0(@codemirror/commands@6.8.1)(@codemirror/language@6.11.0)(@codemirror/search@6.5.11)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: '@codemirror/commands': 6.8.1 '@codemirror/language': 6.11.0 '@codemirror/search': 6.5.11 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 + '@codemirror/view': 6.37.2 '@rollup/plugin-commonjs@25.0.8(rollup@4.40.0)': dependencies: @@ -17265,7 +19012,7 @@ snapshots: '@rollup/pluginutils@5.1.4(rollup@4.40.0)': dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: @@ -17331,7 +19078,7 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.40.0': optional: true - '@rushstack/node-core-library@5.13.1(@types/node@22.15.31)': + '@rushstack/node-core-library@5.13.1(@types/node@22.15.32)': dependencies: ajv: 8.13.0 ajv-draft-04: 1.0.0(ajv@8.13.0) @@ -17342,23 +19089,23 @@ snapshots: resolve: 1.22.10 semver: 7.5.4 optionalDependencies: - '@types/node': 22.15.31 + '@types/node': 22.15.32 '@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.15.31)': + '@rushstack/terminal@0.15.3(@types/node@22.15.32)': dependencies: - '@rushstack/node-core-library': 5.13.1(@types/node@22.15.31) + '@rushstack/node-core-library': 5.13.1(@types/node@22.15.32) supports-color: 8.1.1 optionalDependencies: - '@types/node': 22.15.31 + '@types/node': 22.15.32 - '@rushstack/ts-command-line@5.0.1(@types/node@22.15.31)': + '@rushstack/ts-command-line@5.0.1(@types/node@22.15.32)': dependencies: - '@rushstack/terminal': 0.15.3(@types/node@22.15.31) + '@rushstack/terminal': 0.15.3(@types/node@22.15.32) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -17377,6 +19124,8 @@ snapshots: '@sinclair/typebox@0.27.8': {} + '@sinclair/typebox@0.31.28': {} + '@sindresorhus/is@4.6.0': {} '@sinonjs/commons@3.0.1': @@ -17387,6 +19136,315 @@ snapshots: dependencies: '@sinonjs/commons': 3.0.1 + '@smithy/abort-controller@3.1.9': + dependencies: + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@smithy/config-resolver@3.0.13': + dependencies: + '@smithy/node-config-provider': 3.1.12 + '@smithy/types': 3.7.2 + '@smithy/util-config-provider': 3.0.0 + '@smithy/util-middleware': 3.0.11 + tslib: 2.8.1 + + '@smithy/core@2.5.7': + dependencies: + '@smithy/middleware-serde': 3.0.11 + '@smithy/protocol-http': 4.1.8 + '@smithy/types': 3.7.2 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-middleware': 3.0.11 + '@smithy/util-stream': 3.3.4 + '@smithy/util-utf8': 3.0.0 + tslib: 2.8.1 + + '@smithy/credential-provider-imds@3.2.8': + dependencies: + '@smithy/node-config-provider': 3.1.12 + '@smithy/property-provider': 3.1.11 + '@smithy/types': 3.7.2 + '@smithy/url-parser': 3.0.11 + tslib: 2.8.1 + + '@smithy/eventstream-codec@3.1.10': + dependencies: + '@aws-crypto/crc32': 5.2.0 + '@smithy/types': 3.7.2 + '@smithy/util-hex-encoding': 3.0.0 + tslib: 2.8.1 + + '@smithy/eventstream-serde-browser@3.0.14': + dependencies: + '@smithy/eventstream-serde-universal': 3.0.13 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@smithy/eventstream-serde-config-resolver@3.0.11': + dependencies: + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@smithy/eventstream-serde-node@3.0.13': + dependencies: + '@smithy/eventstream-serde-universal': 3.0.13 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@smithy/eventstream-serde-universal@3.0.13': + dependencies: + '@smithy/eventstream-codec': 3.1.10 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@smithy/fetch-http-handler@3.2.9': + dependencies: + '@smithy/protocol-http': 4.1.8 + '@smithy/querystring-builder': 3.0.11 + '@smithy/types': 3.7.2 + '@smithy/util-base64': 3.0.0 + tslib: 2.8.1 + + '@smithy/fetch-http-handler@4.1.3': + dependencies: + '@smithy/protocol-http': 4.1.8 + '@smithy/querystring-builder': 3.0.11 + '@smithy/types': 3.7.2 + '@smithy/util-base64': 3.0.0 + tslib: 2.8.1 + + '@smithy/hash-node@3.0.11': + dependencies: + '@smithy/types': 3.7.2 + '@smithy/util-buffer-from': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.8.1 + + '@smithy/invalid-dependency@3.0.11': + dependencies: + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@smithy/is-array-buffer@2.2.0': + dependencies: + tslib: 2.8.1 + + '@smithy/is-array-buffer@3.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/middleware-content-length@3.0.13': + dependencies: + '@smithy/protocol-http': 4.1.8 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@smithy/middleware-endpoint@3.2.8': + dependencies: + '@smithy/core': 2.5.7 + '@smithy/middleware-serde': 3.0.11 + '@smithy/node-config-provider': 3.1.12 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 + '@smithy/url-parser': 3.0.11 + '@smithy/util-middleware': 3.0.11 + tslib: 2.8.1 + + '@smithy/middleware-retry@3.0.34': + dependencies: + '@smithy/node-config-provider': 3.1.12 + '@smithy/protocol-http': 4.1.8 + '@smithy/service-error-classification': 3.0.11 + '@smithy/smithy-client': 3.7.0 + '@smithy/types': 3.7.2 + '@smithy/util-middleware': 3.0.11 + '@smithy/util-retry': 3.0.11 + tslib: 2.8.1 + uuid: 9.0.1 + + '@smithy/middleware-serde@3.0.11': + dependencies: + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@smithy/middleware-stack@3.0.11': + dependencies: + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@smithy/node-config-provider@3.1.12': + dependencies: + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@smithy/node-http-handler@3.3.3': + dependencies: + '@smithy/abort-controller': 3.1.9 + '@smithy/protocol-http': 4.1.8 + '@smithy/querystring-builder': 3.0.11 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@smithy/property-provider@3.1.11': + dependencies: + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@smithy/protocol-http@4.1.8': + dependencies: + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@smithy/querystring-builder@3.0.11': + dependencies: + '@smithy/types': 3.7.2 + '@smithy/util-uri-escape': 3.0.0 + tslib: 2.8.1 + + '@smithy/querystring-parser@3.0.11': + dependencies: + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@smithy/service-error-classification@3.0.11': + dependencies: + '@smithy/types': 3.7.2 + + '@smithy/shared-ini-file-loader@3.1.12': + dependencies: + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@smithy/signature-v4@4.2.4': + dependencies: + '@smithy/is-array-buffer': 3.0.0 + '@smithy/protocol-http': 4.1.8 + '@smithy/types': 3.7.2 + '@smithy/util-hex-encoding': 3.0.0 + '@smithy/util-middleware': 3.0.11 + '@smithy/util-uri-escape': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.8.1 + + '@smithy/smithy-client@3.7.0': + dependencies: + '@smithy/core': 2.5.7 + '@smithy/middleware-endpoint': 3.2.8 + '@smithy/middleware-stack': 3.0.11 + '@smithy/protocol-http': 4.1.8 + '@smithy/types': 3.7.2 + '@smithy/util-stream': 3.3.4 + tslib: 2.8.1 + + '@smithy/types@3.7.2': + dependencies: + tslib: 2.8.1 + + '@smithy/url-parser@3.0.11': + dependencies: + '@smithy/querystring-parser': 3.0.11 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@smithy/util-base64@3.0.0': + dependencies: + '@smithy/util-buffer-from': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.8.1 + + '@smithy/util-body-length-browser@3.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-body-length-node@3.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-buffer-from@2.2.0': + dependencies: + '@smithy/is-array-buffer': 2.2.0 + tslib: 2.8.1 + + '@smithy/util-buffer-from@3.0.0': + dependencies: + '@smithy/is-array-buffer': 3.0.0 + tslib: 2.8.1 + + '@smithy/util-config-provider@3.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-defaults-mode-browser@3.0.34': + dependencies: + '@smithy/property-provider': 3.1.11 + '@smithy/smithy-client': 3.7.0 + '@smithy/types': 3.7.2 + bowser: 2.11.0 + tslib: 2.8.1 + + '@smithy/util-defaults-mode-node@3.0.34': + dependencies: + '@smithy/config-resolver': 3.0.13 + '@smithy/credential-provider-imds': 3.2.8 + '@smithy/node-config-provider': 3.1.12 + '@smithy/property-provider': 3.1.11 + '@smithy/smithy-client': 3.7.0 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@smithy/util-endpoints@2.1.7': + dependencies: + '@smithy/node-config-provider': 3.1.12 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@smithy/util-hex-encoding@3.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-middleware@3.0.11': + dependencies: + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@smithy/util-retry@3.0.11': + dependencies: + '@smithy/service-error-classification': 3.0.11 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@smithy/util-stream@3.3.4': + dependencies: + '@smithy/fetch-http-handler': 4.1.3 + '@smithy/node-http-handler': 3.3.3 + '@smithy/types': 3.7.2 + '@smithy/util-base64': 3.0.0 + '@smithy/util-buffer-from': 3.0.0 + '@smithy/util-hex-encoding': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.8.1 + + '@smithy/util-uri-escape@3.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-utf8@2.3.0': + dependencies: + '@smithy/util-buffer-from': 2.2.0 + tslib: 2.8.1 + + '@smithy/util-utf8@3.0.0': + dependencies: + '@smithy/util-buffer-from': 3.0.0 + tslib: 2.8.1 + + '@socket.io/component-emitter@3.1.2': {} + + '@sqlite.org/sqlite-wasm@3.48.0-build4': {} + '@ssddanbrown/codemirror-lang-smarty@1.0.0': {} '@ssddanbrown/codemirror-lang-twig@1.0.0': @@ -17397,16 +19455,65 @@ snapshots: '@stylistic/eslint-plugin@4.4.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: - '@typescript-eslint/utils': 8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.34.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) eslint: 9.28.0(jiti@2.4.2) - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 estraverse: 5.3.0 picomatch: 4.0.2 transitivePeerDependencies: - supports-color - typescript + '@sveltejs/acorn-typescript@1.0.5(acorn@8.14.1)': + dependencies: + acorn: 8.14.1 + + '@sveltejs/adapter-auto@6.0.1(@sveltejs/kit@2.21.5(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.1)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.34.1)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)))': + dependencies: + '@sveltejs/kit': 2.21.5(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.1)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.34.1)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)) + + '@sveltejs/kit@2.21.5(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.1)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.34.1)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0))': + dependencies: + '@sveltejs/acorn-typescript': 1.0.5(acorn@8.14.1) + '@sveltejs/vite-plugin-svelte': 5.1.0(svelte@5.34.1)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)) + '@types/cookie': 0.6.0 + acorn: 8.14.1 + cookie: 0.6.0 + devalue: 5.1.1 + esm-env: 1.2.2 + kleur: 4.1.5 + magic-string: 0.30.17 + mrmime: 2.0.1 + sade: 1.8.1 + set-cookie-parser: 2.7.1 + sirv: 3.0.1 + svelte: 5.34.1 + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) + vitefu: 1.0.6(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)) + + '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.1)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.34.1)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0))': + dependencies: + '@sveltejs/vite-plugin-svelte': 5.1.0(svelte@5.34.1)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)) + debug: 4.4.1(supports-color@6.0.0) + svelte: 5.34.1 + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) + transitivePeerDependencies: + - supports-color + + '@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.1)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0))': + dependencies: + '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.1)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.34.1)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)) + debug: 4.4.1(supports-color@6.0.0) + deepmerge: 4.3.1 + kleur: 4.1.5 + magic-string: 0.30.17 + svelte: 5.34.1 + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) + vitefu: 1.0.6(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)) + transitivePeerDependencies: + - supports-color + '@swc-node/core@1.13.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)': dependencies: '@swc/core': 1.11.29(@swc/helpers@0.5.17) @@ -17492,10 +19599,91 @@ snapshots: dependencies: '@swc/counter': 0.1.3 + '@symbiotejs/symbiote@1.11.7': {} + '@szmarczak/http-timer@4.0.6': dependencies: defer-to-connect: 2.0.1 + '@tailwindcss/node@4.1.10': + dependencies: + '@ampproject/remapping': 2.3.0 + enhanced-resolve: 5.18.1 + jiti: 2.4.2 + lightningcss: 1.30.1 + magic-string: 0.30.17 + source-map-js: 1.2.1 + tailwindcss: 4.1.10 + + '@tailwindcss/oxide-android-arm64@4.1.10': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.1.10': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.1.10': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.1.10': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.10': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.1.10': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.1.10': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.1.10': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.1.10': + optional: true + + '@tailwindcss/oxide-wasm32-wasi@4.1.10': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.1.10': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.1.10': + optional: true + + '@tailwindcss/oxide@4.1.10': + dependencies: + detect-libc: 2.0.4 + tar: 7.4.3 + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.1.10 + '@tailwindcss/oxide-darwin-arm64': 4.1.10 + '@tailwindcss/oxide-darwin-x64': 4.1.10 + '@tailwindcss/oxide-freebsd-x64': 4.1.10 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.10 + '@tailwindcss/oxide-linux-arm64-gnu': 4.1.10 + '@tailwindcss/oxide-linux-arm64-musl': 4.1.10 + '@tailwindcss/oxide-linux-x64-gnu': 4.1.10 + '@tailwindcss/oxide-linux-x64-musl': 4.1.10 + '@tailwindcss/oxide-wasm32-wasi': 4.1.10 + '@tailwindcss/oxide-win32-arm64-msvc': 4.1.10 + '@tailwindcss/oxide-win32-x64-msvc': 4.1.10 + + '@tailwindcss/typography@0.5.16(tailwindcss@4.1.10)': + 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.10 + + '@tailwindcss/vite@4.1.10(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0))': + dependencies: + '@tailwindcss/node': 4.1.10 + '@tailwindcss/oxide': 4.1.10 + tailwindcss: 4.1.10 + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) + '@testing-library/dom@10.4.0': dependencies: '@babel/code-frame': 7.26.2 @@ -17545,7 +19733,7 @@ snapshots: '@types/appdmg@0.5.5': dependencies: - '@types/node': 22.15.31 + '@types/node': 22.15.32 optional: true '@types/archiver@6.0.3': @@ -17584,11 +19772,11 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 22.15.31 + '@types/node': 22.15.32 '@types/bonjour@3.5.13': dependencies: - '@types/node': 22.15.31 + '@types/node': 22.15.32 '@types/bootstrap@5.2.10': dependencies: @@ -17598,7 +19786,7 @@ snapshots: dependencies: '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 - '@types/node': 22.15.31 + '@types/node': 22.15.32 '@types/responselike': 1.0.3 '@types/chai@5.2.2': @@ -17623,18 +19811,17 @@ snapshots: '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 5.0.6 - '@types/node': 22.15.31 + '@types/node': 22.15.32 '@types/connect@3.4.38': dependencies: - '@types/node': 22.15.31 + '@types/node': 22.15.32 '@types/cookie-parser@1.4.9(@types/express@5.0.3)': dependencies: '@types/express': 5.0.3 - '@types/cookie@0.6.0': - optional: true + '@types/cookie@0.6.0': {} '@types/cookiejar@2.1.5': {} @@ -17766,6 +19953,7 @@ snapshots: '@types/debug@4.1.12': dependencies: '@types/ms': 2.1.0 + optional: true '@types/deep-eql@4.0.2': {} @@ -17778,22 +19966,24 @@ snapshots: '@types/eslint-scope@3.7.7': dependencies: '@types/eslint': 9.6.1 - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 '@types/eslint@9.6.1': dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 '@types/json-schema': 7.0.15 '@types/estree@1.0.7': {} + '@types/estree@1.0.8': {} + '@types/express-http-proxy@1.6.6': dependencies: '@types/express': 5.0.3 '@types/express-serve-static-core@5.0.6': dependencies: - '@types/node': 22.15.31 + '@types/node': 22.15.32 '@types/qs': 6.14.0 '@types/range-parser': 1.2.7 '@types/send': 0.17.5 @@ -17822,7 +20012,7 @@ snapshots: '@types/fs-extra@9.0.13': dependencies: - '@types/node': 22.15.31 + '@types/node': 22.15.32 optional: true '@types/geojson@7946.0.16': {} @@ -17830,11 +20020,11 @@ snapshots: '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 22.15.31 + '@types/node': 22.15.32 '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 22.15.31 + '@types/node': 22.15.32 '@types/html@1.0.4': {} @@ -17844,7 +20034,7 @@ snapshots: '@types/http-proxy@1.17.16': dependencies: - '@types/node': 22.15.31 + '@types/node': 22.15.32 '@types/ini@4.1.1': {} @@ -17874,11 +20064,11 @@ snapshots: '@types/jsonfile@6.1.4': dependencies: - '@types/node': 22.15.31 + '@types/node': 22.15.32 '@types/keyv@3.1.4': dependencies: - '@types/node': 22.15.31 + '@types/node': 22.15.32 '@types/leaflet-gpx@1.3.7': dependencies: @@ -17894,13 +20084,15 @@ snapshots: '@types/lodash@4.17.16': {} + '@types/luxon@3.4.2': {} + '@types/mark.js@8.11.12': dependencies: '@types/jquery': 3.5.32 '@types/marked@4.3.2': {} - '@types/mdast@3.0.15': + '@types/mdast@4.0.4': dependencies: '@types/unist': 2.0.11 @@ -17914,7 +20106,8 @@ snapshots: '@types/minimatch@5.1.2': {} - '@types/ms@2.1.0': {} + '@types/ms@2.1.0': + optional: true '@types/multer@1.4.13': dependencies: @@ -17922,7 +20115,7 @@ snapshots: '@types/node-forge@1.3.11': dependencies: - '@types/node': 22.15.31 + '@types/node': 22.15.32 '@types/node@16.9.1': {} @@ -17942,7 +20135,7 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@22.15.31': + '@types/node@22.15.32': dependencies: undici-types: 6.21.0 @@ -17955,20 +20148,22 @@ snapshots: '@types/react-dom@19.1.6(@types/react@19.1.7)': dependencies: '@types/react': 19.1.7 + optional: true '@types/react@19.1.7': dependencies: csstype: 3.1.3 + optional: true '@types/readdir-glob@1.1.5': dependencies: - '@types/node': 22.15.31 + '@types/node': 22.15.32 '@types/resolve@1.20.2': {} '@types/responselike@1.0.3': dependencies: - '@types/node': 22.15.31 + '@types/node': 22.15.32 '@types/retry@0.12.2': {} @@ -17982,17 +20177,15 @@ snapshots: dependencies: '@types/node': 22.15.21 - '@types/semver@7.7.0': {} - '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.15.31 + '@types/node': 22.15.32 '@types/send@0.17.5': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.15.31 + '@types/node': 22.15.32 '@types/serve-favicon@2.5.7': dependencies: @@ -18019,7 +20212,7 @@ snapshots: '@types/sockjs@0.3.36': dependencies: - '@types/node': 22.15.31 + '@types/node': 22.15.32 '@types/stack-utils@2.0.3': {} @@ -18034,7 +20227,7 @@ snapshots: dependencies: '@types/cookiejar': 2.1.5 '@types/methods': 1.1.4 - '@types/node': 22.15.31 + '@types/node': 22.15.32 form-data: 4.0.2 '@types/supertest@6.0.3': @@ -18080,29 +20273,9 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 22.15.31 + '@types/node': 22.15.32 optional: true - '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': - dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 6.21.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/type-utils': 6.21.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/utils': 6.21.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.4.1(supports-color@6.0.0) - eslint: 9.28.0(jiti@2.4.2) - graphemer: 1.4.0 - ignore: 5.3.2 - natural-compare: 1.4.0 - semver: 7.7.2 - ts-api-utils: 1.4.3(typescript@5.8.3) - optionalDependencies: - typescript: 5.8.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/eslint-plugin@8.34.0(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 @@ -18137,15 +20310,36 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@6.21.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.4.1(supports-color@6.0.0) + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.34.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.34.1 + '@typescript-eslint/type-utils': 8.34.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.34.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.34.1 eslint: 9.28.0(jiti@2.4.2) - optionalDependencies: + graphemer: 1.4.0 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/eslint-plugin@8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.34.1 + '@typescript-eslint/type-utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.34.1 + eslint: 9.29.0(jiti@2.4.2) + graphemer: 1.4.0 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -18174,6 +20368,30 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@8.34.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.34.1 + '@typescript-eslint/types': 8.34.1 + '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.34.1 + debug: 4.4.1(supports-color@6.0.0) + eslint: 9.28.0(jiti@2.4.2) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.34.1 + '@typescript-eslint/types': 8.34.1 + '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.34.1 + debug: 4.4.1(supports-color@6.0.0) + eslint: 9.29.0(jiti@2.4.2) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/project-service@8.33.1(typescript@5.8.3)': dependencies: '@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.8.3) @@ -18192,10 +20410,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@6.21.0': + '@typescript-eslint/project-service@8.34.1(typescript@5.8.3)': dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 + '@typescript-eslint/tsconfig-utils': 8.34.1(typescript@5.8.3) + '@typescript-eslint/types': 8.34.1 + debug: 4.4.1(supports-color@6.0.0) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color '@typescript-eslint/scope-manager@8.33.1': dependencies: @@ -18207,6 +20429,11 @@ snapshots: '@typescript-eslint/types': 8.34.0 '@typescript-eslint/visitor-keys': 8.34.0 + '@typescript-eslint/scope-manager@8.34.1': + dependencies: + '@typescript-eslint/types': 8.34.1 + '@typescript-eslint/visitor-keys': 8.34.1 + '@typescript-eslint/tsconfig-utils@8.33.1(typescript@5.8.3)': dependencies: typescript: 5.8.3 @@ -18215,28 +20442,9 @@ snapshots: dependencies: typescript: 5.8.3 - '@typescript-eslint/type-utils@6.21.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/tsconfig-utils@8.34.1(typescript@5.8.3)': dependencies: - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.8.3) - '@typescript-eslint/utils': 6.21.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) - debug: 4.4.1(supports-color@6.0.0) - eslint: 9.28.0(jiti@2.4.2) - ts-api-utils: 1.4.3(typescript@5.8.3) - optionalDependencies: typescript: 5.8.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/type-utils@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': - dependencies: - '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) - '@typescript-eslint/utils': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) - debug: 4.4.1(supports-color@6.0.0) - eslint: 9.28.0(jiti@2.4.2) - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 - transitivePeerDependencies: - - supports-color '@typescript-eslint/type-utils@8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: @@ -18249,26 +20457,44 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@6.21.0': {} + '@typescript-eslint/type-utils@8.34.0(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@typescript-eslint/typescript-estree': 8.34.0(typescript@5.8.3) + '@typescript-eslint/utils': 8.34.0(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) + debug: 4.4.1(supports-color@6.0.0) + eslint: 9.29.0(jiti@2.4.2) + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/type-utils@8.34.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) + '@typescript-eslint/utils': 8.34.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + debug: 4.4.1(supports-color@6.0.0) + eslint: 9.28.0(jiti@2.4.2) + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/type-utils@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) + '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) + debug: 4.4.1(supports-color@6.0.0) + eslint: 9.29.0(jiti@2.4.2) + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color '@typescript-eslint/types@8.33.1': {} '@typescript-eslint/types@8.34.0': {} - '@typescript-eslint/typescript-estree@6.21.0(typescript@5.8.3)': - dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.4.1(supports-color@6.0.0) - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.3 - semver: 7.7.2 - ts-api-utils: 1.4.3(typescript@5.8.3) - optionalDependencies: - typescript: 5.8.3 - transitivePeerDependencies: - - supports-color + '@typescript-eslint/types@8.34.1': {} '@typescript-eslint/typescript-estree@8.33.1(typescript@5.8.3)': dependencies: @@ -18302,27 +20528,18 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@6.21.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/typescript-estree@8.34.1(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.4.2)) - '@types/json-schema': 7.0.15 - '@types/semver': 7.7.0 - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.8.3) - eslint: 9.28.0(jiti@2.4.2) + '@typescript-eslint/project-service': 8.34.1(typescript@5.8.3) + '@typescript-eslint/tsconfig-utils': 8.34.1(typescript@5.8.3) + '@typescript-eslint/types': 8.34.1 + '@typescript-eslint/visitor-keys': 8.34.1 + debug: 4.4.1(supports-color@6.0.0) + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 semver: 7.7.2 - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/utils@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': - dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.4.2)) - '@typescript-eslint/scope-manager': 8.33.1 - '@typescript-eslint/types': 8.33.1 - '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) - eslint: 9.28.0(jiti@2.4.2) + ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -18338,31 +20555,84 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@6.21.0': + '@typescript-eslint/utils@8.34.0(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: - '@typescript-eslint/types': 6.21.0 - eslint-visitor-keys: 3.4.3 + '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@2.4.2)) + '@typescript-eslint/scope-manager': 8.34.0 + '@typescript-eslint/types': 8.34.0 + '@typescript-eslint/typescript-estree': 8.34.0(typescript@5.8.3) + eslint: 9.29.0(jiti@2.4.2) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.34.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.4.2)) + '@typescript-eslint/scope-manager': 8.34.1 + '@typescript-eslint/types': 8.34.1 + '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) + eslint: 9.28.0(jiti@2.4.2) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@2.4.2)) + '@typescript-eslint/scope-manager': 8.34.1 + '@typescript-eslint/types': 8.34.1 + '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) + eslint: 9.29.0(jiti@2.4.2) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color '@typescript-eslint/visitor-keys@8.33.1': dependencies: '@typescript-eslint/types': 8.33.1 - eslint-visitor-keys: 4.2.0 + eslint-visitor-keys: 4.2.1 '@typescript-eslint/visitor-keys@8.34.0': dependencies: '@typescript-eslint/types': 8.34.0 - eslint-visitor-keys: 4.2.0 + eslint-visitor-keys: 4.2.1 - '@vitest/browser@3.2.0(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(playwright@1.53.0)(utf-8-validate@6.0.5)(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vitest@3.2.0)(webdriverio@9.15.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': + '@typescript-eslint/visitor-keys@8.34.1': + dependencies: + '@typescript-eslint/types': 8.34.1 + eslint-visitor-keys: 4.2.1 + + '@uploadcare/file-uploader@1.12.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': + dependencies: + '@symbiotejs/symbiote': 1.11.7 + '@uploadcare/image-shrink': 6.14.3 + '@uploadcare/upload-client': 6.14.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) + keyux: 0.7.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@uploadcare/image-shrink@6.14.3': {} + + '@uploadcare/upload-client@6.14.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)': + dependencies: + form-data: 4.0.2 + ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@vitest/browser@3.2.0(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.15.32)(typescript@5.8.3))(playwright@1.53.0)(utf-8-validate@6.0.5)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.0)(webdriverio@9.15.0(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.0(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)) + '@vitest/mocker': 3.2.0(msw@2.7.5(@types/node@22.15.32)(typescript@5.8.3))(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/utils': 3.2.0 magic-string: 0.30.17 sirv: 3.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.0(@types/debug@4.1.12)(@types/node@22.15.31)(@vitest/browser@3.2.0)(@vitest/ui@3.2.0)(happy-dom@18.0.1)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) + vitest: 3.2.0(@types/debug@4.1.12)(@types/node@22.15.32)(@vitest/browser@3.2.0)(@vitest/ui@3.2.0)(happy-dom@18.0.1)(jiti@2.4.2)(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.15.32)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: playwright: 1.53.0 @@ -18385,11 +20655,11 @@ snapshots: magicast: 0.3.5 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.0(@types/debug@4.1.12)(@types/node@22.15.31)(@vitest/browser@3.2.0)(@vitest/ui@3.2.0)(happy-dom@18.0.1)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) + vitest: 3.2.0(@types/debug@4.1.12)(@types/node@22.15.32)(@vitest/browser@3.2.0)(@vitest/ui@3.2.0)(happy-dom@18.0.1)(jiti@2.4.2)(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.15.32)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - supports-color - '@vitest/coverage-v8@3.2.3(vitest@3.2.3)': + '@vitest/coverage-v8@3.2.4(vitest@3.2.4)': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 1.0.2 @@ -18404,7 +20674,7 @@ snapshots: std-env: 3.9.0 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.3(@types/debug@4.1.12)(@types/node@22.15.31)(@vitest/ui@3.2.3)(happy-dom@18.0.1)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.15.32)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.15.32)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - supports-color @@ -18416,37 +20686,37 @@ snapshots: chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/expect@3.2.3': + '@vitest/expect@3.2.4': dependencies: '@types/chai': 5.2.2 - '@vitest/spy': 3.2.3 - '@vitest/utils': 3.2.3 + '@vitest/spy': 3.2.4 + '@vitest/utils': 3.2.4 chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.0(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))': + '@vitest/mocker@3.2.0(msw@2.7.5(@types/node@22.15.32)(typescript@5.8.3))(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.0 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - msw: 2.7.5(@types/node@22.15.31)(typescript@5.8.3) - vite: 6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) + msw: 2.7.5(@types/node@22.15.32)(typescript@5.8.3) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) - '@vitest/mocker@3.2.3(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@22.15.32)(typescript@5.8.3))(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0))': dependencies: - '@vitest/spy': 3.2.3 + '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - msw: 2.7.5(@types/node@22.15.31)(typescript@5.8.3) - vite: 6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) + msw: 2.7.5(@types/node@22.15.32)(typescript@5.8.3) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) '@vitest/pretty-format@3.2.0': dependencies: tinyrainbow: 2.0.0 - '@vitest/pretty-format@3.2.3': + '@vitest/pretty-format@3.2.4': dependencies: tinyrainbow: 2.0.0 @@ -18455,9 +20725,9 @@ snapshots: '@vitest/utils': 3.2.0 pathe: 2.0.3 - '@vitest/runner@3.2.3': + '@vitest/runner@3.2.4': dependencies: - '@vitest/utils': 3.2.3 + '@vitest/utils': 3.2.4 pathe: 2.0.3 strip-literal: 3.0.0 @@ -18467,9 +20737,9 @@ snapshots: magic-string: 0.30.17 pathe: 2.0.3 - '@vitest/snapshot@3.2.3': + '@vitest/snapshot@3.2.4': dependencies: - '@vitest/pretty-format': 3.2.3 + '@vitest/pretty-format': 3.2.4 magic-string: 0.30.17 pathe: 2.0.3 @@ -18477,7 +20747,7 @@ snapshots: dependencies: tinyspy: 4.0.3 - '@vitest/spy@3.2.3': + '@vitest/spy@3.2.4': dependencies: tinyspy: 4.0.3 @@ -18490,19 +20760,19 @@ snapshots: sirv: 3.0.1 tinyglobby: 0.2.14 tinyrainbow: 2.0.0 - vitest: 3.2.0(@types/debug@4.1.12)(@types/node@22.15.31)(@vitest/browser@3.2.0)(@vitest/ui@3.2.0)(happy-dom@18.0.1)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) + vitest: 3.2.0(@types/debug@4.1.12)(@types/node@22.15.32)(@vitest/browser@3.2.0)(@vitest/ui@3.2.0)(happy-dom@18.0.1)(jiti@2.4.2)(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.15.32)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) optional: true - '@vitest/ui@3.2.3(vitest@3.2.3)': + '@vitest/ui@3.2.4(vitest@3.2.4)': dependencies: - '@vitest/utils': 3.2.3 + '@vitest/utils': 3.2.4 fflate: 0.8.2 flatted: 3.3.3 pathe: 2.0.3 sirv: 3.0.1 tinyglobby: 0.2.14 tinyrainbow: 2.0.0 - vitest: 3.2.3(@types/debug@4.1.12)(@types/node@22.15.31)(@vitest/ui@3.2.3)(happy-dom@18.0.1)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.15.32)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.15.32)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) '@vitest/utils@3.2.0': dependencies: @@ -18510,10 +20780,10 @@ snapshots: loupe: 3.1.3 tinyrainbow: 2.0.0 - '@vitest/utils@3.2.3': + '@vitest/utils@3.2.4': dependencies: - '@vitest/pretty-format': 3.2.3 - loupe: 3.1.3 + '@vitest/pretty-format': 3.2.4 + loupe: 3.1.4 tinyrainbow: 2.0.0 '@volar/language-core@2.4.13': @@ -18737,6 +21007,10 @@ snapshots: dependencies: acorn: 8.14.1 + acorn-jsx@5.3.2(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + acorn-walk@7.2.0: {} acorn-walk@8.3.4: @@ -18747,6 +21021,8 @@ snapshots: acorn@8.14.1: {} + acorn@8.15.0: {} + address@1.2.2: {} agent-base@6.0.2: @@ -18937,6 +21213,8 @@ snapshots: array-flatten@1.1.1: {} + array-timsort@1.0.3: {} + array-union@2.1.0: {} array.prototype.reduce@1.0.8: @@ -19007,7 +21285,7 @@ snapshots: await-to-js@3.0.0: {} - axios@1.9.0(debug@4.4.1): + axios@1.10.0(debug@4.4.1): dependencies: follow-redirects: 1.15.9(debug@4.4.1) form-data: 4.0.2 @@ -19015,6 +21293,8 @@ snapshots: transitivePeerDependencies: - debug + axobject-query@4.1.0: {} + b4a@1.6.7: {} babel-jest@29.7.0(@babel/core@7.26.10): @@ -19234,10 +21514,12 @@ snapshots: boolean@3.2.0: optional: true - bootstrap@5.3.6(@popperjs/core@2.11.8): + bootstrap@5.3.7(@popperjs/core@2.11.8): dependencies: '@popperjs/core': 2.11.8 + bowser@2.11.0: {} + boxicons@2.1.4: dependencies: '@webcomponents/webcomponentsjs': 2.8.0 @@ -19252,7 +21534,7 @@ snapshots: stream-buffers: 2.2.0 optional: true - brace-expansion@1.1.11: + brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 @@ -19261,6 +21543,10 @@ snapshots: dependencies: balanced-match: 1.0.2 + brace-expansion@2.0.2: + dependencies: + balanced-match: 1.0.2 + braces@3.0.3: dependencies: fill-range: 7.1.1 @@ -19403,7 +21689,7 @@ snapshots: cacheable@1.9.0: dependencies: hookified: 1.9.0 - keyv: 5.3.3 + keyv: 5.3.4 call-bind-apply-helpers@1.0.2: dependencies: @@ -19452,7 +21738,7 @@ snapshots: assertion-error: 2.0.1 check-error: 2.1.1 deep-eql: 5.0.2 - loupe: 3.1.3 + loupe: 3.1.4 pathval: 2.0.0 chalk@2.4.2: @@ -19475,8 +21761,6 @@ snapshots: char-regex@1.0.2: {} - character-entities@2.0.2: {} - chardet@2.1.0: {} check-error@2.1.1: {} @@ -19576,6 +21860,42 @@ snapshots: cjs-module-lexer@1.4.3: {} + ckeditor5-collaboration@45.2.0: + dependencies: + '@ckeditor/ckeditor5-collaboration-core': 45.2.0 + + ckeditor5-premium-features@45.2.0(bufferutil@4.0.9)(ckeditor5@45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5): + dependencies: + '@ckeditor/ckeditor5-ai': 45.2.0 + '@ckeditor/ckeditor5-case-change': 45.2.0 + '@ckeditor/ckeditor5-collaboration-core': 45.2.0 + '@ckeditor/ckeditor5-comments': 45.2.0 + '@ckeditor/ckeditor5-document-outline': 45.2.0 + '@ckeditor/ckeditor5-email': 45.2.0 + '@ckeditor/ckeditor5-export-inline-styles': 45.2.0 + '@ckeditor/ckeditor5-export-pdf': 45.2.0 + '@ckeditor/ckeditor5-export-word': 45.2.0 + '@ckeditor/ckeditor5-format-painter': 45.2.0 + '@ckeditor/ckeditor5-import-word': 45.2.0 + '@ckeditor/ckeditor5-list-multi-level': 45.2.0 + '@ckeditor/ckeditor5-merge-fields': 45.2.0 + '@ckeditor/ckeditor5-pagination': 45.2.0 + '@ckeditor/ckeditor5-paste-from-office-enhanced': 45.2.0 + '@ckeditor/ckeditor5-real-time-collaboration': 45.2.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-revision-history': 45.2.0 + '@ckeditor/ckeditor5-slash-command': 45.2.0 + '@ckeditor/ckeditor5-source-editing-enhanced': 45.2.0 + '@ckeditor/ckeditor5-template': 45.2.0 + '@ckeditor/ckeditor5-track-changes': 45.2.0 + '@ckeditor/ckeditor5-uploadcare': 45.2.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.2.0 + ckeditor5: 45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - aws-crt + - bufferutil + - supports-color + - utf-8-validate + ckeditor5@45.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41): dependencies: '@ckeditor/ckeditor5-adapter-ckfinder': 45.2.0 @@ -19713,8 +22033,15 @@ snapshots: clsx@1.1.1: {} + clsx@2.1.1: {} + co@4.6.0: {} + codemirror-lang-elixir@4.0.0: + dependencies: + '@codemirror/language': 6.11.0 + lezer-elixir: 1.1.2 + codemirror-lang-hcl@0.1.0: dependencies: '@codemirror/language': 6.11.0 @@ -19787,6 +22114,14 @@ snapshots: commander@9.5.0: {} + comment-json@4.2.5: + dependencies: + array-timsort: 1.0.3 + core-util-is: 1.0.3 + esprima: 4.0.1 + has-own-prop: 2.0.0 + repeat-string: 1.6.1 + comment-parser@1.4.0: {} commondir@1.0.1: {} @@ -19845,6 +22180,8 @@ snapshots: connect-history-api-fallback@2.0.0: {} + consola@3.4.0: {} + console-control-strings@1.1.0: optional: true @@ -19871,6 +22208,8 @@ snapshots: cookie-signature@1.2.2: {} + cookie@0.6.0: {} + cookie@0.7.1: {} cookie@0.7.2: {} @@ -20220,7 +22559,8 @@ snapshots: '@asamuzakjp/css-color': 3.1.4 rrweb-cssom: 0.8.0 - csstype@3.1.3: {} + csstype@3.1.3: + optional: true cytoscape-cose-bilkent@4.1.0(cytoscape@3.31.2): dependencies: @@ -20413,11 +22753,6 @@ snapshots: d3-transition: 3.0.1(d3-selection@3.0.0) d3-zoom: 3.0.0 - dagre-d3-es@7.0.10: - dependencies: - d3: 7.9.0 - lodash-es: 4.17.21 - dagre-d3-es@7.0.11: dependencies: d3: 7.9.0 @@ -20476,6 +22811,10 @@ snapshots: dependencies: ms: 2.1.2 + debug@4.3.7: + dependencies: + ms: 2.1.3 + debug@4.4.1(supports-color@6.0.0): dependencies: ms: 2.1.3 @@ -20496,16 +22835,16 @@ snapshots: decimal.js@10.5.0: {} - decode-named-character-reference@1.1.0: - dependencies: - character-entities: 2.0.2 - decode-uri-component@0.2.2: {} decompress-response@6.0.0: dependencies: mimic-response: 3.1.0 + dedent@1.5.1(babel-plugin-macros@3.1.0): + optionalDependencies: + babel-plugin-macros: 3.1.0 + dedent@1.5.3(babel-plugin-macros@3.1.0): optionalDependencies: babel-plugin-macros: 3.1.0 @@ -20627,6 +22966,8 @@ snapshots: detect-touch-events@2.0.2: {} + devalue@5.1.1: {} + dezalgo@1.0.4: dependencies: asap: 2.0.6 @@ -20914,6 +23255,20 @@ snapshots: dependencies: once: 1.4.0 + engine.io-client@6.5.4(bufferutil@4.0.9)(utf-8-validate@6.0.5): + dependencies: + '@socket.io/component-emitter': 3.1.2 + debug: 4.3.7 + engine.io-parser: 5.2.3 + ws: 8.17.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) + xmlhttprequest-ssl: 2.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + engine.io-parser@5.2.3: {} + enhanced-resolve@5.18.1: dependencies: graceful-fs: 4.2.11 @@ -21035,7 +23390,7 @@ snapshots: esbuild-loader@3.0.1(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5)): dependencies: esbuild: 0.25.5 - get-tsconfig: 4.10.0 + get-tsconfig: 4.10.1 loader-utils: 2.0.4 webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5) webpack-sources: 1.4.3 @@ -21043,7 +23398,7 @@ snapshots: esbuild-loader@4.3.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5)): dependencies: esbuild: 0.25.5 - get-tsconfig: 4.10.0 + get-tsconfig: 4.10.1 loader-utils: 2.0.4 webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5) webpack-sources: 1.4.3 @@ -21100,22 +23455,22 @@ snapshots: eslint-config-ckeditor5@10.0.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3): dependencies: - '@eslint/js': 9.28.0 + '@eslint/js': 9.29.0 '@stylistic/eslint-plugin': 4.4.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) eslint: 9.28.0(jiti@2.4.2) eslint-plugin-ckeditor5-rules: 10.0.0 eslint-plugin-mocha: 11.1.0(eslint@9.28.0(jiti@2.4.2)) globals: 16.2.0 typescript: 5.8.3 - typescript-eslint: 8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + typescript-eslint: 8.34.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) transitivePeerDependencies: - supports-color - eslint-config-prettier@10.1.5(eslint@9.28.0(jiti@2.4.2)): + eslint-config-prettier@10.1.5(eslint@9.29.0(jiti@2.4.2)): dependencies: - eslint: 9.28.0(jiti@2.4.2) + eslint: 9.29.0(jiti@2.4.2) - eslint-linter-browserify@9.28.0: {} + eslint-linter-browserify@9.29.0: {} eslint-plugin-ckeditor5-rules@10.0.0: dependencies: @@ -21132,11 +23487,29 @@ snapshots: eslint: 9.28.0(jiti@2.4.2) globals: 15.15.0 - eslint-plugin-playwright@2.2.0(eslint@9.28.0(jiti@2.4.2)): + eslint-plugin-playwright@2.2.0(eslint@9.29.0(jiti@2.4.2)): dependencies: - eslint: 9.28.0(jiti@2.4.2) + eslint: 9.29.0(jiti@2.4.2) globals: 13.24.0 + eslint-plugin-svelte@3.9.2(eslint@9.28.0(jiti@2.4.2))(svelte@5.34.1)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(typescript@5.8.3)): + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.4.2)) + '@jridgewell/sourcemap-codec': 1.5.0 + eslint: 9.28.0(jiti@2.4.2) + esutils: 2.0.3 + globals: 16.2.0 + known-css-properties: 0.36.0 + postcss: 8.5.3 + postcss-load-config: 3.1.4(postcss@8.5.3)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(typescript@5.8.3)) + postcss-safe-parser: 7.0.1(postcss@8.5.3) + semver: 7.7.2 + svelte-eslint-parser: 1.2.0(svelte@5.34.1) + optionalDependencies: + svelte: 5.34.1 + transitivePeerDependencies: + - ts-node + eslint-scope@5.1.1: dependencies: esrecurse: 4.3.0 @@ -21147,10 +23520,17 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 + eslint-scope@8.4.0: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + eslint-visitor-keys@3.4.3: {} eslint-visitor-keys@4.2.0: {} + eslint-visitor-keys@4.2.1: {} + eslint@9.28.0(jiti@2.4.2): dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.4.2)) @@ -21193,12 +23573,62 @@ snapshots: transitivePeerDependencies: - supports-color + eslint@9.29.0(jiti@2.4.2): + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@2.4.2)) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.20.1 + '@eslint/config-helpers': 0.2.3 + '@eslint/core': 0.14.0 + '@eslint/eslintrc': 3.3.1 + '@eslint/js': 9.29.0 + '@eslint/plugin-kit': 0.3.2 + '@humanfs/node': 0.16.6 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.1(supports-color@6.0.0) + escape-string-regexp: 4.0.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + optionalDependencies: + jiti: 2.4.2 + transitivePeerDependencies: + - supports-color + + esm-env@1.2.2: {} + espree@10.3.0: dependencies: acorn: 8.14.1 acorn-jsx: 5.3.2(acorn@8.14.1) eslint-visitor-keys: 4.2.0 + espree@10.4.0: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 4.2.1 + espree@9.6.1: dependencies: acorn: 8.14.1 @@ -21211,6 +23641,10 @@ snapshots: dependencies: estraverse: 5.3.0 + esrap@1.4.9: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + esrecurse@4.3.0: dependencies: estraverse: 5.3.0 @@ -21223,7 +23657,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 esutils@2.0.3: {} @@ -21424,6 +23858,10 @@ snapshots: fast-uri@3.0.6: {} + fast-xml-parser@4.4.1: + dependencies: + strnum: 1.1.2 + fast-xml-parser@4.5.3: dependencies: strnum: 1.1.2 @@ -21576,7 +24014,7 @@ snapshots: dependencies: d3-selection: 3.0.0 kapsule: 1.16.3 - preact: 10.26.5 + preact: 10.26.9 flora-colossus@2.0.0: dependencies: @@ -21851,6 +24289,10 @@ snapshots: dependencies: resolve-pkg-maps: 1.0.0 + get-tsconfig@4.10.1: + dependencies: + resolve-pkg-maps: 1.0.0 + get-uri@6.0.4: dependencies: basic-ftp: 5.0.5 @@ -22030,6 +24472,8 @@ snapshots: has-flag@4.0.0: {} + has-own-prop@2.0.0: {} + has-property-descriptors@1.0.2: dependencies: es-define-property: 1.0.1 @@ -22259,6 +24703,8 @@ snapshots: transitivePeerDependencies: - supports-color + human-id@4.1.1: {} + humanize-ms@1.2.1: dependencies: ms: 2.1.3 @@ -22301,6 +24747,8 @@ snapshots: ignore@7.0.4: {} + ignore@7.0.5: {} + image-blob-reduce@3.0.1: dependencies: pica: 7.1.1 @@ -22327,7 +24775,7 @@ snapshots: immutable@4.3.7: {} - immutable@5.1.2: + immutable@5.1.3: optional: true import-fresh@3.3.1: @@ -22542,6 +24990,10 @@ snapshots: optional: true is-reference@1.2.1: + dependencies: + '@types/estree': 1.0.8 + + is-reference@3.0.3: dependencies: '@types/estree': 1.0.7 @@ -22700,7 +25152,7 @@ snapshots: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.31 + '@types/node': 22.15.32 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.3(babel-plugin-macros@3.1.0) @@ -22720,7 +25172,7 @@ snapshots: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@22.15.31)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.31)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@22.15.32)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(typescript@5.8.3)): dependencies: '@babel/core': 7.26.10 '@jest/test-sequencer': 29.7.0 @@ -22745,8 +25197,8 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 22.15.31 - ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.31)(typescript@5.8.3) + '@types/node': 22.15.32 + ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -22775,7 +25227,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.31 + '@types/node': 22.15.32 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -22785,7 +25237,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 22.15.31 + '@types/node': 22.15.32 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -22824,7 +25276,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.15.31 + '@types/node': 22.15.32 jest-util: 29.7.0 jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): @@ -22852,7 +25304,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.31 + '@types/node': 22.15.32 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -22880,7 +25332,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.31 + '@types/node': 22.15.32 chalk: 4.1.2 cjs-module-lexer: 1.4.3 collect-v8-coverage: 1.0.2 @@ -22926,7 +25378,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.15.31 + '@types/node': 22.15.32 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -22945,7 +25397,7 @@ snapshots: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.31 + '@types/node': 22.15.32 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -22954,19 +25406,19 @@ snapshots: jest-worker@26.6.2: dependencies: - '@types/node': 22.15.31 + '@types/node': 22.15.32 merge-stream: 2.0.0 supports-color: 7.2.0 jest-worker@27.5.1: dependencies: - '@types/node': 22.15.31 + '@types/node': 22.15.32 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 22.15.31 + '@types/node': 22.15.32 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -23019,15 +25471,15 @@ snapshots: dependencies: '@panva/asn1.js': 1.0.0 - jotai-scope@0.7.2(jotai@2.11.0(@types/react@19.1.7)(react@19.1.0))(react@19.1.0): + jotai-scope@0.7.2(jotai@2.11.0(@types/react@19.1.7)(react@16.14.0))(react@16.14.0): dependencies: - jotai: 2.11.0(@types/react@19.1.7)(react@19.1.0) - react: 19.1.0 + jotai: 2.11.0(@types/react@19.1.7)(react@16.14.0) + react: 16.14.0 - jotai@2.11.0(@types/react@19.1.7)(react@19.1.0): + jotai@2.11.0(@types/react@19.1.7)(react@16.14.0): optionalDependencies: '@types/react': 19.1.7 - react: 19.1.0 + react: 16.14.0 jpeg-js@0.4.4: {} @@ -23039,6 +25491,8 @@ snapshots: jquery@3.7.1: {} + js-sha256@0.11.1: {} + js-tokens@4.0.0: {} js-tokens@9.0.1: {} @@ -23186,11 +25640,13 @@ snapshots: keyboardevents-areequal@0.2.2: {} + keyux@0.7.2: {} + keyv@4.5.4: dependencies: json-buffer: 3.0.1 - keyv@5.3.3: + keyv@5.3.4: dependencies: '@keyv/serialize': 1.0.3 @@ -23213,6 +25669,8 @@ snapshots: kolorist@1.8.0: {} + kysely@0.27.6: {} + langium@3.3.1: dependencies: chevrotain: 11.0.3 @@ -23260,10 +25718,60 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + lezer-elixir@1.1.2: + dependencies: + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + lie@3.3.0: dependencies: immediate: 3.0.6 + lightningcss-darwin-arm64@1.30.1: + optional: true + + lightningcss-darwin-x64@1.30.1: + optional: true + + lightningcss-freebsd-x64@1.30.1: + optional: true + + lightningcss-linux-arm-gnueabihf@1.30.1: + optional: true + + lightningcss-linux-arm64-gnu@1.30.1: + optional: true + + lightningcss-linux-arm64-musl@1.30.1: + optional: true + + lightningcss-linux-x64-gnu@1.30.1: + optional: true + + lightningcss-linux-x64-musl@1.30.1: + optional: true + + lightningcss-win32-arm64-msvc@1.30.1: + optional: true + + lightningcss-win32-x64-msvc@1.30.1: + optional: true + + lightningcss@1.30.1: + dependencies: + detect-libc: 2.0.4 + optionalDependencies: + lightningcss-darwin-arm64: 1.30.1 + lightningcss-darwin-x64: 1.30.1 + lightningcss-freebsd-x64: 1.30.1 + lightningcss-linux-arm-gnueabihf: 1.30.1 + lightningcss-linux-arm64-gnu: 1.30.1 + lightningcss-linux-arm64-musl: 1.30.1 + lightningcss-linux-x64-gnu: 1.30.1 + lightningcss-linux-x64-musl: 1.30.1 + lightningcss-win32-arm64-msvc: 1.30.1 + lightningcss-win32-x64-msvc: 1.30.1 + lilconfig@2.1.0: {} lilconfig@3.1.3: {} @@ -23334,6 +25842,8 @@ snapshots: type-fest: 4.26.0 userhome: 1.0.1 + locate-character@3.0.0: {} + locate-path@2.0.0: dependencies: p-locate: 2.0.0 @@ -23354,6 +25864,8 @@ snapshots: lodash-es@4.17.21: {} + lodash.castarray@4.4.0: {} + lodash.clonedeep@4.5.0: {} lodash.debounce@4.0.8: {} @@ -23362,6 +25874,8 @@ snapshots: lodash.isequal@4.5.0: {} + lodash.isplainobject@4.0.6: {} + lodash.memoize@4.1.2: {} lodash.merge@4.6.2: {} @@ -23407,12 +25921,16 @@ snapshots: loglevel@1.9.2: {} + long@5.3.2: {} + loose-envify@1.4.0: dependencies: js-tokens: 4.0.0 loupe@3.1.3: {} + loupe@3.1.4: {} + lowercase-keys@2.0.0: {} lru-cache@10.4.3: {} @@ -23427,6 +25945,8 @@ snapshots: lru-cache@7.18.3: {} + luxon@3.5.0: {} + lz-string@1.5.0: {} macos-alias@0.2.12: @@ -23544,27 +26064,6 @@ snapshots: mathml-tag-names@2.1.3: {} - mdast-util-from-markdown@1.3.1: - dependencies: - '@types/mdast': 3.0.15 - '@types/unist': 2.0.11 - decode-named-character-reference: 1.1.0 - mdast-util-to-string: 3.2.0 - micromark: 3.2.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-decode-string: 1.1.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - unist-util-stringify-position: 3.0.3 - uvu: 0.5.6 - transitivePeerDependencies: - - supports-color - - mdast-util-to-string@3.2.0: - dependencies: - '@types/mdast': 3.0.15 - mdn-data@2.0.14: {} mdn-data@2.0.28: {} @@ -23573,6 +26072,16 @@ snapshots: mdn-data@2.12.2: {} + mdsvex@0.12.6(svelte@5.34.1): + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 2.0.11 + prism-svelte: 0.4.7 + prismjs: 1.30.0 + svelte: 5.34.1 + unist-util-visit: 2.0.3 + vfile-message: 2.0.4 + media-typer@0.3.0: {} media-typer@1.1.0: {} @@ -23600,31 +26109,6 @@ snapshots: merge2@1.4.1: {} - mermaid@10.9.3: - dependencies: - '@braintree/sanitize-url': 6.0.2 - '@types/d3-scale': 4.0.9 - '@types/d3-scale-chromatic': 3.1.0 - cytoscape: 3.31.2 - cytoscape-cose-bilkent: 4.1.0(cytoscape@3.31.2) - d3: 7.9.0 - d3-sankey: 0.12.3 - dagre-d3-es: 7.0.10 - dayjs: 1.11.13 - dompurify: 3.2.5 - elkjs: 0.9.3 - katex: 0.16.22 - khroma: 2.1.0 - lodash-es: 4.17.21 - mdast-util-from-markdown: 1.3.1 - non-layered-tidy-tree-layout: 2.0.2 - stylis: 4.3.6 - ts-dedent: 2.2.0 - uuid: 9.0.1 - web-worker: 1.5.0 - transitivePeerDependencies: - - supports-color - mermaid@11.6.0: dependencies: '@braintree/sanitize-url': 7.1.1 @@ -23652,139 +26136,6 @@ snapshots: methods@1.1.2: {} - micromark-core-commonmark@1.1.0: - dependencies: - decode-named-character-reference: 1.1.0 - micromark-factory-destination: 1.1.0 - micromark-factory-label: 1.1.0 - micromark-factory-space: 1.1.0 - micromark-factory-title: 1.1.0 - micromark-factory-whitespace: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-chunked: 1.1.0 - micromark-util-classify-character: 1.1.0 - micromark-util-html-tag-name: 1.2.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-resolve-all: 1.1.0 - micromark-util-subtokenize: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - - micromark-factory-destination@1.1.0: - dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - - micromark-factory-label@1.1.0: - dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - - micromark-factory-space@1.1.0: - dependencies: - micromark-util-character: 1.2.0 - micromark-util-types: 1.1.0 - - micromark-factory-title@1.1.0: - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - - micromark-factory-whitespace@1.1.0: - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - - micromark-util-character@1.2.0: - dependencies: - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - - micromark-util-chunked@1.1.0: - dependencies: - micromark-util-symbol: 1.1.0 - - micromark-util-classify-character@1.1.0: - dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - - micromark-util-combine-extensions@1.1.0: - dependencies: - micromark-util-chunked: 1.1.0 - micromark-util-types: 1.1.0 - - micromark-util-decode-numeric-character-reference@1.1.0: - dependencies: - micromark-util-symbol: 1.1.0 - - micromark-util-decode-string@1.1.0: - dependencies: - decode-named-character-reference: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-symbol: 1.1.0 - - micromark-util-encode@1.1.0: {} - - micromark-util-html-tag-name@1.2.0: {} - - micromark-util-normalize-identifier@1.1.0: - dependencies: - micromark-util-symbol: 1.1.0 - - micromark-util-resolve-all@1.1.0: - dependencies: - micromark-util-types: 1.1.0 - - micromark-util-sanitize-uri@1.2.0: - dependencies: - micromark-util-character: 1.2.0 - micromark-util-encode: 1.1.0 - micromark-util-symbol: 1.1.0 - - micromark-util-subtokenize@1.1.0: - dependencies: - micromark-util-chunked: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - - micromark-util-symbol@1.1.0: {} - - micromark-util-types@1.1.0: {} - - micromark@3.2.0: - dependencies: - '@types/debug': 4.1.12 - debug: 4.4.1(supports-color@6.0.0) - decode-named-character-reference: 1.1.0 - micromark-core-commonmark: 1.1.0 - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-chunked: 1.1.0 - micromark-util-combine-extensions: 1.1.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-encode: 1.1.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-resolve-all: 1.1.0 - micromark-util-sanitize-uri: 1.2.0 - micromark-util-subtokenize: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - transitivePeerDependencies: - - supports-color - micromatch@4.0.8: dependencies: braces: 3.0.3 @@ -23816,7 +26167,7 @@ snapshots: mimic-response@3.1.0: {} - mind-elixir@4.6.0: {} + mind-elixir@4.6.1: {} mini-css-extract-plugin@2.4.7(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5)): dependencies: @@ -23827,19 +26178,19 @@ snapshots: minimatch@3.0.4: dependencies: - brace-expansion: 1.1.11 + brace-expansion: 1.1.12 minimatch@3.0.8: dependencies: - brace-expansion: 1.1.11 + brace-expansion: 1.1.12 minimatch@3.1.2: dependencies: - brace-expansion: 1.1.11 + brace-expansion: 1.1.12 minimatch@5.1.6: dependencies: - brace-expansion: 2.0.1 + brace-expansion: 2.0.2 minimatch@9.0.3: dependencies: @@ -23847,7 +26198,7 @@ snapshots: minimatch@9.0.5: dependencies: - brace-expansion: 2.0.1 + brace-expansion: 2.0.2 minimist@1.2.8: {} @@ -24005,12 +26356,12 @@ snapshots: ms@2.1.3: {} - msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3): + msw@2.7.5(@types/node@22.15.32)(typescript@5.8.3): 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.12(@types/node@22.15.31) + '@inquirer/confirm': 5.1.12(@types/node@22.15.32) '@mswjs/interceptors': 0.37.6 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 @@ -24170,8 +26521,6 @@ snapshots: node-releases@2.0.19: {} - non-layered-tidy-tree-layout@2.0.2: {} - nopt@5.0.0: dependencies: abbrev: 1.1.1 @@ -24229,13 +26578,13 @@ snapshots: nwsapi@2.2.20: {} - nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)): + nx@21.2.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)): dependencies: '@napi-rs/wasm-runtime': 0.2.4 '@yarnpkg/lockfile': 1.1.0 '@yarnpkg/parsers': 3.0.2 '@zkochan/js-yaml': 0.0.7 - axios: 1.9.0(debug@4.4.1) + axios: 1.10.0(debug@4.4.1) chalk: 4.1.2 cli-cursor: 3.1.0 cli-spinners: 2.6.1 @@ -24267,16 +26616,16 @@ snapshots: yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 21.1.3 - '@nx/nx-darwin-x64': 21.1.3 - '@nx/nx-freebsd-x64': 21.1.3 - '@nx/nx-linux-arm-gnueabihf': 21.1.3 - '@nx/nx-linux-arm64-gnu': 21.1.3 - '@nx/nx-linux-arm64-musl': 21.1.3 - '@nx/nx-linux-x64-gnu': 21.1.3 - '@nx/nx-linux-x64-musl': 21.1.3 - '@nx/nx-win32-arm64-msvc': 21.1.3 - '@nx/nx-win32-x64-msvc': 21.1.3 + '@nx/nx-darwin-arm64': 21.2.0 + '@nx/nx-darwin-x64': 21.2.0 + '@nx/nx-freebsd-x64': 21.2.0 + '@nx/nx-linux-arm-gnueabihf': 21.2.0 + '@nx/nx-linux-arm64-gnu': 21.2.0 + '@nx/nx-linux-arm64-musl': 21.2.0 + '@nx/nx-linux-x64-gnu': 21.2.0 + '@nx/nx-linux-x64-musl': 21.2.0 + '@nx/nx-win32-arm64-msvc': 21.2.0 + '@nx/nx-win32-x64-msvc': 21.2.0 '@swc-node/register': 1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3) '@swc/core': 1.11.29(@swc/helpers@0.5.17) transitivePeerDependencies: @@ -24366,7 +26715,7 @@ snapshots: is-docker: 2.2.1 is-wsl: 2.2.0 - openai@5.3.0(ws@8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@3.24.4): + openai@5.5.1(ws@8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@3.24.4): optionalDependencies: ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) zod: 3.24.4 @@ -24879,6 +27228,14 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.5.3 + postcss-load-config@3.1.4(postcss@8.5.3)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(typescript@5.8.3)): + dependencies: + lilconfig: 2.1.0 + yaml: 1.10.2 + optionalDependencies: + postcss: 8.5.3 + ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(typescript@5.8.3) + postcss-loader@4.3.0(postcss@8.5.3)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5)): dependencies: cosmiconfig: 7.1.0 @@ -25252,6 +27609,15 @@ snapshots: dependencies: postcss: 8.5.3 + postcss-scss@4.0.9(postcss@8.5.3): + dependencies: + postcss: 8.5.3 + + postcss-selector-parser@6.0.10: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + postcss-selector-parser@6.1.2: dependencies: cssesc: 3.0.0 @@ -25311,9 +27677,7 @@ snapshots: dependencies: commander: 9.5.0 - preact@10.12.1: {} - - preact@10.26.5: {} + preact@10.26.9: {} prebuild-install@7.1.3: dependencies: @@ -25344,6 +27708,10 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 + prism-svelte@0.4.7: {} + + prismjs@1.30.0: {} + proc-log@2.0.1: {} proc-log@3.0.0: {} @@ -25369,6 +27737,21 @@ snapshots: object-assign: 4.1.1 react-is: 16.13.1 + protobufjs@7.5.0: + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/base64': 1.1.2 + '@protobufjs/codegen': 2.0.4 + '@protobufjs/eventemitter': 1.1.0 + '@protobufjs/fetch': 1.1.0 + '@protobufjs/float': 1.0.2 + '@protobufjs/inquire': 1.1.0 + '@protobufjs/path': 1.1.2 + '@protobufjs/pool': 1.1.0 + '@protobufjs/utf8': 1.1.0 + '@types/node': 22.15.32 + long: 5.3.2 + proxy-addr@2.0.7: dependencies: forwarded: 0.2.0 @@ -25496,9 +27879,9 @@ snapshots: react: 16.14.0 scheduler: 0.19.1 - react-dom@19.1.0(react@19.1.0): + react-dom@19.1.0(react@16.14.0): dependencies: - react: 19.1.0 + react: 16.14.0 scheduler: 0.26.0 react-interactive@0.8.3(react@16.14.0): @@ -25516,22 +27899,22 @@ snapshots: react-refresh@0.17.0: {} - react-remove-scroll-bar@2.3.8(@types/react@19.1.7)(react@19.1.0): + react-remove-scroll-bar@2.3.8(@types/react@19.1.7)(react@16.14.0): dependencies: - react: 19.1.0 - react-style-singleton: 2.2.3(@types/react@19.1.7)(react@19.1.0) + react: 16.14.0 + react-style-singleton: 2.2.3(@types/react@19.1.7)(react@16.14.0) tslib: 2.8.1 optionalDependencies: '@types/react': 19.1.7 - react-remove-scroll@2.6.3(@types/react@19.1.7)(react@19.1.0): + react-remove-scroll@2.6.3(@types/react@19.1.7)(react@16.14.0): dependencies: - react: 19.1.0 - react-remove-scroll-bar: 2.3.8(@types/react@19.1.7)(react@19.1.0) - react-style-singleton: 2.2.3(@types/react@19.1.7)(react@19.1.0) + react: 16.14.0 + react-remove-scroll-bar: 2.3.8(@types/react@19.1.7)(react@16.14.0) + react-style-singleton: 2.2.3(@types/react@19.1.7)(react@16.14.0) tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@19.1.7)(react@19.1.0) - use-sidecar: 1.1.3(@types/react@19.1.7)(react@19.1.0) + use-callback-ref: 1.3.3(@types/react@19.1.7)(react@16.14.0) + use-sidecar: 1.1.3(@types/react@19.1.7)(react@16.14.0) optionalDependencies: '@types/react': 19.1.7 @@ -25556,10 +27939,10 @@ snapshots: react: 16.14.0 warning: 4.0.3 - react-style-singleton@2.2.3(@types/react@19.1.7)(react@19.1.0): + react-style-singleton@2.2.3(@types/react@19.1.7)(react@16.14.0): dependencies: get-nonce: 1.0.1 - react: 19.1.0 + react: 16.14.0 tslib: 2.8.1 optionalDependencies: '@types/react': 19.1.7 @@ -25570,8 +27953,6 @@ snapshots: object-assign: 4.1.1 prop-types: 15.8.1 - react@19.1.0: {} - read-binary-file-arch@1.0.6: dependencies: debug: 4.4.1(supports-color@6.0.0) @@ -25688,8 +28069,7 @@ snapshots: dependencies: jsesc: 3.0.2 - repeat-string@1.6.1: - optional: true + repeat-string@1.6.1: {} require-directory@2.1.1: {} @@ -25779,10 +28159,10 @@ snapshots: robust-predicates@3.0.2: {} - rollup-plugin-stats@1.3.9(rollup@4.40.0)(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)): + rollup-plugin-stats@1.3.9(rollup@4.40.0)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)): optionalDependencies: rollup: 4.40.0 - vite: 6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) rollup-plugin-styles@4.0.0(rollup@4.40.0): dependencies: @@ -25811,12 +28191,12 @@ snapshots: '@rollup/pluginutils': 5.1.4(rollup@4.40.0) rollup: 4.40.0 - rollup-plugin-webpack-stats@2.0.7(rollup@4.40.0)(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)): + rollup-plugin-webpack-stats@2.0.7(rollup@4.40.0)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)): dependencies: - rollup-plugin-stats: 1.3.9(rollup@4.40.0)(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)) + rollup-plugin-stats: 1.3.9(rollup@4.40.0)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)) optionalDependencies: rollup: 4.40.0 - vite: 6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) rollup@4.40.0: dependencies: @@ -25844,13 +28224,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.40.0 fsevents: 2.3.3 - roughjs@4.6.4: - dependencies: - hachure-fill: 0.5.2 - path-data-parser: 0.1.0 - points-on-curve: 0.2.0 - points-on-path: 0.2.1 - roughjs@4.6.6: dependencies: hachure-fill: 0.5.2 @@ -25996,7 +28369,7 @@ snapshots: '@bufbuild/protobuf': 2.5.2 buffer-builder: 0.2.0 colorjs.io: 0.5.2 - immutable: 5.1.2 + immutable: 5.1.3 rxjs: 7.8.2 supports-color: 8.1.1 sync-child-process: 1.0.2 @@ -26033,7 +28406,7 @@ snapshots: sass@1.87.0: dependencies: chokidar: 4.0.3 - immutable: 5.1.2 + immutable: 5.1.3 source-map-js: 1.2.1 optionalDependencies: '@parcel/watcher': 2.5.1 @@ -26188,6 +28561,8 @@ snapshots: set-blocking@2.0.0: {} + set-cookie-parser@2.7.1: {} + set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 @@ -26314,6 +28689,24 @@ snapshots: smob@1.5.0: {} + socket.io-client@4.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5): + dependencies: + '@socket.io/component-emitter': 3.1.2 + debug: 4.3.7 + engine.io-client: 6.5.4(bufferutil@4.0.9)(utf-8-validate@6.0.5) + socket.io-parser: 4.2.4 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + socket.io-parser@4.2.4: + dependencies: + '@socket.io/component-emitter': 3.1.2 + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + sockjs@0.3.24: dependencies: faye-websocket: 0.11.4 @@ -26423,6 +28816,8 @@ snapshots: transitivePeerDependencies: - supports-color + specificity@0.4.1: {} + split-on-first@1.1.0: {} split.js@1.6.5: {} @@ -26433,6 +28828,11 @@ snapshots: sprintf-js@1.1.3: {} + sqlite-wasm-kysely@0.3.0(kysely@0.27.6): + dependencies: + '@sqlite.org/sqlite-wasm': 3.48.0-build4 + kysely: 0.27.6 + sqlite3@5.1.7: dependencies: bindings: 1.5.0 @@ -26822,6 +29222,46 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} + svelte-check@4.2.1(picomatch@4.0.2)(svelte@5.34.1)(typescript@5.8.3): + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + chokidar: 4.0.3 + fdir: 6.4.6(picomatch@4.0.2) + picocolors: 1.1.1 + sade: 1.8.1 + svelte: 5.34.1 + typescript: 5.8.3 + transitivePeerDependencies: + - picomatch + + svelte-eslint-parser@1.2.0(svelte@5.34.1): + dependencies: + eslint-scope: 8.3.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 + postcss: 8.5.3 + postcss-scss: 4.0.9(postcss@8.5.3) + postcss-selector-parser: 7.1.0 + optionalDependencies: + svelte: 5.34.1 + + svelte@5.34.1: + dependencies: + '@ampproject/remapping': 2.3.0 + '@jridgewell/sourcemap-codec': 1.5.0 + '@sveltejs/acorn-typescript': 1.0.5(acorn@8.14.1) + '@types/estree': 1.0.7 + acorn: 8.14.1 + aria-query: 5.3.2 + axobject-query: 4.1.0 + clsx: 2.1.1 + esm-env: 1.2.2 + esrap: 1.4.9 + is-reference: 3.0.3 + locate-character: 3.0.0 + magic-string: 0.30.17 + zimmerframe: 1.1.2 + svg-pan-zoom@3.6.2: {} svg-tags@1.0.0: {} @@ -26890,6 +29330,8 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 + tailwindcss@4.1.10: {} + tapable@2.2.1: {} tape@4.17.0: @@ -27003,7 +29445,7 @@ snapshots: terser@5.39.0: dependencies: '@jridgewell/source-map': 0.3.6 - acorn: 8.14.1 + acorn: 8.15.0 commander: 2.20.3 source-map-support: 0.5.21 @@ -27065,6 +29507,8 @@ snapshots: tinypool@1.1.0: {} + tinypool@1.1.1: {} + tinyrainbow@2.0.0: {} tinyspy@4.0.3: {} @@ -27145,10 +29589,6 @@ snapshots: dependencies: utf8-byte-length: 1.0.5 - ts-api-utils@1.4.3(typescript@5.8.3): - dependencies: - typescript: 5.8.3 - ts-api-utils@2.1.0(typescript@5.8.3): dependencies: typescript: 5.8.3 @@ -27165,14 +29605,14 @@ snapshots: typescript: 5.0.4 webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5) - ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.31)(typescript@5.0.4): + ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(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.15.31 + '@types/node': 22.15.32 acorn: 8.14.1 acorn-walk: 8.3.4 arg: 4.1.3 @@ -27185,14 +29625,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.15.31)(typescript@5.8.3): + ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.32)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.15.31 + '@types/node': 22.15.32 acorn: 8.14.1 acorn-walk: 8.3.4 arg: 4.1.3 @@ -27220,13 +29660,20 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + tsx@4.20.3: + dependencies: + esbuild: 0.25.5 + get-tsconfig: 4.10.1 + optionalDependencies: + fsevents: 2.3.3 + tunnel-agent@0.6.0: dependencies: safe-buffer: 5.2.1 - tunnel-rat@0.1.2(@types/react@19.1.7)(react@19.1.0): + tunnel-rat@0.1.2(@types/react@19.1.7)(react@16.14.0): dependencies: - zustand: 4.5.6(@types/react@19.1.7)(react@19.1.0) + zustand: 4.5.6(@types/react@19.1.7)(react@16.14.0) transitivePeerDependencies: - '@types/react' - immer @@ -27326,9 +29773,27 @@ snapshots: transitivePeerDependencies: - supports-color - typescript@5.0.4: {} + typescript-eslint@8.34.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.34.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.34.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + eslint: 9.28.0(jiti@2.4.2) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color - typescript@5.7.3: {} + typescript-eslint@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) + eslint: 9.29.0(jiti@2.4.2) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + typescript@5.0.4: {} typescript@5.8.2: {} @@ -27404,10 +29869,23 @@ snapshots: dependencies: imurmurhash: 0.1.4 - unist-util-stringify-position@3.0.3: + unist-util-is@4.1.0: {} + + unist-util-stringify-position@2.0.3: dependencies: '@types/unist': 2.0.11 + unist-util-visit-parents@3.1.1: + dependencies: + '@types/unist': 2.0.11 + unist-util-is: 4.1.0 + + unist-util-visit@2.0.3: + dependencies: + '@types/unist': 2.0.11 + unist-util-is: 4.1.0 + unist-util-visit-parents: 3.1.1 + universalify@0.1.2: {} universalify@0.2.0: {} @@ -27419,6 +29897,12 @@ snapshots: unpipe@1.0.0: {} + unplugin@2.3.5: + dependencies: + acorn: 8.14.1 + picomatch: 4.0.2 + webpack-virtual-modules: 0.6.2 + unused-filename@4.0.1: dependencies: escape-string-regexp: 5.0.0 @@ -27445,24 +29929,24 @@ snapshots: urlpattern-polyfill@10.0.0: {} - use-callback-ref@1.3.3(@types/react@19.1.7)(react@19.1.0): + use-callback-ref@1.3.3(@types/react@19.1.7)(react@16.14.0): dependencies: - react: 19.1.0 + react: 16.14.0 tslib: 2.8.1 optionalDependencies: '@types/react': 19.1.7 - use-sidecar@1.1.3(@types/react@19.1.7)(react@19.1.0): + use-sidecar@1.1.3(@types/react@19.1.7)(react@16.14.0): dependencies: detect-node-es: 1.1.0 - react: 19.1.0 + react: 16.14.0 tslib: 2.8.1 optionalDependencies: '@types/react': 19.1.7 - use-sync-external-store@1.5.0(react@19.1.0): + use-sync-external-store@1.5.0(react@16.14.0): dependencies: - react: 19.1.0 + react: 16.14.0 userhome@1.0.1: {} @@ -27486,19 +29970,14 @@ snapshots: utils-merge@1.0.1: {} + uuid@10.0.0: {} + uuid@11.1.0: {} uuid@8.3.2: {} uuid@9.0.1: {} - uvu@0.5.6: - dependencies: - dequal: 2.0.3 - diff: 5.2.0 - kleur: 4.1.5 - sade: 1.8.1 - v8-compile-cache-lib@3.0.1: {} v8-to-istanbul@9.3.0: @@ -27527,13 +30006,18 @@ snapshots: vary@1.1.2: {} - vite-node@3.2.0(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0): + vfile-message@2.0.4: + dependencies: + '@types/unist': 2.0.11 + unist-util-stringify-position: 2.0.3 + + vite-node@3.2.0(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0): 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: 6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - jiti @@ -27548,13 +30032,13 @@ snapshots: - tsx - yaml - vite-node@3.2.3(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0): + vite-node@3.2.4(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0): 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: 6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - jiti @@ -27569,9 +30053,9 @@ snapshots: - tsx - yaml - vite-plugin-dts@4.5.4(@types/node@22.15.31)(rollup@4.40.0)(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)): + vite-plugin-dts@4.5.4(@types/node@22.15.32)(rollup@4.40.0)(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)): dependencies: - '@microsoft/api-extractor': 7.52.8(@types/node@22.15.31) + '@microsoft/api-extractor': 7.52.8(@types/node@22.15.32) '@rollup/pluginutils': 5.1.4(rollup@4.40.0) '@volar/typescript': 2.4.13 '@vue/language-core': 2.2.0(typescript@5.8.3) @@ -27582,53 +30066,58 @@ snapshots: magic-string: 0.30.17 typescript: 5.8.3 optionalDependencies: - vite: 6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-static-copy@3.0.0(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)): + vite-plugin-static-copy@3.0.2(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)): dependencies: chokidar: 3.6.0 fs-extra: 11.3.0 p-map: 7.0.3 picocolors: 1.1.1 - tinyglobby: 0.2.13 - vite: 6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) + tinyglobby: 0.2.14 + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) - vite-plugin-svgo@2.0.0(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)): + vite-plugin-svgo@2.0.0(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)): dependencies: svgo: 3.3.2 typescript: 5.8.3 - vite: 6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) - vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0): + vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0): dependencies: esbuild: 0.25.5 - fdir: 6.4.4(picomatch@4.0.2) + fdir: 6.4.6(picomatch@4.0.2) picomatch: 4.0.2 postcss: 8.5.3 rollup: 4.40.0 - tinyglobby: 0.2.13 + tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 22.15.31 + '@types/node': 22.15.32 fsevents: 2.3.3 jiti: 2.4.2 less: 4.1.3 + lightningcss: 1.30.1 sass: 1.87.0 sass-embedded: 1.87.0 stylus: 0.64.0 sugarss: 4.0.1(postcss@8.5.3) terser: 5.39.0 - tsx: 4.19.4 + tsx: 4.20.3 yaml: 2.8.0 - vitest@3.2.0(@types/debug@4.1.12)(@types/node@22.15.31)(@vitest/browser@3.2.0)(@vitest/ui@3.2.0)(happy-dom@18.0.1)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0): + vitefu@1.0.6(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)): + optionalDependencies: + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) + + vitest@3.2.0(@types/debug@4.1.12)(@types/node@22.15.32)(@vitest/browser@3.2.0)(@vitest/ui@3.2.0)(happy-dom@18.0.1)(jiti@2.4.2)(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.15.32)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.0 - '@vitest/mocker': 3.2.0(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)) + '@vitest/mocker': 3.2.0(msw@2.7.5(@types/node@22.15.32)(typescript@5.8.3))(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/pretty-format': 3.2.0 '@vitest/runner': 3.2.0 '@vitest/snapshot': 3.2.0 @@ -27646,13 +30135,13 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.0 tinyrainbow: 2.0.0 - vite: 6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) - vite-node: 3.2.0(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) + vite-node: 3.2.0(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 22.15.31 - '@vitest/browser': 3.2.0(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(playwright@1.53.0)(utf-8-validate@6.0.5)(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vitest@3.2.0)(webdriverio@9.15.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@types/node': 22.15.32 + '@vitest/browser': 3.2.0(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.15.32)(typescript@5.8.3))(playwright@1.53.0)(utf-8-validate@6.0.5)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.0)(webdriverio@9.15.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/ui': 3.2.0(vitest@3.2.0) happy-dom: 18.0.1 jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -27670,16 +30159,16 @@ snapshots: - tsx - yaml - vitest@3.2.3(@types/debug@4.1.12)(@types/node@22.15.31)(@vitest/ui@3.2.3)(happy-dom@18.0.1)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.15.32)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.15.32)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0): dependencies: '@types/chai': 5.2.2 - '@vitest/expect': 3.2.3 - '@vitest/mocker': 3.2.3(msw@2.7.5(@types/node@22.15.31)(typescript@5.8.3))(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)) - '@vitest/pretty-format': 3.2.3 - '@vitest/runner': 3.2.3 - '@vitest/snapshot': 3.2.3 - '@vitest/spy': 3.2.3 - '@vitest/utils': 3.2.3 + '@vitest/expect': 3.2.4 + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@22.15.32)(typescript@5.8.3))(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0)) + '@vitest/pretty-format': 3.2.4 + '@vitest/runner': 3.2.4 + '@vitest/snapshot': 3.2.4 + '@vitest/spy': 3.2.4 + '@vitest/utils': 3.2.4 chai: 5.2.0 debug: 4.4.1(supports-color@6.0.0) expect-type: 1.2.1 @@ -27690,15 +30179,15 @@ snapshots: tinybench: 2.9.0 tinyexec: 0.3.2 tinyglobby: 0.2.14 - tinypool: 1.1.0 + tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 6.3.5(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) - vite-node: 3.2.3(@types/node@22.15.31)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) + vite-node: 3.2.4(@types/node@22.15.32)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 22.15.31 - '@vitest/ui': 3.2.3(vitest@3.2.3) + '@types/node': 22.15.32 + '@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) transitivePeerDependencies: @@ -27779,8 +30268,6 @@ snapshots: web-streams-polyfill@3.3.3: {} - web-worker@1.5.0: {} - webdriver@9.15.0(bufferutil@4.0.9)(utf-8-validate@6.0.5): dependencies: '@types/node': 20.17.32 @@ -27901,10 +30388,12 @@ snapshots: webpack-sources@3.2.3: {} + webpack-virtual-modules@0.6.2: {} + webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5): dependencies: '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 '@types/json-schema': 7.0.15 '@webassemblyjs/ast': 1.14.1 '@webassemblyjs/wasm-edit': 1.14.1 @@ -28101,6 +30590,11 @@ snapshots: bufferutil: 4.0.9 utf-8-validate: 6.0.5 + ws@8.17.1(bufferutil@4.0.9)(utf-8-validate@6.0.5): + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 6.0.5 + ws@8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5): optionalDependencies: bufferutil: 4.0.9 @@ -28128,6 +30622,8 @@ snapshots: xmlchars@2.2.0: {} + xmlhttprequest-ssl@2.0.0: {} + xtend@4.0.2: {} y18n@4.0.3: {} @@ -28237,6 +30733,8 @@ snapshots: optionalDependencies: commander: 9.5.0 + zimmerframe@1.1.2: {} + zip-stream@6.0.1: dependencies: archiver-utils: 5.0.2 @@ -28245,9 +30743,9 @@ snapshots: zod@3.24.4: {} - zustand@4.5.6(@types/react@19.1.7)(react@19.1.0): + zustand@4.5.6(@types/react@19.1.7)(react@16.14.0): dependencies: - use-sync-external-store: 1.5.0(react@19.1.0) + use-sync-external-store: 1.5.0(react@16.14.0) optionalDependencies: '@types/react': 19.1.7 - react: 19.1.0 + react: 16.14.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index f7e733b59..2c068ac8f 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -2,22 +2,5 @@ packages: - packages/* - apps/* -ignoredBuiltDependencies: -- sqlite3 - -onlyBuiltDependencies: -- '@parcel/watcher' -- '@scarf/scarf' -- bufferutil -- core-js-pure -- esbuild -- nx -- utf-8-validate -- better-sqlite3 -- electron -- electron-winstaller -- fs-xattr -- macos-alias - shamefullyHoist: true nodeLinker: isolated diff --git a/renovate.json b/renovate.json index bf0119855..0362bd18c 100644 --- a/renovate.json +++ b/renovate.json @@ -6,10 +6,26 @@ "prHourlyLimit": 0, "prConcurrentLimit": 0, "branchConcurrentLimit": 0, + "ignorePaths": [ + "**/node_modules/**", + "apps/edit-docs/demo/**", + "apps/server/src/assets/doc_notes/**", + "docs/**" + ], + "html": { + "enabled": false + }, + "bun": { + "enabled": false + }, "packageRules": [ { "matchPackageNames": "@fsegurai/codemirror-theme-**", "groupName": "codemirror themes" + }, + { + "matchPackageNames": "**-config-ckeditor5", + "groupName": "ckeditor5 config packages" } ] } diff --git a/tsconfig.json b/tsconfig.json index db83e7978..743d3d834 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -59,6 +59,9 @@ }, { "path": "./packages/share-theme" + }, + { + "path": "./apps/website" } ] }