diff --git a/.github/workflows/i18n.yml b/.github/workflows/i18n.yml new file mode 100644 index 0000000000..a07eeea8d3 --- /dev/null +++ b/.github/workflows/i18n.yml @@ -0,0 +1,30 @@ +name: Internationalization +on: + push: + branches: + - "weblate:*" + workflow_dispatch: + pull_request: + paths: + - "apps/client/src/translations/**" + - ".github/workflows/i18n.yml" + +permissions: + contents: read + +jobs: + i18n-check: + name: Check i18n translations + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: pnpm/action-setup@v4 + - name: Set up node & dependencies + uses: actions/setup-node@v6 + with: + node-version: 24 + cache: 'pnpm' + - name: Install dependencies + run: pnpm install --frozen-lockfile + - name: Check translations + run: pnpm tsx scripts/translation/check-translation-coverage.ts diff --git a/.github/workflows/web-clipper.yml b/.github/workflows/web-clipper.yml new file mode 100644 index 0000000000..e2fb90326b --- /dev/null +++ b/.github/workflows/web-clipper.yml @@ -0,0 +1,69 @@ +name: Deploy web clipper extension + +on: + push: + branches: + - main + paths: + - "apps/web-clipper/**" + tags: + - "web-clipper-v*" + + pull_request: + paths: + - "apps/web-clipper/**" + +permissions: + contents: write + discussions: write + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + runs-on: ubuntu-latest + name: Build web clipper extension + + permissions: + contents: read + deployments: write + + steps: + - uses: actions/checkout@v6 + - uses: pnpm/action-setup@v4 + - name: Set up node & dependencies + uses: actions/setup-node@v6 + with: + node-version: 24 + cache: "pnpm" + + - name: Install dependencies + run: pnpm install --filter web-clipper --frozen-lockfile --ignore-scripts + + - name: Build the web clipper extension + run: | + pnpm --filter web-clipper zip + pnpm --filter web-clipper zip:firefox + + - name: Upload build artifacts + uses: actions/upload-artifact@v6 + if: ${{ !startsWith(github.ref, 'refs/tags/web-clipper-v') }} + with: + name: web-clipper-extension + path: apps/web-clipper/.output/*.zip + include-hidden-files: true + if-no-files-found: error + compression-level: 0 + + - name: Release web clipper extension + uses: softprops/action-gh-release@v2.5.0 + if: ${{ startsWith(github.ref, 'refs/tags/web-clipper-v') }} + with: + draft: false + fail_on_unmatched_files: true + files: apps/web-clipper/.output/*.zip + discussion_category_name: Releases + make_latest: false + token: ${{ secrets.RELEASE_PAT }} diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml index cb141375c0..ad04a68c39 100644 --- a/.github/workflows/website.yml +++ b/.github/workflows/website.yml @@ -34,7 +34,7 @@ jobs: cache: "pnpm" - name: Install dependencies - run: pnpm install --filter website --frozen-lockfile + run: pnpm install --filter website --frozen-lockfile --ignore-scripts - name: Build the website run: pnpm website:build diff --git a/.nvmrc b/.nvmrc index 1e4f3920b5..cf2efde811 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -24.12.0 \ No newline at end of file +24.13.0 \ No newline at end of file diff --git a/README.md b/README.md index 34664689bb..0fc8e562b3 100644 --- a/README.md +++ b/README.md @@ -165,6 +165,17 @@ pnpm install pnpm edit-docs:edit-docs ``` +Alternatively, if you have Nix installed: +```shell +# Run directly +nix run .#edit-docs + +# Or install to your profile +nix profile install .#edit-docs +trilium-edit-docs +``` + + ### Building the Executable Download the repository, install dependencies using `pnpm` and then build the desktop app for Windows: ```shell diff --git a/apps/build-docs/package.json b/apps/build-docs/package.json index 4dec167b03..8be2d93ce3 100644 --- a/apps/build-docs/package.json +++ b/apps/build-docs/package.json @@ -9,13 +9,13 @@ "keywords": [], "author": "Elian Doran ", "license": "AGPL-3.0-only", - "packageManager": "pnpm@10.28.0", + "packageManager": "pnpm@10.28.2", "devDependencies": { - "@redocly/cli": "2.14.4", + "@redocly/cli": "2.14.9", "archiver": "7.0.1", "fs-extra": "11.3.3", - "react": "19.2.3", - "react-dom": "19.2.3", + "react": "19.2.4", + "react-dom": "19.2.4", "typedoc": "0.28.16", "typedoc-plugin-missing-exports": "4.1.2" } diff --git a/apps/client/src/index.html b/apps/client/index.html similarity index 95% rename from apps/client/src/index.html rename to apps/client/index.html index b1541e784b..e1db353327 100644 --- a/apps/client/src/index.html +++ b/apps/client/index.html @@ -19,7 +19,7 @@ - + + + \ No newline at end of file diff --git a/apps/web-clipper/entrypoints/offscreen/index.ts b/apps/web-clipper/entrypoints/offscreen/index.ts new file mode 100644 index 0000000000..6c63f5f4cd --- /dev/null +++ b/apps/web-clipper/entrypoints/offscreen/index.ts @@ -0,0 +1,24 @@ +browser.runtime.onMessage.addListener((message, _sender, sendResponse) => { + if (message.type === 'CROP_IMAGE') { + cropImage(message.cropRect, message.dataUrl).then(sendResponse); + return true; // Keep channel open for async response + } +}); + +function cropImage(newArea: { x: number, y: number, width: number, height: number }, dataUrl: string) { + return new Promise((resolve) => { + const img = new Image(); + img.onload = () => { + const canvas = document.createElement('canvas'); + canvas.width = newArea.width; + canvas.height = newArea.height; + const ctx = canvas.getContext('2d'); + if (ctx) { + ctx.drawImage(img, newArea.x, newArea.y, newArea.width, newArea.height, + 0, 0, newArea.width, newArea.height); + } + resolve(canvas.toDataURL()); + }; + img.src = dataUrl; + }); +} diff --git a/apps/web-clipper/options/options.html b/apps/web-clipper/entrypoints/options/index.html similarity index 94% rename from apps/web-clipper/options/options.html rename to apps/web-clipper/entrypoints/options/index.html index 2363567a5e..abe09d4458 100644 --- a/apps/web-clipper/options/options.html +++ b/apps/web-clipper/entrypoints/options/index.html @@ -54,9 +54,7 @@

Note that the entered password is not stored anywhere, it will be only used to retrieve an authorization token from the server instance which will be then used to send the clipped notes.

- - - + diff --git a/apps/web-clipper/options/options.js b/apps/web-clipper/entrypoints/options/index.ts similarity index 76% rename from apps/web-clipper/options/options.js rename to apps/web-clipper/entrypoints/options/index.ts index 03c05822ca..b4050c977b 100644 --- a/apps/web-clipper/options/options.js +++ b/apps/web-clipper/entrypoints/options/index.ts @@ -1,3 +1,5 @@ +import $ from "cash-dom"; + const $triliumServerUrl = $("#trilium-server-url"); const $triliumServerPassword = $("#trilium-server-password"); @@ -17,8 +19,8 @@ function showSuccess(message) { async function saveTriliumServerSetup(e) { e.preventDefault(); - if ($triliumServerUrl.val().trim().length === 0 - || $triliumServerPassword.val().trim().length === 0) { + if (($triliumServerUrl.val() as string | undefined)?.trim().length === 0 + || ($triliumServerPassword.val() as string | undefined)?.trim().length === 0) { showError("One or more mandatory inputs are missing. Please fill in server URL and password."); return; @@ -27,7 +29,7 @@ async function saveTriliumServerSetup(e) { let resp; try { - resp = await fetch($triliumServerUrl.val() + '/api/login/token', { + resp = await fetch(`${$triliumServerUrl.val()}/api/login/token`, { method: "POST", headers: { 'Accept': 'application/json', @@ -39,7 +41,8 @@ async function saveTriliumServerSetup(e) { }); } catch (e) { - showError("Unknown error: " + e.message); + const message = e instanceof Error ? e.message : String(e); + showError(`Unknown error: ${message}`); return; } @@ -47,7 +50,7 @@ async function saveTriliumServerSetup(e) { showError("Incorrect credentials."); } else if (resp.status !== 200) { - showError("Unrecognised response with status code " + resp.status); + showError(`Unrecognised response with status code ${ resp.status}`); } else { const json = await resp.json(); @@ -89,8 +92,8 @@ const $triilumDesktopSetupForm = $("#trilium-desktop-setup-form"); $triilumDesktopSetupForm.on("submit", e => { e.preventDefault(); - const port = $triliumDesktopPort.val().trim(); - const portNum = parseInt(port); + const port = ($triliumDesktopPort.val() as string | undefined ?? "").trim(); + const portNum = parseInt(port, 10); if (port && (isNaN(portNum) || portNum <= 0 || portNum >= 65536)) { showError(`Please enter valid port number.`); @@ -105,8 +108,8 @@ $triilumDesktopSetupForm.on("submit", e => { }); async function restoreOptions() { - const {triliumServerUrl} = await browser.storage.sync.get("triliumServerUrl"); - const {authToken} = await browser.storage.sync.get("authToken"); + const {triliumServerUrl} = await browser.storage.sync.get<{ triliumServerUrl: string }>("triliumServerUrl"); + const {authToken} = await browser.storage.sync.get<{ authToken: string }>("authToken"); $errorMessage.hide(); $successMessage.hide(); @@ -127,8 +130,7 @@ async function restoreOptions() { $triliumServerConfiguredDiv.hide(); } - const {triliumDesktopPort} = await browser.storage.sync.get("triliumDesktopPort"); - + const {triliumDesktopPort} = await browser.storage.sync.get<{ triliumDesktopPort: string }>("triliumDesktopPort"); $triliumDesktopPort.val(triliumDesktopPort); } diff --git a/apps/web-clipper/popup/popup.html b/apps/web-clipper/entrypoints/popup/index.html similarity index 85% rename from apps/web-clipper/popup/popup.html rename to apps/web-clipper/entrypoints/popup/index.html index be415744ca..207d6433cb 100644 --- a/apps/web-clipper/popup/popup.html +++ b/apps/web-clipper/entrypoints/popup/index.html @@ -20,8 +20,8 @@
- - + + @@ -46,11 +46,7 @@
Status: unknown
- - - - - + diff --git a/apps/web-clipper/popup/popup.css b/apps/web-clipper/entrypoints/popup/popup.css similarity index 100% rename from apps/web-clipper/popup/popup.css rename to apps/web-clipper/entrypoints/popup/popup.css diff --git a/apps/web-clipper/popup/popup.js b/apps/web-clipper/entrypoints/popup/popup.ts similarity index 88% rename from apps/web-clipper/popup/popup.js rename to apps/web-clipper/entrypoints/popup/popup.ts index adac36126e..c68e7e6af9 100644 --- a/apps/web-clipper/popup/popup.js +++ b/apps/web-clipper/entrypoints/popup/popup.ts @@ -1,5 +1,10 @@ -async function sendMessage(message) { +import $ from "cash-dom"; + +import { createLink } from "@/utils"; + +async function sendMessage(message: object) { try { + console.log("Sending message", message); return await browser.runtime.sendMessage(message); } catch (e) { @@ -37,7 +42,7 @@ const $saveLinkWithNoteWrapper = $("#save-link-with-note-wrapper"); const $textNote = $("#save-link-with-note-textarea"); const $keepTitle = $("#keep-title-checkbox"); -$textNote.on('keypress', function (event) { +$textNote.on('keypress', (event) => { if ((event.which === 10 || event.which === 13) && event.ctrlKey) { saveLinkWithNote(); return false; @@ -49,7 +54,7 @@ $textNote.on('keypress', function (event) { $("#save-link-with-note-button").on("click", () => { $saveLinkWithNoteWrapper.show(); - $textNote[0].focus(); + $textNote[0]?.focus(); }); $("#cancel-button").on("click", () => { @@ -60,14 +65,14 @@ $("#cancel-button").on("click", () => { }); async function saveLinkWithNote() { - const textNoteVal = $textNote.val().trim(); + const textNoteVal = ($textNote.val() as string | undefined ?? "").trim(); let title, content; if (!textNoteVal) { title = ''; content = ''; } - else if ($keepTitle[0].checked){ + else if (($keepTitle[0] as HTMLInputElement | undefined)?.checked){ title = ''; content = textNoteVal; } @@ -98,7 +103,7 @@ async function saveLinkWithNote() { $("#save-button").on("click", saveLinkWithNote); $("#show-help-button").on("click", () => { - window.open("https://github.com/zadam/trilium/wiki/Web-clipper", '_blank'); + window.open("https://docs.triliumnotes.org/user-guide/setup/web-clipper", '_blank'); }); function escapeHtml(string) { @@ -108,7 +113,7 @@ function escapeHtml(string) { const htmlWithPars = pre.innerHTML.replace(/\n/g, "

"); - return '

' + htmlWithPars + '

'; + return `

${htmlWithPars}

`; } const $connectionStatus = $("#connection-status"); @@ -157,14 +162,13 @@ browser.runtime.onMessage.addListener(request => { const {searchNote} = request; if (searchNote.status === 'found'){ const a = createLink({name: 'openNoteInTrilium', noteId: searchNote.noteId}, - "Open in Trilium.") - noteFound = `Already visited website!`; - $alreadyVisited.html(noteFound); - $alreadyVisited[0].appendChild(a); + "Open in Trilium."); + $alreadyVisited.text(`Web page already clipped. `); + $alreadyVisited[0]?.appendChild(a); }else{ $alreadyVisited.html(''); } - + } }); @@ -174,7 +178,7 @@ const $checkConnectionButton = $("#check-connection-button"); $checkConnectionButton.on("click", () => { browser.runtime.sendMessage({ name: "trigger-trilium-search" - }) + }); }); $(() => browser.runtime.sendMessage({name: "send-trilium-search-status"})); diff --git a/apps/web-clipper/icons/32-dev.png b/apps/web-clipper/icons/32-dev.png deleted file mode 100644 index d280a31bbd..0000000000 Binary files a/apps/web-clipper/icons/32-dev.png and /dev/null differ diff --git a/apps/web-clipper/icons/32.png b/apps/web-clipper/icons/32.png deleted file mode 100644 index 9aeeb66fe9..0000000000 Binary files a/apps/web-clipper/icons/32.png and /dev/null differ diff --git a/apps/web-clipper/icons/48.png b/apps/web-clipper/icons/48.png deleted file mode 100644 index da66c56f64..0000000000 Binary files a/apps/web-clipper/icons/48.png and /dev/null differ diff --git a/apps/web-clipper/icons/96.png b/apps/web-clipper/icons/96.png deleted file mode 100644 index f4783da589..0000000000 Binary files a/apps/web-clipper/icons/96.png and /dev/null differ diff --git a/apps/web-clipper/lib/JSDOMParser.js b/apps/web-clipper/lib/JSDOMParser.js deleted file mode 100644 index 7bfa2acf5b..0000000000 --- a/apps/web-clipper/lib/JSDOMParser.js +++ /dev/null @@ -1,1196 +0,0 @@ -/*eslint-env es6:false*/ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -/** - * This is a relatively lightweight DOMParser that is safe to use in a web - * worker. This is far from a complete DOM implementation; however, it should - * contain the minimal set of functionality necessary for Readability.js. - * - * Aside from not implementing the full DOM API, there are other quirks to be - * aware of when using the JSDOMParser: - * - * 1) Properly formed HTML/XML must be used. This means you should be extra - * careful when using this parser on anything received directly from an - * XMLHttpRequest. Providing a serialized string from an XMLSerializer, - * however, should be safe (since the browser's XMLSerializer should - * generate valid HTML/XML). Therefore, if parsing a document from an XHR, - * the recommended approach is to do the XHR in the main thread, use - * XMLSerializer.serializeToString() on the responseXML, and pass the - * resulting string to the worker. - * - * 2) Live NodeLists are not supported. DOM methods and properties such as - * getElementsByTagName() and childNodes return standard arrays. If you - * want these lists to be updated when nodes are removed or added to the - * document, you must take care to manually update them yourself. - */ -(function (global) { - - // XML only defines these and the numeric ones: - - var entityTable = { - "lt": "<", - "gt": ">", - "amp": "&", - "quot": '"', - "apos": "'", - }; - - var reverseEntityTable = { - "<": "<", - ">": ">", - "&": "&", - '"': """, - "'": "'", - }; - - function encodeTextContentHTML(s) { - return s.replace(/[&<>]/g, function(x) { - return reverseEntityTable[x]; - }); - } - - function encodeHTML(s) { - return s.replace(/[&<>'"]/g, function(x) { - return reverseEntityTable[x]; - }); - } - - function decodeHTML(str) { - return str.replace(/&(quot|amp|apos|lt|gt);/g, function(match, tag) { - return entityTable[tag]; - }).replace(/&#(?:x([0-9a-z]{1,4})|([0-9]{1,4}));/gi, function(match, hex, numStr) { - var num = parseInt(hex || numStr, hex ? 16 : 10); // read num - return String.fromCharCode(num); - }); - } - - // When a style is set in JS, map it to the corresponding CSS attribute - var styleMap = { - "alignmentBaseline": "alignment-baseline", - "background": "background", - "backgroundAttachment": "background-attachment", - "backgroundClip": "background-clip", - "backgroundColor": "background-color", - "backgroundImage": "background-image", - "backgroundOrigin": "background-origin", - "backgroundPosition": "background-position", - "backgroundPositionX": "background-position-x", - "backgroundPositionY": "background-position-y", - "backgroundRepeat": "background-repeat", - "backgroundRepeatX": "background-repeat-x", - "backgroundRepeatY": "background-repeat-y", - "backgroundSize": "background-size", - "baselineShift": "baseline-shift", - "border": "border", - "borderBottom": "border-bottom", - "borderBottomColor": "border-bottom-color", - "borderBottomLeftRadius": "border-bottom-left-radius", - "borderBottomRightRadius": "border-bottom-right-radius", - "borderBottomStyle": "border-bottom-style", - "borderBottomWidth": "border-bottom-width", - "borderCollapse": "border-collapse", - "borderColor": "border-color", - "borderImage": "border-image", - "borderImageOutset": "border-image-outset", - "borderImageRepeat": "border-image-repeat", - "borderImageSlice": "border-image-slice", - "borderImageSource": "border-image-source", - "borderImageWidth": "border-image-width", - "borderLeft": "border-left", - "borderLeftColor": "border-left-color", - "borderLeftStyle": "border-left-style", - "borderLeftWidth": "border-left-width", - "borderRadius": "border-radius", - "borderRight": "border-right", - "borderRightColor": "border-right-color", - "borderRightStyle": "border-right-style", - "borderRightWidth": "border-right-width", - "borderSpacing": "border-spacing", - "borderStyle": "border-style", - "borderTop": "border-top", - "borderTopColor": "border-top-color", - "borderTopLeftRadius": "border-top-left-radius", - "borderTopRightRadius": "border-top-right-radius", - "borderTopStyle": "border-top-style", - "borderTopWidth": "border-top-width", - "borderWidth": "border-width", - "bottom": "bottom", - "boxShadow": "box-shadow", - "boxSizing": "box-sizing", - "captionSide": "caption-side", - "clear": "clear", - "clip": "clip", - "clipPath": "clip-path", - "clipRule": "clip-rule", - "color": "color", - "colorInterpolation": "color-interpolation", - "colorInterpolationFilters": "color-interpolation-filters", - "colorProfile": "color-profile", - "colorRendering": "color-rendering", - "content": "content", - "counterIncrement": "counter-increment", - "counterReset": "counter-reset", - "cursor": "cursor", - "direction": "direction", - "display": "display", - "dominantBaseline": "dominant-baseline", - "emptyCells": "empty-cells", - "enableBackground": "enable-background", - "fill": "fill", - "fillOpacity": "fill-opacity", - "fillRule": "fill-rule", - "filter": "filter", - "cssFloat": "float", - "floodColor": "flood-color", - "floodOpacity": "flood-opacity", - "font": "font", - "fontFamily": "font-family", - "fontSize": "font-size", - "fontStretch": "font-stretch", - "fontStyle": "font-style", - "fontVariant": "font-variant", - "fontWeight": "font-weight", - "glyphOrientationHorizontal": "glyph-orientation-horizontal", - "glyphOrientationVertical": "glyph-orientation-vertical", - "height": "height", - "imageRendering": "image-rendering", - "kerning": "kerning", - "left": "left", - "letterSpacing": "letter-spacing", - "lightingColor": "lighting-color", - "lineHeight": "line-height", - "listStyle": "list-style", - "listStyleImage": "list-style-image", - "listStylePosition": "list-style-position", - "listStyleType": "list-style-type", - "margin": "margin", - "marginBottom": "margin-bottom", - "marginLeft": "margin-left", - "marginRight": "margin-right", - "marginTop": "margin-top", - "marker": "marker", - "markerEnd": "marker-end", - "markerMid": "marker-mid", - "markerStart": "marker-start", - "mask": "mask", - "maxHeight": "max-height", - "maxWidth": "max-width", - "minHeight": "min-height", - "minWidth": "min-width", - "opacity": "opacity", - "orphans": "orphans", - "outline": "outline", - "outlineColor": "outline-color", - "outlineOffset": "outline-offset", - "outlineStyle": "outline-style", - "outlineWidth": "outline-width", - "overflow": "overflow", - "overflowX": "overflow-x", - "overflowY": "overflow-y", - "padding": "padding", - "paddingBottom": "padding-bottom", - "paddingLeft": "padding-left", - "paddingRight": "padding-right", - "paddingTop": "padding-top", - "page": "page", - "pageBreakAfter": "page-break-after", - "pageBreakBefore": "page-break-before", - "pageBreakInside": "page-break-inside", - "pointerEvents": "pointer-events", - "position": "position", - "quotes": "quotes", - "resize": "resize", - "right": "right", - "shapeRendering": "shape-rendering", - "size": "size", - "speak": "speak", - "src": "src", - "stopColor": "stop-color", - "stopOpacity": "stop-opacity", - "stroke": "stroke", - "strokeDasharray": "stroke-dasharray", - "strokeDashoffset": "stroke-dashoffset", - "strokeLinecap": "stroke-linecap", - "strokeLinejoin": "stroke-linejoin", - "strokeMiterlimit": "stroke-miterlimit", - "strokeOpacity": "stroke-opacity", - "strokeWidth": "stroke-width", - "tableLayout": "table-layout", - "textAlign": "text-align", - "textAnchor": "text-anchor", - "textDecoration": "text-decoration", - "textIndent": "text-indent", - "textLineThrough": "text-line-through", - "textLineThroughColor": "text-line-through-color", - "textLineThroughMode": "text-line-through-mode", - "textLineThroughStyle": "text-line-through-style", - "textLineThroughWidth": "text-line-through-width", - "textOverflow": "text-overflow", - "textOverline": "text-overline", - "textOverlineColor": "text-overline-color", - "textOverlineMode": "text-overline-mode", - "textOverlineStyle": "text-overline-style", - "textOverlineWidth": "text-overline-width", - "textRendering": "text-rendering", - "textShadow": "text-shadow", - "textTransform": "text-transform", - "textUnderline": "text-underline", - "textUnderlineColor": "text-underline-color", - "textUnderlineMode": "text-underline-mode", - "textUnderlineStyle": "text-underline-style", - "textUnderlineWidth": "text-underline-width", - "top": "top", - "unicodeBidi": "unicode-bidi", - "unicodeRange": "unicode-range", - "vectorEffect": "vector-effect", - "verticalAlign": "vertical-align", - "visibility": "visibility", - "whiteSpace": "white-space", - "widows": "widows", - "width": "width", - "wordBreak": "word-break", - "wordSpacing": "word-spacing", - "wordWrap": "word-wrap", - "writingMode": "writing-mode", - "zIndex": "z-index", - "zoom": "zoom", - }; - - // Elements that can be self-closing - var voidElems = { - "area": true, - "base": true, - "br": true, - "col": true, - "command": true, - "embed": true, - "hr": true, - "img": true, - "input": true, - "link": true, - "meta": true, - "param": true, - "source": true, - "wbr": true - }; - - var whitespace = [" ", "\t", "\n", "\r"]; - - // See https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType - var nodeTypes = { - ELEMENT_NODE: 1, - ATTRIBUTE_NODE: 2, - TEXT_NODE: 3, - CDATA_SECTION_NODE: 4, - ENTITY_REFERENCE_NODE: 5, - ENTITY_NODE: 6, - PROCESSING_INSTRUCTION_NODE: 7, - COMMENT_NODE: 8, - DOCUMENT_NODE: 9, - DOCUMENT_TYPE_NODE: 10, - DOCUMENT_FRAGMENT_NODE: 11, - NOTATION_NODE: 12 - }; - - function getElementsByTagName(tag) { - tag = tag.toUpperCase(); - var elems = []; - var allTags = (tag === "*"); - function getElems(node) { - var length = node.children.length; - for (var i = 0; i < length; i++) { - var child = node.children[i]; - if (allTags || (child.tagName === tag)) - elems.push(child); - getElems(child); - } - } - getElems(this); - elems._isLiveNodeList = true; - return elems; - } - - var Node = function () {}; - - Node.prototype = { - attributes: null, - childNodes: null, - localName: null, - nodeName: null, - parentNode: null, - textContent: null, - nextSibling: null, - previousSibling: null, - - get firstChild() { - return this.childNodes[0] || null; - }, - - get firstElementChild() { - return this.children[0] || null; - }, - - get lastChild() { - return this.childNodes[this.childNodes.length - 1] || null; - }, - - get lastElementChild() { - return this.children[this.children.length - 1] || null; - }, - - appendChild: function (child) { - if (child.parentNode) { - child.parentNode.removeChild(child); - } - - var last = this.lastChild; - if (last) - last.nextSibling = child; - child.previousSibling = last; - - if (child.nodeType === Node.ELEMENT_NODE) { - child.previousElementSibling = this.children[this.children.length - 1] || null; - this.children.push(child); - child.previousElementSibling && (child.previousElementSibling.nextElementSibling = child); - } - this.childNodes.push(child); - child.parentNode = this; - }, - - removeChild: function (child) { - var childNodes = this.childNodes; - var childIndex = childNodes.indexOf(child); - if (childIndex === -1) { - throw "removeChild: node not found"; - } else { - child.parentNode = null; - var prev = child.previousSibling; - var next = child.nextSibling; - if (prev) - prev.nextSibling = next; - if (next) - next.previousSibling = prev; - - if (child.nodeType === Node.ELEMENT_NODE) { - prev = child.previousElementSibling; - next = child.nextElementSibling; - if (prev) - prev.nextElementSibling = next; - if (next) - next.previousElementSibling = prev; - this.children.splice(this.children.indexOf(child), 1); - } - - child.previousSibling = child.nextSibling = null; - child.previousElementSibling = child.nextElementSibling = null; - - return childNodes.splice(childIndex, 1)[0]; - } - }, - - replaceChild: function (newNode, oldNode) { - var childNodes = this.childNodes; - var childIndex = childNodes.indexOf(oldNode); - if (childIndex === -1) { - throw "replaceChild: node not found"; - } else { - // This will take care of updating the new node if it was somewhere else before: - if (newNode.parentNode) - newNode.parentNode.removeChild(newNode); - - childNodes[childIndex] = newNode; - - // update the new node's sibling properties, and its new siblings' sibling properties - newNode.nextSibling = oldNode.nextSibling; - newNode.previousSibling = oldNode.previousSibling; - if (newNode.nextSibling) - newNode.nextSibling.previousSibling = newNode; - if (newNode.previousSibling) - newNode.previousSibling.nextSibling = newNode; - - newNode.parentNode = this; - - // Now deal with elements before we clear out those values for the old node, - // because it can help us take shortcuts here: - if (newNode.nodeType === Node.ELEMENT_NODE) { - if (oldNode.nodeType === Node.ELEMENT_NODE) { - // Both were elements, which makes this easier, we just swap things out: - newNode.previousElementSibling = oldNode.previousElementSibling; - newNode.nextElementSibling = oldNode.nextElementSibling; - if (newNode.previousElementSibling) - newNode.previousElementSibling.nextElementSibling = newNode; - if (newNode.nextElementSibling) - newNode.nextElementSibling.previousElementSibling = newNode; - this.children[this.children.indexOf(oldNode)] = newNode; - } else { - // Hard way: - newNode.previousElementSibling = (function() { - for (var i = childIndex - 1; i >= 0; i--) { - if (childNodes[i].nodeType === Node.ELEMENT_NODE) - return childNodes[i]; - } - return null; - })(); - if (newNode.previousElementSibling) { - newNode.nextElementSibling = newNode.previousElementSibling.nextElementSibling; - } else { - newNode.nextElementSibling = (function() { - for (var i = childIndex + 1; i < childNodes.length; i++) { - if (childNodes[i].nodeType === Node.ELEMENT_NODE) - return childNodes[i]; - } - return null; - })(); - } - if (newNode.previousElementSibling) - newNode.previousElementSibling.nextElementSibling = newNode; - if (newNode.nextElementSibling) - newNode.nextElementSibling.previousElementSibling = newNode; - - if (newNode.nextElementSibling) - this.children.splice(this.children.indexOf(newNode.nextElementSibling), 0, newNode); - else - this.children.push(newNode); - } - } else if (oldNode.nodeType === Node.ELEMENT_NODE) { - // new node is not an element node. - // if the old one was, update its element siblings: - if (oldNode.previousElementSibling) - oldNode.previousElementSibling.nextElementSibling = oldNode.nextElementSibling; - if (oldNode.nextElementSibling) - oldNode.nextElementSibling.previousElementSibling = oldNode.previousElementSibling; - this.children.splice(this.children.indexOf(oldNode), 1); - - // If the old node wasn't an element, neither the new nor the old node was an element, - // and the children array and its members shouldn't need any updating. - } - - - oldNode.parentNode = null; - oldNode.previousSibling = null; - oldNode.nextSibling = null; - if (oldNode.nodeType === Node.ELEMENT_NODE) { - oldNode.previousElementSibling = null; - oldNode.nextElementSibling = null; - } - return oldNode; - } - }, - - __JSDOMParser__: true, - }; - - for (var nodeType in nodeTypes) { - Node[nodeType] = Node.prototype[nodeType] = nodeTypes[nodeType]; - } - - var Attribute = function (name, value) { - this.name = name; - this._value = value; - }; - - Attribute.prototype = { - get value() { - return this._value; - }, - setValue: function(newValue) { - this._value = newValue; - }, - getEncodedValue: function() { - return encodeHTML(this._value); - }, - }; - - var Comment = function () { - this.childNodes = []; - }; - - Comment.prototype = { - __proto__: Node.prototype, - - nodeName: "#comment", - nodeType: Node.COMMENT_NODE - }; - - var Text = function () { - this.childNodes = []; - }; - - Text.prototype = { - __proto__: Node.prototype, - - nodeName: "#text", - nodeType: Node.TEXT_NODE, - get textContent() { - if (typeof this._textContent === "undefined") { - this._textContent = decodeHTML(this._innerHTML || ""); - } - return this._textContent; - }, - get innerHTML() { - if (typeof this._innerHTML === "undefined") { - this._innerHTML = encodeTextContentHTML(this._textContent || ""); - } - return this._innerHTML; - }, - - set innerHTML(newHTML) { - this._innerHTML = newHTML; - delete this._textContent; - }, - set textContent(newText) { - this._textContent = newText; - delete this._innerHTML; - }, - }; - - var Document = function (url) { - this.documentURI = url; - this.styleSheets = []; - this.childNodes = []; - this.children = []; - }; - - Document.prototype = { - __proto__: Node.prototype, - - nodeName: "#document", - nodeType: Node.DOCUMENT_NODE, - title: "", - - getElementsByTagName: getElementsByTagName, - - getElementById: function (id) { - function getElem(node) { - var length = node.children.length; - if (node.id === id) - return node; - for (var i = 0; i < length; i++) { - var el = getElem(node.children[i]); - if (el) - return el; - } - return null; - } - return getElem(this); - }, - - createElement: function (tag) { - var node = new Element(tag); - return node; - }, - - createTextNode: function (text) { - var node = new Text(); - node.textContent = text; - return node; - }, - - get baseURI() { - if (!this.hasOwnProperty("_baseURI")) { - this._baseURI = this.documentURI; - var baseElements = this.getElementsByTagName("base"); - var href = baseElements[0] && baseElements[0].getAttribute("href"); - if (href) { - try { - this._baseURI = (new URL(href, this._baseURI)).href; - } catch (ex) {/* Just fall back to documentURI */} - } - } - return this._baseURI; - }, - }; - - var Element = function (tag) { - // We use this to find the closing tag. - this._matchingTag = tag; - // We're explicitly a non-namespace aware parser, we just pretend it's all HTML. - var lastColonIndex = tag.lastIndexOf(":"); - if (lastColonIndex != -1) { - tag = tag.substring(lastColonIndex + 1); - } - this.attributes = []; - this.childNodes = []; - this.children = []; - this.nextElementSibling = this.previousElementSibling = null; - this.localName = tag.toLowerCase(); - this.tagName = tag.toUpperCase(); - this.style = new Style(this); - }; - - Element.prototype = { - __proto__: Node.prototype, - - nodeType: Node.ELEMENT_NODE, - - getElementsByTagName: getElementsByTagName, - - get className() { - return this.getAttribute("class") || ""; - }, - - set className(str) { - this.setAttribute("class", str); - }, - - get id() { - return this.getAttribute("id") || ""; - }, - - set id(str) { - this.setAttribute("id", str); - }, - - get href() { - return this.getAttribute("href") || ""; - }, - - set href(str) { - this.setAttribute("href", str); - }, - - get src() { - return this.getAttribute("src") || ""; - }, - - set src(str) { - this.setAttribute("src", str); - }, - - get srcset() { - return this.getAttribute("srcset") || ""; - }, - - set srcset(str) { - this.setAttribute("srcset", str); - }, - - get nodeName() { - return this.tagName; - }, - - get innerHTML() { - function getHTML(node) { - var i = 0; - for (i = 0; i < node.childNodes.length; i++) { - var child = node.childNodes[i]; - if (child.localName) { - arr.push("<" + child.localName); - - // serialize attribute list - for (var j = 0; j < child.attributes.length; j++) { - var attr = child.attributes[j]; - // the attribute value will be HTML escaped. - var val = attr.getEncodedValue(); - var quote = (val.indexOf('"') === -1 ? '"' : "'"); - arr.push(" " + attr.name + "=" + quote + val + quote); - } - - if (child.localName in voidElems && !child.childNodes.length) { - // if this is a self-closing element, end it here - arr.push("/>"); - } else { - // otherwise, add its children - arr.push(">"); - getHTML(child); - arr.push(""); - } - } else { - // This is a text node, so asking for innerHTML won't recurse. - arr.push(child.innerHTML); - } - } - } - - // Using Array.join() avoids the overhead from lazy string concatenation. - var arr = []; - getHTML(this); - return arr.join(""); - }, - - set innerHTML(html) { - var parser = new JSDOMParser(); - var node = parser.parse(html); - var i; - for (i = this.childNodes.length; --i >= 0;) { - this.childNodes[i].parentNode = null; - } - this.childNodes = node.childNodes; - this.children = node.children; - for (i = this.childNodes.length; --i >= 0;) { - this.childNodes[i].parentNode = this; - } - }, - - set textContent(text) { - // clear parentNodes for existing children - for (var i = this.childNodes.length; --i >= 0;) { - this.childNodes[i].parentNode = null; - } - - var node = new Text(); - this.childNodes = [ node ]; - this.children = []; - node.textContent = text; - node.parentNode = this; - }, - - get textContent() { - function getText(node) { - var nodes = node.childNodes; - for (var i = 0; i < nodes.length; i++) { - var child = nodes[i]; - if (child.nodeType === 3) { - text.push(child.textContent); - } else { - getText(child); - } - } - } - - // Using Array.join() avoids the overhead from lazy string concatenation. - // See http://blog.cdleary.com/2012/01/string-representation-in-spidermonkey/#ropes - var text = []; - getText(this); - return text.join(""); - }, - - getAttribute: function (name) { - for (var i = this.attributes.length; --i >= 0;) { - var attr = this.attributes[i]; - if (attr.name === name) { - return attr.value; - } - } - return undefined; - }, - - setAttribute: function (name, value) { - for (var i = this.attributes.length; --i >= 0;) { - var attr = this.attributes[i]; - if (attr.name === name) { - attr.setValue(value); - return; - } - } - this.attributes.push(new Attribute(name, value)); - }, - - removeAttribute: function (name) { - for (var i = this.attributes.length; --i >= 0;) { - var attr = this.attributes[i]; - if (attr.name === name) { - this.attributes.splice(i, 1); - break; - } - } - }, - - hasAttribute: function (name) { - return this.attributes.some(function (attr) { - return attr.name == name; - }); - }, - }; - - var Style = function (node) { - this.node = node; - }; - - // getStyle() and setStyle() use the style attribute string directly. This - // won't be very efficient if there are a lot of style manipulations, but - // it's the easiest way to make sure the style attribute string and the JS - // style property stay in sync. Readability.js doesn't do many style - // manipulations, so this should be okay. - Style.prototype = { - getStyle: function (styleName) { - var attr = this.node.getAttribute("style"); - if (!attr) - return undefined; - - var styles = attr.split(";"); - for (var i = 0; i < styles.length; i++) { - var style = styles[i].split(":"); - var name = style[0].trim(); - if (name === styleName) - return style[1].trim(); - } - - return undefined; - }, - - setStyle: function (styleName, styleValue) { - var value = this.node.getAttribute("style") || ""; - var index = 0; - do { - var next = value.indexOf(";", index) + 1; - var length = next - index - 1; - var style = (length > 0 ? value.substr(index, length) : value.substr(index)); - if (style.substr(0, style.indexOf(":")).trim() === styleName) { - value = value.substr(0, index).trim() + (next ? " " + value.substr(next).trim() : ""); - break; - } - index = next; - } while (index); - - value += " " + styleName + ": " + styleValue + ";"; - this.node.setAttribute("style", value.trim()); - } - }; - - // For each item in styleMap, define a getter and setter on the style - // property. - for (var jsName in styleMap) { - (function (cssName) { - Style.prototype.__defineGetter__(jsName, function () { - return this.getStyle(cssName); - }); - Style.prototype.__defineSetter__(jsName, function (value) { - this.setStyle(cssName, value); - }); - })(styleMap[jsName]); - } - - var JSDOMParser = function () { - this.currentChar = 0; - - // In makeElementNode() we build up many strings one char at a time. Using - // += for this results in lots of short-lived intermediate strings. It's - // better to build an array of single-char strings and then join() them - // together at the end. And reusing a single array (i.e. |this.strBuf|) - // over and over for this purpose uses less memory than using a new array - // for each string. - this.strBuf = []; - - // Similarly, we reuse this array to return the two arguments from - // makeElementNode(), which saves us from having to allocate a new array - // every time. - this.retPair = []; - - this.errorState = ""; - }; - - JSDOMParser.prototype = { - error: function(m) { - if (typeof dump !== "undefined") { - dump("JSDOMParser error: " + m + "\n"); - } else if (typeof console !== "undefined") { - console.log("JSDOMParser error: " + m + "\n"); - } - this.errorState += m + "\n"; - }, - - /** - * Look at the next character without advancing the index. - */ - peekNext: function () { - return this.html[this.currentChar]; - }, - - /** - * Get the next character and advance the index. - */ - nextChar: function () { - return this.html[this.currentChar++]; - }, - - /** - * Called after a quote character is read. This finds the next quote - * character and returns the text string in between. - */ - readString: function (quote) { - var str; - var n = this.html.indexOf(quote, this.currentChar); - if (n === -1) { - this.currentChar = this.html.length; - str = null; - } else { - str = this.html.substring(this.currentChar, n); - this.currentChar = n + 1; - } - - return str; - }, - - /** - * Called when parsing a node. This finds the next name/value attribute - * pair and adds the result to the attributes list. - */ - readAttribute: function (node) { - var name = ""; - - var n = this.html.indexOf("=", this.currentChar); - if (n === -1) { - this.currentChar = this.html.length; - } else { - // Read until a '=' character is hit; this will be the attribute key - name = this.html.substring(this.currentChar, n); - this.currentChar = n + 1; - } - - if (!name) - return; - - // After a '=', we should see a '"' for the attribute value - var c = this.nextChar(); - if (c !== '"' && c !== "'") { - this.error("Error reading attribute " + name + ", expecting '\"'"); - return; - } - - // Read the attribute value (and consume the matching quote) - var value = this.readString(c); - - node.attributes.push(new Attribute(name, decodeHTML(value))); - - return; - }, - - /** - * Parses and returns an Element node. This is called after a '<' has been - * read. - * - * @returns an array; the first index of the array is the parsed node; - * the second index is a boolean indicating whether this is a void - * Element - */ - makeElementNode: function (retPair) { - var c = this.nextChar(); - - // Read the Element tag name - var strBuf = this.strBuf; - strBuf.length = 0; - while (whitespace.indexOf(c) == -1 && c !== ">" && c !== "/") { - if (c === undefined) - return false; - strBuf.push(c); - c = this.nextChar(); - } - var tag = strBuf.join(""); - - if (!tag) - return false; - - var node = new Element(tag); - - // Read Element attributes - while (c !== "/" && c !== ">") { - if (c === undefined) - return false; - while (whitespace.indexOf(this.html[this.currentChar++]) != -1) { - // Advance cursor to first non-whitespace char. - } - this.currentChar--; - c = this.nextChar(); - if (c !== "/" && c !== ">") { - --this.currentChar; - this.readAttribute(node); - } - } - - // If this is a self-closing tag, read '/>' - var closed = false; - if (c === "/") { - closed = true; - c = this.nextChar(); - if (c !== ">") { - this.error("expected '>' to close " + tag); - return false; - } - } - - retPair[0] = node; - retPair[1] = closed; - return true; - }, - - /** - * If the current input matches this string, advance the input index; - * otherwise, do nothing. - * - * @returns whether input matched string - */ - match: function (str) { - var strlen = str.length; - if (this.html.substr(this.currentChar, strlen).toLowerCase() === str.toLowerCase()) { - this.currentChar += strlen; - return true; - } - return false; - }, - - /** - * Searches the input until a string is found and discards all input up to - * and including the matched string. - */ - discardTo: function (str) { - var index = this.html.indexOf(str, this.currentChar) + str.length; - if (index === -1) - this.currentChar = this.html.length; - this.currentChar = index; - }, - - /** - * Reads child nodes for the given node. - */ - readChildren: function (node) { - var child; - while ((child = this.readNode())) { - // Don't keep Comment nodes - if (child.nodeType !== 8) { - node.appendChild(child); - } - } - }, - - discardNextComment: function() { - if (this.match("--")) { - this.discardTo("-->"); - } else { - var c = this.nextChar(); - while (c !== ">") { - if (c === undefined) - return null; - if (c === '"' || c === "'") - this.readString(c); - c = this.nextChar(); - } - } - return new Comment(); - }, - - - /** - * Reads the next child node from the input. If we're reading a closing - * tag, or if we've reached the end of input, return null. - * - * @returns the node - */ - readNode: function () { - var c = this.nextChar(); - - if (c === undefined) - return null; - - // Read any text as Text node - var textNode; - if (c !== "<") { - --this.currentChar; - textNode = new Text(); - var n = this.html.indexOf("<", this.currentChar); - if (n === -1) { - textNode.innerHTML = this.html.substring(this.currentChar, this.html.length); - this.currentChar = this.html.length; - } else { - textNode.innerHTML = this.html.substring(this.currentChar, n); - this.currentChar = n; - } - return textNode; - } - - if (this.match("![CDATA[")) { - var endChar = this.html.indexOf("]]>", this.currentChar); - if (endChar === -1) { - this.error("unclosed CDATA section"); - return null; - } - textNode = new Text(); - textNode.textContent = this.html.substring(this.currentChar, endChar); - this.currentChar = endChar + ("]]>").length; - return textNode; - } - - c = this.peekNext(); - - // Read Comment node. Normally, Comment nodes know their inner - // textContent, but we don't really care about Comment nodes (we throw - // them away in readChildren()). So just returning an empty Comment node - // here is sufficient. - if (c === "!" || c === "?") { - // We're still before the ! or ? that is starting this comment: - this.currentChar++; - return this.discardNextComment(); - } - - // If we're reading a closing tag, return null. This means we've reached - // the end of this set of child nodes. - if (c === "/") { - --this.currentChar; - return null; - } - - // Otherwise, we're looking at an Element node - var result = this.makeElementNode(this.retPair); - if (!result) - return null; - - var node = this.retPair[0]; - var closed = this.retPair[1]; - var localName = node.localName; - - // If this isn't a void Element, read its child nodes - if (!closed) { - this.readChildren(node); - var closingTag = ""; - if (!this.match(closingTag)) { - this.error("expected '" + closingTag + "' and got " + this.html.substr(this.currentChar, closingTag.length)); - return null; - } - } - - // Only use the first title, because SVG might have other - // title elements which we don't care about (medium.com - // does this, at least). - if (localName === "title" && !this.doc.title) { - this.doc.title = node.textContent.trim(); - } else if (localName === "head") { - this.doc.head = node; - } else if (localName === "body") { - this.doc.body = node; - } else if (localName === "html") { - this.doc.documentElement = node; - } - - return node; - }, - - /** - * Parses an HTML string and returns a JS implementation of the Document. - */ - parse: function (html, url) { - this.html = html; - var doc = this.doc = new Document(url); - this.readChildren(doc); - - // If this is an HTML document, remove root-level children except for the - // node - if (doc.documentElement) { - for (var i = doc.childNodes.length; --i >= 0;) { - var child = doc.childNodes[i]; - if (child !== doc.documentElement) { - doc.removeChild(child); - } - } - } - - return doc; - } - }; - - // Attach the standard DOM types to the global scope - global.Node = Node; - global.Comment = Comment; - global.Document = Document; - global.Element = Element; - global.Text = Text; - - // Attach JSDOMParser to the global scope - global.JSDOMParser = JSDOMParser; - -})(this); - -if (typeof module === "object") { - module.exports = this.JSDOMParser; -} diff --git a/apps/web-clipper/lib/Readability-readerable.js b/apps/web-clipper/lib/Readability-readerable.js deleted file mode 100644 index 64be5e15e8..0000000000 --- a/apps/web-clipper/lib/Readability-readerable.js +++ /dev/null @@ -1,108 +0,0 @@ -/* eslint-env es6:false */ -/* - * Copyright (c) 2010 Arc90 Inc - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - * This code is heavily based on Arc90's readability.js (1.7.1) script - * available at: http://code.google.com/p/arc90labs-readability - */ - -var REGEXPS = { - // NOTE: These two regular expressions are duplicated in - // Readability.js. Please keep both copies in sync. - unlikelyCandidates: /-ad-|ai2html|banner|breadcrumbs|combx|comment|community|cover-wrap|disqus|extra|footer|gdpr|header|legends|menu|related|remark|replies|rss|shoutbox|sidebar|skyscraper|social|sponsor|supplemental|ad-break|agegate|pagination|pager|popup|yom-remote/i, - okMaybeItsACandidate: /and|article|body|column|content|main|shadow/i, -}; - -function isNodeVisible(node) { - // Have to null-check node.style and node.className.indexOf to deal with SVG and MathML nodes. - return (!node.style || node.style.display != "none") - && !node.hasAttribute("hidden") - //check for "fallback-image" so that wikimedia math images are displayed - && (!node.hasAttribute("aria-hidden") || node.getAttribute("aria-hidden") != "true" || (node.className && node.className.indexOf && node.className.indexOf("fallback-image") !== -1)); -} - -/** - * Decides whether or not the document is reader-able without parsing the whole thing. - * @param {Object} options Configuration object. - * @param {number} [options.minContentLength=140] The minimum node content length used to decide if the document is readerable. - * @param {number} [options.minScore=20] The minumum cumulated 'score' used to determine if the document is readerable. - * @param {Function} [options.visibilityChecker=isNodeVisible] The function used to determine if a node is visible. - * @return {boolean} Whether or not we suspect Readability.parse() will suceeed at returning an article object. - */ -function isProbablyReaderable(doc, options = {}) { - // For backward compatibility reasons 'options' can either be a configuration object or the function used - // to determine if a node is visible. - if (typeof options == "function") { - options = { visibilityChecker: options }; - } - - var defaultOptions = { minScore: 20, minContentLength: 140, visibilityChecker: isNodeVisible }; - options = Object.assign(defaultOptions, options); - - var nodes = doc.querySelectorAll("p, pre, article"); - - // Get
nodes which have
node(s) and append them into the `nodes` variable. - // Some articles' DOM structures might look like - //
- // Sentences
- //
- // Sentences
- //
- var brNodes = doc.querySelectorAll("div > br"); - if (brNodes.length) { - var set = new Set(nodes); - [].forEach.call(brNodes, function (node) { - set.add(node.parentNode); - }); - nodes = Array.from(set); - } - - var score = 0; - // This is a little cheeky, we use the accumulator 'score' to decide what to return from - // this callback: - return [].some.call(nodes, function (node) { - if (!options.visibilityChecker(node)) { - return false; - } - - var matchString = node.className + " " + node.id; - if (REGEXPS.unlikelyCandidates.test(matchString) && - !REGEXPS.okMaybeItsACandidate.test(matchString)) { - return false; - } - - if (node.matches("li p")) { - return false; - } - - var textContentLength = node.textContent.trim().length; - if (textContentLength < options.minContentLength) { - return false; - } - - score += Math.sqrt(textContentLength - options.minContentLength); - - if (score > options.minScore) { - return true; - } - return false; - }); -} - -if (typeof module === "object") { - module.exports = isProbablyReaderable; -} diff --git a/apps/web-clipper/lib/Readability.js b/apps/web-clipper/lib/Readability.js index ce06df459d..c5335f80b3 100644 --- a/apps/web-clipper/lib/Readability.js +++ b/apps/web-clipper/lib/Readability.js @@ -25,7 +25,7 @@ * @param {HTMLDocument} doc The document to parse. * @param {Object} options The options object. */ -function Readability(doc, options) { +export default function Readability(doc, options) { // In some older versions, people passed a URI as the first argument. Cope: if (options && options.documentElement) { doc = options; @@ -2277,7 +2277,3 @@ Readability.prototype = { }; } }; - -if (typeof module === "object") { - module.exports = Readability; -} diff --git a/apps/web-clipper/lib/browser-polyfill.js b/apps/web-clipper/lib/browser-polyfill.js deleted file mode 100644 index c0b5dfd077..0000000000 --- a/apps/web-clipper/lib/browser-polyfill.js +++ /dev/null @@ -1,1224 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define("webextension-polyfill", ["module"], factory); - } else if (typeof exports !== "undefined") { - factory(module); - } else { - var mod = { - exports: {} - }; - factory(mod); - global.browser = mod.exports; - } -})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (module) { - /* webextension-polyfill - v0.6.0 - Mon Dec 23 2019 12:32:53 */ - - /* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */ - - /* vim: set sts=2 sw=2 et tw=80: */ - - /* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - "use strict"; - - if (typeof browser === "undefined" || Object.getPrototypeOf(browser) !== Object.prototype) { - const CHROME_SEND_MESSAGE_CALLBACK_NO_RESPONSE_MESSAGE = "The message port closed before a response was received."; - const SEND_RESPONSE_DEPRECATION_WARNING = "Returning a Promise is the preferred way to send a reply from an onMessage/onMessageExternal listener, as the sendResponse will be removed from the specs (See https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage)"; // Wrapping the bulk of this polyfill in a one-time-use function is a minor - // optimization for Firefox. Since Spidermonkey does not fully parse the - // contents of a function until the first time it's called, and since it will - // never actually need to be called, this allows the polyfill to be included - // in Firefox nearly for free. - - const wrapAPIs = extensionAPIs => { - // NOTE: apiMetadata is associated to the content of the api-metadata.json file - // at build time by replacing the following "include" with the content of the - // JSON file. - const apiMetadata = { - "alarms": { - "clear": { - "minArgs": 0, - "maxArgs": 1 - }, - "clearAll": { - "minArgs": 0, - "maxArgs": 0 - }, - "get": { - "minArgs": 0, - "maxArgs": 1 - }, - "getAll": { - "minArgs": 0, - "maxArgs": 0 - } - }, - "bookmarks": { - "create": { - "minArgs": 1, - "maxArgs": 1 - }, - "get": { - "minArgs": 1, - "maxArgs": 1 - }, - "getChildren": { - "minArgs": 1, - "maxArgs": 1 - }, - "getRecent": { - "minArgs": 1, - "maxArgs": 1 - }, - "getSubTree": { - "minArgs": 1, - "maxArgs": 1 - }, - "getTree": { - "minArgs": 0, - "maxArgs": 0 - }, - "move": { - "minArgs": 2, - "maxArgs": 2 - }, - "remove": { - "minArgs": 1, - "maxArgs": 1 - }, - "removeTree": { - "minArgs": 1, - "maxArgs": 1 - }, - "search": { - "minArgs": 1, - "maxArgs": 1 - }, - "update": { - "minArgs": 2, - "maxArgs": 2 - } - }, - "browserAction": { - "disable": { - "minArgs": 0, - "maxArgs": 1, - "fallbackToNoCallback": true - }, - "enable": { - "minArgs": 0, - "maxArgs": 1, - "fallbackToNoCallback": true - }, - "getBadgeBackgroundColor": { - "minArgs": 1, - "maxArgs": 1 - }, - "getBadgeText": { - "minArgs": 1, - "maxArgs": 1 - }, - "getPopup": { - "minArgs": 1, - "maxArgs": 1 - }, - "getTitle": { - "minArgs": 1, - "maxArgs": 1 - }, - "openPopup": { - "minArgs": 0, - "maxArgs": 0 - }, - "setBadgeBackgroundColor": { - "minArgs": 1, - "maxArgs": 1, - "fallbackToNoCallback": true - }, - "setBadgeText": { - "minArgs": 1, - "maxArgs": 1, - "fallbackToNoCallback": true - }, - "setIcon": { - "minArgs": 1, - "maxArgs": 1 - }, - "setPopup": { - "minArgs": 1, - "maxArgs": 1, - "fallbackToNoCallback": true - }, - "setTitle": { - "minArgs": 1, - "maxArgs": 1, - "fallbackToNoCallback": true - } - }, - "browsingData": { - "remove": { - "minArgs": 2, - "maxArgs": 2 - }, - "removeCache": { - "minArgs": 1, - "maxArgs": 1 - }, - "removeCookies": { - "minArgs": 1, - "maxArgs": 1 - }, - "removeDownloads": { - "minArgs": 1, - "maxArgs": 1 - }, - "removeFormData": { - "minArgs": 1, - "maxArgs": 1 - }, - "removeHistory": { - "minArgs": 1, - "maxArgs": 1 - }, - "removeLocalStorage": { - "minArgs": 1, - "maxArgs": 1 - }, - "removePasswords": { - "minArgs": 1, - "maxArgs": 1 - }, - "removePluginData": { - "minArgs": 1, - "maxArgs": 1 - }, - "settings": { - "minArgs": 0, - "maxArgs": 0 - } - }, - "commands": { - "getAll": { - "minArgs": 0, - "maxArgs": 0 - } - }, - "contextMenus": { - "remove": { - "minArgs": 1, - "maxArgs": 1 - }, - "removeAll": { - "minArgs": 0, - "maxArgs": 0 - }, - "update": { - "minArgs": 2, - "maxArgs": 2 - } - }, - "cookies": { - "get": { - "minArgs": 1, - "maxArgs": 1 - }, - "getAll": { - "minArgs": 1, - "maxArgs": 1 - }, - "getAllCookieStores": { - "minArgs": 0, - "maxArgs": 0 - }, - "remove": { - "minArgs": 1, - "maxArgs": 1 - }, - "set": { - "minArgs": 1, - "maxArgs": 1 - } - }, - "devtools": { - "inspectedWindow": { - "eval": { - "minArgs": 1, - "maxArgs": 2, - "singleCallbackArg": false - } - }, - "panels": { - "create": { - "minArgs": 3, - "maxArgs": 3, - "singleCallbackArg": true - } - } - }, - "downloads": { - "cancel": { - "minArgs": 1, - "maxArgs": 1 - }, - "download": { - "minArgs": 1, - "maxArgs": 1 - }, - "erase": { - "minArgs": 1, - "maxArgs": 1 - }, - "getFileIcon": { - "minArgs": 1, - "maxArgs": 2 - }, - "open": { - "minArgs": 1, - "maxArgs": 1, - "fallbackToNoCallback": true - }, - "pause": { - "minArgs": 1, - "maxArgs": 1 - }, - "removeFile": { - "minArgs": 1, - "maxArgs": 1 - }, - "resume": { - "minArgs": 1, - "maxArgs": 1 - }, - "search": { - "minArgs": 1, - "maxArgs": 1 - }, - "show": { - "minArgs": 1, - "maxArgs": 1, - "fallbackToNoCallback": true - } - }, - "extension": { - "isAllowedFileSchemeAccess": { - "minArgs": 0, - "maxArgs": 0 - }, - "isAllowedIncognitoAccess": { - "minArgs": 0, - "maxArgs": 0 - } - }, - "history": { - "addUrl": { - "minArgs": 1, - "maxArgs": 1 - }, - "deleteAll": { - "minArgs": 0, - "maxArgs": 0 - }, - "deleteRange": { - "minArgs": 1, - "maxArgs": 1 - }, - "deleteUrl": { - "minArgs": 1, - "maxArgs": 1 - }, - "getVisits": { - "minArgs": 1, - "maxArgs": 1 - }, - "search": { - "minArgs": 1, - "maxArgs": 1 - } - }, - "i18n": { - "detectLanguage": { - "minArgs": 1, - "maxArgs": 1 - }, - "getAcceptLanguages": { - "minArgs": 0, - "maxArgs": 0 - } - }, - "identity": { - "launchWebAuthFlow": { - "minArgs": 1, - "maxArgs": 1 - } - }, - "idle": { - "queryState": { - "minArgs": 1, - "maxArgs": 1 - } - }, - "management": { - "get": { - "minArgs": 1, - "maxArgs": 1 - }, - "getAll": { - "minArgs": 0, - "maxArgs": 0 - }, - "getSelf": { - "minArgs": 0, - "maxArgs": 0 - }, - "setEnabled": { - "minArgs": 2, - "maxArgs": 2 - }, - "uninstallSelf": { - "minArgs": 0, - "maxArgs": 1 - } - }, - "notifications": { - "clear": { - "minArgs": 1, - "maxArgs": 1 - }, - "create": { - "minArgs": 1, - "maxArgs": 2 - }, - "getAll": { - "minArgs": 0, - "maxArgs": 0 - }, - "getPermissionLevel": { - "minArgs": 0, - "maxArgs": 0 - }, - "update": { - "minArgs": 2, - "maxArgs": 2 - } - }, - "pageAction": { - "getPopup": { - "minArgs": 1, - "maxArgs": 1 - }, - "getTitle": { - "minArgs": 1, - "maxArgs": 1 - }, - "hide": { - "minArgs": 1, - "maxArgs": 1, - "fallbackToNoCallback": true - }, - "setIcon": { - "minArgs": 1, - "maxArgs": 1 - }, - "setPopup": { - "minArgs": 1, - "maxArgs": 1, - "fallbackToNoCallback": true - }, - "setTitle": { - "minArgs": 1, - "maxArgs": 1, - "fallbackToNoCallback": true - }, - "show": { - "minArgs": 1, - "maxArgs": 1, - "fallbackToNoCallback": true - } - }, - "permissions": { - "contains": { - "minArgs": 1, - "maxArgs": 1 - }, - "getAll": { - "minArgs": 0, - "maxArgs": 0 - }, - "remove": { - "minArgs": 1, - "maxArgs": 1 - }, - "request": { - "minArgs": 1, - "maxArgs": 1 - } - }, - "runtime": { - "getBackgroundPage": { - "minArgs": 0, - "maxArgs": 0 - }, - "getPlatformInfo": { - "minArgs": 0, - "maxArgs": 0 - }, - "openOptionsPage": { - "minArgs": 0, - "maxArgs": 0 - }, - "requestUpdateCheck": { - "minArgs": 0, - "maxArgs": 0 - }, - "sendMessage": { - "minArgs": 1, - "maxArgs": 3 - }, - "sendNativeMessage": { - "minArgs": 2, - "maxArgs": 2 - }, - "setUninstallURL": { - "minArgs": 1, - "maxArgs": 1 - } - }, - "sessions": { - "getDevices": { - "minArgs": 0, - "maxArgs": 1 - }, - "getRecentlyClosed": { - "minArgs": 0, - "maxArgs": 1 - }, - "restore": { - "minArgs": 0, - "maxArgs": 1 - } - }, - "storage": { - "local": { - "clear": { - "minArgs": 0, - "maxArgs": 0 - }, - "get": { - "minArgs": 0, - "maxArgs": 1 - }, - "getBytesInUse": { - "minArgs": 0, - "maxArgs": 1 - }, - "remove": { - "minArgs": 1, - "maxArgs": 1 - }, - "set": { - "minArgs": 1, - "maxArgs": 1 - } - }, - "managed": { - "get": { - "minArgs": 0, - "maxArgs": 1 - }, - "getBytesInUse": { - "minArgs": 0, - "maxArgs": 1 - } - }, - "sync": { - "clear": { - "minArgs": 0, - "maxArgs": 0 - }, - "get": { - "minArgs": 0, - "maxArgs": 1 - }, - "getBytesInUse": { - "minArgs": 0, - "maxArgs": 1 - }, - "remove": { - "minArgs": 1, - "maxArgs": 1 - }, - "set": { - "minArgs": 1, - "maxArgs": 1 - } - } - }, - "tabs": { - "captureVisibleTab": { - "minArgs": 0, - "maxArgs": 2 - }, - "create": { - "minArgs": 1, - "maxArgs": 1 - }, - "detectLanguage": { - "minArgs": 0, - "maxArgs": 1 - }, - "discard": { - "minArgs": 0, - "maxArgs": 1 - }, - "duplicate": { - "minArgs": 1, - "maxArgs": 1 - }, - "executeScript": { - "minArgs": 1, - "maxArgs": 2 - }, - "get": { - "minArgs": 1, - "maxArgs": 1 - }, - "getCurrent": { - "minArgs": 0, - "maxArgs": 0 - }, - "getZoom": { - "minArgs": 0, - "maxArgs": 1 - }, - "getZoomSettings": { - "minArgs": 0, - "maxArgs": 1 - }, - "highlight": { - "minArgs": 1, - "maxArgs": 1 - }, - "insertCSS": { - "minArgs": 1, - "maxArgs": 2 - }, - "move": { - "minArgs": 2, - "maxArgs": 2 - }, - "query": { - "minArgs": 1, - "maxArgs": 1 - }, - "reload": { - "minArgs": 0, - "maxArgs": 2 - }, - "remove": { - "minArgs": 1, - "maxArgs": 1 - }, - "removeCSS": { - "minArgs": 1, - "maxArgs": 2 - }, - "sendMessage": { - "minArgs": 2, - "maxArgs": 3 - }, - "setZoom": { - "minArgs": 1, - "maxArgs": 2 - }, - "setZoomSettings": { - "minArgs": 1, - "maxArgs": 2 - }, - "update": { - "minArgs": 1, - "maxArgs": 2 - } - }, - "topSites": { - "get": { - "minArgs": 0, - "maxArgs": 0 - } - }, - "webNavigation": { - "getAllFrames": { - "minArgs": 1, - "maxArgs": 1 - }, - "getFrame": { - "minArgs": 1, - "maxArgs": 1 - } - }, - "webRequest": { - "handlerBehaviorChanged": { - "minArgs": 0, - "maxArgs": 0 - } - }, - "windows": { - "create": { - "minArgs": 0, - "maxArgs": 1 - }, - "get": { - "minArgs": 1, - "maxArgs": 2 - }, - "getAll": { - "minArgs": 0, - "maxArgs": 1 - }, - "getCurrent": { - "minArgs": 0, - "maxArgs": 1 - }, - "getLastFocused": { - "minArgs": 0, - "maxArgs": 1 - }, - "remove": { - "minArgs": 1, - "maxArgs": 1 - }, - "update": { - "minArgs": 2, - "maxArgs": 2 - } - } - }; - - if (Object.keys(apiMetadata).length === 0) { - throw new Error("api-metadata.json has not been included in browser-polyfill"); - } - /** - * A WeakMap subclass which creates and stores a value for any key which does - * not exist when accessed, but behaves exactly as an ordinary WeakMap - * otherwise. - * - * @param {function} createItem - * A function which will be called in order to create the value for any - * key which does not exist, the first time it is accessed. The - * function receives, as its only argument, the key being created. - */ - - - class DefaultWeakMap extends WeakMap { - constructor(createItem, items = undefined) { - super(items); - this.createItem = createItem; - } - - get(key) { - if (!this.has(key)) { - this.set(key, this.createItem(key)); - } - - return super.get(key); - } - - } - /** - * Returns true if the given object is an object with a `then` method, and can - * therefore be assumed to behave as a Promise. - * - * @param {*} value The value to test. - * @returns {boolean} True if the value is thenable. - */ - - - const isThenable = value => { - return value && typeof value === "object" && typeof value.then === "function"; - }; - /** - * Creates and returns a function which, when called, will resolve or reject - * the given promise based on how it is called: - * - * - If, when called, `chrome.runtime.lastError` contains a non-null object, - * the promise is rejected with that value. - * - If the function is called with exactly one argument, the promise is - * resolved to that value. - * - Otherwise, the promise is resolved to an array containing all of the - * function's arguments. - * - * @param {object} promise - * An object containing the resolution and rejection functions of a - * promise. - * @param {function} promise.resolve - * The promise's resolution function. - * @param {function} promise.rejection - * The promise's rejection function. - * @param {object} metadata - * Metadata about the wrapped method which has created the callback. - * @param {integer} metadata.maxResolvedArgs - * The maximum number of arguments which may be passed to the - * callback created by the wrapped async function. - * - * @returns {function} - * The generated callback function. - */ - - - const makeCallback = (promise, metadata) => { - return (...callbackArgs) => { - if (extensionAPIs.runtime.lastError) { - promise.reject(extensionAPIs.runtime.lastError); - } else if (metadata.singleCallbackArg || callbackArgs.length <= 1 && metadata.singleCallbackArg !== false) { - promise.resolve(callbackArgs[0]); - } else { - promise.resolve(callbackArgs); - } - }; - }; - - const pluralizeArguments = numArgs => numArgs == 1 ? "argument" : "arguments"; - /** - * Creates a wrapper function for a method with the given name and metadata. - * - * @param {string} name - * The name of the method which is being wrapped. - * @param {object} metadata - * Metadata about the method being wrapped. - * @param {integer} metadata.minArgs - * The minimum number of arguments which must be passed to the - * function. If called with fewer than this number of arguments, the - * wrapper will raise an exception. - * @param {integer} metadata.maxArgs - * The maximum number of arguments which may be passed to the - * function. If called with more than this number of arguments, the - * wrapper will raise an exception. - * @param {integer} metadata.maxResolvedArgs - * The maximum number of arguments which may be passed to the - * callback created by the wrapped async function. - * - * @returns {function(object, ...*)} - * The generated wrapper function. - */ - - - const wrapAsyncFunction = (name, metadata) => { - return function asyncFunctionWrapper(target, ...args) { - if (args.length < metadata.minArgs) { - throw new Error(`Expected at least ${metadata.minArgs} ${pluralizeArguments(metadata.minArgs)} for ${name}(), got ${args.length}`); - } - - if (args.length > metadata.maxArgs) { - throw new Error(`Expected at most ${metadata.maxArgs} ${pluralizeArguments(metadata.maxArgs)} for ${name}(), got ${args.length}`); - } - - return new Promise((resolve, reject) => { - if (metadata.fallbackToNoCallback) { - // This API method has currently no callback on Chrome, but it return a promise on Firefox, - // and so the polyfill will try to call it with a callback first, and it will fallback - // to not passing the callback if the first call fails. - try { - target[name](...args, makeCallback({ - resolve, - reject - }, metadata)); - } catch (cbError) { - console.warn(`${name} API method doesn't seem to support the callback parameter, ` + "falling back to call it without a callback: ", cbError); - target[name](...args); // Update the API method metadata, so that the next API calls will not try to - // use the unsupported callback anymore. - - metadata.fallbackToNoCallback = false; - metadata.noCallback = true; - resolve(); - } - } else if (metadata.noCallback) { - target[name](...args); - resolve(); - } else { - target[name](...args, makeCallback({ - resolve, - reject - }, metadata)); - } - }); - }; - }; - /** - * Wraps an existing method of the target object, so that calls to it are - * intercepted by the given wrapper function. The wrapper function receives, - * as its first argument, the original `target` object, followed by each of - * the arguments passed to the original method. - * - * @param {object} target - * The original target object that the wrapped method belongs to. - * @param {function} method - * The method being wrapped. This is used as the target of the Proxy - * object which is created to wrap the method. - * @param {function} wrapper - * The wrapper function which is called in place of a direct invocation - * of the wrapped method. - * - * @returns {Proxy} - * A Proxy object for the given method, which invokes the given wrapper - * method in its place. - */ - - - const wrapMethod = (target, method, wrapper) => { - return new Proxy(method, { - apply(targetMethod, thisObj, args) { - return wrapper.call(thisObj, target, ...args); - } - - }); - }; - - let hasOwnProperty = Function.call.bind(Object.prototype.hasOwnProperty); - /** - * Wraps an object in a Proxy which intercepts and wraps certain methods - * based on the given `wrappers` and `metadata` objects. - * - * @param {object} target - * The target object to wrap. - * - * @param {object} [wrappers = {}] - * An object tree containing wrapper functions for special cases. Any - * function present in this object tree is called in place of the - * method in the same location in the `target` object tree. These - * wrapper methods are invoked as described in {@see wrapMethod}. - * - * @param {object} [metadata = {}] - * An object tree containing metadata used to automatically generate - * Promise-based wrapper functions for asynchronous. Any function in - * the `target` object tree which has a corresponding metadata object - * in the same location in the `metadata` tree is replaced with an - * automatically-generated wrapper function, as described in - * {@see wrapAsyncFunction} - * - * @returns {Proxy} - */ - - const wrapObject = (target, wrappers = {}, metadata = {}) => { - let cache = Object.create(null); - let handlers = { - has(proxyTarget, prop) { - return prop in target || prop in cache; - }, - - get(proxyTarget, prop, receiver) { - if (prop in cache) { - return cache[prop]; - } - - if (!(prop in target)) { - return undefined; - } - - let value = target[prop]; - - if (typeof value === "function") { - // This is a method on the underlying object. Check if we need to do - // any wrapping. - if (typeof wrappers[prop] === "function") { - // We have a special-case wrapper for this method. - value = wrapMethod(target, target[prop], wrappers[prop]); - } else if (hasOwnProperty(metadata, prop)) { - // This is an async method that we have metadata for. Create a - // Promise wrapper for it. - let wrapper = wrapAsyncFunction(prop, metadata[prop]); - value = wrapMethod(target, target[prop], wrapper); - } else { - // This is a method that we don't know or care about. Return the - // original method, bound to the underlying object. - value = value.bind(target); - } - } else if (typeof value === "object" && value !== null && (hasOwnProperty(wrappers, prop) || hasOwnProperty(metadata, prop))) { - // This is an object that we need to do some wrapping for the children - // of. Create a sub-object wrapper for it with the appropriate child - // metadata. - value = wrapObject(value, wrappers[prop], metadata[prop]); - } else if (hasOwnProperty(metadata, "*")) { - // Wrap all properties in * namespace. - value = wrapObject(value, wrappers[prop], metadata["*"]); - } else { - // We don't need to do any wrapping for this property, - // so just forward all access to the underlying object. - Object.defineProperty(cache, prop, { - configurable: true, - enumerable: true, - - get() { - return target[prop]; - }, - - set(value) { - target[prop] = value; - } - - }); - return value; - } - - cache[prop] = value; - return value; - }, - - set(proxyTarget, prop, value, receiver) { - if (prop in cache) { - cache[prop] = value; - } else { - target[prop] = value; - } - - return true; - }, - - defineProperty(proxyTarget, prop, desc) { - return Reflect.defineProperty(cache, prop, desc); - }, - - deleteProperty(proxyTarget, prop) { - return Reflect.deleteProperty(cache, prop); - } - - }; // Per contract of the Proxy API, the "get" proxy handler must return the - // original value of the target if that value is declared read-only and - // non-configurable. For this reason, we create an object with the - // prototype set to `target` instead of using `target` directly. - // Otherwise we cannot return a custom object for APIs that - // are declared read-only and non-configurable, such as `chrome.devtools`. - // - // The proxy handlers themselves will still use the original `target` - // instead of the `proxyTarget`, so that the methods and properties are - // dereferenced via the original targets. - - let proxyTarget = Object.create(target); - return new Proxy(proxyTarget, handlers); - }; - /** - * Creates a set of wrapper functions for an event object, which handles - * wrapping of listener functions that those messages are passed. - * - * A single wrapper is created for each listener function, and stored in a - * map. Subsequent calls to `addListener`, `hasListener`, or `removeListener` - * retrieve the original wrapper, so that attempts to remove a - * previously-added listener work as expected. - * - * @param {DefaultWeakMap} wrapperMap - * A DefaultWeakMap object which will create the appropriate wrapper - * for a given listener function when one does not exist, and retrieve - * an existing one when it does. - * - * @returns {object} - */ - - - const wrapEvent = wrapperMap => ({ - addListener(target, listener, ...args) { - target.addListener(wrapperMap.get(listener), ...args); - }, - - hasListener(target, listener) { - return target.hasListener(wrapperMap.get(listener)); - }, - - removeListener(target, listener) { - target.removeListener(wrapperMap.get(listener)); - } - - }); // Keep track if the deprecation warning has been logged at least once. - - - let loggedSendResponseDeprecationWarning = false; - const onMessageWrappers = new DefaultWeakMap(listener => { - if (typeof listener !== "function") { - return listener; - } - /** - * Wraps a message listener function so that it may send responses based on - * its return value, rather than by returning a sentinel value and calling a - * callback. If the listener function returns a Promise, the response is - * sent when the promise either resolves or rejects. - * - * @param {*} message - * The message sent by the other end of the channel. - * @param {object} sender - * Details about the sender of the message. - * @param {function(*)} sendResponse - * A callback which, when called with an arbitrary argument, sends - * that value as a response. - * @returns {boolean} - * True if the wrapped listener returned a Promise, which will later - * yield a response. False otherwise. - */ - - - return function onMessage(message, sender, sendResponse) { - let didCallSendResponse = false; - let wrappedSendResponse; - let sendResponsePromise = new Promise(resolve => { - wrappedSendResponse = function (response) { - if (!loggedSendResponseDeprecationWarning) { - console.warn(SEND_RESPONSE_DEPRECATION_WARNING, new Error().stack); - loggedSendResponseDeprecationWarning = true; - } - - didCallSendResponse = true; - resolve(response); - }; - }); - let result; - - try { - result = listener(message, sender, wrappedSendResponse); - } catch (err) { - result = Promise.reject(err); - } - - const isResultThenable = result !== true && isThenable(result); // If the listener didn't returned true or a Promise, or called - // wrappedSendResponse synchronously, we can exit earlier - // because there will be no response sent from this listener. - - if (result !== true && !isResultThenable && !didCallSendResponse) { - return false; - } // A small helper to send the message if the promise resolves - // and an error if the promise rejects (a wrapped sendMessage has - // to translate the message into a resolved promise or a rejected - // promise). - - - const sendPromisedResult = promise => { - promise.then(msg => { - // send the message value. - sendResponse(msg); - }, error => { - // Send a JSON representation of the error if the rejected value - // is an instance of error, or the object itself otherwise. - let message; - - if (error && (error instanceof Error || typeof error.message === "string")) { - message = error.message; - } else { - message = "An unexpected error occurred"; - } - - sendResponse({ - __mozWebExtensionPolyfillReject__: true, - message - }); - }).catch(err => { - // Print an error on the console if unable to send the response. - console.error("Failed to send onMessage rejected reply", err); - }); - }; // If the listener returned a Promise, send the resolved value as a - // result, otherwise wait the promise related to the wrappedSendResponse - // callback to resolve and send it as a response. - - - if (isResultThenable) { - sendPromisedResult(result); - } else { - sendPromisedResult(sendResponsePromise); - } // Let Chrome know that the listener is replying. - - - return true; - }; - }); - - const wrappedSendMessageCallback = ({ - reject, - resolve - }, reply) => { - if (extensionAPIs.runtime.lastError) { - // Detect when none of the listeners replied to the sendMessage call and resolve - // the promise to undefined as in Firefox. - // See https://github.com/mozilla/webextension-polyfill/issues/130 - if (extensionAPIs.runtime.lastError.message === CHROME_SEND_MESSAGE_CALLBACK_NO_RESPONSE_MESSAGE) { - resolve(); - } else { - reject(extensionAPIs.runtime.lastError); - } - } else if (reply && reply.__mozWebExtensionPolyfillReject__) { - // Convert back the JSON representation of the error into - // an Error instance. - reject(new Error(reply.message)); - } else { - resolve(reply); - } - }; - - const wrappedSendMessage = (name, metadata, apiNamespaceObj, ...args) => { - if (args.length < metadata.minArgs) { - throw new Error(`Expected at least ${metadata.minArgs} ${pluralizeArguments(metadata.minArgs)} for ${name}(), got ${args.length}`); - } - - if (args.length > metadata.maxArgs) { - throw new Error(`Expected at most ${metadata.maxArgs} ${pluralizeArguments(metadata.maxArgs)} for ${name}(), got ${args.length}`); - } - - return new Promise((resolve, reject) => { - const wrappedCb = wrappedSendMessageCallback.bind(null, { - resolve, - reject - }); - args.push(wrappedCb); - apiNamespaceObj.sendMessage(...args); - }); - }; - - const staticWrappers = { - runtime: { - onMessage: wrapEvent(onMessageWrappers), - onMessageExternal: wrapEvent(onMessageWrappers), - sendMessage: wrappedSendMessage.bind(null, "sendMessage", { - minArgs: 1, - maxArgs: 3 - }) - }, - tabs: { - sendMessage: wrappedSendMessage.bind(null, "sendMessage", { - minArgs: 2, - maxArgs: 3 - }) - } - }; - const settingMetadata = { - clear: { - minArgs: 1, - maxArgs: 1 - }, - get: { - minArgs: 1, - maxArgs: 1 - }, - set: { - minArgs: 1, - maxArgs: 1 - } - }; - apiMetadata.privacy = { - network: { - "*": settingMetadata - }, - services: { - "*": settingMetadata - }, - websites: { - "*": settingMetadata - } - }; - return wrapObject(extensionAPIs, staticWrappers, apiMetadata); - }; - - if (typeof chrome != "object" || !chrome || !chrome.runtime || !chrome.runtime.id) { - throw new Error("This script should only be loaded in a browser extension."); - } // The build process adds a UMD wrapper around this file, which makes the - // `module` variable available. - - - module.exports = wrapAPIs(chrome); - } else { - module.exports = browser; - } -}); -//# sourceMappingURL=browser-polyfill.js.map diff --git a/apps/web-clipper/lib/cash.min.js b/apps/web-clipper/lib/cash.min.js deleted file mode 100644 index 044700612a..0000000000 --- a/apps/web-clipper/lib/cash.min.js +++ /dev/null @@ -1,40 +0,0 @@ -/* MIT https://github.com/kenwheeler/cash */ -(function(){ -'use strict';var e={"class":"className",contenteditable:"contentEditable","for":"htmlFor",readonly:"readOnly",maxlength:"maxLength",tabindex:"tabIndex",colspan:"colSpan",rowspan:"rowSpan",usemap:"useMap"};function g(a,b){try{return a(b)}catch(c){return b}} -var m=document,n=window,p=m.documentElement,r=m.createElement.bind(m),aa=r("div"),t=r("table"),ba=r("tbody"),ca=r("tr"),u=Array.isArray,v=Array.prototype,da=v.concat,w=v.filter,ea=v.indexOf,fa=v.map,ha=v.push,ia=v.slice,x=v.some,ja=v.splice,ka=/^#[\w-]*$/,la=/^\.[\w-]*$/,ma=/<.+>/,na=/^\w+$/;function y(a,b){return a&&(A(b)||B(b))?la.test(a)?b.getElementsByClassName(a.slice(1)):na.test(a)?b.getElementsByTagName(a):b.querySelectorAll(a):[]} -var C=function(){function a(a,c){if(a){if(a instanceof C)return a;var b=a;if(D(a)){if(b=(c instanceof C?c[0]:c)||m,b=ka.test(a)?b.getElementById(a.slice(1)):ma.test(a)?oa(a):y(a,b),!b)return}else if(E(a))return this.ready(a);if(b.nodeType||b===n)b=[b];this.length=b.length;a=0;for(c=this.length;aarguments.length?this[0]&&this[0][a]:this.each(function(c,h){h[a]=b});for(var c in a)this.prop(c,a[c]);return this}};F.get=function(a){if(void 0===a)return ia.call(this);a=Number(a);return this[0>a?a+this.length:a]};F.eq=function(a){return G(this.get(a))}; -F.first=function(){return this.eq(0)};F.last=function(){return this.eq(-1)};function L(a){return D(a)?function(b,c){return qa(c,a)}:E(a)?a:a instanceof C?function(b,c){return a.is(c)}:a?function(b,c){return c===a}:function(){return!1}}F.filter=function(a){var b=L(a);return G(w.call(this,function(a,d){return b.call(a,d,a)}))};function M(a,b){return b?a.filter(b):a}var sa=/\S+/g;function N(a){return D(a)?a.match(sa)||[]:[]}F.hasClass=function(a){return!!a&&x.call(this,function(b){return B(b)&&b.classList.contains(a)})}; -F.removeAttr=function(a){var b=N(a);return this.each(function(a,d){B(d)&&I(b,function(a,b){d.removeAttribute(b)})})};F.attr=function(a,b){if(a){if(D(a)){if(2>arguments.length){if(!this[0]||!B(this[0]))return;var c=this[0].getAttribute(a);return null===c?void 0:c}return void 0===b?this:null===b?this.removeAttr(a):this.each(function(c,h){B(h)&&h.setAttribute(a,b)})}for(c in a)this.attr(c,a[c]);return this}}; -F.toggleClass=function(a,b){var c=N(a),d=void 0!==b;return this.each(function(a,f){B(f)&&I(c,function(a,c){d?b?f.classList.add(c):f.classList.remove(c):f.classList.toggle(c)})})};F.addClass=function(a){return this.toggleClass(a,!0)};F.removeClass=function(a){return arguments.length?this.toggleClass(a,!1):this.attr("class","")}; -function O(a,b,c,d){for(var h=[],f=E(b),k=d&&L(d),q=0,R=a.length;qarguments.length)return this[0]&&Q(this[0],a,c);if(!a)return this;b=xa(a,b,c);return this.each(function(d,f){B(f)&&(c?f.style.setProperty(a,b):f.style[a]=b)})}for(var d in a)this.css(d,a[d]);return this};var ya=/^\s+|\s+$/;function za(a,b){a=a.dataset[b]||a.dataset[H(b)];return ya.test(a)?a:g(JSON.parse,a)} -F.data=function(a,b){if(!a){if(!this[0])return;var c={},d;for(d in this[0].dataset)c[d]=za(this[0],d);return c}if(D(a))return 2>arguments.length?this[0]&&za(this[0],a):void 0===b?this:this.each(function(c,d){c=b;c=g(JSON.stringify,c);d.dataset[H(a)]=c});for(d in a)this.data(d,a[d]);return this};function Aa(a,b){var c=a.documentElement;return Math.max(a.body["scroll"+b],c["scroll"+b],a.body["offset"+b],c["offset"+b],c["client"+b])} -function Ba(a,b){return S(a,"border"+(b?"Left":"Top")+"Width")+S(a,"padding"+(b?"Left":"Top"))+S(a,"padding"+(b?"Right":"Bottom"))+S(a,"border"+(b?"Right":"Bottom")+"Width")} -I([!0,!1],function(a,b){I(["Width","Height"],function(a,d){F[(b?"outer":"inner")+d]=function(c){if(this[0])return K(this[0])?b?this[0]["inner"+d]:this[0].document.documentElement["client"+d]:A(this[0])?Aa(this[0],d):this[0][(b?"offset":"client")+d]+(c&&b?S(this[0],"margin"+(a?"Top":"Left"))+S(this[0],"margin"+(a?"Bottom":"Right")):0)}})}); -I(["Width","Height"],function(a,b){var c=b.toLowerCase();F[c]=function(d){if(!this[0])return void 0===d?void 0:this;if(!arguments.length)return K(this[0])?this[0].document.documentElement["client"+b]:A(this[0])?Aa(this[0],b):this[0].getBoundingClientRect()[c]-Ba(this[0],!a);var h=parseInt(d,10);return this.each(function(b,d){B(d)&&(b=Q(d,"boxSizing"),d.style[c]=xa(c,h+("border-box"===b?Ba(d,!a):0)))})}});var V={}; -F.toggle=function(a){return this.each(function(b,c){if(B(c))if(void 0===a?"none"===Q(c,"display"):a){if(c.style.display=c.___cd||"","none"===Q(c,"display")){b=c.style;c=c.tagName;if(V[c])c=V[c];else{var d=r(c);m.body.insertBefore(d,null);var h=Q(d,"display");m.body.removeChild(d);c=V[c]="none"!==h?h:"block"}b.display=c}}else c.___cd=Q(c,"display"),c.style.display="none"})};F.hide=function(){return this.toggle(!1)};F.show=function(){return this.toggle(!0)}; -function Ca(a,b){return!b||!x.call(b,function(b){return 0>a.indexOf(b)})}var W={focus:"focusin",blur:"focusout"},Da={mouseenter:"mouseover",mouseleave:"mouseout"},Ea=/^(mouse|pointer|contextmenu|drag|drop|click|dblclick)/i;function Fa(a,b,c,d,h){var f=a.___ce=a.___ce||{};f[b]=f[b]||[];f[b].push([c,d,h]);a.addEventListener(b,h)}function X(a){a=a.split(".");return[a[0],a.slice(1).sort()]} -function Y(a,b,c,d,h){var f=a.___ce=a.___ce||{};if(b)f[b]&&(f[b]=f[b].filter(function(f){var k=f[0],R=f[1];f=f[2];if(h&&f.guid!==h.guid||!Ca(k,c)||d&&d!==R)return!0;a.removeEventListener(b,f)}));else for(b in f)Y(a,b,c,d,h)} -F.off=function(a,b,c){var d=this;if(void 0===a)this.each(function(a,b){(B(b)||A(b)||K(b))&&Y(b)});else if(D(a))E(b)&&(c=b,b=""),I(N(a),function(a,h){a=X(Da[h]||W[h]||h);var f=a[0],k=a[1];d.each(function(a,d){(B(d)||A(d)||K(d))&&Y(d,f,k,b,c)})});else for(var h in a)this.off(h,a[h]);return this}; -F.on=function(a,b,c,d,h){var f=this;if(!D(a)){for(var k in a)this.on(k,b,c,a[k],h);return this}D(b)||(void 0!==b&&null!==b&&(void 0!==c&&(d=c),c=b),b="");E(d)||(d=c,c=void 0);if(!d)return this;I(N(a),function(a,k){a=X(Da[k]||W[k]||k);var l=a[0],q=a[1];l&&f.each(function(a,f){if(B(f)||A(f)||K(f))a=function Ja(a){if(!a.namespace||Ca(q,a.namespace.split("."))){var k=f;if(b){for(var z=a.target;!qa(z,b);){if(z===f)return;z=z.parentNode;if(!z)return}k=z;a.___cd=!0}a.___cd&&Object.defineProperty(a,"currentTarget", -{configurable:!0,get:function(){return k}});Object.defineProperty(a,"data",{configurable:!0,get:function(){return c}});z=d.call(k,a,a.___td);h&&Y(f,l,q,b,Ja);!1===z&&(a.preventDefault(),a.stopPropagation())}},a.guid=d.guid=d.guid||G.guid++,Fa(f,l,q,b,a)})});return this};F.one=function(a,b,c,d){return this.on(a,b,c,d,!0)};F.ready=function(a){function b(){return setTimeout(a,0,G)}"loading"!==m.readyState?b():m.addEventListener("DOMContentLoaded",b);return this}; -F.trigger=function(a,b){if(D(a)){var c=X(a),d=c[0];c=c[1];if(!d)return this;var h=Ea.test(d)?"MouseEvents":"HTMLEvents";a=m.createEvent(h);a.initEvent(d,!0,!0);a.namespace=c.join(".")}a.___td=b;var f=a.type in W;return this.each(function(b,c){if(f&&E(c[a.type]))c[a.type]();else c.dispatchEvent(a)})};function Ga(a){return a.multiple&&a.options?O(w.call(a.options,function(a){return a.selected&&!a.disabled&&!a.parentNode.disabled}),"value"):a.value||""} -var Ha=/%20/g,Ia=/\r?\n/g,Ka=/file|reset|submit|button|image/i,La=/radio|checkbox/i;F.serialize=function(){var a="";this.each(function(b,c){I(c.elements||[c],function(b,c){c.disabled||!c.name||"FIELDSET"===c.tagName||Ka.test(c.type)||La.test(c.type)&&!c.checked||(b=Ga(c),void 0!==b&&(b=u(b)?b:[b],I(b,function(b,d){b=a;d="&"+encodeURIComponent(c.name)+"="+encodeURIComponent(d.replace(Ia,"\r\n")).replace(Ha,"+");a=b+d})))})});return a.slice(1)}; -F.val=function(a){return arguments.length?this.each(function(b,c){if((b=c.multiple&&c.options)||La.test(c.type)){var d=u(a)?fa.call(a,String):null===a?[]:[String(a)];b?I(c.options,function(a,b){b.selected=0<=d.indexOf(b.value)},!0):c.checked=0<=d.indexOf(c.value)}else c.value=void 0===a||null===a?"":a}):this[0]&&Ga(this[0])};F.clone=function(){return this.map(function(a,b){return b.cloneNode(!0)})};F.detach=function(a){M(this,a).each(function(a,c){c.parentNode&&c.parentNode.removeChild(c)});return this}; -var Ma=/^\s*<(\w+)[^>]*>/,Na=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,Oa={"*":aa,tr:ba,td:ca,th:ca,thead:t,tbody:t,tfoot:t};function oa(a){if(!D(a))return[];if(Na.test(a))return[r(RegExp.$1)];var b=Ma.test(a)&&RegExp.$1;b=Oa[b]||Oa["*"];b.innerHTML=a;return G(b.childNodes).detach().get()}G.parseHTML=oa;F.empty=function(){return this.each(function(a,b){for(;b.firstChild;)b.removeChild(b.firstChild)})}; -F.html=function(a){return arguments.length?void 0===a?this:this.each(function(b,c){B(c)&&(c.innerHTML=a)}):this[0]&&this[0].innerHTML};F.remove=function(a){M(this,a).detach().off();return this};F.text=function(a){return void 0===a?this[0]?this[0].textContent:"":this.each(function(b,c){B(c)&&(c.textContent=a)})};F.unwrap=function(){this.parent().each(function(a,b){"BODY"!==b.tagName&&(a=G(b),a.replaceWith(a.children()))});return this}; -F.offset=function(){var a=this[0];if(a)return a=a.getBoundingClientRect(),{top:a.top+n.pageYOffset,left:a.left+n.pageXOffset}};F.offsetParent=function(){return this.map(function(a,b){for(a=b.offsetParent;a&&"static"===Q(a,"position");)a=a.offsetParent;return a||p})}; -F.position=function(){var a=this[0];if(a){var b="fixed"===Q(a,"position"),c=b?a.getBoundingClientRect():this.offset();if(!b){var d=a.ownerDocument;for(b=a.offsetParent||d.documentElement;(b===d.body||b===d.documentElement)&&"static"===Q(b,"position");)b=b.parentNode;b!==a&&B(b)&&(d=G(b).offset(),c.top-=d.top+S(b,"borderTopWidth"),c.left-=d.left+S(b,"borderLeftWidth"))}return{top:c.top-S(a,"marginTop"),left:c.left-S(a,"marginLeft")}}}; -F.children=function(a){return M(G(P(O(this,function(a){return a.children}))),a)};F.contents=function(){return G(P(O(this,function(a){return"IFRAME"===a.tagName?[a.contentDocument]:"TEMPLATE"===a.tagName?a.content.childNodes:a.childNodes})))};F.find=function(a){return G(P(O(this,function(b){return y(a,b)})))};var Pa=/^\s*\s*$/g,Qa=/^$|^module$|\/(java|ecma)script/i,Ra=["type","src","nonce","noModule"]; -function Sa(a,b){a=G(a);a.filter("script").add(a.find("script")).each(function(a,d){if(Qa.test(d.type)&&p.contains(d)){var c=r("script");c.text=d.textContent.replace(Pa,"");I(Ra,function(a,b){d[b]&&(c[b]=d[b])});b.head.insertBefore(c,null);b.head.removeChild(c)}})} -function Z(a,b,c,d,h,f,k,q){I(a,function(a,f){I(G(f),function(a,f){I(G(b),function(b,k){var l=c?k:f;b=c?a:b;k=c?f:k;l=b?l.cloneNode(!0):l;b=!b;h?k.insertBefore(l,d?k.firstChild:null):k.parentNode.insertBefore(l,d?k:k.nextSibling);b&&Sa(l,k.ownerDocument)},q)},k)},f);return b}F.after=function(){return Z(arguments,this,!1,!1,!1,!0,!0)};F.append=function(){return Z(arguments,this,!1,!1,!0)};F.appendTo=function(a){return Z(arguments,this,!0,!1,!0)};F.before=function(){return Z(arguments,this,!1,!0)}; -F.insertAfter=function(a){return Z(arguments,this,!0,!1,!1,!1,!1,!0)};F.insertBefore=function(a){return Z(arguments,this,!0,!0)};F.prepend=function(){return Z(arguments,this,!1,!0,!0,!0,!0)};F.prependTo=function(a){return Z(arguments,this,!0,!0,!0,!1,!1,!0)};F.replaceWith=function(a){return this.before(a).remove()};F.replaceAll=function(a){G(a).replaceWith(this);return this};F.wrapAll=function(a){a=G(a);for(var b=a[0];b.children.length;)b=b.firstElementChild;this.first().before(a);return this.appendTo(b)}; -F.wrap=function(a){return this.each(function(b,c){var d=G(a)[0];G(c).wrapAll(b?d.cloneNode(!0):d)})};F.wrapInner=function(a){return this.each(function(b,c){b=G(c);c=b.contents();c.length?c.wrapAll(a):b.append(a)})};F.has=function(a){var b=D(a)?function(b,d){return y(a,d).length}:function(b,d){return d.contains(a)};return this.filter(b)};F.is=function(a){var b=L(a);return x.call(this,function(a,d){return b.call(a,d,a)})};F.next=function(a,b,c){return M(G(P(O(this,"nextElementSibling",b,c))),a)}; -F.nextAll=function(a){return this.next(a,!0)};F.nextUntil=function(a,b){return this.next(b,!0,a)};F.not=function(a){var b=L(a);return this.filter(function(c,d){return(!D(a)||B(d))&&!b.call(d,c,d)})};F.parent=function(a){return M(G(P(O(this,"parentNode"))),a)};F.index=function(a){var b=a?G(a)[0]:this[0];a=a?this:G(b).parent().children();return ea.call(a,b)};F.closest=function(a){var b=this.filter(a);if(b.length)return b;var c=this.parent();return c.length?c.closest(a):b}; -F.parents=function(a,b){return M(G(P(O(this,"parentElement",!0,b))),a)};F.parentsUntil=function(a,b){return this.parents(b,a)};F.prev=function(a,b,c){return M(G(P(O(this,"previousElementSibling",b,c))),a)};F.prevAll=function(a){return this.prev(a,!0)};F.prevUntil=function(a,b){return this.prev(b,!0,a)};F.siblings=function(a){return M(G(P(O(this,function(a){return G(a).parent().children().not(a)}))),a)};"undefined"!==typeof exports?module.exports=G:n.cash=n.$=G; -})(); \ No newline at end of file diff --git a/apps/web-clipper/manifest.json b/apps/web-clipper/manifest.json deleted file mode 100644 index fe3b983023..0000000000 --- a/apps/web-clipper/manifest.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "manifest_version": 2, - "name": "Trilium Web Clipper (dev)", - "version": "1.0.1", - "description": "Save web clippings to Trilium Notes.", - "homepage_url": "https://github.com/zadam/trilium-web-clipper", - "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'", - "icons": { - "32": "icons/32.png", - "48": "icons/48.png", - "96": "icons/96.png" - }, - "permissions": [ - "activeTab", - "tabs", - "http://*/", - "https://*/", - "", - "storage", - "contextMenus" - ], - "browser_action": { - "default_icon": "icons/32.png", - "default_title": "Trilium Web Clipper", - "default_popup": "popup/popup.html" - }, - "content_scripts": [ - { - "matches": [ - "" - ], - "js": [ - "lib/browser-polyfill.js", - "utils.js", - "content.js" - ] - } - ], - "background": { - "scripts": [ - "lib/browser-polyfill.js", - "utils.js", - "trilium_server_facade.js", - "background.js" - ] - }, - "options_ui": { - "page": "options/options.html" - }, - "commands": { - "saveSelection": { - "description": "Save the selected text into a note", - "suggested_key": { - "default": "Ctrl+Shift+S" - } - }, - "saveWholePage": { - "description": "Save the current page", - "suggested_key": { - "default": "Alt+Shift+S" - } - }, - "saveCroppedScreenshot": { - "description": "Take a cropped screenshot of the current page", - "suggested_key": { - "default": "Ctrl+Shift+E" - } - } - }, - "browser_specific_settings": { - "gecko": { - "id": "{1410742d-b377-40e7-a9db-63dc9c6ec99c}" - } - } -} diff --git a/apps/web-clipper/package.json b/apps/web-clipper/package.json new file mode 100644 index 0000000000..3ffd3eb627 --- /dev/null +++ b/apps/web-clipper/package.json @@ -0,0 +1,24 @@ +{ + "name": "@triliumnext/web-clipper", + "version": "1.1.1", + "description": "", + "main": "index.js", + "scripts": { + "dev": "wxt", + "dev:firefox": "wxt -b firefox", + "build": "wxt build", + "build:firefox": "wxt build -b firefox", + "zip": "wxt zip", + "zip:firefox": "wxt zip -b firefox", + "postinstall": "wxt prepare" + }, + "keywords": [], + "packageManager": "pnpm@10.28.2", + "devDependencies": { + "@wxt-dev/auto-icons": "1.1.0", + "wxt": "0.20.13" + }, + "dependencies": { + "cash-dom": "8.1.5" + } +} diff --git a/apps/web-clipper/trilium-web-clipper.iml b/apps/web-clipper/trilium-web-clipper.iml deleted file mode 100644 index c3e779f973..0000000000 --- a/apps/web-clipper/trilium-web-clipper.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/apps/web-clipper/trilium_server_facade.js b/apps/web-clipper/trilium_server_facade.js deleted file mode 100644 index 6f46893e50..0000000000 --- a/apps/web-clipper/trilium_server_facade.js +++ /dev/null @@ -1,225 +0,0 @@ -const PROTOCOL_VERSION_MAJOR = 1; - -function isDevEnv() { - const manifest = browser.runtime.getManifest(); - - return manifest.name.endsWith('(dev)'); -} - -class TriliumServerFacade { - constructor() { - this.triggerSearchForTrilium(); - - // continually scan for changes (if e.g. desktop app is started after browser) - setInterval(() => this.triggerSearchForTrilium(), 60 * 1000); - } - - async sendTriliumSearchStatusToPopup() { - try { - await browser.runtime.sendMessage({ - name: "trilium-search-status", - triliumSearch: this.triliumSearch - }); - } - catch (e) {} // nothing might be listening - } - async sendTriliumSearchNoteToPopup(){ - try{ - await browser.runtime.sendMessage({ - name: "trilium-previously-visited", - searchNote: this.triliumSearchNote - }) - - } - catch (e) {} // nothing might be listening - } - - setTriliumSearchNote(st){ - this.triliumSearchNote = st; - this.sendTriliumSearchNoteToPopup(); - } - - setTriliumSearch(ts) { - this.triliumSearch = ts; - - this.sendTriliumSearchStatusToPopup(); - } - - setTriliumSearchWithVersionCheck(json, resp) { - const [major, minor] = json.protocolVersion - .split(".") - .map(chunk => parseInt(chunk)); - - // minor version is intended to be used to dynamically limit features provided by extension - // if some specific Trilium API is not supported. So far not needed. - - if (major !== PROTOCOL_VERSION_MAJOR) { - this.setTriliumSearch({ - status: 'version-mismatch', - extensionMajor: PROTOCOL_VERSION_MAJOR, - triliumMajor: major - }); - } - else { - this.setTriliumSearch(resp); - } - } - - async triggerSearchForTrilium() { - this.setTriliumSearch({ status: 'searching' }); - - try { - const port = await this.getPort(); - - console.debug('Trying port ' + port); - - const resp = await fetch(`http://127.0.0.1:${port}/api/clipper/handshake`); - - const text = await resp.text(); - - console.log("Received response:", text); - - const json = JSON.parse(text); - - if (json.appName === 'trilium') { - this.setTriliumSearchWithVersionCheck(json, { - status: 'found-desktop', - port: port, - url: 'http://127.0.0.1:' + port - }); - - return; - } - } - catch (error) { - // continue - } - - const {triliumServerUrl} = await browser.storage.sync.get("triliumServerUrl"); - const {authToken} = await browser.storage.sync.get("authToken"); - - if (triliumServerUrl && authToken) { - try { - const resp = await fetch(triliumServerUrl + '/api/clipper/handshake', { - headers: { - Authorization: authToken - } - }); - - const text = await resp.text(); - - console.log("Received response:", text); - - const json = JSON.parse(text); - - if (json.appName === 'trilium') { - this.setTriliumSearchWithVersionCheck(json, { - status: 'found-server', - url: triliumServerUrl, - token: authToken - }); - - return; - } - } - catch (e) { - console.log("Request to the configured server instance failed with:", e); - } - } - - // if all above fails it's not found - this.setTriliumSearch({ status: 'not-found' }); - } - - async triggerSearchNoteByUrl(noteUrl) { - const resp = await triliumServerFacade.callService('GET', 'notes-by-url/' + encodeURIComponent(noteUrl)) - let newStatus = { - status: 'not-found', - noteId: null - } - if (resp && resp.noteId) { - newStatus.noteId = resp.noteId; - newStatus.status = 'found'; - } - this.setTriliumSearchNote(newStatus); - } - async waitForTriliumSearch() { - return new Promise((res, rej) => { - const checkStatus = () => { - if (this.triliumSearch.status === "searching") { - setTimeout(checkStatus, 500); - } - else if (this.triliumSearch.status === 'not-found') { - rej(new Error("Trilium instance has not been found.")); - } - else { - res(); - } - }; - - checkStatus(); - }); - } - - async getPort() { - const {triliumDesktopPort} = await browser.storage.sync.get("triliumDesktopPort"); - - if (triliumDesktopPort) { - return parseInt(triliumDesktopPort); - } - else { - return isDevEnv() ? 37740 : 37840; - } - } - - async callService(method, path, body) { - const fetchOptions = { - method: method, - headers: { - 'Content-Type': 'application/json' - }, - }; - - if (body) { - fetchOptions.body = typeof body === 'string' ? body : JSON.stringify(body); - } - - try { - await this.waitForTriliumSearch(); - - fetchOptions.headers.Authorization = this.triliumSearch.token || ""; - fetchOptions.headers['trilium-local-now-datetime'] = this.localNowDateTime(); - - const url = this.triliumSearch.url + "/api/clipper/" + path; - - console.log(`Sending ${method} request to ${url}`); - - const response = await fetch(url, fetchOptions); - - if (!response.ok) { - throw new Error(await response.text()); - } - - return await response.json(); - } - catch (e) { - console.log("Sending request to trilium failed", e); - - toast('Your request failed because we could not contact Trilium instance. Please make sure Trilium is running and is accessible.'); - - return null; - } - } - - localNowDateTime() { - const date = new Date(); - const off = date.getTimezoneOffset(); - const absoff = Math.abs(off); - return (new Date(date.getTime() - off * 60 * 1000).toISOString().substr(0,23).replace("T", " ") + - (off > 0 ? '-' : '+') + - (absoff / 60).toFixed(0).padStart(2,'0') + ':' + - (absoff % 60).toString().padStart(2,'0')); - } -} - -window.triliumServerFacade = new TriliumServerFacade(); diff --git a/apps/web-clipper/tsconfig.json b/apps/web-clipper/tsconfig.json new file mode 100644 index 0000000000..bed55354b9 --- /dev/null +++ b/apps/web-clipper/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": [ + "../../tsconfig.base.json", + "./.wxt/tsconfig.json" + ] +} \ No newline at end of file diff --git a/apps/web-clipper/types.d.ts b/apps/web-clipper/types.d.ts new file mode 100644 index 0000000000..4d83d0f28e --- /dev/null +++ b/apps/web-clipper/types.d.ts @@ -0,0 +1,7 @@ +interface Window { + showToast(message: string, opts?: { + settings?: { + duration: number; + } + }): void; +} diff --git a/apps/web-clipper/utils.js b/apps/web-clipper/utils.js deleted file mode 100644 index 9ec82b2c23..0000000000 --- a/apps/web-clipper/utils.js +++ /dev/null @@ -1,28 +0,0 @@ -function randomString(len) { - let text = ""; - const possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; - - for (let i = 0; i < len; i++) { - text += possible.charAt(Math.floor(Math.random() * possible.length)); - } - - return text; -} - -function getBaseUrl() { - let output = getPageLocationOrigin() + location.pathname; - - if (output[output.length - 1] !== '/') { - output = output.split('/'); - output.pop(); - output = output.join('/'); - } - - return output; -} - -function getPageLocationOrigin() { - // location.origin normally returns the protocol + domain + port (eg. https://example.com:8080) - // but for file:// protocol this is browser dependant and in particular Firefox returns "null" in this case. - return location.protocol === 'file:' ? 'file://' : location.origin; -} diff --git a/apps/web-clipper/utils.ts b/apps/web-clipper/utils.ts new file mode 100644 index 0000000000..7dbbafd038 --- /dev/null +++ b/apps/web-clipper/utils.ts @@ -0,0 +1,42 @@ +export type Rect = { x: number, y: number, width: number, height: number }; + +export function randomString(len: number) { + let text = ""; + const possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; + + for (let i = 0; i < len; i++) { + text += possible.charAt(Math.floor(Math.random() * possible.length)); + } + + return text; +} + +export function getBaseUrl() { + let output = getPageLocationOrigin() + location.pathname; + + if (output[output.length - 1] !== '/') { + const outputArr = output.split('/'); + outputArr.pop(); + output = outputArr.join('/'); + } + + return output; +} + +export function getPageLocationOrigin() { + // location.origin normally returns the protocol + domain + port (eg. https://example.com:8080) + // but for file:// protocol this is browser dependant and in particular Firefox returns "null" in this case. + return location.protocol === 'file:' ? 'file://' : location.origin; +} + +export function createLink(clickAction: object, text: string, color = "lightskyblue") { + const link = document.createElement('a'); + link.href = "javascript:"; + link.style.color = color; + link.appendChild(document.createTextNode(text)); + link.addEventListener("click", () => { + browser.runtime.sendMessage(null, clickAction); + }); + + return link; +} diff --git a/apps/web-clipper/wxt.config.ts b/apps/web-clipper/wxt.config.ts new file mode 100644 index 0000000000..4ce8c84b0f --- /dev/null +++ b/apps/web-clipper/wxt.config.ts @@ -0,0 +1,85 @@ +import { copyFile, readFile, rm, writeFile } from "fs/promises"; +import { defineConfig } from "wxt"; + +let originalTsConfig: object; + +export default defineConfig({ + modules: ['@wxt-dev/auto-icons'], + manifest: ({ manifestVersion }) => ({ + name: "Trilium Web Clipper", + description: "Save web clippings to Trilium Notes.", + homepage_url: "https://docs.triliumnotes.org/user-guide/setup/web-clipper", + permissions: [ + "activeTab", + "tabs", + "storage", + "contextMenus", + manifestVersion === 3 && "offscreen" + ].filter(Boolean), + host_permissions: [ + "http://*/", + "https://*/", + "", + ], + browser_specific_settings: { + gecko: { + // See https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings#id. + id: "web-clipper@triliumnotes.org", + // Firefox built-in data collection consent + // See https://extensionworkshop.com/documentation/develop/firefox-builtin-data-consent/ + // This extension only communicates with a user-configured Trilium instance + // and does not collect telemetry or send data to remote servers. + data_collection_permissions: { + required: ["none"] + } + } + }, + commands: { + saveSelection: { + description: "Save the selected text into a note", + suggested_key: { + default: "Ctrl+Shift+S" + } + }, + saveWholePage: { + description: "Save the current page", + suggested_key: { + default: "Alt+Shift+S" + } + }, + saveCroppedScreenshot: { + description: "Take a cropped screenshot of the current page", + suggested_key: { + default: "Ctrl+Shift+E" + } + } + } + }), + zip: { + artifactTemplate: "trilium-web-clipper-{{version}}-{{browser}}.zip", + includeSources: [ + "entrypoints/offscreen/index.html" + ] + }, + hooks: { + 'zip:sources:start': async () => { + // Rewrite tsconfig.base.json into the web-clipper app folder + await copyFile("../../tsconfig.base.json", "./tsconfig.base.json"); + + originalTsConfig = JSON.parse(await readFile("./tsconfig.json", "utf-8")); + const adjustedTsConfig = { + ...originalTsConfig, + extends: ["./tsconfig.base.json", "./.wxt/tsconfig.json"] + }; + + await writeFile("./tsconfig.json", JSON.stringify(adjustedTsConfig, null, 4), 'utf-8'); + }, + "zip:sources:done": async () => { + // Restore original tsconfig.json + await writeFile("./tsconfig.json", JSON.stringify(originalTsConfig, null, 4), 'utf-8'); + + // Remove the copied tsconfig.base.json + await rm("./tsconfig.base.json"); + } + } +}); diff --git a/apps/website/package.json b/apps/website/package.json index d04e686235..abf3284937 100644 --- a/apps/website/package.json +++ b/apps/website/package.json @@ -9,12 +9,12 @@ "preview": "pnpm build && vite preview" }, "dependencies": { - "i18next": "25.7.3", + "i18next": "25.8.0", "i18next-http-backend": "3.0.2", "preact": "10.28.2", "preact-iso": "2.11.1", "preact-render-to-string": "6.6.5", - "react-i18next": "16.5.1" + "react-i18next": "16.5.4" }, "devDependencies": { "@preact/preset-vite": "2.10.2", @@ -23,7 +23,7 @@ "typescript": "5.9.3", "user-agent-data-types": "0.4.2", "vite": "7.3.1", - "vitest": "4.0.16" + "vitest": "4.0.18" }, "eslintConfig": { "extends": "preact" diff --git a/apps/website/src/translations/de/translation.json b/apps/website/src/translations/de/translation.json index 07737e106a..d2c4bd5c82 100644 --- a/apps/website/src/translations/de/translation.json +++ b/apps/website/src/translations/de/translation.json @@ -21,7 +21,7 @@ "note_structure_description": "Notizen lassen sich hierarchisch anordnen. Ordner sind nicht nötig, da jede Notiz Unternotizen enthalten kann. Eine einzelne Notiz kann an mehreren Stellen in der Hierarchie hinzugefügt werden.", "hoisting_description": "Trennen Sie Ihre persönlichen und beruflichen Notizen ganz einfach, indem Sie sie in einem Arbeitsbereich gruppieren. Dadurch wird Ihre Notizstruktur so fokussiert, dass nur ein bestimmter Satz von Notizen angezeigt wird.", "hoisting_title": "Arbeitsbereiche und Fokusansicht", - "attributes_description": "Verwenden Sie Beziehungen zwischen Notizen oder fügen Sie Beschriftungen hinzu, um die Kategorisierung zu vereinfachen. Verwenden Sie hervorgehobene Attribute, um strukturierte Informationen einzugeben, die in Tabellen und Boards verwendet werden können." + "attributes_description": "Nutze Beziehungen zwischen Notizen oder füge Label hinzu um diese einfach zu kategorisieren. Verwende hervorgehobene Attribute um strukturierte Informationen zu hinterlegen die in Tabellen oder Boards verwendet werden." }, "productivity_benefits": { "revisions_title": "Notizrevisionen", @@ -30,7 +30,7 @@ "protected_notes_title": "Geschützte Notizen", "jump_to_title": "Schnellsuche und Kommandos", "search_title": "Leistungsstarke Suche", - "web_clipper_title": "Web clipper", + "web_clipper_title": "Webschnipsel", "revisions_content": "Notizen werden regelmäßig im Hintergrund gespeichert und Revisionen können zur Überprüfung oder zum Rückgängigmachen versehentlicher Änderungen verwendet werden. Revisionen können auch bei Bedarf erstellt werden.", "sync_content": "Verwenden Sie eine selbst gehostete oder Cloud-Instanz, um Ihre Notizen ganz einfach auf mehreren Geräten zu synchronisieren und über eine WebApp von Ihrem mobilen Gerät aus darauf zuzugreifen.", "protected_notes_content": "Halten Sie vertrauliche Informationen sicher, indem Sie Notizen verschlüsseln und mit einem Passwort schützen.", @@ -41,7 +41,7 @@ "note_types": { "text_title": "Text Notizen", "code_title": "Code Notizen", - "canvas_title": "Canvas", + "canvas_title": "Leinwand", "mermaid_title": "Mermaid Diagramm", "mindmap_title": "Mind Map", "text_description": "Die Notizen werden mit einem visuellen Editor (WYSIWYG) bearbeitet, der Tabellen, Bilder, mathematische Ausdrücke und Code-Blöcke mit Syntaxhervorhebung unterstützt. Formatieren Sie den Text schnell mit einer Markdown-ähnlichen Syntax oder mit Slash-Befehlen.", @@ -91,7 +91,7 @@ "download_helper_server_docker": { "title": "Self-hosted mit Docker", "description": "Schnelle Installation auf Windows, Linux oder macOS mit einem Docker-Container.", - "download_dockerhub": "Docker-Hub", + "download_dockerhub": "Docker Hub", "download_ghcr": "ghcr.io" }, "download_helper_desktop_linux": { @@ -162,7 +162,7 @@ }, "social_buttons": { "github": "GitHub", - "github_discussions": "GitHub Discussions", + "github_discussions": "GitHub Diskussionen", "matrix": "Matrix", "reddit": "Reddit" }, @@ -184,7 +184,7 @@ "way_market": "Weitersagen: Teilen Sie Trilium Notes mit Freunden, in Blogs und sozialen Medien." }, "404": { - "title": "404: Not Found", + "title": "404: Nicht gefunden", "description": "Die gesuchte Seite konnte nicht gefunden werden. Möglicherweise wurde sie gelöscht oder die URL ist falsch." }, "download_helper_desktop_windows": { @@ -193,7 +193,7 @@ "description_x64": "Kompatibel mit Intel- oder AMD-Geräten unter Windows 10 und 11.", "description_arm64": "Kompatibel mit ARM-Geräten (z. B. mit Qualcomm Snapdragon).", "quick_start": "Installation über Winget:", - "download_exe": "Download Installer (.exe)", + "download_exe": "Installationsdatei herunterladen (.exe)", "download_zip": "Portable (.zip)", "download_scoop": "Scoop" } diff --git a/apps/website/src/translations/hi/translation.json b/apps/website/src/translations/hi/translation.json index af8bf586df..52211c7236 100644 --- a/apps/website/src/translations/hi/translation.json +++ b/apps/website/src/translations/hi/translation.json @@ -24,7 +24,8 @@ "mindmap_title": "माइंडमैप" }, "extensibility_benefits": { - "share_title": "वेब पर नोट्स शेयर करें" + "share_title": "वेब पर नोट्स शेयर करें", + "share_description": "अगर आपके पास सर्वर है, तो इसका उपयोग अपने नोट्स के एक हिस्से को अन्य लोगों के साथ शेयर करने के लिए किया जा सकता है।" }, "collections": { "calendar_title": "कैलेंडर", diff --git a/apps/website/src/translations/id/translation.json b/apps/website/src/translations/id/translation.json index 6c8074293a..d27b569b84 100644 --- a/apps/website/src/translations/id/translation.json +++ b/apps/website/src/translations/id/translation.json @@ -18,6 +18,60 @@ "title": "Organisasi", "note_structure_title": "Struktur catatan", "note_structure_description": "Catatan dapat disusun secara hirarkis. Tidak perlu folder, karena setiap catatan dapat mengandung catatan anak. Satu catatan dapat ditambah di beberapa tempat sekaligus dalam hirarki.", - "attributes_title": "Label dan hubungan catatan" + "attributes_title": "Label dan hubungan catatan", + "attributes_description": "Gunakan relasi antar catatan atau tambahkan label untuk kategorisasi yang mudah. Gunakan atribut utama untuk memasukkan informasi terstruktur yang dapat digunakan dalam tabel atau papan (boards).", + "hoisting_title": "Workspace dan Area Fokus", + "hoisting_description": "Dengan mudah memisahkan catatan personal dan kerjaan dengan grouping dalam workspace, fokus hanya ke catatan-catatan yang spesifik di workspace tertentu." + }, + "productivity_benefits": { + "title": "Produktivitas dan Keamanan", + "revisions_title": "Revisi Catatan", + "revisions_content": "Catatan akan secara periodik disimpan dalam bentuk revisi secara otomatis dan versi revisi-revisi bisa digunakan untuk mengulas kembali atau melakukan undo jika ada kesalahan atau perubahan yang tidak disengaja. Versi revisi juga bisa dibuat sesuai kebutuhan.", + "sync_title": "Sinkronisasi", + "sync_content": "Gunakan hostinganmu sendiri atau instansi cloud untuk sinkronisasi mudah catatan-catatan anda pada beberapa perangkat, dan untuk akses dari ponsel anda dengan PWA.", + "search_content": "Atau cari teks di dalam catatan lalu lebih dalam dengan cari catatan induk, atau berdasarkan kedalaman.", + "web_clipper_title": "Penyemat Web", + "web_clipper_content": "Mengambil halaman web (atau foto halaman web) dan disematkan langsung ke catatan Trilium dengan ekstensi browser penyemat web.", + "protected_notes_title": "Catatan terlindungi", + "protected_notes_content": "Lindungi informasi pribadi sensitif dengan mengenkripsi catatan dan menguncinya di balik sesi yang dilindungi kata sandi.", + "jump_to_title": "Pencarian cepat dan perintah", + "jump_to_content": "Melompat dengan cepat ke catatan atau perintah UI di seluruh hierarki dengan mencari judulnya, dengan pencocokan kabur untuk memperhitungkan kesalahan ketik atau perbedaan kecil.", + "search_title": "Pencarian mumpuni" + }, + "note_types": { + "title": "Cara-cara menampilkan informasi Anda", + "text_title": "Catatan teks", + "text_description": "Catatan-catatan ini diedit dengan editor visual (WYSIWYG), dengan dukungan tabel, gambar, ekspresi matematika, blok kode dengan penyorotan sintaks. Format teks catatan anda dengan sintaks Markdown atau gunakan fungsi panggilan slash(/).", + "code_title": "Catatan kode", + "code_description": "Gunakan editor khusus untuk kode source yang besar yang mempunyai penyorotan sintaks untuk banyak bahasa pemograman dengan tema-tema warna yang bervariasi.", + "file_title": "Catatan file", + "file_description": "Sematkan file multimedia (PDF, gambar, video) dengan pratinjau dalam aplikasi.", + "canvas_title": "Kanvas", + "canvas_description": "Susun bentuk, gambar, dan teks di atas kanvas tak terbatas menggunakan teknologi yang sama dengan excalidraw.com. Sangat ideal untuk diagram, sketsa, dan perencanaan visual.", + "mermaid_title": "Diagram mermaid", + "mermaid_description": "Buat diagram seperti diagram alur (flowchart), diagram kelas & urutan (class & sequence), bagan Gantt, dan banyak lagi, menggunakan sintaks Mermaid.", + "mindmap_title": "Peta pikiran (Mindmap)", + "mindmap_description": "Organisasikan pemikiran Anda secara visual atau lakukan sesi brainstorming.", + "others_list": "dan lainnya: <0>peta catatan, <1>peta relasi, <2>pencarian tersimpan, <3>render catatan, dan <4>tampilan web." + }, + "collections": { + "table_description": "Tampilkan dan edit informasi catatan dalam struktur tabel, dengan berbagai tipe kolom seperti teks, angka, kotak centang, tanggal & waktu, tautan, dan warna, serta dukungan untuk relasi catatan. Secara opsional, tampilkan catatan dalam hierarki pohon di dalam tabel.", + "board_title": "Papan Kanban", + "board_description": "Atur tugas atau status proyek Anda ke dalam papan Kanban dengan cara mudah untuk membuat item dan kolom baru, serta mengubah statusnya cukup dengan menyeretnya di sepanjang papan.", + "geomap_title": "Peta Geo", + "geomap_description": "Rencanakan liburan Anda atau tandai titik minat langsung pada peta geografis menggunakan penanda titik yang dapat disesuaikan. Tampilkan rekaman jalur GPX untuk melacak rencana perjalanan.", + "presentation_title": "Presentasi", + "presentation_description": "Atur informasi ke dalam slide dan presentasikan dalam layar penuh dengan transisi yang mulus. Slide juga dapat diekspor ke PDF agar mudah dibagikan." + }, + "faq": { + "title": "Tanya Jawab", + "mobile_question": "Apakah ada aplikasi mobile?", + "mobile_answer": "Saat ini belum ada aplikasi mobile resmi. Namun, jika Anda memiliki server, Anda dapat mengaksesnya menggunakan browser web dan bahkan menginstalnya sebagai PWA. Untuk Android, tersedia aplikasi tidak resmi bernama TriliumDroid yang dapat bekerja secara offline (sama seperti aplikasi desktop).", + "database_question": "Di manakah data disimpan?", + "database_answer": "Semua catatan Anda akan disimpan dalam basis data SQLite di dalam sebuah folder aplikasi. Alasan mengapa Trilium menggunakan basis data alih-alih file teks biasa adalah demi performa dan karena beberapa fitur akan jauh lebih sulit untuk diterapkan, seperti klon (catatan yang sama di beberapa tempat dalam hierarki). Untuk menemukan folder aplikasinya, cukup buka jendela 'Tentang'.", + "server_question": "Apakah saya butuh server untuk menjalankan Trilium?" + }, + "extensibility_benefits": { + "share_title": "Bagikan catatan di web" } } diff --git a/apps/website/src/translations/ko/translation.json b/apps/website/src/translations/ko/translation.json index b65d463022..3504047426 100644 --- a/apps/website/src/translations/ko/translation.json +++ b/apps/website/src/translations/ko/translation.json @@ -48,7 +48,8 @@ }, "header": { "get-started": "시작하기", - "documentation": "문서" + "documentation": "문서", + "support-us": "후원하기" }, "support_us": { "financial_donations_title": "금전적 기부", @@ -56,7 +57,8 @@ "financial_donations_cta": "애플리케이션의 주요 개발자 (eliandoran)을 다음 방법으로 후원하는 것을 고려해 주십시오.", "github_sponsors": "GitHub Sponsors", "paypal": "페이팔", - "buy_me_a_coffee": "Buy Me A Coffee" + "buy_me_a_coffee": "Buy Me A Coffee", + "title": "후원하기" }, "contribute": { "title": "기여할 수 있는 다른 방법", @@ -84,7 +86,14 @@ "title_x64": "리눅스 64비트", "title_arm64": "ARM 기반 리눅스", "description_x64": "대부분의 리눅스 배포판에서 x86_64 아키텍처와 호환됩니다.", - "description_arm64": "ARM 기반 리눅스 배포판에서 aarch64 아키텍처와 호환됩니다." + "description_arm64": "ARM 기반 리눅스 배포판에서 aarch64 아키텍처와 호환됩니다.", + "quick_start": "사용하시는 배포판에 따라 적절한 패키지 형식을 선택해주세요:", + "download_deb": ".deb", + "download_rpm": ".rpm", + "download_flatpak": ".flatpak", + "download_zip": "포터블 (.zip)", + "download_nixpkgs": "nixpkgs", + "download_aur": "AUR" }, "note_types": { "text_title": "텍스트 노트", @@ -148,5 +157,44 @@ }, "components": { "link_learn_more": "자세히 알아보기..." + }, + "footer": { + "copyright_and_the": " 그리고 ", + "copyright_community": "커뮤니티" + }, + "social_buttons": { + "github": "GitHub", + "github_discussions": "GitHub Discussions", + "matrix": "Matrix", + "reddit": "Reddit" + }, + "download_helper_desktop_macos": { + "title_x64": "macOS (Intel)", + "title_arm64": "macOS (Apple Silicon)", + "description_x64": "Intel Mac은 Monterey 버전 이상 macOS에서 지원합니다.", + "description_arm64": "M1, M2 칩과 같은 Apple Silicon이 탑재된 Macs 전용.", + "quick_start": "Homebrew로 설치하는 경우:", + "download_dmg": "설치 프로그램 내려받기 (.dmg)", + "download_homebrew_cask": "Homebrew Cask", + "download_zip": "포터블 (.zip)" + }, + "download_helper_server_docker": { + "title": "Docker를 사용한 셀프 호스팅", + "description": "Docker 컨테이너를 사용하여 Windows, Linux 또는 macOS에 간편하게 배포할 수 있습니다.", + "download_dockerhub": "도커 허브", + "download_ghcr": "ghcr.io" + }, + "download_helper_server_linux": { + "title": "리눅스에서 셀프 호스팅", + "description": "Trilium Notes를 자체 서버 또는 VPS에 배포하세요. 대부분의 배포판과 호환됩니다.", + "download_tar_x64": "x64 (.tar.xz)", + "download_tar_arm64": "ARM (.tar.xz)", + "download_nixos": "NixOS 모듈" + }, + "download_helper_server_hosted": { + "title": "유료 호스팅", + "description": "Trilium Notes는 간편한 접근 및 관리를 위해 유료 서비스인 PikaPods에서 호스팅할 수 있습니다. Trilium 팀과 직접 제휴되어있지는 않습니다.", + "download_pikapod": "PikaPods에서 설치하기", + "download_triliumcc": "또는 trilium.cc를 참조하세요" } } diff --git a/apps/website/src/translations/nb-NO/translation.json b/apps/website/src/translations/nb-NO/translation.json index 4da9a79f62..1d95d42604 100644 --- a/apps/website/src/translations/nb-NO/translation.json +++ b/apps/website/src/translations/nb-NO/translation.json @@ -26,7 +26,7 @@ "productivity_benefits": { "sync_title": "Synkronisering", "search_title": "Kraftig søk", - "web_clipper_title": "Web clipper", + "web_clipper_title": "Webklipper", "revisions_title": "Notatrevisjon", "protected_notes_title": "Beskyttede notater", "title": "Produktivitet og sikkerhet", @@ -87,7 +87,7 @@ "github": "GitHub", "matrix": "Matrix", "reddit": "Reddit", - "github_discussions": "GitHub Discussions" + "github_discussions": "GitHub-diskusjoner" }, "support_us": { "paypal": "PayPal", diff --git a/apps/website/src/translations/tr/translation.json b/apps/website/src/translations/tr/translation.json index f554703497..7c4b0822db 100644 --- a/apps/website/src/translations/tr/translation.json +++ b/apps/website/src/translations/tr/translation.json @@ -13,5 +13,12 @@ "github": "GitHub", "dockerhub": "Docker Hub", "screenshot_alt": "Trilium Notes masaüstü uygulamasının ekran görüntüsü" + }, + "organization_benefits": { + "title": "Organizasyon", + "note_structure_title": "Not yapısı", + "note_structure_description": "Notlar hiyerarşik olarak düzenlenebilir. Her not 'alt notlar' içerebildiği için klasörlere ihtiyaç duyulmaz. Tek bir not, hiyerarşinin birden fazla noktasına eklenebilir.", + "attributes_description": "Notlar arasında ilişkiler kurun veya kolay kategorizasyon için etiketler ekleyin. Tablolarda ve panolarda kullanılabilen yapılandırılmış bilgileri eklemek için öne çıkan öznitelikleri kullanın.", + "hoisting_description": "Kişisel ve iş notlarınızı bir çalışma alanı altında gruplandırarak kolayca ayırın; bu sayede not ağacınız yalnızca belirli bir not kümesini gösterecek şekilde odaklanacaktır." } } diff --git a/apps/website/src/translations/uk/translation.json b/apps/website/src/translations/uk/translation.json index 0c9995069a..b1ec2ecb4b 100644 --- a/apps/website/src/translations/uk/translation.json +++ b/apps/website/src/translations/uk/translation.json @@ -45,6 +45,137 @@ "code_description": "Великі зразки вихідного коду або скриптів використовують спеціальний редактор із підсвічуванням синтаксису для багатьох мов програмування та різними колірними темами.", "file_title": "Файлові нотатки", "file_description": "Вбудовуйте мультимедійні файли, такі як PDF-файли, зображення, відео, з попереднім переглядом у програмі.", - "canvas_title": "Полотно" + "canvas_title": "Полотно", + "title": "Кілька способів представлення вашої інформації", + "canvas_description": "Розташовуйте фігури, зображення та текст на нескінченному полотні, використовуючи ту саму технологію, що й excalidraw.com. Ідеально підходить для діаграм, ескізів та візуального планування.", + "mermaid_description": "Створюйте діаграми, такі як блок-схеми, діаграми класів та послідовностей, діаграми Ганта та багато іншого, використовуючи синтаксис Mermaid.", + "others_list": "та інші: <0>карта нотаток, <1>карта зв'язків, <2>збережені пошуки, <3>візуалізація нотаток та <4>веб-перегляди.", + "mermaid_title": "Mermaid діаграми" + }, + "extensibility_benefits": { + "title": "Спільне використання та розширюваність", + "import_export_title": "Імпорт/експорт", + "import_export_description": "Легко взаємодійте з іншими програмами, використовуючи формати Markdown, ENEX, OML.", + "share_title": "Діліться нотатками в Інтернеті", + "share_description": "Якщо у Вас є сервер, Ви можете використати його, щоб поділитися частиною своїх нотаток з іншими людьми.", + "api_title": "REST API", + "api_description": "Взаємодійте з Trilium програмно, використовуючи його вбудований REST API." + }, + "collections": { + "title": "Колекції", + "calendar_title": "Календар", + "calendar_description": "Організовуйте свої особисті або професійні події за допомогою календаря з підтримкою цілоденних та багатоденних подій. Переглядайте свої події з першого погляду завдяки тижневому, місячному та річному переглядам. Легке додавання або перетягування подій.", + "table_title": "Таблиця", + "table_description": "Відображайте та редагуйте інформацію про нотатки в табличній структурі з різними типами стовпців, такими як текст, число, прапорці, дата й час, посилання та кольори, а також підтримка зв'язків. За потреби відображайте нотатки в деревоподібній ієрархії всередині таблиці.", + "board_title": "Дошка Kanban", + "board_description": "Організуйте свої завдання або статуси проектів на дошці Kanbanза допомогою простого способу створення нових елементів і стовпців, а також простої зміни їх статусу шляхом перетягування по дошці.", + "geomap_title": "Геокарта", + "geomap_description": "Плануйте свою відпустку або позначайте цікаві місця безпосередньо на географічній карті за допомогою налаштовуваних маркерів. Відображайте записані GPX-треки для відстеження маршрутів.", + "presentation_title": "Презентація", + "presentation_description": "Упорядкуйте інформацію у слайди та презентуйте їх у повноекранному режимі з плавними переходами. Слайди також можна експортувати у PDF для зручного обміну." + }, + "faq": { + "title": "Часті запитання", + "mobile_question": "Чи є мобільний додаток?", + "mobile_answer": "Наразі офіційного мобільного застосунку немає. Однак, якщо у вас є серверний екземпляр, ви можете отримати до нього доступ за допомогою веббраузера та навіть встановити його як PWA. Для Android існує неофіційний застосунок під назвою TriliumDroid, який працює навіть офлайн (так само, як і клієнт для настільних комп’ютерів).", + "database_question": "Де зберігаються дані?", + "database_answer": "Усі ваші нотатки зберігатимуться в базі даних SQLite в папці програми. Причина, чому Trilium використовує базу даних замість звичайних текстових файлів, пов'язана як з продуктивністю, так і з тим, що деякі функції було б набагато складніше реалізувати, такі як клони (одна й та сама нотатка в кількох місцях дерева). Щоб знайти папку програми, просто перейдіть до вікна «Про систему».", + "server_question": "Чи потрібен мені сервер для використання Trilium?", + "server_answer": "Ні, сервер дозволяє доступ через веббраузер і керує синхронізацією, якщо у вас кілька пристроїв. Щоб розпочати, достатньо завантажити десктопний застосунок і почати ним користуватися.", + "scaling_question": "Наскільки добре масштабується застосунок з великою кількістю нотаток?", + "scaling_answer": "Залежно від використання, програма має бути здатною без проблем обробляти щонайменше 100 000 нотаток. Зверніть увагу, що процес синхронізації іноді може завершитися невдачею, якщо завантажувати багато великих файлів (1 ГБ на файл), оскільки Trilium призначений радше як програма бази знань, ніж як сховище файлів (наприклад, NextCloud).", + "network_share_question": "Чи можна надати спільний доступ до бази даних через мережевий диск?", + "network_share_answer": "Ні, зазвичай не рекомендується використовувати спільний доступ до бази даних SQLite через мережевий диск. Хоча іноді це може спрацювати, існує ймовірність пошкодження бази даних через недосконале блокування файлів у мережі.", + "security_question": "Як захищені мої дані?", + "security_answer": "За замовчуванням нотатки не шифруються та їх можна зчитувати безпосередньо з бази даних. Після того, як нотатку позначено як зашифровану, вона шифрується за допомогою AES-128-CBC." + }, + "final_cta": { + "title": "Готові розпочати роботу з Trilium Notes?", + "description": "Створіть свою особисту базу знань за допомогою потужних функцій та повної конфіденційності.", + "get_started": "Почати" + }, + "components": { + "link_learn_more": "Дізнатися більше..." + }, + "download_now": { + "text": "Завантажити зараз ", + "platform_big": "v{{version}} для {{platform}}", + "platform_small": "для {{platform}}", + "linux_big": "v{{version}} для Linux", + "linux_small": "для Linux", + "more_platforms": "Більше платформ та налаштування серверів" + }, + "header": { + "get-started": "Почати", + "documentation": "Документація", + "support-us": "Підтримайте нас" + }, + "footer": { + "copyright_and_the": " і ", + "copyright_community": "спільнота" + }, + "social_buttons": { + "github": "GitHub", + "github_discussions": "Обговорення на GitHub", + "matrix": "Матриця", + "reddit": "Reddit" + }, + "support_us": { + "title": "Підтримайте нас", + "financial_donations_title": "Фінансова підтримка", + "financial_donations_description": "Trilium створено та підтримується завдяки сотням годин роботи. Ваша підтримка забезпечує його відкритий вихідний код, покращує функції та покриває витрати, такі як хостинг.", + "financial_donations_cta": "Розгляньте можливість підтримки головного розробника (eliandoran) програми через:", + "github_sponsors": "GitHub Спонсори", + "paypal": "PayPal", + "buy_me_a_coffee": "Купи мені кави" + }, + "contribute": { + "title": "Інші способи зробити внесок", + "way_translate": "Перекладіть програму вашою рідною мовою за допомогою Weblate.", + "way_community": "Взаємодійте зі спільнотою на GitHub Обговорення або на Matrix.", + "way_reports": "Повідомляйте про помилки через Проблеми GitHub.", + "way_document": "Покращуйте документацію, повідомляючи нас про прогалини в ній або надаючи посібники, відповіді на поширені запитання чи навчальні посібники.", + "way_market": "Поширте інформацію: поділіться нотатками Trilium з друзями або в блогах і соціальних мережах." + }, + "404": { + "title": "404: Не знайдено", + "description": "Сторінку, яку ви шукали, не знайдено. Можливо, її видалили або URL-адреса неправильна." + }, + "download_helper_desktop_windows": { + "title_x64": "Windows 64-bit", + "title_arm64": "Windows на ARM", + "description_x64": "Сумісний з пристроями Intel або AMD під управлінням Windows 10 та 11.", + "description_arm64": "Сумісний з пристроями ARM (наприклад, з Qualcomm Snapdragon).", + "quick_start": "Щоб встановити через Winget:", + "download_exe": "Завантажити інсталятор (.exe)", + "download_zip": "Портативний (.zip)" + }, + "download_helper_desktop_linux": { + "title_x64": "Linux 64-bit", + "title_arm64": "Linux на ARM", + "description_x64": "Для більшості дистрибутивів Linux, сумісних з архітектурою x86_64.", + "description_arm64": "Для дистрибутивів Linux на базі ARM, сумісних з архітектурою aarch64.", + "quick_start": "Виберіть відповідний формат пакета, залежно від вашого дистрибутива:", + "download_deb": ".deb", + "download_rpm": ".rpm", + "download_flatpak": ".flatpak", + "download_nixpkgs": "nixpkgs" + }, + "download_helper_desktop_macos": { + "title_x64": "macOS для Intel", + "title_arm64": "macOS для Apple Silicon", + "quick_start": "Для того, щоб встановити за допомогою Homebrew:", + "download_homebrew_cask": "Homebrew Cask" + }, + "download_helper_server_docker": { + "download_dockerhub": "Docker Hub", + "download_ghcr": "ghcr.io" + }, + "download_helper_server_linux": { + "download_tar_x64": "x64 (.tar.xz)", + "download_tar_arm64": "ARM (.tar.xz)" + }, + "download_helper_server_hosted": { + "title": "Платний хостинг" } } diff --git a/docs/Developer Guide/!!!meta.json b/docs/Developer Guide/!!!meta.json index 1b5c0c10ea..3d865230e9 100644 --- a/docs/Developer Guide/!!!meta.json +++ b/docs/Developer Guide/!!!meta.json @@ -1,6 +1,6 @@ { "formatVersion": 2, - "appVersion": "0.101.1", + "appVersion": "0.101.3", "files": [ { "isClone": false, @@ -2839,6 +2839,40 @@ "format": "markdown", "dataFileName": "Themes.md", "attachments": [] + }, + { + "isClone": false, + "noteId": "YTAxJMA3uWwn", + "notePath": [ + "jdjRLhLV3TtI", + "yeqU0zo0ZQ83", + "YTAxJMA3uWwn" + ], + "title": "Web Clipper", + "notePosition": 210, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "label", + "name": "shareAlias", + "value": "web-clipper", + "isInheritable": false, + "position": 20 + }, + { + "type": "label", + "name": "iconClass", + "value": "bx bx-paperclip", + "isInheritable": false, + "position": 30 + } + ], + "format": "markdown", + "dataFileName": "Web Clipper.md", + "attachments": [] } ] }, diff --git a/docs/Developer Guide/Developer Guide/Concepts/Web Clipper.md b/docs/Developer Guide/Developer Guide/Concepts/Web Clipper.md new file mode 100644 index 0000000000..dc504658ea --- /dev/null +++ b/docs/Developer Guide/Developer Guide/Concepts/Web Clipper.md @@ -0,0 +1,42 @@ +# Web Clipper +The Web Clipper is present in the monorepo in `apps/web-clipper`. It's based on [WXT](https://wxt.dev/guide/introduction.html), a framework for building web extensions that allows very easy development and publishing. + +## Manifest version + +Originally the Web Clipper supported only Manifest v2, which made the extension incompatible with Google Chrome. [#8494](https://github.com/TriliumNext/Trilium/pull/8494) introduces Manifest v3 support for Google Chrome, alongside with Manifest v2 for Firefox. + +Although Firefox does support Manifest v3, we are still using Manifest v2 for it because WXT dev mode doesn't work for the Firefox / Manifest v3 combination and there were some mentions about Manifest v3 not being well supported on Firefox Mobile (and we plan to have support for it). + +## Development + +WXT allows easy development of the plugin, with full TypeScript support and live reload. To enter dev mode: + +* Run `pnpm --filter web-clipper dev` to enter dev mode for Chrome (with manifest v3). +* Run `pnpm --filter web-clipper dev:firefox` to enter dev mode for Firefox (with manifest v2). + +This will open a separate browser instance in which the extension is automatically injected. + +> [!NOTE] +> On NixOS, the same development commands work just fine. Just make sure the browser is available in the system path: +> +> ```sh +> nix-shell -p chromium +> ``` + +## Default port + +The default port is: + +* `37742` if in development mode. This makes it possible to use `pnpm desktop:start` to spin up a desktop instance to use the Clipper with. +* `37840` in production, the default Trilium port. + +## Building + +* Run `build` (Chrome) or `build:firefox` to generate the output files, which will be in `.output/[browser]`. +* Run `zip` or `zip:firefox` to generate the ZIP files. + +## CI + +`.github/workflows/web-clipper.yml` handles the building of the web clipper. Whenever the web clipper is modified, it generates the ZIPs and uploads them as artifacts. + +There is currently no automatic publishing to the app stores. \ No newline at end of file diff --git a/docs/Developer Guide/Developer Guide/Documentation.md b/docs/Developer Guide/Developer Guide/Documentation.md index ec8b903e08..505fe22c9b 100644 --- a/docs/Developer Guide/Developer Guide/Documentation.md +++ b/docs/Developer Guide/Developer Guide/Documentation.md @@ -1,5 +1,5 @@ # Documentation -There are multiple types of documentation for Trilium: +There are multiple types of documentation for Trilium: * The _User Guide_ represents the user-facing documentation. This documentation can be browsed by users directly from within Trilium, by pressing F1. * The _Developer's Guide_ represents a set of Markdown documents that present the internals of Trilium, for developers. diff --git a/docs/Developer Guide/Developer Guide/Project Structure.md b/docs/Developer Guide/Developer Guide/Project Structure.md index 82688cf2ac..2e2a5438d4 100644 --- a/docs/Developer Guide/Developer Guide/Project Structure.md +++ b/docs/Developer Guide/Developer Guide/Project Structure.md @@ -9,6 +9,7 @@ The mono-repo is mainly structured in: * `client`, representing the front-end that is used both by the server and the desktop application. * `server`, representing the Node.js / server version of the application. * `desktop`, representing the Electron-based desktop application. + * `web-clipper`, representing the browser extension to easily clip web pages into Trilium, with support for both Firefox and Chrome (manifest V3). * `packages`, containing dependencies used by one or more `apps`. * `commons`, containing shared code for all the apps. diff --git a/docs/README-de.md b/docs/README-de.md index 3636ec91e5..051d0af07a 100644 --- a/docs/README-de.md +++ b/docs/README-de.md @@ -104,7 +104,7 @@ Unsere Dokumentation ist verfügbar in mehreren Formaten: [Notizverschlüsselung](https://docs.triliumnotes.org/user-guide/concepts/notes/protected-notes) mit Granularität pro Notiz * Skizzieren von Diagrammen basierend auf [Excalidraw](https://excalidraw.com/) - (Notiztyp „Canvas“) + (Notiztyp „Leinwand“) * [Beziehungskarten](https://docs.triliumnotes.org/user-guide/note-types/relation-map) und [Notiz-/Link-Karten](https://docs.triliumnotes.org/user-guide/note-types/note-map) @@ -132,8 +132,8 @@ Unsere Dokumentation ist verfügbar in mehreren Formaten: einfachen Speichern von Webinhalten * Anpassbare Benutzeroberfläche (Seitenleisten-Schaltflächen, benutzerdefinierte Widgets, ...) -* [Metriken](https://docs.triliumnotes.org/user-guide/advanced-usage/metrics) - zusammen mit einem Grafana-Dashboard. +* [Metrics](https://docs.triliumnotes.org/user-guide/advanced-usage/metrics), + zusätzlich mit dem Grafana Dashboard. ✨ Weitere Informationen zu TriliumNext findet man in den folgenden Ressourcen/Communities von Drittanbietern: @@ -298,10 +298,10 @@ enthält weitere Details. Bei offenen Fragen kann über die im Abschnitt Anwendungssymbols. * [nriver](https://github.com/nriver) für seine Arbeit zur Internationalisierung. -* [Thomas Frei](https://github.com/thfrei) für seine ursprüngliche Arbeit an +* [Thomas Frei](https://github.com/thfrei) für seine originelle Arbeit an Canvas. * [antoniotejada](https://github.com/nriver) für das ursprüngliche - Syntax-Highlighting-Widget. + Syntaxhervorhebungs-Widget. * [Dosu](https://dosu.dev/) für die Bereitstellung automatisierter Antworten auf GitHub-Issues und Diskussionen. * [Tabler-Icons](https://tabler.io/icons) für die Symbole in der Taskleiste. @@ -314,7 +314,7 @@ Trilium wäre ohne die zugrundeliegenden Technologien nicht möglich: * [CodeMirror](https://github.com/codemirror/CodeMirror) - Code-Editor mit Unterstützung für eine Vielzahl von Sprachen. * [Excalidraw](https://github.com/excalidraw/excalidraw) – das unendliche - Whiteboard, verwendet in Canvas-Notizen. + Whiteboard, verwendet in Leinwand-Notizen. * [Mind Elixir](https://github.com/SSShooter/mind-elixir-core) – bietet die Mindmap-Funktionalität. * [Leaflet](https://github.com/Leaflet/Leaflet) – für die Darstellung diff --git a/docs/README-es.md b/docs/README-es.md index d39610988b..48c4146884 100644 --- a/docs/README-es.md +++ b/docs/README-es.md @@ -97,8 +97,8 @@ La documentación está disponible en varios formatos: inicio de sesión más seguro * [Sincronización](https://docs.triliumnotes.org/user-guide/setup/synchronization) con servidor de sincronización autohospedado - * there are [3rd party services for hosting synchronisation - server](https://docs.triliumnotes.org/user-guide/setup/server/cloud-hosting) + * existen [servicios de terceros para alojar servidores de + sincronización](https://docs.triliumnotes.org/user-guide/setup/server/cloud-hosting) * [Compartir](https://docs.triliumnotes.org/user-guide/advanced-usage/sharing) (publicar) notas en Internet público * Fuerte [cifrado de @@ -106,10 +106,11 @@ La documentación está disponible en varios formatos: con granularidad por nota * Esbozo de diagramas, basado en [Excalidraw](https://excalidraw.com/) (tipo de nota "lienzo") -* [Relation - maps](https://docs.triliumnotes.org/user-guide/note-types/relation-map) and - [note/link maps](https://docs.triliumnotes.org/user-guide/note-types/note-map) - for visualizing notes and their relations +* [Mapas de + relaciones](https://docs.triliumnotes.org/user-guide/note-types/relation-map) + y [mapas de + notas/enlaces](https://docs.triliumnotes.org/user-guide/note-types/note-map) + para visualizar notas y sus relaciones * Mapas mentales, basados en [Mind Elixir](https://docs.mind-elixir.com/) * [Mapas geográficos](https://docs.triliumnotes.org/user-guide/collections/geomap) con @@ -134,8 +135,8 @@ La documentación está disponible en varios formatos: guardar fácilmente contenido web * Interfaz personalizable (botones de la barra lateral, widgets definidos por el usuario, …) -* [Metrics](https://docs.triliumnotes.org/user-guide/advanced-usage/metrics), - along with a Grafana Dashboard. +* [Métricas](https://docs.triliumnotes.org/user-guide/advanced-usage/metrics), + junto con un panel de control de Grafana. ✨ Consulta los siguientes recursos y comunidades de terceros para obtener más contenido relacionado con TriliumNext: diff --git a/docs/README-hi.md b/docs/README-hi.md index 9f0b724356..b8e1901420 100644 --- a/docs/README-hi.md +++ b/docs/README-hi.md @@ -67,14 +67,16 @@ application with focus on building large personal knowledge bases. - [Patterns of Personal Knowledge Base](https://docs.triliumnotes.org/user-guide/misc/patterns-of-personal-knowledge) -## 🎁 Features +## 🎁 खासियतें -* Notes can be arranged into arbitrarily deep tree. Single note can be placed - into multiple places in the tree (see +* नोट्स को मनचाहे गहरे ट्री (tree) स्ट्रक्चर में व्यवस्थित किया जा सकता है। एक + ही नोट को ट्री में कई जगहों पर रखा जा सकता है (देखें [cloning](https://docs.triliumnotes.org/user-guide/concepts/notes/cloning)) -* Rich WYSIWYG note editor including e.g. tables, images and - [math](https://docs.triliumnotes.org/user-guide/note-types/text) with markdown +* बेहतरीन WYSIWYG नोट एडिटर, जिसमें टेबल, इमेज और + [math](https://docs.triliumnotes.org/user-guide/note-types/text) के साथ-साथ + मार्कडाउन [autoformat](https://docs.triliumnotes.org/user-guide/note-types/text/markdown-formatting) + की सुविधा शामिल है * [सोर्स कोड वाले नोट्स](https://docs.triliumnotes.org/user-guide/note-types/code) को एडिट करने की सुविधा, जिसमें सिंटैक्स हाइलाइटिंग (syntax highlighting) भी शामिल है @@ -112,8 +114,8 @@ application with focus on building large personal knowledge bases. location pins and GPX tracks * [Scripting](https://docs.triliumnotes.org/user-guide/scripts) - see [Advanced showcases](https://docs.triliumnotes.org/user-guide/advanced-usage/advanced-showcases) -* [REST API](https://docs.triliumnotes.org/user-guide/advanced-usage/etapi) for - automation +* ऑटोमेशन के लिए [REST + API](https://docs.triliumnotes.org/user-guide/advanced-usage/etapi) * Scales well in both usability and performance upwards of 100 000 notes * Touch optimized [mobile frontend](https://docs.triliumnotes.org/user-guide/setup/mobile-frontend) for diff --git a/docs/README-id.md b/docs/README-id.md index 0f0a9d1d26..acaa46396d 100644 --- a/docs/README-id.md +++ b/docs/README-id.md @@ -69,65 +69,67 @@ Dokumentasi kami tersedia dalam berbagai format: ## 🎁 Fitur -* Notes can be arranged into arbitrarily deep tree. Single note can be placed - into multiple places in the tree (see - [cloning](https://docs.triliumnotes.org/user-guide/concepts/notes/cloning)) -* Rich WYSIWYG note editor including e.g. tables, images and - [math](https://docs.triliumnotes.org/user-guide/note-types/text) with markdown +* Catatan dapat disusun menjadi cabang pohon manapun. Satu catatan dapat disusun + ke beberapa cabang di pohon + (lihat[cloning](https://docs.triliumnotes.org/user-guide/concepts/notes/cloning)) +* Catatan bentuk Rich WYSIWYG dengan tabel, gambar, dan + [math](https://docs.triliumnotes.org/user-guide/note-types/text) dengan + markdown [autoformat](https://docs.triliumnotes.org/user-guide/note-types/text/markdown-formatting) -* Support for editing [notes with source - code](https://docs.triliumnotes.org/user-guide/note-types/code), including - syntax highlighting -* Fast and easy [navigation between - notes](https://docs.triliumnotes.org/user-guide/concepts/navigation/note-navigation), - full text search and [note - hoisting](https://docs.triliumnotes.org/user-guide/concepts/navigation/note-hoisting) -* Seamless [note - versioning](https://docs.triliumnotes.org/user-guide/concepts/notes/note-revisions) -* Note - [attributes](https://docs.triliumnotes.org/user-guide/advanced-usage/attributes) - can be used for note organization, querying and advanced - [scripting](https://docs.triliumnotes.org/user-guide/scripts) -* UI available in English, German, Spanish, French, Romanian, and Chinese - (simplified and traditional) -* Direct [OpenID and TOTP - integration](https://docs.triliumnotes.org/user-guide/setup/server/mfa) for - more secure login +* Dukungan untuk peng-editan [catatan dengan kode + source](https://docs.triliumnotes.org/user-guide/note-types/code), termasuk + penyorotan sintaks +* Cepat dan mudah [navigasi antar + catatan](https://docs.triliumnotes.org/user-guide/concepts/navigation/note-navigation), + pencarian dengan teks dan [area + fokus](https://docs.triliumnotes.org/user-guide/concepts/navigation/note-hoisting) +* Mulus [versi + catatan](https://docs.triliumnotes.org/user-guide/concepts/notes/note-revisions) +* Catatan + [atribut](https://docs.triliumnotes.org/user-guide/advanced-usage/attributes) + dapat digunakan untuk mengatur catatan, pencarian dan tingkat lanjut + [pemrograman](https://docs.triliumnotes.org/user-guide/scripts) +* Antarmuka pengguna tersedia dalam bahasa Inggris, Jerman, Spanyol, Prancis, + Rumania, dan Tionghoa (sederhana dan tradisional) +* Integrasi [OpenID dan TOTP + langsung](https://docs.triliumnotes.org/user-guide/setup/server/mfa) untuk + login yang lebih aman * [Synchronization](https://docs.triliumnotes.org/user-guide/setup/synchronization) with self-hosted sync server - * there are [3rd party services for hosting synchronisation - server](https://docs.triliumnotes.org/user-guide/setup/server/cloud-hosting) -* [Sharing](https://docs.triliumnotes.org/user-guide/advanced-usage/sharing) - (publishing) notes to public internet -* Strong [note - encryption](https://docs.triliumnotes.org/user-guide/concepts/notes/protected-notes) - with per-note granularity -* Sketching diagrams, based on [Excalidraw](https://excalidraw.com/) (note type - "canvas") -* [Relation - maps](https://docs.triliumnotes.org/user-guide/note-types/relation-map) and - [note/link maps](https://docs.triliumnotes.org/user-guide/note-types/note-map) - for visualizing notes and their relations -* Mind maps, based on [Mind Elixir](https://docs.mind-elixir.com/) -* [Geo maps](https://docs.triliumnotes.org/user-guide/collections/geomap) with - location pins and GPX tracks -* [Scripting](https://docs.triliumnotes.org/user-guide/scripts) - see [Advanced - showcases](https://docs.triliumnotes.org/user-guide/advanced-usage/advanced-showcases) -* [REST API](https://docs.triliumnotes.org/user-guide/advanced-usage/etapi) for - automation -* Scales well in both usability and performance upwards of 100 000 notes -* Touch optimized [mobile - frontend](https://docs.triliumnotes.org/user-guide/setup/mobile-frontend) for - smartphones and tablets -* Built-in [dark - theme](https://docs.triliumnotes.org/user-guide/concepts/themes), support for - user themes + * ada [servis pihak ke-3 untuk server hostingan + sinkronisasi](https://docs.triliumnotes.org/user-guide/setup/server/cloud-hosting) +* [Bagikan](https://docs.triliumnotes.org/user-guide/advanced-usage/sharing) + (publikasi) catatan ke publik (internet) +* Kuat [enkripsi + catatan](https://docs.triliumnotes.org/user-guide/concepts/notes/protected-notes) + dengan granularitas per catatan +* Membuat diagram, berdasarkan [Excalidraw](https://excalidraw.com/) (tipe + catatan "kanvas") +* [Peta + relasi](https://docs.triliumnotes.org/user-guide/note-types/relation-map) dan + [peta + catatan/link](https://docs.triliumnotes.org/user-guide/note-types/note-map) + untuk visualisasi relasi antar catatan +* Mind maps, berdasarkan [Mind Elixir](https://docs.mind-elixir.com/) +* [Peta geolokasi](https://docs.triliumnotes.org/user-guide/collections/geomap) + dengan titik lokasi dan jalur GPX +* [Pengunaan skrip](https://docs.triliumnotes.org/user-guide/scripts) - lihat + [Demo tingkat + lanjut](https://docs.triliumnotes.org/user-guide/advanced-usage/advanced-showcases) +* [REST API](https://docs.triliumnotes.org/user-guide/advanced-usage/etapi) + untuk otomatisasi +* Performa dan Usabilitas tinggi, bahkan di atas 100 000 catatan +* Teroptimisasi untuk kontrol sentuh [frontend + mobile](https://docs.triliumnotes.org/user-guide/setup/mobile-frontend) untuk + hp dan tablet +* [tema gelap](https://docs.triliumnotes.org/user-guide/concepts/themes) bawaan, + dukungan untuk tema personal pengguna * [Evernote](https://docs.triliumnotes.org/user-guide/concepts/import-export/evernote) - and [Markdown import & - export](https://docs.triliumnotes.org/user-guide/concepts/import-export/markdown) -* [Web Clipper](https://docs.triliumnotes.org/user-guide/setup/web-clipper) for - easy saving of web content -* Customizable UI (sidebar buttons, user-defined widgets, ...) + dan [impor & ekspor + markdown](https://docs.triliumnotes.org/user-guide/concepts/import-export/markdown) +* [Penyemat Web](https://docs.triliumnotes.org/user-guide/setup/web-clipper) + untuk memudahkan pencatatan konten web +* "UI yang dapat dikustomisasi (tombol sidebar, widget kustom, ...)" * [Metrics](https://docs.triliumnotes.org/user-guide/advanced-usage/metrics), along with a Grafana Dashboard. @@ -172,37 +174,37 @@ features, suggestions, or issues you may have! - [Github Issues](https://github.com/TriliumNext/Trilium/issues) (For bug reports and feature requests.) -## 🏗 Installation +## 🏗 Instalasi ### Windows / MacOS -Download the binary release for your platform from the [latest release -page](https://github.com/TriliumNext/Trilium/releases/latest), unzip the package -and run the `trilium` executable. +Unduh rilis biner untuk platform Anda dari [halaman rilis +terbaru](https://github.com/TriliumNext/Trilium/releases/latest), ekstrak +package dan jalankan file executable `trilium`. ### Linux -If your distribution is listed in the table below, use your distribution's -package. +Jika distribusi Anda tercantum dalam tabel di bawah ini, gunakan package dari +distribusi Anda tersebut. -[![Packaging -status](https://repology.org/badge/vertical-allrepos/triliumnext.svg)](https://repology.org/project/triliumnext/versions) +[![Status +packaging](https://repology.org/badge/vertical-allrepos/triliumnext.svg)](https://repology.org/project/triliumnext/versions) -You may also download the binary release for your platform from the [latest -release page](https://github.com/TriliumNext/Trilium/releases/latest), unzip the -package and run the `trilium` executable. +Anda juga dapat mengunduh rilis biner untuk platform Anda dari [halaman rilis +terbaru](https://github.com/TriliumNext/Trilium/releases/latest), ekstrak +package-nya dan jalankan file executable `trilium`. -TriliumNext is also provided as a Flatpak, but not yet published on FlatHub. +TriliumNext juga tersedia sebagai Flatpak, namun belum dipublikasikan di +FlatHub. -### Browser (any OS) +### Browser (OS apapun) -If you use a server installation (see below), you can directly access the web -interface (which is almost identical to the desktop app). +Jika Anda menggunakan instalasi server (lihat di bawah), Anda dapat langsung +mengakses antarmuka web (yang hampir identik dengan aplikasi desktop). -Currently only the latest versions of Chrome & Firefox are supported (and -tested). +Saat ini hanya Chrome & Firefox versi terbaru yang didukung (dan telah diuji). -### Mobile +### Ponsel To use TriliumNext on a mobile device, you can use a mobile web browser to access the mobile interface of a server installation (see below). diff --git a/docs/README-nb_NO.md b/docs/README-nb_NO.md index f779b5ce99..f4ebb15319 100644 --- a/docs/README-nb_NO.md +++ b/docs/README-nb_NO.md @@ -28,8 +28,8 @@ script)](./README-ZH_TW.md) | [English](../README.md) | [French](./README-fr.md) [Spanish](./README-es.md) -Trilium Notes is a free and open-source, cross-platform hierarchical note taking -application with focus on building large personal knowledge bases. +Trilium Notes er et gratis og åpen kildekode-basert, plattformuavhengig +hierarkisk notatprogram med fokus på å bygge store personlige kunnskapsbaser. Trilium Screenshot @@ -62,8 +62,8 @@ Vår dokumentasjon er tilgjengelig i flere format: TriliumNext](https://docs.triliumnotes.org/user-guide/setup/upgrading) - [Grunnleggende konsepter og funksjoner](https://docs.triliumnotes.org/user-guide/concepts/notes) -- [Patterns of Personal Knowledge - Base](https://docs.triliumnotes.org/user-guide/misc/patterns-of-personal-knowledge) +- [Modeller for personlig + kunnskapsbase](https://docs.triliumnotes.org/user-guide/misc/patterns-of-personal-knowledge) ## 🎁 Funksjoner @@ -91,8 +91,8 @@ Vår dokumentasjon er tilgjengelig i flere format: * Direct [OpenID and TOTP integration](https://docs.triliumnotes.org/user-guide/setup/server/mfa) for more secure login -* [Synchronization](https://docs.triliumnotes.org/user-guide/setup/synchronization) - with self-hosted sync server +* [Synkronisering](https://docs.triliumnotes.org/user-guide/setup/synchronization) + med selv-hostet sync server * there are [3rd party services for hosting synchronisation server](https://docs.triliumnotes.org/user-guide/setup/server/cloud-hosting) * [Sharing](https://docs.triliumnotes.org/user-guide/advanced-usage/sharing) @@ -109,8 +109,8 @@ Vår dokumentasjon er tilgjengelig i flere format: * Mind maps, based on [Mind Elixir](https://docs.mind-elixir.com/) * [Geo maps](https://docs.triliumnotes.org/user-guide/collections/geomap) with location pins and GPX tracks -* [Scripting](https://docs.triliumnotes.org/user-guide/scripts) - see [Advanced - showcases](https://docs.triliumnotes.org/user-guide/advanced-usage/advanced-showcases) +* [Skripting](https://docs.triliumnotes.org/user-guide/scripts) - se [Avanserte + bruksområder](https://docs.triliumnotes.org/user-guide/advanced-usage/advanced-showcases) * [REST API](https://docs.triliumnotes.org/user-guide/advanced-usage/etapi) for automatisering * Scales well in both usability and performance upwards of 100 000 notes @@ -156,13 +156,13 @@ compatible with the latest zadam/trilium version of versions of TriliumNext/Trilium have their sync versions incremented which prevents direct migration. -## 💬 Discuss with us +## 💬Diskuter med oss Feel free to join our official conversations. We would love to hear what features, suggestions, or issues you may have! -- [Matrix](https://matrix.to/#/#triliumnext:matrix.org) (For synchronous - discussions.) +- [Matrix](https://matrix.to/#/#triliumnext:matrix.org) (For synkrone + diskusjoner.) - The `General` Matrix room is also bridged to [XMPP](xmpp:discuss@trilium.thisgreat.party?join) - [Github Discussions](https://github.com/TriliumNext/Trilium/discussions) (For @@ -322,7 +322,7 @@ Consider supporting the main developer - [GitHub Sponsors](https://github.com/sponsors/eliandoran) - [PayPal](https://paypal.me/eliandoran) -- [Buy Me a Coffee](https://buymeacoffee.com/eliandoran) +- [Spander en kaffe](https://buymeacoffee.com/eliandoran) ## 🔑 Lisens diff --git a/docs/README-tr.md b/docs/README-tr.md index 7dc80ac0ba..bd52da803b 100644 --- a/docs/README-tr.md +++ b/docs/README-tr.md @@ -48,22 +48,19 @@ açık kaynaklı, çapraz platform hiyerarşik bir not alma uygulamasıdır. edin(https://docs.triliumnotes.org/)** Dokümantasyonumuz birden fazla formatta mevcuttur: -- **Online Documentation**: Browse the full documentation at - [docs.triliumnotes.org](https://docs.triliumnotes.org/) +- **Çevrimiçi Dökümantasyon**: Tüm dökümantasyonu görebilmek için + [docs.triliumnotes.org](https://docs.triliumnotes.org/)'a uğrayın - **In-App Help**: Press `F1` within Trilium to access the same documentation directly in the application - **GitHub**: Navigate through the [User Guide](./User%20Guide/User%20Guide/) in this repository -### Quick Links -- [Getting Started Guide](https://docs.triliumnotes.org/) -- [Installation Instructions](https://docs.triliumnotes.org/user-guide/setup) -- [Docker - Setup](https://docs.triliumnotes.org/user-guide/setup/server/installation/docker) -- [Upgrading - TriliumNext](https://docs.triliumnotes.org/user-guide/setup/upgrading) -- [Basic Concepts and - Features](https://docs.triliumnotes.org/user-guide/concepts/notes) +### Hızlı linkler +- [Başlangıç Kılavuzu](https://docs.triliumnotes.org/) +- Kurulum Klavuzu +- Docker kurulumu +- [TrilliumNext Güncelleme] +- Basit Kavramlar ve Özellikler - [Patterns of Personal Knowledge Base](https://docs.triliumnotes.org/user-guide/misc/patterns-of-personal-knowledge) diff --git a/docs/README-uk.md b/docs/README-uk.md index e6b7667f42..4ee51b8df1 100644 --- a/docs/README-uk.md +++ b/docs/README-uk.md @@ -112,38 +112,41 @@ Trilium Notes — це безкоштовний кросплатформний * Інтелект-карти, засновані на [Mind Elixir](https://docs.mind-elixir.com/) * [Геокарти](https://docs.triliumnotes.org/user-guide/collections/geomap) з географічними позначками та GPX-треками -* [Scripting](https://docs.triliumnotes.org/user-guide/scripts) - see [Advanced - showcases](https://docs.triliumnotes.org/user-guide/advanced-usage/advanced-showcases) -* [REST API](https://docs.triliumnotes.org/user-guide/advanced-usage/etapi) for - automation -* Scales well in both usability and performance upwards of 100 000 notes -* Touch optimized [mobile - frontend](https://docs.triliumnotes.org/user-guide/setup/mobile-frontend) for - smartphones and tablets -* Built-in [dark - theme](https://docs.triliumnotes.org/user-guide/concepts/themes), support for - user themes +* [Сценарії](https://docs.triliumnotes.org/user-guide/scripts) – див. [Розширені + демонстрації](https://docs.triliumnotes.org/user-guide/advanced-usage/advanced-showcases) +* [REST API](https://docs.triliumnotes.org/user-guide/advanced-usage/etapi) для + автоматизації +* Добре масштабується як за зручністю використання, так і за продуктивністю до + 100 000 нотаток +* Оптимізовано для сенсорного керування [мобільний + інтерфейс](https://docs.triliumnotes.org/user-guide/setup/mobile-frontend) для + смартфонів і планшетів +* Вбудована [темна + тема](https://docs.triliumnotes.org/user-guide/concepts/themes), підтримка тем + користувача * [Evernote](https://docs.triliumnotes.org/user-guide/concepts/import-export/evernote) - and [Markdown import & - export](https://docs.triliumnotes.org/user-guide/concepts/import-export/markdown) -* [Web Clipper](https://docs.triliumnotes.org/user-guide/setup/web-clipper) for - easy saving of web content -* Customizable UI (sidebar buttons, user-defined widgets, ...) -* [Metrics](https://docs.triliumnotes.org/user-guide/advanced-usage/metrics), - along with a Grafana Dashboard. + та [Markdown імпорт & + експорт](https://docs.triliumnotes.org/user-guide/concepts/import-export/markdown) +* [Web Clipper](https://docs.triliumnotes.org/user-guide/setup/web-clipper) для + легкого збереження веб-контенту +* Настроюваний інтерфейс користувача (кнопки бічної панелі, віджети, що + визначаються користувачем, ...) +* [Метрики](https://docs.triliumnotes.org/user-guide/advanced-usage/metrics), а + також панель інструментів Grafana. -✨ Check out the following third-party resources/communities for more TriliumNext -related goodies: +✨ Перегляньте наступні сторонні ресурси/спільноти, щоб дізнатися більше про +TriliumNext: -- [awesome-trilium](https://github.com/Nriver/awesome-trilium) for 3rd party - themes, scripts, plugins and more. -- [TriliumRocks!](https://trilium.rocks/) for tutorials, guides, and much more. +- [awesome-trilium](https://github.com/Nriver/awesome-trilium) для тем, + скриптів, плагінів тощо від сторонніх розробників. +- [TriliumRocks!](https://trilium.rocks/) для навчальних посібників, інструкцій + та багато іншого. -## ❓Why TriliumNext? +## ❓Чому TriliumNext? -The original Trilium developer ([Zadam](https://github.com/zadam)) has -graciously given the Trilium repository to the community project which resides -at https://github.com/TriliumNext +Оригінальний розробник Trilium ([Zadam](https://github.com/zadam)) люб'язно +надав репозиторій Trilium спільнотному проекту, який знаходиться за адресою +https://github.com/TriliumNext ### ⬆️Migrating from Zadam/Trilium? @@ -159,88 +162,92 @@ compatible with the latest zadam/trilium version of versions of TriliumNext/Trilium have their sync versions incremented which prevents direct migration. -## 💬 Discuss with us +## Обговоріть це з нами -Feel free to join our official conversations. We would love to hear what -features, suggestions, or issues you may have! +Не соромтеся приєднуватися до наших офіційних обговорень. Ми будемо раді почути +про ваші функції, пропозиції чи проблеми! -- [Matrix](https://matrix.to/#/#triliumnext:matrix.org) (For synchronous - discussions.) - - The `General` Matrix room is also bridged to +- [Матриця](https://matrix.to/#/#triliumnext:matrix.org) (Для синхронних + обговорень.) + - Кімната матриці `Загальні` також підключена до [XMPP](xmpp:discuss@trilium.thisgreat.party?join) -- [Github Discussions](https://github.com/TriliumNext/Trilium/discussions) (For - asynchronous discussions.) -- [Github Issues](https://github.com/TriliumNext/Trilium/issues) (For bug - reports and feature requests.) +- [Обговорення на Github](https://github.com/TriliumNext/Trilium/discussions) + (Для асинхронних обговорень.) +- [Проблеми Github](https://github.com/TriliumNext/Trilium/issues) (Для звітів + про помилки та запитів на нові функції.) -## 🏗 Installation +## 🏗 Встановлення ### Windows / MacOS -Download the binary release for your platform from the [latest release -page](https://github.com/TriliumNext/Trilium/releases/latest), unzip the package -and run the `trilium` executable. +Завантажте бінарний реліз для вашої платформи зі сторінки [останнього +релізу](https://github.com/TriliumNext/Trilium/releases/latest), розпакуйте +пакет і запустіть виконуваний файл `trilium`. ### Linux -If your distribution is listed in the table below, use your distribution's -package. +Якщо ваш дистрибутив зазначено в таблиці нижче, використовуйте пакет вашого +дистрибутива. [![Packaging status](https://repology.org/badge/vertical-allrepos/triliumnext.svg)](https://repology.org/project/triliumnext/versions) -You may also download the binary release for your platform from the [latest -release page](https://github.com/TriliumNext/Trilium/releases/latest), unzip the -package and run the `trilium` executable. +Ви також можете завантажити бінарний реліз для вашої платформи зі сторінки +[останнього релізу](https://github.com/TriliumNext/Trilium/releases/latest), +розпакувати пакет і запустити виконуваний файл `trilium`. -TriliumNext is also provided as a Flatpak, but not yet published on FlatHub. +TriliumNext також доступний у форматі Flatpak, але ще не опублікований на +FlatHub. -### Browser (any OS) +### Браузер (будь-яка ОС) -If you use a server installation (see below), you can directly access the web -interface (which is almost identical to the desktop app). +Якщо ви використовуєте серверну інсталяцію (див. нижче), ви можете отримати +безпосередній доступ до веб-інтерфейсу (який майже ідентичний десктопному +додатку). -Currently only the latest versions of Chrome & Firefox are supported (and -tested). +Наразі підтримуються (і протестовані) лише найновіші версії Chrome та Firefox. -### Mobile +### Мобільний -To use TriliumNext on a mobile device, you can use a mobile web browser to -access the mobile interface of a server installation (see below). +Щоб використовувати TriliumNext на мобільному пристрої, ви можете скористатися +мобільним веб-браузером для доступу до мобільного інтерфейсу серверної +інсталяції (див. нижче). -See issue https://github.com/TriliumNext/Trilium/issues/4962 for more -information on mobile app support. +Див. випуск https://github.com/TriliumNext/Trilium/issues/4962 для отримання +додаткової інформації про підтримку мобільних додатків. -If you prefer a native Android app, you can use +Якщо ви надаєте перевагу рідному додатку для Android, ви можете скористатися [TriliumDroid](https://apt.izzysoft.de/fdroid/index/apk/eu.fliegendewurst.triliumdroid). -Report bugs and missing features at [their -repository](https://github.com/FliegendeWurst/TriliumDroid). Note: It is best to -disable automatic updates on your server installation (see below) when using -TriliumDroid since the sync version must match between Trilium and TriliumDroid. +Повідомляйте про помилки та відсутні функції на [їхньому +репозиторії](https://github.com/FliegendeWurst/TriliumDroid). Примітка: Найкраще +вимкнути автоматичні оновлення на вашому сервері (див. нижче) під час +використання TriliumDroid, оскільки версія синхронізації має збігатися між +Trilium та TriliumDroid. -### Server +### Сервер -To install TriliumNext on your own server (including via Docker from -[Dockerhub](https://hub.docker.com/r/triliumnext/trilium)) follow [the server -installation docs](https://docs.triliumnotes.org/user-guide/setup/server). +Щоб встановити TriliumNext на власний сервер (зокрема через Docker з +[Dockerhub](https://hub.docker.com/r/triliumnext/trilium)), дотримуйтесь +інструкцій [документації щодо встановлення +сервера](https://docs.triliumnotes.org/user-guide/setup/server). -## 💻 Contribute +## 💻 Зробіть свій внесок -### Translations +### Переклади -If you are a native speaker, help us translate Trilium by heading over to our -[Weblate page](https://hosted.weblate.org/engage/trilium/). +Якщо ви носій мови, допоможіть нам перекласти Trilium, перейшовши на нашу +[сторінку Weblate](https://hosted.weblate.org/engage/trilium/). -Here's the language coverage we have so far: +Ось мовне висвітлення, яке ми маємо наразі: -[![Translation -status](https://hosted.weblate.org/widget/trilium/multi-auto.svg)](https://hosted.weblate.org/engage/trilium/) +[![Стан +перекладу](https://hosted.weblate.org/widget/trilium/multi-auto.svg)](https://hosted.weblate.org/engage/trilium/) -### Code +### Код -Download the repository, install dependencies using `pnpm` and then run the -server (available at http://localhost:8080): +Завантажте репозиторій, встановіть залежності за допомогою `pnpm`, а потім +запустіть сервер (доступний за адресою http://localhost:8080): ```shell git clone https://github.com/TriliumNext/Trilium.git cd Trilium @@ -248,10 +255,10 @@ pnpm install pnpm run server:start ``` -### Documentation +### Документація -Download the repository, install dependencies using `pnpm` and then run the -environment required to edit the documentation: +Завантажте репозиторій, встановіть залежності за допомогою `pnpm`, а потім +запустіть середовище, необхідне для редагування документації: ```shell git clone https://github.com/TriliumNext/Trilium.git cd Trilium @@ -259,9 +266,9 @@ pnpm install pnpm edit-docs:edit-docs ``` -### Building the Executable -Download the repository, install dependencies using `pnpm` and then build the -desktop app for Windows: +### Створення виконуваного файлу +Завантажте репозиторій, встановіть залежності за допомогою `pnpm`, а потім +зберіть настільний додаток для Windows: ```shell git clone https://github.com/TriliumNext/Trilium.git cd Trilium @@ -269,71 +276,72 @@ pnpm install pnpm run --filter desktop electron-forge:make --arch=x64 --platform=win32 ``` -For more details, see the [development -docs](https://github.com/TriliumNext/Trilium/tree/main/docs/Developer%20Guide/Developer%20Guide). +Для отримання додаткової інформації див. [документацію +розробника](https://github.com/TriliumNext/Trilium/tree/main/docs/Developer%20Guide/Developer%20Guide). -### Developer Documentation +### Документація розробника Please view the [documentation guide](https://github.com/TriliumNext/Trilium/blob/main/docs/Developer%20Guide/Developer%20Guide/Environment%20Setup.md) for details. If you have more questions, feel free to reach out via the links described in the "Discuss with us" section above. -## 👏 Shoutouts +## 👏 Привітання -* [zadam](https://github.com/zadam) for the original concept and implementation - of the application. -* [Sarah Hussein](https://github.com/Sarah-Hussein) for designing the - application icon. -* [nriver](https://github.com/nriver) for his work on internationalization. -* [Thomas Frei](https://github.com/thfrei) for his original work on the Canvas. -* [antoniotejada](https://github.com/nriver) for the original syntax highlight - widget. -* [Dosu](https://dosu.dev/) for providing us with the automated responses to - GitHub issues and discussions. -* [Tabler Icons](https://tabler.io/icons) for the system tray icons. +* [zadam](https://github.com/zadam) за оригінальну концепцію та реалізацію + застосунку. +* [Sarah Hussein](https://github.com/Sarah-Hussein) за розробку піктограми + програми. +* [nriver](https://github.com/nriver) за його роботу з інтернаціоналізації. +* [Thomas Frei](https://github.com/thfrei) за його оригінальну роботу на Canvas. +* [antoniotejada](https://github.com/nriver) для оригінального віджета + підсвічування синтаксису. +* [Dosu](https://dosu.dev/) за надання нам автоматичних відповідей на проблеми + та обговорення GitHub. +* [Tabler Icons](https://tabler.io/icons) для значків у системному треї. -Trilium would not be possible without the technologies behind it: +Trilium був би неможливим без технологій, що лежать в його основі: -* [CKEditor 5](https://github.com/ckeditor/ckeditor5) - the visual editor behind - text notes. We are grateful for being offered a set of the premium features. -* [CodeMirror](https://github.com/codemirror/CodeMirror) - code editor with - support for huge amount of languages. -* [Excalidraw](https://github.com/excalidraw/excalidraw) - the infinite - whiteboard used in Canvas notes. -* [Mind Elixir](https://github.com/SSShooter/mind-elixir-core) - providing the - mind map functionality. -* [Leaflet](https://github.com/Leaflet/Leaflet) - for rendering geographical - maps. -* [Tabulator](https://github.com/olifolkerd/tabulator) - for the interactive - table used in collections. -* [FancyTree](https://github.com/mar10/fancytree) - feature-rich tree library - without real competition. -* [jsPlumb](https://github.com/jsplumb/jsplumb) - visual connectivity library. - Used in [relation - maps](https://docs.triliumnotes.org/user-guide/note-types/relation-map) and - [link - maps](https://docs.triliumnotes.org/user-guide/advanced-usage/note-map#link-map) +* [CKEditor 5](https://github.com/ckeditor/ckeditor5) – візуальний редактор + текстових нотаток. Ми вдячні за те, що нам запропонували набір + преміум-функцій. +* [CodeMirror](https://github.com/codemirror/CodeMirror) – редактор коду з + підтримкою величезної кількості мов програмування. +* [Excalidraw](https://github.com/excalidraw/excalidraw) – нескінченна дошка, що + використовується в нотатках Canvas. +* [Mind Elixir](https://github.com/SSShooter/mind-elixir-core) – забезпечує + функціональність карти розуму. +* [Leaflet](https://github.com/Leaflet/Leaflet) – для візуалізації географічних + карт. +* [Tabulator](https://github.com/olifolkerd/tabulator) – для інтерактивної + таблиці, що використовується в колекціях. +* [FancyTree](https://github.com/mar10/fancytree) – багатофункціональна + бібліотека дерев без реальної конкуренції. +* [jsPlumb](https://github.com/jsplumb/jsplumb) – бібліотека візуальної + зв’язності. Використовується в [картах + зв’язків](https://docs.triliumnotes.org/user-guide/note-types/relation-map) та + [картах + посилань](https://docs.triliumnotes.org/user-guide/advanced-usage/note-map#link-map) -## 🤝 Support +## 🤝 Підтримка -Trilium is built and maintained with [hundreds of hours of -work](https://github.com/TriliumNext/Trilium/graphs/commit-activity). Your -support keeps it open-source, improves features, and covers costs such as -hosting. +Trilium створено та підтримується [сотнями годин +роботи](https://github.com/TriliumNext/Trilium/graphs/commit-activity). Ваша +підтримка забезпечує його відкритий вихідний код, покращує функції та покриває +витрати, такі як хостинг. -Consider supporting the main developer -([eliandoran](https://github.com/eliandoran)) of the application via: +Розгляньте можливість підтримки головного розробника +([eliandoran](https://github.com/eliandoran)) програми через: -- [GitHub Sponsors](https://github.com/sponsors/eliandoran) +- [Спонсори GitHub](https://github.com/sponsors/eliandoran) - [PayPal](https://paypal.me/eliandoran) - [Buy Me a Coffee](https://buymeacoffee.com/eliandoran) -## 🔑 License +## 🔑 Ліцензія -Copyright 2017-2025 zadam, Elian Doran, and other contributors +Авторське право 2017-2025 належить zadam, Elian Doran та іншим авторам -This program is free software: you can redistribute it and/or modify it under -the terms of the GNU Affero General Public License as published by the Free -Software Foundation, either version 3 of the License, or (at your option) any -later version. +Ця програма є вільним програмним забезпеченням: ви можете розповсюджувати її +та/або змінювати відповідно до умов Загальної публічної ліцензії GNU Affero, +опублікованої Фондом вільного програмного забезпечення, або версії 3 Ліцензії, +або (на ваш вибір) будь-якої пізнішої версії. diff --git a/docs/Release Notes/Release Notes/v0.101.2.md b/docs/Release Notes/Release Notes/v0.101.2.md index 6942b2e8eb..842f42c299 100644 --- a/docs/Release Notes/Release Notes/v0.101.2.md +++ b/docs/Release Notes/Release Notes/v0.101.2.md @@ -18,5 +18,5 @@ * [Max content width is not respected when switching between note types in the same tab](https://github.com/TriliumNext/Trilium/issues/8065) * [Crash When a Note Includes Itself](https://github.com/TriliumNext/Trilium/issues/8294) * [Severe Performance Degradation and Crash Issues Due to Recursive Inclusion in Included Notes](https://github.com/TriliumNext/Trilium/issues/8017) -* [ is not a launcher even though it's in the launcher subtree](https://github.com/TriliumNext/Trilium/issues/8218) +* [is not a launcher even though it's in the launcher subtree](https://github.com/TriliumNext/Trilium/issues/8218) * [Archived subnotes of direct children appear in grid view without #includeArchived](https://github.com/TriliumNext/Trilium/issues/8184) \ No newline at end of file diff --git a/docs/User Guide/!!!meta.json b/docs/User Guide/!!!meta.json index da318029bb..55cfaa0fab 100644 --- a/docs/User Guide/!!!meta.json +++ b/docs/User Guide/!!!meta.json @@ -2445,37 +2445,51 @@ "mime": "text/html", "attributes": [ { - "type": "label", - "name": "shareAlias", - "value": "hiding-subtree", + "type": "relation", + "name": "internalLink", + "value": "GTwFsgaA0lCt", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "hrZ1D00cLbal", + "isInheritable": false, + "position": 20 + }, + { + "type": "relation", + "name": "internalLink", + "value": "eIg8jdvaoNNd", "isInheritable": false, "position": 30 }, { - "type": "label", - "name": "iconClass", - "value": "bx bx-hide", + "type": "relation", + "name": "internalLink", + "value": "TBwsyfadTA18", "isInheritable": false, "position": 40 }, { "type": "relation", "name": "internalLink", - "value": "GTwFsgaA0lCt", + "value": "CtBQqbwXDx1w", "isInheritable": false, "position": 50 }, { "type": "relation", "name": "internalLink", - "value": "CtBQqbwXDx1w", + "value": "2FvYrpmOXm29", "isInheritable": false, "position": 60 }, { "type": "relation", "name": "internalLink", - "value": "2FvYrpmOXm29", + "value": "zP3PMqaG71Ct", "isInheritable": false, "position": 70 }, @@ -2494,32 +2508,18 @@ "position": 90 }, { - "type": "relation", - "name": "internalLink", - "value": "zP3PMqaG71Ct", + "type": "label", + "name": "shareAlias", + "value": "hiding-subtree", "isInheritable": false, - "position": 100 + "position": 30 }, { - "type": "relation", - "name": "internalLink", - "value": "hrZ1D00cLbal", + "type": "label", + "name": "iconClass", + "value": "bx bx-hide", "isInheritable": false, - "position": 110 - }, - { - "type": "relation", - "name": "internalLink", - "value": "eIg8jdvaoNNd", - "isInheritable": false, - "position": 120 - }, - { - "type": "relation", - "name": "internalLink", - "value": "TBwsyfadTA18", - "isInheritable": false, - "position": 130 + "position": 40 } ], "format": "markdown", @@ -6169,6 +6169,34 @@ "type": "text", "mime": "text/markdown", "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "Gr6xFaF6ioJ5", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "WOcw2SLH6tbX", + "isInheritable": false, + "position": 20 + }, + { + "type": "relation", + "name": "internalLink", + "value": "wy8So3yZZlH9", + "isInheritable": false, + "position": 30 + }, + { + "type": "relation", + "name": "internalLink", + "value": "dj3j8dG4th4l", + "isInheritable": false, + "position": 40 + }, { "type": "label", "name": "shareAlias", @@ -6186,7 +6214,38 @@ ], "format": "markdown", "dataFileName": "Evernote.md", - "attachments": [] + "attachments": [], + "dirFileName": "Evernote", + "children": [ + { + "isClone": false, + "noteId": "dj3j8dG4th4l", + "notePath": [ + "pOsGYCXsbNQG", + "gh7bpGYxajRS", + "mHbBMPDPkVV5", + "syuSEKf2rUGr", + "dj3j8dG4th4l" + ], + "title": "Process internal links by title", + "notePosition": 10, + "prefix": null, + "isExpanded": false, + "type": "code", + "mime": "application/javascript;env=frontend", + "attributes": [ + { + "type": "label", + "name": "shareAlias", + "value": "internal-links.js", + "isInheritable": false, + "position": 30 + } + ], + "dataFileName": "Process internal links by titl.js", + "attachments": [] + } + ] }, { "isClone": false, @@ -14144,7 +14203,7 @@ { "type": "relation", "name": "internalLink", - "value": "Vc8PjrjAGuOp", + "value": "x3i7MxGccDuM", "isInheritable": false, "position": 10 }, @@ -14155,6 +14214,20 @@ "isInheritable": false, "position": 20 }, + { + "type": "relation", + "name": "internalLink", + "value": "IjZS7iK5EXtb", + "isInheritable": false, + "position": 30 + }, + { + "type": "relation", + "name": "internalLink", + "value": "XpOYSgsLkTJy", + "isInheritable": false, + "position": 40 + }, { "type": "label", "name": "iconClass", @@ -14181,29 +14254,21 @@ "position": 10, "dataFileName": "SQL Console_image.png" }, - { - "attachmentId": "827EgLgWhZWF", - "title": "image.png", - "role": "image", - "mime": "image/jpg", - "position": 10, - "dataFileName": "1_SQL Console_image.png" - }, { "attachmentId": "gIbK7NNLu3iZ", "title": "image.png", "role": "image", "mime": "image/png", "position": 10, - "dataFileName": "2_SQL Console_image.png" + "dataFileName": "1_SQL Console_image.png" }, { - "attachmentId": "pP87PB9ELjQn", + "attachmentId": "wdBs3e0MApgs", "title": "image.png", "role": "image", "mime": "image/png", "position": 10, - "dataFileName": "3_SQL Console_image.png" + "dataFileName": "2_SQL Console_image.png" } ] } @@ -17521,6 +17586,40 @@ "dataFileName": "Logging_image.png" } ] + }, + { + "isClone": false, + "noteId": "cNpC0ITcfX0N", + "notePath": [ + "pOsGYCXsbNQG", + "CdNpE2pqjmI6", + "cNpC0ITcfX0N" + ], + "title": "Breaking changes", + "notePosition": 130, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "label", + "name": "iconClass", + "value": "bx bx-up-arrow-alt", + "isInheritable": false, + "position": 30 + }, + { + "type": "label", + "name": "shareAlias", + "value": "breaking-changes", + "isInheritable": false, + "position": 40 + } + ], + "format": "markdown", + "dataFileName": "Breaking changes.md", + "attachments": [] } ] }, diff --git a/docs/User Guide/User Guide.md b/docs/User Guide/User Guide.md index 3e5537135c..d02f4ecc38 100644 --- a/docs/User Guide/User Guide.md +++ b/docs/User Guide/User Guide.md @@ -15,7 +15,7 @@ Trilium is an open-source solution for note-taking and organizing a personal kno * Desktop Installation * Server Installation -* Frontend API or Backend API +* [missing note] or [missing note] * [ETAPI reference](User%20Guide/Advanced%20Usage/ETAPI%20\(REST%20API\)/API%20Reference.dat) ## External links diff --git a/docs/User Guide/User Guide/Advanced Usage/Database/Manually altering the database/1_SQL Console_image.png b/docs/User Guide/User Guide/Advanced Usage/Database/Manually altering the database/1_SQL Console_image.png index 6f32f76ec9..1b1834ba1f 100644 Binary files a/docs/User Guide/User Guide/Advanced Usage/Database/Manually altering the database/1_SQL Console_image.png and b/docs/User Guide/User Guide/Advanced Usage/Database/Manually altering the database/1_SQL Console_image.png differ diff --git a/docs/User Guide/User Guide/Advanced Usage/Database/Manually altering the database/2_SQL Console_image.png b/docs/User Guide/User Guide/Advanced Usage/Database/Manually altering the database/2_SQL Console_image.png index 1b1834ba1f..a395a969b4 100644 Binary files a/docs/User Guide/User Guide/Advanced Usage/Database/Manually altering the database/2_SQL Console_image.png and b/docs/User Guide/User Guide/Advanced Usage/Database/Manually altering the database/2_SQL Console_image.png differ diff --git a/docs/User Guide/User Guide/Advanced Usage/Database/Manually altering the database/3_SQL Console_image.png b/docs/User Guide/User Guide/Advanced Usage/Database/Manually altering the database/3_SQL Console_image.png deleted file mode 100644 index ccef8f7aaf..0000000000 Binary files a/docs/User Guide/User Guide/Advanced Usage/Database/Manually altering the database/3_SQL Console_image.png and /dev/null differ diff --git a/docs/User Guide/User Guide/Advanced Usage/Database/Manually altering the database/SQL Console.md b/docs/User Guide/User Guide/Advanced Usage/Database/Manually altering the database/SQL Console.md index f5139a269b..d9dfd8fb8f 100644 --- a/docs/User Guide/User Guide/Advanced Usage/Database/Manually altering the database/SQL Console.md +++ b/docs/User Guide/User Guide/Advanced Usage/Database/Manually altering the database/SQL Console.md @@ -1,7 +1,7 @@ # SQL Console The SQL Console is Trilium's built-in database editor. -It can be accessed by going to the [global menu](../../../Basic%20Concepts%20and%20Features/UI%20Elements) → Advanced → Open SQL Console. +It can be accessed by going to the Global menu → Advanced → Open SQL Console. ![](SQL%20Console_image.png) @@ -9,16 +9,26 @@ It can be accessed by going to the [global menu](../../../Basic%20Concepts%20and * Hovering the mouse over one of the tables listed at the top of the document will show the columns and their data type. * Only one SQL statement can be run at once. -* To run the statement, press the ![](3_SQL%20Console_image.png)icon. +* To run the statement, press the _Execute_ icon. * For queries that return a result, the data will displayed in a table. - - ![](1_SQL%20Console_image.png) +* For statements (e.g. `INSERT`, `UPDATE`), the number of affected rows is displayed. + +
+ +### Interacting with the table + +After executing a query, a table with the results will be displayed: + +* Clicking on a column allows sorting ascending or descending. +* Underneath each column there is an input field which allows filtering by text. +* Press Ctrl+C to copy the current cell to clipboard. +* Multiple cells can be selected by dragging or by holding Shift + arrow keys +* Results are paginated for performance reasons. The controls at the bottom of the table can be used to navigate through pages. ### Saved SQL console SQL queries or commands can be saved into a dedicated note. -To do so, simply write the query and press the ![](2_SQL%20Console_image.png)button. Once saved, the note will appear in [Day Notes](../../Advanced%20Showcases/Day%20Notes.md). +To do so, simply write the query and press the ![](1_SQL%20Console_image.png) button. Once saved, the note will appear in Day Notes. -* The SQL expression will not be displayed by default, but it can still be viewed by going to the note context menu and selecting _Note source_. -* The expression cannot be modified. If needed, recreate it by copying the statement back into the SQL console and then saving it again. \ No newline at end of file +The note can be locked for editing by pressing the _Lock_ button in the note actions section near the title bar (on the New Layout, or in the Floating buttons area if using the old layout). When editing is locked, the SQL statement is hidden from view. \ No newline at end of file diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Import & Export/Evernote.md b/docs/User Guide/User Guide/Basic Concepts and Features/Import & Export/Evernote.md index 58df4cfe49..19327abcee 100644 --- a/docs/User Guide/User Guide/Basic Concepts and Features/Import & Export/Evernote.md +++ b/docs/User Guide/User Guide/Basic Concepts and Features/Import & Export/Evernote.md @@ -1,18 +1,60 @@ # Evernote -Trilium can import ENEX files which are used by Evernote for backup/export. One ENEX file represents content (notes and resources) of one notebook. +Trilium can import ENEX files, which are used by Evernote for backup/export. One ENEX file represents the content (notes and resources) of one notebook. ## Export ENEX from Evernote -To export ENEX file, you need to have a _legacy_ desktop version of Evernote (i.e. not web/mobile). Right click on notebook and select export and follow the wizard. +To export ENEX files from Evernote, you can use: + +* Evernote desktop application. See Evernote [documentation](https://help.evernote.com/hc/en-us/articles/209005557-Export-Notes-and-Notebooks-as-ENEX-or-HTML). Note that the limitation of this method is that you can only export 100 notes at a time or one notebook at a time. +* A third-party [evernote-backup](https://github.com/vzhd1701/evernote-backup) CLI tool. This tool can export all of your notebooks in bulk. ## Import ENEX in Trilium -Once you have ENEX file, you can import it to Trilium. Right click on some note (to which you want to import the file), click on "Import" and select the ENEX file. +Once you have your ENEX files, do the following to import them in Trilium: -After importing the ENEX file, go over the imported notes and resources to be sure the import went well, and you didn't lose any data. +1. In the Trilium note tree, right-click the note under which you want to import one or more of your ENEX files. The notes in the files will be imported as child notes of the selected note. +2. Click Import into note. +3. Choose your ENEX file or files and click Import. +4. During the import, you will see "Import in progress" message. If the import is successful, the message will change to “Import finished successfully” and then disappear. +5. We recommend you to check the imported notes and their attachments to verify that you haven’t lost any data. + +A non-exhaustive list of what the importer preserves: + +* Attachments +* The hierarchy of headings (these are shifted to start with H2 because H1 is reserved for note title, see [Headings](../../Note%20Types/Text/General%20formatting.md)) +* Tables +* Bulleted lists +* Numbered lists +* Bold +* Italics +* Strikethrough +* Highlights +* Font colors +* Soft line breaks +* External links + +However, we do not guarantee that all of your formatting will be imported 100% correctly. ## Limitations -All resources (except for images) are created as note's attachments. +* The size limit of one import is 250Mb. If the total size of your files is larger, you can increase the [upload limit](../../Installation%20%26%20Setup/Server%20Installation.md), or divide your files, and run the import as many times as necessary. +* All resources (except for images) are created as notes’ attachments. +* If you have HTML inside ENEX files, the HTML formatting may be broken or lost after import in Trilium. See Reporting issues. -HTML inside ENEX files is not exactly valid so some formatting maybe broken or lost. You can report major problems into [Trilium issue tracker](https://github.com/TriliumNext/Trilium/issues). \ No newline at end of file +### Internal links + +The importer cannot transform Evernote internal links into Trilium internal links because Evernote internal note IDs are not preserved in ENEX files. + +If you want to restore the internal links in Trilium after you import all of your ENEX files, you can use or adapt this custom script: Process internal links by title + +The script does the following: + +1. It finds all Evernote internal links. +2. For each one, it checks if its link text matches a note title, and if yes, it replaces the Evernote link with an internal Trilium link. If not, it leaves the Evernote link in place. +3. If it finds more than one note with a matching note title, it leaves the Evernote link in place. +4. It outputs the results in a log that you can see in the respective code note in Trilium. + +The script has the following limitations: + +* It will not fix links to anchors and links to notes that you renamed in Evernote after you created the links. +* Some note titles might not be well identified, even if they exist. This is especially the case if the note title contains some special characters. Should this be problematic, consider Reporting issues. \ No newline at end of file diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Import & Export/Evernote/Process internal links by titl.js b/docs/User Guide/User Guide/Basic Concepts and Features/Import & Export/Evernote/Process internal links by titl.js new file mode 100644 index 0000000000..03fba623ab --- /dev/null +++ b/docs/User Guide/User Guide/Basic Concepts and Features/Import & Export/Evernote/Process internal links by titl.js @@ -0,0 +1,35 @@ +const query = `note.type = "text" and note.content *=* "evernote:///view/"`; +const notes = api.searchForNotes(query); + +for (const note of notes) { + api.log(`Processing note ${note.title}...`); + + const content = note.getContent(); + const $ = api.cheerio.load(content); + + $("a").each((i, el) => { + const $el = $(el); + + const url = $el.attr("href"); + if (!url.startsWith("evernote:///")) return; + + const text = $el.text(); + const matchingNotes = api.searchForNotes(`note.title = "${text}"`); + if (matchingNotes.length === 0) { + api.log(`No matching notes for "${text}..."`); + return; + } + + if (matchingNotes.length > 1) { + api.log(`Found multiple matching notes for "${text}". Skipping.`); + return; + } + + const matchingNote = matchingNotes[0]; + + api.log(`Found matching note: ${matchingNote.title} ${matchingNote.noteId}`); + $el.attr("href", `#root/${matchingNote.noteId}`); + $el.addClass("reference-link"); + }); + note.setContent($("body").html()); +} \ No newline at end of file diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Sorting Notes.md b/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Sorting Notes.md index 539f42ac07..7519e7be4d 100644 --- a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Sorting Notes.md +++ b/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Sorting Notes.md @@ -28,4 +28,4 @@ Sorting is done by comparing note properties or specific labels on child notes. * **Label Sorting**: If `#sorted` has any other value, this value is treated as the name of a child note's label, and sorting is based on the values of this label. For example, setting `#sorted=myOrder` on the parent note and using `#myOrder=001`, `#myOrder=002`, etc., on child notes. 4. **Alphabetical Sorting**: Used as a last resort when other criteria result in equality. -All comparisons are made string-wise (e.g., "1" < "2" or "2020-10-10" < "2021-01-15", but also "2" > "10"). \ No newline at end of file +All comparisons are made string-wise (e.g., "1" \< "2" or "2020-10-10" < "2021-01-15", but also "2" \> "10"). \ No newline at end of file diff --git a/docs/User Guide/User Guide/Installation & Setup/Web Clipper.md b/docs/User Guide/User Guide/Installation & Setup/Web Clipper.md index bd5731d34f..d054ba5247 100644 --- a/docs/User Guide/User Guide/Installation & Setup/Web Clipper.md +++ b/docs/User Guide/User Guide/Installation & Setup/Web Clipper.md @@ -3,9 +3,19 @@ Trilium Web Clipper is a web browser extension which allows user to clip text, screenshots, whole pages and short notes and save them directly to Trilium Notes. -Project is hosted [here](https://github.com/TriliumNext/web-clipper). +## Supported browsers -Firefox and Chrome are supported browsers, but the chrome build should work on other chromium based browsers as well. +Trilium Web Clipper officially supports the following web browsers: + +* Mozilla Firefox, using Manifest v2. +* Google Chrome, using Manifest v3. Theoretically the extension should work on other Chromium-based browsers as well, but they are not officially supported. + +## Obtaining the extension + +> [!WARNING] +> The extension is currently under development. A preview with unsigned extensions is available on [GitHub Actions](https://github.com/TriliumNext/Trilium/actions/runs/21318809414). +> +> We have already submitted the extension to both Chrome and Firefox web stores, but they are pending validation. ## Functionality @@ -15,16 +25,29 @@ Firefox and Chrome are supported browsers, but the chrome build should work on o * save screenshot (with crop tool) from either popup or context menu * create short text note from popup +## Location of clippings + Trilium will save these clippings as a new child note under a "clipper inbox" note. By default, that's the [day note](../Advanced%20Usage/Advanced%20Showcases/Day%20Notes.md) but you can override that by setting the [label](../Advanced%20Usage/Attributes.md) `clipperInbox`, on any other note. If there's multiple clippings from the same page (and on the same day), then they will be added to the same note. -**Extension is available from:** +## Keyboard shortcuts -* [Project release page](https://github.com/TriliumNext/web-clipper/releases) - .xpi for Firefox and .zip for Chromium based browsers. -* [Chrome Web Store](https://chromewebstore.google.com/detail/trilium-web-clipper/dfhgmnfclbebfobmblelddiejjcijbjm) +Keyboard shortcuts are available for most functions: + +* Save selected text: Ctrl+Shift+S (Mac: ++S) +* Save whole page: Alt+Shift+S (Mac: ++S) +* Save screenshot: Ctrl+Shift+E (Mac: ++E) + +To set custom shortcuts, follow the directions for your browser. + +* **Firefox**: `about:addons` → Gear icon ⚙️ → Manage extension shortcuts +* **Chrome**: `chrome://extensions/shortcuts` + +> [!NOTE] +> On Firefox, the default shortcuts interfere with some browser features. As such, the keyboard combinations will not trigger the Web Clipper action. To fix this, simply change the keyboard shortcut to something that works. The defaults will be adjusted in future versions. ## Configuration @@ -32,6 +55,36 @@ The extension needs to connect to a running Trilium instance. By default, it sca It's also possible to configure the [server](Server%20Installation.md) address if you don't run the desktop application, or want it to work without the desktop application running. -## Username +## Testing development versions -Older versions of Trilium (before 0.50) required username & password to authenticate, but this is no longer the case. You may enter anything in that field, it will not have any effect. \ No newline at end of file +Development versions are version pre-release versions, generally meant for testing purposes. These are not available in the Google or Firefox web stores, but can be downloaded from either: + +* [GitHub Releases](https://github.com/TriliumNext/Trilium/releases) by looking for releases starting with _Web Clipper._ +* Artifacts in GitHub Actions, by looking for the [_Deploy web clipper extension_ workflow](https://github.com/TriliumNext/Trilium/actions/workflows/web-clipper.yml). Once a workflow run is selected, the ZIP files are available in the _Artifacts_ section, under the name `web-clipper-extension`. + +### For Chrome + +1. Download `trilium-web-clipper-[x.y.z]-chrome.zip`. +2. Extract the archive. +3. In Chrome, navigate to `chrome://extensions/` +4. Toggle _Developer Mode_ in top-right of the page. +5. Press the _Load unpacked_ button near the header. +6. Point to the extracted directory from step (2). + +### For Firefox + +> [!WARNING] +> Firefox prevents installation of unsigned packages in the “retail” version. To be able to install extensions from disk, consider using _Firefox Developer Edition_ or a non-branded version of Firefox (e.g. _GNU IceCat_). +> +> One time, go to `about:config` and change `xpinstall.signatures.required` to `false`. + +1. Navigate to `about:addons`. +2. Select _Extensions_ in the left-side navigation. +3. Press the _Gear_ icon on the right of the _Manage Your Extensions_ title. +4. Select _Install Add-on From File…_ +5. Point it to `trilium-web-clipper-[x.y.z]-firefox.zip`. +6. Press the _Add_ button to confirm. + +## Credits + +Some parts of the code are based on the [Joplin Notes browser extension](https://github.com/laurent22/joplin/tree/master/Clipper). \ No newline at end of file diff --git a/docs/User Guide/User Guide/Scripting/Breaking changes.md b/docs/User Guide/User Guide/Scripting/Breaking changes.md new file mode 100644 index 0000000000..8b887aab99 --- /dev/null +++ b/docs/User Guide/User Guide/Scripting/Breaking changes.md @@ -0,0 +1,14 @@ +# Breaking changes +## v0.102.0: Upgrade to jQuery 4.0.0 + +jQuery 4 removes legacy browser support (such as IE11 support), but it also removes some APIs that are considered deprecated such as: + +> `jQuery.isArray`, `jQuery.parseJSON`, `jQuery.trim`, `jQuery.type`, `jQuery.now`, `jQuery.isNumeric`, `jQuery.isFunction`, `jQuery.isWindow`, `jQuery.camelCase`, `jQuery.nodeName`, `jQuery.cssNumber`, `jQuery.cssProps`, and `jQuery.fx.interval`. +> +> Use native equivalents like `Array.isArray()`, `JSON.parse()`, `String.prototype.trim()`, and `Date.now()` instead. + +This may affect custom scripts if they (or the custom jQuery libraries used) depend on the deprecated APIs. + +Note that Trilium polyfills `jQuery.isArray`, `isFunction` and `isPlainObject` because they were required by one of our dependencies (the autocomplete). + +For more information, consult [the official blog post](https://blog.jquery.com/2026/01/17/jquery-4-0-0/). \ No newline at end of file diff --git a/edit-docs-config.yaml b/edit-docs-config.yaml new file mode 100644 index 0000000000..728523c5ca --- /dev/null +++ b/edit-docs-config.yaml @@ -0,0 +1,24 @@ +baseUrl: "https://docs.triliumnotes.org" + +noteMappings: + - rootNoteId: "pOsGYCXsbNQG" + path: "docs/User Guide" + format: "markdown" + + - rootNoteId: "pOsGYCXsbNQG" + path: "apps/server/src/assets/doc_notes/en/User Guide" + format: "html" + ignoredFiles: + - "index.html" + - "navigation.html" + - "style.css" + - "User Guide.html" + exportOnly: true + + - rootNoteId: "jdjRLhLV3TtI" + path: "docs/Developer Guide" + format: "markdown" + + - rootNoteId: "hD3V4hiu2VW4" + path: "docs/Release Notes" + format: "markdown" diff --git a/flake.lock b/flake.lock index 447d1e1b02..056cc08655 100644 --- a/flake.lock +++ b/flake.lock @@ -18,43 +18,26 @@ "type": "github" } }, - "flake-utils_2": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "nixpkgs": { "locked": { - "lastModified": 1765701828, - "narHash": "sha256-bUqeCi+mdqXt6Ag0n+9QAqyvFiQPZdSCzTI70Nn3HhA=", - "owner": "nixos", + "lastModified": 1769184885, + "narHash": "sha256-wVX5Cqpz66SINNsmt3Bv/Ijzzfl8EPUISq5rKK129K0=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "62996354316ef041b26c36e998a9ef193ede2864", + "rev": "12689597ba7a6d776c3c979f393896be095269d4", "type": "github" }, "original": { - "owner": "nixos", - "ref": "master", + "owner": "NixOS", "repo": "nixpkgs", "type": "github" } }, "pnpm2nix": { "inputs": { - "flake-utils": "flake-utils_2", + "flake-utils": [ + "flake-utils" + ], "nixpkgs": [ "nixpkgs" ] @@ -94,21 +77,6 @@ "repo": "default", "type": "github" } - }, - "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 72cc8946b1..23a7a38cf4 100644 --- a/flake.nix +++ b/flake.nix @@ -2,11 +2,14 @@ description = "Trilium Notes (experimental flake)"; inputs = { - nixpkgs.url = "github:nixos/nixpkgs/master"; + nixpkgs.url = "github:NixOS/nixpkgs"; flake-utils.url = "github:numtide/flake-utils"; pnpm2nix = { url = "github:FliegendeWurst/pnpm2nix-nzbr"; - inputs.nixpkgs.follows = "nixpkgs"; + inputs = { + flake-utils.follows = "flake-utils"; + nixpkgs.follows = "nixpkgs"; + }; }; }; @@ -112,7 +115,7 @@ nodejs.python removeReferencesTo ] - ++ lib.optionals (app == "desktop") [ + ++ lib.optionals (app == "desktop" || app == "edit-docs") [ copyDesktopItems # required for NIXOS_OZONE_WL expansion # https://github.com/NixOS/nixpkgs/issues/172583 @@ -252,10 +255,33 @@ --add-flags $out/opt/trilium-server/main.cjs ''; }; + + edit-docs = makeApp { + app = "edit-docs"; + preBuildCommands = '' + export npm_config_nodedir=${electron.headers} + pnpm postinstall + ''; + buildTask = "edit-docs:build"; + mainProgram = "trilium-edit-docs"; + installCommands = '' + #remove-references-to -t ${electron.headers} apps/edit-docs/dist/node_modules/better-sqlite3/build/config.gypi + #remove-references-to -t ${nodejs.python} apps/edit-docs/dist/node_modules/better-sqlite3/build/config.gypi + + mkdir -p $out/{bin,opt/trilium-edit-docs} + cp --archive apps/edit-docs/dist/* $out/opt/trilium-edit-docs + makeShellWrapper ${lib.getExe electron} $out/bin/trilium-edit-docs \ + --set-default ELECTRON_IS_DEV 0 \ + --set TRILIUM_RESOURCE_DIR $out/opt/trilium-edit-docs \ + --add-flags $out/opt/trilium-edit-docs/edit-docs.cjs + ''; + }; + in { packages.desktop = desktop; packages.server = server; + packages.edit-docs = edit-docs; packages.default = desktop; diff --git a/package.json b/package.json index c81cd92a02..cfd0050a27 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,8 @@ "desktop:start": "pnpm run --filter desktop dev", "desktop:build": "pnpm run --filter desktop build", "desktop:start-prod": "pnpm run --filter desktop start-prod", + "edit-docs:edit-docs": "pnpm run --filter edit-docs edit-docs", + "edit-docs:build": "pnpm run --filter edit-docs build", "website:start": "pnpm run --filter website dev", "website:build": "pnpm run --filter website build", "electron:build": "pnpm desktop:build", @@ -28,7 +30,6 @@ "chore:update-version": "tsx ./scripts/update-version.ts", "docs:build": "pnpm run --filter build-docs start", "docs:preview": "pnpm http-server site -p 9000", - "edit-docs:edit-docs": "pnpm run --filter edit-docs edit-docs", "edit-docs:edit-demo": "pnpm run --filter edit-docs edit-demo", "test:all": "pnpm test:parallel && pnpm test:sequential", "test:parallel": "pnpm --filter=!server --filter=!ckeditor5-mermaid --filter=!ckeditor5-math --parallel test", @@ -39,19 +40,20 @@ "dev:linter-check": "cross-env NODE_OPTIONS=--max_old_space_size=4096 eslint .", "dev:linter-fix": "cross-env NODE_OPTIONS=--max_old_space_size=4096 eslint . --fix", "postinstall": "tsx scripts/electron-rebuild.mts && pnpm prepare", - "prepare": "pnpm run --filter pdfjs-viewer --filter share-theme build" + "prepare": "pnpm run --filter pdfjs-viewer --filter share-theme build && pnpm run --filter web-clipper postinstall" }, "private": true, "devDependencies": { - "@electron/rebuild": "4.0.2", + "@electron/rebuild": "4.0.3", "@fast-csv/parse": "5.0.5", "@playwright/test": "1.57.0", "@triliumnext/server": "workspace:*", "@types/express": "5.0.6", - "@types/node": "24.10.7", - "@vitest/browser-webdriverio": "4.0.16", - "@vitest/coverage-v8": "4.0.16", - "@vitest/ui": "4.0.16", + "@types/js-yaml": "4.0.9", + "@types/node": "24.10.9", + "@vitest/browser-webdriverio": "4.0.18", + "@vitest/coverage-v8": "4.0.18", + "@vitest/ui": "4.0.18", "chalk": "5.6.2", "cross-env": "10.1.0", "dpdm": "3.14.0", @@ -59,22 +61,23 @@ "eslint": "9.39.2", "eslint-config-preact": "2.0.0", "eslint-config-prettier": "10.1.8", - "eslint-plugin-playwright": "2.4.1", + "eslint-plugin-playwright": "2.5.1", "eslint-plugin-simple-import-sort": "12.1.1", - "happy-dom": "~20.0.0", + "happy-dom": "20.4.0", "http-server": "14.1.1", "jiti": "2.6.1", + "js-yaml": "4.1.1", "jsonc-eslint-parser": "2.4.2", "react-refresh": "0.18.0", - "rollup-plugin-webpack-stats": "2.1.9", + "rollup-plugin-webpack-stats": "2.1.10", "tslib": "2.8.1", "tsx": "4.21.0", - "typescript": "~5.9.0", - "typescript-eslint": "8.52.0", + "typescript": "5.9.3", + "typescript-eslint": "8.53.0", "upath": "2.0.1", "vite": "7.3.1", - "vite-plugin-dts": "~4.5.0", - "vitest": "4.0.16" + "vite-plugin-dts": "4.5.4", + "vitest": "4.0.18" }, "license": "AGPL-3.0-only", "author": { @@ -90,7 +93,7 @@ "url": "https://github.com/TriliumNext/Trilium/issues" }, "homepage": "https://triliumnotes.org", - "packageManager": "pnpm@10.28.0", + "packageManager": "pnpm@10.28.2", "pnpm": { "patchedDependencies": { "@ckeditor/ckeditor5-mention": "patches/@ckeditor__ckeditor5-mention.patch", @@ -112,7 +115,7 @@ "on-headers@<1.1.0": ">=1.1.0", "form-data@>=4.0.0 <4.0.4": ">=4.0.4", "form-data@>=3.0.0 <3.0.4": ">=3.0.4", - "node-abi": "4.24.0" + "node-abi": "4.26.0" }, "ignoredBuiltDependencies": [ "sqlite3" diff --git a/packages/ckeditor5-admonition/package.json b/packages/ckeditor5-admonition/package.json index 6491fb82c6..0bf44edb4c 100644 --- a/packages/ckeditor5-admonition/package.json +++ b/packages/ckeditor5-admonition/package.json @@ -21,28 +21,28 @@ "ckeditor5-metadata.json" ], "devDependencies": { - "@ckeditor/ckeditor5-dev-build-tools": "54.2.3", + "@ckeditor/ckeditor5-dev-build-tools": "54.3.2", "@ckeditor/ckeditor5-inspector": ">=4.1.0", "@ckeditor/ckeditor5-package-tools": "5.0.1", - "@typescript-eslint/eslint-plugin": "~8.52.0", - "@typescript-eslint/parser": "8.52.0", - "@vitest/browser": "4.0.16", - "@vitest/coverage-istanbul": "4.0.16", - "ckeditor5": "47.3.0", + "@typescript-eslint/eslint-plugin": "8.53.0", + "@typescript-eslint/parser": "8.53.0", + "@vitest/browser": "4.0.18", + "@vitest/coverage-istanbul": "4.0.18", + "ckeditor5": "47.4.0", "eslint": "9.39.2", "eslint-config-ckeditor5": ">=9.1.0", "http-server": "14.1.1", "lint-staged": "16.2.7", - "stylelint": "16.26.1", + "stylelint": "17.0.0", "stylelint-config-ckeditor5": ">=9.1.0", "ts-node": "10.9.2", "typescript": "5.9.3", - "vite-plugin-svgo": "~2.0.0", - "vitest": "4.0.16", - "webdriverio": "9.23.0" + "vite-plugin-svgo": "2.0.0", + "vitest": "4.0.18", + "webdriverio": "9.23.2" }, "peerDependencies": { - "ckeditor5": "47.3.0" + "ckeditor5": "47.4.0" }, "author": "Elian Doran ", "license": "GPL-2.0-or-later", diff --git a/packages/ckeditor5-footnotes/package.json b/packages/ckeditor5-footnotes/package.json index 85de46f487..92494c2a1c 100644 --- a/packages/ckeditor5-footnotes/package.json +++ b/packages/ckeditor5-footnotes/package.json @@ -22,28 +22,28 @@ "ckeditor5-metadata.json" ], "devDependencies": { - "@ckeditor/ckeditor5-dev-build-tools": "54.2.3", + "@ckeditor/ckeditor5-dev-build-tools": "54.3.2", "@ckeditor/ckeditor5-inspector": ">=4.1.0", "@ckeditor/ckeditor5-package-tools": "5.0.1", - "@typescript-eslint/eslint-plugin": "~8.52.0", - "@typescript-eslint/parser": "8.52.0", - "@vitest/browser": "4.0.16", - "@vitest/coverage-istanbul": "4.0.16", - "ckeditor5": "47.3.0", + "@typescript-eslint/eslint-plugin": "8.53.0", + "@typescript-eslint/parser": "8.53.0", + "@vitest/browser": "4.0.18", + "@vitest/coverage-istanbul": "4.0.18", + "ckeditor5": "47.4.0", "eslint": "9.39.2", "eslint-config-ckeditor5": ">=9.1.0", "http-server": "14.1.1", "lint-staged": "16.2.7", - "stylelint": "16.26.1", + "stylelint": "17.0.0", "stylelint-config-ckeditor5": ">=9.1.0", "ts-node": "10.9.2", "typescript": "5.9.3", - "vite-plugin-svgo": "~2.0.0", - "vitest": "4.0.16", - "webdriverio": "9.23.0" + "vite-plugin-svgo": "2.0.0", + "vitest": "4.0.18", + "webdriverio": "9.23.2" }, "peerDependencies": { - "ckeditor5": "47.3.0" + "ckeditor5": "47.4.0" }, "scripts": { "build": "node ./scripts/build-dist.mjs", diff --git a/packages/ckeditor5-keyboard-marker/package.json b/packages/ckeditor5-keyboard-marker/package.json index 03262e5986..23d476fd7f 100644 --- a/packages/ckeditor5-keyboard-marker/package.json +++ b/packages/ckeditor5-keyboard-marker/package.json @@ -24,28 +24,28 @@ "ckeditor5-metadata.json" ], "devDependencies": { - "@ckeditor/ckeditor5-dev-build-tools": "54.2.3", + "@ckeditor/ckeditor5-dev-build-tools": "54.3.2", "@ckeditor/ckeditor5-inspector": ">=4.1.0", "@ckeditor/ckeditor5-package-tools": "5.0.1", - "@typescript-eslint/eslint-plugin": "~8.52.0", - "@typescript-eslint/parser": "8.52.0", - "@vitest/browser": "4.0.16", - "@vitest/coverage-istanbul": "4.0.16", - "ckeditor5": "47.3.0", + "@typescript-eslint/eslint-plugin": "8.53.0", + "@typescript-eslint/parser": "8.53.0", + "@vitest/browser": "4.0.18", + "@vitest/coverage-istanbul": "4.0.18", + "ckeditor5": "47.4.0", "eslint": "9.39.2", "eslint-config-ckeditor5": ">=9.1.0", "http-server": "14.1.1", "lint-staged": "16.2.7", - "stylelint": "16.26.1", + "stylelint": "17.0.0", "stylelint-config-ckeditor5": ">=9.1.0", "ts-node": "10.9.2", "typescript": "5.9.3", - "vite-plugin-svgo": "~2.0.0", - "vitest": "4.0.16", - "webdriverio": "9.23.0" + "vite-plugin-svgo": "2.0.0", + "vitest": "4.0.18", + "webdriverio": "9.23.2" }, "peerDependencies": { - "ckeditor5": "47.3.0" + "ckeditor5": "47.4.0" }, "scripts": { "build": "node ./scripts/build-dist.mjs", diff --git a/packages/ckeditor5-math/package.json b/packages/ckeditor5-math/package.json index 33334568f5..68f9eccfee 100644 --- a/packages/ckeditor5-math/package.json +++ b/packages/ckeditor5-math/package.json @@ -24,28 +24,28 @@ "ckeditor5-metadata.json" ], "devDependencies": { - "@ckeditor/ckeditor5-dev-build-tools": "54.2.3", + "@ckeditor/ckeditor5-dev-build-tools": "54.3.2", "@ckeditor/ckeditor5-inspector": ">=4.1.0", "@ckeditor/ckeditor5-package-tools": "5.0.1", - "@typescript-eslint/eslint-plugin": "~8.52.0", - "@typescript-eslint/parser": "8.52.0", - "@vitest/browser": "4.0.16", - "@vitest/coverage-istanbul": "4.0.16", - "ckeditor5": "47.3.0", + "@typescript-eslint/eslint-plugin": "8.53.0", + "@typescript-eslint/parser": "8.53.0", + "@vitest/browser": "4.0.18", + "@vitest/coverage-istanbul": "4.0.18", + "ckeditor5": "47.4.0", "eslint": "9.39.2", "eslint-config-ckeditor5": ">=9.1.0", "http-server": "14.1.1", "lint-staged": "16.2.7", - "stylelint": "16.26.1", + "stylelint": "17.0.0", "stylelint-config-ckeditor5": ">=9.1.0", "ts-node": "10.9.2", "typescript": "5.9.3", - "vite-plugin-svgo": "~2.0.0", - "vitest": "4.0.16", - "webdriverio": "9.23.0" + "vite-plugin-svgo": "2.0.0", + "vitest": "4.0.18", + "webdriverio": "9.23.2" }, "peerDependencies": { - "ckeditor5": "47.3.0" + "ckeditor5": "47.4.0" }, "scripts": { "build": "node ./scripts/build-dist.mjs", @@ -70,7 +70,7 @@ ] }, "dependencies": { - "@ckeditor/ckeditor5-icons": "47.3.0", + "@ckeditor/ckeditor5-icons": "47.4.0", "mathlive": "0.108.2" } } diff --git a/packages/ckeditor5-mermaid/package.json b/packages/ckeditor5-mermaid/package.json index a421e00829..1cc5aea86e 100644 --- a/packages/ckeditor5-mermaid/package.json +++ b/packages/ckeditor5-mermaid/package.json @@ -24,28 +24,28 @@ "ckeditor5-metadata.json" ], "devDependencies": { - "@ckeditor/ckeditor5-dev-build-tools": "54.2.3", + "@ckeditor/ckeditor5-dev-build-tools": "54.3.2", "@ckeditor/ckeditor5-inspector": ">=4.1.0", "@ckeditor/ckeditor5-package-tools": "5.0.1", - "@typescript-eslint/eslint-plugin": "~8.52.0", - "@typescript-eslint/parser": "8.52.0", - "@vitest/browser": "4.0.16", - "@vitest/coverage-istanbul": "4.0.16", - "ckeditor5": "47.3.0", + "@typescript-eslint/eslint-plugin": "8.53.0", + "@typescript-eslint/parser": "8.53.0", + "@vitest/browser": "4.0.18", + "@vitest/coverage-istanbul": "4.0.18", + "ckeditor5": "47.4.0", "eslint": "9.39.2", "eslint-config-ckeditor5": ">=9.1.0", "http-server": "14.1.1", "lint-staged": "16.2.7", - "stylelint": "16.26.1", + "stylelint": "17.0.0", "stylelint-config-ckeditor5": ">=9.1.0", "ts-node": "10.9.2", "typescript": "5.9.3", - "vite-plugin-svgo": "~2.0.0", - "vitest": "4.0.16", - "webdriverio": "9.23.0" + "vite-plugin-svgo": "2.0.0", + "vitest": "4.0.18", + "webdriverio": "9.23.2" }, "peerDependencies": { - "ckeditor5": "47.3.0" + "ckeditor5": "47.4.0" }, "scripts": { "build": "node ./scripts/build-dist.mjs", @@ -71,6 +71,6 @@ }, "dependencies": { "@types/lodash-es": "4.17.12", - "lodash-es": "4.17.22" + "lodash-es": "4.17.23" } } diff --git a/packages/ckeditor5/package.json b/packages/ckeditor5/package.json index 6de6d88155..8b16b2d86f 100644 --- a/packages/ckeditor5/package.json +++ b/packages/ckeditor5/package.json @@ -12,11 +12,11 @@ "@triliumnext/ckeditor5-keyboard-marker": "workspace:*", "@triliumnext/ckeditor5-math": "workspace:*", "@triliumnext/ckeditor5-mermaid": "workspace:*", - "ckeditor5": "47.3.0", - "ckeditor5-premium-features": "47.3.0" + "ckeditor5": "47.4.0", + "ckeditor5-premium-features": "47.4.0" }, "devDependencies": { - "@smithy/middleware-retry": "4.4.19", + "@smithy/middleware-retry": "4.4.27", "@types/jquery": "3.5.33" } } diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index 87b248d406..397676b5df 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -15,8 +15,8 @@ "@codemirror/lang-vue": "0.1.3", "@codemirror/lang-xml": "6.1.0", "@codemirror/legacy-modes": "6.5.2", - "@codemirror/search": "6.5.11", - "@codemirror/view": "6.39.9", + "@codemirror/search": "6.6.0", + "@codemirror/view": "6.39.11", "@fsegurai/codemirror-theme-abcdef": "6.2.3", "@fsegurai/codemirror-theme-abyss": "6.2.3", "@fsegurai/codemirror-theme-android-studio": "6.2.3", @@ -39,8 +39,8 @@ "@fsegurai/codemirror-theme-tokyo-night-day": "6.2.3", "@fsegurai/codemirror-theme-tokyo-night-storm": "6.2.3", "@fsegurai/codemirror-theme-volcano": "6.2.3", - "@fsegurai/codemirror-theme-vscode-dark": "6.2.3", - "@fsegurai/codemirror-theme-vscode-light": "6.2.3", + "@fsegurai/codemirror-theme-vscode-dark": "6.2.4", + "@fsegurai/codemirror-theme-vscode-light": "6.2.4", "@replit/codemirror-indentation-markers": "6.5.3", "@replit/codemirror-lang-nix": "6.0.1", "@replit/codemirror-vim": "6.3.0", diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index c86d37b12d..f77342455d 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -1,5 +1,5 @@ import { defaultKeymap, history, historyKeymap } from "@codemirror/commands"; -import { EditorView, highlightActiveLine, keymap, lineNumbers, placeholder, ViewPlugin, ViewUpdate, type EditorViewConfig } from "@codemirror/view"; +import { EditorView, highlightActiveLine, keymap, lineNumbers, placeholder, ViewPlugin, ViewUpdate, type EditorViewConfig, KeyBinding } from "@codemirror/view"; import { defaultHighlightStyle, StreamLanguage, syntaxHighlighting, indentUnit, bracketMatching, foldGutter, codeFolding } from "@codemirror/language"; import { Compartment, EditorSelection, EditorState, type Extension } from "@codemirror/state"; import { highlightSelectionMatches } from "@codemirror/search"; @@ -12,6 +12,17 @@ import { createSearchHighlighter, SearchHighlighter, searchMatchHighlightTheme } export { default as ColorThemes, type ThemeDefinition, getThemeById } from "./color_themes.js"; +// Custom keymap to prevent Ctrl+Enter from inserting a newline +// This allows the parent application to handle the shortcut (e.g., for "Run Active Note") +const preventCtrlEnterKeymap: readonly KeyBinding[] = [ + { + key: "Ctrl-Enter", + mac: "Cmd-Enter", + run: () => true, // Return true to mark event as handled, preventing default newline insertion + preventDefault: true + } +]; + type ContentChangedListener = () => void; export interface EditorConfig { @@ -59,6 +70,7 @@ export default class CodeMirror extends EditorView { lineNumbers(), indentUnit.of(" ".repeat(4)), keymap.of([ + ...preventCtrlEnterKeymap, ...defaultKeymap, ...historyKeymap, ...smartIndentWithTab diff --git a/packages/commons/src/index.ts b/packages/commons/src/index.ts index 6fb65baac4..1ae730a563 100644 --- a/packages/commons/src/index.ts +++ b/packages/commons/src/index.ts @@ -12,3 +12,4 @@ export * from "./lib/ws_api.js"; export * from "./lib/attribute_names.js"; export * from "./lib/utils.js"; export * from "./lib/dayjs.js"; +export * from "./lib/notes.js"; diff --git a/packages/commons/src/lib/notes.ts b/packages/commons/src/lib/notes.ts new file mode 100644 index 0000000000..15b9c8e41b --- /dev/null +++ b/packages/commons/src/lib/notes.ts @@ -0,0 +1,69 @@ +/** + * @module notes Common logic for notes (across front-end and back-end) + */ + +import { MIME_TYPES_DICT } from "./mime_type.js"; +import { NoteType } from "./rows.js"; + +export const NOTE_TYPE_ICONS = { + file: "bx bx-file", + image: "bx bx-image", + code: "bx bx-code", + render: "bx bx-extension", + search: "bx bx-file-find", + relationMap: "bx bxs-network-chart", + book: "bx bx-book", + noteMap: "bx bxs-network-chart", + mermaid: "bx bx-selection", + canvas: "bx bx-pen", + webView: "bx bx-globe-alt", + launcher: "bx bx-link", + doc: "bx bxs-file-doc", + contentWidget: "bx bxs-widget", + mindMap: "bx bx-sitemap", + aiChat: "bx bx-bot" +}; + +const FILE_MIME_MAPPINGS = { + "application/pdf": "bx bxs-file-pdf", + "application/vnd.oasis.opendocument.text": "bx bxs-file-doc", + "application/vnd.openxmlformats-officedocument.wordprocessingml.document": "bx bxs-file-doc", +}; + +const IMAGE_MIME_MAPPINGS = { + "image/gif": "bx bxs-file-gif", +}; + +export function getNoteIcon({ noteId, type, mime, iconClass, workspaceIconClass, isFolder }: { + noteId: string; + type: NoteType; + mime: string; + iconClass: string | undefined; + workspaceIconClass: string | undefined; + isFolder: () => boolean; +}) { + if (iconClass) { + return iconClass; + } else if (workspaceIconClass) { + return workspaceIconClass; + } else if (noteId === "root") { + return "bx bx-home-alt-2"; + } + if (noteId === "_share") { + return "bx bx-share-alt"; + } else if (type === "text") { + if (isFolder()) { + return "bx bx-folder"; + } + return "bx bx-note"; + } else if (type === "code") { + const correspondingMimeType = MIME_TYPES_DICT.find(m => m.mime === mime); + return correspondingMimeType?.icon ?? NOTE_TYPE_ICONS.code; + } else if (type === "file") { + return FILE_MIME_MAPPINGS[mime] ?? NOTE_TYPE_ICONS.file; + } else if (type === "image") { + return IMAGE_MIME_MAPPINGS[mime] ?? NOTE_TYPE_ICONS.image; + } + + return NOTE_TYPE_ICONS[type]; +} diff --git a/packages/highlightjs/src/index.ts b/packages/highlightjs/src/index.ts index 6638a4b04e..3016869b73 100644 --- a/packages/highlightjs/src/index.ts +++ b/packages/highlightjs/src/index.ts @@ -22,7 +22,6 @@ export async function ensureMimeTypes(mimeTypes: MimeType[]) { continue; } - registeredMimeTypes.add(mime); const loader = syntaxDefinitions[mime]; if (!loader) { unsupportedMimeTypes.add(mime); @@ -31,6 +30,7 @@ export async function ensureMimeTypes(mimeTypes: MimeType[]) { const language = (await loader()).default; hljs.registerLanguage(mime, language); + registeredMimeTypes.add(mime); } } diff --git a/packages/share-theme/package.json b/packages/share-theme/package.json index d8526f6ee9..a8e6e6672f 100644 --- a/packages/share-theme/package.json +++ b/packages/share-theme/package.json @@ -25,14 +25,14 @@ "license": "Apache-2.0", "dependencies": { "fuse.js": "7.1.0", - "katex": "0.16.27", + "katex": "0.16.28", "mermaid": "11.12.2" }, "devDependencies": { "@digitak/esrun": "3.2.26", "@triliumnext/ckeditor5": "workspace:*", - "@typescript-eslint/eslint-plugin": "8.52.0", - "@typescript-eslint/parser": "8.52.0", + "@typescript-eslint/eslint-plugin": "8.53.0", + "@typescript-eslint/parser": "8.53.0", "dotenv": "17.2.3", "esbuild": "0.27.2", "eslint": "9.39.2", diff --git a/packages/trilium-core/src/becca/entities/bnote.ts b/packages/trilium-core/src/becca/entities/bnote.ts index 7be573166f..75c22dfa98 100644 --- a/packages/trilium-core/src/becca/entities/bnote.ts +++ b/packages/trilium-core/src/becca/entities/bnote.ts @@ -1,5 +1,5 @@ import type { AttachmentRow, AttributeType, CloneResponse, NoteRow, NoteType, RevisionRow } from "@triliumnext/commons"; -import { dayjs } from "@triliumnext/commons"; +import { dayjs, getNoteIcon } from "@triliumnext/commons"; import eventService from "../../services/events"; import cloningService from "../../services/cloning.js"; @@ -1698,30 +1698,17 @@ class BNote extends AbstractBeccaEntity { } getIcon() { - return `tn-icon ${this.#getIconInternal()}`; - } - - // TODO: Deduplicate with fnote - #getIconInternal() { const iconClassLabels = this.getLabels("iconClass"); + const icon = getNoteIcon({ + noteId: this.noteId, + type: this.type, + mime: this.mime, + iconClass: iconClassLabels.length > 0 ? iconClassLabels[0].value : undefined, + workspaceIconClass: undefined, + isFolder: this.isFolder.bind(this) + }); - if (iconClassLabels && iconClassLabels.length > 0) { - return iconClassLabels[0].value; - } else if (this.noteId === "root") { - return "bx bx-home-alt-2"; - } - if (this.noteId === "_share") { - return "bx bx-share-alt"; - } else if (this.type === "text") { - if (this.isFolder()) { - return "bx bx-folder"; - } - return "bx bx-note"; - - } else if (this.type === "code" && this.mime.startsWith("text/x-sql")) { - return "bx bx-data"; - } - return NOTE_TYPE_ICONS[this.type]; + return `tn-icon ${icon}`; } // TODO: Deduplicate with fnote diff --git a/packages/trilium-core/src/services/notes.ts b/packages/trilium-core/src/services/notes.ts index a62a8e7d56..a02a51f48e 100644 --- a/packages/trilium-core/src/services/notes.ts +++ b/packages/trilium-core/src/services/notes.ts @@ -64,6 +64,8 @@ export interface NoteParams { utcDateCreated?: string; ignoreForbiddenParents?: boolean; target?: "into"; + /** Attributes to be set on the note. These are set atomically on note creation, so entity changes are not sent for attributes defined here. */ + attributes?: Omit[]; } function getNewNotePosition(parentNote: BNote) { @@ -249,6 +251,14 @@ function createNewNote(params: NoteParams): { utcDateCreated: params.utcDateCreated }).save(); + // Create attributes atomically. + for (const attribute of params.attributes || []) { + new BAttribute({ + ...attribute, + noteId: note.noteId + }).save(); + } + note.setContent(params.content); branch = new BBranch({ diff --git a/packages/trilium-core/src/services/tree.spec.ts b/packages/trilium-core/src/services/tree.spec.ts index 1efd9acbeb..7107152627 100644 --- a/packages/trilium-core/src/services/tree.spec.ts +++ b/packages/trilium-core/src/services/tree.spec.ts @@ -1,11 +1,11 @@ -import { beforeEach, describe, expect, it, vi } from "vitest"; -import { note, NoteBuilder } from "../test/becca_mocking.js"; +import {beforeEach, describe, expect, it, vi} from "vitest"; +import {note, NoteBuilder} from "../test/becca_mocking.js"; import becca from "../becca/becca.js"; import BBranch from "../becca/entities/bbranch.js"; import BNote from "../becca/entities/bnote.js"; import tree from "./tree.js"; import cls from "./cls.js"; -import { buildNote } from "../test/becca_easy_mocking.js"; +import {buildNote} from "../test/becca_easy_mocking.js"; describe("Tree", () => { let rootNote!: NoteBuilder; @@ -48,6 +48,23 @@ describe("Tree", () => { }; }); }); + it("sorts notes by title (base case)", () => { + + const note = buildNote({ + children: [ + {title: "1"}, + {title: "2"}, + {title: "3"}, + ], + "#sorted": "", + }); + cls.init(() => { + tree.sortNotesIfNeeded(note.noteId); + }); + const orderedTitles = note.children.map((child) => child.title); + expect(orderedTitles).toStrictEqual(["1", "2", "3"]); + } + ) it("custom sort order is idempotent", () => { rootNote.label("sorted", "order"); @@ -56,13 +73,15 @@ describe("Tree", () => { for (let i = 0; i <= 5; i++) { rootNote.child(note(String(i)).label("order", String(i))); } + rootNote.child(note("top").label("top")); + rootNote.child(note("bottom").label("bottom")); // Add a few values which have no defined order. for (let i = 6; i < 10; i++) { rootNote.child(note(String(i))); } - const expectedOrder = [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" ]; + const expectedOrder = ["top", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "bottom"]; // Sort a few times to ensure that the resulting order is the same. for (let i = 0; i < 5; i++) { @@ -78,12 +97,12 @@ describe("Tree", () => { it("pins to the top and bottom", () => { const note = buildNote({ children: [ - { title: "bottom", "#bottom": "" }, - { title: "5" }, - { title: "3" }, - { title: "2" }, - { title: "1" }, - { title: "top", "#top": "" } + {title: "bottom", "#bottom": ""}, + {title: "5"}, + {title: "3"}, + {title: "2"}, + {title: "1"}, + {title: "top", "#top": ""} ], "#sorted": "" }); @@ -91,18 +110,18 @@ describe("Tree", () => { tree.sortNotesIfNeeded(note.noteId); }); const orderedTitles = note.children.map((child) => child.title); - expect(orderedTitles).toStrictEqual([ "top", "1", "2", "3", "5", "bottom" ]); + expect(orderedTitles).toStrictEqual(["top", "1", "2", "3", "5", "bottom"]); }); it("pins to the top and bottom in reverse order", () => { const note = buildNote({ children: [ - { title: "bottom", "#bottom": "" }, - { title: "1" }, - { title: "2" }, - { title: "3" }, - { title: "5" }, - { title: "top", "#top": "" } + {title: "bottom", "#bottom": ""}, + {title: "1"}, + {title: "2"}, + {title: "3"}, + {title: "5"}, + {title: "top", "#top": ""} ], "#sorted": "", "#sortDirection": "desc" @@ -111,6 +130,50 @@ describe("Tree", () => { tree.sortNotesIfNeeded(note.noteId); }); const orderedTitles = note.children.map((child) => child.title); - expect(orderedTitles).toStrictEqual([ "top", "5", "3", "2", "1", "bottom" ]); + expect(orderedTitles).toStrictEqual(["top", "5", "3", "2", "1", "bottom"]); }); + + it("keeps folder notes on top when #sortFolderFirst is set, but not above #top", () => { + const note = buildNote({ + children: [ + {title: "bottom", "#bottom": ""}, + {title: "1"}, + {title: "2"}, + {title: "p1", children: [{title: "1.1"}, {title: "1.2"}]}, + {title: "p2", children: [{title: "2.1"}, {title: "2.2"}]}, + {title: "3"}, + {title: "5"}, + {title: "top", "#top": ""} + ], + "#sorted": "", + "#sortFoldersFirst": "" + }); + cls.init(() => { + tree.sortNotesIfNeeded(note.noteId); + }); + const orderedTitles = note.children.map((child) => child.title); + expect(orderedTitles).toStrictEqual(["top", "p1", "p2", "1", "2", "3", "5", "bottom"]); + }); + + it("sorts notes accordingly when #sortNatural is set", () => { + const note = buildNote({ + children: [ + {title: "bottom", "#bottom": ""}, + {title: "1"}, + {title: "2"}, + {title: "10"}, + {title: "20"}, + {title: "3"}, + {title: "top", "#top": ""} + ], + "#sorted": "", + "#sortNatural": "" + }); + cls.init(() => { + tree.sortNotesIfNeeded(note.noteId); + }); + const orderedTitles = note.children.map((child) => child.title); + expect(orderedTitles).toStrictEqual(["top", "1", "2", "3", "10", "20", "bottom"]); + } + ) }); diff --git a/packages/trilium-core/src/services/tree.ts b/packages/trilium-core/src/services/tree.ts index 896af1014d..403e26a6ab 100644 --- a/packages/trilium-core/src/services/tree.ts +++ b/packages/trilium-core/src/services/tree.ts @@ -99,15 +99,6 @@ function sortNotes(parentNoteId: string, customSortBy: string = "title", reverse } notes.sort((a, b) => { - if (foldersFirst) { - const aHasChildren = a.hasChildren(); - const bHasChildren = b.hasChildren(); - - if ((aHasChildren && !bHasChildren) || (!aHasChildren && bHasChildren)) { - // exactly one note of the two is a directory, so the sorting will be done based on this status - return aHasChildren ? -1 : 1; - } - } function fetchValue(note: BNote, key: string) { let rawValue: string | null; @@ -155,6 +146,16 @@ function sortNotes(parentNoteId: string, customSortBy: string = "title", reverse return compare(bottomBEl, bottomAEl) * (reverse ? -1 : 1); } + if (foldersFirst) { + const aHasChildren = a.hasChildren(); + const bHasChildren = b.hasChildren(); + + if ((aHasChildren && !bHasChildren) || (!aHasChildren && bHasChildren)) { + // exactly one note of the two is a directory, so the sorting will be done based on this status + return aHasChildren ? -1 : 1; + } + } + const customAEl = fetchValue(a, customSortBy) ?? fetchValue(a, "title") as string; const customBEl = fetchValue(b, customSortBy) ?? fetchValue(b, "title") as string; @@ -233,7 +234,6 @@ function setNoteToParent(noteId: string, prefix: string, parentNoteId: string) { } // case where there might be more such branches is ignored. It's expected there should be just one - const sql = getSql(); const branchId = sql.getValue("SELECT branchId FROM branches WHERE isDeleted = 0 AND noteId = ? AND prefix = ?", [noteId, prefix]); const branch = becca.getBranch(branchId); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b78fba61da..84c3f1a245 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,7 +20,7 @@ overrides: on-headers@<1.1.0: '>=1.1.0' form-data@>=4.0.0 <4.0.4: '>=4.0.4' form-data@>=3.0.0 <3.0.4: '>=3.0.4' - node-abi: 4.24.0 + node-abi: 4.26.0 patchedDependencies: '@ckeditor/ckeditor5-code-block': @@ -35,8 +35,8 @@ importers: .: devDependencies: '@electron/rebuild': - specifier: 4.0.2 - version: 4.0.2 + specifier: 4.0.3 + version: 4.0.3 '@fast-csv/parse': specifier: 5.0.5 version: 5.0.5 @@ -49,18 +49,21 @@ importers: '@types/express': specifier: 5.0.6 version: 5.0.6 + '@types/js-yaml': + specifier: 4.0.9 + version: 4.0.9 '@types/node': - specifier: 24.10.7 - version: 24.10.7 + specifier: 24.10.9 + version: 24.10.9 '@vitest/browser-webdriverio': - specifier: 4.0.16 - version: 4.0.16(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.16)(webdriverio@9.23.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + specifier: 4.0.18 + version: 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18)(webdriverio@9.23.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-v8': - specifier: 4.0.16 - version: 4.0.16(@vitest/browser@4.0.16(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.16))(vitest@4.0.16) + specifier: 4.0.18 + version: 4.0.18(@vitest/browser@4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18))(vitest@4.0.18) '@vitest/ui': - specifier: 4.0.16 - version: 4.0.16(vitest@4.0.16) + specifier: 4.0.18 + version: 4.0.18(vitest@4.0.18) chalk: specifier: 5.6.2 version: 5.6.2 @@ -83,20 +86,23 @@ importers: specifier: 10.1.8 version: 10.1.8(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-playwright: - specifier: 2.4.1 - version: 2.4.1(eslint@9.39.2(jiti@2.6.1)) + specifier: 2.5.1 + version: 2.5.1(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-simple-import-sort: specifier: 12.1.1 version: 12.1.1(eslint@9.39.2(jiti@2.6.1)) happy-dom: - specifier: ~20.0.0 - version: 20.0.11 + specifier: 20.4.0 + version: 20.4.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) http-server: specifier: 14.1.1 version: 14.1.1 jiti: specifier: 2.6.1 version: 2.6.1 + js-yaml: + specifier: 4.1.1 + version: 4.1.1 jsonc-eslint-parser: specifier: 2.4.2 version: 2.4.2 @@ -104,8 +110,8 @@ importers: specifier: 0.18.0 version: 0.18.0 rollup-plugin-webpack-stats: - specifier: 2.1.9 - version: 2.1.9(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + specifier: 2.1.10 + version: 2.1.10(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) tslib: specifier: 2.8.1 version: 2.8.1 @@ -113,29 +119,29 @@ importers: specifier: 4.21.0 version: 4.21.0 typescript: - specifier: ~5.9.0 + specifier: 5.9.3 version: 5.9.3 typescript-eslint: - specifier: 8.52.0 - version: 8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.53.0 + version: 8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) upath: specifier: 2.0.1 version: 2.0.1 vite: specifier: 7.3.1 - version: 7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + version: 7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) vite-plugin-dts: - specifier: ~4.5.0 - version: 4.5.4(@types/node@24.10.7)(rollup@4.52.0)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + specifier: 4.5.4 + version: 4.5.4(@types/node@24.10.9)(rollup@4.52.0)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) vitest: - specifier: 4.0.16 - version: 4.0.16(@opentelemetry/api@1.9.0)(@types/node@24.10.7)(@vitest/browser-webdriverio@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.2)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + specifier: 4.0.18 + version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.9)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.4.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) apps/build-docs: devDependencies: '@redocly/cli': - specifier: 2.14.4 - version: 2.14.4(@opentelemetry/api@1.9.0)(ajv@8.17.1)(bufferutil@4.0.9)(core-js@3.46.0)(encoding@0.1.13)(utf-8-validate@6.0.5) + specifier: 2.14.9 + version: 2.14.9(@opentelemetry/api@1.9.0)(bufferutil@4.0.9)(core-js@3.46.0)(encoding@0.1.13)(utf-8-validate@6.0.5) archiver: specifier: 7.0.1 version: 7.0.1 @@ -143,11 +149,11 @@ importers: specifier: 11.3.3 version: 11.3.3 react: - specifier: 19.2.3 - version: 19.2.3 + specifier: 19.2.4 + version: 19.2.4 react-dom: - specifier: 19.2.3 - version: 19.2.3(react@19.2.3) + specifier: 19.2.4 + version: 19.2.4(react@19.2.4) typedoc: specifier: 0.28.16 version: 0.28.16(typescript@5.9.3) @@ -159,7 +165,7 @@ importers: dependencies: '@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.2.3(react@19.2.3))(react@19.2.3) + version: 0.18.0(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fullcalendar/core': specifier: 6.1.20 version: 6.1.20 @@ -186,13 +192,13 @@ importers: version: 0.2.0(mermaid@11.12.2) '@mind-elixir/node-menu': specifier: 5.0.1 - version: 5.0.1(mind-elixir@5.5.0) + version: 5.0.1(mind-elixir@5.6.1) '@popperjs/core': specifier: 2.11.8 version: 2.11.8 '@preact/signals': - specifier: 2.5.1 - version: 2.5.1(preact@10.28.2) + specifier: 2.6.1 + version: 2.6.1(preact@10.28.2) '@triliumnext/ckeditor5': specifier: workspace:* version: link:../../packages/ckeditor5 @@ -212,8 +218,8 @@ importers: specifier: workspace:* version: link:../../packages/splitjs '@zumer/snapdom': - specifier: 2.0.1 - version: 2.0.1 + specifier: 2.0.2 + version: 2.0.2 autocomplete.js: specifier: 0.38.1 version: 0.38.1 @@ -242,23 +248,23 @@ importers: specifier: 17.0.0 version: 17.0.0 i18next: - specifier: 25.7.3 - version: 25.7.3(typescript@5.9.3) + specifier: 25.8.0 + version: 25.8.0(typescript@5.9.3) i18next-http-backend: specifier: 3.0.2 version: 3.0.2(encoding@0.1.13) jquery: - specifier: 3.7.1 - version: 3.7.1 + specifier: 4.0.0 + version: 4.0.0 jquery.fancytree: specifier: 2.38.5 - version: 2.38.5(jquery@3.7.1) + version: 2.38.5(jquery@4.0.0) jsplumb: specifier: 2.15.6 version: 2.15.6 katex: - specifier: 0.16.27 - version: 0.16.27 + specifier: 0.16.28 + version: 0.16.28 knockout: specifier: 3.5.1 version: 3.5.1 @@ -278,8 +284,8 @@ importers: specifier: 11.12.2 version: 11.12.2 mind-elixir: - specifier: 5.5.0 - version: 5.5.0 + specifier: 5.6.1 + version: 5.6.1 normalize.css: specifier: 8.0.1 version: 8.0.1 @@ -290,11 +296,11 @@ importers: specifier: 10.28.2 version: 10.28.2 react-i18next: - specifier: 16.5.1 - version: 16.5.1(i18next@25.7.3(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + specifier: 16.5.4 + version: 16.5.4(i18next@25.8.0(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3) react-window: specifier: 2.2.5 - version: 2.2.5(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 2.2.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4) reveal.js: specifier: 5.2.1 version: 5.2.1 @@ -313,7 +319,7 @@ importers: version: 5.0.0 '@prefresh/vite': specifier: 2.4.11 - version: 2.4.11(preact@10.28.2)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + version: 2.4.11(preact@10.28.2)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) '@types/bootstrap': specifier: 5.2.10 version: 5.2.10 @@ -339,23 +345,23 @@ importers: specifier: 13.0.1 version: 13.0.1(webpack@5.101.3(esbuild@0.27.2)) happy-dom: - specifier: 20.0.11 - version: 20.0.11 + specifier: 20.4.0 + version: 20.4.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) lightningcss: - specifier: 1.30.2 - version: 1.30.2 + specifier: 1.31.1 + version: 1.31.1 script-loader: specifier: 0.7.2 version: 0.7.2 vite-plugin-static-copy: - specifier: 3.1.4 - version: 3.1.4(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + specifier: 3.2.0 + version: 3.2.0(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) apps/client-standalone: dependencies: '@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.2.3(react@19.2.3))(react@19.2.3) + version: 0.18.0(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fullcalendar/core': specifier: 6.1.20 version: 6.1.20 @@ -499,10 +505,10 @@ importers: version: 10.28.2 react-i18next: specifier: 16.5.1 - version: 16.5.1(i18next@25.7.3(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + version: 16.5.1(i18next@25.7.3(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3) react-window: specifier: 2.2.3 - version: 2.2.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 2.2.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) reveal.js: specifier: 5.2.1 version: 5.2.1 @@ -521,7 +527,7 @@ importers: version: 5.0.0 '@preact/preset-vite': specifier: 2.10.2 - version: 2.10.2(@babel/core@7.28.0)(preact@10.28.2)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + version: 2.10.2(@babel/core@7.28.0)(preact@10.28.2)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) '@types/bootstrap': specifier: 5.2.10 version: 5.2.10 @@ -557,7 +563,7 @@ importers: version: 0.7.2 vite-plugin-static-copy: specifier: 3.1.4 - version: 3.1.4(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + version: 3.1.4(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) apps/db-compare: dependencies: @@ -565,8 +571,8 @@ importers: specifier: 1.4.0 version: 1.4.0 diff: - specifier: 8.0.2 - version: 8.0.2 + specifier: 8.0.3 + version: 8.0.3 sqlite: specifier: 5.1.1 version: 5.1.1 @@ -578,10 +584,10 @@ importers: dependencies: '@electron/remote': specifier: 2.1.3 - version: 2.1.3(electron@39.2.7) + version: 2.1.3(electron@40.0.0) better-sqlite3: - specifier: 12.6.0 - version: 12.6.0 + specifier: 12.6.2 + version: 12.6.2 electron-debug: specifier: 4.1.0 version: 4.1.0 @@ -596,32 +602,32 @@ importers: version: 0.2.2 jquery.fancytree: specifier: 2.38.5 - version: 2.38.5(jquery@3.7.1) + version: 2.38.5(jquery@4.0.0) devDependencies: '@electron-forge/cli': - specifier: 7.10.2 - version: 7.10.2(encoding@0.1.13)(esbuild@0.27.2) + specifier: 7.11.1 + version: 7.11.1(encoding@0.1.13)(esbuild@0.27.2) '@electron-forge/maker-deb': - specifier: 7.10.2 - version: 7.10.2 + specifier: 7.11.1 + version: 7.11.1 '@electron-forge/maker-dmg': - specifier: 7.10.2 - version: 7.10.2 + specifier: 7.11.1 + version: 7.11.1 '@electron-forge/maker-flatpak': - specifier: 7.10.2 - version: 7.10.2 + specifier: 7.11.1 + version: 7.11.1 '@electron-forge/maker-rpm': - specifier: 7.10.2 - version: 7.10.2 + specifier: 7.11.1 + version: 7.11.1 '@electron-forge/maker-squirrel': - specifier: 7.10.2 - version: 7.10.2 + specifier: 7.11.1 + version: 7.11.1 '@electron-forge/maker-zip': - specifier: 7.10.2 - version: 7.10.2 + specifier: 7.11.1 + version: 7.11.1 '@electron-forge/plugin-auto-unpack-natives': - specifier: 7.10.2 - version: 7.10.2 + specifier: 7.11.1 + version: 7.11.1 '@triliumnext/commons': specifier: workspace:* version: link:../../packages/commons @@ -635,8 +641,8 @@ importers: specifier: 13.0.1 version: 13.0.1(webpack@5.101.3(esbuild@0.27.2)) electron: - specifier: 39.2.7 - version: 39.2.7 + specifier: 40.0.0 + version: 40.0.0 prebuild-install: specifier: 7.1.3 version: 7.1.3 @@ -644,8 +650,8 @@ importers: apps/dump-db: dependencies: better-sqlite3: - specifier: 12.6.0 - version: 12.6.0 + specifier: 12.6.2 + version: 12.6.2 mime-types: specifier: 3.0.2 version: 3.0.2 @@ -675,8 +681,8 @@ importers: specifier: 7.0.1 version: 7.0.1 better-sqlite3: - specifier: 12.6.0 - version: 12.6.0 + specifier: 12.6.2 + version: 12.6.2 devDependencies: '@triliumnext/client': specifier: workspace:* @@ -691,8 +697,8 @@ importers: specifier: 13.0.1 version: 13.0.1(webpack@5.101.3(esbuild@0.27.2)) electron: - specifier: 39.2.7 - version: 39.2.7 + specifier: 40.0.0 + version: 40.0.0 fs-extra: specifier: 11.3.3 version: 11.3.3 @@ -709,8 +715,8 @@ importers: apps/server: dependencies: better-sqlite3: - specifier: 12.6.0 - version: 12.6.0 + specifier: 12.6.2 + version: 12.6.2 html-to-text: specifier: 9.0.5 version: 9.0.5 @@ -726,7 +732,7 @@ importers: version: 0.71.2(zod@4.1.12) '@electron/remote': specifier: 2.1.3 - version: 2.1.3(electron@39.2.7) + version: 2.1.3(electron@40.0.0) '@triliumnext/commons': specifier: workspace:* version: link:../../packages/commons @@ -818,8 +824,8 @@ importers: specifier: 0.5.0 version: 0.5.0 axios: - specifier: 1.13.2 - version: 1.13.2(debug@4.4.3) + specifier: 1.13.4 + version: 1.13.4(debug@4.4.3) bindings: specifier: 1.5.0 version: 1.5.0 @@ -830,8 +836,8 @@ importers: specifier: 2.1.1 version: 2.1.1 cheerio: - specifier: 1.1.2 - version: 1.1.2 + specifier: 1.2.0 + version: 1.2.0 chokidar: specifier: 5.0.0 version: 5.0.0 @@ -854,11 +860,11 @@ importers: specifier: 4.4.3 version: 4.4.3(supports-color@8.1.1) ejs: - specifier: 3.1.10 - version: 3.1.10 + specifier: 4.0.1 + version: 4.0.1 electron: - specifier: 39.2.7 - version: 39.2.7 + specifier: 40.0.0 + version: 40.0.0 electron-debug: specifier: 4.1.0 version: 4.1.0 @@ -878,8 +884,8 @@ importers: specifier: 8.2.1 version: 8.2.1(express@5.2.1) express-session: - specifier: 1.18.2 - version: 1.18.2 + specifier: 1.19.0 + version: 1.19.0 file-uri-to-path: specifier: 2.0.0 version: 2.0.0 @@ -902,8 +908,8 @@ importers: specifier: 7.0.6 version: 7.0.6 i18next: - specifier: 25.7.3 - version: 25.7.3(typescript@5.9.3) + specifier: 25.8.0 + version: 25.8.0(typescript@5.9.3) i18next-fs-backend: specifier: 2.6.1 version: 2.6.1 @@ -938,8 +944,8 @@ importers: specifier: 0.6.3 version: 0.6.3 openai: - specifier: 6.16.0 - version: 6.16.0(ws@8.19.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@4.1.12) + specifier: 6.17.0 + version: 6.17.0(ws@8.19.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@4.1.12) rand-token: specifier: 1.0.1 version: 1.0.1 @@ -973,12 +979,9 @@ importers: tmp: specifier: 0.2.5 version: 0.2.5 - turndown: - specifier: 7.2.2 - version: 7.2.2 - vite: - specifier: 7.3.1 - version: 7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + turnish: + specifier: 1.8.0 + version: 1.8.0 ws: specifier: 8.19.0 version: 8.19.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -995,11 +998,24 @@ importers: specifier: 17.2.3 version: 17.2.3 + apps/web-clipper: + dependencies: + cash-dom: + specifier: 8.1.5 + version: 8.1.5 + devDependencies: + '@wxt-dev/auto-icons': + specifier: 1.1.0 + version: 1.1.0(wxt@0.20.13(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + wxt: + specifier: 0.20.13 + version: 0.20.13(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + apps/website: dependencies: i18next: - specifier: 25.7.3 - version: 25.7.3(typescript@5.9.3) + specifier: 25.8.0 + version: 25.8.0(typescript@5.9.3) i18next-http-backend: specifier: 3.0.2 version: 3.0.2(encoding@0.1.13) @@ -1013,12 +1029,12 @@ importers: specifier: 6.6.5 version: 6.6.5(preact@10.28.2) react-i18next: - specifier: 16.5.1 - version: 16.5.1(i18next@25.7.3(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + specifier: 16.5.4 + version: 16.5.4(i18next@25.8.0(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3) devDependencies: '@preact/preset-vite': specifier: 2.10.2 - version: 2.10.2(@babel/core@7.28.0)(preact@10.28.2)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + version: 2.10.2(@babel/core@7.28.0)(preact@10.28.2)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) eslint: specifier: 9.39.2 version: 9.39.2(jiti@2.6.1) @@ -1033,10 +1049,10 @@ importers: version: 0.4.2 vite: specifier: 7.3.1 - version: 7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + version: 7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) vitest: - specifier: 4.0.16 - version: 4.0.16(@opentelemetry/api@1.9.0)(@types/node@24.10.7)(@vitest/browser-webdriverio@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.2)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + specifier: 4.0.18 + version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.9)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.4.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) packages/ckeditor5: dependencies: @@ -1059,15 +1075,15 @@ importers: specifier: workspace:* version: link:../commons ckeditor5: - specifier: 47.3.0 - version: 47.3.0 + specifier: 47.4.0 + version: 47.4.0 ckeditor5-premium-features: - specifier: 47.3.0 - version: 47.3.0(bufferutil@4.0.9)(ckeditor5@47.3.0)(utf-8-validate@6.0.5) + specifier: 47.4.0 + version: 47.4.0(bufferutil@4.0.9)(ckeditor5@47.4.0)(utf-8-validate@6.0.5) devDependencies: '@smithy/middleware-retry': - specifier: 4.4.19 - version: 4.4.19 + specifier: 4.4.27 + version: 4.4.27 '@types/jquery': specifier: 3.5.33 version: 3.5.33 @@ -1075,29 +1091,29 @@ importers: packages/ckeditor5-admonition: devDependencies: '@ckeditor/ckeditor5-dev-build-tools': - specifier: 54.2.3 - version: 54.2.3(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.9.3) + specifier: 54.3.2 + version: 54.3.2(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.9.3) '@ckeditor/ckeditor5-inspector': specifier: '>=4.1.0' version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: 5.0.1 - version: 5.0.1(@babel/core@7.28.0)(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.7)(bufferutil@4.0.9)(esbuild@0.27.2)(utf-8-validate@6.0.5) + version: 5.0.1(@babel/core@7.28.0)(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.9)(bufferutil@4.0.9)(esbuild@0.27.2)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': - specifier: ~8.52.0 - version: 8.52.0(@typescript-eslint/parser@8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.53.0 + version: 8.53.0(@typescript-eslint/parser@8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/parser': - specifier: 8.52.0 - version: 8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.53.0 + version: 8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@vitest/browser': - specifier: 4.0.16 - version: 4.0.16(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.16) + specifier: 4.0.18 + version: 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18) '@vitest/coverage-istanbul': - specifier: 4.0.16 - version: 4.0.16(vitest@4.0.16) + specifier: 4.0.18 + version: 4.0.18(vitest@4.0.18) ckeditor5: - specifier: 47.3.0 - version: 47.3.0 + specifier: 47.4.0 + version: 47.4.0 eslint: specifier: 9.39.2 version: 9.39.2(jiti@2.6.1) @@ -1111,53 +1127,53 @@ importers: specifier: 16.2.7 version: 16.2.7 stylelint: - specifier: 16.26.1 - version: 16.26.1(typescript@5.9.3) + specifier: 17.0.0 + version: 17.0.0(typescript@5.9.3) stylelint-config-ckeditor5: specifier: '>=9.1.0' - version: 13.0.0(stylelint@16.26.1(typescript@5.9.3)) + version: 13.0.0(stylelint@17.0.0(typescript@5.9.3)) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.7)(typescript@5.9.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.9)(typescript@5.9.3) typescript: specifier: 5.9.3 version: 5.9.3 vite-plugin-svgo: - specifier: ~2.0.0 - version: 2.0.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + specifier: 2.0.0 + version: 2.0.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) vitest: - specifier: 4.0.16 - version: 4.0.16(@opentelemetry/api@1.9.0)(@types/node@24.10.7)(@vitest/browser-webdriverio@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.2)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + specifier: 4.0.18 + version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.9)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.4.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) webdriverio: - specifier: 9.23.0 - version: 9.23.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + specifier: 9.23.2 + version: 9.23.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/ckeditor5-footnotes: devDependencies: '@ckeditor/ckeditor5-dev-build-tools': - specifier: 54.2.3 - version: 54.2.3(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.9.3) + specifier: 54.3.2 + version: 54.3.2(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.9.3) '@ckeditor/ckeditor5-inspector': specifier: '>=4.1.0' version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: 5.0.1 - version: 5.0.1(@babel/core@7.28.0)(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.7)(bufferutil@4.0.9)(esbuild@0.27.2)(utf-8-validate@6.0.5) + version: 5.0.1(@babel/core@7.28.0)(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.9)(bufferutil@4.0.9)(esbuild@0.27.2)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': - specifier: ~8.52.0 - version: 8.52.0(@typescript-eslint/parser@8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.53.0 + version: 8.53.0(@typescript-eslint/parser@8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/parser': - specifier: 8.52.0 - version: 8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.53.0 + version: 8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@vitest/browser': - specifier: 4.0.16 - version: 4.0.16(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.16) + specifier: 4.0.18 + version: 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18) '@vitest/coverage-istanbul': - specifier: 4.0.16 - version: 4.0.16(vitest@4.0.16) + specifier: 4.0.18 + version: 4.0.18(vitest@4.0.18) ckeditor5: - specifier: 47.3.0 - version: 47.3.0 + specifier: 47.4.0 + version: 47.4.0 eslint: specifier: 9.39.2 version: 9.39.2(jiti@2.6.1) @@ -1171,53 +1187,53 @@ importers: specifier: 16.2.7 version: 16.2.7 stylelint: - specifier: 16.26.1 - version: 16.26.1(typescript@5.9.3) + specifier: 17.0.0 + version: 17.0.0(typescript@5.9.3) stylelint-config-ckeditor5: specifier: '>=9.1.0' - version: 13.0.0(stylelint@16.26.1(typescript@5.9.3)) + version: 13.0.0(stylelint@17.0.0(typescript@5.9.3)) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.7)(typescript@5.9.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.9)(typescript@5.9.3) typescript: specifier: 5.9.3 version: 5.9.3 vite-plugin-svgo: - specifier: ~2.0.0 - version: 2.0.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + specifier: 2.0.0 + version: 2.0.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) vitest: - specifier: 4.0.16 - version: 4.0.16(@opentelemetry/api@1.9.0)(@types/node@24.10.7)(@vitest/browser-webdriverio@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.2)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + specifier: 4.0.18 + version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.9)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.4.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) webdriverio: - specifier: 9.23.0 - version: 9.23.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + specifier: 9.23.2 + version: 9.23.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/ckeditor5-keyboard-marker: devDependencies: '@ckeditor/ckeditor5-dev-build-tools': - specifier: 54.2.3 - version: 54.2.3(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.9.3) + specifier: 54.3.2 + version: 54.3.2(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.9.3) '@ckeditor/ckeditor5-inspector': specifier: '>=4.1.0' version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: 5.0.1 - version: 5.0.1(@babel/core@7.28.0)(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.7)(bufferutil@4.0.9)(esbuild@0.27.2)(utf-8-validate@6.0.5) + version: 5.0.1(@babel/core@7.28.0)(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.9)(bufferutil@4.0.9)(esbuild@0.27.2)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': - specifier: ~8.52.0 - version: 8.52.0(@typescript-eslint/parser@8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.53.0 + version: 8.53.0(@typescript-eslint/parser@8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/parser': - specifier: 8.52.0 - version: 8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.53.0 + version: 8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@vitest/browser': - specifier: 4.0.16 - version: 4.0.16(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.16) + specifier: 4.0.18 + version: 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18) '@vitest/coverage-istanbul': - specifier: 4.0.16 - version: 4.0.16(vitest@4.0.16) + specifier: 4.0.18 + version: 4.0.18(vitest@4.0.18) ckeditor5: - specifier: 47.3.0 - version: 47.3.0 + specifier: 47.4.0 + version: 47.4.0 eslint: specifier: 9.39.2 version: 9.39.2(jiti@2.6.1) @@ -1231,60 +1247,60 @@ importers: specifier: 16.2.7 version: 16.2.7 stylelint: - specifier: 16.26.1 - version: 16.26.1(typescript@5.9.3) + specifier: 17.0.0 + version: 17.0.0(typescript@5.9.3) stylelint-config-ckeditor5: specifier: '>=9.1.0' - version: 13.0.0(stylelint@16.26.1(typescript@5.9.3)) + version: 13.0.0(stylelint@17.0.0(typescript@5.9.3)) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.7)(typescript@5.9.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.9)(typescript@5.9.3) typescript: specifier: 5.9.3 version: 5.9.3 vite-plugin-svgo: - specifier: ~2.0.0 - version: 2.0.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + specifier: 2.0.0 + version: 2.0.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) vitest: - specifier: 4.0.16 - version: 4.0.16(@opentelemetry/api@1.9.0)(@types/node@24.10.7)(@vitest/browser-webdriverio@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.2)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + specifier: 4.0.18 + version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.9)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.4.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) webdriverio: - specifier: 9.23.0 - version: 9.23.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + specifier: 9.23.2 + version: 9.23.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/ckeditor5-math: dependencies: '@ckeditor/ckeditor5-icons': - specifier: 47.3.0 - version: 47.3.0 + specifier: 47.4.0 + version: 47.4.0 mathlive: specifier: 0.108.2 version: 0.108.2 devDependencies: '@ckeditor/ckeditor5-dev-build-tools': - specifier: 54.2.3 - version: 54.2.3(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.9.3) + specifier: 54.3.2 + version: 54.3.2(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.9.3) '@ckeditor/ckeditor5-inspector': specifier: '>=4.1.0' version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: 5.0.1 - version: 5.0.1(@babel/core@7.28.0)(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.7)(bufferutil@4.0.9)(esbuild@0.27.2)(utf-8-validate@6.0.5) + version: 5.0.1(@babel/core@7.28.0)(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.9)(bufferutil@4.0.9)(esbuild@0.27.2)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': - specifier: ~8.52.0 - version: 8.52.0(@typescript-eslint/parser@8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.53.0 + version: 8.53.0(@typescript-eslint/parser@8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/parser': - specifier: 8.52.0 - version: 8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.53.0 + version: 8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@vitest/browser': - specifier: 4.0.16 - version: 4.0.16(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.16) + specifier: 4.0.18 + version: 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18) '@vitest/coverage-istanbul': - specifier: 4.0.16 - version: 4.0.16(vitest@4.0.16) + specifier: 4.0.18 + version: 4.0.18(vitest@4.0.18) ckeditor5: - specifier: 47.3.0 - version: 47.3.0 + specifier: 47.4.0 + version: 47.4.0 eslint: specifier: 9.39.2 version: 9.39.2(jiti@2.6.1) @@ -1298,26 +1314,26 @@ importers: specifier: 16.2.7 version: 16.2.7 stylelint: - specifier: 16.26.1 - version: 16.26.1(typescript@5.9.3) + specifier: 17.0.0 + version: 17.0.0(typescript@5.9.3) stylelint-config-ckeditor5: specifier: '>=9.1.0' - version: 13.0.0(stylelint@16.26.1(typescript@5.9.3)) + version: 13.0.0(stylelint@17.0.0(typescript@5.9.3)) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.7)(typescript@5.9.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.9)(typescript@5.9.3) typescript: specifier: 5.9.3 version: 5.9.3 vite-plugin-svgo: - specifier: ~2.0.0 - version: 2.0.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + specifier: 2.0.0 + version: 2.0.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) vitest: - specifier: 4.0.16 - version: 4.0.16(@opentelemetry/api@1.9.0)(@types/node@24.10.7)(@vitest/browser-webdriverio@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.2)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + specifier: 4.0.18 + version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.9)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.4.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) webdriverio: - specifier: 9.23.0 - version: 9.23.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + specifier: 9.23.2 + version: 9.23.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/ckeditor5-mermaid: dependencies: @@ -1325,33 +1341,33 @@ importers: specifier: 4.17.12 version: 4.17.12 lodash-es: - specifier: 4.17.22 - version: 4.17.22 + specifier: 4.17.23 + version: 4.17.23 devDependencies: '@ckeditor/ckeditor5-dev-build-tools': - specifier: 54.2.3 - version: 54.2.3(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.9.3) + specifier: 54.3.2 + version: 54.3.2(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.9.3) '@ckeditor/ckeditor5-inspector': specifier: '>=4.1.0' version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: 5.0.1 - version: 5.0.1(@babel/core@7.28.0)(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.7)(bufferutil@4.0.9)(esbuild@0.27.2)(utf-8-validate@6.0.5) + version: 5.0.1(@babel/core@7.28.0)(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.9)(bufferutil@4.0.9)(esbuild@0.27.2)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': - specifier: ~8.52.0 - version: 8.52.0(@typescript-eslint/parser@8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.53.0 + version: 8.53.0(@typescript-eslint/parser@8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/parser': - specifier: 8.52.0 - version: 8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.53.0 + version: 8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@vitest/browser': - specifier: 4.0.16 - version: 4.0.16(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.16) + specifier: 4.0.18 + version: 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18) '@vitest/coverage-istanbul': - specifier: 4.0.16 - version: 4.0.16(vitest@4.0.16) + specifier: 4.0.18 + version: 4.0.18(vitest@4.0.18) ckeditor5: - specifier: 47.3.0 - version: 47.3.0 + specifier: 47.4.0 + version: 47.4.0 eslint: specifier: 9.39.2 version: 9.39.2(jiti@2.6.1) @@ -1365,26 +1381,26 @@ importers: specifier: 16.2.7 version: 16.2.7 stylelint: - specifier: 16.26.1 - version: 16.26.1(typescript@5.9.3) + specifier: 17.0.0 + version: 17.0.0(typescript@5.9.3) stylelint-config-ckeditor5: specifier: '>=9.1.0' - version: 13.0.0(stylelint@16.26.1(typescript@5.9.3)) + version: 13.0.0(stylelint@17.0.0(typescript@5.9.3)) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.7)(typescript@5.9.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.9)(typescript@5.9.3) typescript: specifier: 5.9.3 version: 5.9.3 vite-plugin-svgo: - specifier: ~2.0.0 - version: 2.0.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + specifier: 2.0.0 + version: 2.0.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) vitest: - specifier: 4.0.16 - version: 4.0.16(@opentelemetry/api@1.9.0)(@types/node@24.10.7)(@vitest/browser-webdriverio@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.2)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + specifier: 4.0.18 + version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.9)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.4.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) webdriverio: - specifier: 9.23.0 - version: 9.23.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + specifier: 9.23.2 + version: 9.23.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/codemirror: dependencies: @@ -1419,92 +1435,92 @@ importers: specifier: 6.5.2 version: 6.5.2 '@codemirror/search': - specifier: 6.5.11 - version: 6.5.11 + specifier: 6.6.0 + version: 6.6.0 '@codemirror/view': - specifier: 6.39.9 - version: 6.39.9 + specifier: 6.39.11 + version: 6.39.11 '@fsegurai/codemirror-theme-abcdef': specifier: 6.2.3 - version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1) + version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-abyss': specifier: 6.2.3 - version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1) + version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-android-studio': specifier: 6.2.3 - version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1) + version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-andromeda': specifier: 6.2.3 - version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1) + version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-basic-dark': specifier: 6.2.3 - version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1) + version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-basic-light': specifier: 6.2.3 - version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1) + version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-cobalt2': specifier: 6.0.3 - version: 6.0.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1) + version: 6.0.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-forest': specifier: 6.2.3 - version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1) + version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-github-dark': specifier: 6.2.3 - version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1) + version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-github-light': specifier: 6.2.3 - version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1) + version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-gruvbox-dark': specifier: 6.2.3 - version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1) + version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-gruvbox-light': specifier: 6.2.3 - version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1) + version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-material-dark': specifier: 6.2.3 - version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1) + version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-material-light': specifier: 6.2.3 - version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1) + version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-monokai': specifier: 6.2.3 - version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1) + version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-nord': specifier: 6.2.3 - version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1) + version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-palenight': specifier: 6.2.3 - version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1) + version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-solarized-dark': specifier: 6.2.3 - version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1) + version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-solarized-light': specifier: 6.2.3 - version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1) + version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-tokyo-night-day': specifier: 6.2.3 - version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1) + version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-tokyo-night-storm': specifier: 6.2.3 - version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1) + version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-volcano': specifier: 6.2.3 - version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1) + version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-vscode-dark': - specifier: 6.2.3 - version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1) + specifier: 6.2.4 + version: 6.2.4(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1) '@fsegurai/codemirror-theme-vscode-light': - specifier: 6.2.3 - version: 6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1) + specifier: 6.2.4 + version: 6.2.4(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@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.39.9) + version: 6.5.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11) '@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.39.9)(@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.39.11)(@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.10.1)(@codemirror/language@6.11.0)(@codemirror/search@6.5.11)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9) + version: 6.3.0(@codemirror/commands@6.10.1)(@codemirror/language@6.11.0)(@codemirror/search@6.6.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11) '@ssddanbrown/codemirror-lang-smarty': specifier: 1.0.0 version: 1.0.0 @@ -1576,8 +1592,8 @@ importers: specifier: 7.1.0 version: 7.1.0 katex: - specifier: 0.16.27 - version: 0.16.27 + specifier: 0.16.28 + version: 0.16.28 mermaid: specifier: 11.12.2 version: 11.12.2 @@ -1589,11 +1605,11 @@ importers: specifier: workspace:* version: link:../ckeditor5 '@typescript-eslint/eslint-plugin': - specifier: 8.52.0 - version: 8.52.0(@typescript-eslint/parser@8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.53.0 + version: 8.53.0(@typescript-eslint/parser@8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/parser': - specifier: 8.52.0 - version: 8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.53.0 + version: 8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) dotenv: specifier: 17.2.3 version: 17.2.3 @@ -1676,6 +1692,22 @@ importers: packages: + '@1natsu/wait-element@4.1.2': + resolution: {integrity: sha512-qWxSJD+Q5b8bKOvESFifvfZ92DuMsY+03SBNjTO34ipJLP6mZ9yK4bQz/vlh48aEQXoJfaZBqUwKL5BdI5iiWw==} + + '@adobe/css-tools@4.4.4': + resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==} + + '@aklinker1/rollup-plugin-visualizer@5.12.0': + resolution: {integrity: sha512-X24LvEGw6UFmy0lpGJDmXsMyBD58XmX1bbwsaMLhNoM+UMQfQ3b2RtC+nz4b/NoRK5r6QJSKJHBNVeUdwqybaQ==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + rollup: 2.x || 3.x || 4.x + peerDependenciesMeta: + rollup: + optional: true + '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} @@ -1936,6 +1968,10 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/runtime@7.28.2': + resolution: {integrity: sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==} + engines: {node: '>=6.9.0'} + '@babel/runtime@7.28.4': resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} engines: {node: '>=6.9.0'} @@ -1999,65 +2035,65 @@ packages: '@chevrotain/utils@11.0.3': resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==} - '@ckeditor/ckeditor-cloud-services-collaboration@53.0.1': - resolution: {integrity: sha512-Em7T4xiwQjG9SJKSwLxxPOf33tDekOV3S1WoSBqi7Qp1icKedYwH3f7k2Zjfe/3XAC3EVNVhi18MhUjsEiO/Lw==} + '@ckeditor/ckeditor-cloud-services-collaboration@53.0.2': + resolution: {integrity: sha512-06yWDZ0w1vRA+G70qzLYEmGzrd4wo+Hci9YneyVOCI3LGnFa89E9GumzQPn7MHx2RFIS/EekDBhq5o89nC2/7A==} peerDependencies: - '@ckeditor/ckeditor5-utils': '>= 37.0' - ckeditor5: '>= 37.0' + '@ckeditor/ckeditor5-utils': '>= 37.0 || ^0.0.0-nightly || ^0.0.0-internal' + ckeditor5: '>= 37.0.0 || ^0.0.0-nightly || ^0.0.0-internal' - '@ckeditor/ckeditor5-adapter-ckfinder@47.3.0': - resolution: {integrity: sha512-I0oE2wuyGSwCirHRj5i+IvBRKUrlmGCP7HMGv7fzXcHS1MW43LV0t9L8PQ/aKQX3gNmiqlfj631y/S7s5nqR8A==} + '@ckeditor/ckeditor5-adapter-ckfinder@47.4.0': + resolution: {integrity: sha512-g90RXXOoyBL0hsUMo6/IsCKF6qlKtxYlwzeTch+XboZOxkvJmozETKY4mnkR+XI1xZeO1bqqzLe8sKiFRvG7Hg==} - '@ckeditor/ckeditor5-ai@47.3.0': - resolution: {integrity: sha512-XZgjRD0wSTijzDefnB7cr6pxbLaqkT/vwfG01JvGpSt6Hg42bFEqAUSf5NBVRTJ7S3L9p54GKhFdSVAfJZJfog==} + '@ckeditor/ckeditor5-ai@47.4.0': + resolution: {integrity: sha512-fcukYJTeV7TA5vSlRj81uAlzwAVRn6kXJukrdMuUuWh4YUPGmv4X1uzb8P+tMeo29yZHYoWURI8Xk2QDxe7uow==} - '@ckeditor/ckeditor5-alignment@47.3.0': - resolution: {integrity: sha512-T01xV7UsS4D1VbyRdWxc68Wl4NN/Ov/4+2EsbjYF7O0UA0pJs8dWZJOZ+yGFJ6p8Aask991eu91vy3r/nq3d+g==} + '@ckeditor/ckeditor5-alignment@47.4.0': + resolution: {integrity: sha512-MI4PrumF62HZ5kG824WOhqtntDS6oPhmlFwg2vOd8L8fW1Gn4SgigvhqxARLi/OIf0ExnNcXFunS30B6lz1Ciw==} - '@ckeditor/ckeditor5-autoformat@47.3.0': - resolution: {integrity: sha512-1Np63YOsNMddrVHtsAPZUQvVuhMyvmwPwnPO3EHudPPDg8c5p+fbSb7DSUSPCUmkIKS8RJ8tv/3eDpS7y+EEXg==} + '@ckeditor/ckeditor5-autoformat@47.4.0': + resolution: {integrity: sha512-dYjPpSaIt8z8d7em+I54+S6Y0m/4fXX27DF6gXMHG+79TIzZxakHK096RJBxj3cIjpzSjHI+v9FQ1Y+nO/M79Q==} - '@ckeditor/ckeditor5-autosave@47.3.0': - resolution: {integrity: sha512-ctYdlBcJ/CPUUcpRzCbCp3oG2HWn8gy7GZUL95C1BIZTH08cLKZgkX0TySSUHygMvVymgvWq3LrmwByWri9AvQ==} + '@ckeditor/ckeditor5-autosave@47.4.0': + resolution: {integrity: sha512-1DpjdGn+xXfYoeDd6SIcQbkUiOeHQbjN7qmjQWrd6JvowQ6loPtDPGL9OHmL4OFubrVn5GM4dS3E1+cU29SVHg==} - '@ckeditor/ckeditor5-basic-styles@47.3.0': - resolution: {integrity: sha512-KGDZLyhVc+sF9o8XTiupNRdroALhLpfOssWQv8zzyu7Ak2LFYXCrrr3abscbIX2whL/X92sted11ktLaLmgL0w==} + '@ckeditor/ckeditor5-basic-styles@47.4.0': + resolution: {integrity: sha512-nCVP7W5ryshBG7UfXuFRv58qb/HmSS9Gjb2UUM84ODLOjYPFxvzWgQ5bV5t+x1bYAT8z/Xqfv9Ycs9ywEwOA9A==} - '@ckeditor/ckeditor5-block-quote@47.3.0': - resolution: {integrity: sha512-Ik3buFYNpEYVkI5LnimDbHTOgHAYtkZ2qTwGT47wAvyScgQ9Jx0fcUBA6EjX2EuGr6w/snZfXkI4WsZqrMYp+g==} + '@ckeditor/ckeditor5-block-quote@47.4.0': + resolution: {integrity: sha512-B1iX0p5ByU/y7AVREgevr0Kfobt9uT1n9rtXToXbA9W4u4yZIVJULpceTgDw+/OJNU8lyKbq/S/6trjYFsyf0Q==} - '@ckeditor/ckeditor5-bookmark@47.3.0': - resolution: {integrity: sha512-Cn+O/Ayr9zcKk/v9dyP1SXbpFslLGCiinS6Nb8jQOS+pmxb1s32W/ycZBtAg0EYmTMskoVEkpwz6ugogNAzmaw==} + '@ckeditor/ckeditor5-bookmark@47.4.0': + resolution: {integrity: sha512-XBAOfYpy0TdVqAXsBgKSKCD46S7kR/oohqP9UKTGUGrNjojW6FS1k1IxvcpRVATn0xPHjZld58wkwizIdeJveg==} - '@ckeditor/ckeditor5-case-change@47.3.0': - resolution: {integrity: sha512-l0+4RWk2t2G9GbSSZMVQdTbhnN3L8pMshoSCDdR43lC+tkmx1zgRTTE04sibnVt6pSVynmVO2KQ5xVbMIAoHlw==} + '@ckeditor/ckeditor5-case-change@47.4.0': + resolution: {integrity: sha512-MgAbh3QHpU8yxCvtRQQP67av0NeglrG0zFfPZK5fGIOugcmeIMN/joGdvND6XL/WfY4J2a8PpODoYubbhrrXug==} - '@ckeditor/ckeditor5-ckbox@47.3.0': - resolution: {integrity: sha512-SVF3CGH7/DBSrsV/vMFIzyvSPAoD1Qg12A5dS+ySnG46XC8ou9uQXXAfIGzAvwajC8GF3LJf9nG4+vJx3tIE/A==} + '@ckeditor/ckeditor5-ckbox@47.4.0': + resolution: {integrity: sha512-Utk9nYwzVRLQXYVVR+oi3x4xN7C0lzt+ZUyPjBRf3k60ijP/OpA8lsJJWzonuEEsdELsLzaBNSivTa9hjLZLDA==} - '@ckeditor/ckeditor5-ckfinder@47.3.0': - resolution: {integrity: sha512-OIDpmoHsw+ZRbhso3EvnSDEKkXZBgZTq7TQT7+TAg264SWuGB7y6UCKMMoA5OWpuqDJh/Wp8wBubTWqA3OwYmw==} + '@ckeditor/ckeditor5-ckfinder@47.4.0': + resolution: {integrity: sha512-jXWwDfzFOn2S/oK84Io6cB7I0W9I7CwMyBfg5YbCEhYtv5aeNQBpRqwik/5cfmMrBMBXrPu1QRs60NIwegk/Eg==} - '@ckeditor/ckeditor5-clipboard@47.3.0': - resolution: {integrity: sha512-fVBBWyWIaLTTUZglvOz+ld0QfQR8yr9TVwgk0XFN90S3UxFiYYkxgDAeef/o51qBhBGotgw8hGYYbY4k4G10mA==} + '@ckeditor/ckeditor5-clipboard@47.4.0': + resolution: {integrity: sha512-LUR5yTXjHxLn8YLKrJj4/DBtqk6zdPg5SAVXkpNSz5UxU63aaj/L7jKCInr36Uy23Ov5TgT6FkgXPaBtakAqDA==} - '@ckeditor/ckeditor5-cloud-services@47.3.0': - resolution: {integrity: sha512-oFHz/Aavs6IDU6XwQD9NUgssJs3hSv4Vu2Np5rkZIyhabKRJcNma7fwM+gmmvQJupltv0uG/0ldMigjfEqHAQA==} + '@ckeditor/ckeditor5-cloud-services@47.4.0': + resolution: {integrity: sha512-6xUiyoMkcW8F/8OJrEGeKrMixRGLeQYHxij7tYyrXUqugdCJmZ5WNfvsoyVBwk7g3XQDSKnfKG28gSVBPirwBQ==} - '@ckeditor/ckeditor5-code-block@47.3.0': - resolution: {integrity: sha512-zgzlCFqqJxWRTvuIGl9jJ0KYGZIjsCOYHjj1s3+asXjuskRoSip6yzcPK/LPaQXkUYf9zTGJHQ9tqmiNbRQBiA==} + '@ckeditor/ckeditor5-code-block@47.4.0': + resolution: {integrity: sha512-lfZd1Zu6FvHbOEXa1yJnuRDK0jYXZR0OaV9ek6A2ZQ6Z169Brc+aH1sTakw7r6S8m1clTz+vRH3UuVk7ETsQGA==} - '@ckeditor/ckeditor5-collaboration-core@47.3.0': - resolution: {integrity: sha512-v/ndL/J1y5ISZrLR9F43ZRZfN98lejF7itMolKkPDbtJOIi+Vxbimp0KlFqbLzeCNO5GDT2uM8JXnShuU2H9Lw==} + '@ckeditor/ckeditor5-collaboration-core@47.4.0': + resolution: {integrity: sha512-YFitobi32yDHxLHUJuLBQzsxgDE0fiTCYnqBU8vrYUkqUCeCC20AZ6pOK8dMF/kORCh9znjjHiWVch0EoNYgkQ==} - '@ckeditor/ckeditor5-comments@47.3.0': - resolution: {integrity: sha512-hNSpNcbqISDnKwBbDmB+i8VBEb7F4b+l9wp68sbXmSSM91Eud+HiPwftwsH4zDXORlyXb6liNZTIEceayHR6Bg==} + '@ckeditor/ckeditor5-comments@47.4.0': + resolution: {integrity: sha512-7fNWs/Or10B7koS9rEQIS9fTkPi2S4TJO9QclHK+gddRD4Y8ZdD8iO2FtAmoGB5dy8dJG2gtr4f9BTvD1lhMpA==} - '@ckeditor/ckeditor5-core@47.3.0': - resolution: {integrity: sha512-jLawN3a8yL5lbwG8gZeJihcVKkDgq+rAFeXc+Rd+nw+c5uGCdkc5F7PCRjhw+JOGruXUhNsbiF/4iNv3hUcO/A==} + '@ckeditor/ckeditor5-core@47.4.0': + resolution: {integrity: sha512-upV/3x9fhgFWxVVtwR47zCOAvZKgP8a8N7UQOFwfs3Tr52+oE1gULWKTiS9079MBaXaIqtM/EbelNdvBh4gOGg==} - '@ckeditor/ckeditor5-dev-build-tools@54.2.3': - resolution: {integrity: sha512-Bc8EjAQY0DLnBTXurmYAJn9NEHCHV62sMQ8YKYtt54SjkHClEKohmptkcwEBvvSki6dHrj0X8laZrHD4UM+mWw==} + '@ckeditor/ckeditor5-dev-build-tools@54.3.2': + resolution: {integrity: sha512-xmK8/vbx5uVvkLwZ5kpW5A55LKYDRFQxYvh8rcybYG/B3yNgKrq7oJXvjVPTIqWiMT3JpjJ4J/NttIYDaXZhCw==} engines: {node: '>=24.11.0', npm: '>=5.7.1'} hasBin: true @@ -2069,220 +2105,220 @@ packages: resolution: {integrity: sha512-Qz6VUUbYTuQ+pMfR9UNZ5hf0lriNducmDdSCEKh8u+UXP7s1DeS6SmrlhnGcEUD97mUTuU2o7RgpqkSy19kPBA==} engines: {node: '>=24.11.0', npm: '>=5.7.1'} - '@ckeditor/ckeditor5-document-outline@47.3.0': - resolution: {integrity: sha512-99kjWN+B+s36+aH3Vv+g24qan3VGbCuudz2H+4syw4xOSQ50/nLS90PcuH/PYaaXTzt+hB0T4Nide7OCky/uog==} + '@ckeditor/ckeditor5-document-outline@47.4.0': + resolution: {integrity: sha512-tFDStt2wwfQjV/4mUyxe6I69fMfRtrhyOnEh7Ou6q22X+e5290oPrCTSLN9KbmF6ISp6aRFKvQuawRPkN8er+A==} - '@ckeditor/ckeditor5-easy-image@47.3.0': - resolution: {integrity: sha512-pdQHtLBdkDuY59FzzgyTjS6XM5aJlSUW33sOSfN0I/iROl6LpSr1kHjf6ybJAAWEhSD6B+o6hv4+K+tx184UpA==} + '@ckeditor/ckeditor5-easy-image@47.4.0': + resolution: {integrity: sha512-YMxvD3Gh6kVux1OKdtdubvjtUHu4TIN7YgCThqsfnuumpnx94Dhq3+wy8o/dO73dRcq/iVvb/9LmkivT4+8uXg==} - '@ckeditor/ckeditor5-editor-balloon@47.3.0': - resolution: {integrity: sha512-8EzuV48gTuqrNd5rt58rp7eWf8B5q1PeRUS2f5fAF6RwDS6HsBDeqmEic8JPxOh+30pvAcR6UiylSYe6S+H9bg==} + '@ckeditor/ckeditor5-editor-balloon@47.4.0': + resolution: {integrity: sha512-FZuHy5EhzssTQZTuXQF7aVRJyvY0QaIOr6yj8fttRoWQgIDMzJNm+rVW9C9FRa1+j1i9tlrE21+GYIhCgEGyOg==} - '@ckeditor/ckeditor5-editor-classic@47.3.0': - resolution: {integrity: sha512-uCA8cr23LSJf8POkg2c403zS+xWjbE8Ucu521PQPcxrTMyTI6rYfjnuZ6vT/qzqAwZrLpiNZucJIQxRDFhLWGQ==} + '@ckeditor/ckeditor5-editor-classic@47.4.0': + resolution: {integrity: sha512-b698aEHRJSC4jMP0fYD78tdqMw5oQHtCpUL6lU8LFsysCe5M0cqgab4V0hEjeIsg4Ft/UmkgFd1aAleRCDftJg==} - '@ckeditor/ckeditor5-editor-decoupled@47.3.0': - resolution: {integrity: sha512-G4szgSWluqNG/wv+JQxiZv1lzwUzTxdPZWO/mL8pi3sc69vp30QYT+I4TOTLpfBdISBPkWajn/hfEXJPS1hCXw==} + '@ckeditor/ckeditor5-editor-decoupled@47.4.0': + resolution: {integrity: sha512-4Nk/fe5Sob9aUf8gf4K7GQjqI0XftDThGRjX1eKOSDs+OGXRyB4Fxtu+tHLCyCt8cITac/PAMWaO7dwqbAK8bA==} - '@ckeditor/ckeditor5-editor-inline@47.3.0': - resolution: {integrity: sha512-ie66wno1gbxNuoqGJ7iSDIz4gydPxJtSE5F9kb3NjfwecQxjj/0yBS+HsbZhqbFFNdJ01KZOtbAxNXQ0r1OW2g==} + '@ckeditor/ckeditor5-editor-inline@47.4.0': + resolution: {integrity: sha512-/xKtAwq0Pg3Zq7q9QcmrUnqc8XScrUlixWnl58gOxsdmflaSaK4qLtnId0FmSrax0tqVp1qihsUfvE5uUNnyGg==} - '@ckeditor/ckeditor5-editor-multi-root@47.3.0': - resolution: {integrity: sha512-PRxVNpoo7YiECugo9rPsUmuTL3f2xUwvHSUKh6FvPneQS4oFIdMNJrg/Hhn02sEOe6+ScFIi4X06ryK+/N6zOA==} + '@ckeditor/ckeditor5-editor-multi-root@47.4.0': + resolution: {integrity: sha512-gKYQeg2QI+9JM2gujYVBaLVlh7Dw4XfkX1g4jYMEqq4YG5E17Hpbc1A/IqUb0LLpAd1TG64AR4s/vxK0JrnY1g==} - '@ckeditor/ckeditor5-email@47.3.0': - resolution: {integrity: sha512-CPVdE6fmsI000YOHbfC3vxU0/VqZ+99EUv/bUkvgf71sVU3uzQkz72X/TVN3pPCihE1AZCQy0EXYvUcqPk+dLw==} + '@ckeditor/ckeditor5-email@47.4.0': + resolution: {integrity: sha512-4BiTX8bL2aM9+mU28HMZrFHVvCV5cJNNWUe0PON+mQUghxjCB4FqHaERVAoaIF2YRF71sUhz2uPUVmx97EdCxQ==} - '@ckeditor/ckeditor5-emoji@47.3.0': - resolution: {integrity: sha512-3xmB9VKShWmK2x1qZ7BecfqaxAGP6Ys1/UEPhBhoFyRK34UvtA9KrK0G+KWF4kwA5OgkoqnQRmVkMEO6mKXMnw==} + '@ckeditor/ckeditor5-emoji@47.4.0': + resolution: {integrity: sha512-PbTqvbBzMfvKaxTzAt72VskT8ifGoKRNKzskEmm74RCLu6a60rUaqL/4ChkTsF1FKPvB07VDbyDQx4XkvUOBIA==} - '@ckeditor/ckeditor5-engine@47.3.0': - resolution: {integrity: sha512-op/9TsJgFtWctfUd/QY41HYyFZd5hfSK6hBTJh0Xpz2XAfvpWsVim27FyWX0yIhyMLmtwDETDq8iBaH5kEZ15g==} + '@ckeditor/ckeditor5-engine@47.4.0': + resolution: {integrity: sha512-U3Zq3qZ86Si6L4BslJIXotK9oVXu59zAuDVWlx3prAUS5Mrz7MfVlWdz9HeWu9W1i2FmUGVksX+uoO/ng2CZUA==} - '@ckeditor/ckeditor5-enter@47.3.0': - resolution: {integrity: sha512-gBsT2ffLKUQclJpWkjn8mggtmoa3AfYH6vjsfMefN3yov1FoGY65kQDXl9KOfdG71E/tRtOZkMUPXqZUlYrBlA==} + '@ckeditor/ckeditor5-enter@47.4.0': + resolution: {integrity: sha512-BQjJ7CjXENoF8Inv8ydRl+luRMKQvw1ohkiYsTEruHjGKkAFyDTGrorzkoGp2IU98n5SVGJE+XwVxpKgjsKAVQ==} - '@ckeditor/ckeditor5-essentials@47.3.0': - resolution: {integrity: sha512-tLqgNXfdZJiBR56CHBNkrHWd7WCSPTIRxfqB9xoDvFD3AQngv1J3tIj3ye0WtTr8V23CCcXzz3v3NFZwtuDPBw==} + '@ckeditor/ckeditor5-essentials@47.4.0': + resolution: {integrity: sha512-M+8xGJF+PKEcTjTeqofNe6cjcTnsy6EomqwGrbHDHhyAXC4d8k/vRrptymjonW7H9IsuOcQ5t2eZj3d+yl03gg==} - '@ckeditor/ckeditor5-export-inline-styles@47.3.0': - resolution: {integrity: sha512-kwkXd4IwXQbSI7apR6lyClduOYiQ1sM1XeDjA/73zOsAVmGNAKLbwydaze3cCGQwhYTgZoe0/pdFqmeOnVStLw==} + '@ckeditor/ckeditor5-export-inline-styles@47.4.0': + resolution: {integrity: sha512-TK5KNrm17Jb1BjSPdB9UBjaHIoDmyBdESZuEZRvEFuDguLBGK0kTNTjeoYxp1xZ33sfq3nUVtjOyq77K3b5+9w==} - '@ckeditor/ckeditor5-export-pdf@47.3.0': - resolution: {integrity: sha512-XtSg/uBPzxz8hAVsKPgoe3ZyxYPVJpmIiO8za6c7pSU+BFZvp23g3uOXfSLUa4SOrC6Z/qKtZXjivb24/IKrFQ==} + '@ckeditor/ckeditor5-export-pdf@47.4.0': + resolution: {integrity: sha512-TIXl8ae/NUDv6COfyA1+KHaDWMSQzopTdYA4mRTF5zqzg1HbtQq0Lf6n9Cn2J3WhwXDIGBjbNxD0z55wpOBLWg==} - '@ckeditor/ckeditor5-export-word@47.3.0': - resolution: {integrity: sha512-bWiHFZTcAU3ZCfean5kniM6BtwOKbpEfnndGJC9rRe0E8U8ZUg6VBUgDIKeXmo34AiR79UpOMTwfj1CHQYbMsg==} + '@ckeditor/ckeditor5-export-word@47.4.0': + resolution: {integrity: sha512-a1YWBFV0suPme2uFPh28O/B7yPW/Te2JplC0/0XgeUZAXeYL+5u8Rh42cRoRmyqoUYzd/xev6mukgeCRv77/pg==} - '@ckeditor/ckeditor5-find-and-replace@47.3.0': - resolution: {integrity: sha512-jSbc4ss36ynQvyNYKNR4UXceoS8r2JE9fjedHZbMPpFRPlypCC2oc21WhWa/Fo+PcfAIV7q2izNDclcFtEFB/A==} + '@ckeditor/ckeditor5-find-and-replace@47.4.0': + resolution: {integrity: sha512-CZAX1XxrJcnOAwENfw4x4DiLyZ6uOHUHJqFXyyJdQC9qfEizvFYTXn3zO6fbViyDd/k4ugAoLBjpaZh6p9FyOQ==} - '@ckeditor/ckeditor5-font@47.3.0': - resolution: {integrity: sha512-J1QhW0Z6LfU0Mc3cITw21vPTIv1sGtlyO7JSFU9rQUkF1p2PCMQ/SvEja3bdz8LipidoDUh+QCeT2z9TSt1VDA==} + '@ckeditor/ckeditor5-font@47.4.0': + resolution: {integrity: sha512-QRIThyZg0kT1R4LTotD6cV9gm0NX3Z0Cq/IOQtuwTbRb3wa+kWXhVfKZPV9Qru5HifvrCrcWXMjkBRRIdfqp+Q==} - '@ckeditor/ckeditor5-footnotes@47.3.0': - resolution: {integrity: sha512-CjbxLjgdcKDb0rrE4LBXGjAM5eAAZfSqi9ZzfwmJz/6QDZoV/llDUXRsfN2VL7dymfsfLkVyvunXXRfa999RTQ==} + '@ckeditor/ckeditor5-footnotes@47.4.0': + resolution: {integrity: sha512-IWuAzPpnyup4ZFbUrMYRszGHSrndQVKi3q71NhsVxjCuWUt/i0iudqLQoB4bEV9as//Zl/x1c7aEpI8T8AUH0g==} - '@ckeditor/ckeditor5-format-painter@47.3.0': - resolution: {integrity: sha512-GoDEOr3XNXFFlFeFu80PpyUNXh65uQ4IAkV9lwobQsmZcdaWbmMgEdk9k+TGit07bpC9KJRjNUBZgmm9O1B9Hg==} + '@ckeditor/ckeditor5-format-painter@47.4.0': + resolution: {integrity: sha512-KG0niwdRBvx5AU5xT23X0cagXv06kkW5Wg3zxkeXmd2q3co6mjTzogQq+Ftiu30LryTmSJ+HuNVfDLw8g5enVw==} - '@ckeditor/ckeditor5-fullscreen@47.3.0': - resolution: {integrity: sha512-lSge/Lw30GYkztAWifZYOpc5Q9tjuT73gq0Hcs1tDpiIIt63CM7AfIS/sjiTUus0ZSG8fjLdd3ivSf4TiE/kOg==} + '@ckeditor/ckeditor5-fullscreen@47.4.0': + resolution: {integrity: sha512-DdroZD1cgNU3up74ZQq84vXyCDknQJJyyxQIXS5CKJy7qNR9YmixpVmyXpYJmZzdSVvp/p8Ej87VlOXfju3ilQ==} - '@ckeditor/ckeditor5-heading@47.3.0': - resolution: {integrity: sha512-sCBpuGTY+RGnE45r1cgFfe29cW6hmVQo+4HGppyErj7Sac5f1PCG84/DSTP1n+6LPiA51Yh2Z/VtQdYKMRNnmQ==} + '@ckeditor/ckeditor5-heading@47.4.0': + resolution: {integrity: sha512-VWBxQ2ngrT0x50Tb1klZyIOykgNPby8sw5rBq/nv/UXBb2Ql/crp50miC8pBCOvkbTP16qzVbl5HoiltJQkH/g==} - '@ckeditor/ckeditor5-highlight@47.3.0': - resolution: {integrity: sha512-wlT7R+7LVp0LmCyKIRN+U6+3FJqw6NpmfHhidSZnTRd9qzGnZ2EMxdEIkfOyCZd2CYH/gxtf/QFGik+DTjV/ow==} + '@ckeditor/ckeditor5-highlight@47.4.0': + resolution: {integrity: sha512-SHBkoMVu/uTkvE0/1zaehlvCpEqYuh/u1Rh7SHNysrD05Nacs1t5jw+l2lTFoyJnhTy+RA9IONYSDF+5tK3dqQ==} - '@ckeditor/ckeditor5-horizontal-line@47.3.0': - resolution: {integrity: sha512-F0QlRncwX/wvUN/LtZjpdsld9qT3jDxrniv4a/nz4LIotTVAsw2tMy9y8Sw2TNjIrOY5cCytxG91kzc+WNwUlA==} + '@ckeditor/ckeditor5-horizontal-line@47.4.0': + resolution: {integrity: sha512-UvL0x55QxRGiem8EPO9n/WQk6218TDNatKSCRueZkAYUrFC1bmtVs9g6GqvSl59RoRGcTxVcz0fXbsxrhZY6HA==} - '@ckeditor/ckeditor5-html-embed@47.3.0': - resolution: {integrity: sha512-B8xgh/4fUoccNhTKajBFlWWgz03G0QS41iXGtEoDY74Z1Ewx8zKccw4kPcyowIsrM7iq8w8tmo7uHJQaB5rhlA==} + '@ckeditor/ckeditor5-html-embed@47.4.0': + resolution: {integrity: sha512-SnidyadvuC0ohT2kZ0crsnFy8adQwhHcRaGUNXx5qAHRK7K1wGp3nxdnyOW5GdK2CIe8DTo+H3v8nXfvt7VgnQ==} - '@ckeditor/ckeditor5-html-support@47.3.0': - resolution: {integrity: sha512-sdqB2NPlCy4UC6Wgi1RzW/kzeWd9zIgf8s/bx4KzGbWekAvfnJWUVAYkkziM+7N6NhXTKDx8Wu2Zh/66pIo1XA==} + '@ckeditor/ckeditor5-html-support@47.4.0': + resolution: {integrity: sha512-SGd6wvPB9VGNqEWvoEdK1kQJ3lpvrTNfsA5Pg02V/Zr3gIxnAqajYEArWDYtsz3ajaUDs06i1tFdpCbFB7JRMg==} - '@ckeditor/ckeditor5-icons@47.3.0': - resolution: {integrity: sha512-erpbkXiPtA3Bu8a8ZLQjPYpX4W0WoT3OFZElHZgXOmVl8xQAefp2q+lFYKgzsqB757/zZO7i/B6U9czNv6lPmw==} + '@ckeditor/ckeditor5-icons@47.4.0': + resolution: {integrity: sha512-2THOymXou/dBR+Jk69+/DzE3lK3QVk8+9eSKdWQ4+kvYom9MXT9RwKJNe3BlvqUNxBymI8eVBjdaQjfv3AOT0Q==} - '@ckeditor/ckeditor5-image@47.3.0': - resolution: {integrity: sha512-KnsQUv1itQdKJIAlj3GSTETuaiyFq7ggMsK7UVJFTk0yCiIi+oSEkrIn5r+p1e98QYEYjArS2SwOIxDsxDM2sQ==} + '@ckeditor/ckeditor5-image@47.4.0': + resolution: {integrity: sha512-Z0q+cANAvzvW/3lIMg0rpvVHx4nlWbUsfPw78gM7/DmB4qpdbKsX07iTut84ZnWvOP+WU3XIrhinMXTvl6IqEw==} - '@ckeditor/ckeditor5-import-word@47.3.0': - resolution: {integrity: sha512-17oA8wSCEM1c7fm+2mqtaBbdWBXjA3uNhUXnhKOe8Hr5POGQmpn9BUvMd/zT7xER8PKe2xKzlqYSP6xO4326yA==} + '@ckeditor/ckeditor5-import-word@47.4.0': + resolution: {integrity: sha512-UHsSe7tegi2Be1axbDHescEw10rh3K/jgDlTuiHJvahmajB2vJUlZ7rMM9kilTl7w6IKK/UEo0GdvNzDrkQYsg==} - '@ckeditor/ckeditor5-indent@47.3.0': - resolution: {integrity: sha512-kIpuMrTrtf7YhOBYre2Ny7NnL/x6sqMzdaxy4LN+4Sa9+Cw+KR2QJij2d0VkwDzV+z2B8GZ1mNZvCzpEwWDUUA==} + '@ckeditor/ckeditor5-indent@47.4.0': + resolution: {integrity: sha512-lFPYPUSuByK6GHiTnkHeLkWHD5/SbXCQ5TJVzRJ3uaWvbqo0b0Hvoz92vtKueOwi1QsgXD38aYhMljs0h8eP5g==} '@ckeditor/ckeditor5-inspector@5.0.0': resolution: {integrity: sha512-WVCa1mtePJkLtI81Rn2E6orV0B2Az/+O7f+corJzYapoH5koVEe9TcVyoKRquKUWeBXMG+D1m72vmR2kuoLNhA==} - '@ckeditor/ckeditor5-language@47.3.0': - resolution: {integrity: sha512-sPAgbKYT3NpofS2FWphkgiPzD2YqbTpxpLyzHymDJo7s2LQWj5FUGacZiiddGPOdzicSasZ6qHvcHIMHCmLBpg==} + '@ckeditor/ckeditor5-language@47.4.0': + resolution: {integrity: sha512-3FEoS59ZOTm6m0m0O5qEpsf4tGX/r+r0LjkDrRjhIcaGJh0W4Ao2J6cSrXv7hikDpgBjbHIkEy0V6KkIWWAZpg==} - '@ckeditor/ckeditor5-line-height@47.3.0': - resolution: {integrity: sha512-zZbeKeEmXvbJ2SaEBON5/76hCH83HUbXgI3p0N6X8GvpXmJQPfJbFqpNTWL0iXvc/1gKfPfbUOXN9B3DMuz2PQ==} + '@ckeditor/ckeditor5-line-height@47.4.0': + resolution: {integrity: sha512-rJcz6ejZLrF5EZ23pKsl9LfVZNqjPm1vRdaxRiPbMjLmWSGgNc55MyLcX/tBBdf6ZNdSUR8cYnl2c5z4EmFTZg==} - '@ckeditor/ckeditor5-link@47.3.0': - resolution: {integrity: sha512-YbxZQHi36EF/O7deiDlrM8Xnw/J18x4dQgxaiHKTSHu7/4sZuVfJFAzF6afdt1uQ+8yeX3+q60jkJr2mm1zOEw==} + '@ckeditor/ckeditor5-link@47.4.0': + resolution: {integrity: sha512-AF7TVV64iOqia4x4psHakYYznPoS3I5j1Gijoa7jiTLGJZSaAL7xAc1qAajgWQ66o7DWuVGL7QkZwKIo1jlTPg==} - '@ckeditor/ckeditor5-list-multi-level@47.3.0': - resolution: {integrity: sha512-lG2QZb4iwig2TY6FxWT+DYbkbyfBikTM2T7FIflub4JcL4m0nwJ1Ybc9Fb6zFLqQd3FF/a1xEE2TbdmG4OlR2w==} + '@ckeditor/ckeditor5-list-multi-level@47.4.0': + resolution: {integrity: sha512-qmpjxT8Gn28OJDO7HjVmuBtO5oLu0AhWCCpdptMna4y/KpM1yej8suNhb3hXBJlqNgraCmOqsQvkzv+j0Pad8w==} - '@ckeditor/ckeditor5-list@47.3.0': - resolution: {integrity: sha512-iOJ4prpoqf1UamKztQ0If/k638+NGSPsFaGGjOqhGPcIJxTtscs4c34uNUH6yCXDNF1ZaET2FxFckAQvrb0DFQ==} + '@ckeditor/ckeditor5-list@47.4.0': + resolution: {integrity: sha512-OGvAgS+NB1dzrqhN1xEVfN8PTM73pjMnmDvQeQurwIfjQdJaO07jGPRqujQzNostckWvNPtQysXkbnp+QiCPOw==} - '@ckeditor/ckeditor5-markdown-gfm@47.3.0': - resolution: {integrity: sha512-PyRXnwnUmwW7pxe8DaV1sle/g45fp/e+1vzXgFIvLYWJO5i2Sych1yDbAU1RGbJr5R05eFS7Fov3bowzRE2ICA==} + '@ckeditor/ckeditor5-markdown-gfm@47.4.0': + resolution: {integrity: sha512-2W1dBzxPIdEsE0CiU19K4xQfBS2jSBruJh5XV924eyuJPh76CdXKDGPBwuVd6i1oK7x+ji0Griu9Y+R2F0jRIw==} - '@ckeditor/ckeditor5-media-embed@47.3.0': - resolution: {integrity: sha512-c0wP3VZp6409VMMRYL4z2ZiqCsP2p4RyHcfH8TZSy3g25pZnUbYpdMepHCxT0U5wLVdqhGMn7cW+k5Fq6Mp/hA==} + '@ckeditor/ckeditor5-media-embed@47.4.0': + resolution: {integrity: sha512-oL/In6Q3dtgj23FyyKbtYa704sl1eEx8JeO4ODRL3scCNI2/7qx9nGMexydiJi+Saulvs/3g7A8PbXiI+iArog==} - '@ckeditor/ckeditor5-mention@47.3.0': - resolution: {integrity: sha512-yIRbRSd0b66kUlur80kiskVMyymHvtg96endZ8FuGDjKgdLApFnkonNmpCNLAxGuwJDMfDyvyEikZy1i0bgWlg==} + '@ckeditor/ckeditor5-mention@47.4.0': + resolution: {integrity: sha512-1niRMaI5HxYbSTosxjU/6F5Uo+2hCEa3s18emwIBMTG1zOu0OViubuj+P8wCOqmSmpzvfkNybl4kk74MahGk0w==} - '@ckeditor/ckeditor5-merge-fields@47.3.0': - resolution: {integrity: sha512-pkkUqHK9Kbv6P1ElUgqOkTolHBFev0sFnSB2AQJAo996aL4Lr7HbK1u002vuJno3uK0OwtzH2Pq9mzcpIcEdPA==} + '@ckeditor/ckeditor5-merge-fields@47.4.0': + resolution: {integrity: sha512-meXLpFA1xa9Nq5WILE1fQeqk9+dgmHZShHaamI2hZaVIFv2GG/amAH3u/rhgSvvX+HvnDxMGCUU9db5yUQ/Y6g==} - '@ckeditor/ckeditor5-minimap@47.3.0': - resolution: {integrity: sha512-8JrmRwEMdIVoSp5Xms8sWHxlXcBPwhf7HjY35ptbS2sMQQ4RC9o5tbyLe8V2kGt8Qgmvx3F2H2VT9VFpQCUmFg==} + '@ckeditor/ckeditor5-minimap@47.4.0': + resolution: {integrity: sha512-j0bOrjhEB5U6wCrz8CgW8ueFgHJJORtgqkOiRfQd++SBHGULSRr/WJwvaObcrhhNrY4Mlme8Nws6s5YJxzlFhA==} - '@ckeditor/ckeditor5-operations-compressor@47.3.0': - resolution: {integrity: sha512-ke402PqaL7MSqxkrbyhS/hmjEuWBhzUuHR8KtoXvwJWhmNlcwtRi4Vn+b5vpJwh2VqaIoE7KJtoHhSZHkPoKJg==} + '@ckeditor/ckeditor5-operations-compressor@47.4.0': + resolution: {integrity: sha512-nHtjOR0fTrLygGF3wpihNfnw0eJ0Z8jbXtuoYRivWfiCptMsuXHG6CR9WNvQncleSlB5E1bS50hsyafHa2q2vw==} '@ckeditor/ckeditor5-package-tools@5.0.1': resolution: {integrity: sha512-9UN4qfHa4rgveBqyua9JQfqBWdL1KAsgn5veqJ8/GYTPnbkB7TjEm449B0c35dRoRRWJpWTu+P4eZHAieaXrUA==} engines: {node: '>=24.11.0'} hasBin: true - '@ckeditor/ckeditor5-page-break@47.3.0': - resolution: {integrity: sha512-ZvLfObeXnhYKs8+kcVBbjpAWQnGelVopnEIC0Ljds2cxyeUJ25pnLAZGKMcEOFvdm8Hh1OKnlfPWj3VRZMkrVw==} + '@ckeditor/ckeditor5-page-break@47.4.0': + resolution: {integrity: sha512-v4VR4OhLqj5Rp/Dwb9BSb9lSNAkGVF9n5ThvC0dFeHMikC4ENcqH8NpcbVnaua4tsM9tX0jZLHbcX+jMune4IQ==} - '@ckeditor/ckeditor5-pagination@47.3.0': - resolution: {integrity: sha512-cMEuXpKtbsTQJ5h3dAmsc+lOsPYb7Whofr0wHl1A7QOIbr8E+rUczepDwLGi22PL5SICEacTjnJwMJcotyfwXQ==} + '@ckeditor/ckeditor5-pagination@47.4.0': + resolution: {integrity: sha512-NH3jQpyKoB69HMrEuBSJszhcb417num35eUMcmQnfY1tfi5hxRwk/yk3okf2VUX9JPrmxEQiAitiof+PLK/3Xw==} - '@ckeditor/ckeditor5-paragraph@47.3.0': - resolution: {integrity: sha512-CCnCd57ySxYrb6XCocAzj49PH6jOc+YbsgVVQ4+4sMyOQR/d5VdgJAkQKO7m288nwvE+Ai9gMAl5rqiph+PcMg==} + '@ckeditor/ckeditor5-paragraph@47.4.0': + resolution: {integrity: sha512-epw82iXcK6togOeE/rolQBkyxCfz8m30VoH0bdq0YKkg8+HJ5uzB2FweFDH+l/cyoubdB2f1370G2dAMp6huBg==} - '@ckeditor/ckeditor5-paste-from-office-enhanced@47.3.0': - resolution: {integrity: sha512-u1pkLBhTo/Lubc/B8NdK0hF4VALed5ONf8oorBHZZpX0X0FkOi9jWgINydIPQIabWhxXylcitYkTsty4x1+5Wg==} + '@ckeditor/ckeditor5-paste-from-office-enhanced@47.4.0': + resolution: {integrity: sha512-8QhzqEQn7/MRmQoPzX+DV1Cx2IzrBubFPra8uZGbF2j8/nlFWP2vo3OwwkMu8xkfcKvHgJ6MIm76YN4Cbouffw==} - '@ckeditor/ckeditor5-paste-from-office@47.3.0': - resolution: {integrity: sha512-8M7pKMAI0cwviVx/QWYQRDfy9GLUUBVKrqBFuOu/lcxfsncL7BUJYVVvaOC+iN0I9Mi513XHz78FLi4PbRoC0A==} + '@ckeditor/ckeditor5-paste-from-office@47.4.0': + resolution: {integrity: sha512-yKOk+CDV0dAy+XeqUcP5Drur1u69h6UCdLwDUEbS/egSv/+o+tJwCGrTCRzPqBeUxIahUGBMk0obID7v6xT9IQ==} - '@ckeditor/ckeditor5-real-time-collaboration@47.3.0': - resolution: {integrity: sha512-X1xn1ZoOvl7+rLQvF7ex4tkYLrwsGIQtMm9ywxJC0nD49b0e0xAtaAquVSd/VgOxS+4M0ilXtQ8/f+nEDpgtXg==} + '@ckeditor/ckeditor5-real-time-collaboration@47.4.0': + resolution: {integrity: sha512-ZAwo6o+1WWLh6d8DVIOoI2+VyDDUAijWkqx09gTlXGPtOe3sJqYu3C/n+kbaoeCbEZGOWFKDUQvNpdxp8SRYIg==} - '@ckeditor/ckeditor5-remove-format@47.3.0': - resolution: {integrity: sha512-tGBSxVKu2fUO7oH2U4QyAb6+/47YFkEVwRPGvpwg4QUQn670qAJJenJBWqXEYFHK6V5mLDfD5xmKdTk79OXgTw==} + '@ckeditor/ckeditor5-remove-format@47.4.0': + resolution: {integrity: sha512-XD6LY76m3bZr/twRGTjNRnU4z0VU1akDC7evVMhRPaDruR71km00VT1YNPRChCDmdssEVeWEynHhLQ/kRjy+0w==} - '@ckeditor/ckeditor5-restricted-editing@47.3.0': - resolution: {integrity: sha512-DoJFgX7RXapubLnulcW6aFuTQD25jSPWMJA25EXHTHMq9ZQP69ey2kJgp2iioas0zpsKhnVzioUyIiGe28ufng==} + '@ckeditor/ckeditor5-restricted-editing@47.4.0': + resolution: {integrity: sha512-roywT2jKCs0NVd6TVhYlmrnP0oI4499M5L1mV8Vqq4wc9puVeEPSIKoZNdIF5YWXsHjpCUCMejpuigLTIbf9MQ==} - '@ckeditor/ckeditor5-revision-history@47.3.0': - resolution: {integrity: sha512-9w13dmn+Czp4Rou25BvxvzR43NqEUMdassu0NTSmQtIiDoMgMMGoqG2dzO/MZv9HQVuIaQ04sJm6uAe37Md1+w==} + '@ckeditor/ckeditor5-revision-history@47.4.0': + resolution: {integrity: sha512-kziSrEtya2mbqIKTruxAOOH+45X4lRKXkDFSqRO7nFV4Hcndwv/WpozOlz20h5gO8R7xclL+FoCOprsIQheV5Q==} - '@ckeditor/ckeditor5-select-all@47.3.0': - resolution: {integrity: sha512-pMWVdKDlLowiwnVGycJd0mW2jQ3HdlzzstfIhawhU2jspSY4Byk8XiPZ9Dyq6aAwEtdJOShLLau1dcVnB2OltA==} + '@ckeditor/ckeditor5-select-all@47.4.0': + resolution: {integrity: sha512-9fVsmNFmSj53kJKPKUmCkgpXUev2OeMJ5cFVKXvzEvsm6jFTO8/9iHRTbN/j/ZzWuK5MoO/I3gVn4wGOIX//zw==} - '@ckeditor/ckeditor5-show-blocks@47.3.0': - resolution: {integrity: sha512-vgmH/FqCHproRvVqXYLQrDeDgc5D+2iEK/MB7sRH75w+ZjP495XUYRtoZWud59yQ8P3kCgywycR74iyenxntlw==} + '@ckeditor/ckeditor5-show-blocks@47.4.0': + resolution: {integrity: sha512-uIFHsH2HMPYRWmK+heZoiXRVqbxFJZwYZY1WmNKjE5g7OM8y+PVowe0ZYICjauV2/Z2rwCWtodDKb1bnVnl+mQ==} - '@ckeditor/ckeditor5-slash-command@47.3.0': - resolution: {integrity: sha512-qXIJObofT5jWtM3bDJdDL/WdI8Q12Gbp7AGLrlv/QHRMEQSy+sYKqEC/n84Tr90xbgKn7vkX3jT4VVaCMjoBYQ==} + '@ckeditor/ckeditor5-slash-command@47.4.0': + resolution: {integrity: sha512-w9YeKsnHfGr6dG8kGyjLrUyZKlOrTCzxoquThw2okDKbs8ID6j6zIk6dEANFg4lDWWmV9Y17Y3Z0IX9wXqzbJw==} - '@ckeditor/ckeditor5-source-editing-enhanced@47.3.0': - resolution: {integrity: sha512-5ls3RduW8nod38RGABO68nV8N/f5bptpCPmrc2kQ9itxQtHzFWkVs0114sCSXPWfccw22f64kc/qaK0QCWf+hg==} + '@ckeditor/ckeditor5-source-editing-enhanced@47.4.0': + resolution: {integrity: sha512-0MPVCAOYTtn1QLkUK1O9YoQu5l+o9f6L6a9CANTEVvaXNJJeT5JxcbgdX/EIF91DHjIvhtY9q3s3ubN1oF2YCA==} - '@ckeditor/ckeditor5-source-editing@47.3.0': - resolution: {integrity: sha512-a2hFkyUzDJBpPh5jF3+LUO356PeQ84/Amqp9Y8oqzk6nKXlfr5IdPU1kQTkwDxee7F85EUNd2/wRZm4tLKL02A==} + '@ckeditor/ckeditor5-source-editing@47.4.0': + resolution: {integrity: sha512-AtamOK+Dya6abkuo9XYME05FYFigBRic5gr3/KzhyFfHh7qiFlZFLCDH0S/JEQ0AduFjfgUx4h0ST22RIhiYoA==} - '@ckeditor/ckeditor5-special-characters@47.3.0': - resolution: {integrity: sha512-kh9gONY8HqP1hQ5AImLzYyiecyVRHmyGE9xc1koyOV5HvZ3X+ogTWuAFqG5e3zjLaVCeKQKXkbuBS6/+Gi2NxQ==} + '@ckeditor/ckeditor5-special-characters@47.4.0': + resolution: {integrity: sha512-eYP23WZY8ayA0q8LNVCUcP85yf9J2gSpVE9E6LNIku4rbzox6mCf0sZF0ZhzvqHyXyj9Mn+S21IZpLOTuTUW0g==} - '@ckeditor/ckeditor5-style@47.3.0': - resolution: {integrity: sha512-EsQ3ZZccrsniKadcfjBI7HJgsNbZAl6NomQBKauvTQzmOoL90Ouffp6yIQTIQkIgm/xzIh2zVhGTcw84VoioJw==} + '@ckeditor/ckeditor5-style@47.4.0': + resolution: {integrity: sha512-R6kt9jX9FOnYRXKn7kX0ZdIdW5A3S7ZZBfcdwzG9O/t7r5IIkp+yhC1y6/uBAc2twvvqMhG7Gu5KH2o/TVVjSg==} - '@ckeditor/ckeditor5-table@47.3.0': - resolution: {integrity: sha512-YVupV2lEvE8tJi2tSnrthT1GCdzA0+zv4x0AQR5fBKfu82fux7vxKb222UnHkHhazrR3dGY5MSBRjIaDerY3TA==} + '@ckeditor/ckeditor5-table@47.4.0': + resolution: {integrity: sha512-gWraeB14YnpR+ELySu3xgSFlfur07ZBPN76rQuiIobrecKwhh1Az8rk7Qo4c1K/q/f4pHmqh87nhSprn7Mo7+w==} - '@ckeditor/ckeditor5-template@47.3.0': - resolution: {integrity: sha512-/e9aYr4n5pRca9ytfzUvNFbsZhQn4//bbZbLyosPxTccdjvoonROTYn4a/TqkE1Ff1JYhj2IN3N39vp2H3Eoqg==} + '@ckeditor/ckeditor5-template@47.4.0': + resolution: {integrity: sha512-zLL7mEqdAeSBSJ1LgacQ0OqPxOyz0PBcEOBD0xtHheomP5mHg7l2rF/w1dT3LQ8kSJoDq3KEIDaB6ErWfueX6g==} - '@ckeditor/ckeditor5-theme-lark@47.3.0': - resolution: {integrity: sha512-ovaRKQAVTqlmYlpo3y9q1iu+5SKmmdjBTFDRGRgZ9nXNuD2vmikJA4pG5A4aNKLl/d3/LIkPfbn2g2w9VIlb7Q==} + '@ckeditor/ckeditor5-theme-lark@47.4.0': + resolution: {integrity: sha512-kdtwV5HJ+8/oNcsGM8sdpULhXr2TfM7gEKlH/EAdycLDa6topcJuTl7iVSEu4hZzwVo2agiEMmdUIf3dvWweow==} - '@ckeditor/ckeditor5-track-changes@47.3.0': - resolution: {integrity: sha512-kAKEIlI3FiHuWa/FwZVaGxr+MwU2dBAy4yPuZChv7JgEr3GywdirUl3WKbSoDJoW1MWaAC3FwYaUCYMRQfo03Q==} + '@ckeditor/ckeditor5-track-changes@47.4.0': + resolution: {integrity: sha512-33pFlkjjsxGUXImdpfJJWWWZ4UlpKxIiLntt+buRDsj2pw1K34j5jtIEqAKpdMhSj5W2HXZiXsRrfI+mBd5lyg==} - '@ckeditor/ckeditor5-typing@47.3.0': - resolution: {integrity: sha512-hxwdd4hcCXLMFehS9/DLlcl+Bx+TlF+gG8f1DqNmpmqRbbVtfMFfMlHuqKC7+0c3TLJz7f0F5ih681s2H4t9RA==} + '@ckeditor/ckeditor5-typing@47.4.0': + resolution: {integrity: sha512-+YmCUTLVAryK5h68TgQ0qxDngs1MTCLKPDXxHzNqs0oXHai9YkJv/zg4zeb0/RQRIps7jh3bPapZoi2hP2iN3A==} - '@ckeditor/ckeditor5-ui@47.3.0': - resolution: {integrity: sha512-dDHvfIxNfo3z00KwDO6nHCx9ZC2vVEQ+lMmpjbMD8P3FzGRPRd7NqzRbPoieDKlgAiG6Sa2CLThqA+71C+RMfw==} + '@ckeditor/ckeditor5-ui@47.4.0': + resolution: {integrity: sha512-sL67wp2DX+P3zxeJLo2I7yLhBlX6Zhd0xfUAB6vX6SkjhMeC0L2gLOIr3kKq/OMKEuS+0iZ+qVvEN1j+2Flzlg==} - '@ckeditor/ckeditor5-undo@47.3.0': - resolution: {integrity: sha512-vO0WCOQBC1Cj7hCxh3+VhQNrANiBjj+8561XkLGhDpQt/lpzuEqXn11Rx4BXjSzpuDZvNnMNO9duzXfEfVjAzw==} + '@ckeditor/ckeditor5-undo@47.4.0': + resolution: {integrity: sha512-OnxpJb9glDwuSTl59Yb4+6bjWW5h4BA+94YhesKZXeIaXjyzwFmNGxM07nRyaX4KXwGVP5y5JZC2xv5bCOXKSQ==} - '@ckeditor/ckeditor5-upload@47.3.0': - resolution: {integrity: sha512-j4GngBlxg/tjztS/B67RD/OUrTYQhrwDYSpAjXV6shabwEbtEadsKLYgpXPR12ENB30mmrYKIRC/pgT5/wXc6Q==} + '@ckeditor/ckeditor5-upload@47.4.0': + resolution: {integrity: sha512-9gMfYltVNi5aYNs8IixTXww9kyU0+oEeY9pN8W6YLrhToVJdnN14pW3yNkQJKJPK7HS2RgM6L1Y+u50qu/IL2g==} - '@ckeditor/ckeditor5-uploadcare@47.3.0': - resolution: {integrity: sha512-U9M19IUhVbARfYCBv124o6OJ8Sevv5ZSQ4XoqyNylrPCulB0UmDbV92Y57uR20voBtmVGtY/LRGD07iHjLZ3fA==} + '@ckeditor/ckeditor5-uploadcare@47.4.0': + resolution: {integrity: sha512-sPw7UGZosBOMVMcshOYPNXkq3hSQA7LCFij4WrXvmnJSC9Qb9SabqhEDxoDeLrwy4I5ZWHWR2Xyut4O/uBWO5w==} - '@ckeditor/ckeditor5-utils@47.3.0': - resolution: {integrity: sha512-RF5iAkI7NpVYZW1Fo+BhIQmPNLqA6iRVNoqo43P7vE8QfvG0fYB1Ff3jsEeM4UVV/G6pABBhE+9UMpwJcBuxWw==} + '@ckeditor/ckeditor5-utils@47.4.0': + resolution: {integrity: sha512-+5v1k3+8Yr0VUnO+3GfP7MsDCqt5KD9f9Z5wUVRig/J61hPTv8cUQp0859K87IuOLdAP/rZ1iQpdi1psanQeIQ==} - '@ckeditor/ckeditor5-watchdog@47.3.0': - resolution: {integrity: sha512-gurXEgfiIvnmmd7u68PdffdAaYFuNuAE8fJoWeJFMzrrFGuG7TvGmulXG/Wom2D4D+eW7wQE93Sisx9wIfAcPQ==} + '@ckeditor/ckeditor5-watchdog@47.4.0': + resolution: {integrity: sha512-MEfHIVYV4SILXi++G00y3wREm/1gT5dO+pTGpQY+NNYw8wgi32rg1q8hO2P/upsVaPzbeD3WLURyqeIxKwY20Q==} - '@ckeditor/ckeditor5-widget@47.3.0': - resolution: {integrity: sha512-8IagE3JdKLM04KB3XR2SCDJTIlmtGOhkfWZBn9kwy7g8SIjI2bJARA/0wgXMGlzUV2AMbbxb0HdkMEK6Xxg/nQ==} + '@ckeditor/ckeditor5-widget@47.4.0': + resolution: {integrity: sha512-wffwrMQ6h+Hdu9IMG0H0QAf0YWWn+AGeJwPs69cRjRwB5pNOCUmMyM4h8MtNp15UEvGGARlhOjFf1TniMUkKrw==} - '@ckeditor/ckeditor5-word-count@47.3.0': - resolution: {integrity: sha512-VluTjPWaJnYS6uoJfi8XJZIBPzfrARH4RBEHOBto4SM1jNdSV0gltz6jfNSteGXm4Bl+VdBgltzRAXqsugi2Vg==} + '@ckeditor/ckeditor5-word-count@47.4.0': + resolution: {integrity: sha512-JeiwHJyBdlUCdzfW3K2KoGO/QhDe1qOKNPXiVXzExIyZpww+hm5HjV/zi5gX4xAvWg9ew0UaQRco5Dy7mBBfRQ==} '@codemirror/autocomplete@6.18.6': resolution: {integrity: sha512-PHHBXFomUs5DF+9tCOM/UoW6XQ4R44lLNNhRaW9PKPTU0D7lIjRg3ElxaJnTwsl/oHiR93WSXDBrekhoUGCPtg==} @@ -2329,8 +2365,8 @@ packages: '@codemirror/lint@6.8.5': resolution: {integrity: sha512-s3n3KisH7dx3vsoeGMxsbRAgKe4O1vbrnKBClm99PU0fWxmxsx5rR2PfqQgIt+2MMJBHbiJ5rfIdLYfB9NNvsA==} - '@codemirror/search@6.5.11': - resolution: {integrity: sha512-KmWepDE6jUdL6n8cAAqIpRmLPBZ5ZKnicE8oGU/s3QrAVID+0VhLFrzUucVKHG5035/BSykhExDL/Xm7dHthiA==} + '@codemirror/search@6.6.0': + resolution: {integrity: sha512-koFuNXcDvyyotWcgOnZGmY7LZqEOXZaaxD/j6n18TCLx2/9HieZJ5H6hs1g8FiRxBD0DNfs0nXn17g872RmYdw==} '@codemirror/state@6.5.2': resolution: {integrity: sha512-FVqsPqtPWKVVL3dPSxy8wEF/ymIEuVzF1PK3VbUgrxXpJUSHQWWZz4JMToquRxnkw+36LTamCZG2iua2Ptq0fA==} @@ -2338,8 +2374,8 @@ packages: '@codemirror/theme-one-dark@6.1.2': resolution: {integrity: sha512-F+sH0X16j/qFLMAfbciKTxVOwkdAS336b7AXTKOZhy8BR3eH/RelsnLgLFINrpST63mmN2OuwUt0W2ndUgYwUA==} - '@codemirror/view@6.39.9': - resolution: {integrity: sha512-miGSIfBOKC1s2oHoa80dp+BjtsL8sXsrgGlQnQuOcfvaedcQUtqddTmKbJSDkLl4mkgPvZyXuKic2HDNYcJLYA==} + '@codemirror/view@6.39.11': + resolution: {integrity: sha512-bWdeR8gWM87l4DB/kYSF9A+dVackzDb/V56Tq7QVrQ7rn86W0rgZFtlL3g3pem6AeGcb9NQNoy3ao4WpW4h5tQ==} '@colors/colors@1.5.0': resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} @@ -2377,14 +2413,28 @@ packages: peerDependencies: '@csstools/css-tokenizer': ^3.0.4 + '@csstools/css-parser-algorithms@4.0.0': + resolution: {integrity: sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==} + engines: {node: '>=20.19.0'} + peerDependencies: + '@csstools/css-tokenizer': ^4.0.0 + '@csstools/css-syntax-patches-for-csstree@1.0.19': resolution: {integrity: sha512-QW5/SM2ARltEhoKcmRI1LoLf3/C7dHGswwCnfLcoMgqurBT4f8GvwXMgAbK/FwcxthmJRK5MGTtddj0yQn0J9g==} engines: {node: '>=18'} + '@csstools/css-syntax-patches-for-csstree@1.0.25': + resolution: {integrity: sha512-g0Kw9W3vjx5BEBAF8c5Fm2NcB/Fs8jJXh85aXqwEXiL+tqtOut07TWgyaGzAAfTM+gKckrrncyeGEZPcaRgm2Q==} + engines: {node: '>=18'} + '@csstools/css-tokenizer@3.0.4': resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} engines: {node: '>=18'} + '@csstools/css-tokenizer@4.0.0': + resolution: {integrity: sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==} + engines: {node: '>=20.19.0'} + '@csstools/media-query-list-parser@3.0.1': resolution: {integrity: sha512-HNo8gGD02kHmcbX6PvCoUuOQvn4szyB9ca63vZHKX5A81QytgDG4oxG4IaEfHTlEZSZ6MjPEMWIVU+zF2PZcgw==} engines: {node: '>=18'} @@ -2399,18 +2449,50 @@ packages: '@csstools/css-parser-algorithms': ^3.0.5 '@csstools/css-tokenizer': ^3.0.4 + '@csstools/media-query-list-parser@5.0.0': + resolution: {integrity: sha512-T9lXmZOfnam3eMERPsszjY5NK0jX8RmThmmm99FZ8b7z8yMaFZWKwLWGZuTwdO3ddRY5fy13GmmEYZXB4I98Eg==} + engines: {node: '>=20.19.0'} + peerDependencies: + '@csstools/css-parser-algorithms': ^4.0.0 + '@csstools/css-tokenizer': ^4.0.0 + '@csstools/selector-resolve-nested@3.1.0': resolution: {integrity: sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==} engines: {node: '>=18'} peerDependencies: postcss-selector-parser: ^7.0.0 + '@csstools/selector-resolve-nested@4.0.0': + resolution: {integrity: sha512-9vAPxmp+Dx3wQBIUwc1v7Mdisw1kbbaGqXUM8QLTgWg7SoPGYtXBsMXvsFs/0Bn5yoFhcktzxNZGNaUt0VjgjA==} + engines: {node: '>=20.19.0'} + peerDependencies: + postcss-selector-parser: ^7.1.1 + '@csstools/selector-specificity@5.0.0': resolution: {integrity: sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==} engines: {node: '>=18'} peerDependencies: postcss-selector-parser: ^7.0.0 + '@csstools/selector-specificity@6.0.0': + resolution: {integrity: sha512-4sSgl78OtOXEX/2d++8A83zHNTgwCJMaR24FvsYL7Uf/VS8HZk9PTwR51elTbGqMuwH3szLvvOXEaVnqn0Z3zA==} + engines: {node: '>=20.19.0'} + peerDependencies: + postcss-selector-parser: ^7.1.1 + + '@devicefarmer/adbkit-logcat@2.1.3': + resolution: {integrity: sha512-yeaGFjNBc/6+svbDeul1tNHtNChw6h8pSHAt5D+JsedUrMTN7tla7B15WLDyekxsuS2XlZHRxpuC6m92wiwCNw==} + engines: {node: '>= 4'} + + '@devicefarmer/adbkit-monkey@1.2.1': + resolution: {integrity: sha512-ZzZY/b66W2Jd6NHbAhLyDWOEIBWC11VizGFk7Wx7M61JZRz7HR9Cq5P+65RKWUU7u6wgsE8Lmh9nE4Mz+U2eTg==} + engines: {node: '>= 0.10.4'} + + '@devicefarmer/adbkit@3.3.8': + resolution: {integrity: sha512-7rBLLzWQnBwutH2WZ0EWUkQdihqrnLYCUMaB44hSol9e0/cdIhuNFcqZO0xNheAU6qqHVA8sMiLofkYTgb+lmw==} + engines: {node: '>= 0.10.4'} + hasBin: true + '@digitak/esrun@3.2.26': resolution: {integrity: sha512-mL0bw7NhKVghp7mVsPwnAMhCn4NGAsk0KKFmAfnrYAZ/QCXR5xLXIYP82zLMjcsQag8DD6i1c+Yrm/57StYVzg==} engines: {node: '>=14.0'} @@ -2422,85 +2504,85 @@ packages: '@dual-bundle/import-meta-resolve@4.2.1': resolution: {integrity: sha512-id+7YRUgoUX6CgV0DtuhirQWodeeA7Lf4i2x71JS/vtA5pRb/hIGWlw+G6MeXvsM+MXrz0VAydTGElX1rAfgPg==} - '@electron-forge/cli@7.10.2': - resolution: {integrity: sha512-X1RtS5IqNgzGDS2rr1q0Y74wU/m3DbU4vSgllNun1ZQv1BfMpDcKLhnKi3aeetoA0huLTpMVU9eWJ7bziI9fxA==} + '@electron-forge/cli@7.11.1': + resolution: {integrity: sha512-pk8AoLsr7t7LBAt0cFD06XFA6uxtPdvtLx06xeal7O9o7GHGCbj29WGwFoJ8Br/ENM0Ho868S3PrAn1PtBXt5g==} engines: {node: '>= 16.4.0'} hasBin: true - '@electron-forge/core-utils@7.10.2': - resolution: {integrity: sha512-JXrk2hWR4q8KgZFABpojjuqql3tYeVIH6qmtbkNEkZEQq7YIxajJBCct7J7bWfNQTmHotsQ3k5KLknhyhTaBMw==} + '@electron-forge/core-utils@7.11.1': + resolution: {integrity: sha512-9UxRWVsfcziBsbAA2MS0Oz4yYovQCO2BhnGIfsbKNTBtMc/RcVSxAS0NMyymce44i43p1ZC/FqWhnt1XqYw3bQ==} engines: {node: '>= 16.4.0'} - '@electron-forge/core@7.10.2': - resolution: {integrity: sha512-HAIuOtpOfGjA0cd55tbEV2gAv+A7tSZg9bonmVDYFEe6dBgbLk8a3+/1fJUdWW8fyFkg1wa8zK7pjP751bAXsA==} + '@electron-forge/core@7.11.1': + resolution: {integrity: sha512-YtuPLzggPKPabFAD2rOZFE0s7f4KaUTpGRduhSMbZUqpqD1TIPyfoDBpYiZvao3Ht8pyZeOJjbzcC0LpFs9gIQ==} engines: {node: '>= 16.4.0'} - '@electron-forge/maker-base@7.10.2': - resolution: {integrity: sha512-1QN4qnPVTjo+qWYG+s0kYv7XcuIowsPVvbl718FgJUcvkxyRjUA6kWHjFxRvdV6g7Sa2PzZBF+/Mrjpws1lehQ==} + '@electron-forge/maker-base@7.11.1': + resolution: {integrity: sha512-yhZrCGoN6bDeiB5DHFaueZ1h84AReElEj+f0hl2Ph4UbZnO0cnLpbx+Bs+XfMLAiA+beC8muB5UDK5ysfuT9BQ==} engines: {node: '>= 16.4.0'} - '@electron-forge/maker-deb@7.10.2': - resolution: {integrity: sha512-4MPr9NW5UbEUbf9geZn5R/0O/QVIiy2EgUXOYOeKkA7oR8U6I1I3+BytYFHYcxbY6+PGhi1H1VTLJLITbHGVWw==} + '@electron-forge/maker-deb@7.11.1': + resolution: {integrity: sha512-QTYiryQLYPDkq6pIfBmx0GQ6D8QatUkowH7rTlW5MnCUa0uumX0Xu7yGIjesuwW37fxT3Lv4xi+FSXMCm2eC1w==} engines: {node: '>= 16.4.0'} - '@electron-forge/maker-dmg@7.10.2': - resolution: {integrity: sha512-ksSX6/Ioxa3h3rEGIg26qfDcJgB3aFGivitRdSkEnzUCLWJSUoThEwLToA7CAq4J/4ZREK0PDJ7FPsB+F8CYfQ==} + '@electron-forge/maker-dmg@7.11.1': + resolution: {integrity: sha512-7zs5/Ewz1PcOl4N1102stFgBiFGWxU18+UPFUSd/fgf9MErBl4HBWuVNMIHyeJ/56rdfkcmTxTqE+9TBEYrZcg==} engines: {node: '>= 16.4.0'} - '@electron-forge/maker-flatpak@7.10.2': - resolution: {integrity: sha512-LldkYGkIhri99+HqetGjNzi2cdXy32o5uLlr7fDLoiegm8WAkvvWxFTLdSDS1RP94f6PVOKR9KHqPauu5GaIYw==} + '@electron-forge/maker-flatpak@7.11.1': + resolution: {integrity: sha512-H7+aa1OkJUHBj08DdbhSz2gL1hD/IowYpVS+uv7e6PcDqRYy/5XQQ2FoX52+3Qlik8d+tai7iOzVGcqb+D7f0Q==} engines: {node: '>= 16.4.0'} - '@electron-forge/maker-rpm@7.10.2': - resolution: {integrity: sha512-LQoeYzbY/z1yuBBA+bNutCJmhCA4NcXUbFO4OTqsIX8B6y1zNTYZT4JEuhoK7eBsP4/Rz6u/JnNp0XOyjftOUQ==} + '@electron-forge/maker-rpm@7.11.1': + resolution: {integrity: sha512-iEfJPRQQyaTqk2EbUfZgulChNWvxGXeYUH0xBX/r5cj1pL4vcJXt3jLMQBVn3mk/0Ytv9UWRs8R/XuNWX6sf2w==} engines: {node: '>= 16.4.0'} - '@electron-forge/maker-squirrel@7.10.2': - resolution: {integrity: sha512-Y5EhNSBXf4a7qcq+BK/x5qVDlQ1Gez5V+arUpDvVxf1zwvsB1aSyAjmoBrOKGYD9A5pJzjkMWMDw95MStl1W4A==} + '@electron-forge/maker-squirrel@7.11.1': + resolution: {integrity: sha512-oSg7fgad6l+X0DjtRkSpMzB0AjzyDO4mb2gzM4kTodkP1ADeiMi08bxy0ZeCESqLm5+fG72cAPmEr3BAPvI1yw==} engines: {node: '>= 16.4.0'} - '@electron-forge/maker-zip@7.10.2': - resolution: {integrity: sha512-APRqVPM+O1rj4O7sk5f8tqJpS5UgxcUJEsCnXN4JRpdRvsOlMopzYZdazlCLH9l7S+r4ZKirjtMluIGeYq8YOg==} + '@electron-forge/maker-zip@7.11.1': + resolution: {integrity: sha512-30rcp0AbJLfkFBX2hmO14LKXx7z9V61LffTVbTCFMh5vUB2kZvcA5xAhsBk2oUJWfGVxe1DuSEU0rDR9bUMHUg==} engines: {node: '>= 16.4.0'} - '@electron-forge/plugin-auto-unpack-natives@7.10.2': - resolution: {integrity: sha512-uQnahm1DECwqI8hBC7PKccyfovY/YqHNz8de3OxyjQDmwsqQfCA8Ucyh1E9n4NMEpw6Co8KLn+qF2BuIOsftLA==} + '@electron-forge/plugin-auto-unpack-natives@7.11.1': + resolution: {integrity: sha512-5uRM3WNv7jIeDt8pLP3V4U2puWHPGJ/3qRuSE47RKgTp5qxpZidWHSYcEJJxjoqOL/7KFwSqKSQ/a36GoZV4Fg==} engines: {node: '>= 16.4.0'} - '@electron-forge/plugin-base@7.10.2': - resolution: {integrity: sha512-+4YLmkLZxvS6JFXYNI4dHt8Il8iIvwk2o6lCJGwNysOUq2KOZ3Wu1He4Ko8HhKcO1VWbFvslbh57oQn963Aryw==} + '@electron-forge/plugin-base@7.11.1': + resolution: {integrity: sha512-lKpSOV1GA3FoYiD9k05i6v4KaQVmojnRgCr7d6VL1bFp13QOtXSaAWhFI9mtSY7rGElOacX6Zt7P7rPoB8T9eQ==} engines: {node: '>= 16.4.0'} - '@electron-forge/publisher-base@7.10.2': - resolution: {integrity: sha512-2k2VOY0wOoAgQoQXn/u3EJ2Ka2v363+wC/+zUMTWGeRHW8pRwX84WX2SpsTttRzbsqAEMJYw5FAzgMBEQUTfpg==} + '@electron-forge/publisher-base@7.11.1': + resolution: {integrity: sha512-rXE9oMFGMtdQrixnumWYH5TTGsp99iPHZb3jI74YWq518ctCh6DlIgWlhf6ok2X0+lhWovcIb45KJucUFAQ13w==} engines: {node: '>= 16.4.0'} - '@electron-forge/shared-types@7.10.2': - resolution: {integrity: sha512-e2pd9RsdbKwsNf6UtKoolmJGy92Nc0/XO4SI91doV8cM954hM2XSYz3VHoqXebMFAF1JDfXoEUt6UCRbEDgMgw==} + '@electron-forge/shared-types@7.11.1': + resolution: {integrity: sha512-vvBWdAEh53UJlDGUevpaJk1+sqDMQibfrbHR+0IPA4MPyQex7/Uhv3vYH9oGHujBVAChQahjAuJt0fG6IJBLZg==} engines: {node: '>= 16.4.0'} - '@electron-forge/template-base@7.10.2': - resolution: {integrity: sha512-D9DbEx3rtikIhUyn4tcz2pJqHNU/+FXKNnzSvmrJoJ9LusR3C42OU9GtbU8oT3nawpnCGgPFIOGXrzexFPp6DA==} + '@electron-forge/template-base@7.11.1': + resolution: {integrity: sha512-XpTaEf+EfQw+0BlSAtSpZKYIKYvKu4raNzSGHZZoSYHp+HDC7R+MlpFQmSJiGdYQzQ14C+uxO42tVjgM0DMbpw==} engines: {node: '>= 16.4.0'} - '@electron-forge/template-vite-typescript@7.10.2': - resolution: {integrity: sha512-df7rpxxIOIyZn0RfQ1GIlLW7dXhxkerc9uZ3ozO4C7zfvip3z0Mg+wS1synktPfr4WISaPktIdnj3mVu6Uu7Mw==} + '@electron-forge/template-vite-typescript@7.11.1': + resolution: {integrity: sha512-Us4AHXFb+4z+gXgZImSqMBS63oKnsQWLOhqRg321xiDzu2UcQPlwgWNb4rAEKNVC1e7LXrUNDHuBiTrQkvWXbg==} engines: {node: '>= 16.4.0'} - '@electron-forge/template-vite@7.10.2': - resolution: {integrity: sha512-hR9HBOM902yq7zhFl8bO3w5ufMgitdd5ZwDzAdKITFh2ttZemHy9ha5S0K+R+4GoXHz8t7hUTHk8+iPy09qrpA==} + '@electron-forge/template-vite@7.11.1': + resolution: {integrity: sha512-Or8Lxf4awoeUZoMTKJEw5KQDIhqOFs24WhVka3yZXxc6VgVWN79KmYKYM6uM/YMQttmafhsBhY2t1Lxo1WR/ug==} engines: {node: '>= 16.4.0'} - '@electron-forge/template-webpack-typescript@7.10.2': - resolution: {integrity: sha512-JtrLUAFbxxWJ1kU7b8MNyL5SO9/rY5UeNz1b9hvMvilW8GxyMWUen58dafgdnx3OpKLNZnhOOhgRagNppEzJOA==} + '@electron-forge/template-webpack-typescript@7.11.1': + resolution: {integrity: sha512-6ExfFnFkHBz8rvRFTFg5HVGTC12uJpbVk4q8DVg0R8rhhxhqiVNh8lF2UPtZ2yT2UtGWjXNVlyP3Y3T6q6E3GQ==} engines: {node: '>= 16.4.0'} - '@electron-forge/template-webpack@7.10.2': - resolution: {integrity: sha512-VIUXA+XHM5SLjg7fIpOOmBsgi0LstkjrEz4gUzVL0AaITM7e+BCziIHld1ceXLbQ1FnKtrUGnQ9X/cHYxYvhHg==} + '@electron-forge/template-webpack@7.11.1': + resolution: {integrity: sha512-15lbXxi+er461MPk6sbwAOyjofAHwmQjTvxNCiNpaU2naEwbj3t0SlLq/BMr5HxnVOaMmA7+lKV9afkIom+d4Q==} engines: {node: '>= 16.4.0'} - '@electron-forge/tracer@7.10.2': - resolution: {integrity: sha512-jhLLQbttfZViSOYn/3SJc8HML+jNZAytPVJwgGGd3coUiFysWJ2Xald99iqOiouPAhIigBfNPxQb/q/EbcDu4g==} + '@electron-forge/tracer@7.11.1': + resolution: {integrity: sha512-tiB6cglVQFcSw9N8GRwVwZUeB9u0DOx2Mj7aFXBUsFLUYQapvVGv51tUSy/UAW5lvmubGscYIILuVko+II3+NA==} engines: {node: '>= 14.17.5'} '@electron/asar@3.4.1': @@ -2541,8 +2623,8 @@ packages: engines: {node: '>=12.13.0'} hasBin: true - '@electron/rebuild@4.0.2': - resolution: {integrity: sha512-8iZWVPvOpCdIc5Pj5udQV3PeO7liJVC7BBUSizl1HCfP7ZxYc9Kqz0c3PDNj2HQ5cQfJ5JaBeJIYKPjAvLn2Rg==} + '@electron/rebuild@4.0.3': + resolution: {integrity: sha512-u9vpTHRMkOYCs/1FLiSVAFZ7FbjsXK+bQuzviJZa+lG7BHZl1nz52/IcGvwa3sk80/fc3llutBkbCq10Vh8WQA==} engines: {node: '>=22.12.0'} hasBin: true @@ -2560,11 +2642,11 @@ packages: engines: {node: '>=14.14'} hasBin: true - '@emnapi/core@1.7.1': - resolution: {integrity: sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==} + '@emnapi/core@1.8.1': + resolution: {integrity: sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==} - '@emnapi/runtime@1.7.1': - resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==} + '@emnapi/runtime@1.8.1': + resolution: {integrity: sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==} '@emnapi/wasi-threads@1.1.0': resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} @@ -3343,16 +3425,16 @@ packages: '@codemirror/view': ^6.0.0 '@lezer/highlight': ^1.0.0 - '@fsegurai/codemirror-theme-vscode-dark@6.2.3': - resolution: {integrity: sha512-702b/C3fdTQEfAXiXNewHuvyht83volDFQPR7/uF3S+F6xJ94nUHh4xaffLEFZskvuNVQErX477mq/hnYRdRbA==} + '@fsegurai/codemirror-theme-vscode-dark@6.2.4': + resolution: {integrity: sha512-Vjr1658LIYgvC3ALVeqMhSMLA1ljoLmQpdAq8JuFdH8HkENfCXPmLX498Lnab3UYyn/b3qZAbHtAF+wQ64iMkg==} peerDependencies: '@codemirror/language': ^6.0.0 '@codemirror/state': ^6.0.0 '@codemirror/view': ^6.0.0 '@lezer/highlight': ^1.0.0 - '@fsegurai/codemirror-theme-vscode-light@6.2.3': - resolution: {integrity: sha512-/5xU4EGFfH8zOiw6tIFAhWUx7meuw3rX+OOKY0yu0uM8DFU+nXpepzdBwFlaTorJqdTjxw75EHxSxpRoxrgBkw==} + '@fsegurai/codemirror-theme-vscode-light@6.2.4': + resolution: {integrity: sha512-to840rPueVX6UV4YLEymGhUzzyuunY15LfGgm4Vq6hY2NmCfwYhQ/KfTcJ3XrZXiE80MrHjOq1FDcXl17UgvIQ==} peerDependencies: '@codemirror/language': ^6.0.0 '@codemirror/state': ^6.0.0 @@ -3425,6 +3507,159 @@ packages: '@iconify/utils@3.0.1': resolution: {integrity: sha512-A78CUEnFGX8I/WlILxJCuIJXloL0j/OJ9PSchPAfCargEIKmUBWvvEMmKWB5oONwiUqlNt+5eRufdkLxeHIWYw==} + '@img/colour@1.0.0': + resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==} + engines: {node: '>=18'} + + '@img/sharp-darwin-arm64@0.34.5': + resolution: {integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.34.5': + resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-darwin-arm64@1.2.4': + resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.2.4': + resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.2.4': + resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-arm@1.2.4': + resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-ppc64@1.2.4': + resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-riscv64@1.2.4': + resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-s390x@1.2.4': + resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-x64@1.2.4': + resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linuxmusl-arm64@1.2.4': + resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@img/sharp-libvips-linuxmusl-x64@1.2.4': + resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@img/sharp-linux-arm64@0.34.5': + resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-arm@0.34.5': + resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-ppc64@0.34.5': + resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-riscv64@0.34.5': + resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-s390x@0.34.5': + resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-x64@0.34.5': + resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@img/sharp-linuxmusl-arm64@0.34.5': + resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@img/sharp-linuxmusl-x64@0.34.5': + resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@img/sharp-wasm32@0.34.5': + resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [wasm32] + + '@img/sharp-win32-arm64@0.34.5': + resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [win32] + + '@img/sharp-win32-ia32@0.34.5': + resolution: {integrity: sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.34.5': + resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] + '@inquirer/ansi@1.0.2': resolution: {integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==} engines: {node: '>=18'} @@ -3467,10 +3702,6 @@ packages: resolution: {integrity: sha512-ToG8d6RIbnVpbdPdiN7BCxZGiHOTomOX94C2FaT5KOHupV40tKEDozp12res6cMIfRKrXLJyexAZhWVHgbALSQ==} engines: {node: '>=18'} - '@inquirer/figures@1.0.13': - resolution: {integrity: sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==} - engines: {node: '>=18'} - '@inquirer/figures@1.0.15': resolution: {integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==} engines: {node: '>=18'} @@ -3655,6 +3886,9 @@ packages: '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} @@ -3896,30 +4130,35 @@ packages: engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [glibc] '@napi-rs/canvas-linux-arm64-musl@0.1.88': resolution: {integrity: sha512-kYyNrUsHLkoGHBc77u4Unh067GrfiCUMbGHC2+OTxbeWfZkPt2o32UOQkhnSswKd9Fko/wSqqGkY956bIUzruA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [musl] '@napi-rs/canvas-linux-riscv64-gnu@0.1.88': resolution: {integrity: sha512-HVuH7QgzB0yavYdNZDRyAsn/ejoXB0hn8twwFnOqUbCCdkV+REna7RXjSR7+PdfW0qMQ2YYWsLvVBT5iL/mGpw==} engines: {node: '>= 10'} cpu: [riscv64] os: [linux] + libc: [glibc] '@napi-rs/canvas-linux-x64-gnu@0.1.88': resolution: {integrity: sha512-hvcvKIcPEQrvvJtJnwD35B3qk6umFJ8dFIr8bSymfrSMem0EQsfn1ztys8ETIFndTwdNWJKWluvxztA41ivsEw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [glibc] '@napi-rs/canvas-linux-x64-musl@0.1.88': resolution: {integrity: sha512-eSMpGYY2xnZSQ6UxYJ6plDboxq4KeJ4zT5HaVkUnbObNN6DlbJe0Mclh3wifAmquXfrlgTZt6zhHsUgz++AK6g==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [musl] '@napi-rs/canvas-win32-arm64-msvc@0.1.88': resolution: {integrity: sha512-qcIFfEgHrchyYqRrxsCeTQgpJZ/GqHiqPcU/Fvw/ARVlQeDX1VyFH+X+0gCR2tca6UJrq96vnW+5o7buCq+erA==} @@ -3937,8 +4176,8 @@ packages: resolution: {integrity: sha512-/p08f93LEbsL5mDZFQ3DBxcPv/I4QG9EDYRRq1WNlCOXVfAHBTHMSVMwxlqG/AtnSfUr9+vgfN7MKiyDo0+Weg==} engines: {node: '>= 10'} - '@napi-rs/wasm-runtime@1.1.0': - resolution: {integrity: sha512-Fq6DJW+Bb5jaWE69/qOE0D1TUN9+6uWhCeZpdnSBk14pjLcCWR7Q8n49PTSPHazM37JqrsdpEthXy2xn6jWWiA==} + '@napi-rs/wasm-runtime@1.1.1': + resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==} '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} @@ -4112,86 +4351,92 @@ packages: '@paralleldrive/cuid2@2.2.2': resolution: {integrity: sha512-ZOBkgDwEdoYVlSeRbYYXs0S9MejQofiVYoTbKzy/6GQa39/q5tQU2IX46+shYnUkpEl3wc+J6wRlar7r2EK2xA==} - '@parcel/watcher-android-arm64@2.5.1': - resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} + '@parcel/watcher-android-arm64@2.5.4': + resolution: {integrity: sha512-hoh0vx4v+b3BNI7Cjoy2/B0ARqcwVNrzN/n7DLq9ZB4I3lrsvhrkCViJyfTj/Qi5xM9YFiH4AmHGK6pgH1ss7g==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [android] - '@parcel/watcher-darwin-arm64@2.5.1': - resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} + '@parcel/watcher-darwin-arm64@2.5.4': + resolution: {integrity: sha512-kphKy377pZiWpAOyTgQYPE5/XEKVMaj6VUjKT5VkNyUJlr2qZAn8gIc7CPzx+kbhvqHDT9d7EqdOqRXT6vk0zw==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [darwin] - '@parcel/watcher-darwin-x64@2.5.1': - resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} + '@parcel/watcher-darwin-x64@2.5.4': + resolution: {integrity: sha512-UKaQFhCtNJW1A9YyVz3Ju7ydf6QgrpNQfRZ35wNKUhTQ3dxJ/3MULXN5JN/0Z80V/KUBDGa3RZaKq1EQT2a2gg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [darwin] - '@parcel/watcher-freebsd-x64@2.5.1': - resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} + '@parcel/watcher-freebsd-x64@2.5.4': + resolution: {integrity: sha512-Dib0Wv3Ow/m2/ttvLdeI2DBXloO7t3Z0oCp4bAb2aqyqOjKPPGrg10pMJJAQ7tt8P4V2rwYwywkDhUia/FgS+Q==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [freebsd] - '@parcel/watcher-linux-arm-glibc@2.5.1': - resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} + '@parcel/watcher-linux-arm-glibc@2.5.4': + resolution: {integrity: sha512-I5Vb769pdf7Q7Sf4KNy8Pogl/URRCKu9ImMmnVKYayhynuyGYMzuI4UOWnegQNa2sGpsPSbzDsqbHNMyeyPCgw==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] + libc: [glibc] - '@parcel/watcher-linux-arm-musl@2.5.1': - resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} + '@parcel/watcher-linux-arm-musl@2.5.4': + resolution: {integrity: sha512-kGO8RPvVrcAotV4QcWh8kZuHr9bXi9a3bSZw7kFarYR0+fGliU7hd/zevhjw8fnvIKG3J9EO5G6sXNGCSNMYPQ==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] + libc: [musl] - '@parcel/watcher-linux-arm64-glibc@2.5.1': - resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} + '@parcel/watcher-linux-arm64-glibc@2.5.4': + resolution: {integrity: sha512-KU75aooXhqGFY2W5/p8DYYHt4hrjHZod8AhcGAmhzPn/etTa+lYCDB2b1sJy3sWJ8ahFVTdy+EbqSBvMx3iFlw==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] + libc: [glibc] - '@parcel/watcher-linux-arm64-musl@2.5.1': - resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} + '@parcel/watcher-linux-arm64-musl@2.5.4': + resolution: {integrity: sha512-Qx8uNiIekVutnzbVdrgSanM+cbpDD3boB1f8vMtnuG5Zau4/bdDbXyKwIn0ToqFhIuob73bcxV9NwRm04/hzHQ==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] + libc: [musl] - '@parcel/watcher-linux-x64-glibc@2.5.1': - resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} + '@parcel/watcher-linux-x64-glibc@2.5.4': + resolution: {integrity: sha512-UYBQvhYmgAv61LNUn24qGQdjtycFBKSK3EXr72DbJqX9aaLbtCOO8+1SkKhD/GNiJ97ExgcHBrukcYhVjrnogA==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] + libc: [glibc] - '@parcel/watcher-linux-x64-musl@2.5.1': - resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} + '@parcel/watcher-linux-x64-musl@2.5.4': + resolution: {integrity: sha512-YoRWCVgxv8akZrMhdyVi6/TyoeeMkQ0PGGOf2E4omODrvd1wxniXP+DBynKoHryStks7l+fDAMUBRzqNHrVOpg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] + libc: [musl] - '@parcel/watcher-win32-arm64@2.5.1': - resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} + '@parcel/watcher-win32-arm64@2.5.4': + resolution: {integrity: sha512-iby+D/YNXWkiQNYcIhg8P5hSjzXEHaQrk2SLrWOUD7VeC4Ohu0WQvmV+HDJokZVJ2UjJ4AGXW3bx7Lls9Ln4TQ==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [win32] - '@parcel/watcher-win32-ia32@2.5.1': - resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} + '@parcel/watcher-win32-ia32@2.5.4': + resolution: {integrity: sha512-vQN+KIReG0a2ZDpVv8cgddlf67J8hk1WfZMMP7sMeZmJRSmEax5xNDNWKdgqSe2brOKTQQAs3aCCUal2qBHAyg==} engines: {node: '>= 10.0.0'} cpu: [ia32] os: [win32] - '@parcel/watcher-win32-x64@2.5.1': - resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} + '@parcel/watcher-win32-x64@2.5.4': + resolution: {integrity: sha512-3A6efb6BOKwyw7yk9ro2vus2YTt2nvcd56AuzxdMiVOxL9umDyN5PKkKfZ/gZ9row41SjVmTVQNWQhaRRGpOKw==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [win32] - '@parcel/watcher@2.5.1': - resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} + '@parcel/watcher@2.5.4': + resolution: {integrity: sha512-WYa2tUVV5HiArWPB3ydlOc4R2ivq0IDrlqhMi3l7mVsFEXNcTfxYFPIHXHXIh/ca/y/V5N4E1zecyxdIBjYnkQ==} engines: {node: '>= 10.0.0'} '@phosphor-icons/web@2.1.2': @@ -4206,6 +4451,18 @@ packages: engines: {node: '>=18'} hasBin: true + '@pnpm/config.env-replace@1.1.0': + resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} + engines: {node: '>=12.22.0'} + + '@pnpm/network.ca-file@1.0.2': + resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} + engines: {node: '>=12.22.0'} + + '@pnpm/npm-conf@3.0.2': + resolution: {integrity: sha512-h104Kh26rR8tm+a3Qkc5S4VLYint3FE48as7+/5oCEcKR2idC/pF1G6AhIXKI+eHPJa/3J9i5z0Al47IeGHPkA==} + engines: {node: '>=12'} + '@polka/url@1.0.0-next.29': resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} @@ -4218,14 +4475,19 @@ packages: '@babel/core': 7.x vite: 2.x || 3.x || 4.x || 5.x || 6.x || 7.x - '@preact/signals-core@1.12.1': - resolution: {integrity: sha512-BwbTXpj+9QutoZLQvbttRg5x3l5468qaV2kufh+51yha1c53ep5dY4kTuZR35+3pAZxpfQerGJiQqg34ZNZ6uA==} + '@preact/signals-core@1.12.2': + resolution: {integrity: sha512-5Yf8h1Ke3SMHr15xl630KtwPTW4sYDFkkxS0vQ8UiQLWwZQnrF9IKaVG1mN5VcJz52EcWs2acsc/Npjha/7ysA==} '@preact/signals@2.5.1': resolution: {integrity: sha512-VPjk5YFt7i11Fi4UK0tzaEe5xLwfhUxXL3l89ocxQ5aPz7bRo8M5+N73LjBMPklyXKYKz6YsNo4Smp8n6nplng==} peerDependencies: preact: 10.28.2 + '@preact/signals@2.6.1': + resolution: {integrity: sha512-Gp3DI1T/0YyirwJnImR8l9xyVJgKiVzJXmEhic1/7SPw3zStrsvuBpwKnD609CzsIdzxprWa6yTNXN+VLLZPGQ==} + peerDependencies: + preact: 10.28.2 + '@prefresh/babel-plugin@0.5.2': resolution: {integrity: sha512-AOl4HG6dAxWkJ5ndPHBgBa49oo/9bOiJuRDKHLSTyH+Fd9x00shTXpdiTj1W41l6oQIwUOAgJeHMn4QwIDpHkA==} @@ -4566,27 +4828,30 @@ packages: '@redocly/ajv@8.17.1': resolution: {integrity: sha512-EDtsGZS964mf9zAUXAl9Ew16eYbeyAFWhsPr0fX6oaJxgd8rApYlPBf0joyhnUHz88WxrigyFtTaqqzXNzPgqw==} - '@redocly/cli@2.14.4': - resolution: {integrity: sha512-DM6xT3hIvEc7a0z4r2DzUkusfmkPs0at6MGOiouASqxlG/k5k38KwIII51mE0c8VmMGhArhxZAFnptoycVpFoQ==} + '@redocly/ajv@8.17.2': + resolution: {integrity: sha512-rcbDZOfXAgGEJeJ30aWCVVJvxV9ooevb/m1/SFblO2qHs4cqTk178gx7T/vdslf57EA4lTofrwsq5K8rxK9g+g==} + + '@redocly/cli@2.14.9': + resolution: {integrity: sha512-eueSFzydep5jwOHxlYW6rFOSRP1b5vY7gVOzQBd2/I6XQJnG31hgrDACqx/heD4vv3hhdpoumopz24erxLe0zQ==} engines: {node: '>=22.12.0 || >=20.19.0 <21.0.0', npm: '>=10'} hasBin: true '@redocly/config@0.22.2': resolution: {integrity: sha512-roRDai8/zr2S9YfmzUfNhKjOF0NdcOIqF7bhf4MVC5UxpjIysDjyudvlAiVbpPHp3eDRWbdzUgtkK1a7YiDNyQ==} - '@redocly/config@0.41.1': - resolution: {integrity: sha512-LcMCzFbP/sqkCLSG3YswmeScP4fM5SjDCQizwa+psZ0PhYrKOMF7azZ6ZBkWs115uv5RfOk+jYAWLdKkZGGGXg==} + '@redocly/config@0.41.2': + resolution: {integrity: sha512-G6muhdTKcEV2TECBFzuT905p4a27OgUtwBqRVnMx1JebO6i8zlm6bPB2H3fD1Hl+MiUpk7Jx2kwGmLVgpz5nIg==} '@redocly/openapi-core@1.34.5': resolution: {integrity: sha512-0EbE8LRbkogtcCXU7liAyC00n9uNG9hJ+eMyHFdUsy9lB/WGqnEBgwjA9q2cyzAVcdTkQqTBBU1XePNnN3OijA==} engines: {node: '>=18.17.0', npm: '>=9.5.0'} - '@redocly/openapi-core@2.14.4': - resolution: {integrity: sha512-FqYf8pBXrZlbhjgcqEpgWrYk3E5j04I4nx0Pn2rMMlDe9S8N9T6axemJGHC6HvrzVJrTWLsUIsV6ndpBICnR2g==} + '@redocly/openapi-core@2.14.9': + resolution: {integrity: sha512-PIWVxm7Os3U276XMhLIh+qftaA6TxVwOuoyDaobGSkd609fp25tp57G2k/uzzKjrhUD4g2QzeJ4lfCoaBgEjhg==} engines: {node: '>=22.12.0 || >=20.19.0 <21.0.0', npm: '>=10'} - '@redocly/respect-core@2.14.4': - resolution: {integrity: sha512-b7AZVVo6XXU5DFSUFv0m0ZmaLbRGILUMEV+ZlDKzIYRd9SDUNOze6DtFNPQjz+ePJnvzu1s55ZluQXPyF0y4fQ==} + '@redocly/respect-core@2.14.9': + resolution: {integrity: sha512-kP3rylB04NZV52IoEa1t8ObkSxpRZy3zpkRAxYOiLtggRETOnLdcDbYep4ipbk6t0suZamznOLOgiAeBYHo/ig==} engines: {node: '>=22.12.0 || >=20.19.0 <21.0.0', npm: '>=10'} '@replit/codemirror-indentation-markers@6.5.3': @@ -4645,11 +4910,13 @@ packages: resolution: {integrity: sha512-hzBmOtYdC4369XxN2SNJ3oBlXKWNif3ieWBT+oh/qvAeox4fQR0ngqyh+kIGOufBnP5Zc2rqJf9LzIbJw3Tx/Q==} cpu: [arm64] os: [linux] + libc: [glibc] '@rolldown/binding-linux-arm64-musl@1.0.0-beta.29': resolution: {integrity: sha512-6B35GmFJJ4RX88OgubrnUmuJBUgRh6/OTXIpy8m/VUnoc683lufIPo26HW/0LxLgxp2GM7KHr3LOULcVxbqq4Q==} cpu: [arm64] os: [linux] + libc: [musl] '@rolldown/binding-linux-arm64-ohos@1.0.0-beta.29': resolution: {integrity: sha512-z3ru8fUCunQM8q9I7RbDVMT5cxzxVVVBNNKM5/qAQQrdObd1u8g0LR5z0yLtaFWzybwLVdPtJDRcXtLm5tOBFA==} @@ -4660,11 +4927,13 @@ packages: resolution: {integrity: sha512-n6fs4L7j99MIiI6vKhQDdyScv4/uMAPtIMkB0zGbUX8MKWT1osym1hvWVdlENjnS/Phf0zzhjyOgoFDzdhI1cQ==} cpu: [x64] os: [linux] + libc: [glibc] '@rolldown/binding-linux-x64-musl@1.0.0-beta.29': resolution: {integrity: sha512-C5hcJgtDN4rp6/WsPTQSDVUWrdnIC//ynMGcUIh1O0anm9KnSy47zKQ5D9EqtlEKvO+2PPqmyUVJ2DTq18nlVA==} cpu: [x64] os: [linux] + libc: [musl] '@rolldown/binding-wasm32-wasi@1.0.0-beta.29': resolution: {integrity: sha512-lMN1IBItdZFO182Sdus9oVuNDqyIymn/bsR5KwgeGaiqLsrmpQHBSLwkS/nKJO1nzYlpGDRugFSpnrSJ5ZmihQ==} @@ -4804,56 +5073,67 @@ packages: resolution: {integrity: sha512-aL6hRwu0k7MTUESgkg7QHY6CoqPgr6gdQXRJI1/VbFlUMwsSzPGSR7sG5d+MCbYnJmJwThc2ol3nixj1fvI/zQ==} cpu: [arm] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.52.0': resolution: {integrity: sha512-BTs0M5s1EJejgIBJhCeiFo7GZZ2IXWkFGcyZhxX4+8usnIo5Mti57108vjXFIQmmJaRyDwmV59Tw64Ap1dkwMw==} cpu: [arm] os: [linux] + libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.52.0': resolution: {integrity: sha512-uj672IVOU9m08DBGvoPKPi/J8jlVgjh12C9GmjjBxCTQc3XtVmRkRKyeHSmIKQpvJ7fIm1EJieBUcnGSzDVFyw==} cpu: [arm64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.52.0': resolution: {integrity: sha512-/+IVbeDMDCtB/HP/wiWsSzduD10SEGzIZX2945KSgZRNi4TSkjHqRJtNTVtVb8IRwhJ65ssI56krlLik+zFWkw==} cpu: [arm64] os: [linux] + libc: [musl] '@rollup/rollup-linux-loong64-gnu@4.52.0': resolution: {integrity: sha512-U1vVzvSWtSMWKKrGoROPBXMh3Vwn93TA9V35PldokHGqiUbF6erSzox/5qrSMKp6SzakvyjcPiVF8yB1xKr9Pg==} cpu: [loong64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-ppc64-gnu@4.52.0': resolution: {integrity: sha512-X/4WfuBAdQRH8cK3DYl8zC00XEE6aM472W+QCycpQJeLWVnHfkv7RyBFVaTqNUMsTgIX8ihMjCvFF9OUgeABzw==} cpu: [ppc64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-gnu@4.52.0': resolution: {integrity: sha512-xIRYc58HfWDBZoLmWfWXg2Sq8VCa2iJ32B7mqfWnkx5mekekl0tMe7FHpY8I72RXEcUkaWawRvl3qA55og+cwQ==} cpu: [riscv64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-musl@4.52.0': resolution: {integrity: sha512-mbsoUey05WJIOz8U1WzNdf+6UMYGwE3fZZnQqsM22FZ3wh1N887HT6jAOjXs6CNEK3Ntu2OBsyQDXfIjouI4dw==} cpu: [riscv64] os: [linux] + libc: [musl] '@rollup/rollup-linux-s390x-gnu@4.52.0': resolution: {integrity: sha512-qP6aP970bucEi5KKKR4AuPFd8aTx9EF6BvutvYxmZuWLJHmnq4LvBfp0U+yFDMGwJ+AIJEH5sIP+SNypauMWzg==} cpu: [s390x] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.52.0': resolution: {integrity: sha512-nmSVN+F2i1yKZ7rJNKO3G7ZzmxJgoQBQZ/6c4MuS553Grmr7WqR7LLDcYG53Z2m9409z3JLt4sCOhLdbKQ3HmA==} cpu: [x64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-musl@4.52.0': resolution: {integrity: sha512-2d0qRo33G6TfQVjaMR71P+yJVGODrt5V6+T0BDYH4EMfGgdC/2HWDVjSSFw888GSzAZUwuska3+zxNUCDco6rQ==} cpu: [x64] os: [linux] + libc: [musl] '@rollup/rollup-openharmony-arm64@4.52.0': resolution: {integrity: sha512-A1JalX4MOaFAAyGgpO7XP5khquv/7xKzLIyLmhNrbiCxWpMlnsTYr8dnsWM7sEeotNmxvSOEL7F65j0HXFcFsw==} @@ -4957,24 +5237,24 @@ packages: resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} - '@smithy/abort-controller@4.2.5': - resolution: {integrity: sha512-j7HwVkBw68YW8UmFRcjZOmssE77Rvk0GWAIN1oFBhsaovQmZWYCIcGa9/pwRB0ExI8Sk9MWNALTjftjHZea7VA==} - engines: {node: '>=18.0.0'} + '@sindresorhus/merge-streams@4.0.0': + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} + engines: {node: '>=18'} - '@smithy/abort-controller@4.2.7': - resolution: {integrity: sha512-rzMY6CaKx2qxrbYbqjXWS0plqEy7LOdKHS0bg4ixJ6aoGDPNUcLWk/FRNuCILh7GKLG9TFUXYYeQQldMBBwuyw==} + '@smithy/abort-controller@4.2.8': + resolution: {integrity: sha512-peuVfkYHAmS5ybKxWcfraK7WBBP0J+rkfUcbHJJKQ4ir3UAUNQI+Y4Vt/PqSzGqgloJ5O1dk7+WzNL8wcCSXbw==} engines: {node: '>=18.0.0'} '@smithy/config-resolver@4.1.4': resolution: {integrity: sha512-prmU+rDddxHOH0oNcwemL+SwnzcG65sBF2yXRO7aeXIn/xTlq2pX7JLVbkBnVLowHLg4/OL4+jBmv9hVrVGS+w==} engines: {node: '>=18.0.0'} - '@smithy/core@3.20.0': - resolution: {integrity: sha512-WsSHCPq/neD5G/MkK4csLI5Y5Pkd9c1NMfpYEKeghSGaD4Ja1qLIohRQf2D5c1Uy5aXp76DeKHkzWZ9KAlHroQ==} + '@smithy/core@3.21.0': + resolution: {integrity: sha512-bg2TfzgsERyETAxc/Ims/eJX8eAnIeTi4r4LHpMpfF/2NyO6RsWis0rjKcCPaGksljmOb23BZRiCeT/3NvwkXw==} engines: {node: '>=18.0.0'} - '@smithy/core@3.20.2': - resolution: {integrity: sha512-nc99TseyTwL1bg+T21cyEA5oItNy1XN4aUeyOlXJnvyRW5VSK1oRKRoSM/Iq0KFPuqZMxjBemSZHZCOZbSyBMw==} + '@smithy/core@3.21.1': + resolution: {integrity: sha512-NUH8R4O6FkN8HKMojzbGg/5pNjsfTjlMmeFclyPfPaXXUrbr5TzhWgbf7t92wfrpCHRgpjyz7ffASIS3wX28aA==} engines: {node: '>=18.0.0'} '@smithy/credential-provider-imds@4.0.6': @@ -5001,12 +5281,8 @@ packages: resolution: {integrity: sha512-UeJpOmLGhq1SLox79QWw/0n2PFX+oPRE1ZyRMxPIaFEfCqWaqpB7BU9C8kpPOGEhLF7AwEqfFbtwNxGy4ReENA==} engines: {node: '>=18.0.0'} - '@smithy/fetch-http-handler@5.3.6': - resolution: {integrity: sha512-3+RG3EA6BBJ/ofZUeTFJA7mHfSYrZtQIrDP9dI8Lf7X6Jbos2jptuLrAAteDiFVrmbEmLSuRG/bUKzfAXk7dhg==} - engines: {node: '>=18.0.0'} - - '@smithy/fetch-http-handler@5.3.8': - resolution: {integrity: sha512-h/Fi+o7mti4n8wx1SR6UHWLaakwHRx29sizvp8OOm7iqwKGFneT06GCSFhml6Bha5BT6ot5pj3CYZnCHhGC2Rg==} + '@smithy/fetch-http-handler@5.3.9': + resolution: {integrity: sha512-I4UhmcTYXBrct03rwzQX1Y/iqQlzVQaPxWjCjula++5EmWq9YGBrx6bbGqluGc1f0XEfhSkiY4jhLgbsJUMKRA==} engines: {node: '>=18.0.0'} '@smithy/hash-node@4.0.4': @@ -5029,96 +5305,76 @@ packages: resolution: {integrity: sha512-F7gDyfI2BB1Kc+4M6rpuOLne5LOcEknH1n6UQB69qv+HucXBR1rkzXBnQTB2q46sFy1PM/zuSJOB532yc8bg3w==} engines: {node: '>=18.0.0'} - '@smithy/middleware-endpoint@4.4.1': - resolution: {integrity: sha512-gpLspUAoe6f1M6H0u4cVuFzxZBrsGZmjx2O9SigurTx4PbntYa4AJ+o0G0oGm1L2oSX6oBhcGHwrfJHup2JnJg==} + '@smithy/middleware-endpoint@4.4.10': + resolution: {integrity: sha512-kwWpNltpxrvPabnjEFvwSmA+66l6s2ReCvgVSzW/z92LU4T28fTdgZ18IdYRYOrisu2NMQ0jUndRScbO65A/zg==} engines: {node: '>=18.0.0'} - '@smithy/middleware-endpoint@4.4.3': - resolution: {integrity: sha512-Zb8R35hjBhp1oFhiaAZ9QhClpPHdEDmNDC2UrrB2fqV0oNDUUPH12ovZHB5xi/Rd+pg/BJHOR1q+SfsieSKPQg==} + '@smithy/middleware-endpoint@4.4.11': + resolution: {integrity: sha512-/WqsrycweGGfb9sSzME4CrsuayjJF6BueBmkKlcbeU5q18OhxRrvvKlmfw3tpDsK5ilx2XUJvoukwxHB0nHs/Q==} engines: {node: '>=18.0.0'} - '@smithy/middleware-retry@4.4.19': - resolution: {integrity: sha512-QtisFIjIw2tjMm/ESatjWFVIQb5Xd093z8xhxq/SijLg7Mgo2C2wod47Ib/AHpBLFhwYXPzd7Hp2+JVXfeZyMQ==} + '@smithy/middleware-retry@4.4.27': + resolution: {integrity: sha512-xFUYCGRVsfgiN5EjsJJSzih9+yjStgMTCLANPlf0LVQkPDYCe0hz97qbdTZosFOiYlGBlHYityGRxrQ/hxhfVQ==} engines: {node: '>=18.0.0'} - '@smithy/middleware-serde@4.2.6': - resolution: {integrity: sha512-VkLoE/z7e2g8pirwisLz8XJWedUSY8my/qrp81VmAdyrhi94T+riBfwP+AOEEFR9rFTSonC/5D2eWNmFabHyGQ==} + '@smithy/middleware-serde@4.2.9': + resolution: {integrity: sha512-eMNiej0u/snzDvlqRGSN3Vl0ESn3838+nKyVfF2FKNXFbi4SERYT6PR392D39iczngbqqGG0Jl1DlCnp7tBbXQ==} engines: {node: '>=18.0.0'} - '@smithy/middleware-serde@4.2.8': - resolution: {integrity: sha512-8rDGYen5m5+NV9eHv9ry0sqm2gI6W7mc1VSFMtn6Igo25S507/HaOX9LTHAS2/J32VXD0xSzrY0H5FJtOMS4/w==} + '@smithy/middleware-stack@4.2.8': + resolution: {integrity: sha512-w6LCfOviTYQjBctOKSwy6A8FIkQy7ICvglrZFl6Bw4FmcQ1Z420fUtIhxaUZZshRe0VCq4kvDiPiXrPZAe8oRA==} engines: {node: '>=18.0.0'} - '@smithy/middleware-stack@4.2.7': - resolution: {integrity: sha512-bsOT0rJ+HHlZd9crHoS37mt8qRRN/h9jRve1SXUhVbkRzu0QaNYZp1i1jha4n098tsvROjcwfLlfvcFuJSXEsw==} + '@smithy/node-config-provider@4.3.8': + resolution: {integrity: sha512-aFP1ai4lrbVlWjfpAfRSL8KFcnJQYfTl5QxLJXY32vghJrDuFyPZ6LtUL+JEGYiFRG1PfPLHLoxj107ulncLIg==} engines: {node: '>=18.0.0'} - '@smithy/node-config-provider@4.3.7': - resolution: {integrity: sha512-7r58wq8sdOcrwWe+klL9y3bc4GW1gnlfnFOuL7CXa7UzfhzhxKuzNdtqgzmTV+53lEp9NXh5hY/S4UgjLOzPfw==} + '@smithy/node-http-handler@4.4.8': + resolution: {integrity: sha512-q9u+MSbJVIJ1QmJ4+1u+cERXkrhuILCBDsJUBAW1MPE6sFonbCNaegFuwW9ll8kh5UdyY3jOkoOGlc7BesoLpg==} engines: {node: '>=18.0.0'} - '@smithy/node-http-handler@4.4.5': - resolution: {integrity: sha512-CMnzM9R2WqlqXQGtIlsHMEZfXKJVTIrqCNoSd/QpAyp+Dw0a1Vps13l6ma1fH8g7zSPNsA59B/kWgeylFuA/lw==} + '@smithy/property-provider@4.2.8': + resolution: {integrity: sha512-EtCTbyIveCKeOXDSWSdze3k612yCPq1YbXsbqX3UHhkOSW8zKsM9NOJG5gTIya0vbY2DIaieG8pKo1rITHYL0w==} engines: {node: '>=18.0.0'} - '@smithy/node-http-handler@4.4.7': - resolution: {integrity: sha512-NELpdmBOO6EpZtWgQiHjoShs1kmweaiNuETUpuup+cmm/xJYjT4eUjfhrXRP4jCOaAsS3c3yPsP3B+K+/fyPCQ==} + '@smithy/protocol-http@5.3.8': + resolution: {integrity: sha512-QNINVDhxpZ5QnP3aviNHQFlRogQZDfYlCkQT+7tJnErPQbDhysondEjhikuANxgMsZrkGeiAxXy4jguEGsDrWQ==} engines: {node: '>=18.0.0'} - '@smithy/property-provider@4.2.7': - resolution: {integrity: sha512-jmNYKe9MGGPoSl/D7JDDs1C8b3dC8f/w78LbaVfoTtWy4xAd5dfjaFG9c9PWPihY4ggMQNQSMtzU77CNgAJwmA==} + '@smithy/querystring-builder@4.2.8': + resolution: {integrity: sha512-Xr83r31+DrE8CP3MqPgMJl+pQlLLmOfiEUnoyAlGzzJIrEsbKsPy1hqH0qySaQm4oWrCBlUqRt+idEgunKB+iw==} engines: {node: '>=18.0.0'} - '@smithy/protocol-http@5.3.7': - resolution: {integrity: sha512-1r07pb994I20dD/c2seaZhoCuNYm0rWrvBxhCQ70brNh11M5Ml2ew6qJVo0lclB3jMIXirD4s2XRXRe7QEi0xA==} + '@smithy/querystring-parser@4.2.8': + resolution: {integrity: sha512-vUurovluVy50CUlazOiXkPq40KGvGWSdmusa3130MwrR1UNnNgKAlj58wlOe61XSHRpUfIIh6cE0zZ8mzKaDPA==} engines: {node: '>=18.0.0'} - '@smithy/querystring-builder@4.2.5': - resolution: {integrity: sha512-y98otMI1saoajeik2kLfGyRp11e5U/iJYH/wLCh3aTV/XutbGT9nziKGkgCaMD1ghK7p6htHMm6b6scl9JRUWg==} + '@smithy/service-error-classification@4.2.8': + resolution: {integrity: sha512-mZ5xddodpJhEt3RkCjbmUQuXUOaPNTkbMGR0bcS8FE0bJDLMZlhmpgrvPNCYglVw5rsYTpSnv19womw9WWXKQQ==} engines: {node: '>=18.0.0'} - '@smithy/querystring-builder@4.2.7': - resolution: {integrity: sha512-eKONSywHZxK4tBxe2lXEysh8wbBdvDWiA+RIuaxZSgCMmA0zMgoDpGLJhnyj+c0leOQprVnXOmcB4m+W9Rw7sg==} - engines: {node: '>=18.0.0'} - - '@smithy/querystring-parser@4.2.5': - resolution: {integrity: sha512-031WCTdPYgiQRYNPXznHXof2YM0GwL6SeaSyTH/P72M1Vz73TvCNH2Nq8Iu2IEPq9QP2yx0/nrw5YmSeAi/AjQ==} - engines: {node: '>=18.0.0'} - - '@smithy/querystring-parser@4.2.7': - resolution: {integrity: sha512-3X5ZvzUHmlSTHAXFlswrS6EGt8fMSIxX/c3Rm1Pni3+wYWB6cjGocmRIoqcQF9nU5OgGmL0u7l9m44tSUpfj9w==} - engines: {node: '>=18.0.0'} - - '@smithy/service-error-classification@4.2.7': - resolution: {integrity: sha512-YB7oCbukqEb2Dlh3340/8g8vNGbs/QsNNRms+gv3N2AtZz9/1vSBx6/6tpwQpZMEJFs7Uq8h4mmOn48ZZ72MkA==} - engines: {node: '>=18.0.0'} - - '@smithy/shared-ini-file-loader@4.4.2': - resolution: {integrity: sha512-M7iUUff/KwfNunmrgtqBfvZSzh3bmFgv/j/t1Y1dQ+8dNo34br1cqVEqy6v0mYEgi0DkGO7Xig0AnuOaEGVlcg==} + '@smithy/shared-ini-file-loader@4.4.3': + resolution: {integrity: sha512-DfQjxXQnzC5UbCUPeC3Ie8u+rIWZTvuDPAGU/BxzrOGhRvgUanaP68kDZA+jaT3ZI+djOf+4dERGlm9mWfFDrg==} engines: {node: '>=18.0.0'} '@smithy/signature-v4@5.1.2': resolution: {integrity: sha512-d3+U/VpX7a60seHziWnVZOHuEgJlclufjkS6zhXvxcJgkJq4UWdH5eOBLzHRMx6gXjsdT9h6lfpmLzbrdupHgQ==} engines: {node: '>=18.0.0'} - '@smithy/smithy-client@4.10.2': - resolution: {integrity: sha512-D5z79xQWpgrGpAHb054Fn2CCTQZpog7JELbVQ6XAvXs5MNKWf28U9gzSBlJkOyMl9LA1TZEjRtwvGXfP0Sl90g==} + '@smithy/smithy-client@4.10.11': + resolution: {integrity: sha512-6o804SCyHGMXAb5mFJ+iTy9kVKv7F91a9szN0J+9X6p8A0NrdpUxdaC57aye2ipQkP2C4IAqETEpGZ0Zj77Haw==} engines: {node: '>=18.0.0'} - '@smithy/smithy-client@4.10.4': - resolution: {integrity: sha512-rHig+BWjhjlHlah67ryaW9DECYixiJo5pQCTEwsJyarRBAwHMMC3iYz5MXXAHXe64ZAMn1NhTUSTFIu1T6n6jg==} + '@smithy/smithy-client@4.10.12': + resolution: {integrity: sha512-VKO/HKoQ5OrSHW6AJUmEnUKeXI1/5LfCwO9cwyao7CmLvGnZeM1i36Lyful3LK1XU7HwTVieTqO1y2C/6t3qtA==} engines: {node: '>=18.0.0'} - '@smithy/types@4.11.0': - resolution: {integrity: sha512-mlrmL0DRDVe3mNrjTcVcZEgkFmufITfUAPBEA+AHYiIeYyJebso/He1qLbP3PssRe22KUzLRpQSdBPbXdgZ2VA==} + '@smithy/types@4.12.0': + resolution: {integrity: sha512-9YcuJVTOBDjg9LWo23Qp0lTQ3D7fQsQtwle0jVfpbUHy9qBwCEgKuVH4FqFB3VYu0nwdHKiEMA+oXz7oV8X1kw==} engines: {node: '>=18.0.0'} - '@smithy/url-parser@4.2.5': - resolution: {integrity: sha512-VaxMGsilqFnK1CeBX+LXnSuaMx4sTL/6znSZh2829txWieazdVxr54HmiyTsIbpOTLcf5nYpq9lpzmwRdxj6rQ==} - engines: {node: '>=18.0.0'} - - '@smithy/url-parser@4.2.7': - resolution: {integrity: sha512-/RLtVsRV4uY3qPWhBDsjwahAtt3x2IsMGnP5W1b2VZIe+qgCqkLxI1UOHDZp1Q1QSOrdOR32MF3Ph2JfWT1VHg==} + '@smithy/url-parser@4.2.8': + resolution: {integrity: sha512-NQho9U68TGMEU639YkXnVMV3GEFFULmmaWdlu1E9qzyIePOHsoSnagTGSDv1Zi8DCNN6btxOSdgmy5E/hsZwhA==} engines: {node: '>=18.0.0'} '@smithy/util-base64@4.3.0': @@ -5161,16 +5417,16 @@ packages: resolution: {integrity: sha512-CCQBwJIvXMLKxVbO88IukazJD9a4kQ9ZN7/UMGBjBcJYvatpWk+9g870El4cB8/EJxfe+k+y0GmR9CAzkF+Nbw==} engines: {node: '>=18.0.0'} - '@smithy/util-middleware@4.2.7': - resolution: {integrity: sha512-i1IkpbOae6NvIKsEeLLM9/2q4X+M90KV3oCFgWQI4q0Qz+yUZvsr+gZPdAEAtFhWQhAHpTsJO8DRJPuwVyln+w==} + '@smithy/util-middleware@4.2.8': + resolution: {integrity: sha512-PMqfeJxLcNPMDgvPbbLl/2Vpin+luxqTGPpW3NAQVLbRrFRzTa4rNAASYeIGjRV9Ytuhzny39SpyU04EQreF+A==} engines: {node: '>=18.0.0'} - '@smithy/util-retry@4.2.7': - resolution: {integrity: sha512-SvDdsQyF5CIASa4EYVT02LukPHVzAgUA4kMAuZ97QJc2BpAqZfA4PINB8/KOoCXEw9tsuv/jQjMeaHFvxdLNGg==} + '@smithy/util-retry@4.2.8': + resolution: {integrity: sha512-CfJqwvoRY0kTGe5AkQokpURNCT1u/MkRzMTASWMPPo2hNSnKtF1D45dQl3DE2LKLr4m+PW9mCeBMJr5mCAVThg==} engines: {node: '>=18.0.0'} - '@smithy/util-stream@4.5.8': - resolution: {integrity: sha512-ZnnBhTapjM0YPGUSmOs0Mcg/Gg87k503qG4zU2v/+Js2Gu+daKOJMeqcQns8ajepY8tgzzfYxl6kQyZKml6O2w==} + '@smithy/util-stream@4.5.10': + resolution: {integrity: sha512-jbqemy51UFSZSp2y0ZmRfckmrzuKww95zT9BYMmuJ8v3altGcqjwoV1tzpOwuHaKrwQrCjIzOib499ymr2f98g==} engines: {node: '>=18.0.0'} '@smithy/util-uri-escape@4.2.0': @@ -5240,24 +5496,28 @@ packages: engines: {node: '>=10'} cpu: [arm64] os: [linux] + libc: [glibc] '@swc/core-linux-arm64-musl@1.11.29': resolution: {integrity: sha512-PwjB10BC0N+Ce7RU/L23eYch6lXFHz7r3NFavIcwDNa/AAqywfxyxh13OeRy+P0cg7NDpWEETWspXeI4Ek8otw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] + libc: [musl] '@swc/core-linux-x64-gnu@1.11.29': resolution: {integrity: sha512-i62vBVoPaVe9A3mc6gJG07n0/e7FVeAvdD9uzZTtGLiuIfVfIBta8EMquzvf+POLycSk79Z6lRhGPZPJPYiQaA==} engines: {node: '>=10'} cpu: [x64] os: [linux] + libc: [glibc] '@swc/core-linux-x64-musl@1.11.29': resolution: {integrity: sha512-YER0XU1xqFdK0hKkfSVX1YIyCvMDI7K07GIpefPvcfyNGs38AXKhb2byySDjbVxkdl4dycaxxhRyhQ2gKSlsFQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] + libc: [musl] '@swc/core-win32-arm64-msvc@1.11.29': resolution: {integrity: sha512-po+WHw+k9g6FAg5IJ+sMwtA/fIUL3zPQ4m/uJgONBATCVnDDkyW6dBA49uHNVtSEvjvhuD8DVWdFP847YTcITw==} @@ -5554,6 +5814,12 @@ packages: '@types/express@5.0.6': resolution: {integrity: sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==} + '@types/filesystem@0.0.36': + resolution: {integrity: sha512-vPDXOZuannb9FZdxgHnqSwAG/jvdGM8Wq+6N4D/d80z+D4HWH+bItqsZaVRQykAn6WEVeEkLm2oQigyHtgb0RA==} + + '@types/filewriter@0.0.33': + resolution: {integrity: sha512-xFU8ZXTw4gd358lb2jw25nxY9QAgqn2+bKKjKOYfNCzN4DKCFetK7sPtrlpg66Ywe3vWY9FNxprZawAh9wfJ3g==} + '@types/fs-extra@11.0.4': resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} @@ -5566,6 +5832,9 @@ packages: '@types/geojson@7946.0.16': resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} + '@types/har-format@1.2.16': + resolution: {integrity: sha512-fluxdy7ryD3MV6h8pTfTYpy/xQzCFC7m89nOH9y94cNqJ1mDIDPut7MnRHI3F6qRmh/cT2fUjG1MLdCNb4hE9A==} + '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} @@ -5587,6 +5856,9 @@ packages: '@types/jquery@3.5.33': resolution: {integrity: sha512-SeyVJXlCZpEki5F0ghuYe+L+PprQta6nRZqhONt9F13dWBtR/ftoaIbdRQ7cis7womE+X2LKhsDdDtkkDhJS6g==} + '@types/js-yaml@4.0.9': + resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} + '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -5632,6 +5904,9 @@ packages: '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + '@types/minimatch@3.0.5': + resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} + '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} @@ -5665,8 +5940,8 @@ packages: '@types/node@22.19.1': resolution: {integrity: sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ==} - '@types/node@24.10.7': - resolution: {integrity: sha512-+054pVMzVTmRQV8BhpGv3UyfZ2Llgl8rdpDTon+cUH9+na0ncBVXj3wTUKh14+Kiz18ziM3b4ikpP5/Pc0rQEQ==} + '@types/node@24.10.9': + resolution: {integrity: sha512-ne4A0IpG3+2ETuREInjPNhUGis1SFjv1d5asp8MzEAGtOZeTeHVDOYqOgqfhvseqg/iXty2hjBf1zAOb7RNiNw==} '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} @@ -5813,11 +6088,11 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/eslint-plugin@8.52.0': - resolution: {integrity: sha512-okqtOgqu2qmZJ5iN4TWlgfF171dZmx2FzdOv2K/ixL2LZWDStL8+JgQerI2sa8eAEfoydG9+0V96m7V+P8yE1Q==} + '@typescript-eslint/eslint-plugin@8.53.0': + resolution: {integrity: sha512-eEXsVvLPu8Z4PkFibtuFJLJOTAV/nPdgtSjkGoPpddpFk3/ym2oy97jynY6ic2m6+nc5M8SE1e9v/mHKsulcJg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.52.0 + '@typescript-eslint/parser': ^8.53.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' @@ -5828,8 +6103,8 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/parser@8.52.0': - resolution: {integrity: sha512-iIACsx8pxRnguSYhHiMn2PvhvfpopO9FXHyn1mG5txZIsAaB6F0KwbFnUQN3KCiG3Jcuad/Cao2FAs1Wp7vAyg==} + '@typescript-eslint/parser@8.53.0': + resolution: {integrity: sha512-npiaib8XzbjtzS2N4HlqPvlpxpmZ14FjSJrteZpPxGUaYPlvhzlzUZ4mZyABo0EFrOWnvyd0Xxroq//hKhtAWg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -5841,14 +6116,14 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.51.0': - resolution: {integrity: sha512-Luv/GafO07Z7HpiI7qeEW5NW8HUtZI/fo/kE0YbtQEFpJRUuR0ajcWfCE5bnMvL7QQFrmT/odMe8QZww8X2nfQ==} + '@typescript-eslint/project-service@8.52.0': + resolution: {integrity: sha512-xD0MfdSdEmeFa3OmVqonHi+Cciab96ls1UhIF/qX/O/gPu5KXD0bY9lu33jj04fjzrXHcuvjBcBC+D3SNSadaw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.52.0': - resolution: {integrity: sha512-xD0MfdSdEmeFa3OmVqonHi+Cciab96ls1UhIF/qX/O/gPu5KXD0bY9lu33jj04fjzrXHcuvjBcBC+D3SNSadaw==} + '@typescript-eslint/project-service@8.53.0': + resolution: {integrity: sha512-Bl6Gdr7NqkqIP5yP9z1JU///Nmes4Eose6L1HwpuVHwScgDPPuEWbUVhvlZmb8hy0vX9syLk5EGNL700WcBlbg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' @@ -5857,28 +6132,28 @@ packages: resolution: {integrity: sha512-tMDbLGXb1wC+McN1M6QeDx7P7c0UWO5z9CXqp7J8E+xGcJuUuevWKxuG8j41FoweS3+L41SkyKKkia16jpX7CA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.51.0': - resolution: {integrity: sha512-JhhJDVwsSx4hiOEQPeajGhCWgBMBwVkxC/Pet53EpBVs7zHHtayKefw1jtPaNRXpI9RA2uocdmpdfE7T+NrizA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.52.0': resolution: {integrity: sha512-ixxqmmCcc1Nf8S0mS0TkJ/3LKcC8mruYJPOU6Ia2F/zUUR4pApW7LzrpU3JmtePbRUTes9bEqRc1Gg4iyRnDzA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.53.0': + resolution: {integrity: sha512-kWNj3l01eOGSdVBnfAF2K1BTh06WS0Yet6JUgb9Cmkqaz3Jlu0fdVUjj9UI8gPidBWSMqDIglmEXifSgDT/D0g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/tsconfig-utils@8.46.4': resolution: {integrity: sha512-+/XqaZPIAk6Cjg7NWgSGe27X4zMGqrFqZ8atJsX3CWxH/jACqWnrWI68h7nHQld0y+k9eTTjb9r+KU4twLoo9A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/tsconfig-utils@8.51.0': - resolution: {integrity: sha512-Qi5bSy/vuHeWyir2C8u/uqGMIlIDu8fuiYWv48ZGlZ/k+PRPHtaAu7erpc7p5bzw2WNNSniuxoMSO4Ar6V9OXw==} + '@typescript-eslint/tsconfig-utils@8.52.0': + resolution: {integrity: sha512-jl+8fzr/SdzdxWJznq5nvoI7qn2tNYV/ZBAEcaFMVXf+K6jmXvAFrgo/+5rxgnL152f//pDEAYAhhBAZGrVfwg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/tsconfig-utils@8.52.0': - resolution: {integrity: sha512-jl+8fzr/SdzdxWJznq5nvoI7qn2tNYV/ZBAEcaFMVXf+K6jmXvAFrgo/+5rxgnL152f//pDEAYAhhBAZGrVfwg==} + '@typescript-eslint/tsconfig-utils@8.53.0': + resolution: {integrity: sha512-K6Sc0R5GIG6dNoPdOooQ+KtvT5KCKAvTcY8h2rIuul19vxH5OTQk7ArKkd4yTzkw66WnNY0kPPzzcmWA+XRmiA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' @@ -5890,8 +6165,8 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/type-utils@8.52.0': - resolution: {integrity: sha512-JD3wKBRWglYRQkAtsyGz1AewDu3mTc7NtRjR/ceTyGoPqmdS5oCdx/oZMWD5Zuqmo6/MpsYs0wp6axNt88/2EQ==} + '@typescript-eslint/type-utils@8.53.0': + resolution: {integrity: sha512-BBAUhlx7g4SmcLhn8cnbxoxtmS7hcq39xKCgiutL3oNx1TaIp+cny51s8ewnKMpVUKQUGb41RAUWZ9kxYdovuw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -5901,41 +6176,34 @@ packages: resolution: {integrity: sha512-USjyxm3gQEePdUwJBFjjGNG18xY9A2grDVGuk7/9AkjIF1L+ZrVnwR5VAU5JXtUnBL/Nwt3H31KlRDaksnM7/w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.51.0': - resolution: {integrity: sha512-TizAvWYFM6sSscmEakjY3sPqGwxZRSywSsPEiuZF6d5GmGD9Gvlsv0f6N8FvAAA0CD06l3rIcWNbsN1e5F/9Ag==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.52.0': resolution: {integrity: sha512-LWQV1V4q9V4cT4H5JCIx3481iIFxH1UkVk+ZkGGAV1ZGcjGI9IoFOfg3O6ywz8QqCDEp7Inlg6kovMofsNRaGg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.53.0': + resolution: {integrity: sha512-Bmh9KX31Vlxa13+PqPvt4RzKRN1XORYSLlAE+sO1i28NkisGbTtSLFVB3l7PWdHtR3E0mVMuC7JilWJ99m2HxQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@8.46.4': resolution: {integrity: sha512-7oV2qEOr1d4NWNmpXLR35LvCfOkTNymY9oyW+lUHkmCno7aOmIf/hMaydnJBUTBMRCOGZh8YjkFOc8dadEoNGA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/typescript-estree@8.51.0': - resolution: {integrity: sha512-1qNjGqFRmlq0VW5iVlcyHBbCjPB7y6SxpBkrbhNWMy/65ZoncXCEPJxkRZL8McrseNH6lFhaxCIaX+vBuFnRng==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/typescript-estree@8.52.0': resolution: {integrity: sha512-XP3LClsCc0FsTK5/frGjolyADTh3QmsLp6nKd476xNI9CsSsLnmn4f0jrzNoAulmxlmNIpeXuHYeEQv61Q6qeQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@8.46.4': - resolution: {integrity: sha512-AbSv11fklGXV6T28dp2Me04Uw90R2iJ30g2bgLz529Koehrmkbs1r7paFqr1vPCZi7hHwYxYtxfyQMRC8QaVSg==} + '@typescript-eslint/typescript-estree@8.53.0': + resolution: {integrity: sha512-pw0c0Gdo7Z4xOG987u3nJ8akL9093yEEKv8QTJ+Bhkghj1xyj8cgPaavlr9rq8h7+s6plUJ4QJYw2gCZodqmGw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@8.51.0': - resolution: {integrity: sha512-11rZYxSe0zabiKaCP2QAwRf/dnmgFgvTmeDTtZvUvXG3UuAdg/GU02NExmmIXzz3vLGgMdtrIosI84jITQOxUA==} + '@typescript-eslint/utils@8.46.4': + resolution: {integrity: sha512-AbSv11fklGXV6T28dp2Me04Uw90R2iJ30g2bgLz529Koehrmkbs1r7paFqr1vPCZi7hHwYxYtxfyQMRC8QaVSg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -5948,68 +6216,78 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/utils@8.53.0': + resolution: {integrity: sha512-XDY4mXTez3Z1iRDI5mbRhH4DFSt46oaIFsLg+Zn97+sYrXACziXSQcSelMybnVZ5pa1P6xYkPr5cMJyunM1ZDA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/visitor-keys@8.46.4': resolution: {integrity: sha512-/++5CYLQqsO9HFGLI7APrxBJYo+5OCMpViuhV8q5/Qa3o5mMrF//eQHks+PXcsAVaLdn817fMuS7zqoXNNZGaw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.51.0': - resolution: {integrity: sha512-mM/JRQOzhVN1ykejrvwnBRV3+7yTKK8tVANVN3o1O0t0v7o+jqdVu9crPy5Y9dov15TJk/FTIgoUGHrTOVL3Zg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.52.0': resolution: {integrity: sha512-ink3/Zofus34nmBsPjow63FP5M7IGff0RKAgqR6+CFpdk22M7aLwC9gOcLGYqr7MczLPzZVERW9hRog3O4n1sQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.53.0': + resolution: {integrity: sha512-LZ2NqIHFhvFwxG0qZeLL9DvdNAHPGCY5dIRwBhyYeU+LfLhcStE1ImjsuTG/WaVh3XysGaeLW8Rqq7cGkPCFvw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - '@uploadcare/cname-prefix@6.17.0': - resolution: {integrity: sha512-UqomH1TtegTmltLhwnKTN4fPNzUlXx6LQZj0YNIkiA726ih+ao6oPS9ER1rvz/XX4e5EOl7/aj+AHHIscLPncQ==} + '@uploadcare/cname-prefix@6.18.3': + resolution: {integrity: sha512-LVmmjEEkGyvnHefhfXknfnebYTn12Unk2IqkYhfk1qV5LQfMvOT6Led6+Usw0rr1XME25h9fZv/GmF82rXkQOA==} - '@uploadcare/file-uploader@1.19.4': - resolution: {integrity: sha512-xCnXtQyvoujHEGEjZNNGiF/94PZ519nkp+hWovvn/w1WIRSwJ2finD214C54X50J4Yefw2f9KmkT8d8cqXnjtA==} + '@uploadcare/file-uploader@1.24.5': + resolution: {integrity: sha512-iPIZBydZtVBkjd3uZNUyLk6fo23Lh9I7Rmx5W6QjKrKBY6FEUuKDDM42EcnXvoFRZHSeobe7KC4oOTGQDEWbUQ==} - '@uploadcare/image-shrink@6.17.0': - resolution: {integrity: sha512-9ZIQR2Uad7BeSH0hqo7W/VenHCwnEqRjFpN6SGynTzG6BxoH/HK8NkuMKdJ8URFisW7dZSXpVMZrCL5kf7FfKA==} + '@uploadcare/image-shrink@6.18.3': + resolution: {integrity: sha512-w+Hao5vXpPFiJc5Z0IbajEo8SeF08BgwdgbFmRqHED0zsev5TCwFj5WSa/G4Jx3CPXu7JvFwbpiSMqpEciFjSA==} + + '@uploadcare/quality-insights@6.18.3': + resolution: {integrity: sha512-uJh3zFLOkR3fe/nUnxdu+xJpqY3GW8Y3tj3t7U41jhoZ1k5BH/U9M93gSAdmkxnTByNIms6/WtLI7X5jyXAy6Q==} '@uploadcare/upload-client@6.14.3': resolution: {integrity: sha512-uZDXb2IuFchpNQdHDxDowKgGPd+9UOy0PIykWEPedMbbBYxh7/UUQ+G53E4KhKe7cV7BV4zoFxUrNx+Ij0lyPw==} engines: {node: '>=16'} - '@uploadcare/upload-client@6.17.0': - resolution: {integrity: sha512-ir6xo6HLy3TVn4lVJ+9fOOcq8vvgMmcXoSP/mM+l1CTKKJmd0hzXqNkZ1CYyz7PiRhLPUC6fprmUuA7rnVC87g==} + '@uploadcare/upload-client@6.18.3': + resolution: {integrity: sha512-kUDV5J+DXUl1SnO0IccRseXOK6sZolMHBHHNH+UNVoA/Ubr3r/bOFw4QTcImdn6PFUmlt9MvYvQfCHswuGvJNA==} engines: {node: '>=16'} - '@vitest/browser-webdriverio@4.0.16': - resolution: {integrity: sha512-DE0dCXQMtqMJJ0NruA0LTawHa4kPnNGfWYQh1r20QeD5oIDNbggpL4/jy58Wn8OcruaEGEHTKEWdaNOhdHefsg==} + '@vitest/browser-webdriverio@4.0.18': + resolution: {integrity: sha512-dKn4kBq6gFk+wT5DMjPTvivXptz9MaN7CONoP+bA0bZxWofNsZtf9R4oPwQakuB95WBQ3j5kZ/9SXvB9i+XYQw==} peerDependencies: - vitest: 4.0.16 + vitest: 4.0.18 webdriverio: '*' - '@vitest/browser@4.0.16': - resolution: {integrity: sha512-t4toy8X/YTnjYEPoY0pbDBg3EvDPg1elCDrfc+VupPHwoN/5/FNQ8Z+xBYIaEnOE2vVEyKwqYBzZ9h9rJtZVcg==} + '@vitest/browser@4.0.18': + resolution: {integrity: sha512-gVQqh7paBz3gC+ZdcCmNSWJMk70IUjDeVqi+5m5vYpEHsIwRgw3Y545jljtajhkekIpIp5Gg8oK7bctgY0E2Ng==} peerDependencies: - vitest: 4.0.16 + vitest: 4.0.18 - '@vitest/coverage-istanbul@4.0.16': - resolution: {integrity: sha512-CLyueXIHewDzmov97rGW/RNtg++UBwdtY/F9PZbEDvHlX16JWVyolg7OeGXZS3xkuuoaZMheef7luDFCoC6vsQ==} + '@vitest/coverage-istanbul@4.0.18': + resolution: {integrity: sha512-0OhjP30owEDihYTZGWuq20rNtV1RjjJs1Mv4MaZIKcFBmiLUXX7HJLX4fU7wE+Mrc3lQxI2HKq6WrSXi5FGuCQ==} peerDependencies: - vitest: 4.0.16 + vitest: 4.0.18 - '@vitest/coverage-v8@4.0.16': - resolution: {integrity: sha512-2rNdjEIsPRzsdu6/9Eq0AYAzYdpP6Bx9cje9tL3FE5XzXRQF1fNU9pe/1yE8fCrS0HD+fBtt6gLPh6LI57tX7A==} + '@vitest/coverage-v8@4.0.18': + resolution: {integrity: sha512-7i+N2i0+ME+2JFZhfuz7Tg/FqKtilHjGyGvoHYQ6iLV0zahbsJ9sljC9OcFcPDbhYKCet+sG8SsVqlyGvPflZg==} peerDependencies: - '@vitest/browser': 4.0.16 - vitest: 4.0.16 + '@vitest/browser': 4.0.18 + vitest: 4.0.18 peerDependenciesMeta: '@vitest/browser': optional: true - '@vitest/expect@4.0.16': - resolution: {integrity: sha512-eshqULT2It7McaJkQGLkPjPjNph+uevROGuIMJdG3V+0BSR2w9u6J9Lwu+E8cK5TETlfou8GRijhafIMhXsimA==} + '@vitest/expect@4.0.18': + resolution: {integrity: sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==} - '@vitest/mocker@4.0.16': - resolution: {integrity: sha512-yb6k4AZxJTB+q9ycAvsoxGn+j/po0UaPgajllBgt1PzoMAAmJGYFdDk0uCcRcxb3BrME34I6u8gHZTQlkqSZpg==} + '@vitest/mocker@4.0.18': + resolution: {integrity: sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==} peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0-0 @@ -6019,25 +6297,25 @@ packages: vite: optional: true - '@vitest/pretty-format@4.0.16': - resolution: {integrity: sha512-eNCYNsSty9xJKi/UdVD8Ou16alu7AYiS2fCPRs0b1OdhJiV89buAXQLpTbe+X8V9L6qrs9CqyvU7OaAopJYPsA==} + '@vitest/pretty-format@4.0.18': + resolution: {integrity: sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==} - '@vitest/runner@4.0.16': - resolution: {integrity: sha512-VWEDm5Wv9xEo80ctjORcTQRJ539EGPB3Pb9ApvVRAY1U/WkHXmmYISqU5E79uCwcW7xYUV38gwZD+RV755fu3Q==} + '@vitest/runner@4.0.18': + resolution: {integrity: sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==} - '@vitest/snapshot@4.0.16': - resolution: {integrity: sha512-sf6NcrYhYBsSYefxnry+DR8n3UV4xWZwWxYbCJUt2YdvtqzSPR7VfGrY0zsv090DAbjFZsi7ZaMi1KnSRyK1XA==} + '@vitest/snapshot@4.0.18': + resolution: {integrity: sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==} - '@vitest/spy@4.0.16': - resolution: {integrity: sha512-4jIOWjKP0ZUaEmJm00E0cOBLU+5WE0BpeNr3XN6TEF05ltro6NJqHWxXD0kA8/Zc8Nh23AT8WQxwNG+WeROupw==} + '@vitest/spy@4.0.18': + resolution: {integrity: sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==} - '@vitest/ui@4.0.16': - resolution: {integrity: sha512-rkoPH+RqWopVxDnCBE/ysIdfQ2A7j1eDmW8tCxxrR9nnFBa9jKf86VgsSAzxBd1x+ny0GC4JgiD3SNfRHv3pOg==} + '@vitest/ui@4.0.18': + resolution: {integrity: sha512-CGJ25bc8fRi8Lod/3GHSvXRKi7nBo3kxh0ApW4yCjmrWmRmlT53B5E08XRSZRliygG0aVNxLrBEqPYdz/KcCtQ==} peerDependencies: - vitest: 4.0.16 + vitest: 4.0.18 - '@vitest/utils@4.0.16': - resolution: {integrity: sha512-h8z9yYhV3e1LEfaQ3zdypIrnAg/9hguReGZoS7Gl0aBG5xgA410zBqECqmaF/+RkTggRsfnzc1XaAHA6bmUufA==} + '@vitest/utils@4.0.18': + resolution: {integrity: sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==} '@volar/language-core@2.4.13': resolution: {integrity: sha512-MnQJ7eKchJx5Oz+YdbqyFUk8BN6jasdJv31n/7r6/WwlOOv7qzvot6B66887l2ST3bUW4Mewml54euzpJWA6bg==} @@ -6071,27 +6349,27 @@ packages: '@vue/shared@3.5.14': resolution: {integrity: sha512-oXTwNxVfc9EtP1zzXAlSlgARLXNC84frFYkS0HHz0h3E4WZSP9sywqjqzGCP9Y34M8ipNmd380pVgmMuwELDyQ==} - '@wdio/config@9.23.0': - resolution: {integrity: sha512-hhtngUG2uCxYmScSEor+k22EVlsTW3ARXgke8NPVeQA4p1+GC2CvRZi4P7nmhRTZubgLrENYYsveFcYR+1UXhQ==} + '@wdio/config@9.23.2': + resolution: {integrity: sha512-19Z+AIQ1NUpr6ncTumjSthm6A7c3DbaGTp+VCdcyN+vHYOK4WsWIomSk+uSbFosYFQVGRjCaHaeGSnC8GNPGYQ==} engines: {node: '>=18.20.0'} '@wdio/logger@9.18.0': resolution: {integrity: sha512-HdzDrRs+ywAqbXGKqe1i/bLtCv47plz4TvsHFH3j729OooT5VH38ctFn5aLXgECmiAKDkmH/A6kOq2Zh5DIxww==} engines: {node: '>=18.20.0'} - '@wdio/protocols@9.16.2': - resolution: {integrity: sha512-h3k97/lzmyw5MowqceAuY3HX/wGJojXHkiPXA3WlhGPCaa2h4+GovV2nJtRvknCKsE7UHA1xB5SWeI8MzloBew==} + '@wdio/protocols@9.23.2': + resolution: {integrity: sha512-pmCYOYI2N89QCC8IaiHwaWyP0mR8T1iKkEGpoTq2XVihp7VK/lfPvieyeZT5/e28MadYLJsDQ603pbu5J1NRDg==} '@wdio/repl@9.16.2': resolution: {integrity: sha512-FLTF0VL6+o5BSTCO7yLSXocm3kUnu31zYwzdsz4n9s5YWt83sCtzGZlZpt7TaTzb3jVUfxuHNQDTb8UMkCu0lQ==} engines: {node: '>=18.20.0'} - '@wdio/types@9.20.0': - resolution: {integrity: sha512-zMmAtse2UMCSOW76mvK3OejauAdcFGuKopNRH7crI0gwKTZtvV89yXWRziz9cVXpFgfmJCjf9edxKFWdhuF5yw==} + '@wdio/types@9.23.2': + resolution: {integrity: sha512-ryfrERGsNp+aCcrTE1rFU6cbmDj8GHZ04R9k52KNt2u1a6bv3Eh5A/cUA0hXuMdEUfsc8ePLYdwQyOLFydZ0ig==} engines: {node: '>=18.20.0'} - '@wdio/utils@9.23.0': - resolution: {integrity: sha512-WhXuVSxEvPw/i34bL1aCHAOi+4g29kRkIMyBShNSxH+Shxh2G91RJYsXm4IAiPMGcC4H6G8T2VcbZ32qnGPm5Q==} + '@wdio/utils@9.23.2': + resolution: {integrity: sha512-+QfgXUWeA940AXT5l5UlrBKoHBk9GLSQE3BA+7ra1zWuFvv6SHG6M2mwplcPlOlymJMqXy8e7ZgLEoLkXuvC1Q==} engines: {node: '>=18.20.0'} '@webassemblyjs/ast@1.14.1': @@ -6142,6 +6420,26 @@ packages: '@webcomponents/webcomponentsjs@2.8.0': resolution: {integrity: sha512-loGD63sacRzOzSJgQnB9ZAhaQGkN7wl2Zuw7tsphI5Isa0irijrRo6EnJii/GgjGefIFO8AIO7UivzRhFaEk9w==} + '@webext-core/fake-browser@1.3.4': + resolution: {integrity: sha512-nZcVWr3JpwpS5E6hKpbAwAMBM/AXZShnfW0F76udW8oLd6Kv0nbW6vFS07md4Na/0ntQonk3hFnlQYGYBAlTrA==} + + '@webext-core/isolated-element@1.1.3': + resolution: {integrity: sha512-rbtnReIGdiVQb2UhK3MiECU6JqsiIo2K/luWvOdOw57Ot770Iw4KLCEPXUQMITIH5V5er2jfVK8hSWXaEOQGNQ==} + + '@webext-core/match-patterns@1.0.3': + resolution: {integrity: sha512-NY39ACqCxdKBmHgw361M9pfJma8e4AZo20w9AY+5ZjIj1W2dvXC8J31G5fjfOGbulW9w4WKpT8fPooi0mLkn9A==} + + '@wxt-dev/auto-icons@1.1.0': + resolution: {integrity: sha512-lDFZjDbrY5gDaapUuUOYTPudE88oB3Z7rTdg0N7iq2WIWga1h0bhzCJDaqNqMvPN2DCYvHFfA0cnqA12vEJjiA==} + peerDependencies: + wxt: '>=0.19.0' + + '@wxt-dev/browser@0.1.32': + resolution: {integrity: sha512-jvfSppeLzlH4sOkIvMBJoA1pKoI+U5gTkjDwMKdkTWh0P/fj+KDyze3lzo3S6372viCm8tXUKNez+VKyVz2ZDw==} + + '@wxt-dev/storage@1.2.6': + resolution: {integrity: sha512-f6AknnpJvhNHW4s0WqwSGCuZAj0fjP3EVNPBO5kB30pY+3Zt/nqZGqJN6FgBLCSkYjPJ8VL1hNX5LMVmvxQoDw==} + '@xmldom/xmldom@0.8.10': resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} engines: {node: '>=10.0.0'} @@ -6159,6 +6457,9 @@ packages: '@zumer/snapdom@2.0.1': resolution: {integrity: sha512-78/qbYl2FTv4H6qaXcNfAujfIOSzdvs83NW63VbyC9QA3sqNPfPvhn4xYMO6Gy11hXwJUEhd0z65yKiNzDwy9w==} + '@zumer/snapdom@2.0.2': + resolution: {integrity: sha512-W6quT4lMcPu8Q9O/Q6witSfc6/+xuY8C8yDoHug/+o7zYKCNE/e0I3//XsWDkyq9C0mDE0TAWF/8bwCR7x3gHQ==} + abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} deprecated: Use your platform's native atob() and btoa() methods instead @@ -6229,6 +6530,10 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + adm-zip@0.5.16: + resolution: {integrity: sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==} + engines: {node: '>=12.0'} + agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} @@ -6301,6 +6606,9 @@ packages: amator@1.1.0: resolution: {integrity: sha512-V5+aH8pe+Z3u/UG3L3pG3BaFQGXAyXHVQDroRwjPHdh08bcUEchAVsU1MCuJSCaU5o60wTK6KaE6te5memzgYw==} + ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} @@ -6398,6 +6706,10 @@ packages: resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} engines: {node: '>= 0.4'} + array-differ@4.0.0: + resolution: {integrity: sha512-Q6VPTLMsmXZ47ENG3V+wQyZS1ZxXMxFyYzA+Z/GMrJ6yIutAIEf9wTyroTzmGjNfox9/h3GdGBCVh43GVFx4Uw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} @@ -6409,6 +6721,10 @@ packages: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} + array-union@3.0.1: + resolution: {integrity: sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==} + engines: {node: '>=12'} + array.prototype.findlast@1.2.5: resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} engines: {node: '>= 0.4'} @@ -6443,8 +6759,8 @@ packages: resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} engines: {node: '>=4'} - ast-v8-to-istanbul@0.3.8: - resolution: {integrity: sha512-szgSZqUxI5T8mLKvS7WTjF9is+MVbOeLADU73IseOcrqhxr/VAvy6wfoVE39KnKzA7JRhjF5eUagNlHwvZPlKQ==} + ast-v8-to-istanbul@0.3.10: + resolution: {integrity: sha512-p4K7vMz2ZSk3wN8l5o3y2bJAoZXT3VuJI5OLTATY/01CYWumWvwkUw0SqDBnNq6IiTO3qDa1eSQDibAV8g7XOQ==} astral-regex@2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} @@ -6474,6 +6790,13 @@ packages: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} engines: {node: '>= 4.0.0'} + atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + + atomically@2.1.0: + resolution: {integrity: sha512-+gDffFXRW6sl/HCwbta7zK4uNqbPjv4YJEAdz7Vu+FLQHe77eZ4bvbJGi4hE0QPeJlMYMA3piXEr1UL3dAwx7Q==} + author-regex@1.0.0: resolution: {integrity: sha512-KbWgR8wOYRAPekEmMXrYYdc7BRyhn2Ftk7KWfMUnQ43hFdojWEFRxhhRUm3/OFEdPa1r0KAvTTg9YQK57xTe0g==} engines: {node: '>=0.8'} @@ -6489,8 +6812,8 @@ packages: resolution: {integrity: sha512-zJAaP9zxTcvTHRlejau3ZOY4V7SRpiByf3/dxx2uyKxxor19tpmpV2QRsTKikckwhaPmr2dVpxxMr7jOCYVp5g==} engines: {node: '>=6.0.0'} - axios@1.13.2: - resolution: {integrity: sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==} + axios@1.13.4: + resolution: {integrity: sha512-1wVkUaAO6WyaYtCkcYCOx12ZgpGf9Zif+qXa4n+oYzK558YryKqiL6UWwd5DqiH3VRW0GYhTZQ/vlgJrCoNQlg==} b4a@1.6.7: resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==} @@ -6516,6 +6839,10 @@ packages: balanced-match@2.0.0: resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==} + balanced-match@3.0.1: + resolution: {integrity: sha512-vjtV3hiLqYDNRoiAv0zC4QaGAMPomEoq83PRmYIofPswwZurCeWR5LByXm7SyoL0Zh5+2z0+HC7jG8gSZJUh0w==} + engines: {node: '>= 16'} + bare-events@2.7.0: resolution: {integrity: sha512-b3N5eTW1g7vXkw+0CXh/HazGTcO5KYuu/RCNaJbDMPI6LHDi+7qe8EmxKUVe1sUbY2KZOVZFyj62x0OEz9qyAA==} @@ -6584,8 +6911,8 @@ packages: peerDependencies: ajv: 4.11.8 - 8 - better-sqlite3@12.6.0: - resolution: {integrity: sha512-FXI191x+D6UPWSze5IzZjhz+i9MK9nsuHsmTX9bXVl52k06AfZ2xql0lrgIUuzsMsJ7Vgl5kIptvDgBLIV3ZSQ==} + better-sqlite3@12.6.2: + resolution: {integrity: sha512-8VYKM3MjCa9WcaSAI3hzwhmyHVlH8tiGFwf0RlTsZPWJ1I5MkzjiudCo4KC4DxOaL/53A5B1sI/IbldNFDbsKA==} engines: {node: 20.x || 22.x || 23.x || 24.x || 25.x} bezier-easing@2.1.0: @@ -6642,6 +6969,10 @@ packages: bowser@2.11.0: resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} + boxen@8.0.1: + resolution: {integrity: sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==} + engines: {node: '>=18'} + boxicons@2.1.4: resolution: {integrity: sha512-BvJNfYfnE4g9WQ7GL91fftxMOTwAleWlPFwvQJPYb/Ju7aLjlQ/Eu55AH9JLNk/OR82z+ZSq4TbKzbV/e5Rr0A==} @@ -6720,6 +7051,18 @@ packages: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} + c12@3.3.3: + resolution: {integrity: sha512-750hTRvgBy5kcMNPdh95Qo+XUBeGo8C7nsKSmedDmaQI+E0r82DwHeM6vBewDe4rGFbnxoa4V9pw+sPh5+Iz8Q==} + peerDependencies: + magicast: '*' + peerDependenciesMeta: + magicast: + optional: true + + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + cacache@15.3.0: resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} engines: {node: '>= 10'} @@ -6774,6 +7117,10 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} + camelcase@8.0.0: + resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} + engines: {node: '>=16'} + camelize@1.0.1: resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} @@ -6790,6 +7137,9 @@ packages: canvas-roundrect-polyfill@0.0.1: resolution: {integrity: sha512-yWq+R3U3jE+coOeEb3a3GgE2j/0MMiDKM/QpLb6h9ihf5fGY9UXtvK9o4vNqjWXoZz7/3EaSVU3IX53TvFFUOw==} + cash-dom@8.1.5: + resolution: {integrity: sha512-/BS05CfzyHR5xT2ksKj1sDLPaOv5rSmIwoGxNgdKwUtnIuiJ5neMxVEmZxvfyJiSjGbOMD0Lwe+9v+fszDqHew==} + ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -6834,8 +7184,8 @@ packages: resolution: {integrity: sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==} engines: {node: '>= 6'} - cheerio@1.1.2: - resolution: {integrity: sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==} + cheerio@1.2.0: + resolution: {integrity: sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg==} engines: {node: '>=20.18.1'} chevrotain-allstar@0.3.1: @@ -6866,20 +7216,35 @@ packages: resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} engines: {node: '>=18'} + chrome-launcher@1.2.0: + resolution: {integrity: sha512-JbuGuBNss258bvGil7FT4HKdC3SC2K7UAEUqiPy3ACS3Yxo3hAW6bvFpCu2HsIJLgTqxgEX6BkujvzZfLpUD0Q==} + engines: {node: '>=12.13.0'} + hasBin: true + chrome-trace-event@1.0.4: resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} - ckeditor5-collaboration@47.3.0: - resolution: {integrity: sha512-J7+6bKoMNtk+UeXEEBhOAieBf+X66rL6fGFXYMnUvo01KyqukAuRH0+pGRJn/CrJ5ulpjn77K1ddohHDooFWug==} + ci-info@4.3.1: + resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==} + engines: {node: '>=8'} - ckeditor5-premium-features@47.3.0: - resolution: {integrity: sha512-rI0OA9lQZQ0csoEWJnja/vXDdXbbnYzx75vRZYuTIl+czKM6be+nZValyYJym68SkTR6d0Z902G1zeXg1SFG9A==} + citty@0.1.6: + resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} + + citty@0.2.0: + resolution: {integrity: sha512-8csy5IBFI2ex2hTVpaHN2j+LNE199AgiI7y4dMintrr8i0lQiFn+0AWMZrWdHKIgMOer65f8IThysYhoReqjWA==} + + ckeditor5-collaboration@47.4.0: + resolution: {integrity: sha512-SNwRWFy6DcU1R9wHpRvXq6YLbpMExRoGwms+JF1bKZK9afHznGOouoMPSpHNrkE27OMem6r0SlXAryUPQh4Pfg==} + + ckeditor5-premium-features@47.4.0: + resolution: {integrity: sha512-z9eRJZecNKu+D8YpCI7IttijZedhqeS6B+KyhuZrBRBtD3eqKyAUb6oiqE7EQvjwaRHrj9B5o9mtKlX51X5RPQ==} peerDependencies: - ckeditor5: 47.3.0 + ckeditor5: 47.4.0 - ckeditor5@47.3.0: - resolution: {integrity: sha512-3UDvnAi8TB/5i9flEFfOLIQAIWUoIbucvvFCqKWJqpfZy3F3k34GLEgDV/3VM6O6QV+UNHbzYaSTAl4yKVvoXg==} + ckeditor5@47.4.0: + resolution: {integrity: sha512-6RTRV2w6nhmBSLBnA0O9QzcBC/Cf74ogziaKHOK61H+PcM6aP3ltb/fNScGyy3NVw3+OzaxjbPF7NSykVmmMMw==} classnames@2.5.1: resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} @@ -6888,6 +7253,10 @@ packages: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} + cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + cli-cursor@3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} @@ -6912,6 +7281,10 @@ packages: resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + cli-truncate@4.0.0: + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} + cli-truncate@5.1.0: resolution: {integrity: sha512-7JDGG+4Zp0CsknDCedl0DYdaeOhc46QNpXi3NLQblkZpXXgA6LncLDUUyvrjSvZeF3VRQa+KiMGomazQrC1V8g==} engines: {node: '>=20'} @@ -7044,6 +7417,10 @@ packages: commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + commander@2.9.0: + resolution: {integrity: sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A==} + engines: {node: '>= 0.6.x'} + commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} @@ -7118,6 +7495,13 @@ packages: confbox@0.2.2: resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==} + config-chain@1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + + configstore@7.1.0: + resolution: {integrity: sha512-N4oog6YJWbR9kGyXvS7jEykLDXIE2C0ILYqNBZBp9iwiJpoCBWYsuAdW6PPFn6w06jjnC+3JstVvWHO4cZqvRg==} + engines: {node: '>=18'} + connect-history-api-fallback@2.0.0: resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} engines: {node: '>=0.8'} @@ -7126,6 +7510,10 @@ packages: resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} engines: {node: '>= 0.10.0'} + consola@3.4.2: + resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} + engines: {node: ^14.18.0 || >=16.10.0} + console-control-strings@1.1.0: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} @@ -7330,10 +7718,6 @@ packages: css-value@0.0.1: resolution: {integrity: sha512-FUV3xaJ63buRLgHrLQVlVgQnQdR4yqdLGaDu7g8CQcWjInDfM9plBTPI9FRfpahju1UBSaMckeb2/46ApS/V1Q==} - css-what@6.1.0: - resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} - engines: {node: '>= 6'} - css-what@6.2.2: resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} engines: {node: '>= 6'} @@ -7399,6 +7783,9 @@ packages: cssom@0.4.4: resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} + cssom@0.5.0: + resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} + cssstyle@2.3.0: resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} engines: {node: '>=8'} @@ -7623,6 +8010,9 @@ packages: de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + debounce@1.2.1: + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} + debounce@3.0.0: resolution: {integrity: sha512-64byRbF0/AirwbuHqB3/ZpMG9/nckDa6ZA0yd6UnaQNwbbemCOwvz2sL5sjXLHhZHADyiwLm0M5qMhltUUx+TA==} engines: {node: '>=20'} @@ -7719,6 +8109,10 @@ packages: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + define-lazy-prop@3.0.0: resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} engines: {node: '>=12'} @@ -7730,6 +8124,9 @@ packages: defined@1.0.1: resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + degenerator@5.0.1: resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==} engines: {node: '>= 14'} @@ -7756,6 +8153,9 @@ packages: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + destr@2.0.5: + resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==} + destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -7766,11 +8166,6 @@ packages: detect-it@3.0.7: resolution: {integrity: sha512-RxpgcdbatUX6epJE09K16iJqF7x6iEcEdoL18FR2zpBO4JhnL7aMOAUoUEyexdtbWOSfTmoDWmeD6mwRBQyRXg==} - detect-libc@1.0.3: - resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} - engines: {node: '>=0.10'} - hasBin: true - detect-libc@2.1.1: resolution: {integrity: sha512-ecqj/sy1jcK1uWrwpR67UhYrIFQ+5WlGxth34WquCbamhFA6hkkwiu37o6J5xCHdo1oixJRfVRw+ywV+Hq/0Aw==} engines: {node: '>=8'} @@ -7815,6 +8210,10 @@ packages: resolution: {integrity: sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg==} engines: {node: '>=0.3.1'} + diff@8.0.3: + resolution: {integrity: sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==} + engines: {node: '>=0.3.1'} + dir-compare@4.2.0: resolution: {integrity: sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==} @@ -7868,6 +8267,14 @@ packages: domutils@3.2.2: resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + dot-prop@9.0.0: + resolution: {integrity: sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==} + engines: {node: '>=18'} + + dotenv-expand@12.0.3: + resolution: {integrity: sha512-uc47g4b+4k/M/SeaW1y4OApx+mtLWl92l5LMPP0GNXctZqELk+YGgOPIIC5elYmUH4OuoK3JLhuRUYegeySiFA==} + engines: {node: '>=12'} + dotenv@16.4.7: resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} engines: {node: '>=12'} @@ -7912,9 +8319,9 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - ejs@3.1.10: - resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} - engines: {node: '>=0.10.0'} + ejs@4.0.1: + resolution: {integrity: sha512-krvQtxc0btwSm/nvnt1UpnaFDFVJpJ0fdckmALpCgShsr/iGYHTnJiUliZTgmzq/UxTX33TtOQVKaNigMQp/6Q==} + engines: {node: '>=0.12.18'} hasBin: true electron-debug@4.1.0: @@ -7970,8 +8377,8 @@ packages: resolution: {integrity: sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==} engines: {node: '>=8.0.0'} - electron@39.2.7: - resolution: {integrity: sha512-KU0uFS6LSTh4aOIC3miolcbizOFP7N1M46VTYVfqIgFiuA2ilfNaOHLDS9tCMvwwHRowAsvqBrh9NgMXcTOHCQ==} + electron@40.0.0: + resolution: {integrity: sha512-UyBy5yJ0/wm4gNugCtNPjvddjAknMTuXR2aCHioXicH7aKRKGDBPp4xqTEi/doVcB3R+MN3wfU9o8d/9pwgK2A==} engines: {node: '>= 12.20.55'} hasBin: true @@ -8044,6 +8451,10 @@ packages: resolution: {integrity: sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==} engines: {node: '>=0.12'} + entities@7.0.1: + resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} + engines: {node: '>=0.12'} + env-paths@2.2.1: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} @@ -8088,6 +8499,9 @@ packages: es-module-lexer@1.7.0: resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + es-module-lexer@2.0.0: + resolution: {integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==} + es-object-atoms@1.1.1: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} engines: {node: '>= 0.4'} @@ -8204,8 +8618,8 @@ packages: peerDependencies: eslint: '>=9.0.0' - eslint-plugin-playwright@2.4.1: - resolution: {integrity: sha512-rKx00OLmwrtGmA8UhOFeDu4lK1Y0i5n5VliK7DCdzc1Dh+StvCEwWajtSYqfhbHa935DoHWyS1DN95NBDGXGWg==} + eslint-plugin-playwright@2.5.1: + resolution: {integrity: sha512-q7oqVQTTfa3VXJQ8E+ln0QttPGrs/XmSO1FjOMzQYBMYF3btih4FIrhEYh34JF184GYDmq3lJ/n7CMa49OHBvA==} engines: {node: '>=16.9.0'} peerDependencies: eslint: '>=8.40.0' @@ -8362,8 +8776,8 @@ packages: peerDependencies: express: '>= 4.11' - express-session@1.18.2: - resolution: {integrity: sha512-SZjssGQC7TzTs9rpPDuUrR23GNZ9+2+IkA/+IJWmvQilTr5OSliEHGF+D9scbIpdC6yGtTI0/VhaHoVes2AN/A==} + express-session@1.19.0: + resolution: {integrity: sha512-0csaMkGq+vaiZTmSMMGkfdCOabYv192VbytFypcvI0MANrp+4i/7yEkJ0sbAEhycQjntaKGzYfjfXQyVb7BHMA==} engines: {node: '>= 0.8.0'} express@4.21.2: @@ -8377,6 +8791,9 @@ packages: exsolve@1.0.5: resolution: {integrity: sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==} + exsolve@1.0.8: + resolution: {integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==} + ext-list@2.2.2: resolution: {integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==} engines: {node: '>=0.10.0'} @@ -8420,11 +8837,15 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-redact@3.5.0: + resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} + engines: {node: '>=6'} + fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - fast-uri@3.0.6: - resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} + fast-uri@3.1.0: + resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} fast-xml-parser@4.4.1: resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} @@ -8504,6 +8925,10 @@ packages: resolution: {integrity: sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==} engines: {node: '>=8'} + filesize@11.0.13: + resolution: {integrity: sha512-mYJ/qXKvREuO0uH8LTQJ6v7GsUvVOguqxg2VTwQUkyTPXXRRWPdjuUPVqdBrJQhvci48OHlNGRnux+Slr2Rnvw==} + engines: {node: '>= 10.8.0'} + fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} @@ -8532,6 +8957,11 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} + firefox-profile@4.7.0: + resolution: {integrity: sha512-aGApEu5bfCNbA4PGUZiRJAIU6jKmghV2UVdklXAofnNtiDjqYw0czLS46W7IfFqVKgKhFB8Ao2YoNGHY4BoIMQ==} + engines: {node: '>=18'} + hasBin: true + flat-cache@4.0.1: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} @@ -8581,9 +9011,9 @@ packages: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} - form-data@4.0.4: - resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==} - engines: {node: '>= 6'} + form-data-encoder@4.1.0: + resolution: {integrity: sha512-G6NsmEW15s0Uw9XnCg+33H3ViYRyiM0hMrMhhqQOR8NFc5GhYrI+6I3u7OTw7b91J2g8rtvMBZJDbcGb2YUniw==} + engines: {node: '>= 18'} form-data@4.0.5: resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} @@ -8593,6 +9023,10 @@ packages: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} engines: {node: '>=0.4.x'} + formdata-node@6.0.3: + resolution: {integrity: sha512-8e1++BCiTzUno9v5IZ2J6bv4RU+3UKDmqWUQD0MIMVCd9AdhWkO1gw57oo1mNEX1dMq2EGI+FbWz4B92pscSQg==} + engines: {node: '>= 18'} + formdata-polyfill@4.0.10: resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} engines: {node: '>=12.20.0'} @@ -8691,6 +9125,10 @@ packages: fuzzysort@3.1.0: resolution: {integrity: sha512-sR9BNCjBg6LNgwvxlBd0sBABvQitkLzoVY9MYYROQVX/FvfJ4Mai9LsGhDgd8qYdds0bY77VzYd5iuB+v5rwQQ==} + fx-runner@1.4.0: + resolution: {integrity: sha512-rci1g6U0rdTg6bAaBboP7XdRu01dzTAaKXxFf+PUqGuCv6Xu7o8NZdY1D5MvKGIjb6EdS1g3VlXOgksir1uGkg==} + hasBin: true + galactus@1.0.0: resolution: {integrity: sha512-R1fam6D4CyKQGNlvJne4dkNF+PvUUl7TAJInvTGa9fti9qAv95quQz29GXapA4d8Ec266mJJxFVh82M4GIIGDQ==} engines: {node: '>= 12'} @@ -8746,6 +9184,9 @@ packages: resolution: {integrity: sha512-SCbprXGAPdIhKAXiG+Mk6yeoFH61JlYunqdFQFHDtLjJlDjFf6x07dsS8acO+xWt52jpdVo49AlVDnUVK1sDNw==} engines: {node: '>= 4.0'} + get-port-please@3.2.0: + resolution: {integrity: sha512-I9QVvBw5U/hw3RmWpYKRumUeaDgxTPd401x364rLmWBJcOQ753eov1eTgzDqRG9bqFIfDc7gfzcQEWrUri3o1A==} + get-port@7.1.0: resolution: {integrity: sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==} engines: {node: '>=16'} @@ -8783,6 +9224,10 @@ packages: gifwrap@0.10.1: resolution: {integrity: sha512-2760b1vpJHNmLzZ/ubTtNnEx5WApN/PYWJvXvgS+tL1egTTthayFYIQQNi136FLEDcN/IyEY2EcGpIITD6eYUw==} + giget@2.0.0: + resolution: {integrity: sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==} + hasBin: true + github-from-package@0.0.0: resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} @@ -8813,6 +9258,10 @@ packages: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true + glob@10.5.0: + resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} + hasBin: true + glob@11.0.3: resolution: {integrity: sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==} engines: {node: 20 || >=22} @@ -8839,6 +9288,10 @@ packages: resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} engines: {node: '>=10.0'} + global-directory@4.0.1: + resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} + engines: {node: '>=18'} + global-dirs@3.0.1: resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} engines: {node: '>=10'} @@ -8879,6 +9332,10 @@ packages: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} + globby@16.1.0: + resolution: {integrity: sha512-+A4Hq7m7Ze592k9gZRy4gJ27DrXRNnC1vPjxTt1qQxEY8RxagBkBxivkCwg7FxSTG0iLLEMaUx13oOr0R2/qcQ==} + engines: {node: '>=20'} + globjoin@0.1.4: resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==} @@ -8893,9 +9350,15 @@ packages: resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} engines: {node: '>=10.19.0'} + graceful-fs@4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + graceful-readlink@1.0.1: + resolution: {integrity: sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==} + grapheme-splitter@1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} @@ -8906,6 +9369,9 @@ packages: resolution: {integrity: sha512-DKKrynuQRne0PNpEbzuEdHlYOMksHSUI8Zc9Unei5gTsMNA2/vMpoMz/yKba50pejK56qj98qM0SjYxAKi13gQ==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} + growly@1.3.0: + resolution: {integrity: sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==} + hachure-fill@0.5.2: resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} @@ -8921,6 +9387,10 @@ packages: resolution: {integrity: sha512-QsCdAUHAmiDeKeaNojb1OHOPF7NjcWPBR7obdu3NwH2a/oyQaLg5d0aaCy/9My6CdPChYF07dvz5chaXBGaD4g==} engines: {node: '>=20.0.0'} + happy-dom@20.4.0: + resolution: {integrity: sha512-RDeQm3dT9n0A5f/TszjUmNCLEuPnMGv3Tv4BmNINebz/h17PA6LMBcxJ5FrcqltNBMh9jA/8ufgDdBYUdBt+eg==} + engines: {node: '>=20.0.0'} + has-bigints@1.1.0: resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} engines: {node: '>= 0.4'} @@ -8933,6 +9403,10 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + has-flag@5.0.1: + resolution: {integrity: sha512-CsNUt5x9LUdx6hnk/E2SZLsDyvfqANZSUq4+D3D8RzDJ2M+HDTIkF60ibS1vHaK55vzgiZw1bEPFG9yH7l33wA==} + engines: {node: '>=12'} + has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} @@ -9032,6 +9506,9 @@ packages: hoist-non-react-statics@2.5.5: resolution: {integrity: sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==} + hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + hookified@1.13.0: resolution: {integrity: sha512-6sPYUY8olshgM/1LDNW4QZQN0IqgKhtl/1C8koNZBJrKLBk3AZl6chQtNwpNztvfiApHMEwMHek5rv993PRbWw==} @@ -9064,6 +9541,9 @@ packages: html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + html-escaper@3.0.3: + resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} + html-parse-stringify@3.0.1: resolution: {integrity: sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==} @@ -9071,6 +9551,10 @@ packages: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} engines: {node: '>=8'} + html-tags@5.1.0: + resolution: {integrity: sha512-n6l5uca7/y5joxZ3LUePhzmBFUJ+U2YWzhMa8XUTecSeSlQiZdF5XAd/Q3/WUl0VsXgUwWi8I7CNIwdI5WN1SQ==} + engines: {node: '>=20.10'} + html-to-text@9.0.5: resolution: {integrity: sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==} engines: {node: '>=14'} @@ -9091,6 +9575,9 @@ packages: htmlparser2@10.0.0: resolution: {integrity: sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==} + htmlparser2@10.1.0: + resolution: {integrity: sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==} + htmlparser2@6.1.0: resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} @@ -9195,6 +9682,14 @@ packages: typescript: optional: true + i18next@25.8.0: + resolution: {integrity: sha512-urrg4HMFFMQZ2bbKRK7IZ8/CTE7D8H4JRlAwqA2ZwDRFfdd0K/4cdbNNLgfn9mo+I/h9wJu61qJzH7jCFAhUZQ==} + peerDependencies: + typescript: ^5 + peerDependenciesMeta: + typescript: + optional: true + iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -9307,6 +9802,10 @@ packages: resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} engines: {node: '>=10'} + ini@4.1.1: + resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + ini@4.1.3: resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -9341,6 +9840,10 @@ packages: resolution: {integrity: sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==} engines: {node: '>= 12'} + ip-address@10.1.0: + resolution: {integrity: sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==} + engines: {node: '>= 12'} + ip-address@9.0.5: resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} engines: {node: '>= 12'} @@ -9353,6 +9856,10 @@ packages: resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} engines: {node: '>= 10'} + is-absolute@0.1.7: + resolution: {integrity: sha512-Xi9/ZSn4NFapG8RP98iNPMOeaV3mXPisxKxzKtHVqr3g56j/fBn+yZmnxSVAA8lmZbl2J9b/a4kJvfU3hqQYgA==} + engines: {node: '>=0.10.0'} + is-animated@2.0.2: resolution: {integrity: sha512-+Hi3UdXHV/3ZgxdO9Ik45ciNhDlYrDOIdGz7Cj7ybddWnYBi4kwBuGMn79Xa2Js4VldgX5e3943Djsr/KYSPbA==} @@ -9441,11 +9948,20 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} + is-in-ci@1.0.0: + resolution: {integrity: sha512-eUuAjybVTHMYWm/U+vBO1sY/JOCgoPCXRxzdju0K+K0BiGW0SChEL1MLC0PoCIR1OlPo5YAp8HuQoUlsWEICwg==} + engines: {node: '>=18'} + hasBin: true + is-inside-container@1.0.0: resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} engines: {node: '>=14.16'} hasBin: true + is-installed-globally@1.0.0: + resolution: {integrity: sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==} + engines: {node: '>=18'} + is-interactive@1.0.0: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} @@ -9481,6 +9997,10 @@ packages: is-node-process@1.2.0: resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} + is-npm@6.1.0: + resolution: {integrity: sha512-O2z4/kNgyjhQwVR1Wpkbfc19JIhggF97NZNCpWTnjH7kVcZMUrnut9XSN7txI7VdyIYk5ZatOq3zvSuWpU8hoA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + is-number-object@1.1.1: resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} engines: {node: '>= 0.4'} @@ -9489,6 +10009,10 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} + is-path-inside@4.0.0: + resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} + engines: {node: '>=12'} + is-plain-obj@1.1.0: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} @@ -9505,6 +10029,10 @@ packages: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + is-plain-object@5.0.0: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} engines: {node: '>=0.10.0'} @@ -9512,6 +10040,10 @@ packages: is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + is-primitive@3.0.1: + resolution: {integrity: sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==} + engines: {node: '>=0.10.0'} + is-promise@4.0.0: resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} @@ -9529,6 +10061,10 @@ packages: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} + is-relative@0.1.3: + resolution: {integrity: sha512-wBOr+rNM4gkAZqoLRJI4myw5WzzIdQosFAAbnvfXP5z1LyzgAI3ivOKehC5KfqlQJZoihVhirgtCBj378Eg8GA==} + engines: {node: '>=0.10.0'} + is-set@2.0.3: resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} engines: {node: '>= 0.4'} @@ -9565,6 +10101,14 @@ packages: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} + is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + + is-unicode-supported@2.1.0: + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} + engines: {node: '>=18'} + is-weakmap@2.0.2: resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} engines: {node: '>= 0.4'} @@ -9601,6 +10145,9 @@ packages: resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} engines: {node: '>= 8.0.0'} + isexe@1.1.2: + resolution: {integrity: sha512-d2eJzK691yZwPHcv1LbeAOa91yMJ9QmfTgSO1oXB65ezVhXQsxBac2vEB4bMVms9cGzaA99n6V2viHMq82VLDw==} + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -9608,6 +10155,10 @@ packages: resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} engines: {node: '>=16'} + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + istanbul-lib-coverage@3.2.2: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} @@ -9620,10 +10171,6 @@ packages: resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} engines: {node: '>=10'} - istanbul-lib-source-maps@5.0.6: - resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==} - engines: {node: '>=10'} - istanbul-reports@3.2.0: resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} engines: {node: '>=8'} @@ -9701,6 +10248,9 @@ packages: jquery@3.7.1: resolution: {integrity: sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==} + jquery@4.0.0: + resolution: {integrity: sha512-TXCHVR3Lb6TZdtw1l3RTLf8RBWVGexdxL6AC8/e0xZKEpBflBsjh9/8LXw+dkNFuOyW9B7iB3O1sP7hS0Kiacg==} + js-levenshtein@1.1.6: resolution: {integrity: sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==} engines: {node: '>=0.10.0'} @@ -9761,6 +10311,10 @@ packages: json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + json-parse-even-better-errors@3.0.2: + resolution: {integrity: sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + json-parse-even-better-errors@4.0.0: resolution: {integrity: sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==} engines: {node: ^18.17.0 || >=20.5.0} @@ -9857,6 +10411,10 @@ packages: resolution: {integrity: sha512-aeQoDkuRWSqQN6nSvVCEFvfXdqo1OQiCmmW1kc9xSdjutPv7BGO7pqY9sQRJpMOGrEdfDgF2TfRXe5eUAD2Waw==} hasBin: true + katex@0.16.28: + resolution: {integrity: sha512-YHzO7721WbmAL6Ov1uzN/l5mY5WWWhJBSW+jq4tkfZfsxmo1hu6frS0EOswvjBUnWE6NtjEs48SFn5CQESRLZg==} + hasBin: true + kdbush@4.0.2: resolution: {integrity: sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==} @@ -9883,6 +10441,10 @@ packages: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + klona@2.0.6: resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} engines: {node: '>= 8'} @@ -9896,10 +10458,18 @@ packages: kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + ky@1.14.2: + resolution: {integrity: sha512-q3RBbsO5A5zrPhB6CaCS8ZUv+NWCXv6JJT4Em0i264G9W0fdPB8YRfnnEi7Dm7X7omAkBIPojzYJ2D1oHTHqug==} + engines: {node: '>=18'} + langium@3.3.1: resolution: {integrity: sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w==} engines: {node: '>=16.0.0'} + latest-version@9.0.0: + resolution: {integrity: sha512-7W0vV3rqv5tokqkBAFV1LbR7HPOWzXQDpDgEuib/aJ1jsZZx6x3c2mBI+TJhJzOhkGeaLbCKEHXEXLfirtG2JA==} + engines: {node: '>=18'} + launch-editor@2.11.1: resolution: {integrity: sha512-SEET7oNfgSaB6Ym0jufAdCeo3meJVeCaaDyzRygy0xsp2BFKCprcfHljTq4QkzTLUxEKkFK6OK4811YM2oSrRg==} @@ -9941,74 +10511,81 @@ packages: lie@3.3.0: resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} - lightningcss-android-arm64@1.30.2: - resolution: {integrity: sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==} + lighthouse-logger@2.0.2: + resolution: {integrity: sha512-vWl2+u5jgOQuZR55Z1WM0XDdrJT6mzMP8zHUct7xTlWhuQs+eV0g+QL0RQdFjT54zVmbhLCP8vIVpy1wGn/gCg==} + + lightningcss-android-arm64@1.31.1: + resolution: {integrity: sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [android] - lightningcss-darwin-arm64@1.30.2: - resolution: {integrity: sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==} + lightningcss-darwin-arm64@1.31.1: + resolution: {integrity: sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] - lightningcss-darwin-x64@1.30.2: - resolution: {integrity: sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==} + lightningcss-darwin-x64@1.31.1: + resolution: {integrity: sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] - lightningcss-freebsd-x64@1.30.2: - resolution: {integrity: sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==} + lightningcss-freebsd-x64@1.31.1: + resolution: {integrity: sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] - lightningcss-linux-arm-gnueabihf@1.30.2: - resolution: {integrity: sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==} + lightningcss-linux-arm-gnueabihf@1.31.1: + resolution: {integrity: sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==} engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] - lightningcss-linux-arm64-gnu@1.30.2: - resolution: {integrity: sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==} + lightningcss-linux-arm64-gnu@1.31.1: + resolution: {integrity: sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] + libc: [glibc] - lightningcss-linux-arm64-musl@1.30.2: - resolution: {integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==} + lightningcss-linux-arm64-musl@1.31.1: + resolution: {integrity: sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] + libc: [musl] - lightningcss-linux-x64-gnu@1.30.2: - resolution: {integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==} + lightningcss-linux-x64-gnu@1.31.1: + resolution: {integrity: sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] + libc: [glibc] - lightningcss-linux-x64-musl@1.30.2: - resolution: {integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==} + lightningcss-linux-x64-musl@1.31.1: + resolution: {integrity: sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] + libc: [musl] - lightningcss-win32-arm64-msvc@1.30.2: - resolution: {integrity: sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==} + lightningcss-win32-arm64-msvc@1.31.1: + resolution: {integrity: sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [win32] - lightningcss-win32-x64-msvc@1.30.2: - resolution: {integrity: sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==} + lightningcss-win32-x64-msvc@1.31.1: + resolution: {integrity: sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] - lightningcss@1.30.2: - resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==} + lightningcss@1.31.1: + resolution: {integrity: sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==} engines: {node: '>= 12.0.0'} lilconfig@2.1.0: @@ -10025,6 +10602,19 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + lines-and-columns@2.0.4: + resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + linkedom@0.18.12: + resolution: {integrity: sha512-jalJsOwIKuQJSeTvsgzPe9iJzyfVaEJiEXl+25EkKevsULHvMJzpNqwvj1jOESWdmgKDiXObyjOYwlUqG7wo1Q==} + engines: {node: '>=16'} + peerDependencies: + canvas: '>= 2' + peerDependenciesMeta: + canvas: + optional: true + linkify-it@5.0.0: resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} @@ -10037,6 +10627,10 @@ packages: resolution: {integrity: sha512-rJysbR9GKIalhTbVL2tYbF2hVyDnrf7pFUZBwjPaMIdadYHmeT+EVi/Bu3qd7ETQPahTotg2WRCatXwRBW554g==} engines: {node: '>=16.0.0'} + listr2@8.3.3: + resolution: {integrity: sha512-LWzX2KsqcB1wqQ4AHgYb4RsDXauQiqhjLk+6hjbaeHG4zpjjVAB6wC/gz6X0l+Du1cN3pUB5ZlrvTbhGSNnUQQ==} + engines: {node: '>=18.0.0'} + listr2@9.0.5: resolution: {integrity: sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==} engines: {node: '>=20.0.0'} @@ -10057,6 +10651,10 @@ packages: resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==} engines: {node: '>=14'} + local-pkg@1.1.2: + resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==} + engines: {node: '>=14'} + locate-app@2.5.0: resolution: {integrity: sha512-xIqbzPMBYArJRmPGUZD9CzV9wOqmVtQnaAn3wrj3s6WYW0bQvPI7x+sPYUGmDTYMHefVK//zc6HEYZ1qnxIK+Q==} @@ -10071,8 +10669,8 @@ packages: lodash-es@4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - lodash-es@4.17.22: - resolution: {integrity: sha512-XEawp1t0gxSi9x01glktRZ5HDy0HXqrM0x5pXQM98EaI0NxO6jVM7omDOxsuEo5UIASAnm2bRp1Jt/e0a2XU8Q==} + lodash-es@4.17.23: + resolution: {integrity: sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==} lodash.clonedeep@4.5.0: resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} @@ -10131,6 +10729,10 @@ packages: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} + log-symbols@6.0.0: + resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} + engines: {node: '>=18'} + log-update@5.0.1: resolution: {integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -10204,6 +10806,9 @@ packages: magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + magicast@0.3.5: + resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} + magicast@0.5.1: resolution: {integrity: sha512-xrHS24IxaLrvuo613F719wvOIv9xPHFWQHuvGUBmPnCA/3MQxKI3b+r7n1jAoDHmsbC5bRhTZYR77invLAxVnw==} @@ -10234,6 +10839,9 @@ packages: resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} engines: {node: '>= 10'} + many-keys-map@2.0.1: + resolution: {integrity: sha512-DHnZAD4phTbZ+qnJdjoNEVU1NecYoSdbOOoVmTDH46AuxDkEVh3MxTVpXq10GtcTC6mndN9dkv1rNfpjRcLnOw==} + map-age-cleaner@0.1.3: resolution: {integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==} engines: {node: '>=6'} @@ -10267,6 +10875,9 @@ packages: engines: {node: '>= 12'} hasBin: true + marky@1.3.0: + resolution: {integrity: sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==} + matcher@3.0.0: resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==} engines: {node: '>=10'} @@ -10281,6 +10892,9 @@ packages: mathml-tag-names@2.1.3: resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} + mathml-tag-names@4.0.0: + resolution: {integrity: sha512-aa6AU2Pcx0VP/XWnh8IGL0SYSgQHDT6Ucror2j2mXeFAlN3ahaNs8EZtG1YiticMkSLj3Gt6VPFfZogt7G5iFQ==} + mdast-util-find-and-replace@3.0.2: resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} @@ -10358,6 +10972,10 @@ packages: resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} engines: {node: '>=18'} + meow@14.0.0: + resolution: {integrity: sha512-JhC3R1f6dbspVtmF3vKjAWz1EVIvwFrGGPLSdU6rK79xBwHWTuHoLnRX/t1/zHS1Ch1Y2UtIrih7DAHuH9JFJA==} + engines: {node: '>=20'} + merge-descriptors@1.0.3: resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} @@ -10520,8 +11138,8 @@ packages: mind-elixir@5.4.0: resolution: {integrity: sha512-yxXajDWoSF6id8b2LKxlhXidxH/v6mx4JV+isrtsZ62RGCMsRbjUMFO9xOfTVH8vyxWhsbCkiAP6/i5hqbyk6w==} - mind-elixir@5.5.0: - resolution: {integrity: sha512-a/bOTp3wJrK/vTm2/Vn5+9kYL0fNqxWvm8SsVojJO/tltLPPU8yMPzFCZHzGRz1Aoj6bpLxN+ExfIbc28nrNxQ==} + mind-elixir@5.6.1: + resolution: {integrity: sha512-FTpP5yfyjqXxtHbUAcJVrzBgbU9en0dQIbYx4lQc1C7aWOnjHGHr9iVccgMqU4gh9jVIBpunm4++2DpN753mGg==} mini-css-extract-plugin@2.9.4: resolution: {integrity: sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==} @@ -10632,6 +11250,9 @@ packages: mlly@1.7.4: resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} + mlly@1.8.0: + resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} + mobx-react-lite@4.1.1: resolution: {integrity: sha512-iUxiMpsvNraCKXU+yPotsOncNNmyeS2B5DKL+TL6Tar/xm+wwNJAubJmtRSeAoYawdZqwv8Z/+5nPRHeQxTiXg==} peerDependencies: @@ -10708,6 +11329,10 @@ packages: resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} hasBin: true + multimatch@6.0.0: + resolution: {integrity: sha512-I7tSVxHGPlmPN/enE3mS1aOSo6bWBfls+3HmuEeCUBCE7gWnm3cBXCBkpurzFjVRwC6Kld8lLaZ1Iv5vOcjvcQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + multimath@2.0.0: resolution: {integrity: sha512-toRx66cAMJ+Ccz7pMIg38xSIrtnbozk0dchXezwQDMgQmbGpfxjtv68H+L00iFL8hxDaVjrmwAFSb3I6bg8Q2g==} @@ -10731,6 +11356,10 @@ packages: nan@2.22.2: resolution: {integrity: sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==} + nano-spawn@1.0.3: + resolution: {integrity: sha512-jtpsQDetTnvS2Ts1fiRdci5rx0VYws5jGyC+4IYOTnIQ/wwdf6JdomlHBwqC3bJYOvaKu0C2GSZ1A60anrYpaA==} + engines: {node: '>=20.17'} + nano-spawn@2.0.0: resolution: {integrity: sha512-tacvGzUY5o2D8CBh2rrwxyNojUsZNU2zjNTzKQrkgGJQTbGAfArVWXSKMBokBeeg6C7OLRGUEyoFlYbfeWQIqw==} engines: {node: '>=20.17'} @@ -10781,8 +11410,8 @@ packages: nice-try@1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - node-abi@4.24.0: - resolution: {integrity: sha512-u2EC1CeNe25uVtX3EZbdQ275c74zdZmmpzrHEQh2aIYqoVjlglfUpOX9YY85x1nlBydEKDVaSmMNhR7N82Qj8A==} + node-abi@4.26.0: + resolution: {integrity: sha512-8QwIZqikRvDIkXS2S93LjzhsSPJuIbfaMETWH+Bx8oOT9Sa9UsUtBFQlc3gBNd1+QINjaTloitXr1W3dQLi9Iw==} engines: {node: '>=22.12.0'} node-addon-api@7.1.1: @@ -10800,6 +11429,9 @@ packages: resolution: {integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==} engines: {node: 4.x || >=6.0.0} + node-fetch-native@1.6.7: + resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==} + node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -10837,6 +11469,9 @@ packages: node-html-parser@7.0.2: resolution: {integrity: sha512-DxodLVh7a6JMkYzWyc8nBX9MaF4M0lLFYkJHlWOiu7+9/I6mwNK9u5TbAMC7qfqDJEPX9OIoWA2A9t4C2l1mUQ==} + node-notifier@10.0.1: + resolution: {integrity: sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==} + node-readfiles@0.2.0: resolution: {integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==} @@ -10929,6 +11564,11 @@ packages: nwsapi@2.2.23: resolution: {integrity: sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==} + nypm@0.6.4: + resolution: {integrity: sha512-1TvCKjZyyklN+JJj2TS3P4uSQEInrM/HkkuSXsEzm1ApPgBffOn8gFguNnZf07r/1X6vlryfIqMUkJKQMzlZiw==} + engines: {node: '>=18'} + hasBin: true + oas-kit-common@1.0.8: resolution: {integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==} @@ -10994,6 +11634,12 @@ packages: obug@2.1.1: resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} + ofetch@1.5.1: + resolution: {integrity: sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==} + + ohash@2.0.11: + resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} + oidc-token-hash@5.1.0: resolution: {integrity: sha512-y0W+X7Ppo7oZX6eovsRkuzcSM40Bicg2JEJkDJ4irIt1wsYAP5MLSNv+QAogO8xivMffw/9OvV3um1pxXgt1uA==} engines: {node: ^10.13.0 || >=12.0.0} @@ -11004,6 +11650,10 @@ packages: omggif@1.0.10: resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==} + on-exit-leak-free@2.1.2: + resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} + engines: {node: '>=14.0.0'} + on-finished@2.3.0: resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} engines: {node: '>= 0.8'} @@ -11034,8 +11684,12 @@ packages: resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} engines: {node: '>=18'} - openai@6.16.0: - resolution: {integrity: sha512-fZ1uBqjFUjXzbGc35fFtYKEOxd20kd9fDpFeqWtsOZWiubY8CZ1NAlXHW3iathaFvqmNtCWMIsosCuyeI7Joxg==} + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + + openai@6.17.0: + resolution: {integrity: sha512-NHRpPEUPzAvFOAFs9+9pC6+HCw/iWsYsKCMPXH5Kw7BpMxqd8g/A07/1o7Gx2TWtCnzevVRyKMRFqyiHyAlqcA==} hasBin: true peerDependencies: ws: ^8.18.0 @@ -11068,6 +11722,14 @@ packages: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} + ora@8.2.0: + resolution: {integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==} + engines: {node: '>=18'} + + os-shim@0.1.3: + resolution: {integrity: sha512-jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A==} + engines: {node: '>= 0.4.0'} + os-tmpdir@1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} @@ -11118,8 +11780,8 @@ packages: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} - p-map@7.0.3: - resolution: {integrity: sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==} + p-map@7.0.4: + resolution: {integrity: sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==} engines: {node: '>=18'} p-queue@6.6.2: @@ -11149,6 +11811,10 @@ packages: package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + package-json@10.0.1: + resolution: {integrity: sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg==} + engines: {node: '>=18'} + package-manager-detector@1.3.0: resolution: {integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==} @@ -11194,6 +11860,10 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} + parse-json@7.1.1: + resolution: {integrity: sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==} + engines: {node: '>=16'} + parse-node-version@1.0.1: resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} engines: {node: '>= 0.10'} @@ -11314,6 +11984,9 @@ packages: pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + perfect-debounce@2.1.0: + resolution: {integrity: sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==} + perfect-freehand@1.2.0: resolution: {integrity: sha512-h/0ikF1M3phW7CwpZ5MMvKnfpHficWoOEyr//KVNTxV4F6deRK1eYMtHyBKEAKFK0aXIEUK9oBvlF6PNXMDsAw==} @@ -11347,6 +12020,16 @@ packages: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} + pino-abstract-transport@2.0.0: + resolution: {integrity: sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==} + + pino-std-serializers@7.1.0: + resolution: {integrity: sha512-BndPH67/JxGExRgiX1dX0w1FvZck5Wa4aal9198SrRhZjH3GxKQUKIBnYJTdj2HDN3UQAS06HlfcSbQj2OHmaw==} + + pino@9.7.0: + resolution: {integrity: sha512-vnMCM6xZTb1WDmLvtG2lE/2p+t9hDEIvTWJsu6FejkE62vB7gDhvzrpFR4Cw2to+9JNQxVnkAKVPA1KPB98vWg==} + hasBin: true + pirates@4.0.7: resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} engines: {node: '>= 6'} @@ -11365,6 +12048,9 @@ packages: pkg-types@2.1.0: resolution: {integrity: sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==} + pkg-types@2.3.0: + resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} + playwright-core@1.57.0: resolution: {integrity: sha512-agTcKlMw/mjBWOnD6kFZttAAGHgi/Nw0CZ2o6JqWSbMlI219lAFLZZCyqByTsvVAJq5XA5H8cA6PrvBRpBWEuQ==} engines: {node: '>=18'} @@ -11814,6 +12500,10 @@ packages: resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} engines: {node: '>=4'} + postcss-selector-parser@7.1.1: + resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} + engines: {node: '>=4'} + postcss-simple-vars@7.0.1: resolution: {integrity: sha512-5GLLXaS8qmzHMOjVxqkk1TZPf1jMqesiI7qLhnlyERalG0sMbHIbJqrcnrpmZdKCLglHnRHoEBB61RtGTsj++A==} engines: {node: '>=14.0'} @@ -11905,6 +12595,9 @@ packages: process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + process-warning@5.0.0: + resolution: {integrity: sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==} + process@0.11.10: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} @@ -11925,12 +12618,23 @@ packages: resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} engines: {node: '>=10'} + promise-toolbox@0.21.0: + resolution: {integrity: sha512-NV8aTmpwrZv+Iys54sSFOBx3tuVaOBvvrft5PNppnxy9xpU/akHbaWIril22AB22zaPgrgwKdD0KsrM0ptUtpg==} + engines: {node: '>=6'} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} property-information@7.1.0: resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} + proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + protobufjs@7.5.0: resolution: {integrity: sha512-Z2E/kOY1QjoMlCytmexzYfDm/w5fKAiRwpSzGtdnXW1zC88Z2yXazHHrOtwCzn+7wSxyE8PYM4rvVcMphF9sOA==} engines: {node: '>=12.0.0'} @@ -11955,6 +12659,10 @@ packages: psl@1.15.0: resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} + publish-browser-extension@3.0.3: + resolution: {integrity: sha512-cBINZCkLo7YQaGoUvEHthZ0sDzgJQht28IS+SFMT2omSNhGsPiVNRkWir3qLiTrhGhW9Ci2KVHpA1QAMoBdL2g==} + hasBin: true + pump@3.0.3: resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} @@ -12003,6 +12711,9 @@ packages: quansync@0.2.10: resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==} + quansync@0.2.11: + resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} + query-selector-shadow-dom@1.0.1: resolution: {integrity: sha512-lT5yCqEBgfoMYpf3F2xQRK7zEr1rhIIZuceDK6+xRkJQ4NMbHTwXqk4NkwDwQMNqXgG9r9fyHnzwNVs6zV5KRw==} @@ -12016,6 +12727,9 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + quick-lru@5.1.1: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} @@ -12058,6 +12772,9 @@ packages: peerDependencies: webpack: ^4.0.0 || ^5.0.0 + rc9@2.1.2: + resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} + rc@1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true @@ -12067,10 +12784,10 @@ packages: peerDependencies: react: ^16.14.0 - react-dom@19.2.3: - resolution: {integrity: sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==} + react-dom@19.2.4: + resolution: {integrity: sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==} peerDependencies: - react: ^19.2.3 + react: ^19.2.4 react-i18next@16.5.1: resolution: {integrity: sha512-Hks6UIRZWW4c+qDAnx1csVsCGYeIR4MoBGQgJ+NUoNnO6qLxXuf8zu0xdcinyXUORgGzCdRsexxO1Xzv3sTdnw==} @@ -12088,6 +12805,22 @@ packages: typescript: optional: true + react-i18next@16.5.4: + resolution: {integrity: sha512-6yj+dcfMncEC21QPhOTsW8mOSO+pzFmT6uvU7XXdvM/Cp38zJkmTeMeKmTrmCMD5ToT79FmiE/mRWiYWcJYW4g==} + peerDependencies: + i18next: '>= 25.6.2' + react: '>= 16.8.0' + react-dom: '*' + react-native: '*' + typescript: ^5 + peerDependenciesMeta: + react-dom: + optional: true + react-native: + optional: true + typescript: + optional: true + react-interactive@0.8.3: resolution: {integrity: sha512-mmRvA9aKP7zu9kVfP1AX1egX8tFlnE3DDXq92z0JTZezfOpmeQBzr77O1+mTV54OOmn+M2t6c5kFD5VnuFoM7A==} peerDependencies: @@ -12161,8 +12894,8 @@ packages: resolution: {integrity: sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==} engines: {node: '>=0.10.0'} - react@19.2.3: - resolution: {integrity: sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==} + react@19.2.4: + resolution: {integrity: sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==} engines: {node: '>=0.10.0'} read-binary-file-arch@1.0.6: @@ -12210,6 +12943,10 @@ packages: resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==} engines: {node: '>= 20.19.0'} + real-require@0.2.0: + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} + engines: {node: '>= 12.13.0'} + rechoir@0.8.0: resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} engines: {node: '>= 10.13.0'} @@ -12246,6 +12983,14 @@ packages: resolution: {integrity: sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ==} engines: {node: '>=4'} + registry-auth-token@5.1.1: + resolution: {integrity: sha512-P7B4+jq8DeD2nMsAcdfaqHbssgHtZ7Z5+++a5ask90fvmJ8p5je4mOa+wzu+DB4vQ5tdJV/xywY+UnVFeQLV5Q==} + engines: {node: '>=14'} + + registry-url@6.0.1: + resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} + engines: {node: '>=12'} + regjsgen@0.5.2: resolution: {integrity: sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==} @@ -12402,8 +13147,8 @@ packages: resolution: {integrity: sha512-EsoOi8moHN6CAYyTZipxDDVTJn0j2nBCWor4wRU45RQ8ER2qREDykXLr3Ulz6hBh6oBKCFTQIjo21i0FXNo/IA==} hasBin: true - rollup-plugin-stats@1.5.4: - resolution: {integrity: sha512-b1hYagYLTyr8mCVUb7e1x9fjxOXFyeWmV9hIr7vYqq/agN+WDaGNzz+KmM3GAx0KGGI2qllOL+zAUi/l39s/Sg==} + rollup-plugin-stats@1.5.5: + resolution: {integrity: sha512-C6WK4b8Nh/fcgPx5RLfv0/peQjOM93buCaYueTOqQsKbwbT/JHKnkI3jG0q0PLSVvj0hERGRbI02mHkvr2jMEg==} engines: {node: '>=18'} peerDependencies: rolldown: ^1.0.0-beta.0 @@ -12429,8 +13174,8 @@ packages: peerDependencies: rollup: ^3.0.0||^4.0.0 - rollup-plugin-webpack-stats@2.1.9: - resolution: {integrity: sha512-ft1vdp3xPjE+zw8A22yCToo5cpymoWCjNDefWNO1awywsDrSDoRJhkoZTENkhJwmfh6oe5ztpGu7PfnJOMXc2g==} + rollup-plugin-webpack-stats@2.1.10: + resolution: {integrity: sha512-DWJWnHSxWj4+6fDOQUzkfmNeXDvNQ98BRCvzSElfZIwAt2LSg3SuNEQoX8EC5F70fB7Z3zAiatcVJ2IF1tJ87w==} engines: {node: '>=18'} peerDependencies: rolldown: ^1.0.0-beta.0 @@ -12500,6 +13245,10 @@ packages: safe-regex2@5.0.0: resolution: {integrity: sha512-YwJwe5a51WlK7KbOJREPdjNrpViQBI3p4T50lfwPuDhZnE3XGVTlGvi+aolc5+RvxDD6bnUmjVsU9n1eboLUYw==} + safe-stable-stringify@2.5.0: + resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} + engines: {node: '>=10'} + safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -12554,48 +13303,56 @@ packages: engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] + libc: glibc sass-embedded-linux-arm@1.91.0: resolution: {integrity: sha512-ppAZLp3eZ9oTjYdQDf4nM7EehDpkxq5H1hE8FOrx8LpY7pxn6QF+SRpAbRjdfFChRw0K7vh+IiCnQEMp7uLNAg==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] + libc: glibc sass-embedded-linux-musl-arm64@1.91.0: resolution: {integrity: sha512-VfbPpID1C5TT7rukob6CKgefx/TsLE+XZieMNd00hvfJ8XhqPr5DGvSMCNpXlwaedzTirbJu357m+n2PJI9TFQ==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] + libc: musl sass-embedded-linux-musl-arm@1.91.0: resolution: {integrity: sha512-znEsNC2FurPF9+XwQQ6e/fVoic3e5D3/kMB41t/bE8byJVRdaPhkdsszt3pZUE56nNGYoCuieSXUkk7VvyPHsw==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] + libc: musl sass-embedded-linux-musl-riscv64@1.91.0: resolution: {integrity: sha512-ZfLGldKEEeZjuljKks835LTq7jDRI3gXsKKXXgZGzN6Yymd4UpBOGWiDQlWsWTvw5UwDU2xfFh0wSXbLGHTjVA==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [linux] + libc: musl sass-embedded-linux-musl-x64@1.91.0: resolution: {integrity: sha512-4kSiSGPKFMbLvTRbP/ibyiKheOA3fwsJKWU0SOuekSPmybMdrhNkTm0REp6+nehZRE60kC3lXmEV4a7w8Jrwyg==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] + libc: musl sass-embedded-linux-riscv64@1.91.0: resolution: {integrity: sha512-Y3Fj94SYYvMX9yo49T78yBgBWXtG3EyYUT5K05XyCYkcdl1mVXJSrEmqmRfe4vQGUCaSe/6s7MmsA9Q+mQez7Q==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [linux] + libc: glibc sass-embedded-linux-x64@1.91.0: resolution: {integrity: sha512-XwIUaE7pQP/ezS5te80hlyheYiUlo0FolQ0HBtxohpavM+DVX2fjwFm5LOUJHrLAqP+TLBtChfFeLj1Ie4Aenw==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] + libc: glibc sass-embedded-unknown-all@1.91.0: resolution: {integrity: sha512-Bj6v7ScQp/HtO91QBy6ood9AArSIN7/RNcT4E7P9QoY3o+e6621Vd28lV81vdepPrt6u6PgJoVKmLNODqB6Q+A==} @@ -12657,6 +13414,9 @@ packages: script-loader@0.7.2: resolution: {integrity: sha512-UMNLEvgOAQuzK8ji8qIscM3GIrRCWN6MmMXGD4SD5l6cSycgGsCo0tX5xRnfQcoghqct0tjHjcykgI1PyBE2aA==} + scule@1.3.0: + resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} + secure-compare@3.0.1: resolution: {integrity: sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==} @@ -12686,11 +13446,6 @@ packages: engines: {node: '>=10'} hasBin: true - semver@7.7.2: - resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} - engines: {node: '>=10'} - hasBin: true - semver@7.7.3: resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} engines: {node: '>=10'} @@ -12749,6 +13504,10 @@ packages: resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} engines: {node: '>= 0.4'} + set-value@4.1.0: + resolution: {integrity: sha512-zTEg4HL0RwVrqcWs3ztF+x1vkxfm0lP+MQQFPiMJTKVceBwEV0A569Ou8l9IYQG8jOZdMVI1hGsc0tmeD2o/Lw==} + engines: {node: '>=11.0'} + setimmediate@1.0.5: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} @@ -12761,6 +13520,10 @@ packages: shallowequal@1.1.0: resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} + sharp@0.34.5: + resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} @@ -12777,6 +13540,9 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + shell-quote@1.7.3: + resolution: {integrity: sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==} + shell-quote@1.8.3: resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} engines: {node: '>= 0.4'} @@ -12785,6 +13551,9 @@ packages: resolution: {integrity: sha512-Jex+xw5Mg2qMZL3qnzXIfaxEtBaC4n7xifqaqtrZDdlheR70OGkydrPJWT0V1cA1k3nanC86x9FwAmQl6w3Klw==} engines: {node: '>=18'} + shellwords@0.1.1: + resolution: {integrity: sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==} + shimmer@1.2.1: resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} @@ -12859,10 +13628,17 @@ packages: resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==} engines: {node: '>=18'} + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} + slash@5.1.0: + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} + slice-ansi@4.0.0: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} @@ -12927,6 +13703,9 @@ packages: resolution: {integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} + sonic-boom@4.2.0: + resolution: {integrity: sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==} + sort-keys-length@1.0.1: resolution: {integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==} engines: {node: '>=0.10.0'} @@ -12963,6 +13742,9 @@ packages: spacetrim@0.11.59: resolution: {integrity: sha512-lLYsktklSRKprreOm7NXReW8YiX2VBjbgmXYEziOoGf/qsJqAEACaDvoTtUOycwjpaSh+bT8eu0KrJn7UNxiCg==} + spawn-sync@1.0.15: + resolution: {integrity: sha512-9DWBgrgYZzNghseho0JOuh+5fg9u6QWhAWa51QC7+U5rCheZ/j1DrEZnyE0RBBRqZ9uEXGPgSSM0nky6burpVw==} + spdx-correct@3.2.0: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} @@ -12994,6 +13776,9 @@ packages: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} + split@1.0.1: + resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} + sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -13051,6 +13836,10 @@ packages: std-env@3.10.0: resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} + stdin-discarder@0.2.2: + resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} + engines: {node: '>=18'} + stickyfill@1.1.1: resolution: {integrity: sha512-GCp7vHAfpao+Qh/3Flh9DXEJ/qSi0KJwJw6zYlZOtRYXWUIpMM6mC2rIep/dK8RQqwW0KxGJIllmjPIBOGN8AA==} @@ -13165,6 +13954,13 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + strip-json-comments@5.0.2: + resolution: {integrity: sha512-4X2FR3UwhNUE9G49aIsJW5hRRR3GXGTBTZRMfv568O60ojM8HcWjV/VxAxCDW3SUND33O6ZY66ZuRcdkj73q2g==} + engines: {node: '>=14.16'} + + strip-literal@3.1.0: + resolution: {integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==} + strip-outer@1.0.1: resolution: {integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==} engines: {node: '>=0.10.0'} @@ -13186,6 +13982,12 @@ packages: resolution: {integrity: sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==} engines: {node: '>=10'} + stubborn-fs@2.0.0: + resolution: {integrity: sha512-Y0AvSwDw8y+nlSNFXMm2g6L51rBGdAQT20J3YSOqxC53Lo3bjWRtr2BKcfYoAf352WYpsZSTURrA0tqhfgudPA==} + + stubborn-utils@1.0.2: + resolution: {integrity: sha512-zOh9jPYI+xrNOyisSelgym4tolKTJCQd5GBhK0+0xJvcYDcwlOoxF/rnFKQ2KRZknXSG9jWAp66fwP6AxN9STg==} + style-loader@2.0.0: resolution: {integrity: sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==} engines: {node: '>= 10.13.0'} @@ -13256,6 +14058,11 @@ packages: engines: {node: '>=18.12.0'} hasBin: true + stylelint@17.0.0: + resolution: {integrity: sha512-saMZ2mqdQre4AfouxcbTdpVglDRcROb4MIucKHvgsDb/0IX7ODhcaz+EOIyfxAsm8Zjl/7j4hJj6MgIYYM8Xwg==} + engines: {node: '>=20.19.0'} + hasBin: true + stylis@4.3.2: resolution: {integrity: sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==} @@ -13288,6 +14095,10 @@ packages: resolution: {integrity: sha512-oK8WG9diS3DlhdUkcFn4tkNIiIbBx9lI2ClF8K+b2/m8Eyv47LSawxUzZQSNKUrVb2KsqeTDCcjAAVPYaSLVTA==} engines: {node: '>=14.18.0'} + supports-color@10.2.2: + resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} + engines: {node: '>=18'} + supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -13304,6 +14115,10 @@ packages: resolution: {integrity: sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==} engines: {node: '>=14.18'} + supports-hyperlinks@4.4.0: + resolution: {integrity: sha512-UKbpT93hN5Nr9go5UY7bopIB9YQlMz9nm/ct4IXt/irb5YRkn9WaqrOBJGZ5Pwvsd5FQzSVeYlGdXoCAPQZrPg==} + engines: {node: '>=20'} + supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -13377,10 +14192,16 @@ packages: tar@6.2.1: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} + deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exhorbitant rates) by contacting i@izs.me tar@7.4.3: resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} engines: {node: '>=18'} + deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exhorbitant rates) by contacting i@izs.me + + tar@7.5.7: + resolution: {integrity: sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==} + engines: {node: '>=18'} temp@0.9.4: resolution: {integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==} @@ -13423,9 +14244,15 @@ packages: peerDependencies: tslib: ^2 + thread-stream@3.1.0: + resolution: {integrity: sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==} + through2@4.0.2: resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + thunky@1.1.0: resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} @@ -13558,12 +14385,6 @@ packages: ts-algebra@2.0.0: resolution: {integrity: sha512-FPAhNPFMrkwz76P7cdjdmiShwMynZYN6SgOujD1urY4oNm80Ou9oMdmbR45LotcKOXoy7wSmHkRFE6Mxbrhefw==} - ts-api-utils@2.3.0: - resolution: {integrity: sha512-6eg3Y9SF7SsAvGzRHQvvc1skDAhwI4YQ32ui1scxD1Ccr0G5qIIbUBT3pFTKX8kmWIQClHobtUdNuaBgwdfdWg==} - engines: {node: '>=18.12'} - peerDependencies: - typescript: '>=4.8.4' - ts-api-utils@2.4.0: resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==} engines: {node: '>=18.12'} @@ -13625,6 +14446,9 @@ packages: turndown@7.2.2: resolution: {integrity: sha512-1F7db8BiExOKxjSMU2b7if62D/XOyQyZbPKq/nUwopfgnHlqXHqQ0lvfUTeUIr1lZJzOPFn43dODyMSIfvWRKQ==} + turnish@1.8.0: + resolution: {integrity: sha512-r1K94mbU5FHwvHKsPrTejuxoQTyKrddeWNzxS53Dnu+33DJLZJzfAHmo7GhdxBvhrHYCfv/diYvpq2VCGSGa+w==} + type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -13641,6 +14465,10 @@ packages: resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} engines: {node: '>=10'} + type-fest@3.13.1: + resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} + engines: {node: '>=14.16'} + type-fest@4.26.0: resolution: {integrity: sha512-OduNjVJsFbifKb57UqZ2EMP1i4u64Xwow3NYXUtBbD4vIwJdQd4+xl8YDou1dlm4DVrtwT/7Ky8z8WyCULVfxw==} engines: {node: '>=16'} @@ -13695,8 +14523,8 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - typescript-eslint@8.52.0: - resolution: {integrity: sha512-atlQQJ2YkO4pfTVQmQ+wvYQwexPDOIgo+RaVcD7gHgzy/IQA+XTyuxNM9M9TVXvttkF7koBHmcwisKdOAf2EcA==} + typescript-eslint@8.53.0: + resolution: {integrity: sha512-xHURCQNxZ1dsWn0sdOaOfCSQG0HKeqSj9OexIxrz6ypU6wHYOdX2I3D2b8s8wFSsSOYJb+6q283cLiLlkEsBYw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -13737,6 +14565,9 @@ packages: engines: {node: '>=0.8.0'} hasBin: true + uhyphen@0.2.0: + resolution: {integrity: sha512-qz3o9CHXmJJPGBdqzab7qAYuW8kQGKNEuoHFYrBwV6hWIMcpAmxDLXojcHfFr9US1Pe6zUswEIJIbLI610fuqA==} + uid-safe@2.1.5: resolution: {integrity: sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==} engines: {node: '>= 0.8'} @@ -13763,8 +14594,12 @@ packages: resolution: {integrity: sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==} engines: {node: '>=18.17'} - undici@7.12.0: - resolution: {integrity: sha512-GrKEsc3ughskmGA9jevVlIOPMiiAHJ4OFUtaAH+NhfTUSiZ1wMPIQqQvAJUrJspFXJt3EBWgpAeoHEDVT1IBug==} + undici@6.23.0: + resolution: {integrity: sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==} + engines: {node: '>=18.17'} + + undici@7.19.0: + resolution: {integrity: sha512-Heho1hJD81YChi+uS2RkSjcVO+EQLmLSyUlHyp7Y/wFbxQaGb4WXVKD073JytrjXJVkSZVzoE2MCSOKugFGtOQ==} engines: {node: '>=20.18.1'} unescape@1.0.1: @@ -13787,12 +14622,20 @@ packages: resolution: {integrity: sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==} engines: {node: '>=4'} + unicorn-magic@0.4.0: + resolution: {integrity: sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==} + engines: {node: '>=20'} + unidragger@3.0.1: resolution: {integrity: sha512-RngbGSwBFmqGBWjkaH+yB677uzR95blSQyxq6hYbrQCejH3Mx1nm8DVOuh3M9k2fQyTstWUG5qlgCnNqV/9jVw==} unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + unimport@5.6.0: + resolution: {integrity: sha512-8rqAmtJV8o60x46kBAJKtHpJDJWkA2xcBqWKPI14MgUb05o1pnpnCnXSxedUXyeq7p8fR5g3pTo2BaswZ9lD9A==} + engines: {node: '>=18.12.0'} + union@0.5.0: resolution: {integrity: sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==} engines: {node: '>= 0.8.0'} @@ -13857,6 +14700,14 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} + unplugin-utils@0.3.1: + resolution: {integrity: sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==} + engines: {node: '>=20.19.0'} + + unplugin@2.3.11: + resolution: {integrity: sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==} + 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} @@ -13871,6 +14722,10 @@ packages: peerDependencies: browserslist: '>= 4.21.0' + update-notifier@7.3.1: + resolution: {integrity: sha512-+dwUY4L35XFYEzE+OAL3sarJdUioVovq+8f7lcIJ7wnmnYQV5UD1Y/lcwaMSyaQ6Bj3JMj1XSTjZbNLHn/19yA==} + engines: {node: '>=18'} + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -13990,6 +14845,11 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + vite-node@5.3.0: + resolution: {integrity: sha512-8f20COPYJujc3OKPX6OuyBy3ZIv2det4eRRU4GY1y2MjbeGSUmPjedxg1b72KnTagCofwvZ65ThzjxDW2AtQFQ==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + vite-plugin-dts@4.5.4: resolution: {integrity: sha512-d4sOM8M/8z7vRXHHq/ebbblfaxENjogAAekcfcDCCwAyvGqnPrc7f4NZbvItS+g4WTgerW0xDwSz5qz11JT3vg==} peerDependencies: @@ -14005,6 +14865,12 @@ packages: peerDependencies: vite: ^5.0.0 || ^6.0.0 || ^7.0.0 + vite-plugin-static-copy@3.2.0: + resolution: {integrity: sha512-g2k9z8B/1Bx7D4wnFjPLx9dyYGrqWMLTpwTtPHhcU+ElNZP2O4+4OsyaficiDClus0dzVhdGvoGFYMJxoXZ12Q==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 || ^6.0.0 || ^7.0.0 + vite-plugin-svgo@2.0.0: resolution: {integrity: sha512-WaiOUlmt1fKw1w/WWJnx9gVk42D1BASKZmGCPpy6iTLE5iIemN2lim3MwI7Rffyt3aQnPrLfLSLnI8ZUJ9s49g==} peerDependencies: @@ -14056,18 +14922,18 @@ packages: yaml: optional: true - vitest@4.0.16: - resolution: {integrity: sha512-E4t7DJ9pESL6E3I8nFjPa4xGUd3PmiWDLsDztS2qXSJWfHtbQnwAWylaBvSNY48I3vr8PTqIZlyK8TE3V3CA4Q==} + vitest@4.0.18: + resolution: {integrity: sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==} engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.0.16 - '@vitest/browser-preview': 4.0.16 - '@vitest/browser-webdriverio': 4.0.16 - '@vitest/ui': 4.0.16 + '@vitest/browser-playwright': 4.0.18 + '@vitest/browser-preview': 4.0.18 + '@vitest/browser-webdriverio': 4.0.18 + '@vitest/ui': 4.0.18 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -14157,6 +15023,10 @@ packages: wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + web-ext-run@0.2.4: + resolution: {integrity: sha512-rQicL7OwuqWdQWI33JkSXKcp7cuv1mJG8u3jRQwx/8aDsmhbTHs9ZRmNYOL+LX0wX8edIEQX8jj4bB60GoXtKA==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} @@ -14164,12 +15034,12 @@ packages: resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} engines: {node: '>= 8'} - webdriver@9.23.0: - resolution: {integrity: sha512-XkZOhjoBOY7maKI3BhDF2rNiDne4wBD6Gw6VUnt4X9b7j9NtfzcCrThBlT0hnA8W77bWNtMRCSpw9Ajy08HqKg==} + webdriver@9.23.2: + resolution: {integrity: sha512-HZy3eydZbmex0pbyLwHaDsAyZ+S+V4XQTdGK/nAOi4uPa74U6yT9vXqtb+3B+5/LDM7L8kTD6Z3b1y4gB4pmTw==} engines: {node: '>=18.20.0'} - webdriverio@9.23.0: - resolution: {integrity: sha512-Y5y4jpwHvuduUfup+gXTuCU6AROn/k6qOba3st0laFluKHY+q5SHOpQAJdS8acYLwE8caDQ2dXJhmXyxuJrm0Q==} + webdriverio@9.23.2: + resolution: {integrity: sha512-VjfTw1bRJdBrzjoCu7BGThxn1JK2V7mAGvxibaBrCNIayPPQjLhVDNJPOVEiR7txM6zmOUWxhkCDxHjhMYirfQ==} engines: {node: '>=18.20.0'} peerDependencies: puppeteer-core: '>=22.x || <=24.x' @@ -14221,6 +15091,9 @@ packages: resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==} engines: {node: '>=10.13.0'} + webpack-virtual-modules@0.6.2: + resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + webpack@5.101.3: resolution: {integrity: sha512-7b0dTKR3Ed//AD/6kkx/o7duS8H3f1a4w3BYpIriX4BzIhjkn4teo05cptsxvLesHFKK5KObnadmCHBwGc+51A==} engines: {node: '>=10.13.0'} @@ -14284,6 +15157,12 @@ packages: wheel@1.0.0: resolution: {integrity: sha512-XiCMHibOiqalCQ+BaNSwRoZ9FDTAvOsXxGHXChBugewDj7HC8VBIER71dEOiRH1fSdLbRCQzngKTSiZ06ZQzeA==} + when-exit@2.1.5: + resolution: {integrity: sha512-VGkKJ564kzt6Ms1dbgPP/yuIoQCrsFAnRbptpC5wOEsDaNsbCB2bnfnaA8i/vRs5tjUSEOtIuvl9/MyVsvQZCg==} + + when@3.7.7: + resolution: {integrity: sha512-9lFZp/KHoqH6bPKjbWqa+3Dg/K/r2v0X/3/G2x4DBGchVS2QX2VXL3cZV994WQVnTM1/PD71Az25nAzryEUugw==} + which-boxed-primitive@1.1.1: resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} engines: {node: '>= 0.4'} @@ -14300,6 +15179,10 @@ packages: resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} engines: {node: '>= 0.4'} + which@1.2.4: + resolution: {integrity: sha512-zDRAqDSBudazdfM9zpiI30Fu9ve47htYXcGi3ln0wfKu2a7SmrT6F3VDoYONu//48V8Vz4TdCRNPjtvyRO3yBA==} + hasBin: true + which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true @@ -14332,6 +15215,13 @@ packages: wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + widest-line@5.0.0: + resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==} + engines: {node: '>=18'} + + winreg@0.0.12: + resolution: {integrity: sha512-typ/+JRmi7RqP1NanzFULK36vczznSNN8kWVA9vIqXyv8GhghUlwhGp1Xj3Nms1FsPcNnsQrJOR10N58/nQ9hQ==} + word-wrap@1.2.5: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} @@ -14365,6 +15255,10 @@ packages: resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + write-file-atomic@7.0.0: + resolution: {integrity: sha512-YnlPC6JqnZl6aO4uRc+dx5PHguiR9S6WeoLtpxNT9wIG+BDya7ZNE1q7KOjVgaA73hKhKLpVPgJ5QA9THQ5BRg==} + engines: {node: ^20.17.0 || >=22.9.0} + ws@7.5.10: resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} engines: {node: '>=8.3.0'} @@ -14405,6 +15299,14 @@ packages: resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} engines: {node: '>=18'} + wxt@0.20.13: + resolution: {integrity: sha512-FwQEk+0a4/pYha6rTKGl5iicU6kRYDBDiElJf55CFEfoJKqvGzBTZpphafurQfqU1X0hvAm9w5GEWC0thXI6wQ==} + hasBin: true + + xdg-basedir@5.1.0: + resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} + engines: {node: '>=12'} + xml-name-validator@3.0.0: resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} @@ -14528,6 +15430,9 @@ packages: engines: {node: '>=8.0.0'} hasBin: true + zip-dir@2.0.0: + resolution: {integrity: sha512-uhlsJZWz26FLYXOD6WVuq+fIcZ3aBPGo/cFdiLlv3KNwpa52IF3ISV8fLhQLiqVu5No3VhlqlgthN6gehil1Dg==} + zip-stream@6.0.1: resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} engines: {node: '>= 14'} @@ -14558,6 +15463,22 @@ packages: snapshots: + '@1natsu/wait-element@4.1.2': + dependencies: + defu: 6.1.4 + many-keys-map: 2.0.1 + + '@adobe/css-tools@4.4.4': {} + + '@aklinker1/rollup-plugin-visualizer@5.12.0(rollup@4.52.0)': + dependencies: + open: 8.4.2 + picomatch: 2.3.1 + source-map: 0.7.6 + yargs: 17.7.2 + optionalDependencies: + rollup: 4.52.0 + '@ampproject/remapping@2.3.0': dependencies: '@jridgewell/gen-mapping': 0.3.13 @@ -14656,33 +15577,33 @@ snapshots: '@aws-sdk/util-user-agent-browser': 3.821.0 '@aws-sdk/util-user-agent-node': 3.823.0 '@smithy/config-resolver': 4.1.4 - '@smithy/core': 3.20.0 + '@smithy/core': 3.21.0 '@smithy/eventstream-serde-browser': 4.0.4 '@smithy/eventstream-serde-config-resolver': 4.1.2 '@smithy/eventstream-serde-node': 4.0.4 - '@smithy/fetch-http-handler': 5.3.6 + '@smithy/fetch-http-handler': 5.3.9 '@smithy/hash-node': 4.0.4 '@smithy/invalid-dependency': 4.0.4 '@smithy/middleware-content-length': 4.0.4 - '@smithy/middleware-endpoint': 4.4.1 - '@smithy/middleware-retry': 4.4.19 - '@smithy/middleware-serde': 4.2.6 - '@smithy/middleware-stack': 4.2.7 - '@smithy/node-config-provider': 4.3.7 - '@smithy/node-http-handler': 4.4.5 - '@smithy/protocol-http': 5.3.7 - '@smithy/smithy-client': 4.10.2 - '@smithy/types': 4.11.0 - '@smithy/url-parser': 4.2.5 + '@smithy/middleware-endpoint': 4.4.10 + '@smithy/middleware-retry': 4.4.27 + '@smithy/middleware-serde': 4.2.9 + '@smithy/middleware-stack': 4.2.8 + '@smithy/node-config-provider': 4.3.8 + '@smithy/node-http-handler': 4.4.8 + '@smithy/protocol-http': 5.3.8 + '@smithy/smithy-client': 4.10.11 + '@smithy/types': 4.12.0 + '@smithy/url-parser': 4.2.8 '@smithy/util-base64': 4.3.0 '@smithy/util-body-length-browser': 4.2.0 '@smithy/util-body-length-node': 4.0.0 '@smithy/util-defaults-mode-browser': 4.0.22 '@smithy/util-defaults-mode-node': 4.0.22 '@smithy/util-endpoints': 3.0.6 - '@smithy/util-middleware': 4.2.7 - '@smithy/util-retry': 4.2.7 - '@smithy/util-stream': 4.5.8 + '@smithy/util-middleware': 4.2.8 + '@smithy/util-retry': 4.2.8 + '@smithy/util-stream': 4.5.10 '@smithy/util-utf8': 4.2.0 '@types/uuid': 9.0.8 tslib: 2.8.1 @@ -14705,29 +15626,29 @@ snapshots: '@aws-sdk/util-user-agent-browser': 3.821.0 '@aws-sdk/util-user-agent-node': 3.823.0 '@smithy/config-resolver': 4.1.4 - '@smithy/core': 3.20.0 - '@smithy/fetch-http-handler': 5.3.8 + '@smithy/core': 3.21.0 + '@smithy/fetch-http-handler': 5.3.9 '@smithy/hash-node': 4.0.4 '@smithy/invalid-dependency': 4.0.4 '@smithy/middleware-content-length': 4.0.4 - '@smithy/middleware-endpoint': 4.4.1 - '@smithy/middleware-retry': 4.4.19 - '@smithy/middleware-serde': 4.2.8 - '@smithy/middleware-stack': 4.2.7 - '@smithy/node-config-provider': 4.3.7 - '@smithy/node-http-handler': 4.4.7 - '@smithy/protocol-http': 5.3.7 - '@smithy/smithy-client': 4.10.2 - '@smithy/types': 4.11.0 - '@smithy/url-parser': 4.2.7 + '@smithy/middleware-endpoint': 4.4.10 + '@smithy/middleware-retry': 4.4.27 + '@smithy/middleware-serde': 4.2.9 + '@smithy/middleware-stack': 4.2.8 + '@smithy/node-config-provider': 4.3.8 + '@smithy/node-http-handler': 4.4.8 + '@smithy/protocol-http': 5.3.8 + '@smithy/smithy-client': 4.10.11 + '@smithy/types': 4.12.0 + '@smithy/url-parser': 4.2.8 '@smithy/util-base64': 4.3.0 '@smithy/util-body-length-browser': 4.2.0 '@smithy/util-body-length-node': 4.0.0 '@smithy/util-defaults-mode-browser': 4.0.22 '@smithy/util-defaults-mode-node': 4.0.22 '@smithy/util-endpoints': 3.0.6 - '@smithy/util-middleware': 4.2.7 - '@smithy/util-retry': 4.2.7 + '@smithy/util-middleware': 4.2.8 + '@smithy/util-retry': 4.2.8 '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 transitivePeerDependencies: @@ -14737,16 +15658,16 @@ snapshots: dependencies: '@aws-sdk/types': 3.821.0 '@aws-sdk/xml-builder': 3.821.0 - '@smithy/core': 3.20.0 - '@smithy/node-config-provider': 4.3.7 - '@smithy/property-provider': 4.2.7 - '@smithy/protocol-http': 5.3.7 + '@smithy/core': 3.21.0 + '@smithy/node-config-provider': 4.3.8 + '@smithy/property-provider': 4.2.8 + '@smithy/protocol-http': 5.3.8 '@smithy/signature-v4': 5.1.2 - '@smithy/smithy-client': 4.10.2 - '@smithy/types': 4.11.0 + '@smithy/smithy-client': 4.10.11 + '@smithy/types': 4.12.0 '@smithy/util-base64': 4.3.0 '@smithy/util-body-length-browser': 4.2.0 - '@smithy/util-middleware': 4.2.7 + '@smithy/util-middleware': 4.2.8 '@smithy/util-utf8': 4.2.0 fast-xml-parser: 4.4.1 tslib: 2.8.1 @@ -14755,21 +15676,21 @@ snapshots: dependencies: '@aws-sdk/core': 3.823.0 '@aws-sdk/types': 3.821.0 - '@smithy/property-provider': 4.2.7 - '@smithy/types': 4.11.0 + '@smithy/property-provider': 4.2.8 + '@smithy/types': 4.12.0 tslib: 2.8.1 '@aws-sdk/credential-provider-http@3.823.0': dependencies: '@aws-sdk/core': 3.823.0 '@aws-sdk/types': 3.821.0 - '@smithy/fetch-http-handler': 5.3.8 - '@smithy/node-http-handler': 4.4.7 - '@smithy/property-provider': 4.2.7 - '@smithy/protocol-http': 5.3.7 - '@smithy/smithy-client': 4.10.2 - '@smithy/types': 4.11.0 - '@smithy/util-stream': 4.5.8 + '@smithy/fetch-http-handler': 5.3.9 + '@smithy/node-http-handler': 4.4.8 + '@smithy/property-provider': 4.2.8 + '@smithy/protocol-http': 5.3.8 + '@smithy/smithy-client': 4.10.11 + '@smithy/types': 4.12.0 + '@smithy/util-stream': 4.5.10 tslib: 2.8.1 '@aws-sdk/credential-provider-ini@3.823.0': @@ -14783,9 +15704,9 @@ snapshots: '@aws-sdk/nested-clients': 3.823.0 '@aws-sdk/types': 3.821.0 '@smithy/credential-provider-imds': 4.0.6 - '@smithy/property-provider': 4.2.7 - '@smithy/shared-ini-file-loader': 4.4.2 - '@smithy/types': 4.11.0 + '@smithy/property-provider': 4.2.8 + '@smithy/shared-ini-file-loader': 4.4.3 + '@smithy/types': 4.12.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -14800,9 +15721,9 @@ snapshots: '@aws-sdk/credential-provider-web-identity': 3.823.0 '@aws-sdk/types': 3.821.0 '@smithy/credential-provider-imds': 4.0.6 - '@smithy/property-provider': 4.2.7 - '@smithy/shared-ini-file-loader': 4.4.2 - '@smithy/types': 4.11.0 + '@smithy/property-provider': 4.2.8 + '@smithy/shared-ini-file-loader': 4.4.3 + '@smithy/types': 4.12.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -14811,9 +15732,9 @@ snapshots: dependencies: '@aws-sdk/core': 3.823.0 '@aws-sdk/types': 3.821.0 - '@smithy/property-provider': 4.2.7 - '@smithy/shared-ini-file-loader': 4.4.2 - '@smithy/types': 4.11.0 + '@smithy/property-provider': 4.2.8 + '@smithy/shared-ini-file-loader': 4.4.3 + '@smithy/types': 4.12.0 tslib: 2.8.1 '@aws-sdk/credential-provider-sso@3.823.0': @@ -14822,9 +15743,9 @@ snapshots: '@aws-sdk/core': 3.823.0 '@aws-sdk/token-providers': 3.823.0 '@aws-sdk/types': 3.821.0 - '@smithy/property-provider': 4.2.7 - '@smithy/shared-ini-file-loader': 4.4.2 - '@smithy/types': 4.11.0 + '@smithy/property-provider': 4.2.8 + '@smithy/shared-ini-file-loader': 4.4.3 + '@smithy/types': 4.12.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -14834,8 +15755,8 @@ snapshots: '@aws-sdk/core': 3.823.0 '@aws-sdk/nested-clients': 3.823.0 '@aws-sdk/types': 3.821.0 - '@smithy/property-provider': 4.2.7 - '@smithy/types': 4.11.0 + '@smithy/property-provider': 4.2.8 + '@smithy/types': 4.12.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -14844,34 +15765,34 @@ snapshots: dependencies: '@aws-sdk/types': 3.821.0 '@smithy/eventstream-codec': 4.0.4 - '@smithy/types': 4.11.0 + '@smithy/types': 4.12.0 tslib: 2.8.1 '@aws-sdk/middleware-eventstream@3.821.0': dependencies: '@aws-sdk/types': 3.821.0 - '@smithy/protocol-http': 5.3.7 - '@smithy/types': 4.11.0 + '@smithy/protocol-http': 5.3.8 + '@smithy/types': 4.12.0 tslib: 2.8.1 '@aws-sdk/middleware-host-header@3.821.0': dependencies: '@aws-sdk/types': 3.821.0 - '@smithy/protocol-http': 5.3.7 - '@smithy/types': 4.11.0 + '@smithy/protocol-http': 5.3.8 + '@smithy/types': 4.12.0 tslib: 2.8.1 '@aws-sdk/middleware-logger@3.821.0': dependencies: '@aws-sdk/types': 3.821.0 - '@smithy/types': 4.11.0 + '@smithy/types': 4.12.0 tslib: 2.8.1 '@aws-sdk/middleware-recursion-detection@3.821.0': dependencies: '@aws-sdk/types': 3.821.0 - '@smithy/protocol-http': 5.3.7 - '@smithy/types': 4.11.0 + '@smithy/protocol-http': 5.3.8 + '@smithy/types': 4.12.0 tslib: 2.8.1 '@aws-sdk/middleware-user-agent@3.823.0': @@ -14879,9 +15800,9 @@ snapshots: '@aws-sdk/core': 3.823.0 '@aws-sdk/types': 3.821.0 '@aws-sdk/util-endpoints': 3.821.0 - '@smithy/core': 3.20.0 - '@smithy/protocol-http': 5.3.7 - '@smithy/types': 4.11.0 + '@smithy/core': 3.21.0 + '@smithy/protocol-http': 5.3.8 + '@smithy/types': 4.12.0 tslib: 2.8.1 '@aws-sdk/nested-clients@3.823.0': @@ -14899,29 +15820,29 @@ snapshots: '@aws-sdk/util-user-agent-browser': 3.821.0 '@aws-sdk/util-user-agent-node': 3.823.0 '@smithy/config-resolver': 4.1.4 - '@smithy/core': 3.20.0 - '@smithy/fetch-http-handler': 5.3.8 + '@smithy/core': 3.21.0 + '@smithy/fetch-http-handler': 5.3.9 '@smithy/hash-node': 4.0.4 '@smithy/invalid-dependency': 4.0.4 '@smithy/middleware-content-length': 4.0.4 - '@smithy/middleware-endpoint': 4.4.1 - '@smithy/middleware-retry': 4.4.19 - '@smithy/middleware-serde': 4.2.8 - '@smithy/middleware-stack': 4.2.7 - '@smithy/node-config-provider': 4.3.7 - '@smithy/node-http-handler': 4.4.7 - '@smithy/protocol-http': 5.3.7 - '@smithy/smithy-client': 4.10.2 - '@smithy/types': 4.11.0 - '@smithy/url-parser': 4.2.7 + '@smithy/middleware-endpoint': 4.4.10 + '@smithy/middleware-retry': 4.4.27 + '@smithy/middleware-serde': 4.2.9 + '@smithy/middleware-stack': 4.2.8 + '@smithy/node-config-provider': 4.3.8 + '@smithy/node-http-handler': 4.4.8 + '@smithy/protocol-http': 5.3.8 + '@smithy/smithy-client': 4.10.11 + '@smithy/types': 4.12.0 + '@smithy/url-parser': 4.2.8 '@smithy/util-base64': 4.3.0 '@smithy/util-body-length-browser': 4.2.0 '@smithy/util-body-length-node': 4.0.0 '@smithy/util-defaults-mode-browser': 4.0.22 '@smithy/util-defaults-mode-node': 4.0.22 '@smithy/util-endpoints': 3.0.6 - '@smithy/util-middleware': 4.2.7 - '@smithy/util-retry': 4.2.7 + '@smithy/util-middleware': 4.2.8 + '@smithy/util-retry': 4.2.8 '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 transitivePeerDependencies: @@ -14930,10 +15851,10 @@ snapshots: '@aws-sdk/region-config-resolver@3.821.0': dependencies: '@aws-sdk/types': 3.821.0 - '@smithy/node-config-provider': 4.3.7 - '@smithy/types': 4.11.0 + '@smithy/node-config-provider': 4.3.8 + '@smithy/types': 4.12.0 '@smithy/util-config-provider': 4.0.0 - '@smithy/util-middleware': 4.2.7 + '@smithy/util-middleware': 4.2.8 tslib: 2.8.1 '@aws-sdk/token-providers@3.823.0': @@ -14941,22 +15862,22 @@ snapshots: '@aws-sdk/core': 3.823.0 '@aws-sdk/nested-clients': 3.823.0 '@aws-sdk/types': 3.821.0 - '@smithy/property-provider': 4.2.7 - '@smithy/shared-ini-file-loader': 4.4.2 - '@smithy/types': 4.11.0 + '@smithy/property-provider': 4.2.8 + '@smithy/shared-ini-file-loader': 4.4.3 + '@smithy/types': 4.12.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt '@aws-sdk/types@3.821.0': dependencies: - '@smithy/types': 4.11.0 + '@smithy/types': 4.12.0 tslib: 2.8.1 '@aws-sdk/util-endpoints@3.821.0': dependencies: '@aws-sdk/types': 3.821.0 - '@smithy/types': 4.11.0 + '@smithy/types': 4.12.0 '@smithy/util-endpoints': 3.0.6 tslib: 2.8.1 @@ -14967,7 +15888,7 @@ snapshots: '@aws-sdk/util-user-agent-browser@3.821.0': dependencies: '@aws-sdk/types': 3.821.0 - '@smithy/types': 4.11.0 + '@smithy/types': 4.12.0 bowser: 2.11.0 tslib: 2.8.1 @@ -14975,13 +15896,13 @@ snapshots: dependencies: '@aws-sdk/middleware-user-agent': 3.823.0 '@aws-sdk/types': 3.821.0 - '@smithy/node-config-provider': 4.3.7 - '@smithy/types': 4.11.0 + '@smithy/node-config-provider': 4.3.8 + '@smithy/types': 4.12.0 tslib: 2.8.1 '@aws-sdk/xml-builder@3.821.0': dependencies: - '@smithy/types': 4.11.0 + '@smithy/types': 4.12.0 tslib: 2.8.1 '@babel/code-frame@7.27.1': @@ -15022,7 +15943,7 @@ snapshots: '@babel/generator@7.28.3': dependencies: - '@babel/parser': 7.28.4 + '@babel/parser': 7.28.5 '@babel/types': 7.28.5 '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 @@ -15109,12 +16030,14 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/runtime@7.28.2': {} + '@babel/runtime@7.28.4': {} '@babel/template@7.27.2': dependencies: '@babel/code-frame': 7.27.1 - '@babel/parser': 7.28.4 + '@babel/parser': 7.28.5 '@babel/types': 7.28.5 '@babel/traverse@7.28.4': @@ -15122,7 +16045,7 @@ snapshots: '@babel/code-frame': 7.27.1 '@babel/generator': 7.28.3 '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.28.4 + '@babel/parser': 7.28.5 '@babel/template': 7.27.2 '@babel/types': 7.28.5 debug: 4.4.3(supports-color@8.1.1) @@ -15193,10 +16116,10 @@ snapshots: '@chevrotain/utils@11.0.3': {} - '@ckeditor/ckeditor-cloud-services-collaboration@53.0.1(@ckeditor/ckeditor5-utils@47.3.0)(bufferutil@4.0.9)(ckeditor5@47.3.0)(utf-8-validate@6.0.5)': + '@ckeditor/ckeditor-cloud-services-collaboration@53.0.2(@ckeditor/ckeditor5-utils@47.4.0)(bufferutil@4.0.9)(ckeditor5@47.4.0)(utf-8-validate@6.0.5)': dependencies: - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 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 @@ -15207,31 +16130,31 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-adapter-ckfinder@47.3.0': + '@ckeditor/ckeditor5-adapter-ckfinder@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-upload': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-upload': 47.4.0 + ckeditor5: 47.4.0 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-ai@47.3.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': + '@ckeditor/ckeditor5-ai@47.4.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@aws-sdk/client-bedrock-runtime': 3.823.0 - '@ckeditor/ckeditor5-clipboard': 47.3.0 - '@ckeditor/ckeditor5-cloud-services': 47.3.0 - '@ckeditor/ckeditor5-collaboration-core': 47.3.0 - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-markdown-gfm': 47.3.0 - '@ckeditor/ckeditor5-real-time-collaboration': 47.3.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-table': 47.3.0 - '@ckeditor/ckeditor5-theme-lark': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 - ckeditor5-collaboration: 47.3.0 + '@ckeditor/ckeditor5-clipboard': 47.4.0 + '@ckeditor/ckeditor5-cloud-services': 47.4.0 + '@ckeditor/ckeditor5-collaboration-core': 47.4.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-markdown-gfm': 47.4.0 + '@ckeditor/ckeditor5-real-time-collaboration': 47.4.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-table': 47.4.0 + '@ckeditor/ckeditor5-theme-lark': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 + ckeditor5-collaboration: 47.4.0 diff: 8.0.2 dom-serializer: 2.0.0 domhandler: 5.0.3 @@ -15246,193 +16169,193 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-alignment@47.3.0': + '@ckeditor/ckeditor5-alignment@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-autoformat@47.3.0': + '@ckeditor/ckeditor5-autoformat@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-heading': 47.3.0 - '@ckeditor/ckeditor5-typing': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-heading': 47.4.0 + '@ckeditor/ckeditor5-typing': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-autosave@47.3.0': + '@ckeditor/ckeditor5-autosave@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 es-toolkit: 1.39.5 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-basic-styles@47.3.0': + '@ckeditor/ckeditor5-basic-styles@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-typing': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-typing': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-block-quote@47.3.0': + '@ckeditor/ckeditor5-block-quote@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-enter': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-typing': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-enter': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-typing': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-bookmark@47.3.0': + '@ckeditor/ckeditor5-bookmark@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-link': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - '@ckeditor/ckeditor5-widget': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-link': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + '@ckeditor/ckeditor5-widget': 47.4.0 + ckeditor5: 47.4.0 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-case-change@47.3.0': + '@ckeditor/ckeditor5-case-change@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 - '@ckeditor/ckeditor5-ckbox@47.3.0': + '@ckeditor/ckeditor5-ckbox@47.4.0': dependencies: - '@ckeditor/ckeditor5-cloud-services': 47.3.0 - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-image': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-upload': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 + '@ckeditor/ckeditor5-cloud-services': 47.4.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-image': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-upload': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 blurhash: 2.0.5 - ckeditor5: 47.3.0 + ckeditor5: 47.4.0 es-toolkit: 1.39.5 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-ckfinder@47.3.0': + '@ckeditor/ckeditor5-ckfinder@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-image': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-image': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-clipboard@47.3.0': + '@ckeditor/ckeditor5-clipboard@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - '@ckeditor/ckeditor5-widget': 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + '@ckeditor/ckeditor5-widget': 47.4.0 es-toolkit: 1.39.5 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-cloud-services@47.3.0': + '@ckeditor/ckeditor5-cloud-services@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-code-block@47.3.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': + '@ckeditor/ckeditor5-code-block@47.4.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: - '@ckeditor/ckeditor5-clipboard': 47.3.0 - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-enter': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-clipboard': 47.4.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-enter': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-collaboration-core@47.3.0': + '@ckeditor/ckeditor5-collaboration-core@47.4.0': dependencies: - '@ckeditor/ckeditor5-comments': 47.3.0 - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-link': 47.3.0 - '@ckeditor/ckeditor5-list': 47.3.0 - '@ckeditor/ckeditor5-theme-lark': 47.3.0 - '@ckeditor/ckeditor5-track-changes': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - '@ckeditor/ckeditor5-widget': 47.3.0 + '@ckeditor/ckeditor5-comments': 47.4.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-link': 47.4.0 + '@ckeditor/ckeditor5-list': 47.4.0 + '@ckeditor/ckeditor5-theme-lark': 47.4.0 + '@ckeditor/ckeditor5-track-changes': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + '@ckeditor/ckeditor5-widget': 47.4.0 '@types/luxon': 3.6.2 - ckeditor5: 47.3.0 + ckeditor5: 47.4.0 diff: 8.0.2 luxon: 3.6.1 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-comments@47.3.0': + '@ckeditor/ckeditor5-comments@47.4.0': dependencies: - '@ckeditor/ckeditor5-clipboard': 47.3.0 - '@ckeditor/ckeditor5-collaboration-core': 47.3.0 - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-enter': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-paragraph': 47.3.0 - '@ckeditor/ckeditor5-revision-history': 47.3.0 - '@ckeditor/ckeditor5-select-all': 47.3.0 - '@ckeditor/ckeditor5-source-editing': 47.3.0 - '@ckeditor/ckeditor5-theme-lark': 47.3.0 - '@ckeditor/ckeditor5-typing': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-undo': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - '@ckeditor/ckeditor5-widget': 47.3.0 - ckeditor5: 47.3.0 - ckeditor5-collaboration: 47.3.0 + '@ckeditor/ckeditor5-clipboard': 47.4.0 + '@ckeditor/ckeditor5-collaboration-core': 47.4.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-enter': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-paragraph': 47.4.0 + '@ckeditor/ckeditor5-revision-history': 47.4.0 + '@ckeditor/ckeditor5-select-all': 47.4.0 + '@ckeditor/ckeditor5-source-editing': 47.4.0 + '@ckeditor/ckeditor5-theme-lark': 47.4.0 + '@ckeditor/ckeditor5-typing': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-undo': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + '@ckeditor/ckeditor5-widget': 47.4.0 + ckeditor5: 47.4.0 + ckeditor5-collaboration: 47.4.0 es-toolkit: 1.39.5 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-core@47.3.0': + '@ckeditor/ckeditor5-core@47.4.0': dependencies: - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - '@ckeditor/ckeditor5-watchdog': 47.3.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + '@ckeditor/ckeditor5-watchdog': 47.4.0 es-toolkit: 1.39.5 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-dev-build-tools@54.2.3(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.9.3)': + '@ckeditor/ckeditor5-dev-build-tools@54.3.2(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.9.3)': dependencies: '@rollup/plugin-commonjs': 28.0.9(rollup@4.52.0) '@rollup/plugin-json': 6.1.0(rollup@4.52.0) @@ -15526,385 +16449,393 @@ snapshots: - uglify-js - webpack - '@ckeditor/ckeditor5-document-outline@47.3.0': + '@ckeditor/ckeditor5-document-outline@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-heading': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - '@ckeditor/ckeditor5-widget': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-heading': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + '@ckeditor/ckeditor5-widget': 47.4.0 + ckeditor5: 47.4.0 es-toolkit: 1.39.5 - '@ckeditor/ckeditor5-easy-image@47.3.0': + '@ckeditor/ckeditor5-easy-image@47.4.0': dependencies: - '@ckeditor/ckeditor5-cloud-services': 47.3.0 - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-upload': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-cloud-services': 47.4.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-upload': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-editor-balloon@47.3.0': + '@ckeditor/ckeditor5-editor-balloon@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 es-toolkit: 1.39.5 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-editor-classic@47.3.0': + '@ckeditor/ckeditor5-editor-classic@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 es-toolkit: 1.39.5 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-editor-decoupled@47.3.0': + '@ckeditor/ckeditor5-editor-decoupled@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 es-toolkit: 1.39.5 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-editor-inline@47.3.0': + '@ckeditor/ckeditor5-editor-inline@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 es-toolkit: 1.39.5 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-editor-multi-root@47.3.0': + '@ckeditor/ckeditor5-editor-multi-root@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 es-toolkit: 1.39.5 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-email@47.3.0': + '@ckeditor/ckeditor5-email@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-export-inline-styles': 47.3.0 - '@ckeditor/ckeditor5-font': 47.3.0 - '@ckeditor/ckeditor5-html-support': 47.3.0 - '@ckeditor/ckeditor5-list': 47.3.0 - '@ckeditor/ckeditor5-table': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-export-inline-styles': 47.4.0 + '@ckeditor/ckeditor5-font': 47.4.0 + '@ckeditor/ckeditor5-html-support': 47.4.0 + '@ckeditor/ckeditor5-list': 47.4.0 + '@ckeditor/ckeditor5-table': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 - '@ckeditor/ckeditor5-emoji@47.3.0': + '@ckeditor/ckeditor5-emoji@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-mention': 47.3.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d) - '@ckeditor/ckeditor5-typing': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-mention': 47.4.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d) + '@ckeditor/ckeditor5-typing': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 es-toolkit: 1.39.5 fuzzysort: 3.1.0 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-engine@47.3.0': + '@ckeditor/ckeditor5-engine@47.4.0': dependencies: - '@ckeditor/ckeditor5-utils': 47.3.0 + '@ckeditor/ckeditor5-utils': 47.4.0 es-toolkit: 1.39.5 - '@ckeditor/ckeditor5-enter@47.3.0': + '@ckeditor/ckeditor5-enter@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 - '@ckeditor/ckeditor5-essentials@47.3.0': + '@ckeditor/ckeditor5-essentials@47.4.0': dependencies: - '@ckeditor/ckeditor5-clipboard': 47.3.0 - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-enter': 47.3.0 - '@ckeditor/ckeditor5-select-all': 47.3.0 - '@ckeditor/ckeditor5-typing': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-undo': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-clipboard': 47.4.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-enter': 47.4.0 + '@ckeditor/ckeditor5-select-all': 47.4.0 + '@ckeditor/ckeditor5-typing': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-undo': 47.4.0 + ckeditor5: 47.4.0 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-export-inline-styles@47.3.0': + '@ckeditor/ckeditor5-export-inline-styles@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 specificity: 0.4.1 - '@ckeditor/ckeditor5-export-pdf@47.3.0': + '@ckeditor/ckeditor5-export-pdf@47.4.0': dependencies: - '@ckeditor/ckeditor5-cloud-services': 47.3.0 - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-merge-fields': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-cloud-services': 47.4.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-merge-fields': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 - '@ckeditor/ckeditor5-export-word@47.3.0': + '@ckeditor/ckeditor5-export-word@47.4.0': dependencies: - '@ckeditor/ckeditor5-cloud-services': 47.3.0 - '@ckeditor/ckeditor5-collaboration-core': 47.3.0 - '@ckeditor/ckeditor5-comments': 47.3.0 - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-merge-fields': 47.3.0 - '@ckeditor/ckeditor5-track-changes': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-cloud-services': 47.4.0 + '@ckeditor/ckeditor5-collaboration-core': 47.4.0 + '@ckeditor/ckeditor5-comments': 47.4.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-merge-fields': 47.4.0 + '@ckeditor/ckeditor5-track-changes': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-find-and-replace@47.3.0': + '@ckeditor/ckeditor5-find-and-replace@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 es-toolkit: 1.39.5 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-font@47.3.0': + '@ckeditor/ckeditor5-font@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-footnotes@47.3.0': + '@ckeditor/ckeditor5-footnotes@47.4.0': dependencies: - '@ckeditor/ckeditor5-clipboard': 47.3.0 - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - '@ckeditor/ckeditor5-widget': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-clipboard': 47.4.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + '@ckeditor/ckeditor5-widget': 47.4.0 + ckeditor5: 47.4.0 - '@ckeditor/ckeditor5-format-painter@47.3.0': + '@ckeditor/ckeditor5-format-painter@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 - '@ckeditor/ckeditor5-fullscreen@47.3.0': + '@ckeditor/ckeditor5-fullscreen@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-editor-classic': 47.3.0 - '@ckeditor/ckeditor5-editor-decoupled': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-editor-classic': 47.4.0 + '@ckeditor/ckeditor5-editor-decoupled': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-heading@47.3.0': + '@ckeditor/ckeditor5-heading@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-paragraph': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-paragraph': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-highlight@47.3.0': + '@ckeditor/ckeditor5-highlight@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-horizontal-line@47.3.0': + '@ckeditor/ckeditor5-horizontal-line@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - '@ckeditor/ckeditor5-widget': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + '@ckeditor/ckeditor5-widget': 47.4.0 + ckeditor5: 47.4.0 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-html-embed@47.3.0': + '@ckeditor/ckeditor5-html-embed@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - '@ckeditor/ckeditor5-widget': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + '@ckeditor/ckeditor5-widget': 47.4.0 + ckeditor5: 47.4.0 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-html-support@47.3.0': + '@ckeditor/ckeditor5-html-support@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-enter': 47.3.0 - '@ckeditor/ckeditor5-heading': 47.3.0 - '@ckeditor/ckeditor5-image': 47.3.0 - '@ckeditor/ckeditor5-list': 47.3.0 - '@ckeditor/ckeditor5-remove-format': 47.3.0 - '@ckeditor/ckeditor5-table': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - '@ckeditor/ckeditor5-widget': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-enter': 47.4.0 + '@ckeditor/ckeditor5-heading': 47.4.0 + '@ckeditor/ckeditor5-image': 47.4.0 + '@ckeditor/ckeditor5-list': 47.4.0 + '@ckeditor/ckeditor5-remove-format': 47.4.0 + '@ckeditor/ckeditor5-table': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + '@ckeditor/ckeditor5-widget': 47.4.0 + ckeditor5: 47.4.0 es-toolkit: 1.39.5 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-icons@47.3.0': {} + '@ckeditor/ckeditor5-icons@47.4.0': {} - '@ckeditor/ckeditor5-image@47.3.0': + '@ckeditor/ckeditor5-image@47.4.0': dependencies: - '@ckeditor/ckeditor5-clipboard': 47.3.0 - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-typing': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-undo': 47.3.0 - '@ckeditor/ckeditor5-upload': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - '@ckeditor/ckeditor5-widget': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-clipboard': 47.4.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-typing': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-undo': 47.4.0 + '@ckeditor/ckeditor5-upload': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + '@ckeditor/ckeditor5-widget': 47.4.0 + ckeditor5: 47.4.0 es-toolkit: 1.39.5 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-import-word@47.3.0': + '@ckeditor/ckeditor5-import-word@47.4.0': dependencies: - '@ckeditor/ckeditor5-clipboard': 47.3.0 - '@ckeditor/ckeditor5-cloud-services': 47.3.0 - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-merge-fields': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-clipboard': 47.4.0 + '@ckeditor/ckeditor5-cloud-services': 47.4.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-merge-fields': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 - '@ckeditor/ckeditor5-indent@47.3.0': + '@ckeditor/ckeditor5-indent@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-heading': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-list': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-heading': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-list': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-inspector@5.0.0': {} - '@ckeditor/ckeditor5-language@47.3.0': + '@ckeditor/ckeditor5-language@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 + transitivePeerDependencies: + - supports-color - '@ckeditor/ckeditor5-line-height@47.3.0': + '@ckeditor/ckeditor5-line-height@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-list': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-list': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 - '@ckeditor/ckeditor5-link@47.3.0': + '@ckeditor/ckeditor5-link@47.4.0': dependencies: - '@ckeditor/ckeditor5-clipboard': 47.3.0 - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-image': 47.3.0 - '@ckeditor/ckeditor5-typing': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - '@ckeditor/ckeditor5-widget': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-clipboard': 47.4.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-image': 47.4.0 + '@ckeditor/ckeditor5-typing': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + '@ckeditor/ckeditor5-widget': 47.4.0 + ckeditor5: 47.4.0 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color - '@ckeditor/ckeditor5-list-multi-level@47.3.0': + '@ckeditor/ckeditor5-list-multi-level@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-list': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-list': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 - '@ckeditor/ckeditor5-list@47.3.0': + '@ckeditor/ckeditor5-list@47.4.0': dependencies: - '@ckeditor/ckeditor5-clipboard': 47.3.0 - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-enter': 47.3.0 - '@ckeditor/ckeditor5-font': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-typing': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-clipboard': 47.4.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-enter': 47.4.0 + '@ckeditor/ckeditor5-font': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-typing': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 + transitivePeerDependencies: + - supports-color - '@ckeditor/ckeditor5-markdown-gfm@47.3.0': + '@ckeditor/ckeditor5-markdown-gfm@47.4.0': dependencies: - '@ckeditor/ckeditor5-clipboard': 47.3.0 - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 + '@ckeditor/ckeditor5-clipboard': 47.4.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 '@types/hast': 3.0.4 - ckeditor5: 47.3.0 + ckeditor5: 47.4.0 hast-util-from-dom: 5.0.1 hast-util-to-html: 9.0.5 hast-util-to-mdast: 10.1.2 @@ -15922,58 +16853,58 @@ snapshots: transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-media-embed@47.3.0': + '@ckeditor/ckeditor5-media-embed@47.4.0': dependencies: - '@ckeditor/ckeditor5-clipboard': 47.3.0 - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-typing': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-undo': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - '@ckeditor/ckeditor5-widget': 47.3.0 - ckeditor5: 47.3.0 - - '@ckeditor/ckeditor5-mention@47.3.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)': - dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-typing': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 - es-toolkit: 1.39.5 - - '@ckeditor/ckeditor5-merge-fields@47.3.0': - dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-image': 47.3.0 - '@ckeditor/ckeditor5-mention': 47.3.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d) - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - '@ckeditor/ckeditor5-widget': 47.3.0 - ckeditor5: 47.3.0 - es-toolkit: 1.39.5 - - '@ckeditor/ckeditor5-minimap@47.3.0': - dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-clipboard': 47.4.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-typing': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-undo': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + '@ckeditor/ckeditor5-widget': 47.4.0 + ckeditor5: 47.4.0 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-operations-compressor@47.3.0': + '@ckeditor/ckeditor5-mention@47.4.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)': dependencies: - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-typing': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 + es-toolkit: 1.39.5 + + '@ckeditor/ckeditor5-merge-fields@47.4.0': + dependencies: + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-image': 47.4.0 + '@ckeditor/ckeditor5-mention': 47.4.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d) + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + '@ckeditor/ckeditor5-widget': 47.4.0 + ckeditor5: 47.4.0 + es-toolkit: 1.39.5 + + '@ckeditor/ckeditor5-minimap@47.4.0': + dependencies: + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 + + '@ckeditor/ckeditor5-operations-compressor@47.4.0': + dependencies: + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 es-toolkit: 1.39.5 protobufjs: 7.5.0 - '@ckeditor/ckeditor5-package-tools@5.0.1(@babel/core@7.28.0)(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.7)(bufferutil@4.0.9)(esbuild@0.27.2)(utf-8-validate@6.0.5)': + '@ckeditor/ckeditor5-package-tools@5.0.1(@babel/core@7.28.0)(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.9)(bufferutil@4.0.9)(esbuild@0.27.2)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-dev-translations': 54.0.0(@babel/core@7.28.0)(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.2)(typescript@5.0.4)(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.2)) '@ckeditor/ckeditor5-dev-utils': 54.0.0(@babel/core@7.28.0)(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.2)(typescript@5.0.4)(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.2)) @@ -15989,10 +16920,10 @@ snapshots: raw-loader: 4.0.2(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.2)) style-loader: 2.0.0(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.2)) stylelint: 16.26.1(typescript@5.0.4) - stylelint-config-ckeditor5: 2.0.1(stylelint@16.26.1(typescript@5.9.3)) + stylelint-config-ckeditor5: 2.0.1(stylelint@16.26.1(typescript@5.0.4)) terser-webpack-plugin: 5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.2)(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.2)) ts-loader: 9.5.4(typescript@5.0.4)(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.2)) - ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.7)(typescript@5.0.4) + ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.9)(typescript@5.0.4) typescript: 5.0.4 upath: 2.0.1 webpack: 5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.2) @@ -16011,141 +16942,141 @@ snapshots: - utf-8-validate - webpack-cli - '@ckeditor/ckeditor5-page-break@47.3.0': + '@ckeditor/ckeditor5-page-break@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - '@ckeditor/ckeditor5-widget': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + '@ckeditor/ckeditor5-widget': 47.4.0 + ckeditor5: 47.4.0 - '@ckeditor/ckeditor5-pagination@47.3.0': + '@ckeditor/ckeditor5-pagination@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-theme-lark': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-theme-lark': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 es-toolkit: 1.39.5 - '@ckeditor/ckeditor5-paragraph@47.3.0': + '@ckeditor/ckeditor5-paragraph@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 - '@ckeditor/ckeditor5-paste-from-office-enhanced@47.3.0': + '@ckeditor/ckeditor5-paste-from-office-enhanced@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-paste-from-office': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-paste-from-office': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 - '@ckeditor/ckeditor5-paste-from-office@47.3.0': + '@ckeditor/ckeditor5-paste-from-office@47.4.0': dependencies: - '@ckeditor/ckeditor5-clipboard': 47.3.0 - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-clipboard': 47.4.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + ckeditor5: 47.4.0 - '@ckeditor/ckeditor5-real-time-collaboration@47.3.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': + '@ckeditor/ckeditor5-real-time-collaboration@47.4.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: - '@ckeditor/ckeditor-cloud-services-collaboration': 53.0.1(@ckeditor/ckeditor5-utils@47.3.0)(bufferutil@4.0.9)(ckeditor5@47.3.0)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-cloud-services': 47.3.0 - '@ckeditor/ckeditor5-comments': 47.3.0 - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-editor-multi-root': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-operations-compressor': 47.3.0 - '@ckeditor/ckeditor5-revision-history': 47.3.0 - '@ckeditor/ckeditor5-theme-lark': 47.3.0 - '@ckeditor/ckeditor5-track-changes': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 - ckeditor5-collaboration: 47.3.0 + '@ckeditor/ckeditor-cloud-services-collaboration': 53.0.2(@ckeditor/ckeditor5-utils@47.4.0)(bufferutil@4.0.9)(ckeditor5@47.4.0)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-cloud-services': 47.4.0 + '@ckeditor/ckeditor5-comments': 47.4.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-editor-multi-root': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-operations-compressor': 47.4.0 + '@ckeditor/ckeditor5-revision-history': 47.4.0 + '@ckeditor/ckeditor5-theme-lark': 47.4.0 + '@ckeditor/ckeditor5-track-changes': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 + ckeditor5-collaboration: 47.4.0 es-toolkit: 1.39.5 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - '@ckeditor/ckeditor5-remove-format@47.3.0': + '@ckeditor/ckeditor5-remove-format@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 - '@ckeditor/ckeditor5-restricted-editing@47.3.0': + '@ckeditor/ckeditor5-restricted-editing@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 - '@ckeditor/ckeditor5-revision-history@47.3.0': + '@ckeditor/ckeditor5-revision-history@47.4.0': dependencies: - '@ckeditor/ckeditor5-autosave': 47.3.0 - '@ckeditor/ckeditor5-collaboration-core': 47.3.0 - '@ckeditor/ckeditor5-comments': 47.3.0 - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-editor-classic': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 + '@ckeditor/ckeditor5-autosave': 47.4.0 + '@ckeditor/ckeditor5-collaboration-core': 47.4.0 + '@ckeditor/ckeditor5-comments': 47.4.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-editor-classic': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 '@types/luxon': 3.6.2 - ckeditor5: 47.3.0 - ckeditor5-collaboration: 47.3.0 + ckeditor5: 47.4.0 + ckeditor5-collaboration: 47.4.0 es-toolkit: 1.39.5 luxon: 3.6.1 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-select-all@47.3.0': + '@ckeditor/ckeditor5-select-all@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 - '@ckeditor/ckeditor5-show-blocks@47.3.0': + '@ckeditor/ckeditor5-show-blocks@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 - '@ckeditor/ckeditor5-slash-command@47.3.0': + '@ckeditor/ckeditor5-slash-command@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-heading': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-mention': 47.3.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d) - '@ckeditor/ckeditor5-style': 47.3.0 - '@ckeditor/ckeditor5-template': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-heading': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-mention': 47.4.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d) + '@ckeditor/ckeditor5-style': 47.4.0 + '@ckeditor/ckeditor5-template': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 - '@ckeditor/ckeditor5-source-editing-enhanced@47.3.0': + '@ckeditor/ckeditor5-source-editing-enhanced@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-theme-lark': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-theme-lark': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 '@codemirror/autocomplete': 6.18.6 '@codemirror/commands': 6.8.1 '@codemirror/lang-html': 6.4.11 @@ -16153,109 +17084,109 @@ snapshots: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 '@codemirror/theme-one-dark': 6.1.2 - '@codemirror/view': 6.39.9 - ckeditor5: 47.3.0 + '@codemirror/view': 6.39.11 + ckeditor5: 47.4.0 - '@ckeditor/ckeditor5-source-editing@47.3.0': + '@ckeditor/ckeditor5-source-editing@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-theme-lark': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-theme-lark': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 - '@ckeditor/ckeditor5-special-characters@47.3.0': + '@ckeditor/ckeditor5-special-characters@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-typing': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-typing': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 - '@ckeditor/ckeditor5-style@47.3.0': + '@ckeditor/ckeditor5-style@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-html-support': 47.3.0 - '@ckeditor/ckeditor5-list': 47.3.0 - '@ckeditor/ckeditor5-table': 47.3.0 - '@ckeditor/ckeditor5-typing': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-html-support': 47.4.0 + '@ckeditor/ckeditor5-list': 47.4.0 + '@ckeditor/ckeditor5-table': 47.4.0 + '@ckeditor/ckeditor5-typing': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 es-toolkit: 1.39.5 - '@ckeditor/ckeditor5-table@47.3.0': + '@ckeditor/ckeditor5-table@47.4.0': dependencies: - '@ckeditor/ckeditor5-clipboard': 47.3.0 - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - '@ckeditor/ckeditor5-widget': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-clipboard': 47.4.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + '@ckeditor/ckeditor5-widget': 47.4.0 + ckeditor5: 47.4.0 es-toolkit: 1.39.5 - '@ckeditor/ckeditor5-template@47.3.0': + '@ckeditor/ckeditor5-template@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 - '@ckeditor/ckeditor5-theme-lark@47.3.0': + '@ckeditor/ckeditor5-theme-lark@47.4.0': dependencies: - '@ckeditor/ckeditor5-ui': 47.3.0 + '@ckeditor/ckeditor5-ui': 47.4.0 - '@ckeditor/ckeditor5-track-changes@47.3.0': + '@ckeditor/ckeditor5-track-changes@47.4.0': dependencies: - '@ckeditor/ckeditor5-clipboard': 47.3.0 - '@ckeditor/ckeditor5-code-block': 47.3.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95) - '@ckeditor/ckeditor5-collaboration-core': 47.3.0 - '@ckeditor/ckeditor5-comments': 47.3.0 - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-editor-multi-root': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-enter': 47.3.0 - '@ckeditor/ckeditor5-find-and-replace': 47.3.0 - '@ckeditor/ckeditor5-font': 47.3.0 - '@ckeditor/ckeditor5-heading': 47.3.0 - '@ckeditor/ckeditor5-highlight': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-image': 47.3.0 - '@ckeditor/ckeditor5-link': 47.3.0 - '@ckeditor/ckeditor5-list': 47.3.0 - '@ckeditor/ckeditor5-media-embed': 47.3.0 - '@ckeditor/ckeditor5-merge-fields': 47.3.0 - '@ckeditor/ckeditor5-restricted-editing': 47.3.0 - '@ckeditor/ckeditor5-style': 47.3.0 - '@ckeditor/ckeditor5-table': 47.3.0 - '@ckeditor/ckeditor5-typing': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 - ckeditor5-collaboration: 47.3.0 + '@ckeditor/ckeditor5-clipboard': 47.4.0 + '@ckeditor/ckeditor5-code-block': 47.4.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95) + '@ckeditor/ckeditor5-collaboration-core': 47.4.0 + '@ckeditor/ckeditor5-comments': 47.4.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-editor-multi-root': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-enter': 47.4.0 + '@ckeditor/ckeditor5-find-and-replace': 47.4.0 + '@ckeditor/ckeditor5-font': 47.4.0 + '@ckeditor/ckeditor5-heading': 47.4.0 + '@ckeditor/ckeditor5-highlight': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-image': 47.4.0 + '@ckeditor/ckeditor5-link': 47.4.0 + '@ckeditor/ckeditor5-list': 47.4.0 + '@ckeditor/ckeditor5-media-embed': 47.4.0 + '@ckeditor/ckeditor5-merge-fields': 47.4.0 + '@ckeditor/ckeditor5-restricted-editing': 47.4.0 + '@ckeditor/ckeditor5-style': 47.4.0 + '@ckeditor/ckeditor5-table': 47.4.0 + '@ckeditor/ckeditor5-typing': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 + ckeditor5-collaboration: 47.4.0 es-toolkit: 1.39.5 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-typing@47.3.0': + '@ckeditor/ckeditor5-typing@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 es-toolkit: 1.39.5 - '@ckeditor/ckeditor5-ui@47.3.0': + '@ckeditor/ckeditor5-ui@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-editor-multi-root': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-editor-multi-root': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 '@types/color-convert': 2.0.4 color-convert: 3.1.0 color-parse: 2.0.2 @@ -16264,88 +17195,88 @@ snapshots: transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-undo@47.3.0': + '@ckeditor/ckeditor5-undo@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 - '@ckeditor/ckeditor5-upload@47.3.0': + '@ckeditor/ckeditor5-upload@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 - '@ckeditor/ckeditor5-uploadcare@47.3.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': + '@ckeditor/ckeditor5-uploadcare@47.4.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-image': 47.3.0 - '@ckeditor/ckeditor5-theme-lark': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-upload': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - '@uploadcare/file-uploader': 1.19.4(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-image': 47.4.0 + '@ckeditor/ckeditor5-theme-lark': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-upload': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + '@uploadcare/file-uploader': 1.24.5(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@uploadcare/upload-client': 6.14.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 47.3.0 + ckeditor5: 47.4.0 transitivePeerDependencies: - bufferutil - utf-8-validate - '@ckeditor/ckeditor5-utils@47.3.0': + '@ckeditor/ckeditor5-utils@47.4.0': dependencies: - '@ckeditor/ckeditor5-ui': 47.3.0 + '@ckeditor/ckeditor5-ui': 47.4.0 es-toolkit: 1.39.5 transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-watchdog@47.3.0': + '@ckeditor/ckeditor5-watchdog@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-editor-multi-root': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-editor-multi-root': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 es-toolkit: 1.39.5 - '@ckeditor/ckeditor5-widget@47.3.0': + '@ckeditor/ckeditor5-widget@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-enter': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-typing': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-enter': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-typing': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 es-toolkit: 1.39.5 - '@ckeditor/ckeditor5-word-count@47.3.0': + '@ckeditor/ckeditor5-word-count@47.4.0': dependencies: - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 es-toolkit: 1.39.5 '@codemirror/autocomplete@6.18.6': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/common': 1.2.3 '@codemirror/commands@6.10.1': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/common': 1.2.3 '@codemirror/commands@6.8.1': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/common': 1.2.3 '@codemirror/lang-css@6.3.1': @@ -16363,7 +17294,7 @@ snapshots: '@codemirror/lang-javascript': 6.2.4 '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/common': 1.2.3 '@lezer/css': 1.1.11 '@lezer/html': 1.3.12 @@ -16374,7 +17305,7 @@ snapshots: '@codemirror/language': 6.11.0 '@codemirror/lint': 6.8.5 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/common': 1.2.3 '@lezer/javascript': 1.5.1 @@ -16389,7 +17320,7 @@ snapshots: '@codemirror/lang-html': 6.4.11 '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/common': 1.2.3 '@lezer/markdown': 1.4.3 @@ -16399,7 +17330,7 @@ snapshots: '@codemirror/lang-html': 6.4.11 '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/common': 1.2.3 '@lezer/markdown': 1.4.3 @@ -16425,14 +17356,14 @@ snapshots: '@codemirror/autocomplete': 6.18.6 '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/common': 1.2.3 '@lezer/xml': 1.0.6 '@codemirror/language@6.11.0': dependencies: '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/common': 1.2.3 '@lezer/highlight': 1.2.1 '@lezer/lr': 1.4.2 @@ -16445,13 +17376,13 @@ snapshots: '@codemirror/lint@6.8.5': dependencies: '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 crelt: 1.0.6 - '@codemirror/search@6.5.11': + '@codemirror/search@6.6.0': dependencies: '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 crelt: 1.0.6 '@codemirror/state@6.5.2': @@ -16462,10 +17393,10 @@ snapshots: dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 - '@codemirror/view@6.39.9': + '@codemirror/view@6.39.11': dependencies: '@codemirror/state': 6.5.2 crelt: 1.0.6 @@ -16504,10 +17435,18 @@ snapshots: dependencies: '@csstools/css-tokenizer': 3.0.4 + '@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0)': + dependencies: + '@csstools/css-tokenizer': 4.0.0 + '@csstools/css-syntax-patches-for-csstree@1.0.19': {} + '@csstools/css-syntax-patches-for-csstree@1.0.25': {} + '@csstools/css-tokenizer@3.0.4': {} + '@csstools/css-tokenizer@4.0.0': {} + '@csstools/media-query-list-parser@3.0.1(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': dependencies: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) @@ -16518,14 +17457,47 @@ snapshots: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - '@csstools/selector-resolve-nested@3.1.0(postcss-selector-parser@7.1.0)': + '@csstools/media-query-list-parser@5.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': dependencies: - postcss-selector-parser: 7.1.0 + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) + '@csstools/css-tokenizer': 4.0.0 + + '@csstools/selector-resolve-nested@3.1.0(postcss-selector-parser@7.1.1)': + dependencies: + postcss-selector-parser: 7.1.1 + + '@csstools/selector-resolve-nested@4.0.0(postcss-selector-parser@7.1.1)': + dependencies: + postcss-selector-parser: 7.1.1 '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.1.0)': dependencies: postcss-selector-parser: 7.1.0 + '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.1.1)': + dependencies: + postcss-selector-parser: 7.1.1 + + '@csstools/selector-specificity@6.0.0(postcss-selector-parser@7.1.1)': + dependencies: + postcss-selector-parser: 7.1.1 + + '@devicefarmer/adbkit-logcat@2.1.3': {} + + '@devicefarmer/adbkit-monkey@1.2.1': {} + + '@devicefarmer/adbkit@3.3.8': + dependencies: + '@devicefarmer/adbkit-logcat': 2.1.3 + '@devicefarmer/adbkit-monkey': 1.2.1 + bluebird: 3.7.2 + commander: 9.5.0 + debug: 4.3.7 + node-forge: 1.3.1 + split: 1.0.1 + transitivePeerDependencies: + - supports-color + '@digitak/esrun@3.2.26': dependencies: '@digitak/grubber': 3.1.4 @@ -16536,11 +17508,11 @@ snapshots: '@dual-bundle/import-meta-resolve@4.2.1': {} - '@electron-forge/cli@7.10.2(encoding@0.1.13)(esbuild@0.27.2)': + '@electron-forge/cli@7.11.1(encoding@0.1.13)(esbuild@0.27.2)': dependencies: - '@electron-forge/core': 7.10.2(encoding@0.1.13)(esbuild@0.27.2) - '@electron-forge/core-utils': 7.10.2 - '@electron-forge/shared-types': 7.10.2 + '@electron-forge/core': 7.11.1(encoding@0.1.13)(esbuild@0.27.2) + '@electron-forge/core-utils': 7.11.1 + '@electron-forge/shared-types': 7.11.1 '@electron/get': 3.1.0 '@inquirer/prompts': 6.0.1 '@listr2/prompt-adapter-inquirer': 2.0.22(@inquirer/prompts@6.0.1) @@ -16550,7 +17522,7 @@ snapshots: fs-extra: 10.1.0 listr2: 7.0.2 log-symbols: 4.1.0 - semver: 7.7.2 + semver: 7.7.3 transitivePeerDependencies: - '@swc/core' - bluebird @@ -16560,9 +17532,9 @@ snapshots: - uglify-js - webpack-cli - '@electron-forge/core-utils@7.10.2': + '@electron-forge/core-utils@7.11.1': dependencies: - '@electron-forge/shared-types': 7.10.2 + '@electron-forge/shared-types': 7.11.1 '@electron/rebuild': 3.7.2 '@malept/cross-spawn-promise': 2.0.0 chalk: 4.1.2 @@ -16576,19 +17548,19 @@ snapshots: - bluebird - supports-color - '@electron-forge/core@7.10.2(encoding@0.1.13)(esbuild@0.27.2)': + '@electron-forge/core@7.11.1(encoding@0.1.13)(esbuild@0.27.2)': dependencies: - '@electron-forge/core-utils': 7.10.2 - '@electron-forge/maker-base': 7.10.2 - '@electron-forge/plugin-base': 7.10.2 - '@electron-forge/publisher-base': 7.10.2 - '@electron-forge/shared-types': 7.10.2 - '@electron-forge/template-base': 7.10.2 - '@electron-forge/template-vite': 7.10.2 - '@electron-forge/template-vite-typescript': 7.10.2 - '@electron-forge/template-webpack': 7.10.2 - '@electron-forge/template-webpack-typescript': 7.10.2(esbuild@0.27.2) - '@electron-forge/tracer': 7.10.2 + '@electron-forge/core-utils': 7.11.1 + '@electron-forge/maker-base': 7.11.1 + '@electron-forge/plugin-base': 7.11.1 + '@electron-forge/publisher-base': 7.11.1 + '@electron-forge/shared-types': 7.11.1 + '@electron-forge/template-base': 7.11.1 + '@electron-forge/template-vite': 7.11.1 + '@electron-forge/template-vite-typescript': 7.11.1 + '@electron-forge/template-webpack': 7.11.1 + '@electron-forge/template-webpack-typescript': 7.11.1(esbuild@0.27.2) + '@electron-forge/tracer': 7.11.1 '@electron/get': 3.1.0 '@electron/packager': 18.3.6 '@electron/rebuild': 3.7.2 @@ -16621,29 +17593,29 @@ snapshots: - uglify-js - webpack-cli - '@electron-forge/maker-base@7.10.2': + '@electron-forge/maker-base@7.11.1': dependencies: - '@electron-forge/shared-types': 7.10.2 + '@electron-forge/shared-types': 7.11.1 fs-extra: 10.1.0 which: 2.0.2 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/maker-deb@7.10.2': + '@electron-forge/maker-deb@7.11.1': dependencies: - '@electron-forge/maker-base': 7.10.2 - '@electron-forge/shared-types': 7.10.2 + '@electron-forge/maker-base': 7.11.1 + '@electron-forge/shared-types': 7.11.1 optionalDependencies: electron-installer-debian: 3.2.0 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/maker-dmg@7.10.2': + '@electron-forge/maker-dmg@7.11.1': dependencies: - '@electron-forge/maker-base': 7.10.2 - '@electron-forge/shared-types': 7.10.2 + '@electron-forge/maker-base': 7.11.1 + '@electron-forge/shared-types': 7.11.1 fs-extra: 10.1.0 optionalDependencies: electron-installer-dmg: 5.0.1 @@ -16651,10 +17623,10 @@ snapshots: - bluebird - supports-color - '@electron-forge/maker-flatpak@7.10.2': + '@electron-forge/maker-flatpak@7.11.1': dependencies: - '@electron-forge/maker-base': 7.10.2 - '@electron-forge/shared-types': 7.10.2 + '@electron-forge/maker-base': 7.11.1 + '@electron-forge/shared-types': 7.11.1 fs-extra: 10.1.0 optionalDependencies: '@malept/electron-installer-flatpak': 0.11.4 @@ -16662,20 +17634,20 @@ snapshots: - bluebird - supports-color - '@electron-forge/maker-rpm@7.10.2': + '@electron-forge/maker-rpm@7.11.1': dependencies: - '@electron-forge/maker-base': 7.10.2 - '@electron-forge/shared-types': 7.10.2 + '@electron-forge/maker-base': 7.11.1 + '@electron-forge/shared-types': 7.11.1 optionalDependencies: electron-installer-redhat: 3.4.0 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/maker-squirrel@7.10.2': + '@electron-forge/maker-squirrel@7.11.1': dependencies: - '@electron-forge/maker-base': 7.10.2 - '@electron-forge/shared-types': 7.10.2 + '@electron-forge/maker-base': 7.11.1 + '@electron-forge/shared-types': 7.11.1 fs-extra: 10.1.0 optionalDependencies: electron-winstaller: 5.4.0 @@ -16683,10 +17655,10 @@ snapshots: - bluebird - supports-color - '@electron-forge/maker-zip@7.10.2': + '@electron-forge/maker-zip@7.11.1': dependencies: - '@electron-forge/maker-base': 7.10.2 - '@electron-forge/shared-types': 7.10.2 + '@electron-forge/maker-base': 7.11.1 + '@electron-forge/shared-types': 7.11.1 cross-zip: 4.0.1 fs-extra: 10.1.0 got: 11.8.6 @@ -16694,31 +17666,31 @@ snapshots: - bluebird - supports-color - '@electron-forge/plugin-auto-unpack-natives@7.10.2': + '@electron-forge/plugin-auto-unpack-natives@7.11.1': dependencies: - '@electron-forge/plugin-base': 7.10.2 - '@electron-forge/shared-types': 7.10.2 + '@electron-forge/plugin-base': 7.11.1 + '@electron-forge/shared-types': 7.11.1 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/plugin-base@7.10.2': + '@electron-forge/plugin-base@7.11.1': dependencies: - '@electron-forge/shared-types': 7.10.2 + '@electron-forge/shared-types': 7.11.1 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/publisher-base@7.10.2': + '@electron-forge/publisher-base@7.11.1': dependencies: - '@electron-forge/shared-types': 7.10.2 + '@electron-forge/shared-types': 7.11.1 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/shared-types@7.10.2': + '@electron-forge/shared-types@7.11.1': dependencies: - '@electron-forge/tracer': 7.10.2 + '@electron-forge/tracer': 7.11.1 '@electron/packager': 18.3.6 '@electron/rebuild': 3.7.2 listr2: 7.0.2 @@ -16726,10 +17698,10 @@ snapshots: - bluebird - supports-color - '@electron-forge/template-base@7.10.2': + '@electron-forge/template-base@7.11.1': dependencies: - '@electron-forge/core-utils': 7.10.2 - '@electron-forge/shared-types': 7.10.2 + '@electron-forge/core-utils': 7.11.1 + '@electron-forge/shared-types': 7.11.1 '@malept/cross-spawn-promise': 2.0.0 debug: 4.4.3(supports-color@8.1.1) fs-extra: 10.1.0 @@ -16739,28 +17711,28 @@ snapshots: - bluebird - supports-color - '@electron-forge/template-vite-typescript@7.10.2': + '@electron-forge/template-vite-typescript@7.11.1': dependencies: - '@electron-forge/shared-types': 7.10.2 - '@electron-forge/template-base': 7.10.2 + '@electron-forge/shared-types': 7.11.1 + '@electron-forge/template-base': 7.11.1 fs-extra: 10.1.0 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/template-vite@7.10.2': + '@electron-forge/template-vite@7.11.1': dependencies: - '@electron-forge/shared-types': 7.10.2 - '@electron-forge/template-base': 7.10.2 + '@electron-forge/shared-types': 7.11.1 + '@electron-forge/template-base': 7.11.1 fs-extra: 10.1.0 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/template-webpack-typescript@7.10.2(esbuild@0.27.2)': + '@electron-forge/template-webpack-typescript@7.11.1(esbuild@0.27.2)': dependencies: - '@electron-forge/shared-types': 7.10.2 - '@electron-forge/template-base': 7.10.2 + '@electron-forge/shared-types': 7.11.1 + '@electron-forge/template-base': 7.11.1 fs-extra: 10.1.0 typescript: 5.4.5 webpack: 5.101.3(esbuild@0.27.2) @@ -16772,16 +17744,16 @@ snapshots: - uglify-js - webpack-cli - '@electron-forge/template-webpack@7.10.2': + '@electron-forge/template-webpack@7.11.1': dependencies: - '@electron-forge/shared-types': 7.10.2 - '@electron-forge/template-base': 7.10.2 + '@electron-forge/shared-types': 7.11.1 + '@electron-forge/template-base': 7.11.1 fs-extra: 10.1.0 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/tracer@7.10.2': + '@electron-forge/tracer@7.11.1': dependencies: chrome-trace-event: 1.0.4 @@ -16887,7 +17859,7 @@ snapshots: detect-libc: 2.1.2 fs-extra: 10.1.0 got: 11.8.6 - node-abi: 4.24.0 + node-abi: 4.26.0 node-api-version: 0.2.1 ora: 5.4.1 read-binary-file-arch: 1.0.6 @@ -16898,27 +17870,27 @@ snapshots: - bluebird - supports-color - '@electron/rebuild@4.0.2': + '@electron/rebuild@4.0.3': dependencies: '@malept/cross-spawn-promise': 2.0.0 debug: 4.4.3(supports-color@8.1.1) detect-libc: 2.1.2 got: 11.8.6 graceful-fs: 4.2.11 - node-abi: 4.24.0 + node-abi: 4.26.0 node-api-version: 0.2.1 node-gyp: 11.4.2 ora: 5.4.1 read-binary-file-arch: 1.0.6 semver: 7.7.3 - tar: 6.2.1 + tar: 7.5.7 yargs: 17.7.2 transitivePeerDependencies: - supports-color - '@electron/remote@2.1.3(electron@39.2.7)': + '@electron/remote@2.1.3(electron@40.0.0)': dependencies: - electron: 39.2.7 + electron: 40.0.0 '@electron/universal@2.0.2': dependencies: @@ -16942,13 +17914,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@emnapi/core@1.7.1': + '@emnapi/core@1.8.1': dependencies: '@emnapi/wasi-threads': 1.1.0 tslib: 2.8.1 optional: true - '@emnapi/runtime@1.7.1': + '@emnapi/runtime@1.8.1': dependencies: tslib: 2.8.1 optional: true @@ -16971,7 +17943,7 @@ snapshots: '@es-joy/jsdoccomment@0.50.2': dependencies: '@types/estree': 1.0.8 - '@typescript-eslint/types': 8.51.0 + '@typescript-eslint/types': 8.53.0 comment-parser: 1.4.1 esquery: 1.6.0 jsdoc-type-pratt-parser: 4.1.0 @@ -17289,14 +18261,14 @@ snapshots: '@eslint/core': 0.17.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.2.3(react@19.2.3))(react@19.2.3)': + '@excalidraw/excalidraw@0.18.0(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': 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.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-tabs': 1.0.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@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.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-tabs': 1.0.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4) browser-fs-access: 0.29.1 canvas-roundrect-polyfill: 0.0.1 clsx: 1.1.1 @@ -17305,8 +18277,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.2.3) - jotai-scope: 0.7.2(jotai@2.11.0(@types/react@19.1.7)(react@19.2.3))(react@19.2.3) + jotai: 2.11.0(@types/react@19.1.7)(react@19.2.4) + jotai-scope: 0.7.2(jotai@2.11.0(@types/react@19.1.7)(react@19.2.4))(react@19.2.4) lodash.debounce: 4.0.8 lodash.throttle: 4.1.1 nanoid: 5.1.5 @@ -17319,11 +18291,11 @@ snapshots: png-chunks-extract: 1.0.0 points-on-curve: 1.0.1 pwacompat: 2.0.17 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) roughjs: 4.6.6 sass: 1.51.0 - tunnel-rat: 0.1.2(@types/react@19.1.7)(react@19.2.3) + tunnel-rat: 0.1.2(@types/react@19.1.7)(react@19.2.4) transitivePeerDependencies: - '@types/react' - '@types/react-dom' @@ -17373,180 +18345,180 @@ snapshots: '@floating-ui/core': 1.6.9 '@floating-ui/utils': 0.2.9 - '@floating-ui/react-dom@2.1.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@floating-ui/react-dom@2.1.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@floating-ui/dom': 1.6.13 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) '@floating-ui/utils@0.2.9': {} - '@fsegurai/codemirror-theme-abcdef@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-abcdef@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-abyss@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-abyss@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-android-studio@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-android-studio@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-andromeda@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-andromeda@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-basic-dark@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-basic-dark@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-basic-light@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-basic-light@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-cobalt2@6.0.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-cobalt2@6.0.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-forest@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-forest@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-github-dark@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-github-dark@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-github-light@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-github-light@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-gruvbox-dark@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-gruvbox-dark@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-gruvbox-light@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-gruvbox-light@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-material-dark@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-material-dark@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-material-light@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-material-light@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-monokai@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-monokai@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-nord@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-nord@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-palenight@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-palenight@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-solarized-dark@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-solarized-dark@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-solarized-light@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-solarized-light@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-tokyo-night-day@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-tokyo-night-day@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-tokyo-night-storm@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-tokyo-night-storm@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-volcano@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-volcano@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-vscode-dark@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-vscode-dark@6.2.4(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 - '@fsegurai/codemirror-theme-vscode-light@6.2.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)(@lezer/highlight@1.2.1)': + '@fsegurai/codemirror-theme-vscode-light@6.2.4(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)(@lezer/highlight@1.2.1)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@lezer/highlight': 1.2.1 '@fullcalendar/core@6.1.20': @@ -17619,13 +18591,109 @@ snapshots: transitivePeerDependencies: - supports-color + '@img/colour@1.0.0': {} + + '@img/sharp-darwin-arm64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.2.4 + optional: true + + '@img/sharp-darwin-x64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.2.4 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.2.4': + optional: true + + '@img/sharp-libvips-darwin-x64@1.2.4': + optional: true + + '@img/sharp-libvips-linux-arm64@1.2.4': + optional: true + + '@img/sharp-libvips-linux-arm@1.2.4': + optional: true + + '@img/sharp-libvips-linux-ppc64@1.2.4': + optional: true + + '@img/sharp-libvips-linux-riscv64@1.2.4': + optional: true + + '@img/sharp-libvips-linux-s390x@1.2.4': + optional: true + + '@img/sharp-libvips-linux-x64@1.2.4': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.2.4': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.2.4': + optional: true + + '@img/sharp-linux-arm64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.2.4 + optional: true + + '@img/sharp-linux-arm@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.2.4 + optional: true + + '@img/sharp-linux-ppc64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-ppc64': 1.2.4 + optional: true + + '@img/sharp-linux-riscv64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-riscv64': 1.2.4 + optional: true + + '@img/sharp-linux-s390x@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.2.4 + optional: true + + '@img/sharp-linux-x64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.2.4 + optional: true + + '@img/sharp-linuxmusl-arm64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 + optional: true + + '@img/sharp-linuxmusl-x64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.2.4 + optional: true + + '@img/sharp-wasm32@0.34.5': + dependencies: + '@emnapi/runtime': 1.8.1 + optional: true + + '@img/sharp-win32-arm64@0.34.5': + optional: true + + '@img/sharp-win32-ia32@0.34.5': + optional: true + + '@img/sharp-win32-x64@0.34.5': + optional: true + '@inquirer/ansi@1.0.2': optional: true '@inquirer/checkbox@3.0.1': dependencies: '@inquirer/core': 9.2.1 - '@inquirer/figures': 1.0.13 + '@inquirer/figures': 1.0.15 '@inquirer/type': 2.0.0 ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.3 @@ -17635,31 +18703,31 @@ snapshots: '@inquirer/core': 9.2.1 '@inquirer/type': 2.0.0 - '@inquirer/confirm@5.1.21(@types/node@24.10.7)': + '@inquirer/confirm@5.1.21(@types/node@24.10.9)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.10.7) - '@inquirer/type': 3.0.10(@types/node@24.10.7) + '@inquirer/core': 10.3.2(@types/node@24.10.9) + '@inquirer/type': 3.0.10(@types/node@24.10.9) optionalDependencies: - '@types/node': 24.10.7 + '@types/node': 24.10.9 optional: true - '@inquirer/core@10.3.2(@types/node@24.10.7)': + '@inquirer/core@10.3.2(@types/node@24.10.9)': dependencies: '@inquirer/ansi': 1.0.2 '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@24.10.7) + '@inquirer/type': 3.0.10(@types/node@24.10.9) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.10.7 + '@types/node': 24.10.9 optional: true '@inquirer/core@9.2.1': dependencies: - '@inquirer/figures': 1.0.13 + '@inquirer/figures': 1.0.15 '@inquirer/type': 2.0.0 '@types/mute-stream': 0.0.4 '@types/node': 22.19.1 @@ -17684,10 +18752,7 @@ snapshots: '@inquirer/type': 2.0.0 yoctocolors-cjs: 2.1.3 - '@inquirer/figures@1.0.13': {} - - '@inquirer/figures@1.0.15': - optional: true + '@inquirer/figures@1.0.15': {} '@inquirer/input@3.0.1': dependencies: @@ -17727,14 +18792,14 @@ snapshots: '@inquirer/search@2.0.1': dependencies: '@inquirer/core': 9.2.1 - '@inquirer/figures': 1.0.13 + '@inquirer/figures': 1.0.15 '@inquirer/type': 2.0.0 yoctocolors-cjs: 2.1.3 '@inquirer/select@3.0.1': dependencies: '@inquirer/core': 9.2.1 - '@inquirer/figures': 1.0.13 + '@inquirer/figures': 1.0.15 '@inquirer/type': 2.0.0 ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.3 @@ -17747,9 +18812,9 @@ snapshots: dependencies: mute-stream: 1.0.0 - '@inquirer/type@3.0.10(@types/node@24.10.7)': + '@inquirer/type@3.0.10(@types/node@24.10.9)': optionalDependencies: - '@types/node': 24.10.7 + '@types/node': 24.10.9 optional: true '@isaacs/balanced-match@4.0.1': {} @@ -17967,6 +19032,11 @@ snapshots: '@jridgewell/sourcemap-codec': 1.5.5 '@jridgewell/trace-mapping': 0.3.31 + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/source-map@0.3.11': @@ -18187,23 +19257,23 @@ snapshots: dependencies: langium: 3.3.1 - '@microsoft/api-extractor-model@7.30.6(@types/node@24.10.7)': + '@microsoft/api-extractor-model@7.30.6(@types/node@24.10.9)': dependencies: '@microsoft/tsdoc': 0.15.1 '@microsoft/tsdoc-config': 0.17.1 - '@rushstack/node-core-library': 5.13.1(@types/node@24.10.7) + '@rushstack/node-core-library': 5.13.1(@types/node@24.10.9) transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.52.8(@types/node@24.10.7)': + '@microsoft/api-extractor@7.52.8(@types/node@24.10.9)': dependencies: - '@microsoft/api-extractor-model': 7.30.6(@types/node@24.10.7) + '@microsoft/api-extractor-model': 7.30.6(@types/node@24.10.9) '@microsoft/tsdoc': 0.15.1 '@microsoft/tsdoc-config': 0.17.1 - '@rushstack/node-core-library': 5.13.1(@types/node@24.10.7) + '@rushstack/node-core-library': 5.13.1(@types/node@24.10.9) '@rushstack/rig-package': 0.5.3 - '@rushstack/terminal': 0.15.3(@types/node@24.10.7) - '@rushstack/ts-command-line': 5.0.1(@types/node@24.10.7) + '@rushstack/terminal': 0.15.3(@types/node@24.10.9) + '@rushstack/ts-command-line': 5.0.1(@types/node@24.10.9) lodash: 4.17.21 minimatch: 3.0.8 resolve: 1.22.10 @@ -18226,9 +19296,9 @@ snapshots: dependencies: mind-elixir: 5.4.0 - '@mind-elixir/node-menu@5.0.1(mind-elixir@5.5.0)': + '@mind-elixir/node-menu@5.0.1(mind-elixir@5.6.1)': dependencies: - mind-elixir: 5.5.0 + mind-elixir: 5.6.1 '@mixmark-io/domino@2.2.0': {} @@ -18290,10 +19360,10 @@ snapshots: '@napi-rs/canvas-win32-x64-msvc': 0.1.88 optional: true - '@napi-rs/wasm-runtime@1.1.0': + '@napi-rs/wasm-runtime@1.1.1': dependencies: - '@emnapi/core': 1.7.1 - '@emnapi/runtime': 1.7.1 + '@emnapi/core': 1.8.1 + '@emnapi/runtime': 1.8.1 '@tybys/wasm-util': 0.10.1 optional: true @@ -18506,65 +19576,65 @@ snapshots: dependencies: '@noble/hashes': 1.8.0 - '@parcel/watcher-android-arm64@2.5.1': + '@parcel/watcher-android-arm64@2.5.4': optional: true - '@parcel/watcher-darwin-arm64@2.5.1': + '@parcel/watcher-darwin-arm64@2.5.4': optional: true - '@parcel/watcher-darwin-x64@2.5.1': + '@parcel/watcher-darwin-x64@2.5.4': optional: true - '@parcel/watcher-freebsd-x64@2.5.1': + '@parcel/watcher-freebsd-x64@2.5.4': optional: true - '@parcel/watcher-linux-arm-glibc@2.5.1': + '@parcel/watcher-linux-arm-glibc@2.5.4': optional: true - '@parcel/watcher-linux-arm-musl@2.5.1': + '@parcel/watcher-linux-arm-musl@2.5.4': optional: true - '@parcel/watcher-linux-arm64-glibc@2.5.1': + '@parcel/watcher-linux-arm64-glibc@2.5.4': optional: true - '@parcel/watcher-linux-arm64-musl@2.5.1': + '@parcel/watcher-linux-arm64-musl@2.5.4': optional: true - '@parcel/watcher-linux-x64-glibc@2.5.1': + '@parcel/watcher-linux-x64-glibc@2.5.4': optional: true - '@parcel/watcher-linux-x64-musl@2.5.1': + '@parcel/watcher-linux-x64-musl@2.5.4': optional: true - '@parcel/watcher-win32-arm64@2.5.1': + '@parcel/watcher-win32-arm64@2.5.4': optional: true - '@parcel/watcher-win32-ia32@2.5.1': + '@parcel/watcher-win32-ia32@2.5.4': optional: true - '@parcel/watcher-win32-x64@2.5.1': + '@parcel/watcher-win32-x64@2.5.4': optional: true - '@parcel/watcher@2.5.1': + '@parcel/watcher@2.5.4': dependencies: - detect-libc: 1.0.3 + detect-libc: 2.1.2 is-glob: 4.0.3 - micromatch: 4.0.8 node-addon-api: 7.1.1 + picomatch: 4.0.3 optionalDependencies: - '@parcel/watcher-android-arm64': 2.5.1 - '@parcel/watcher-darwin-arm64': 2.5.1 - '@parcel/watcher-darwin-x64': 2.5.1 - '@parcel/watcher-freebsd-x64': 2.5.1 - '@parcel/watcher-linux-arm-glibc': 2.5.1 - '@parcel/watcher-linux-arm-musl': 2.5.1 - '@parcel/watcher-linux-arm64-glibc': 2.5.1 - '@parcel/watcher-linux-arm64-musl': 2.5.1 - '@parcel/watcher-linux-x64-glibc': 2.5.1 - '@parcel/watcher-linux-x64-musl': 2.5.1 - '@parcel/watcher-win32-arm64': 2.5.1 - '@parcel/watcher-win32-ia32': 2.5.1 - '@parcel/watcher-win32-x64': 2.5.1 + '@parcel/watcher-android-arm64': 2.5.4 + '@parcel/watcher-darwin-arm64': 2.5.4 + '@parcel/watcher-darwin-x64': 2.5.4 + '@parcel/watcher-freebsd-x64': 2.5.4 + '@parcel/watcher-linux-arm-glibc': 2.5.4 + '@parcel/watcher-linux-arm-musl': 2.5.4 + '@parcel/watcher-linux-arm64-glibc': 2.5.4 + '@parcel/watcher-linux-arm64-musl': 2.5.4 + '@parcel/watcher-linux-x64-glibc': 2.5.4 + '@parcel/watcher-linux-x64-musl': 2.5.4 + '@parcel/watcher-win32-arm64': 2.5.4 + '@parcel/watcher-win32-ia32': 2.5.4 + '@parcel/watcher-win32-x64': 2.5.4 optional: true '@phosphor-icons/web@2.1.2': {} @@ -18576,31 +19646,48 @@ snapshots: dependencies: playwright: 1.57.0 + '@pnpm/config.env-replace@1.1.0': {} + + '@pnpm/network.ca-file@1.0.2': + dependencies: + graceful-fs: 4.2.10 + + '@pnpm/npm-conf@3.0.2': + dependencies: + '@pnpm/config.env-replace': 1.1.0 + '@pnpm/network.ca-file': 1.0.2 + config-chain: 1.1.13 + '@polka/url@1.0.0-next.29': {} '@popperjs/core@2.11.8': {} - '@preact/preset-vite@2.10.2(@babel/core@7.28.0)(preact@10.28.2)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))': + '@preact/preset-vite@2.10.2(@babel/core@7.28.0)(preact@10.28.2)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))': dependencies: '@babel/core': 7.28.0 '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.0) '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.28.0) - '@prefresh/vite': 2.4.11(preact@10.28.2)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + '@prefresh/vite': 2.4.11(preact@10.28.2)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) '@rollup/pluginutils': 4.2.1 babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.28.0) debug: 4.4.3(supports-color@8.1.1) picocolors: 1.1.1 - vite: 7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) - vite-prerender-plugin: 0.5.11(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + vite: 7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vite-prerender-plugin: 0.5.11(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) transitivePeerDependencies: - preact - supports-color - '@preact/signals-core@1.12.1': {} + '@preact/signals-core@1.12.2': {} '@preact/signals@2.5.1(preact@10.28.2)': dependencies: - '@preact/signals-core': 1.12.1 + '@preact/signals-core': 1.12.2 + preact: 10.28.2 + + '@preact/signals@2.6.1(preact@10.28.2)': + dependencies: + '@preact/signals-core': 1.12.2 preact: 10.28.2 '@prefresh/babel-plugin@0.5.2': {} @@ -18611,7 +19698,7 @@ snapshots: '@prefresh/utils@1.2.1': {} - '@prefresh/vite@2.4.11(preact@10.28.2)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))': + '@prefresh/vite@2.4.11(preact@10.28.2)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))': dependencies: '@babel/core': 7.28.0 '@prefresh/babel-plugin': 0.5.2 @@ -18619,7 +19706,7 @@ snapshots: '@prefresh/utils': 1.2.1 '@rollup/pluginutils': 4.2.1 preact: 10.28.2 - vite: 7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) transitivePeerDependencies: - supports-color @@ -18669,275 +19756,275 @@ 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.2.3(react@19.2.3))(react@19.2.3)': + '@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.2.4(react@19.2.4))(react@19.2.4)': 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.2.3(react@19.2.3))(react@19.2.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) + '@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.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) 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.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-collection@1.0.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@babel/runtime': 7.28.4 - '@radix-ui/react-compose-refs': 1.0.0(react@19.2.3) - '@radix-ui/react-context': 1.0.0(react@19.2.3) - '@radix-ui/react-primitive': 1.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-slot': 1.0.1(react@19.2.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) + '@radix-ui/react-compose-refs': 1.0.0(react@19.2.4) + '@radix-ui/react-context': 1.0.0(react@19.2.4) + '@radix-ui/react-primitive': 1.0.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-slot': 1.0.1(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) - '@radix-ui/react-compose-refs@1.0.0(react@19.2.3)': + '@radix-ui/react-compose-refs@1.0.0(react@19.2.4)': dependencies: '@babel/runtime': 7.28.4 - react: 19.2.3 + react: 19.2.4 - '@radix-ui/react-compose-refs@1.1.1(@types/react@19.1.7)(react@19.2.3)': + '@radix-ui/react-compose-refs@1.1.1(@types/react@19.1.7)(react@19.2.4)': dependencies: - react: 19.2.3 + react: 19.2.4 optionalDependencies: '@types/react': 19.1.7 - '@radix-ui/react-context@1.0.0(react@19.2.3)': + '@radix-ui/react-context@1.0.0(react@19.2.4)': dependencies: '@babel/runtime': 7.28.4 - react: 19.2.3 + react: 19.2.4 - '@radix-ui/react-context@1.1.1(@types/react@19.1.7)(react@19.2.3)': + '@radix-ui/react-context@1.1.1(@types/react@19.1.7)(react@19.2.4)': dependencies: - react: 19.2.3 + react: 19.2.4 optionalDependencies: '@types/react': 19.1.7 - '@radix-ui/react-direction@1.0.0(react@19.2.3)': + '@radix-ui/react-direction@1.0.0(react@19.2.4)': dependencies: '@babel/runtime': 7.28.4 - react: 19.2.3 + react: 19.2.4 - '@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.2.3(react@19.2.3))(react@19.2.3)': + '@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.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@19.2.3) - '@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.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@19.2.3) - '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.1.7)(react@19.2.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@19.2.4) + '@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.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@19.2.4) + '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.1.7)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) 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.2.3)': + '@radix-ui/react-focus-guards@1.1.1(@types/react@19.1.7)(react@19.2.4)': dependencies: - react: 19.2.3 + react: 19.2.4 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.2.3(react@19.2.3))(react@19.2.3)': + '@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.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@19.2.3) - '@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.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@19.2.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@19.2.4) + '@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.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) 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.2.3)': + '@radix-ui/react-id@1.0.0(react@19.2.4)': dependencies: '@babel/runtime': 7.28.4 - '@radix-ui/react-use-layout-effect': 1.0.0(react@19.2.3) - react: 19.2.3 + '@radix-ui/react-use-layout-effect': 1.0.0(react@19.2.4) + react: 19.2.4 - '@radix-ui/react-id@1.1.0(@types/react@19.1.7)(react@19.2.3)': + '@radix-ui/react-id@1.1.0(@types/react@19.1.7)(react@19.2.4)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@19.2.3) - react: 19.2.3 + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@19.2.4) + react: 19.2.4 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.2.3(react@19.2.3))(react@19.2.3)': + '@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.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@19.2.3) - '@radix-ui/react-context': 1.1.1(@types/react@19.1.7)(react@19.2.3) - '@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.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.1.7)(react@19.2.3) - '@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.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-id': 1.1.0(@types/react@19.1.7)(react@19.2.3) - '@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.2.3(react@19.2.3))(react@19.2.3) - '@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.2.3(react@19.2.3))(react@19.2.3) - '@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.2.3(react@19.2.3))(react@19.2.3) - '@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.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-slot': 1.1.2(@types/react@19.1.7)(react@19.2.3) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.1.7)(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@19.2.4) + '@radix-ui/react-context': 1.1.1(@types/react@19.1.7)(react@19.2.4) + '@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.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.1.7)(react@19.2.4) + '@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.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-id': 1.1.0(@types/react@19.1.7)(react@19.2.4) + '@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.2.4(react@19.2.4))(react@19.2.4) + '@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.2.4(react@19.2.4))(react@19.2.4) + '@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.2.4(react@19.2.4))(react@19.2.4) + '@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.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-slot': 1.1.2(@types/react@19.1.7)(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.1.7)(react@19.2.4) aria-hidden: 1.2.4 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - react-remove-scroll: 2.6.3(@types/react@19.1.7)(react@19.2.3) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + react-remove-scroll: 2.6.3(@types/react@19.1.7)(react@19.2.4) 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.2.3(react@19.2.3))(react@19.2.3)': + '@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.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@floating-ui/react-dom': 2.1.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@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.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@19.2.3) - '@radix-ui/react-context': 1.1.1(@types/react@19.1.7)(react@19.2.3) - '@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.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@19.2.3) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@19.2.3) - '@radix-ui/react-use-rect': 1.1.0(@types/react@19.1.7)(react@19.2.3) - '@radix-ui/react-use-size': 1.1.0(@types/react@19.1.7)(react@19.2.3) + '@floating-ui/react-dom': 2.1.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@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.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@19.2.4) + '@radix-ui/react-context': 1.1.1(@types/react@19.1.7)(react@19.2.4) + '@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.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@19.2.4) + '@radix-ui/react-use-rect': 1.1.0(@types/react@19.1.7)(react@19.2.4) + '@radix-ui/react-use-size': 1.1.0(@types/react@19.1.7)(react@19.2.4) '@radix-ui/rect': 1.1.0 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) 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.2.3(react@19.2.3))(react@19.2.3)': + '@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.2.4(react@19.2.4))(react@19.2.4)': 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.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@19.2.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) + '@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.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) 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.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-presence@1.0.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@babel/runtime': 7.28.4 - '@radix-ui/react-compose-refs': 1.0.0(react@19.2.3) - '@radix-ui/react-use-layout-effect': 1.0.0(react@19.2.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) + '@radix-ui/react-compose-refs': 1.0.0(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.0.0(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) - '@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.2.3(react@19.2.3))(react@19.2.3)': + '@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.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@19.2.3) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@19.2.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) 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.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-primitive@1.0.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@babel/runtime': 7.28.4 - '@radix-ui/react-slot': 1.0.1(react@19.2.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) + '@radix-ui/react-slot': 1.0.1(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) - '@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.2.3(react@19.2.3))(react@19.2.3)': + '@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.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-slot': 1.1.2(@types/react@19.1.7)(react@19.2.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) + '@radix-ui/react-slot': 1.1.2(@types/react@19.1.7)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) 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.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-roving-focus@1.0.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@babel/runtime': 7.28.4 '@radix-ui/primitive': 1.0.0 - '@radix-ui/react-collection': 1.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-compose-refs': 1.0.0(react@19.2.3) - '@radix-ui/react-context': 1.0.0(react@19.2.3) - '@radix-ui/react-direction': 1.0.0(react@19.2.3) - '@radix-ui/react-id': 1.0.0(react@19.2.3) - '@radix-ui/react-primitive': 1.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-use-callback-ref': 1.0.0(react@19.2.3) - '@radix-ui/react-use-controllable-state': 1.0.0(react@19.2.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) + '@radix-ui/react-collection': 1.0.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-compose-refs': 1.0.0(react@19.2.4) + '@radix-ui/react-context': 1.0.0(react@19.2.4) + '@radix-ui/react-direction': 1.0.0(react@19.2.4) + '@radix-ui/react-id': 1.0.0(react@19.2.4) + '@radix-ui/react-primitive': 1.0.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-callback-ref': 1.0.0(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.0.0(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) - '@radix-ui/react-slot@1.0.1(react@19.2.3)': + '@radix-ui/react-slot@1.0.1(react@19.2.4)': dependencies: '@babel/runtime': 7.28.4 - '@radix-ui/react-compose-refs': 1.0.0(react@19.2.3) - react: 19.2.3 + '@radix-ui/react-compose-refs': 1.0.0(react@19.2.4) + react: 19.2.4 - '@radix-ui/react-slot@1.1.2(@types/react@19.1.7)(react@19.2.3)': + '@radix-ui/react-slot@1.1.2(@types/react@19.1.7)(react@19.2.4)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@19.2.3) - react: 19.2.3 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@19.2.4) + react: 19.2.4 optionalDependencies: '@types/react': 19.1.7 - '@radix-ui/react-tabs@1.0.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-tabs@1.0.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@babel/runtime': 7.28.4 '@radix-ui/primitive': 1.0.0 - '@radix-ui/react-context': 1.0.0(react@19.2.3) - '@radix-ui/react-direction': 1.0.0(react@19.2.3) - '@radix-ui/react-id': 1.0.0(react@19.2.3) - '@radix-ui/react-presence': 1.0.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-primitive': 1.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-roving-focus': 1.0.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-use-controllable-state': 1.0.0(react@19.2.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) + '@radix-ui/react-context': 1.0.0(react@19.2.4) + '@radix-ui/react-direction': 1.0.0(react@19.2.4) + '@radix-ui/react-id': 1.0.0(react@19.2.4) + '@radix-ui/react-presence': 1.0.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 1.0.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-roving-focus': 1.0.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.0.0(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) - '@radix-ui/react-use-callback-ref@1.0.0(react@19.2.3)': + '@radix-ui/react-use-callback-ref@1.0.0(react@19.2.4)': dependencies: '@babel/runtime': 7.28.4 - react: 19.2.3 + react: 19.2.4 - '@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.1.7)(react@19.2.3)': + '@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.1.7)(react@19.2.4)': dependencies: - react: 19.2.3 + react: 19.2.4 optionalDependencies: '@types/react': 19.1.7 - '@radix-ui/react-use-controllable-state@1.0.0(react@19.2.3)': + '@radix-ui/react-use-controllable-state@1.0.0(react@19.2.4)': dependencies: '@babel/runtime': 7.28.4 - '@radix-ui/react-use-callback-ref': 1.0.0(react@19.2.3) - react: 19.2.3 + '@radix-ui/react-use-callback-ref': 1.0.0(react@19.2.4) + react: 19.2.4 - '@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.1.7)(react@19.2.3)': + '@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.1.7)(react@19.2.4)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@19.2.3) - react: 19.2.3 + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@19.2.4) + react: 19.2.4 optionalDependencies: '@types/react': 19.1.7 - '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.1.7)(react@19.2.3)': + '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.1.7)(react@19.2.4)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@19.2.3) - react: 19.2.3 + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@19.2.4) + react: 19.2.4 optionalDependencies: '@types/react': 19.1.7 - '@radix-ui/react-use-layout-effect@1.0.0(react@19.2.3)': + '@radix-ui/react-use-layout-effect@1.0.0(react@19.2.4)': dependencies: '@babel/runtime': 7.28.4 - react: 19.2.3 + react: 19.2.4 - '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.1.7)(react@19.2.3)': + '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.1.7)(react@19.2.4)': dependencies: - react: 19.2.3 + react: 19.2.4 optionalDependencies: '@types/react': 19.1.7 - '@radix-ui/react-use-rect@1.1.0(@types/react@19.1.7)(react@19.2.3)': + '@radix-ui/react-use-rect@1.1.0(@types/react@19.1.7)(react@19.2.4)': dependencies: '@radix-ui/rect': 1.1.0 - react: 19.2.3 + react: 19.2.4 optionalDependencies: '@types/react': 19.1.7 - '@radix-ui/react-use-size@1.1.0(@types/react@19.1.7)(react@19.2.3)': + '@radix-ui/react-use-size@1.1.0(@types/react@19.1.7)(react@19.2.4)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@19.2.3) - react: 19.2.3 + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@19.2.4) + react: 19.2.4 optionalDependencies: '@types/react': 19.1.7 @@ -18946,20 +20033,28 @@ snapshots: '@redocly/ajv@8.17.1': dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.0.6 + fast-uri: 3.1.0 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - '@redocly/cli@2.14.4(@opentelemetry/api@1.9.0)(ajv@8.17.1)(bufferutil@4.0.9)(core-js@3.46.0)(encoding@0.1.13)(utf-8-validate@6.0.5)': + '@redocly/ajv@8.17.2': + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.0 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + '@redocly/cli@2.14.9(@opentelemetry/api@1.9.0)(bufferutil@4.0.9)(core-js@3.46.0)(encoding@0.1.13)(utf-8-validate@6.0.5)': dependencies: '@opentelemetry/exporter-trace-otlp-http': 0.202.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-node': 2.0.1(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.34.0 - '@redocly/openapi-core': 2.14.4(ajv@8.17.1) - '@redocly/respect-core': 2.14.4(ajv@8.17.1) + '@redocly/openapi-core': 2.14.9 + '@redocly/respect-core': 2.14.9 abort-controller: 3.0.0 - ajv-formats: 3.0.1(ajv@8.17.1) + ajv: '@redocly/ajv@8.17.1' + ajv-formats: 3.0.1(@redocly/ajv@8.17.1) chokidar: 3.6.0 colorette: 1.4.0 cookie: 0.7.2 @@ -18969,19 +20064,18 @@ snapshots: https-proxy-agent: 7.0.6 mobx: 6.15.0 pluralize: 8.0.0 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - redoc: 2.5.1(core-js@3.46.0)(encoding@0.1.13)(mobx@6.15.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(styled-components@6.1.19(react-dom@19.2.3(react@19.2.3))(react@19.2.3)) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + redoc: 2.5.1(core-js@3.46.0)(encoding@0.1.13)(mobx@6.15.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(styled-components@6.1.19(react-dom@19.2.4(react@19.2.4))(react@19.2.4)) semver: 7.7.3 set-cookie-parser: 2.7.2 simple-websocket: 9.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - styled-components: 6.1.19(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + styled-components: 6.1.19(react-dom@19.2.4(react@19.2.4))(react@19.2.4) ulid: 3.0.2 - undici: 6.21.3 + undici: 6.23.0 yargs: 17.0.1 transitivePeerDependencies: - '@opentelemetry/api' - - ajv - bufferutil - core-js - encoding @@ -18991,13 +20085,13 @@ snapshots: '@redocly/config@0.22.2': {} - '@redocly/config@0.41.1': + '@redocly/config@0.41.2': dependencies: json-schema-to-ts: 2.7.2 '@redocly/openapi-core@1.34.5': dependencies: - '@redocly/ajv': 8.17.1 + '@redocly/ajv': 8.17.2 '@redocly/config': 0.22.2 colorette: 1.4.0 https-proxy-agent: 7.0.6 @@ -19009,58 +20103,56 @@ snapshots: transitivePeerDependencies: - supports-color - '@redocly/openapi-core@2.14.4(ajv@8.17.1)': + '@redocly/openapi-core@2.14.9': dependencies: - '@redocly/ajv': 8.17.1 - '@redocly/config': 0.41.1 - ajv-formats: 3.0.1(ajv@8.17.1) + '@redocly/ajv': 8.17.2 + '@redocly/config': 0.41.2 + ajv: '@redocly/ajv@8.17.2' + ajv-formats: 3.0.1(@redocly/ajv@8.17.2) colorette: 1.4.0 js-levenshtein: 1.1.6 js-yaml: 4.1.1 picomatch: 4.0.3 pluralize: 8.0.0 yaml-ast-parser: 0.0.43 - transitivePeerDependencies: - - ajv - '@redocly/respect-core@2.14.4(ajv@8.17.1)': + '@redocly/respect-core@2.14.9': dependencies: '@faker-js/faker': 7.6.0 '@noble/hashes': 1.8.0 '@redocly/ajv': 8.17.1 - '@redocly/openapi-core': 2.14.4(ajv@8.17.1) - better-ajv-errors: 1.2.0(ajv@8.17.1) + '@redocly/openapi-core': 2.14.9 + ajv: '@redocly/ajv@8.17.1' + better-ajv-errors: 1.2.0(@redocly/ajv@8.17.1) colorette: 2.0.20 json-pointer: 0.6.2 jsonpath-rfc9535: 1.3.0 openapi-sampler: 1.6.2 outdent: 0.8.0 - transitivePeerDependencies: - - ajv - '@replit/codemirror-indentation-markers@6.5.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)': + '@replit/codemirror-indentation-markers@6.5.3(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)': dependencies: '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 - '@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.39.9)(@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.39.11)(@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.39.9 + '@codemirror/view': 6.39.11 '@lezer/common': 1.2.3 '@lezer/highlight': 1.2.1 '@lezer/lr': 1.4.2 - '@replit/codemirror-vim@6.3.0(@codemirror/commands@6.10.1)(@codemirror/language@6.11.0)(@codemirror/search@6.5.11)(@codemirror/state@6.5.2)(@codemirror/view@6.39.9)': + '@replit/codemirror-vim@6.3.0(@codemirror/commands@6.10.1)(@codemirror/language@6.11.0)(@codemirror/search@6.6.0)(@codemirror/state@6.5.2)(@codemirror/view@6.39.11)': dependencies: '@codemirror/commands': 6.10.1 '@codemirror/language': 6.11.0 - '@codemirror/search': 6.5.11 + '@codemirror/search': 6.6.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.39.9 + '@codemirror/view': 6.39.11 '@rolldown/binding-android-arm64@1.0.0-beta.29': optional: true @@ -19094,7 +20186,7 @@ snapshots: '@rolldown/binding-wasm32-wasi@1.0.0-beta.29': dependencies: - '@napi-rs/wasm-runtime': 1.1.0 + '@napi-rs/wasm-runtime': 1.1.1 optional: true '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.29': @@ -19249,7 +20341,7 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.52.0': optional: true - '@rushstack/node-core-library@5.13.1(@types/node@24.10.7)': + '@rushstack/node-core-library@5.13.1(@types/node@24.10.9)': dependencies: ajv: 8.13.0 ajv-draft-04: 1.0.0(ajv@8.13.0) @@ -19260,23 +20352,23 @@ snapshots: resolve: 1.22.10 semver: 7.5.4 optionalDependencies: - '@types/node': 24.10.7 + '@types/node': 24.10.9 '@rushstack/rig-package@0.5.3': dependencies: resolve: 1.22.10 strip-json-comments: 3.1.1 - '@rushstack/terminal@0.15.3(@types/node@24.10.7)': + '@rushstack/terminal@0.15.3(@types/node@24.10.9)': dependencies: - '@rushstack/node-core-library': 5.13.1(@types/node@24.10.7) + '@rushstack/node-core-library': 5.13.1(@types/node@24.10.9) supports-color: 8.1.1 optionalDependencies: - '@types/node': 24.10.7 + '@types/node': 24.10.9 - '@rushstack/ts-command-line@5.0.1(@types/node@24.10.7)': + '@rushstack/ts-command-line@5.0.1(@types/node@24.10.9)': dependencies: - '@rushstack/terminal': 0.15.3(@types/node@24.10.7) + '@rushstack/terminal': 0.15.3(@types/node@24.10.9) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -19350,114 +20442,103 @@ snapshots: '@sindresorhus/is@4.6.0': {} - '@smithy/abort-controller@4.2.5': - dependencies: - '@smithy/types': 4.11.0 - tslib: 2.8.1 + '@sindresorhus/merge-streams@4.0.0': {} - '@smithy/abort-controller@4.2.7': + '@smithy/abort-controller@4.2.8': dependencies: - '@smithy/types': 4.11.0 + '@smithy/types': 4.12.0 tslib: 2.8.1 '@smithy/config-resolver@4.1.4': dependencies: - '@smithy/node-config-provider': 4.3.7 - '@smithy/types': 4.11.0 + '@smithy/node-config-provider': 4.3.8 + '@smithy/types': 4.12.0 '@smithy/util-config-provider': 4.0.0 - '@smithy/util-middleware': 4.2.7 + '@smithy/util-middleware': 4.2.8 tslib: 2.8.1 - '@smithy/core@3.20.0': + '@smithy/core@3.21.0': dependencies: - '@smithy/middleware-serde': 4.2.8 - '@smithy/protocol-http': 5.3.7 - '@smithy/types': 4.11.0 + '@smithy/middleware-serde': 4.2.9 + '@smithy/protocol-http': 5.3.8 + '@smithy/types': 4.12.0 '@smithy/util-base64': 4.3.0 '@smithy/util-body-length-browser': 4.2.0 - '@smithy/util-middleware': 4.2.7 - '@smithy/util-stream': 4.5.8 + '@smithy/util-middleware': 4.2.8 + '@smithy/util-stream': 4.5.10 '@smithy/util-utf8': 4.2.0 '@smithy/uuid': 1.1.0 tslib: 2.8.1 - '@smithy/core@3.20.2': + '@smithy/core@3.21.1': dependencies: - '@smithy/middleware-serde': 4.2.8 - '@smithy/protocol-http': 5.3.7 - '@smithy/types': 4.11.0 + '@smithy/middleware-serde': 4.2.9 + '@smithy/protocol-http': 5.3.8 + '@smithy/types': 4.12.0 '@smithy/util-base64': 4.3.0 '@smithy/util-body-length-browser': 4.2.0 - '@smithy/util-middleware': 4.2.7 - '@smithy/util-stream': 4.5.8 + '@smithy/util-middleware': 4.2.8 + '@smithy/util-stream': 4.5.10 '@smithy/util-utf8': 4.2.0 '@smithy/uuid': 1.1.0 tslib: 2.8.1 '@smithy/credential-provider-imds@4.0.6': dependencies: - '@smithy/node-config-provider': 4.3.7 - '@smithy/property-provider': 4.2.7 - '@smithy/types': 4.11.0 - '@smithy/url-parser': 4.2.7 + '@smithy/node-config-provider': 4.3.8 + '@smithy/property-provider': 4.2.8 + '@smithy/types': 4.12.0 + '@smithy/url-parser': 4.2.8 tslib: 2.8.1 '@smithy/eventstream-codec@4.0.4': dependencies: '@aws-crypto/crc32': 5.2.0 - '@smithy/types': 4.11.0 + '@smithy/types': 4.12.0 '@smithy/util-hex-encoding': 4.2.0 tslib: 2.8.1 '@smithy/eventstream-serde-browser@4.0.4': dependencies: '@smithy/eventstream-serde-universal': 4.0.4 - '@smithy/types': 4.11.0 + '@smithy/types': 4.12.0 tslib: 2.8.1 '@smithy/eventstream-serde-config-resolver@4.1.2': dependencies: - '@smithy/types': 4.11.0 + '@smithy/types': 4.12.0 tslib: 2.8.1 '@smithy/eventstream-serde-node@4.0.4': dependencies: '@smithy/eventstream-serde-universal': 4.0.4 - '@smithy/types': 4.11.0 + '@smithy/types': 4.12.0 tslib: 2.8.1 '@smithy/eventstream-serde-universal@4.0.4': dependencies: '@smithy/eventstream-codec': 4.0.4 - '@smithy/types': 4.11.0 + '@smithy/types': 4.12.0 tslib: 2.8.1 - '@smithy/fetch-http-handler@5.3.6': + '@smithy/fetch-http-handler@5.3.9': dependencies: - '@smithy/protocol-http': 5.3.7 - '@smithy/querystring-builder': 4.2.5 - '@smithy/types': 4.11.0 - '@smithy/util-base64': 4.3.0 - tslib: 2.8.1 - - '@smithy/fetch-http-handler@5.3.8': - dependencies: - '@smithy/protocol-http': 5.3.7 - '@smithy/querystring-builder': 4.2.7 - '@smithy/types': 4.11.0 + '@smithy/protocol-http': 5.3.8 + '@smithy/querystring-builder': 4.2.8 + '@smithy/types': 4.12.0 '@smithy/util-base64': 4.3.0 tslib: 2.8.1 '@smithy/hash-node@4.0.4': dependencies: - '@smithy/types': 4.11.0 + '@smithy/types': 4.12.0 '@smithy/util-buffer-from': 4.2.0 '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 '@smithy/invalid-dependency@4.0.4': dependencies: - '@smithy/types': 4.11.0 + '@smithy/types': 4.12.0 tslib: 2.8.1 '@smithy/is-array-buffer@2.2.0': @@ -19470,170 +20551,139 @@ snapshots: '@smithy/middleware-content-length@4.0.4': dependencies: - '@smithy/protocol-http': 5.3.7 - '@smithy/types': 4.11.0 + '@smithy/protocol-http': 5.3.8 + '@smithy/types': 4.12.0 tslib: 2.8.1 - '@smithy/middleware-endpoint@4.4.1': + '@smithy/middleware-endpoint@4.4.10': dependencies: - '@smithy/core': 3.20.0 - '@smithy/middleware-serde': 4.2.8 - '@smithy/node-config-provider': 4.3.7 - '@smithy/shared-ini-file-loader': 4.4.2 - '@smithy/types': 4.11.0 - '@smithy/url-parser': 4.2.7 - '@smithy/util-middleware': 4.2.7 + '@smithy/core': 3.21.0 + '@smithy/middleware-serde': 4.2.9 + '@smithy/node-config-provider': 4.3.8 + '@smithy/shared-ini-file-loader': 4.4.3 + '@smithy/types': 4.12.0 + '@smithy/url-parser': 4.2.8 + '@smithy/util-middleware': 4.2.8 tslib: 2.8.1 - '@smithy/middleware-endpoint@4.4.3': + '@smithy/middleware-endpoint@4.4.11': dependencies: - '@smithy/core': 3.20.2 - '@smithy/middleware-serde': 4.2.8 - '@smithy/node-config-provider': 4.3.7 - '@smithy/shared-ini-file-loader': 4.4.2 - '@smithy/types': 4.11.0 - '@smithy/url-parser': 4.2.7 - '@smithy/util-middleware': 4.2.7 + '@smithy/core': 3.21.1 + '@smithy/middleware-serde': 4.2.9 + '@smithy/node-config-provider': 4.3.8 + '@smithy/shared-ini-file-loader': 4.4.3 + '@smithy/types': 4.12.0 + '@smithy/url-parser': 4.2.8 + '@smithy/util-middleware': 4.2.8 tslib: 2.8.1 - '@smithy/middleware-retry@4.4.19': + '@smithy/middleware-retry@4.4.27': dependencies: - '@smithy/node-config-provider': 4.3.7 - '@smithy/protocol-http': 5.3.7 - '@smithy/service-error-classification': 4.2.7 - '@smithy/smithy-client': 4.10.4 - '@smithy/types': 4.11.0 - '@smithy/util-middleware': 4.2.7 - '@smithy/util-retry': 4.2.7 + '@smithy/node-config-provider': 4.3.8 + '@smithy/protocol-http': 5.3.8 + '@smithy/service-error-classification': 4.2.8 + '@smithy/smithy-client': 4.10.12 + '@smithy/types': 4.12.0 + '@smithy/util-middleware': 4.2.8 + '@smithy/util-retry': 4.2.8 '@smithy/uuid': 1.1.0 tslib: 2.8.1 - '@smithy/middleware-serde@4.2.6': + '@smithy/middleware-serde@4.2.9': dependencies: - '@smithy/protocol-http': 5.3.7 - '@smithy/types': 4.11.0 + '@smithy/protocol-http': 5.3.8 + '@smithy/types': 4.12.0 tslib: 2.8.1 - '@smithy/middleware-serde@4.2.8': + '@smithy/middleware-stack@4.2.8': dependencies: - '@smithy/protocol-http': 5.3.7 - '@smithy/types': 4.11.0 + '@smithy/types': 4.12.0 tslib: 2.8.1 - '@smithy/middleware-stack@4.2.7': + '@smithy/node-config-provider@4.3.8': dependencies: - '@smithy/types': 4.11.0 + '@smithy/property-provider': 4.2.8 + '@smithy/shared-ini-file-loader': 4.4.3 + '@smithy/types': 4.12.0 tslib: 2.8.1 - '@smithy/node-config-provider@4.3.7': + '@smithy/node-http-handler@4.4.8': dependencies: - '@smithy/property-provider': 4.2.7 - '@smithy/shared-ini-file-loader': 4.4.2 - '@smithy/types': 4.11.0 + '@smithy/abort-controller': 4.2.8 + '@smithy/protocol-http': 5.3.8 + '@smithy/querystring-builder': 4.2.8 + '@smithy/types': 4.12.0 tslib: 2.8.1 - '@smithy/node-http-handler@4.4.5': + '@smithy/property-provider@4.2.8': dependencies: - '@smithy/abort-controller': 4.2.5 - '@smithy/protocol-http': 5.3.7 - '@smithy/querystring-builder': 4.2.5 - '@smithy/types': 4.11.0 + '@smithy/types': 4.12.0 tslib: 2.8.1 - '@smithy/node-http-handler@4.4.7': + '@smithy/protocol-http@5.3.8': dependencies: - '@smithy/abort-controller': 4.2.7 - '@smithy/protocol-http': 5.3.7 - '@smithy/querystring-builder': 4.2.7 - '@smithy/types': 4.11.0 + '@smithy/types': 4.12.0 tslib: 2.8.1 - '@smithy/property-provider@4.2.7': + '@smithy/querystring-builder@4.2.8': dependencies: - '@smithy/types': 4.11.0 - tslib: 2.8.1 - - '@smithy/protocol-http@5.3.7': - dependencies: - '@smithy/types': 4.11.0 - tslib: 2.8.1 - - '@smithy/querystring-builder@4.2.5': - dependencies: - '@smithy/types': 4.11.0 + '@smithy/types': 4.12.0 '@smithy/util-uri-escape': 4.2.0 tslib: 2.8.1 - '@smithy/querystring-builder@4.2.7': + '@smithy/querystring-parser@4.2.8': dependencies: - '@smithy/types': 4.11.0 - '@smithy/util-uri-escape': 4.2.0 + '@smithy/types': 4.12.0 tslib: 2.8.1 - '@smithy/querystring-parser@4.2.5': + '@smithy/service-error-classification@4.2.8': dependencies: - '@smithy/types': 4.11.0 - tslib: 2.8.1 + '@smithy/types': 4.12.0 - '@smithy/querystring-parser@4.2.7': + '@smithy/shared-ini-file-loader@4.4.3': dependencies: - '@smithy/types': 4.11.0 - tslib: 2.8.1 - - '@smithy/service-error-classification@4.2.7': - dependencies: - '@smithy/types': 4.11.0 - - '@smithy/shared-ini-file-loader@4.4.2': - dependencies: - '@smithy/types': 4.11.0 + '@smithy/types': 4.12.0 tslib: 2.8.1 '@smithy/signature-v4@5.1.2': dependencies: '@smithy/is-array-buffer': 4.2.0 - '@smithy/protocol-http': 5.3.7 - '@smithy/types': 4.11.0 + '@smithy/protocol-http': 5.3.8 + '@smithy/types': 4.12.0 '@smithy/util-hex-encoding': 4.2.0 - '@smithy/util-middleware': 4.2.7 + '@smithy/util-middleware': 4.2.8 '@smithy/util-uri-escape': 4.2.0 '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 - '@smithy/smithy-client@4.10.2': + '@smithy/smithy-client@4.10.11': dependencies: - '@smithy/core': 3.20.0 - '@smithy/middleware-endpoint': 4.4.1 - '@smithy/middleware-stack': 4.2.7 - '@smithy/protocol-http': 5.3.7 - '@smithy/types': 4.11.0 - '@smithy/util-stream': 4.5.8 + '@smithy/core': 3.21.0 + '@smithy/middleware-endpoint': 4.4.10 + '@smithy/middleware-stack': 4.2.8 + '@smithy/protocol-http': 5.3.8 + '@smithy/types': 4.12.0 + '@smithy/util-stream': 4.5.10 tslib: 2.8.1 - '@smithy/smithy-client@4.10.4': + '@smithy/smithy-client@4.10.12': dependencies: - '@smithy/core': 3.20.2 - '@smithy/middleware-endpoint': 4.4.3 - '@smithy/middleware-stack': 4.2.7 - '@smithy/protocol-http': 5.3.7 - '@smithy/types': 4.11.0 - '@smithy/util-stream': 4.5.8 + '@smithy/core': 3.21.1 + '@smithy/middleware-endpoint': 4.4.11 + '@smithy/middleware-stack': 4.2.8 + '@smithy/protocol-http': 5.3.8 + '@smithy/types': 4.12.0 + '@smithy/util-stream': 4.5.10 tslib: 2.8.1 - '@smithy/types@4.11.0': + '@smithy/types@4.12.0': dependencies: tslib: 2.8.1 - '@smithy/url-parser@4.2.5': + '@smithy/url-parser@4.2.8': dependencies: - '@smithy/querystring-parser': 4.2.5 - '@smithy/types': 4.11.0 - tslib: 2.8.1 - - '@smithy/url-parser@4.2.7': - dependencies: - '@smithy/querystring-parser': 4.2.7 - '@smithy/types': 4.11.0 + '@smithy/querystring-parser': 4.2.8 + '@smithy/types': 4.12.0 tslib: 2.8.1 '@smithy/util-base64@4.3.0': @@ -19666,9 +20716,9 @@ snapshots: '@smithy/util-defaults-mode-browser@4.0.22': dependencies: - '@smithy/property-provider': 4.2.7 - '@smithy/smithy-client': 4.10.2 - '@smithy/types': 4.11.0 + '@smithy/property-provider': 4.2.8 + '@smithy/smithy-client': 4.10.11 + '@smithy/types': 4.12.0 bowser: 2.11.0 tslib: 2.8.1 @@ -19676,38 +20726,38 @@ snapshots: dependencies: '@smithy/config-resolver': 4.1.4 '@smithy/credential-provider-imds': 4.0.6 - '@smithy/node-config-provider': 4.3.7 - '@smithy/property-provider': 4.2.7 - '@smithy/smithy-client': 4.10.2 - '@smithy/types': 4.11.0 + '@smithy/node-config-provider': 4.3.8 + '@smithy/property-provider': 4.2.8 + '@smithy/smithy-client': 4.10.11 + '@smithy/types': 4.12.0 tslib: 2.8.1 '@smithy/util-endpoints@3.0.6': dependencies: - '@smithy/node-config-provider': 4.3.7 - '@smithy/types': 4.11.0 + '@smithy/node-config-provider': 4.3.8 + '@smithy/types': 4.12.0 tslib: 2.8.1 '@smithy/util-hex-encoding@4.2.0': dependencies: tslib: 2.8.1 - '@smithy/util-middleware@4.2.7': + '@smithy/util-middleware@4.2.8': dependencies: - '@smithy/types': 4.11.0 + '@smithy/types': 4.12.0 tslib: 2.8.1 - '@smithy/util-retry@4.2.7': + '@smithy/util-retry@4.2.8': dependencies: - '@smithy/service-error-classification': 4.2.7 - '@smithy/types': 4.11.0 + '@smithy/service-error-classification': 4.2.8 + '@smithy/types': 4.12.0 tslib: 2.8.1 - '@smithy/util-stream@4.5.8': + '@smithy/util-stream@4.5.10': dependencies: - '@smithy/fetch-http-handler': 5.3.8 - '@smithy/node-http-handler': 4.4.7 - '@smithy/types': 4.11.0 + '@smithy/fetch-http-handler': 5.3.9 + '@smithy/node-http-handler': 4.4.8 + '@smithy/types': 4.12.0 '@smithy/util-base64': 4.3.0 '@smithy/util-buffer-from': 4.2.0 '@smithy/util-hex-encoding': 4.2.0 @@ -19748,7 +20798,7 @@ snapshots: '@stylistic/eslint-plugin@4.4.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/utils': 8.51.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) eslint: 9.39.2(jiti@2.6.1) eslint-visitor-keys: 4.2.1 espree: 10.4.0 @@ -19758,7 +20808,7 @@ snapshots: - supports-color - typescript - '@stylistic/stylelint-plugin@3.1.3(stylelint@16.26.1(typescript@5.9.3))': + '@stylistic/stylelint-plugin@3.1.3(stylelint@17.0.0(typescript@5.9.3))': dependencies: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 @@ -19768,7 +20818,7 @@ snapshots: postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 style-search: 0.1.0 - stylelint: 16.26.1(typescript@5.9.3) + stylelint: 17.0.0(typescript@5.9.3) '@swc/core-darwin-arm64@1.11.29': optional: true @@ -19876,7 +20926,7 @@ snapshots: '@types/appdmg@0.5.5': dependencies: - '@types/node': 24.10.7 + '@types/node': 24.10.9 optional: true '@types/archiver@7.0.0': @@ -19892,11 +20942,11 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 24.10.7 + '@types/node': 24.10.9 '@types/bonjour@3.5.13': dependencies: - '@types/node': 24.10.7 + '@types/node': 24.10.9 '@types/bootstrap@5.2.10': dependencies: @@ -19910,7 +20960,7 @@ snapshots: dependencies: '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 - '@types/node': 24.10.7 + '@types/node': 24.10.9 '@types/responselike': 1.0.3 '@types/chai@5.2.2': @@ -19935,11 +20985,11 @@ snapshots: '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 5.1.0 - '@types/node': 24.10.7 + '@types/node': 24.10.9 '@types/connect@3.4.38': dependencies: - '@types/node': 24.10.7 + '@types/node': 24.10.9 '@types/cookie-parser@1.4.10(@types/express@5.0.6)': dependencies: @@ -19952,7 +21002,7 @@ snapshots: '@types/cors@2.8.19': dependencies: - '@types/node': 24.10.7 + '@types/node': 24.10.9 '@types/cssnano@5.1.3(postcss@8.5.6)': dependencies: @@ -20109,7 +21159,7 @@ snapshots: '@types/express-serve-static-core@5.1.0': dependencies: - '@types/node': 24.10.7 + '@types/node': 24.10.9 '@types/qs': 6.14.0 '@types/range-parser': 1.2.7 '@types/send': 0.17.5 @@ -20137,6 +21187,12 @@ snapshots: '@types/express-serve-static-core': 5.1.0 '@types/serve-static': 2.2.0 + '@types/filesystem@0.0.36': + dependencies: + '@types/filewriter': 0.0.33 + + '@types/filewriter@0.0.33': {} + '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 @@ -20144,7 +21200,7 @@ snapshots: '@types/fs-extra@9.0.13': dependencies: - '@types/node': 24.10.7 + '@types/node': 24.10.9 optional: true '@types/geojson-vt@3.2.5': @@ -20153,6 +21209,8 @@ snapshots: '@types/geojson@7946.0.16': {} + '@types/har-format@1.2.16': {} + '@types/hast@3.0.4': dependencies: '@types/unist': 3.0.3 @@ -20165,7 +21223,7 @@ snapshots: '@types/http-proxy@1.17.16': dependencies: - '@types/node': 24.10.7 + '@types/node': 24.10.9 '@types/ini@4.1.1': {} @@ -20173,15 +21231,17 @@ snapshots: dependencies: '@types/sizzle': 2.3.9 + '@types/js-yaml@4.0.9': {} + '@types/json-schema@7.0.15': {} '@types/jsonfile@6.1.4': dependencies: - '@types/node': 24.10.7 + '@types/node': 24.10.9 '@types/keyv@3.1.4': dependencies: - '@types/node': 24.10.7 + '@types/node': 24.10.9 '@types/leaflet-gpx@1.3.8': dependencies: @@ -20221,6 +21281,8 @@ snapshots: '@types/mime@1.3.5': {} + '@types/minimatch@3.0.5': {} + '@types/ms@2.1.0': {} '@types/multer@2.0.0': @@ -20229,11 +21291,11 @@ snapshots: '@types/mute-stream@0.0.4': dependencies: - '@types/node': 24.10.7 + '@types/node': 24.10.9 '@types/node-forge@1.3.14': dependencies: - '@types/node': 24.10.7 + '@types/node': 24.10.9 '@types/node@16.9.1': {} @@ -20261,7 +21323,7 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@24.10.7': + '@types/node@24.10.9': dependencies: undici-types: 7.16.0 @@ -20289,13 +21351,13 @@ snapshots: '@types/readdir-glob@1.1.5': dependencies: - '@types/node': 24.10.7 + '@types/node': 24.10.9 '@types/resolve@1.20.2': {} '@types/responselike@1.0.3': dependencies: - '@types/node': 24.10.7 + '@types/node': 24.10.9 '@types/retry@0.12.2': {} @@ -20314,7 +21376,7 @@ snapshots: '@types/send@0.17.5': dependencies: '@types/mime': 1.3.5 - '@types/node': 24.10.7 + '@types/node': 24.10.9 '@types/serve-favicon@2.5.7': dependencies: @@ -20327,7 +21389,7 @@ snapshots: '@types/serve-static@1.15.10': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 24.10.7 + '@types/node': 24.10.9 '@types/send': 0.17.5 '@types/serve-static@2.2.0': @@ -20341,7 +21403,7 @@ snapshots: '@types/sockjs@0.3.36': dependencies: - '@types/node': 24.10.7 + '@types/node': 24.10.9 '@types/statuses@2.0.6': optional: true @@ -20356,8 +21418,8 @@ snapshots: dependencies: '@types/cookiejar': 2.1.5 '@types/methods': 1.1.4 - '@types/node': 24.10.7 - form-data: 4.0.4 + '@types/node': 24.10.9 + form-data: 4.0.5 '@types/supercluster@7.1.3': dependencies: @@ -20372,7 +21434,7 @@ snapshots: '@types/through2@2.0.41': dependencies: - '@types/node': 24.10.7 + '@types/node': 24.10.9 '@types/tmp@0.2.6': {} @@ -20410,7 +21472,7 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 24.10.7 + '@types/node': 24.10.9 optional: true '@typescript-eslint/eslint-plugin@8.46.4(@typescript-eslint/parser@8.46.4(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': @@ -20425,19 +21487,19 @@ snapshots: graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.3.0(typescript@5.9.3) + ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.52.0(@typescript-eslint/parser@8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.53.0(@typescript-eslint/parser@8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.52.0 - '@typescript-eslint/type-utils': 8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/utils': 8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.52.0 + '@typescript-eslint/parser': 8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.53.0 + '@typescript-eslint/type-utils': 8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.53.0 eslint: 9.39.2(jiti@2.6.1) ignore: 7.0.5 natural-compare: 1.4.0 @@ -20458,12 +21520,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/parser@8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/scope-manager': 8.52.0 - '@typescript-eslint/types': 8.52.0 - '@typescript-eslint/typescript-estree': 8.52.0(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.52.0 + '@typescript-eslint/scope-manager': 8.53.0 + '@typescript-eslint/types': 8.53.0 + '@typescript-eslint/typescript-estree': 8.53.0(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.53.0 debug: 4.4.3(supports-color@8.1.1) eslint: 9.39.2(jiti@2.6.1) typescript: 5.9.3 @@ -20472,17 +21534,8 @@ snapshots: '@typescript-eslint/project-service@8.46.4(typescript@5.9.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.51.0(typescript@5.9.3) - '@typescript-eslint/types': 8.51.0 - debug: 4.4.3(supports-color@8.1.1) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/project-service@8.51.0(typescript@5.9.3)': - dependencies: - '@typescript-eslint/tsconfig-utils': 8.51.0(typescript@5.9.3) - '@typescript-eslint/types': 8.51.0 + '@typescript-eslint/tsconfig-utils': 8.52.0(typescript@5.9.3) + '@typescript-eslint/types': 8.53.0 debug: 4.4.3(supports-color@8.1.1) typescript: 5.9.3 transitivePeerDependencies: @@ -20491,7 +21544,16 @@ snapshots: '@typescript-eslint/project-service@8.52.0(typescript@5.9.3)': dependencies: '@typescript-eslint/tsconfig-utils': 8.52.0(typescript@5.9.3) - '@typescript-eslint/types': 8.52.0 + '@typescript-eslint/types': 8.53.0 + debug: 4.4.3(supports-color@8.1.1) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.53.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.53.0(typescript@5.9.3) + '@typescript-eslint/types': 8.53.0 debug: 4.4.3(supports-color@8.1.1) typescript: 5.9.3 transitivePeerDependencies: @@ -20502,25 +21564,25 @@ snapshots: '@typescript-eslint/types': 8.46.4 '@typescript-eslint/visitor-keys': 8.46.4 - '@typescript-eslint/scope-manager@8.51.0': - dependencies: - '@typescript-eslint/types': 8.51.0 - '@typescript-eslint/visitor-keys': 8.51.0 - '@typescript-eslint/scope-manager@8.52.0': dependencies: '@typescript-eslint/types': 8.52.0 '@typescript-eslint/visitor-keys': 8.52.0 + '@typescript-eslint/scope-manager@8.53.0': + dependencies: + '@typescript-eslint/types': 8.53.0 + '@typescript-eslint/visitor-keys': 8.53.0 + '@typescript-eslint/tsconfig-utils@8.46.4(typescript@5.9.3)': dependencies: typescript: 5.9.3 - '@typescript-eslint/tsconfig-utils@8.51.0(typescript@5.9.3)': + '@typescript-eslint/tsconfig-utils@8.52.0(typescript@5.9.3)': dependencies: typescript: 5.9.3 - '@typescript-eslint/tsconfig-utils@8.52.0(typescript@5.9.3)': + '@typescript-eslint/tsconfig-utils@8.53.0(typescript@5.9.3)': dependencies: typescript: 5.9.3 @@ -20531,16 +21593,16 @@ snapshots: '@typescript-eslint/utils': 8.46.4(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) debug: 4.4.3(supports-color@8.1.1) eslint: 9.39.2(jiti@2.6.1) - ts-api-utils: 2.3.0(typescript@5.9.3) + ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/types': 8.52.0 - '@typescript-eslint/typescript-estree': 8.52.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/types': 8.53.0 + '@typescript-eslint/typescript-estree': 8.53.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) debug: 4.4.3(supports-color@8.1.1) eslint: 9.39.2(jiti@2.6.1) ts-api-utils: 2.4.0(typescript@5.9.3) @@ -20550,10 +21612,10 @@ snapshots: '@typescript-eslint/types@8.46.4': {} - '@typescript-eslint/types@8.51.0': {} - '@typescript-eslint/types@8.52.0': {} + '@typescript-eslint/types@8.53.0': {} + '@typescript-eslint/typescript-estree@8.46.4(typescript@5.9.3)': dependencies: '@typescript-eslint/project-service': 8.46.4(typescript@5.9.3) @@ -20565,22 +21627,7 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.7.3 - ts-api-utils: 2.3.0(typescript@5.9.3) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/typescript-estree@8.51.0(typescript@5.9.3)': - dependencies: - '@typescript-eslint/project-service': 8.51.0(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.51.0(typescript@5.9.3) - '@typescript-eslint/types': 8.51.0 - '@typescript-eslint/visitor-keys': 8.51.0 - debug: 4.4.3(supports-color@8.1.1) - minimatch: 9.0.5 - semver: 7.7.3 - tinyglobby: 0.2.15 - ts-api-utils: 2.3.0(typescript@5.9.3) + ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -20600,23 +21647,27 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.46.4(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/typescript-estree@8.53.0(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2(jiti@2.6.1)) - '@typescript-eslint/scope-manager': 8.46.4 - '@typescript-eslint/types': 8.46.4 - '@typescript-eslint/typescript-estree': 8.46.4(typescript@5.9.3) - eslint: 9.39.2(jiti@2.6.1) + '@typescript-eslint/project-service': 8.53.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.53.0(typescript@5.9.3) + '@typescript-eslint/types': 8.53.0 + '@typescript-eslint/visitor-keys': 8.53.0 + debug: 4.4.3(supports-color@8.1.1) + minimatch: 9.0.5 + semver: 7.7.3 + tinyglobby: 0.2.15 + ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.51.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/utils@8.46.4(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2(jiti@2.6.1)) - '@typescript-eslint/scope-manager': 8.51.0 - '@typescript-eslint/types': 8.51.0 - '@typescript-eslint/typescript-estree': 8.51.0(typescript@5.9.3) + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) + '@typescript-eslint/scope-manager': 8.46.4 + '@typescript-eslint/types': 8.46.4 + '@typescript-eslint/typescript-estree': 8.46.4(typescript@5.9.3) eslint: 9.39.2(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: @@ -20633,75 +21684,89 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/utils@8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) + '@typescript-eslint/scope-manager': 8.53.0 + '@typescript-eslint/types': 8.53.0 + '@typescript-eslint/typescript-estree': 8.53.0(typescript@5.9.3) + eslint: 9.39.2(jiti@2.6.1) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/visitor-keys@8.46.4': dependencies: '@typescript-eslint/types': 8.46.4 eslint-visitor-keys: 4.2.1 - '@typescript-eslint/visitor-keys@8.51.0': - dependencies: - '@typescript-eslint/types': 8.51.0 - eslint-visitor-keys: 4.2.1 - '@typescript-eslint/visitor-keys@8.52.0': dependencies: '@typescript-eslint/types': 8.52.0 eslint-visitor-keys: 4.2.1 + '@typescript-eslint/visitor-keys@8.53.0': + dependencies: + '@typescript-eslint/types': 8.53.0 + eslint-visitor-keys: 4.2.1 + '@ungap/structured-clone@1.3.0': {} - '@uploadcare/cname-prefix@6.17.0': {} + '@uploadcare/cname-prefix@6.18.3': {} - '@uploadcare/file-uploader@1.19.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)': + '@uploadcare/file-uploader@1.24.5(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@symbiotejs/symbiote': 1.11.7 - '@uploadcare/cname-prefix': 6.17.0 - '@uploadcare/image-shrink': 6.17.0 - '@uploadcare/upload-client': 6.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@uploadcare/cname-prefix': 6.18.3 + '@uploadcare/image-shrink': 6.18.3 + '@uploadcare/quality-insights': 6.18.3 + '@uploadcare/upload-client': 6.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) keyux: 0.7.2 transitivePeerDependencies: - bufferutil - utf-8-validate - '@uploadcare/image-shrink@6.17.0': {} + '@uploadcare/image-shrink@6.18.3': {} + + '@uploadcare/quality-insights@6.18.3': {} '@uploadcare/upload-client@6.14.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: - form-data: 4.0.4 + form-data: 4.0.5 ws: 8.19.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bufferutil - utf-8-validate - '@uploadcare/upload-client@6.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': + '@uploadcare/upload-client@6.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: - form-data: 4.0.4 + form-data: 4.0.5 ws: 8.19.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bufferutil - utf-8-validate - '@vitest/browser-webdriverio@4.0.16(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.16)(webdriverio@9.23.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': + '@vitest/browser-webdriverio@4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18)(webdriverio@9.23.2(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: - '@vitest/browser': 4.0.16(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.16) - vitest: 4.0.16(@opentelemetry/api@1.9.0)(@types/node@24.10.7)(@vitest/browser-webdriverio@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.2)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) - webdriverio: 9.23.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@vitest/browser': 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18) + vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.9)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.4.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + webdriverio: 9.23.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bufferutil - msw - utf-8-validate - vite - '@vitest/browser@4.0.16(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.16)': + '@vitest/browser@4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18)': dependencies: - '@vitest/mocker': 4.0.16(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) - '@vitest/utils': 4.0.16 + '@vitest/mocker': 4.0.18(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + '@vitest/utils': 4.0.18 magic-string: 0.30.21 pixelmatch: 7.1.0 pngjs: 7.0.0 sirv: 3.0.2 tinyrainbow: 3.0.3 - vitest: 4.0.16(@opentelemetry/api@1.9.0)(@types/node@24.10.7)(@vitest/browser-webdriverio@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.2)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.9)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.4.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) ws: 8.19.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bufferutil @@ -20709,7 +21774,7 @@ snapshots: - utf-8-validate - vite - '@vitest/coverage-istanbul@4.0.16(vitest@4.0.16)': + '@vitest/coverage-istanbul@4.0.18(vitest@4.0.18)': dependencies: '@istanbuljs/schema': 0.1.3 '@jridgewell/gen-mapping': 0.3.13 @@ -20717,83 +21782,79 @@ snapshots: istanbul-lib-coverage: 3.2.2 istanbul-lib-instrument: 6.0.3 istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.6 istanbul-reports: 3.2.0 magicast: 0.5.1 obug: 2.1.1 tinyrainbow: 3.0.3 - vitest: 4.0.16(@opentelemetry/api@1.9.0)(@types/node@24.10.7)(@vitest/browser-webdriverio@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.2)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.9)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.4.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) transitivePeerDependencies: - supports-color - '@vitest/coverage-v8@4.0.16(@vitest/browser@4.0.16(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.16))(vitest@4.0.16)': + '@vitest/coverage-v8@4.0.18(@vitest/browser@4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18))(vitest@4.0.18)': dependencies: '@bcoe/v8-coverage': 1.0.2 - '@vitest/utils': 4.0.16 - ast-v8-to-istanbul: 0.3.8 + '@vitest/utils': 4.0.18 + ast-v8-to-istanbul: 0.3.10 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.6 istanbul-reports: 3.2.0 magicast: 0.5.1 obug: 2.1.1 std-env: 3.10.0 tinyrainbow: 3.0.3 - vitest: 4.0.16(@opentelemetry/api@1.9.0)(@types/node@24.10.7)(@vitest/browser-webdriverio@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.2)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.9)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.4.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) optionalDependencies: - '@vitest/browser': 4.0.16(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.16) - transitivePeerDependencies: - - supports-color + '@vitest/browser': 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18) - '@vitest/expect@4.0.16': + '@vitest/expect@4.0.18': dependencies: '@standard-schema/spec': 1.0.0 '@types/chai': 5.2.2 - '@vitest/spy': 4.0.16 - '@vitest/utils': 4.0.16 + '@vitest/spy': 4.0.18 + '@vitest/utils': 4.0.18 chai: 6.2.1 tinyrainbow: 3.0.3 - '@vitest/mocker@4.0.16(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))': + '@vitest/mocker@4.0.18(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))': dependencies: - '@vitest/spy': 4.0.16 + '@vitest/spy': 4.0.18 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - msw: 2.7.5(@types/node@24.10.7)(typescript@5.9.3) - vite: 7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + msw: 2.7.5(@types/node@24.10.9)(typescript@5.9.3) + vite: 7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) - '@vitest/pretty-format@4.0.16': + '@vitest/pretty-format@4.0.18': dependencies: tinyrainbow: 3.0.3 - '@vitest/runner@4.0.16': + '@vitest/runner@4.0.18': dependencies: - '@vitest/utils': 4.0.16 + '@vitest/utils': 4.0.18 pathe: 2.0.3 - '@vitest/snapshot@4.0.16': + '@vitest/snapshot@4.0.18': dependencies: - '@vitest/pretty-format': 4.0.16 + '@vitest/pretty-format': 4.0.18 magic-string: 0.30.21 pathe: 2.0.3 - '@vitest/spy@4.0.16': {} + '@vitest/spy@4.0.18': {} - '@vitest/ui@4.0.16(vitest@4.0.16)': + '@vitest/ui@4.0.18(vitest@4.0.18)': dependencies: - '@vitest/utils': 4.0.16 + '@vitest/utils': 4.0.18 fflate: 0.8.2 flatted: 3.3.3 pathe: 2.0.3 sirv: 3.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vitest: 4.0.16(@opentelemetry/api@1.9.0)(@types/node@24.10.7)(@vitest/browser-webdriverio@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.2)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.9)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.4.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) - '@vitest/utils@4.0.16': + '@vitest/utils@4.0.18': dependencies: - '@vitest/pretty-format': 4.0.16 + '@vitest/pretty-format': 4.0.18 tinyrainbow: 3.0.3 '@volar/language-core@2.4.13': @@ -20843,13 +21904,13 @@ snapshots: '@vue/shared@3.5.14': {} - '@wdio/config@9.23.0': + '@wdio/config@9.23.2': dependencies: '@wdio/logger': 9.18.0 - '@wdio/types': 9.20.0 - '@wdio/utils': 9.23.0 + '@wdio/types': 9.23.2 + '@wdio/utils': 9.23.2 deepmerge-ts: 7.1.5 - glob: 10.4.5 + glob: 10.5.0 import-meta-resolve: 4.2.0 transitivePeerDependencies: - bare-buffer @@ -20863,21 +21924,21 @@ snapshots: safe-regex2: 5.0.0 strip-ansi: 7.1.2 - '@wdio/protocols@9.16.2': {} + '@wdio/protocols@9.23.2': {} '@wdio/repl@9.16.2': dependencies: '@types/node': 20.19.25 - '@wdio/types@9.20.0': + '@wdio/types@9.23.2': dependencies: '@types/node': 20.19.25 - '@wdio/utils@9.23.0': + '@wdio/utils@9.23.2': dependencies: '@puppeteer/browsers': 2.10.10 '@wdio/logger': 9.18.0 - '@wdio/types': 9.20.0 + '@wdio/types': 9.23.2 decamelize: 6.0.1 deepmerge-ts: 7.1.5 edgedriver: 6.1.2 @@ -20971,6 +22032,34 @@ snapshots: '@webcomponents/webcomponentsjs@2.8.0': {} + '@webext-core/fake-browser@1.3.4': + dependencies: + lodash.merge: 4.6.2 + + '@webext-core/isolated-element@1.1.3': + dependencies: + is-potential-custom-element-name: 1.0.1 + + '@webext-core/match-patterns@1.0.3': {} + + '@wxt-dev/auto-icons@1.1.0(wxt@0.20.13(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))': + dependencies: + defu: 6.1.4 + fs-extra: 11.3.3 + sharp: 0.34.5 + wxt: 0.20.13(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + + '@wxt-dev/browser@0.1.32': + dependencies: + '@types/filesystem': 0.0.36 + '@types/har-format': 1.2.16 + + '@wxt-dev/storage@1.2.6': + dependencies: + '@wxt-dev/browser': 0.1.32 + async-mutex: 0.5.0 + dequal: 2.0.3 + '@xmldom/xmldom@0.8.10': {} '@xtuc/ieee754@1.2.0': {} @@ -20981,6 +22070,8 @@ snapshots: '@zumer/snapdom@2.0.1': {} + '@zumer/snapdom@2.0.2': {} + abab@2.0.6: {} abbrev@1.1.1: {} @@ -21036,6 +22127,8 @@ snapshots: acorn@8.15.0: {} + adm-zip@0.5.16: {} + agent-base@6.0.2: dependencies: debug: 4.4.3(supports-color@8.1.1) @@ -21063,14 +22156,18 @@ snapshots: optionalDependencies: ajv: 8.17.1 + ajv-formats@3.0.1(@redocly/ajv@8.17.1): + optionalDependencies: + ajv: '@redocly/ajv@8.17.1' + + ajv-formats@3.0.1(@redocly/ajv@8.17.2): + optionalDependencies: + ajv: '@redocly/ajv@8.17.2' + ajv-formats@3.0.1(ajv@8.13.0): optionalDependencies: ajv: 8.13.0 - ajv-formats@3.0.1(ajv@8.17.1): - optionalDependencies: - ajv: 8.17.1 - ajv-keywords@3.5.2(ajv@6.12.6): dependencies: ajv: 6.12.6 @@ -21104,7 +22201,7 @@ snapshots: ajv@8.17.1: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.0.6 + fast-uri: 3.1.0 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 @@ -21114,6 +22211,10 @@ snapshots: dependencies: bezier-easing: 2.1.0 + ansi-align@3.0.1: + dependencies: + string-width: 4.2.3 + ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 @@ -21176,7 +22277,7 @@ snapshots: archiver-utils@5.0.2: dependencies: - glob: 10.4.5 + glob: 10.5.0 graceful-fs: 4.2.11 is-stream: 2.0.1 lazystream: 1.0.1 @@ -21219,6 +22320,8 @@ snapshots: call-bound: 1.0.4 is-array-buffer: 3.0.5 + array-differ@4.0.0: {} + array-flatten@1.1.1: {} array-includes@3.1.9: @@ -21234,6 +22337,8 @@ snapshots: array-union@2.1.0: {} + array-union@3.0.1: {} + array.prototype.findlast@1.2.5: dependencies: call-bind: 1.0.8 @@ -21296,7 +22401,7 @@ snapshots: dependencies: tslib: 2.8.1 - ast-v8-to-istanbul@0.3.8: + ast-v8-to-istanbul@0.3.10: dependencies: '@jridgewell/trace-mapping': 0.3.31 estree-walker: 3.0.3 @@ -21323,6 +22428,13 @@ snapshots: at-least-node@1.0.0: {} + atomic-sleep@1.0.0: {} + + atomically@2.1.0: + dependencies: + stubborn-fs: 2.0.0 + when-exit: 2.1.5 + author-regex@1.0.0: {} autocomplete.js@0.38.1: @@ -21335,10 +22447,10 @@ snapshots: await-to-js@3.0.0: {} - axios@1.13.2(debug@4.4.3): + axios@1.13.4(debug@4.4.3): dependencies: follow-redirects: 1.15.9(debug@4.4.3) - form-data: 4.0.4 + form-data: 4.0.5 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug @@ -21361,6 +22473,8 @@ snapshots: balanced-match@2.0.0: {} + balanced-match@3.0.1: {} + bare-events@2.7.0: {} bare-fs@4.4.5: @@ -21413,16 +22527,16 @@ snapshots: batch@0.6.1: {} - better-ajv-errors@1.2.0(ajv@8.17.1): + better-ajv-errors@1.2.0(@redocly/ajv@8.17.1): dependencies: '@babel/code-frame': 7.27.1 '@humanwhocodes/momoa': 2.0.4 - ajv: 8.17.1 + ajv: '@redocly/ajv@8.17.1' chalk: 4.1.2 jsonpointer: 5.0.1 leven: 3.1.0 - better-sqlite3@12.6.0: + better-sqlite3@12.6.2: dependencies: bindings: 1.5.0 prebuild-install: 7.1.3 @@ -21500,6 +22614,17 @@ snapshots: bowser@2.11.0: {} + boxen@8.0.1: + dependencies: + ansi-align: 3.0.1 + camelcase: 8.0.0 + chalk: 5.6.2 + cli-boxes: 3.0.0 + string-width: 7.2.0 + type-fest: 4.41.0 + widest-line: 5.0.0 + wrap-ansi: 9.0.2 + boxicons@2.1.4: dependencies: '@webcomponents/webcomponentsjs': 2.8.0 @@ -21594,6 +22719,25 @@ snapshots: bytes@3.1.2: {} + c12@3.3.3(magicast@0.3.5): + dependencies: + chokidar: 5.0.0 + confbox: 0.2.2 + defu: 6.1.4 + dotenv: 17.2.3 + exsolve: 1.0.8 + giget: 2.0.0 + jiti: 2.6.1 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 2.1.0 + pkg-types: 2.3.0 + rc9: 2.1.2 + optionalDependencies: + magicast: 0.3.5 + + cac@6.7.14: {} + cacache@15.3.0: dependencies: '@npmcli/fs': 1.1.1 @@ -21645,15 +22789,15 @@ snapshots: dependencies: '@npmcli/fs': 4.0.0 fs-minipass: 3.0.3 - glob: 10.4.5 + glob: 10.5.0 lru-cache: 10.4.3 minipass: 7.1.2 minipass-collect: 2.0.1 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 - p-map: 7.0.3 + p-map: 7.0.4 ssri: 12.0.0 - tar: 7.4.3 + tar: 7.5.7 unique-filename: 4.0.0 cacache@20.0.1: @@ -21666,7 +22810,7 @@ snapshots: minipass-collect: 2.0.1 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 - p-map: 7.0.3 + p-map: 7.0.4 ssri: 12.0.0 unique-filename: 4.0.0 @@ -21715,6 +22859,8 @@ snapshots: camelcase@6.3.0: {} + camelcase@8.0.0: {} + camelize@1.0.1: {} caniuse-api@3.0.0: @@ -21732,6 +22878,8 @@ snapshots: canvas-roundrect-polyfill@0.0.1: {} + cash-dom@8.1.5: {} + ccount@2.0.1: {} chai@6.2.1: {} @@ -21771,7 +22919,7 @@ snapshots: dependencies: boolbase: 1.0.0 css-select: 5.2.2 - css-what: 6.1.0 + css-what: 6.2.2 domelementtype: 2.3.0 domhandler: 5.0.3 domutils: 3.2.2 @@ -21786,24 +22934,24 @@ snapshots: parse5-htmlparser2-tree-adapter: 6.0.1 tslib: 2.8.1 - cheerio@1.1.2: + cheerio@1.2.0: dependencies: cheerio-select: 2.1.0 dom-serializer: 2.0.0 domhandler: 5.0.3 domutils: 3.2.2 encoding-sniffer: 0.2.1 - htmlparser2: 10.0.0 + htmlparser2: 10.1.0 parse5: 7.3.0 parse5-htmlparser2-tree-adapter: 7.1.0 parse5-parser-stream: 7.1.2 - undici: 7.12.0 + undici: 7.19.0 whatwg-mimetype: 4.0.0 chevrotain-allstar@0.3.1(chevrotain@11.0.3): dependencies: chevrotain: 11.0.3 - lodash-es: 4.17.22 + lodash-es: 4.17.23 chevrotain@11.0.3: dependencies: @@ -21838,109 +22986,128 @@ snapshots: chownr@3.0.0: {} + chrome-launcher@1.2.0: + dependencies: + '@types/node': 24.10.9 + escape-string-regexp: 4.0.0 + is-wsl: 2.2.0 + lighthouse-logger: 2.0.2 + transitivePeerDependencies: + - supports-color + chrome-trace-event@1.0.4: {} - ckeditor5-collaboration@47.3.0: - dependencies: - '@ckeditor/ckeditor5-collaboration-core': 47.3.0 + ci-info@4.3.1: {} - ckeditor5-premium-features@47.3.0(bufferutil@4.0.9)(ckeditor5@47.3.0)(utf-8-validate@6.0.5): + citty@0.1.6: dependencies: - '@ckeditor/ckeditor5-ai': 47.3.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-case-change': 47.3.0 - '@ckeditor/ckeditor5-collaboration-core': 47.3.0 - '@ckeditor/ckeditor5-comments': 47.3.0 - '@ckeditor/ckeditor5-document-outline': 47.3.0 - '@ckeditor/ckeditor5-email': 47.3.0 - '@ckeditor/ckeditor5-export-inline-styles': 47.3.0 - '@ckeditor/ckeditor5-export-pdf': 47.3.0 - '@ckeditor/ckeditor5-export-word': 47.3.0 - '@ckeditor/ckeditor5-footnotes': 47.3.0 - '@ckeditor/ckeditor5-format-painter': 47.3.0 - '@ckeditor/ckeditor5-import-word': 47.3.0 - '@ckeditor/ckeditor5-line-height': 47.3.0 - '@ckeditor/ckeditor5-list-multi-level': 47.3.0 - '@ckeditor/ckeditor5-merge-fields': 47.3.0 - '@ckeditor/ckeditor5-pagination': 47.3.0 - '@ckeditor/ckeditor5-paste-from-office-enhanced': 47.3.0 - '@ckeditor/ckeditor5-real-time-collaboration': 47.3.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-revision-history': 47.3.0 - '@ckeditor/ckeditor5-slash-command': 47.3.0 - '@ckeditor/ckeditor5-source-editing-enhanced': 47.3.0 - '@ckeditor/ckeditor5-template': 47.3.0 - '@ckeditor/ckeditor5-track-changes': 47.3.0 - '@ckeditor/ckeditor5-uploadcare': 47.3.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 47.3.0 - ckeditor5: 47.3.0 + consola: 3.4.2 + + citty@0.2.0: {} + + ckeditor5-collaboration@47.4.0: + dependencies: + '@ckeditor/ckeditor5-collaboration-core': 47.4.0 + transitivePeerDependencies: + - supports-color + + ckeditor5-premium-features@47.4.0(bufferutil@4.0.9)(ckeditor5@47.4.0)(utf-8-validate@6.0.5): + dependencies: + '@ckeditor/ckeditor5-ai': 47.4.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-case-change': 47.4.0 + '@ckeditor/ckeditor5-collaboration-core': 47.4.0 + '@ckeditor/ckeditor5-comments': 47.4.0 + '@ckeditor/ckeditor5-document-outline': 47.4.0 + '@ckeditor/ckeditor5-email': 47.4.0 + '@ckeditor/ckeditor5-export-inline-styles': 47.4.0 + '@ckeditor/ckeditor5-export-pdf': 47.4.0 + '@ckeditor/ckeditor5-export-word': 47.4.0 + '@ckeditor/ckeditor5-footnotes': 47.4.0 + '@ckeditor/ckeditor5-format-painter': 47.4.0 + '@ckeditor/ckeditor5-import-word': 47.4.0 + '@ckeditor/ckeditor5-line-height': 47.4.0 + '@ckeditor/ckeditor5-list-multi-level': 47.4.0 + '@ckeditor/ckeditor5-merge-fields': 47.4.0 + '@ckeditor/ckeditor5-pagination': 47.4.0 + '@ckeditor/ckeditor5-paste-from-office-enhanced': 47.4.0 + '@ckeditor/ckeditor5-real-time-collaboration': 47.4.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-revision-history': 47.4.0 + '@ckeditor/ckeditor5-slash-command': 47.4.0 + '@ckeditor/ckeditor5-source-editing-enhanced': 47.4.0 + '@ckeditor/ckeditor5-template': 47.4.0 + '@ckeditor/ckeditor5-track-changes': 47.4.0 + '@ckeditor/ckeditor5-uploadcare': 47.4.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 47.4.0 + ckeditor5: 47.4.0 transitivePeerDependencies: - aws-crt - bufferutil - supports-color - utf-8-validate - ckeditor5@47.3.0: + ckeditor5@47.4.0: dependencies: - '@ckeditor/ckeditor5-adapter-ckfinder': 47.3.0 - '@ckeditor/ckeditor5-alignment': 47.3.0 - '@ckeditor/ckeditor5-autoformat': 47.3.0 - '@ckeditor/ckeditor5-autosave': 47.3.0 - '@ckeditor/ckeditor5-basic-styles': 47.3.0 - '@ckeditor/ckeditor5-block-quote': 47.3.0 - '@ckeditor/ckeditor5-bookmark': 47.3.0 - '@ckeditor/ckeditor5-ckbox': 47.3.0 - '@ckeditor/ckeditor5-ckfinder': 47.3.0 - '@ckeditor/ckeditor5-clipboard': 47.3.0 - '@ckeditor/ckeditor5-cloud-services': 47.3.0 - '@ckeditor/ckeditor5-code-block': 47.3.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95) - '@ckeditor/ckeditor5-core': 47.3.0 - '@ckeditor/ckeditor5-easy-image': 47.3.0 - '@ckeditor/ckeditor5-editor-balloon': 47.3.0 - '@ckeditor/ckeditor5-editor-classic': 47.3.0 - '@ckeditor/ckeditor5-editor-decoupled': 47.3.0 - '@ckeditor/ckeditor5-editor-inline': 47.3.0 - '@ckeditor/ckeditor5-editor-multi-root': 47.3.0 - '@ckeditor/ckeditor5-emoji': 47.3.0 - '@ckeditor/ckeditor5-engine': 47.3.0 - '@ckeditor/ckeditor5-enter': 47.3.0 - '@ckeditor/ckeditor5-essentials': 47.3.0 - '@ckeditor/ckeditor5-find-and-replace': 47.3.0 - '@ckeditor/ckeditor5-font': 47.3.0 - '@ckeditor/ckeditor5-fullscreen': 47.3.0 - '@ckeditor/ckeditor5-heading': 47.3.0 - '@ckeditor/ckeditor5-highlight': 47.3.0 - '@ckeditor/ckeditor5-horizontal-line': 47.3.0 - '@ckeditor/ckeditor5-html-embed': 47.3.0 - '@ckeditor/ckeditor5-html-support': 47.3.0 - '@ckeditor/ckeditor5-icons': 47.3.0 - '@ckeditor/ckeditor5-image': 47.3.0 - '@ckeditor/ckeditor5-indent': 47.3.0 - '@ckeditor/ckeditor5-language': 47.3.0 - '@ckeditor/ckeditor5-link': 47.3.0 - '@ckeditor/ckeditor5-list': 47.3.0 - '@ckeditor/ckeditor5-markdown-gfm': 47.3.0 - '@ckeditor/ckeditor5-media-embed': 47.3.0 - '@ckeditor/ckeditor5-mention': 47.3.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d) - '@ckeditor/ckeditor5-minimap': 47.3.0 - '@ckeditor/ckeditor5-page-break': 47.3.0 - '@ckeditor/ckeditor5-paragraph': 47.3.0 - '@ckeditor/ckeditor5-paste-from-office': 47.3.0 - '@ckeditor/ckeditor5-remove-format': 47.3.0 - '@ckeditor/ckeditor5-restricted-editing': 47.3.0 - '@ckeditor/ckeditor5-select-all': 47.3.0 - '@ckeditor/ckeditor5-show-blocks': 47.3.0 - '@ckeditor/ckeditor5-source-editing': 47.3.0 - '@ckeditor/ckeditor5-special-characters': 47.3.0 - '@ckeditor/ckeditor5-style': 47.3.0 - '@ckeditor/ckeditor5-table': 47.3.0 - '@ckeditor/ckeditor5-theme-lark': 47.3.0 - '@ckeditor/ckeditor5-typing': 47.3.0 - '@ckeditor/ckeditor5-ui': 47.3.0 - '@ckeditor/ckeditor5-undo': 47.3.0 - '@ckeditor/ckeditor5-upload': 47.3.0 - '@ckeditor/ckeditor5-utils': 47.3.0 - '@ckeditor/ckeditor5-watchdog': 47.3.0 - '@ckeditor/ckeditor5-widget': 47.3.0 - '@ckeditor/ckeditor5-word-count': 47.3.0 + '@ckeditor/ckeditor5-adapter-ckfinder': 47.4.0 + '@ckeditor/ckeditor5-alignment': 47.4.0 + '@ckeditor/ckeditor5-autoformat': 47.4.0 + '@ckeditor/ckeditor5-autosave': 47.4.0 + '@ckeditor/ckeditor5-basic-styles': 47.4.0 + '@ckeditor/ckeditor5-block-quote': 47.4.0 + '@ckeditor/ckeditor5-bookmark': 47.4.0 + '@ckeditor/ckeditor5-ckbox': 47.4.0 + '@ckeditor/ckeditor5-ckfinder': 47.4.0 + '@ckeditor/ckeditor5-clipboard': 47.4.0 + '@ckeditor/ckeditor5-cloud-services': 47.4.0 + '@ckeditor/ckeditor5-code-block': 47.4.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95) + '@ckeditor/ckeditor5-core': 47.4.0 + '@ckeditor/ckeditor5-easy-image': 47.4.0 + '@ckeditor/ckeditor5-editor-balloon': 47.4.0 + '@ckeditor/ckeditor5-editor-classic': 47.4.0 + '@ckeditor/ckeditor5-editor-decoupled': 47.4.0 + '@ckeditor/ckeditor5-editor-inline': 47.4.0 + '@ckeditor/ckeditor5-editor-multi-root': 47.4.0 + '@ckeditor/ckeditor5-emoji': 47.4.0 + '@ckeditor/ckeditor5-engine': 47.4.0 + '@ckeditor/ckeditor5-enter': 47.4.0 + '@ckeditor/ckeditor5-essentials': 47.4.0 + '@ckeditor/ckeditor5-find-and-replace': 47.4.0 + '@ckeditor/ckeditor5-font': 47.4.0 + '@ckeditor/ckeditor5-fullscreen': 47.4.0 + '@ckeditor/ckeditor5-heading': 47.4.0 + '@ckeditor/ckeditor5-highlight': 47.4.0 + '@ckeditor/ckeditor5-horizontal-line': 47.4.0 + '@ckeditor/ckeditor5-html-embed': 47.4.0 + '@ckeditor/ckeditor5-html-support': 47.4.0 + '@ckeditor/ckeditor5-icons': 47.4.0 + '@ckeditor/ckeditor5-image': 47.4.0 + '@ckeditor/ckeditor5-indent': 47.4.0 + '@ckeditor/ckeditor5-language': 47.4.0 + '@ckeditor/ckeditor5-link': 47.4.0 + '@ckeditor/ckeditor5-list': 47.4.0 + '@ckeditor/ckeditor5-markdown-gfm': 47.4.0 + '@ckeditor/ckeditor5-media-embed': 47.4.0 + '@ckeditor/ckeditor5-mention': 47.4.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d) + '@ckeditor/ckeditor5-minimap': 47.4.0 + '@ckeditor/ckeditor5-page-break': 47.4.0 + '@ckeditor/ckeditor5-paragraph': 47.4.0 + '@ckeditor/ckeditor5-paste-from-office': 47.4.0 + '@ckeditor/ckeditor5-remove-format': 47.4.0 + '@ckeditor/ckeditor5-restricted-editing': 47.4.0 + '@ckeditor/ckeditor5-select-all': 47.4.0 + '@ckeditor/ckeditor5-show-blocks': 47.4.0 + '@ckeditor/ckeditor5-source-editing': 47.4.0 + '@ckeditor/ckeditor5-special-characters': 47.4.0 + '@ckeditor/ckeditor5-style': 47.4.0 + '@ckeditor/ckeditor5-table': 47.4.0 + '@ckeditor/ckeditor5-theme-lark': 47.4.0 + '@ckeditor/ckeditor5-typing': 47.4.0 + '@ckeditor/ckeditor5-ui': 47.4.0 + '@ckeditor/ckeditor5-undo': 47.4.0 + '@ckeditor/ckeditor5-upload': 47.4.0 + '@ckeditor/ckeditor5-utils': 47.4.0 + '@ckeditor/ckeditor5-watchdog': 47.4.0 + '@ckeditor/ckeditor5-widget': 47.4.0 + '@ckeditor/ckeditor5-word-count': 47.4.0 transitivePeerDependencies: - supports-color @@ -21948,6 +23115,8 @@ snapshots: clean-stack@2.2.0: {} + cli-boxes@3.0.0: {} + cli-cursor@3.1.0: dependencies: restore-cursor: 3.1.0 @@ -21969,6 +23138,11 @@ snapshots: slice-ansi: 5.0.0 string-width: 5.1.2 + cli-truncate@4.0.0: + dependencies: + slice-ansi: 5.0.0 + string-width: 7.2.0 + cli-truncate@5.1.0: dependencies: slice-ansi: 7.1.2 @@ -22095,6 +23269,10 @@ snapshots: commander@2.20.3: {} + commander@2.9.0: + dependencies: + graceful-readlink: 1.0.1 + commander@4.1.1: {} commander@5.1.0: {} @@ -22163,6 +23341,18 @@ snapshots: confbox@0.2.2: {} + config-chain@1.1.13: + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + + configstore@7.1.0: + dependencies: + atomically: 2.1.0 + dot-prop: 9.0.0 + graceful-fs: 4.2.11 + xdg-basedir: 5.1.0 + connect-history-api-fallback@2.0.0: {} connect@3.7.0: @@ -22174,6 +23364,8 @@ snapshots: transitivePeerDependencies: - supports-color + consola@3.4.2: {} + console-control-strings@1.1.0: optional: true @@ -22400,8 +23592,6 @@ snapshots: css-value@0.0.1: {} - css-what@6.1.0: {} - css-what@6.2.2: {} cssesc@3.0.0: {} @@ -22514,6 +23704,8 @@ snapshots: cssom@0.4.4: {} + cssom@0.5.0: {} + cssstyle@2.3.0: dependencies: cssom: 0.3.8 @@ -22725,7 +23917,7 @@ snapshots: dagre-d3-es@7.0.13: dependencies: d3: 7.9.0 - lodash-es: 4.17.22 + lodash-es: 4.17.23 data-uri-to-buffer@4.0.1: {} @@ -22769,6 +23961,8 @@ snapshots: de-indent@1.0.2: {} + debounce@1.2.1: {} + debounce@3.0.0: {} debug@2.6.9: @@ -22841,6 +24035,8 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 + define-lazy-prop@2.0.0: {} + define-lazy-prop@3.0.0: {} define-properties@1.2.1: @@ -22851,6 +24047,8 @@ snapshots: defined@1.0.1: {} + defu@6.1.4: {} + degenerator@5.0.1: dependencies: ast-types: 0.13.4 @@ -22872,6 +24070,8 @@ snapshots: dequal@2.0.3: {} + destr@2.0.5: {} + destroy@1.2.0: {} detect-hover@1.0.3: {} @@ -22883,9 +24083,6 @@ snapshots: detect-pointer: 1.0.3 detect-touch-events: 2.0.2 - detect-libc@1.0.3: - optional: true - detect-libc@2.1.1: {} detect-libc@2.1.2: {} @@ -22917,6 +24114,8 @@ snapshots: diff@8.0.2: {} + diff@8.0.3: {} + dir-compare@4.2.0: dependencies: minimatch: 3.1.2 @@ -22987,6 +24186,14 @@ snapshots: domelementtype: 2.3.0 domhandler: 5.0.3 + dot-prop@9.0.0: + dependencies: + type-fest: 4.41.0 + + dotenv-expand@12.0.3: + dependencies: + dotenv: 16.4.7 + dotenv@16.4.7: {} dotenv@17.2.3: {} @@ -23048,7 +24255,7 @@ snapshots: ee-first@1.1.1: {} - ejs@3.1.10: + ejs@4.0.1: dependencies: jake: 10.9.2 @@ -23159,10 +24366,10 @@ snapshots: - supports-color optional: true - electron@39.2.7: + electron@40.0.0: dependencies: '@electron/get': 2.0.3 - '@types/node': 22.19.1 + '@types/node': 24.10.9 extract-zip: 2.0.1 transitivePeerDependencies: - supports-color @@ -23219,7 +24426,7 @@ snapshots: engine.io@6.6.4(bufferutil@4.0.9)(utf-8-validate@6.0.5): dependencies: '@types/cors': 2.8.19 - '@types/node': 24.10.7 + '@types/node': 24.10.9 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.7.2 @@ -23250,6 +24457,8 @@ snapshots: entities@6.0.0: {} + entities@7.0.1: {} + env-paths@2.2.1: {} environment@1.1.0: {} @@ -23403,6 +24612,8 @@ snapshots: es-module-lexer@1.7.0: {} + es-module-lexer@2.0.0: {} + es-object-atoms@1.1.1: dependencies: es-errors: 1.3.0 @@ -23426,8 +24637,7 @@ snapshots: es-toolkit@1.39.5: {} - es6-error@4.1.1: - optional: true + es6-error@4.1.1: {} es6-promise-pool@2.5.0: {} @@ -23612,7 +24822,7 @@ snapshots: eslint: 9.39.2(jiti@2.6.1) globals: 15.15.0 - eslint-plugin-playwright@2.4.1(eslint@9.39.2(jiti@2.6.1)): + eslint-plugin-playwright@2.5.1(eslint@9.39.2(jiti@2.6.1)): dependencies: eslint: 9.39.2(jiti@2.6.1) globals: 16.5.0 @@ -23817,7 +25027,7 @@ snapshots: express: 5.2.1 ip-address: 10.0.1 - express-session@1.18.2: + express-session@1.19.0: dependencies: cookie: 0.7.2 cookie-signature: 1.0.7 @@ -23901,6 +25111,8 @@ snapshots: exsolve@1.0.5: {} + exsolve@1.0.8: {} + ext-list@2.2.2: dependencies: mime-db: 1.54.0 @@ -23950,9 +25162,11 @@ snapshots: fast-levenshtein@2.0.6: {} + fast-redact@3.5.0: {} + fast-safe-stringify@2.1.1: {} - fast-uri@3.0.6: {} + fast-uri@3.1.0: {} fast-xml-parser@4.4.1: dependencies: @@ -24034,6 +25248,8 @@ snapshots: strip-outer: 1.0.1 trim-repeated: 1.0.0 + filesize@11.0.13: {} + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -24084,6 +25300,14 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 + firefox-profile@4.7.0: + dependencies: + adm-zip: 0.5.16 + fs-extra: 11.3.3 + ini: 4.1.3 + minimist: 1.2.8 + xml2js: 0.6.2 + flat-cache@4.0.1: dependencies: flatted: 3.3.3 @@ -24150,13 +25374,7 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - form-data@4.0.4: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - es-set-tostringtag: 2.1.0 - hasown: 2.0.2 - mime-types: 2.1.35 + form-data-encoder@4.1.0: {} form-data@4.0.5: dependencies: @@ -24168,6 +25386,8 @@ snapshots: format@0.2.2: {} + formdata-node@6.0.3: {} + formdata-polyfill@4.0.10: dependencies: fetch-blob: 3.2.0 @@ -24263,6 +25483,15 @@ snapshots: fuzzysort@3.1.0: {} + fx-runner@1.4.0: + dependencies: + commander: 2.9.0 + shell-quote: 1.7.3 + spawn-sync: 1.0.15 + when: 3.7.7 + which: 1.2.4 + winreg: 0.0.12 + galactus@1.0.0: dependencies: debug: 4.4.3(supports-color@8.1.1) @@ -24345,6 +25574,8 @@ snapshots: transitivePeerDependencies: - supports-color + get-port-please@3.2.0: {} + get-port@7.1.0: {} get-proto@1.0.1: @@ -24387,6 +25618,15 @@ snapshots: image-q: 4.0.0 omggif: 1.0.10 + giget@2.0.0: + dependencies: + citty: 0.1.6 + consola: 3.4.2 + defu: 6.1.4 + node-fetch-native: 1.6.7 + nypm: 0.6.4 + pathe: 2.0.3 + github-from-package@0.0.0: {} github-slugger@2.0.0: {} @@ -24416,6 +25656,15 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 1.11.1 + glob@10.5.0: + dependencies: + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + glob@11.0.3: dependencies: foreground-child: 3.3.1 @@ -24467,6 +25716,10 @@ snapshots: serialize-error: 7.0.1 optional: true + global-directory@4.0.1: + dependencies: + ini: 4.1.1 + global-dirs@3.0.1: dependencies: ini: 2.0.0 @@ -24509,6 +25762,15 @@ snapshots: merge2: 1.4.1 slash: 3.0.0 + globby@16.1.0: + dependencies: + '@sindresorhus/merge-streams': 4.0.0 + fast-glob: 3.3.3 + ignore: 7.0.5 + is-path-inside: 4.0.0 + slash: 5.1.0 + unicorn-magic: 0.4.0 + globjoin@0.1.4: {} glur@1.1.2: {} @@ -24529,8 +25791,12 @@ snapshots: p-cancelable: 2.1.1 responselike: 2.0.1 + graceful-fs@4.2.10: {} + graceful-fs@4.2.11: {} + graceful-readlink@1.0.1: {} + grapheme-splitter@1.0.4: {} graphemer@1.4.0: {} @@ -24538,6 +25804,8 @@ snapshots: graphql@16.12.0: optional: true + growly@1.3.0: {} + hachure-fill@0.5.2: {} handle-thing@2.0.1: {} @@ -24557,12 +25825,26 @@ snapshots: '@types/whatwg-mimetype': 3.0.2 whatwg-mimetype: 3.0.0 + happy-dom@20.4.0(bufferutil@4.0.9)(utf-8-validate@6.0.5): + dependencies: + '@types/node': 24.10.9 + '@types/whatwg-mimetype': 3.0.2 + '@types/ws': 8.18.1 + entities: 4.5.0 + whatwg-mimetype: 3.0.0 + ws: 8.19.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + has-bigints@1.1.0: {} has-flag@3.0.0: {} has-flag@4.0.0: {} + has-flag@5.0.1: {} + has-property-descriptors@1.0.2: dependencies: es-define-property: 1.0.1 @@ -24719,6 +26001,8 @@ snapshots: hoist-non-react-statics@2.5.5: {} + hookable@5.5.3: {} + hookified@1.13.0: {} hosted-git-info@2.8.9: {} @@ -24753,12 +26037,16 @@ snapshots: html-escaper@2.0.2: {} + html-escaper@3.0.3: {} + html-parse-stringify@3.0.1: dependencies: void-elements: 3.1.0 html-tags@3.3.1: {} + html-tags@5.1.0: {} + html-to-text@9.0.5: dependencies: '@selderee/plugin-htmlparser2': 0.11.0 @@ -24788,6 +26076,13 @@ snapshots: domutils: 3.2.2 entities: 6.0.0 + htmlparser2@10.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + entities: 7.0.1 + htmlparser2@6.1.0: dependencies: domelementtype: 2.3.0 @@ -24947,6 +26242,12 @@ snapshots: optionalDependencies: typescript: 5.9.3 + i18next@25.8.0(typescript@5.9.3): + dependencies: + '@babel/runtime': 7.28.4 + optionalDependencies: + typescript: 5.9.3 + iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 @@ -25035,6 +26336,8 @@ snapshots: ini@2.0.0: {} + ini@4.1.1: {} + ini@4.1.3: {} ini@5.0.0: {} @@ -25059,6 +26362,8 @@ snapshots: ip-address@10.0.1: {} + ip-address@10.1.0: {} + ip-address@9.0.5: dependencies: jsbn: 1.1.0 @@ -25069,6 +26374,10 @@ snapshots: ipaddr.js@2.2.0: {} + is-absolute@0.1.7: + dependencies: + is-relative: 0.1.3 + is-animated@2.0.2: {} is-arguments@1.2.0: @@ -25153,10 +26462,17 @@ snapshots: dependencies: is-extglob: 2.1.1 + is-in-ci@1.0.0: {} + is-inside-container@1.0.0: dependencies: is-docker: 3.0.0 + is-installed-globally@1.0.0: + dependencies: + global-directory: 4.0.1 + is-path-inside: 4.0.0 + is-interactive@1.0.0: {} is-interactive@2.0.0: {} @@ -25186,6 +26502,8 @@ snapshots: is-node-process@1.2.0: optional: true + is-npm@6.1.0: {} + is-number-object@1.1.1: dependencies: call-bound: 1.0.4 @@ -25193,6 +26511,8 @@ snapshots: is-number@7.0.0: {} + is-path-inside@4.0.0: {} + is-plain-obj@1.1.0: {} is-plain-obj@2.1.0: {} @@ -25201,10 +26521,16 @@ snapshots: is-plain-obj@4.1.0: {} + is-plain-object@2.0.4: + dependencies: + isobject: 3.0.1 + is-plain-object@5.0.0: {} is-potential-custom-element-name@1.0.1: {} + is-primitive@3.0.1: {} + is-promise@4.0.0: {} is-property@1.0.2: @@ -25226,6 +26552,8 @@ snapshots: has-tostringtag: 1.0.2 hasown: 2.0.2 + is-relative@0.1.3: {} + is-set@2.0.3: {} is-shared-array-buffer@1.0.4: @@ -25257,6 +26585,10 @@ snapshots: is-unicode-supported@0.1.0: {} + is-unicode-supported@1.3.0: {} + + is-unicode-supported@2.1.0: {} + is-weakmap@2.0.2: {} is-weakref@1.1.1: @@ -25287,10 +26619,14 @@ snapshots: isbinaryfile@4.0.10: {} + isexe@1.1.2: {} + isexe@2.0.0: {} isexe@3.1.1: {} + isobject@3.0.1: {} + istanbul-lib-coverage@3.2.2: {} istanbul-lib-instrument@6.0.3: @@ -25309,14 +26645,6 @@ snapshots: make-dir: 4.0.0 supports-color: 7.2.0 - istanbul-lib-source-maps@5.0.6: - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - debug: 4.4.3(supports-color@8.1.1) - istanbul-lib-coverage: 3.2.2 - transitivePeerDependencies: - - supports-color - istanbul-reports@3.2.0: dependencies: html-escaper: 2.0.2 @@ -25352,7 +26680,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 24.10.7 + '@types/node': 24.10.9 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -25402,15 +26730,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.2.3))(react@19.2.3): + jotai-scope@0.7.2(jotai@2.11.0(@types/react@19.1.7)(react@19.2.4))(react@19.2.4): dependencies: - jotai: 2.11.0(@types/react@19.1.7)(react@19.2.3) - react: 19.2.3 + jotai: 2.11.0(@types/react@19.1.7)(react@19.2.4) + react: 19.2.4 - jotai@2.11.0(@types/react@19.1.7)(react@19.2.3): + jotai@2.11.0(@types/react@19.1.7)(react@19.2.4): optionalDependencies: '@types/react': 19.1.7 - react: 19.2.3 + react: 19.2.4 jpeg-js@0.4.4: {} @@ -25420,8 +26748,14 @@ snapshots: dependencies: jquery: 3.7.1 + jquery.fancytree@2.38.5(jquery@4.0.0): + dependencies: + jquery: 4.0.0 + jquery@3.7.1: {} + jquery@4.0.0: {} + js-levenshtein@1.1.6: {} js-sha1@0.7.0: {} @@ -25452,7 +26786,7 @@ snapshots: decimal.js: 10.5.0 domexception: 2.0.1 escodegen: 2.1.0 - form-data: 4.0.4 + form-data: 4.0.5 html-encoding-sniffer: 2.0.1 http-proxy-agent: 4.0.1 https-proxy-agent: 5.0.1 @@ -25511,6 +26845,8 @@ snapshots: json-parse-even-better-errors@2.3.1: {} + json-parse-even-better-errors@3.0.2: {} + json-parse-even-better-errors@4.0.0: {} json-pointer@0.6.2: @@ -25584,7 +26920,7 @@ snapshots: kapsule@1.16.3: dependencies: - lodash-es: 4.17.22 + lodash-es: 4.17.23 karma-chrome-launcher@3.2.0: dependencies: @@ -25636,6 +26972,10 @@ snapshots: dependencies: commander: 8.3.0 + katex@0.16.28: + dependencies: + commander: 8.3.0 + kdbush@4.0.2: {} keyboardevent-from-electron-accelerator@2.0.0: {} @@ -25656,6 +26996,8 @@ snapshots: kind-of@6.0.3: {} + kleur@3.0.3: {} + klona@2.0.6: {} knockout@3.5.1: {} @@ -25664,6 +27006,8 @@ snapshots: kolorist@1.8.0: {} + ky@1.14.2: {} + langium@3.3.1: dependencies: chevrotain: 11.0.3 @@ -25672,6 +27016,10 @@ snapshots: vscode-languageserver-textdocument: 1.0.12 vscode-uri: 3.0.8 + latest-version@9.0.0: + dependencies: + package-json: 10.0.1 + launch-editor@2.11.1: dependencies: picocolors: 1.1.1 @@ -25722,54 +27070,61 @@ snapshots: dependencies: immediate: 3.0.6 - lightningcss-android-arm64@1.30.2: + lighthouse-logger@2.0.2: + dependencies: + debug: 4.4.3(supports-color@8.1.1) + marky: 1.3.0 + transitivePeerDependencies: + - supports-color + + lightningcss-android-arm64@1.31.1: optional: true - lightningcss-darwin-arm64@1.30.2: + lightningcss-darwin-arm64@1.31.1: optional: true - lightningcss-darwin-x64@1.30.2: + lightningcss-darwin-x64@1.31.1: optional: true - lightningcss-freebsd-x64@1.30.2: + lightningcss-freebsd-x64@1.31.1: optional: true - lightningcss-linux-arm-gnueabihf@1.30.2: + lightningcss-linux-arm-gnueabihf@1.31.1: optional: true - lightningcss-linux-arm64-gnu@1.30.2: + lightningcss-linux-arm64-gnu@1.31.1: optional: true - lightningcss-linux-arm64-musl@1.30.2: + lightningcss-linux-arm64-musl@1.31.1: optional: true - lightningcss-linux-x64-gnu@1.30.2: + lightningcss-linux-x64-gnu@1.31.1: optional: true - lightningcss-linux-x64-musl@1.30.2: + lightningcss-linux-x64-musl@1.31.1: optional: true - lightningcss-win32-arm64-msvc@1.30.2: + lightningcss-win32-arm64-msvc@1.31.1: optional: true - lightningcss-win32-x64-msvc@1.30.2: + lightningcss-win32-x64-msvc@1.31.1: optional: true - lightningcss@1.30.2: + lightningcss@1.31.1: dependencies: detect-libc: 2.1.2 optionalDependencies: - lightningcss-android-arm64: 1.30.2 - lightningcss-darwin-arm64: 1.30.2 - lightningcss-darwin-x64: 1.30.2 - lightningcss-freebsd-x64: 1.30.2 - lightningcss-linux-arm-gnueabihf: 1.30.2 - lightningcss-linux-arm64-gnu: 1.30.2 - lightningcss-linux-arm64-musl: 1.30.2 - lightningcss-linux-x64-gnu: 1.30.2 - lightningcss-linux-x64-musl: 1.30.2 - lightningcss-win32-arm64-msvc: 1.30.2 - lightningcss-win32-x64-msvc: 1.30.2 + lightningcss-android-arm64: 1.31.1 + lightningcss-darwin-arm64: 1.31.1 + lightningcss-darwin-x64: 1.31.1 + lightningcss-freebsd-x64: 1.31.1 + lightningcss-linux-arm-gnueabihf: 1.31.1 + lightningcss-linux-arm64-gnu: 1.31.1 + lightningcss-linux-arm64-musl: 1.31.1 + lightningcss-linux-x64-gnu: 1.31.1 + lightningcss-linux-x64-musl: 1.31.1 + lightningcss-win32-arm64-msvc: 1.31.1 + lightningcss-win32-x64-msvc: 1.31.1 lilconfig@2.1.0: {} @@ -25779,6 +27134,16 @@ snapshots: lines-and-columns@1.2.4: {} + lines-and-columns@2.0.4: {} + + linkedom@0.18.12: + dependencies: + css-select: 5.2.2 + cssom: 0.5.0 + html-escaper: 3.0.3 + htmlparser2: 10.1.0 + uhyphen: 0.2.0 + linkify-it@5.0.0: dependencies: uc.micro: 2.1.0 @@ -25802,6 +27167,15 @@ snapshots: rfdc: 1.4.1 wrap-ansi: 8.1.0 + listr2@8.3.3: + dependencies: + cli-truncate: 4.0.0 + colorette: 2.0.20 + eventemitter3: 5.0.1 + log-update: 6.1.0 + rfdc: 1.4.1 + wrap-ansi: 9.0.2 + listr2@9.0.5: dependencies: cli-truncate: 5.1.0 @@ -25832,6 +27206,12 @@ snapshots: pkg-types: 2.1.0 quansync: 0.2.10 + local-pkg@1.1.2: + dependencies: + mlly: 1.8.0 + pkg-types: 2.3.0 + quansync: 0.2.11 + locate-app@2.5.0: dependencies: '@promptbook/utils': 0.69.5 @@ -25849,7 +27229,7 @@ snapshots: lodash-es@4.17.21: {} - lodash-es@4.17.22: {} + lodash-es@4.17.23: {} lodash.clonedeep@4.5.0: {} @@ -25890,6 +27270,11 @@ snapshots: chalk: 4.1.2 is-unicode-supported: 0.1.0 + log-symbols@6.0.0: + dependencies: + chalk: 5.6.2 + is-unicode-supported: 1.3.0 + log-update@5.0.1: dependencies: ansi-escapes: 5.0.0 @@ -25965,6 +27350,12 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 + magicast@0.3.5: + dependencies: + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + source-map-js: 1.2.1 + magicast@0.5.1: dependencies: '@babel/parser': 7.28.5 @@ -26060,6 +27451,8 @@ snapshots: - supports-color optional: true + many-keys-map@2.0.1: {} + map-age-cleaner@0.1.3: dependencies: p-defer: 1.0.0 @@ -26112,6 +27505,8 @@ snapshots: marked@4.3.0: {} + marky@1.3.0: {} + matcher@3.0.0: dependencies: escape-string-regexp: 4.0.0 @@ -26125,6 +27520,8 @@ snapshots: mathml-tag-names@2.1.3: {} + mathml-tag-names@4.0.0: {} + mdast-util-find-and-replace@3.0.2: dependencies: '@types/mdast': 4.0.4 @@ -26286,6 +27683,8 @@ snapshots: meow@13.2.0: {} + meow@14.0.0: {} + merge-descriptors@1.0.3: {} merge-descriptors@2.0.0: {} @@ -26308,7 +27707,7 @@ snapshots: dagre-d3-es: 7.0.13 dayjs: 1.11.19 dompurify: 3.2.5 - katex: 0.16.27 + katex: 0.16.28 khroma: 2.1.0 lodash-es: 4.17.21 marked: 16.4.2 @@ -26552,7 +27951,7 @@ snapshots: mind-elixir@5.4.0: {} - mind-elixir@5.5.0: {} + mind-elixir@5.6.1: {} mini-css-extract-plugin@2.9.4(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.2)): dependencies: @@ -26673,21 +28072,28 @@ snapshots: pkg-types: 1.3.1 ufo: 1.6.1 - mobx-react-lite@4.1.1(mobx@6.15.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3): + mlly@1.8.0: dependencies: - mobx: 6.15.0 - react: 19.2.3 - use-sync-external-store: 1.6.0(react@19.2.3) - optionalDependencies: - react-dom: 19.2.3(react@19.2.3) + acorn: 8.15.0 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.6.1 - mobx-react@9.2.0(mobx@6.15.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3): + mobx-react-lite@4.1.1(mobx@6.15.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4): dependencies: mobx: 6.15.0 - mobx-react-lite: 4.1.1(mobx@6.15.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - react: 19.2.3 + react: 19.2.4 + use-sync-external-store: 1.6.0(react@19.2.4) optionalDependencies: - react-dom: 19.2.3(react@19.2.3) + react-dom: 19.2.4(react@19.2.4) + + mobx-react@9.2.0(mobx@6.15.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4): + dependencies: + mobx: 6.15.0 + mobx-react-lite: 4.1.1(mobx@6.15.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.4 + optionalDependencies: + react-dom: 19.2.4(react@19.2.4) mobx@6.15.0: {} @@ -26699,7 +28105,7 @@ snapshots: diff: 7.0.0 escape-string-regexp: 4.0.0 find-up: 5.0.0 - glob: 10.4.5 + glob: 10.5.0 he: 1.2.0 js-yaml: 4.1.1 log-symbols: 4.1.0 @@ -26733,12 +28139,12 @@ snapshots: ms@2.1.3: {} - msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3): + msw@2.7.5(@types/node@24.10.9)(typescript@5.9.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.21(@types/node@24.10.7) + '@inquirer/confirm': 5.1.21(@types/node@24.10.9) '@mswjs/interceptors': 0.37.6 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 @@ -26776,6 +28182,13 @@ snapshots: dns-packet: 5.6.1 thunky: 1.1.0 + multimatch@6.0.0: + dependencies: + '@types/minimatch': 3.0.5 + array-differ: 4.0.0 + array-union: 3.0.1 + minimatch: 3.1.2 + multimath@2.0.0: dependencies: glur: 1.1.2 @@ -26804,6 +28217,8 @@ snapshots: nan@2.22.2: optional: true + nano-spawn@1.0.3: {} + nano-spawn@2.0.0: {} nanoid@3.3.11: {} @@ -26834,7 +28249,7 @@ snapshots: nice-try@1.0.5: {} - node-abi@4.24.0: + node-abi@4.26.0: dependencies: semver: 7.7.3 @@ -26850,6 +28265,8 @@ snapshots: dependencies: http2-client: 1.3.5 + node-fetch-native@1.6.7: {} + node-fetch@2.7.0(encoding@0.1.13): dependencies: whatwg-url: 5.0.0 @@ -26876,7 +28293,7 @@ snapshots: nopt: 8.1.0 proc-log: 5.0.0 semver: 7.7.3 - tar: 7.4.3 + tar: 7.5.7 tinyglobby: 0.2.15 which: 5.0.0 transitivePeerDependencies: @@ -26909,6 +28326,15 @@ snapshots: css-select: 5.2.2 he: 1.2.0 + node-notifier@10.0.1: + dependencies: + growly: 1.3.0 + is-wsl: 2.2.0 + semver: 7.7.3 + shellwords: 0.1.1 + uuid: 8.3.2 + which: 2.0.2 + node-readfiles@0.2.0: dependencies: es6-promise: 3.3.1 @@ -27016,6 +28442,12 @@ snapshots: nwsapi@2.2.23: optional: true + nypm@0.6.4: + dependencies: + citty: 0.2.0 + pathe: 2.0.3 + tinyexec: 1.0.2 + oas-kit-common@1.0.8: dependencies: fast-safe-stringify: 2.1.1 @@ -27106,6 +28538,14 @@ snapshots: obug@2.1.1: {} + ofetch@1.5.1: + dependencies: + destr: 2.0.5 + node-fetch-native: 1.6.7 + ufo: 1.6.1 + + ohash@2.0.11: {} + oidc-token-hash@5.1.0: {} ollama@0.6.3: @@ -27114,6 +28554,8 @@ snapshots: omggif@1.0.10: {} + on-exit-leak-free@2.1.2: {} + on-finished@2.3.0: dependencies: ee-first: 1.1.1 @@ -27145,7 +28587,13 @@ snapshots: is-inside-container: 1.0.0 wsl-utils: 0.1.0 - openai@6.16.0(ws@8.19.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@4.1.12): + open@8.4.2: + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + + openai@6.17.0(ws@8.19.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@4.1.12): optionalDependencies: ws: 8.19.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) zod: 4.1.12 @@ -27191,6 +28639,20 @@ snapshots: strip-ansi: 6.0.1 wcwidth: 1.0.1 + ora@8.2.0: + dependencies: + chalk: 5.6.2 + cli-cursor: 5.0.0 + cli-spinners: 2.9.2 + is-interactive: 2.0.0 + is-unicode-supported: 2.1.0 + log-symbols: 6.0.0 + stdin-discarder: 0.2.2 + string-width: 7.2.0 + strip-ansi: 7.1.2 + + os-shim@0.1.3: {} + os-tmpdir@1.0.2: {} outdent@0.8.0: {} @@ -27232,7 +28694,7 @@ snapshots: dependencies: aggregate-error: 3.1.0 - p-map@7.0.3: {} + p-map@7.0.4: {} p-queue@6.6.2: dependencies: @@ -27271,6 +28733,13 @@ snapshots: package-json-from-dist@1.0.1: {} + package-json@10.0.1: + dependencies: + ky: 1.14.2 + registry-auth-token: 5.1.1 + registry-url: 6.0.1 + semver: 7.7.3 + package-manager-detector@1.3.0: {} pacote@21.0.1: @@ -27338,6 +28807,14 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + parse-json@7.1.1: + dependencies: + '@babel/code-frame': 7.27.1 + error-ex: 1.3.2 + json-parse-even-better-errors: 3.0.2 + lines-and-columns: 2.0.4 + type-fest: 3.13.1 + parse-node-version@1.0.1: optional: true @@ -27435,6 +28912,8 @@ snapshots: pend@1.2.0: {} + perfect-debounce@2.1.0: {} + perfect-freehand@1.2.0: {} perfect-scrollbar@1.5.6: {} @@ -27460,6 +28939,26 @@ snapshots: pify@4.0.1: optional: true + pino-abstract-transport@2.0.0: + dependencies: + split2: 4.2.0 + + pino-std-serializers@7.1.0: {} + + pino@9.7.0: + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.5.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 2.0.0 + pino-std-serializers: 7.1.0 + process-warning: 5.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.5.0 + sonic-boom: 4.2.0 + thread-stream: 3.1.0 + pirates@4.0.7: {} pixelmatch@5.3.0: @@ -27473,7 +28972,7 @@ snapshots: pkg-types@1.3.1: dependencies: confbox: 0.1.8 - mlly: 1.7.4 + mlly: 1.8.0 pathe: 2.0.3 pkg-types@2.1.0: @@ -27482,6 +28981,12 @@ snapshots: exsolve: 1.0.5 pathe: 2.0.3 + pkg-types@2.3.0: + dependencies: + confbox: 0.2.2 + exsolve: 1.0.8 + pathe: 2.0.3 + playwright-core@1.57.0: {} playwright@1.57.0: @@ -27544,7 +29049,7 @@ snapshots: postcss-calc@10.1.1(postcss@8.5.6): dependencies: postcss: 8.5.6 - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 postcss-calc@8.2.4(postcss@8.5.6): @@ -27588,7 +29093,7 @@ snapshots: postcss-discard-comments@7.0.4(postcss@8.5.6): dependencies: postcss: 8.5.6 - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 postcss-discard-duplicates@5.1.0(postcss@8.5.6): dependencies: @@ -27673,7 +29178,7 @@ snapshots: caniuse-api: 3.0.0 cssnano-utils: 5.0.1(postcss@8.5.6) postcss: 8.5.6 - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 postcss-minify-font-values@5.1.0(postcss@8.5.6): dependencies: @@ -27722,7 +29227,7 @@ snapshots: dependencies: cssesc: 3.0.0 postcss: 8.5.6 - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 postcss-mixins@11.0.3(postcss@8.5.6): dependencies: @@ -27740,13 +29245,13 @@ snapshots: dependencies: icss-utils: 5.1.0(postcss@8.5.6) postcss: 8.5.6 - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 postcss-modules-scope@3.2.1(postcss@8.5.6): dependencies: postcss: 8.5.6 - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 postcss-modules-values@4.0.0(postcss@8.5.6): dependencies: @@ -27755,10 +29260,10 @@ snapshots: postcss-nesting@13.0.2(postcss@8.5.6): dependencies: - '@csstools/selector-resolve-nested': 3.1.0(postcss-selector-parser@7.1.0) - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) + '@csstools/selector-resolve-nested': 3.1.0(postcss-selector-parser@7.1.1) + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.1) postcss: 8.5.6 - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 postcss-normalize-charset@5.1.0(postcss@8.5.6): dependencies: @@ -27901,6 +29406,11 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 + postcss-selector-parser@7.1.1: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + postcss-simple-vars@7.0.1(postcss@8.5.6): dependencies: postcss: 8.5.6 @@ -27925,7 +29435,7 @@ snapshots: postcss-unique-selectors@7.0.4(postcss@8.5.6): dependencies: postcss: 8.5.6 - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 postcss-value-parser@4.2.0: {} @@ -27966,7 +29476,7 @@ snapshots: minimist: 1.2.8 mkdirp-classic: 0.5.3 napi-build-utils: 2.0.0 - node-abi: 4.24.0 + node-abi: 4.26.0 pump: 3.0.3 rc: 1.2.8 simple-get: 4.0.1 @@ -27987,6 +29497,8 @@ snapshots: process-nextick-args@2.0.1: {} + process-warning@5.0.0: {} + process@0.11.10: {} progress@2.0.3: {} @@ -27998,6 +29510,15 @@ snapshots: err-code: 2.0.3 retry: 0.12.0 + promise-toolbox@0.21.0: + dependencies: + make-error: 1.3.6 + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + prop-types@15.8.1: dependencies: loose-envify: 1.4.0 @@ -28006,6 +29527,8 @@ snapshots: property-information@7.1.0: {} + proto-list@1.2.4: {} + protobufjs@7.5.0: dependencies: '@protobufjs/aspromise': 1.1.2 @@ -28018,7 +29541,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 24.10.7 + '@types/node': 24.10.9 long: 5.3.2 protocol-buffers-schema@3.6.0: {} @@ -28050,6 +29573,17 @@ snapshots: dependencies: punycode: 2.3.1 + publish-browser-extension@3.0.3: + dependencies: + cac: 6.7.14 + consola: 3.4.2 + dotenv: 17.2.3 + form-data-encoder: 4.1.0 + formdata-node: 6.0.3 + listr2: 8.3.3 + ofetch: 1.5.1 + zod: 4.1.12 + pump@3.0.3: dependencies: end-of-stream: 1.4.5 @@ -28094,6 +29628,8 @@ snapshots: quansync@0.2.10: {} + quansync@0.2.11: {} + query-selector-shadow-dom@1.0.1: {} query-string@7.1.3: @@ -28107,6 +29643,8 @@ snapshots: queue-microtask@1.2.3: {} + quick-format-unescaped@4.0.4: {} + quick-lru@5.1.1: {} quickselect@3.0.0: {} @@ -28149,6 +29687,11 @@ snapshots: schema-utils: 3.3.0 webpack: 5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.2) + rc9@2.1.2: + dependencies: + defu: 6.1.4 + destr: 2.0.5 + rc@1.2.8: dependencies: deep-extend: 0.6.0 @@ -28164,20 +29707,31 @@ snapshots: react: 16.14.0 scheduler: 0.19.1 - react-dom@19.2.3(react@19.2.3): + react-dom@19.2.4(react@19.2.4): dependencies: - react: 19.2.3 + react: 19.2.4 scheduler: 0.27.0 - react-i18next@16.5.1(i18next@25.7.3(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3): + react-i18next@16.5.1(i18next@25.7.3(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3): dependencies: '@babel/runtime': 7.28.4 html-parse-stringify: 3.0.1 i18next: 25.7.3(typescript@5.9.3) - react: 19.2.3 - use-sync-external-store: 1.6.0(react@19.2.3) + react: 19.2.4 + use-sync-external-store: 1.6.0(react@19.2.4) optionalDependencies: - react-dom: 19.2.3(react@19.2.3) + react-dom: 19.2.4(react@19.2.4) + typescript: 5.9.3 + + react-i18next@16.5.4(i18next@25.8.0(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3): + dependencies: + '@babel/runtime': 7.28.4 + html-parse-stringify: 3.0.1 + i18next: 25.8.0(typescript@5.9.3) + react: 19.2.4 + use-sync-external-store: 1.6.0(react@19.2.4) + optionalDependencies: + react-dom: 19.2.4(react@19.2.4) typescript: 5.9.3 react-interactive@0.8.3(react@16.14.0): @@ -28191,22 +29745,22 @@ snapshots: react-refresh@0.18.0: {} - react-remove-scroll-bar@2.3.8(@types/react@19.1.7)(react@19.2.3): + react-remove-scroll-bar@2.3.8(@types/react@19.1.7)(react@19.2.4): dependencies: - react: 19.2.3 - react-style-singleton: 2.2.3(@types/react@19.1.7)(react@19.2.3) + react: 19.2.4 + react-style-singleton: 2.2.3(@types/react@19.1.7)(react@19.2.4) tslib: 2.8.1 optionalDependencies: '@types/react': 19.1.7 - react-remove-scroll@2.6.3(@types/react@19.1.7)(react@19.2.3): + react-remove-scroll@2.6.3(@types/react@19.1.7)(react@19.2.4): dependencies: - react: 19.2.3 - react-remove-scroll-bar: 2.3.8(@types/react@19.1.7)(react@19.2.3) - react-style-singleton: 2.2.3(@types/react@19.1.7)(react@19.2.3) + react: 19.2.4 + react-remove-scroll-bar: 2.3.8(@types/react@19.1.7)(react@19.2.4) + react-style-singleton: 2.2.3(@types/react@19.1.7)(react@19.2.4) tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@19.1.7)(react@19.2.3) - use-sidecar: 1.1.3(@types/react@19.1.7)(react@19.2.3) + use-callback-ref: 1.3.3(@types/react@19.1.7)(react@19.2.4) + use-sidecar: 1.1.3(@types/react@19.1.7)(react@19.2.4) optionalDependencies: '@types/react': 19.1.7 @@ -28231,29 +29785,29 @@ snapshots: react: 16.14.0 warning: 4.0.3 - react-style-singleton@2.2.3(@types/react@19.1.7)(react@19.2.3): + react-style-singleton@2.2.3(@types/react@19.1.7)(react@19.2.4): dependencies: get-nonce: 1.0.1 - react: 19.2.3 + react: 19.2.4 tslib: 2.8.1 optionalDependencies: '@types/react': 19.1.7 - react-tabs@6.1.0(react@19.2.3): + react-tabs@6.1.0(react@19.2.4): dependencies: clsx: 2.1.1 prop-types: 15.8.1 - react: 19.2.3 + react: 19.2.4 - react-window@2.2.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3): + react-window@2.2.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4): dependencies: - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) - react-window@2.2.5(react-dom@19.2.3(react@19.2.3))(react@19.2.3): + react-window@2.2.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4): dependencies: - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) react@16.14.0: dependencies: @@ -28261,7 +29815,7 @@ snapshots: object-assign: 4.1.1 prop-types: 15.8.1 - react@19.2.3: {} + react@19.2.4: {} read-binary-file-arch@1.0.6: dependencies: @@ -28324,11 +29878,13 @@ snapshots: readdirp@5.0.0: {} + real-require@0.2.0: {} + rechoir@0.8.0: dependencies: resolve: 1.22.10 - redoc@2.5.1(core-js@3.46.0)(encoding@0.1.13)(mobx@6.15.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(styled-components@6.1.19(react-dom@19.2.3(react@19.2.3))(react@19.2.3)): + redoc@2.5.1(core-js@3.46.0)(encoding@0.1.13)(mobx@6.15.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(styled-components@6.1.19(react-dom@19.2.4(react@19.2.4))(react@19.2.4)): dependencies: '@redocly/openapi-core': 1.34.5 classnames: 2.5.1 @@ -28341,19 +29897,19 @@ snapshots: mark.js: 8.11.1 marked: 4.3.0 mobx: 6.15.0 - mobx-react: 9.2.0(mobx@6.15.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + mobx-react: 9.2.0(mobx@6.15.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) openapi-sampler: 1.6.2 path-browserify: 1.0.1 perfect-scrollbar: 1.5.6 polished: 4.3.1 prismjs: 1.30.0 prop-types: 15.8.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - react-tabs: 6.1.0(react@19.2.3) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + react-tabs: 6.1.0(react@19.2.4) slugify: 1.4.7 stickyfill: 1.1.1 - styled-components: 6.1.19(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + styled-components: 6.1.19(react-dom@19.2.4(react@19.2.4))(react@19.2.4) swagger2openapi: 7.0.8(encoding@0.1.13) url-template: 2.0.8 transitivePeerDependencies: @@ -28398,6 +29954,14 @@ snapshots: unicode-match-property-ecmascript: 1.0.4 unicode-match-property-value-ecmascript: 1.2.0 + registry-auth-token@5.1.1: + dependencies: + '@pnpm/npm-conf': 3.0.2 + + registry-url@6.0.1: + dependencies: + rc: 1.2.8 + regjsgen@0.5.2: {} regjsparser@0.6.9: @@ -28596,11 +30160,11 @@ snapshots: '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.29 optional: true - rollup-plugin-stats@1.5.4(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)): + rollup-plugin-stats@1.5.5(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)): optionalDependencies: rolldown: 1.0.0-beta.29 rollup: 4.52.0 - vite: 7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) rollup-plugin-styles@4.0.0(rollup@4.52.0): dependencies: @@ -28629,13 +30193,13 @@ snapshots: '@rollup/pluginutils': 5.1.4(rollup@4.52.0) rollup: 4.52.0 - rollup-plugin-webpack-stats@2.1.9(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)): + rollup-plugin-webpack-stats@2.1.10(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)): dependencies: - rollup-plugin-stats: 1.5.4(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + rollup-plugin-stats: 1.5.5(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) optionalDependencies: rolldown: 1.0.0-beta.29 rollup: 4.52.0 - vite: 7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) rollup@4.52.0: dependencies: @@ -28731,6 +30295,8 @@ snapshots: dependencies: ret: 0.5.0 + safe-stable-stringify@2.5.0: {} + safer-buffer@2.1.2: {} sanitize-filename@1.6.3: @@ -28847,7 +30413,7 @@ snapshots: immutable: 5.1.4 source-map-js: 1.2.1 optionalDependencies: - '@parcel/watcher': 2.5.1 + '@parcel/watcher': 2.5.4 optional: true sax@1.4.4: {} @@ -28885,6 +30451,8 @@ snapshots: dependencies: raw-loader: 0.5.1 + scule@1.3.0: {} + secure-compare@3.0.1: {} selderee@0.11.0: @@ -28909,8 +30477,6 @@ snapshots: dependencies: lru-cache: 6.0.0 - semver@7.7.2: {} - semver@7.7.3: {} send@0.19.0: @@ -29025,6 +30591,11 @@ snapshots: es-errors: 1.3.0 es-object-atoms: 1.1.1 + set-value@4.1.0: + dependencies: + is-plain-object: 2.0.4 + is-primitive: 3.0.1 + setimmediate@1.0.5: {} setprototypeof@1.1.0: {} @@ -29033,6 +30604,37 @@ snapshots: shallowequal@1.1.0: {} + sharp@0.34.5: + dependencies: + '@img/colour': 1.0.0 + detect-libc: 2.1.2 + semver: 7.7.3 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.34.5 + '@img/sharp-darwin-x64': 0.34.5 + '@img/sharp-libvips-darwin-arm64': 1.2.4 + '@img/sharp-libvips-darwin-x64': 1.2.4 + '@img/sharp-libvips-linux-arm': 1.2.4 + '@img/sharp-libvips-linux-arm64': 1.2.4 + '@img/sharp-libvips-linux-ppc64': 1.2.4 + '@img/sharp-libvips-linux-riscv64': 1.2.4 + '@img/sharp-libvips-linux-s390x': 1.2.4 + '@img/sharp-libvips-linux-x64': 1.2.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 + '@img/sharp-libvips-linuxmusl-x64': 1.2.4 + '@img/sharp-linux-arm': 0.34.5 + '@img/sharp-linux-arm64': 0.34.5 + '@img/sharp-linux-ppc64': 0.34.5 + '@img/sharp-linux-riscv64': 0.34.5 + '@img/sharp-linux-s390x': 0.34.5 + '@img/sharp-linux-x64': 0.34.5 + '@img/sharp-linuxmusl-arm64': 0.34.5 + '@img/sharp-linuxmusl-x64': 0.34.5 + '@img/sharp-wasm32': 0.34.5 + '@img/sharp-win32-arm64': 0.34.5 + '@img/sharp-win32-ia32': 0.34.5 + '@img/sharp-win32-x64': 0.34.5 + shebang-command@1.2.0: dependencies: shebang-regex: 1.0.0 @@ -29045,6 +30647,8 @@ snapshots: shebang-regex@3.0.0: {} + shell-quote@1.7.3: {} + shell-quote@1.8.3: {} shelljs@0.10.0: @@ -29052,6 +30656,8 @@ snapshots: execa: 5.1.1 fast-glob: 3.3.3 + shellwords@0.1.1: {} + shimmer@1.2.1: {} should-equal@2.0.0: @@ -29165,8 +30771,12 @@ snapshots: mrmime: 2.0.1 totalist: 3.0.1 + sisteransi@1.0.5: {} + slash@3.0.0: {} + slash@5.1.0: {} + slice-ansi@4.0.0: dependencies: ansi-styles: 4.3.0 @@ -29271,9 +30881,13 @@ snapshots: socks@2.8.7: dependencies: - ip-address: 10.0.1 + ip-address: 10.1.0 smart-buffer: 4.2.0 + sonic-boom@4.2.0: + dependencies: + atomic-sleep: 1.0.0 + sort-keys-length@1.0.1: dependencies: sort-keys: 1.1.2 @@ -29301,6 +30915,11 @@ snapshots: spacetrim@0.11.59: {} + spawn-sync@1.0.15: + dependencies: + concat-stream: 1.6.2 + os-shim: 0.1.3 + spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 @@ -29342,6 +30961,10 @@ snapshots: split2@4.2.0: {} + split@1.0.1: + dependencies: + through: 2.3.8 + sprintf-js@1.0.3: {} sprintf-js@1.1.3: @@ -29395,6 +31018,8 @@ snapshots: std-env@3.10.0: {} + stdin-discarder@0.2.2: {} + stickyfill@1.1.1: {} stop-iteration-iterator@1.1.0: @@ -29533,6 +31158,12 @@ snapshots: strip-json-comments@3.1.1: {} + strip-json-comments@5.0.2: {} + + strip-literal@3.1.0: + dependencies: + js-tokens: 9.0.1 + strip-outer@1.0.1: dependencies: escape-string-regexp: 1.0.5 @@ -29553,6 +31184,12 @@ snapshots: '@tokenizer/token': 0.3.0 peek-readable: 4.1.0 + stubborn-fs@2.0.0: + dependencies: + stubborn-utils: 1.0.2 + + stubborn-utils@1.0.2: {} + style-loader@2.0.0(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.2)): dependencies: loader-utils: 2.0.4 @@ -29567,7 +31204,7 @@ snapshots: style-search@0.1.0: {} - styled-components@6.1.19(react-dom@19.2.3(react@19.2.3))(react@19.2.3): + styled-components@6.1.19(react-dom@19.2.4(react@19.2.4))(react@19.2.4): dependencies: '@emotion/is-prop-valid': 1.2.2 '@emotion/unitless': 0.8.1 @@ -29575,8 +31212,8 @@ snapshots: css-to-react-native: 3.2.0 csstype: 3.1.3 postcss: 8.4.49 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) shallowequal: 1.1.0 stylis: 4.3.2 tslib: 2.6.2 @@ -29591,31 +31228,31 @@ snapshots: dependencies: browserslist: 4.26.2 postcss: 8.5.6 - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 - stylelint-config-ckeditor5@13.0.0(stylelint@16.26.1(typescript@5.9.3)): + stylelint-config-ckeditor5@13.0.0(stylelint@17.0.0(typescript@5.9.3)): dependencies: - '@stylistic/stylelint-plugin': 3.1.3(stylelint@16.26.1(typescript@5.9.3)) - stylelint: 16.26.1(typescript@5.9.3) - stylelint-config-recommended: 16.0.0(stylelint@16.26.1(typescript@5.9.3)) - stylelint-plugin-ckeditor5-rules: 13.0.0(stylelint@16.26.1(typescript@5.9.3)) + '@stylistic/stylelint-plugin': 3.1.3(stylelint@17.0.0(typescript@5.9.3)) + stylelint: 17.0.0(typescript@5.9.3) + stylelint-config-recommended: 16.0.0(stylelint@17.0.0(typescript@5.9.3)) + stylelint-plugin-ckeditor5-rules: 13.0.0(stylelint@17.0.0(typescript@5.9.3)) - stylelint-config-ckeditor5@2.0.1(stylelint@16.26.1(typescript@5.9.3)): + stylelint-config-ckeditor5@2.0.1(stylelint@16.26.1(typescript@5.0.4)): dependencies: - stylelint: 16.26.1(typescript@5.9.3) - stylelint-config-recommended: 3.0.0(stylelint@16.26.1(typescript@5.9.3)) + stylelint: 16.26.1(typescript@5.0.4) + stylelint-config-recommended: 3.0.0(stylelint@16.26.1(typescript@5.0.4)) - stylelint-config-recommended@16.0.0(stylelint@16.26.1(typescript@5.9.3)): + stylelint-config-recommended@16.0.0(stylelint@17.0.0(typescript@5.9.3)): dependencies: - stylelint: 16.26.1(typescript@5.9.3) + stylelint: 17.0.0(typescript@5.9.3) - stylelint-config-recommended@3.0.0(stylelint@16.26.1(typescript@5.9.3)): + stylelint-config-recommended@3.0.0(stylelint@16.26.1(typescript@5.0.4)): dependencies: - stylelint: 16.26.1(typescript@5.9.3) + stylelint: 16.26.1(typescript@5.0.4) - stylelint-plugin-ckeditor5-rules@13.0.0(stylelint@16.26.1(typescript@5.9.3)): + stylelint-plugin-ckeditor5-rules@13.0.0(stylelint@17.0.0(typescript@5.9.3)): dependencies: - stylelint: 16.26.1(typescript@5.9.3) + stylelint: 17.0.0(typescript@5.9.3) stylelint@16.26.1(typescript@5.0.4): dependencies: @@ -29662,15 +31299,15 @@ snapshots: - supports-color - typescript - stylelint@16.26.1(typescript@5.9.3): + stylelint@17.0.0(typescript@5.9.3): dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-syntax-patches-for-csstree': 1.0.19 - '@csstools/css-tokenizer': 3.0.4 - '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) - '@dual-bundle/import-meta-resolve': 4.2.1 - balanced-match: 2.0.0 + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) + '@csstools/css-syntax-patches-for-csstree': 1.0.25 + '@csstools/css-tokenizer': 4.0.0 + '@csstools/media-query-list-parser': 5.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/selector-resolve-nested': 4.0.0(postcss-selector-parser@7.1.1) + '@csstools/selector-specificity': 6.0.0(postcss-selector-parser@7.1.1) + balanced-match: 3.0.1 colord: 2.9.3 cosmiconfig: 9.0.0(typescript@5.9.3) css-functions-list: 3.2.3 @@ -29680,29 +31317,28 @@ snapshots: fastest-levenshtein: 1.0.16 file-entry-cache: 11.1.1 global-modules: 2.0.0 - globby: 11.1.0 + globby: 16.1.0 globjoin: 0.1.4 - html-tags: 3.3.1 + html-tags: 5.1.0 ignore: 7.0.5 + import-meta-resolve: 4.2.0 imurmurhash: 0.1.4 is-plain-object: 5.0.0 known-css-properties: 0.37.0 - mathml-tag-names: 2.1.3 - meow: 13.2.0 + mathml-tag-names: 4.0.0 + meow: 14.0.0 micromatch: 4.0.8 normalize-path: 3.0.0 picocolors: 1.1.1 postcss: 8.5.6 - postcss-resolve-nested-selector: 0.1.6 postcss-safe-parser: 7.0.1(postcss@8.5.6) - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 - resolve-from: 5.0.0 - string-width: 4.2.3 - supports-hyperlinks: 3.2.0 + string-width: 8.1.0 + supports-hyperlinks: 4.4.0 svg-tags: 1.0.0 table: 6.9.0 - write-file-atomic: 5.0.1 + write-file-atomic: 7.0.0 transitivePeerDependencies: - supports-color - typescript @@ -29757,6 +31393,8 @@ snapshots: transitivePeerDependencies: - supports-color + supports-color@10.2.2: {} + supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -29774,6 +31412,11 @@ snapshots: has-flag: 4.0.0 supports-color: 7.2.0 + supports-hyperlinks@4.4.0: + dependencies: + has-flag: 5.0.1 + supports-color: 10.2.2 + supports-preserve-symlinks-flag@1.0.0: {} svg-pan-zoom@3.6.2: {} @@ -29796,7 +31439,7 @@ snapshots: commander: 7.2.0 css-select: 5.2.2 css-tree: 2.3.1 - css-what: 6.1.0 + css-what: 6.2.2 csso: 5.0.5 picocolors: 1.1.1 @@ -29918,6 +31561,14 @@ snapshots: mkdirp: 3.0.1 yallist: 5.0.0 + tar@7.5.7: + dependencies: + '@isaacs/fs-minipass': 4.0.1 + chownr: 3.0.0 + minipass: 7.1.2 + minizlib: 3.1.0 + yallist: 5.0.0 + temp@0.9.4: dependencies: mkdirp: 0.5.6 @@ -29970,10 +31621,16 @@ snapshots: dependencies: tslib: 2.8.1 + thread-stream@3.1.0: + dependencies: + real-require: 0.2.0 + through2@4.0.2: dependencies: readable-stream: 3.6.2 + through@2.3.8: {} + thunky@1.1.0: {} time2fa@1.4.2: {} @@ -30095,10 +31752,6 @@ snapshots: ts-algebra@2.0.0: {} - ts-api-utils@2.3.0(typescript@5.9.3): - dependencies: - typescript: 5.9.3 - ts-api-utils@2.4.0(typescript@5.9.3): dependencies: typescript: 5.9.3 @@ -30117,14 +31770,14 @@ snapshots: typescript: 5.0.4 webpack: 5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.2) - ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.7)(typescript@5.0.4): + ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.9)(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': 24.10.7 + '@types/node': 24.10.9 acorn: 8.15.0 acorn-walk: 8.3.4 arg: 4.1.3 @@ -30137,14 +31790,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@24.10.7)(typescript@5.9.3): + ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.10.9)(typescript@5.9.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': 24.10.7 + '@types/node': 24.10.9 acorn: 8.15.0 acorn-walk: 8.3.4 arg: 4.1.3 @@ -30180,9 +31833,9 @@ snapshots: dependencies: safe-buffer: 5.2.1 - tunnel-rat@0.1.2(@types/react@19.1.7)(react@19.2.3): + tunnel-rat@0.1.2(@types/react@19.1.7)(react@19.2.4): dependencies: - zustand: 4.5.6(@types/react@19.1.7)(react@19.2.3) + zustand: 4.5.6(@types/react@19.1.7)(react@19.2.4) transitivePeerDependencies: - '@types/react' - immer @@ -30202,6 +31855,11 @@ snapshots: dependencies: '@mixmark-io/domino': 2.2.0 + turnish@1.8.0: + dependencies: + '@adobe/css-tools': 4.4.4 + '@mixmark-io/domino': 2.2.0 + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -30213,6 +31871,8 @@ snapshots: type-fest@1.4.0: {} + type-fest@3.13.1: {} + type-fest@4.26.0: {} type-fest@4.41.0: {} @@ -30287,12 +31947,12 @@ snapshots: transitivePeerDependencies: - supports-color - typescript-eslint@8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3): + typescript-eslint@8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.52.0(@typescript-eslint/parser@8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/parser': 8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/typescript-estree': 8.52.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.53.0(@typescript-eslint/parser@8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.53.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) eslint: 9.39.2(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: @@ -30315,6 +31975,8 @@ snapshots: uglify-js@3.19.3: optional: true + uhyphen@0.2.0: {} + uid-safe@2.1.5: dependencies: random-bytes: 1.0.0 @@ -30336,7 +31998,9 @@ snapshots: undici@6.21.3: {} - undici@7.12.0: {} + undici@6.23.0: {} + + undici@7.19.0: {} unescape@1.0.1: dependencies: @@ -30353,6 +32017,8 @@ snapshots: unicode-property-aliases-ecmascript@1.1.0: {} + unicorn-magic@0.4.0: {} + unidragger@3.0.1: dependencies: ev-emitter: 2.1.2 @@ -30367,6 +32033,23 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 + unimport@5.6.0: + dependencies: + acorn: 8.15.0 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + local-pkg: 1.1.2 + magic-string: 0.30.21 + mlly: 1.8.0 + pathe: 2.0.3 + picomatch: 4.0.3 + pkg-types: 2.3.0 + scule: 1.3.0 + strip-literal: 3.1.0 + tinyglobby: 0.2.15 + unplugin: 2.3.11 + unplugin-utils: 0.3.1 + union@0.5.0: dependencies: qs: 6.14.0 @@ -30436,6 +32119,18 @@ snapshots: unpipe@1.0.0: {} + unplugin-utils@0.3.1: + dependencies: + pathe: 2.0.3 + picomatch: 4.0.3 + + unplugin@2.3.11: + dependencies: + '@jridgewell/remapping': 2.3.5 + acorn: 8.15.0 + picomatch: 4.0.3 + webpack-virtual-modules: 0.6.2 + unused-filename@4.0.1: dependencies: escape-string-regexp: 5.0.0 @@ -30449,6 +32144,19 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 + update-notifier@7.3.1: + dependencies: + boxen: 8.0.1 + chalk: 5.6.2 + configstore: 7.1.0 + is-in-ci: 1.0.0 + is-installed-globally: 1.0.0 + is-npm: 6.1.0 + latest-version: 9.0.0 + pupa: 3.1.0 + semver: 7.7.3 + xdg-basedir: 5.1.0 + uri-js@4.4.1: dependencies: punycode: 2.3.1 @@ -30464,24 +32172,24 @@ snapshots: urlpattern-polyfill@10.1.0: {} - use-callback-ref@1.3.3(@types/react@19.1.7)(react@19.2.3): + use-callback-ref@1.3.3(@types/react@19.1.7)(react@19.2.4): dependencies: - react: 19.2.3 + react: 19.2.4 tslib: 2.8.1 optionalDependencies: '@types/react': 19.1.7 - use-sidecar@1.1.3(@types/react@19.1.7)(react@19.2.3): + use-sidecar@1.1.3(@types/react@19.1.7)(react@19.2.4): dependencies: detect-node-es: 1.1.0 - react: 19.2.3 + react: 19.2.4 tslib: 2.8.1 optionalDependencies: '@types/react': 19.1.7 - use-sync-external-store@1.6.0(react@19.2.3): + use-sync-external-store@1.6.0(react@19.2.4): dependencies: - react: 19.2.3 + react: 19.2.4 user-agent-data-types@0.4.2: {} @@ -30549,9 +32257,29 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-plugin-dts@4.5.4(@types/node@24.10.7)(rollup@4.52.0)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)): + vite-node@5.3.0(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1): dependencies: - '@microsoft/api-extractor': 7.52.8(@types/node@24.10.7) + cac: 6.7.14 + es-module-lexer: 2.0.0 + obug: 2.1.1 + pathe: 2.0.3 + vite: 7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + transitivePeerDependencies: + - '@types/node' + - jiti + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - terser + - tsx + - yaml + + vite-plugin-dts@4.5.4(@types/node@24.10.9)(rollup@4.52.0)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)): + dependencies: + '@microsoft/api-extractor': 7.52.8(@types/node@24.10.9) '@rollup/pluginutils': 5.1.4(rollup@4.52.0) '@volar/typescript': 2.4.13 '@vue/language-core': 2.2.0(typescript@5.9.3) @@ -30562,27 +32290,35 @@ snapshots: magic-string: 0.30.21 typescript: 5.9.3 optionalDependencies: - vite: 7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-static-copy@3.1.4(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)): + vite-plugin-static-copy@3.1.4(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)): dependencies: chokidar: 3.6.0 - p-map: 7.0.3 + p-map: 7.0.4 picocolors: 1.1.1 tinyglobby: 0.2.15 - vite: 7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) - vite-plugin-svgo@2.0.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)): + vite-plugin-static-copy@3.2.0(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)): + dependencies: + chokidar: 3.6.0 + p-map: 7.0.4 + picocolors: 1.1.1 + tinyglobby: 0.2.15 + vite: 7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + + vite-plugin-svgo@2.0.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)): dependencies: svgo: 3.3.2 typescript: 5.9.3 - vite: 7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) - vite-prerender-plugin@0.5.11(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)): + vite-prerender-plugin@0.5.11(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)): dependencies: kolorist: 1.8.0 magic-string: 0.30.21 @@ -30590,9 +32326,9 @@ snapshots: simple-code-frame: 1.3.0 source-map: 0.7.6 stack-trace: 1.0.0-pre2 - vite: 7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) - vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1): + vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1): dependencies: esbuild: 0.27.2 fdir: 6.5.0(picomatch@4.0.3) @@ -30601,26 +32337,26 @@ snapshots: rollup: 4.52.0 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 24.10.7 + '@types/node': 24.10.9 fsevents: 2.3.3 jiti: 2.6.1 less: 4.1.3 - lightningcss: 1.30.2 + lightningcss: 1.31.1 sass: 1.91.0 sass-embedded: 1.91.0 terser: 5.44.0 tsx: 4.21.0 yaml: 2.8.1 - vitest@4.0.16(@opentelemetry/api@1.9.0)(@types/node@24.10.7)(@vitest/browser-webdriverio@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.2)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1): + vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.9)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.4.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1): dependencies: - '@vitest/expect': 4.0.16 - '@vitest/mocker': 4.0.16(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) - '@vitest/pretty-format': 4.0.16 - '@vitest/runner': 4.0.16 - '@vitest/snapshot': 4.0.16 - '@vitest/spy': 4.0.16 - '@vitest/utils': 4.0.16 + '@vitest/expect': 4.0.18 + '@vitest/mocker': 4.0.18(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + '@vitest/pretty-format': 4.0.18 + '@vitest/runner': 4.0.18 + '@vitest/snapshot': 4.0.18 + '@vitest/spy': 4.0.18 + '@vitest/utils': 4.0.18 es-module-lexer: 1.7.0 expect-type: 1.2.2 magic-string: 0.30.21 @@ -30632,14 +32368,14 @@ snapshots: tinyexec: 1.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vite: 7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.0 - '@types/node': 24.10.7 - '@vitest/browser-webdriverio': 4.0.16(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.7)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.7)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.2)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.16)(webdriverio@9.23.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) - '@vitest/ui': 4.0.16(vitest@4.0.16) - happy-dom: 20.0.11 + '@types/node': 24.10.9 + '@vitest/browser-webdriverio': 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.9)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18)(webdriverio@9.23.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@vitest/ui': 4.0.18(vitest@4.0.18) + happy-dom: 20.4.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - jiti @@ -30723,19 +32459,44 @@ snapshots: dependencies: defaults: 1.0.4 + web-ext-run@0.2.4: + dependencies: + '@babel/runtime': 7.28.2 + '@devicefarmer/adbkit': 3.3.8 + chrome-launcher: 1.2.0 + debounce: 1.2.1 + es6-error: 4.1.1 + firefox-profile: 4.7.0 + fx-runner: 1.4.0 + multimatch: 6.0.0 + node-notifier: 10.0.1 + parse-json: 7.1.1 + pino: 9.7.0 + promise-toolbox: 0.21.0 + set-value: 4.1.0 + source-map-support: 0.5.21 + strip-bom: 5.0.0 + strip-json-comments: 5.0.2 + tmp: 0.2.5 + update-notifier: 7.3.1 + watchpack: 2.4.4 + zip-dir: 2.0.0 + transitivePeerDependencies: + - supports-color + web-namespaces@2.0.1: {} web-streams-polyfill@3.3.3: {} - webdriver@9.23.0(bufferutil@4.0.9)(utf-8-validate@6.0.5): + webdriver@9.23.2(bufferutil@4.0.9)(utf-8-validate@6.0.5): dependencies: '@types/node': 20.19.25 '@types/ws': 8.18.1 - '@wdio/config': 9.23.0 + '@wdio/config': 9.23.2 '@wdio/logger': 9.18.0 - '@wdio/protocols': 9.16.2 - '@wdio/types': 9.20.0 - '@wdio/utils': 9.23.0 + '@wdio/protocols': 9.23.2 + '@wdio/types': 9.23.2 + '@wdio/utils': 9.23.2 deepmerge-ts: 7.1.5 https-proxy-agent: 7.0.6 undici: 6.21.3 @@ -30746,19 +32507,19 @@ snapshots: - supports-color - utf-8-validate - webdriverio@9.23.0(bufferutil@4.0.9)(utf-8-validate@6.0.5): + webdriverio@9.23.2(bufferutil@4.0.9)(utf-8-validate@6.0.5): dependencies: '@types/node': 20.19.25 '@types/sinonjs__fake-timers': 8.1.5 - '@wdio/config': 9.23.0 + '@wdio/config': 9.23.2 '@wdio/logger': 9.18.0 - '@wdio/protocols': 9.16.2 + '@wdio/protocols': 9.23.2 '@wdio/repl': 9.16.2 - '@wdio/types': 9.20.0 - '@wdio/utils': 9.23.0 + '@wdio/types': 9.23.2 + '@wdio/utils': 9.23.2 archiver: 7.0.1 aria-query: 5.3.2 - cheerio: 1.1.2 + cheerio: 1.2.0 css-shorthand-properties: 1.1.2 css-value: 0.0.1 grapheme-splitter: 1.0.4 @@ -30772,7 +32533,7 @@ snapshots: rgb2hex: 0.2.5 serialize-error: 12.0.0 urlpattern-polyfill: 10.1.0 - webdriver: 9.23.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + webdriver: 9.23.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bare-buffer - bufferutil @@ -30844,6 +32605,8 @@ snapshots: webpack-sources@3.3.3: {} + webpack-virtual-modules@0.6.2: {} + webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.2): dependencies: '@types/eslint-scope': 3.7.7 @@ -30957,6 +32720,10 @@ snapshots: wheel@1.0.0: {} + when-exit@2.1.5: {} + + when@3.7.7: {} + which-boxed-primitive@1.1.1: dependencies: is-bigint: 1.1.0 @@ -30998,6 +32765,11 @@ snapshots: gopd: 1.2.0 has-tostringtag: 1.0.2 + which@1.2.4: + dependencies: + is-absolute: 0.1.7 + isexe: 1.1.2 + which@1.3.1: dependencies: isexe: 2.0.0 @@ -31028,6 +32800,12 @@ snapshots: string-width: 4.2.3 optional: true + widest-line@5.0.0: + dependencies: + string-width: 7.2.0 + + winreg@0.0.12: {} + word-wrap@1.2.5: {} wordwrap@1.0.0: {} @@ -31065,6 +32843,11 @@ snapshots: imurmurhash: 0.1.4 signal-exit: 4.1.0 + write-file-atomic@7.0.0: + dependencies: + imurmurhash: 0.1.4 + signal-exit: 4.1.0 + ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@6.0.5): optionalDependencies: bufferutil: 4.0.9 @@ -31084,6 +32867,71 @@ snapshots: dependencies: is-wsl: 3.1.0 + wxt@0.20.13(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1): + dependencies: + '@1natsu/wait-element': 4.1.2 + '@aklinker1/rollup-plugin-visualizer': 5.12.0(rollup@4.52.0) + '@webext-core/fake-browser': 1.3.4 + '@webext-core/isolated-element': 1.1.3 + '@webext-core/match-patterns': 1.0.3 + '@wxt-dev/browser': 0.1.32 + '@wxt-dev/storage': 1.2.6 + async-mutex: 0.5.0 + c12: 3.3.3(magicast@0.3.5) + cac: 6.7.14 + chokidar: 4.0.3 + ci-info: 4.3.1 + consola: 3.4.2 + defu: 6.1.4 + dotenv: 17.2.3 + dotenv-expand: 12.0.3 + esbuild: 0.27.2 + fast-glob: 3.3.3 + filesize: 11.0.13 + fs-extra: 11.3.3 + get-port-please: 3.2.0 + giget: 2.0.0 + hookable: 5.5.3 + import-meta-resolve: 4.2.0 + is-wsl: 3.1.0 + json5: 2.2.3 + jszip: 3.10.1 + linkedom: 0.18.12 + magicast: 0.3.5 + minimatch: 10.1.1 + nano-spawn: 1.0.3 + normalize-path: 3.0.0 + nypm: 0.6.4 + ohash: 2.0.11 + open: 10.2.0 + ora: 8.2.0 + perfect-debounce: 2.1.0 + picocolors: 1.1.1 + prompts: 2.4.2 + publish-browser-extension: 3.0.3 + scule: 1.3.0 + unimport: 5.6.0 + vite: 7.3.1(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vite-node: 5.3.0(@types/node@24.10.9)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + web-ext-run: 0.2.4 + transitivePeerDependencies: + - '@types/node' + - canvas + - jiti + - less + - lightningcss + - rollup + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + + xdg-basedir@5.1.0: {} + xml-name-validator@3.0.0: {} xml-name-validator@5.0.0: @@ -31203,6 +33051,11 @@ snapshots: optionalDependencies: commander: 9.5.0 + zip-dir@2.0.0: + dependencies: + async: 3.2.6 + jszip: 3.10.1 + zip-stream@6.0.1: dependencies: archiver-utils: 5.0.2 @@ -31211,14 +33064,13 @@ snapshots: zod@3.24.4: {} - zod@4.1.12: - optional: true + zod@4.1.12: {} - zustand@4.5.6(@types/react@19.1.7)(react@19.2.3): + zustand@4.5.6(@types/react@19.1.7)(react@19.2.4): dependencies: - use-sync-external-store: 1.6.0(react@19.2.3) + use-sync-external-store: 1.6.0(react@19.2.4) optionalDependencies: '@types/react': 19.1.7 - react: 19.2.3 + react: 19.2.4 zwitch@2.0.4: {} diff --git a/scripts/electron-start.mts b/scripts/electron-start.mts index e1ed9df7e0..05277820a1 100644 --- a/scripts/electron-start.mts +++ b/scripts/electron-start.mts @@ -3,7 +3,8 @@ import { getElectronPath, isNixOS } from "./utils.mjs"; const LD_LIBRARY_PATH = isNixOS() && execSync("nix eval --raw nixpkgs#gcc.cc.lib").toString("utf-8") + "/lib"; -execSync(`${getElectronPath()} ${process.argv[2]} --no-sandbox`, { +const args = process.argv.slice(2); +execSync(`${getElectronPath()} ${args.join(" ")} --no-sandbox`, { stdio: "inherit", env: { ...process.env, diff --git a/scripts/icons/create-icons.sh b/scripts/icons/create-icons.sh index 16ace4c2c3..da696edc04 100644 --- a/scripts/icons/create-icons.sh +++ b/scripts/icons/create-icons.sh @@ -1,5 +1,7 @@ #!/usr/bin/env bash +set -e + if ! command -v magick &> /dev/null; then echo "This tool requires ImageMagick to be installed in order to create the icons." exit 1 @@ -16,37 +18,62 @@ if ! command -v icnsutil &> /dev/null; then fi script_dir=$(realpath $(dirname $0)) -cd "${script_dir}/../images/app-icons" -inkscape -w 180 -h 180 "../icon-color.svg" -o "./ios/apple-touch-icon.png" +source_icon_dir="$script_dir/../../apps/server/src/assets/images" +desktop_forge_dir="$script_dir/../../apps/desktop/electron-forge" +cd "$desktop_forge_dir/app-icon" +inkscape -w 180 -h 180 "$source_icon_dir/icon-color.svg" -o "./ios/apple-touch-icon.png" # Build PNGs -inkscape -w 128 -h 128 "../icon-color.svg" -o "./png/128x128.png" -inkscape -w 256 -h 256 "../icon-color.svg" -o "./png/256x256.png" +inkscape -w 128 -h 128 "$source_icon_dir/icon-color.svg" -o "./png/128x128.png" +inkscape -w 256 -h 256 "$source_icon_dir/icon-color.svg" -o "./png/256x256.png" # Build dev icons (including tray) -inkscape -w 16 -h 16 "../icon-purple.svg" -o "./png/16x16-dev.png" -inkscape -w 32 -h 32 "../icon-purple.svg" -o "./png/32x32-dev.png" -inkscape -w 256 -h 256 "../icon-purple.svg" -o "./png/256x256-dev.png" +inkscape -w 16 -h 16 "$source_icon_dir/icon-purple.svg" -o "./png/16x16-dev.png" +inkscape -w 32 -h 32 "$source_icon_dir/icon-purple.svg" -o "./png/32x32-dev.png" +inkscape -w 128 -h 128 "$source_icon_dir/icon-purple.svg" -o "./png/128x128-dev.png" +inkscape -w 256 -h 256 "$source_icon_dir/icon-purple.svg" -o "./png/256x256-dev.png" -# Build Mac .icns +# Build Mac default .icns declare -a sizes=("16" "32" "512" "1024") for size in "${sizes[@]}"; do - inkscape -w $size -h $size "../icon-color.svg" -o "./png/${size}x${size}.png" + inkscape -w $size -h $size "$source_icon_dir/icon-color.svg" -o "./png/${size}x${size}.png" done +rm -r mac/* mkdir -p fakeapp.app npx iconsur set fakeapp.app -l -i "png/1024x1024.png" -o "mac/1024x1024.png" -s 0.8 declare -a sizes=("16x16" "32x32" "128x128" "512x512") for size in "${sizes[@]}"; do magick "mac/1024x1024.png" -resize "${size}" "mac/${size}.png" done -icnsutil compose -f "mac/icon.icns" ./mac/*.png +icnsutil compose -f "icon.icns" ./mac/*.png + +# Build Mac dev .icns +declare -a sizes=("16" "32" "512" "1024") +for size in "${sizes[@]}"; do + inkscape -w $size -h $size "$source_icon_dir/icon-purple.svg" -o "./png/${size}x${size}-dev.png" +done + +npx iconsur set fakeapp.app -l -i "png/1024x1024-dev.png" -o "mac/1024x1024-dev.png" -s 0.8 +declare -a sizes=("16x16" "32x32" "128x128" "512x512") +for size in "${sizes[@]}"; do + magick "mac/1024x1024-dev.png" -resize "${size}" "mac/${size}-dev.png" +done +icnsutil compose -f "icon-dev.icns" ./mac/*-dev.png # Build Windows icon -magick -background none "../icon-color.svg" -define icon:auto-resize=16,32,48,64,128,256 "./icon.ico" +magick -background none "$source_icon_dir/icon-color.svg" -define icon:auto-resize=16,32,48,64,128,256 "./icon.ico" +magick -background none "$source_icon_dir/icon-purple.svg" -define icon:auto-resize=16,32,48,64,128,256 "./icon-dev.ico" # Build Windows setup icon -magick -background none "../icon-installer.svg" -define icon:auto-resize=16,32,48,64,128,256 "./win/setup.ico" +magick -background none "$source_icon_dir/icon-installer.svg" -define icon:auto-resize=16,32,48,64,128,256 "$desktop_forge_dir/setup-icon/setup.ico" +magick -background none "$source_icon_dir/icon-installer-purple.svg" -define icon:auto-resize=16,32,48,64,128,256 "$desktop_forge_dir/setup-icon/setup-dev.ico" # Build Squirrel splash image -magick "./png/256x256.png" -background "#ffffff" -gravity center -extent 640x480 "./win/setup-banner.gif" \ No newline at end of file +magick "./png/256x256.png" -background "#ffffff" -gravity center -extent 640x480 "$desktop_forge_dir/setup-icon/setup-banner.gif" +magick "./png/256x256-dev.png" -background "#ffffff" -gravity center -extent 640x480 "$desktop_forge_dir/setup-icon/setup-banner-dev.gif" + +# Copy server assets +server_dir="$script_dir/../../apps/server" +cp "$desktop_forge_dir/app-icon/icon.ico" "$server_dir/src/assets/icon.ico" +cp "$desktop_forge_dir/app-icon/icon-dev.ico" "$server_dir/src/assets/icon-dev.ico" \ No newline at end of file diff --git a/scripts/update-nightly-version.ts b/scripts/update-nightly-version.ts index 39fb202774..3ad12f37f2 100644 --- a/scripts/update-nightly-version.ts +++ b/scripts/update-nightly-version.ts @@ -29,7 +29,7 @@ function processVersion(version) { function patchPackageJson(packageJsonPath) { // Read the version from package.json and process it. const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8")); - const currentVersion = packageJson.version; + const currentVersion = packageJson.version.split("-test-")[0]; const adjustedVersion = processVersion(currentVersion); console.log("Current version is", currentVersion); console.log("Adjusted version is", adjustedVersion); @@ -46,7 +46,7 @@ function main() { const rootPackageJson = join(scriptDir, "..", "package.json"); patchPackageJson(rootPackageJson); - for (const app of ["server", "client", "client-standalone"]) { + for (const app of ["server", "client", "client-standalone", "desktop"]) { const appPackageJsonPath = join(scriptDir, "..", "apps", app, "package.json"); patchPackageJson(appPackageJsonPath); } diff --git a/scripts/update-version.ts b/scripts/update-version.ts index a0a16c2cef..8450c0ca1d 100644 --- a/scripts/update-version.ts +++ b/scripts/update-version.ts @@ -26,7 +26,7 @@ function getVersion(packageJsonPath: string) { function main() { const version = getVersion(join(__dirname, "..", "package.json")); - for (const appName of ["server", "client", "client-standalone", "desktop"]) { + for (const appName of ["server", "client", "client-standalone", "desktop", "edit-docs"]) { patchPackageJson(join(__dirname, "..", "apps", appName, "package.json"), version); } diff --git a/tsconfig.json b/tsconfig.json index fb9d2774aa..9fc01bb4d7 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -24,6 +24,9 @@ { "path": "./apps/website" }, + { + "path": "./apps/web-clipper" + }, { "path": "./apps/dump-db" },