diff --git a/.eslintrc b/.eslintrc index f2e4c0c4..1c5c983b 100644 --- a/.eslintrc +++ b/.eslintrc @@ -35,6 +35,7 @@ "unicorn/no-thenable": 0, "unicorn/prefer-top-level-await": 0, "unicorn/no-useless-undefined": 0, + "unicorn/no-negated-condition": 0, "no-trailing-spaces": 1 }, "parserOptions": { diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 3576f51f..fde8e1ad 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -2,7 +2,4 @@ * @macjuul # API Docs -/src/screens/database/docs @Ekwuno - -# Lezer grammar -/packages/lezer-surrealql @kearfy \ No newline at end of file +/src/screens/database/docs @Ekwuno \ No newline at end of file diff --git a/.gitignore b/.gitignore index 99381182..138f1ed3 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ dist/ .idea/ .hintrc +.env .DS_Store diff --git a/aws/prod/viewer-request/index.js b/aws/prod/viewer-request/index.js index 8fe99684..d34f20a4 100644 --- a/aws/prod/viewer-request/index.js +++ b/aws/prod/viewer-request/index.js @@ -26,10 +26,10 @@ function handler(event) { case request.uri === '/embed': return redirect('/mini'); case request.uri === '/mini/new': - request.uri = '/mini/new.html'; + request.uri = '/mini/new/index.html'; return request; case request.uri === '/mini': - request.uri = '/mini/run.html'; + request.uri = '/mini/run/index.html'; return request; case request.uri.includes('.') === false: request.uri = '/index.html'; diff --git a/cloud/callback/index.html b/cloud/callback/index.html new file mode 100644 index 00000000..71f06e1a --- /dev/null +++ b/cloud/callback/index.html @@ -0,0 +1,28 @@ + + + + + + + + + + + + Opening Surrealist... + + + + + + + + + + + + +
+ + + diff --git a/cloud/manage/index.html b/cloud/manage/index.html new file mode 100644 index 00000000..eb6ffe80 --- /dev/null +++ b/cloud/manage/index.html @@ -0,0 +1,28 @@ + + + + + + + + + + + + Surreal Cloud + + + + + + + + + + + + +
+ + + diff --git a/index.html b/index.html index 2a32b942..cddb707c 100644 --- a/index.html +++ b/index.html @@ -23,6 +23,6 @@
- + diff --git a/mini/new.html b/mini/new/index.html similarity index 94% rename from mini/new.html rename to mini/new/index.html index 3f6b1d37..a02c5c03 100644 --- a/mini/new.html +++ b/mini/new/index.html @@ -22,6 +22,6 @@
- + diff --git a/mini/run.html b/mini/run/index.html similarity index 94% rename from mini/run.html rename to mini/run/index.html index d050877e..c39e0d9d 100644 --- a/mini/run.html +++ b/mini/run/index.html @@ -23,6 +23,6 @@
- + diff --git a/netlify.toml b/netlify.toml new file mode 100644 index 00000000..ff1c0508 --- /dev/null +++ b/netlify.toml @@ -0,0 +1,4 @@ +[[redirects]] + from = "/*" + to = "/index.html" + status = 200 \ No newline at end of file diff --git a/package.json b/package.json index f158ec25..0b1a42da 100644 --- a/package.json +++ b/package.json @@ -1,25 +1,23 @@ { "name": "surrealist", "private": true, - "version": "2.1.6", - "surreal": "1.4.2", + "version": "3.0.0-beta.1", + "surreal": "2.0.0", "type": "module", "authors": [ "SurrealDB" ], "scripts": { - "build": "tsc && pnpm grammar:build && vite build", - "build:desktop": "tsc && pnpm grammar:build && vite build -c vite.config.desktop.ts", - "build:embedded": "tsc && pnpm grammar:build && vite build -c vite.config.embedded.ts", - "build:preview": "tsc && pnpm grammar:build && vite build -c vite.config.preview.ts", + "build": "tsc && vite build", + "build:desktop": "tsc && vite build -c vite.config.desktop.ts", + "build:embedded": "tsc && vite build -c vite.config.embedded.ts", + "build:preview": "tsc && vite build -c vite.config.preview.ts", "dev": "vite", "dev:desktop": "vite -c vite.config.desktop.ts", - "grammar:build": "cd packages/lezer-surrealql && pnpm build && cd ../codemirror-surrealql && pnpm build", + "preview": "vite preview", "lint": "eslint .", "lint:fix": "eslint . --fix", "license-report": "license-report --fields name --fields licenseType --fields link --fields installedVersion --fields author > src/assets/data/license-report.json", - "preview": "vite preview", - "start": "vite", "tauri": "tauri", "tauri:dev": "tauri dev", "tauri:build": "tauri build", @@ -30,7 +28,6 @@ "@codemirror/commands": "^6.3.3", "@codemirror/lang-html": "^6.4.9", "@codemirror/lang-javascript": "^6.2.2", - "@codemirror/lang-json": "^6.0.1", "@codemirror/lang-php": "^6.0.1", "@codemirror/lang-python": "^6.1.6", "@codemirror/lang-rust": "^6.0.1", @@ -45,62 +42,60 @@ "@dnd-kit/sortable": "^8.0.0", "@dnd-kit/utilities": "^3.2.2", "@lezer/highlight": "^1.2.0", - "@mantine/core": "^7.6.2", - "@mantine/hooks": "^7.6.2", - "@mantine/modals": "^7.12.0", - "@mantine/notifications": "^7.6.2", + "@mantine/core": "^7.12.1", + "@mantine/hooks": "^7.12.1", + "@mantine/modals": "^7.12.1", + "@mantine/notifications": "^7.12.1", "@mdi/js": "^7.2.96", "@replit/codemirror-indentation-markers": "^6.5.0", + "@surrealdb/codemirror": "1.0.0-beta.4", + "@surrealdb/lezer": "1.0.0-beta.4", + "@surrealdb/ql-wasm": "0.2.0-beta.2", + "@surrealdb/wasm": "1.0.0-beta.18", "@tanstack/react-query": "^5.37.1", "@tauri-apps/api": "2.0.0-beta.14", "@tauri-apps/plugin-deep-link": "2.0.0-beta.8", "@tauri-apps/plugin-dialog": "2.0.0-beta.6", "@tauri-apps/plugin-fs": "2.0.0-beta.6", + "@tauri-apps/plugin-http": "2.0.0-beta.7", "@tauri-apps/plugin-log": "2.0.0-beta.7", "@tauri-apps/plugin-os": "2.0.0-beta.6", "@tauri-apps/plugin-process": "2.0.0-beta.6", "@tauri-apps/plugin-shell": "2.0.0-beta.7", "@tauri-apps/plugin-updater": "2.0.0-beta.6", "@theopensource-company/feature-flags": "^0.4.6", - "@types/react-copy-to-clipboard": "^5.0.7", "ansi-to-html": "^0.7.2", "clsx": "^2.1.0", + "cm6-graphql": "^0.0.15", "codemirror": "^6.0.1", - "codemirror-surrealql": "workspace:codemirror-surrealql", - "dagre": "^0.8.5", "dayjs": "^1.11.9", "dedent": "^1.5.1", "elkjs": "^0.9.1", "escape-string-regexp": "^5.0.0", "fast-deep-equal": "^3.1.3", + "flag-icons": "^7.2.3", "geo-coordinates-parser": "^1.7.0", + "graphql": "^16.9.0", "html-to-image": "^1.11.11", "immer": "^10.0.2", "klona": "^2.0.6", "leaflet": "^1.9.4", - "lezer-surrealql": "workspace:lezer-surrealql", "lottie-web": "^5.12.2", "mantine-contextmenu": "^7.5.0", "papaparse": "^5.4.1", "posthog-js": "^1.121.4", "radash": "^11.0.0", "react": "^18.2.0", - "react-copy-to-clipboard": "^5.1.0", "react-dom": "^18.2.0", "react-error-boundary": "^4.0.12", "react-leaflet": "^4.2.1", "react-resizable-panels": "^2.0.5", "react-reverse-portal": "^2.1.1", "reactflow": "^11.10.4", - "remove": "^0.1.5", "rss-parser": "^3.13.0", - "semver": "^7.5.4", "semver-compare": "^1.0.0", - "surrealdb.js": "1.0.0-beta.18", - "surrealdb.wasm": "1.0.0-beta.15", - "surrealql.wasm": "^0.1.8", + "surrealdb": "1.0.0-beta.20", "use-immer": "^0.9.0", - "vite-plugin-markdown": "^2.2.0", "zustand": "^4.5.0" }, "devDependencies": { @@ -128,11 +123,13 @@ "typescript": "^5.1.6", "vite": "^5.2.9", "vite-plugin-compression2": "^1.1.2", - "vite-plugin-image-optimizer": "^1.1.8" + "vite-plugin-image-optimizer": "^1.1.8", + "vite-plugin-markdown": "^2.2.0" }, "pnpm": { "patchedDependencies": { - "@reactflow/core@11.11.4": "patches/@reactflow__core@11.11.4.patch" + "@reactflow/core@11.11.4": "patches/@reactflow__core@11.11.4.patch", + "graphql@16.9.0": "patches/graphql@16.9.0.patch" } } } diff --git a/packages/codemirror-surrealql/.gitignore b/packages/codemirror-surrealql/.gitignore deleted file mode 100644 index dda0bb25..00000000 --- a/packages/codemirror-surrealql/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -/node_modules/ - -!/dist - -# Enable when moving to separate repo -#/dist \ No newline at end of file diff --git a/packages/codemirror-surrealql/dist/index.cjs b/packages/codemirror-surrealql/dist/index.cjs deleted file mode 100644 index aa059ed2..00000000 --- a/packages/codemirror-surrealql/dist/index.cjs +++ /dev/null @@ -1,51 +0,0 @@ -'use strict'; - -var lezerSurrealql = require('lezer-surrealql'); -var language = require('@codemirror/language'); -var common = require('@lezer/common'); -var javascript = require('@lezer/javascript'); - -const surrealqlLanguage = language.LRLanguage.define({ - name: "surrealql", - parser: lezerSurrealql.parser.configure({ - props: [ - language.indentNodeProp.add({ - Object: language.continuedIndent({ except: /^\s*}/ }), - Array: language.continuedIndent({ except: /^\s*]/ }), - }), - language.foldNodeProp.add({ - "Object Array CombinedResult": language.foldInside, - }), - ], - wrap: common.parseMixed((node) => { - return node.name === "JavaScriptContent" ? { parser: javascript.parser } : null; - }), - }), - languageData: { - closeBrackets: { brackets: ["[", "{", '"', "'", "("] }, - indentOnInput: /^\s*[\]}]$/, - commentTokens: { line: "--" }, - }, -}); -const defaultLanguage = surrealqlLanguage.configure({ - top: "SurrealQL", -}); -const permissionInputLanguage = surrealqlLanguage.configure({ - top: "PermissionInput", -}); -const combinedResultsLanguage = surrealqlLanguage.configure({ - top: "CombinedResults", -}); -/** - * The CodeMirror extension used to add support for the SurrealQL language - */ -function surrealql(scope = "default") { - return new language.LanguageSupport(scope === "permission" - ? permissionInputLanguage - : scope === "combined-results" - ? combinedResultsLanguage - : defaultLanguage); -} - -exports.surrealql = surrealql; -exports.surrealqlLanguage = surrealqlLanguage; diff --git a/packages/codemirror-surrealql/dist/index.d.cts b/packages/codemirror-surrealql/dist/index.d.cts deleted file mode 100644 index 3d29b427..00000000 --- a/packages/codemirror-surrealql/dist/index.d.cts +++ /dev/null @@ -1,10 +0,0 @@ -import { LRLanguage, LanguageSupport } from '@codemirror/language'; - -type Scope = "default" | "permission" | "combined-results"; -declare const surrealqlLanguage: LRLanguage; -/** - * The CodeMirror extension used to add support for the SurrealQL language - */ -declare function surrealql(scope?: Scope): LanguageSupport; - -export { surrealql, surrealqlLanguage }; diff --git a/packages/codemirror-surrealql/dist/index.d.ts b/packages/codemirror-surrealql/dist/index.d.ts deleted file mode 100644 index 3d29b427..00000000 --- a/packages/codemirror-surrealql/dist/index.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { LRLanguage, LanguageSupport } from '@codemirror/language'; - -type Scope = "default" | "permission" | "combined-results"; -declare const surrealqlLanguage: LRLanguage; -/** - * The CodeMirror extension used to add support for the SurrealQL language - */ -declare function surrealql(scope?: Scope): LanguageSupport; - -export { surrealql, surrealqlLanguage }; diff --git a/packages/codemirror-surrealql/dist/index.js b/packages/codemirror-surrealql/dist/index.js deleted file mode 100644 index 90a2c375..00000000 --- a/packages/codemirror-surrealql/dist/index.js +++ /dev/null @@ -1,48 +0,0 @@ -import { parser } from 'lezer-surrealql'; -import { LRLanguage, indentNodeProp, continuedIndent, foldNodeProp, foldInside, LanguageSupport } from '@codemirror/language'; -import { parseMixed } from '@lezer/common'; -import { parser as parser$1 } from '@lezer/javascript'; - -const surrealqlLanguage = /*@__PURE__*/LRLanguage.define({ - name: "surrealql", - parser: /*@__PURE__*/parser.configure({ - props: [ - /*@__PURE__*/indentNodeProp.add({ - Object: /*@__PURE__*/continuedIndent({ except: /^\s*}/ }), - Array: /*@__PURE__*/continuedIndent({ except: /^\s*]/ }), - }), - /*@__PURE__*/foldNodeProp.add({ - "Object Array CombinedResult": foldInside, - }), - ], - wrap: /*@__PURE__*/parseMixed((node) => { - return node.name === "JavaScriptContent" ? { parser: parser$1 } : null; - }), - }), - languageData: { - closeBrackets: { brackets: ["[", "{", '"', "'", "("] }, - indentOnInput: /^\s*[\]}]$/, - commentTokens: { line: "--" }, - }, -}); -const defaultLanguage = /*@__PURE__*/surrealqlLanguage.configure({ - top: "SurrealQL", -}); -const permissionInputLanguage = /*@__PURE__*/surrealqlLanguage.configure({ - top: "PermissionInput", -}); -const combinedResultsLanguage = /*@__PURE__*/surrealqlLanguage.configure({ - top: "CombinedResults", -}); -/** - * The CodeMirror extension used to add support for the SurrealQL language - */ -function surrealql(scope = "default") { - return new LanguageSupport(scope === "permission" - ? permissionInputLanguage - : scope === "combined-results" - ? combinedResultsLanguage - : defaultLanguage); -} - -export { surrealql, surrealqlLanguage }; diff --git a/packages/codemirror-surrealql/package.json b/packages/codemirror-surrealql/package.json deleted file mode 100644 index 7aeb89e7..00000000 --- a/packages/codemirror-surrealql/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "codemirror-surrealql", - "private": true, - "version": "0.0.1", - "author": "SurrealDB", - "description": "SurrealQL language support for CodeMirror", - "type": "module", - "scripts": { - "build": "cm-buildhelper src/surrealql.ts", - "test": "cm-runtests" - }, - "main": "dist/index.cjs", - "exports": { - "import": "./dist/index.js", - "require": "./dist/index.cjs" - }, - "types": "dist/index.d.ts", - "module": "dist/index.js", - "dependencies": { - "@codemirror/language": "^6.0.0", - "@lezer/common": "^1.2.1", - "@lezer/javascript": "^1.4.13", - "lezer-surrealql": "workspace:lezer-surrealql" - }, - "devDependencies": { - "@codemirror/buildhelper": "^1.0.0" - } -} \ No newline at end of file diff --git a/packages/codemirror-surrealql/pnpm-lock.yaml b/packages/codemirror-surrealql/pnpm-lock.yaml deleted file mode 100644 index 40cd8d6c..00000000 --- a/packages/codemirror-surrealql/pnpm-lock.yaml +++ /dev/null @@ -1,1140 +0,0 @@ -lockfileVersion: '6.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -dependencies: - '@codemirror/language': - specifier: ^6.0.0 - version: 6.10.1 - lezer-surrealql: - specifier: file:../lezer-surrealql - version: file:../lezer-surrealql - -devDependencies: - '@codemirror/buildhelper': - specifier: ^1.0.0 - version: 1.0.1 - -packages: - - /@babel/code-frame@7.23.5: - resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} - engines: {node: '>=6.9.0'} - requiresBuild: true - dependencies: - '@babel/highlight': 7.23.4 - chalk: 2.4.2 - dev: true - optional: true - - /@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} - engines: {node: '>=6.9.0'} - requiresBuild: true - dev: true - optional: true - - /@babel/highlight@7.23.4: - resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} - engines: {node: '>=6.9.0'} - requiresBuild: true - dependencies: - '@babel/helper-validator-identifier': 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - optional: true - - /@codemirror/buildhelper@1.0.1: - resolution: {integrity: sha512-RbXu1opzxeeilMzKunOFkM83rRBqvsAPax36sa3JW+jVxL88E7aK2bFi3ugbQUNogCFyxuNk2m9zeyY63kFcPQ==} - hasBin: true - dependencies: - '@lezer/generator': 1.6.0 - '@marijn/buildtool': 1.0.0 - '@marijn/testtool': 0.1.2 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - - /@codemirror/language@6.10.1: - resolution: {integrity: sha512-5GrXzrhq6k+gL5fjkAwt90nYDmjlzTIJV8THnxNFtNKWotMIlzzN+CpqxqwXOECnUdOndmSeWntVrVcv5axWRQ==} - dependencies: - '@codemirror/state': 6.4.1 - '@codemirror/view': 6.25.1 - '@lezer/common': 1.2.1 - '@lezer/highlight': 1.2.0 - '@lezer/lr': 1.4.0 - style-mod: 4.1.2 - dev: false - - /@codemirror/state@6.4.1: - resolution: {integrity: sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==} - dev: false - - /@codemirror/view@6.25.1: - resolution: {integrity: sha512-2LXLxsQnHDdfGzDvjzAwZh2ZviNJm7im6tGpa0IONIDnFd8RZ80D2SNi8PDi6YjKcMoMRK20v6OmKIdsrwsyoQ==} - dependencies: - '@codemirror/state': 6.4.1 - style-mod: 4.1.2 - w3c-keyname: 2.2.8 - dev: false - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true - - /@lezer/common@1.2.1: - resolution: {integrity: sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==} - - /@lezer/generator@1.6.0: - resolution: {integrity: sha512-mDwFNchv4jBEoZBaZbr5GlKR7BM6W/ZanTOZN6p4avuzcmYHTZ0nIbwtBqvXoeBrqmFSvL2zHL5TX9FWkXKc2w==} - hasBin: true - dependencies: - '@lezer/common': 1.2.1 - '@lezer/lr': 1.4.0 - dev: true - - /@lezer/highlight@1.2.0: - resolution: {integrity: sha512-WrS5Mw51sGrpqjlh3d4/fOwpEV2Hd3YOkp9DBt4k8XZQcoTHZFB7sx030A6OcahF4J1nDQAa3jXlTVVYH50IFA==} - dependencies: - '@lezer/common': 1.2.1 - dev: false - - /@lezer/lr@1.4.0: - resolution: {integrity: sha512-Wst46p51km8gH0ZUmeNrtpRYmdlRHUpN1DQd3GFAyKANi8WVz8c2jHYTf1CVScFaCjQw1iO3ZZdqGDxQPRErTg==} - dependencies: - '@lezer/common': 1.2.1 - - /@marijn/buildtool@1.0.0: - resolution: {integrity: sha512-yweS09UWiKGAIvteZcE0H/ddDPOjetI4lzO491z0Lph+hgV6RDF0sEZuZv3K51jwz+UU3rQVskjebHCgNxDE6A==} - dependencies: - '@types/mocha': 9.1.1 - acorn: 8.11.3 - acorn-walk: 8.3.2 - rollup: 4.12.1 - rollup-plugin-dts: 6.1.0(rollup@4.12.1)(typescript@5.3.3) - typescript: 5.3.3 - dev: true - - /@marijn/testtool@0.1.2: - resolution: {integrity: sha512-NXbnM5EsDibhHhQFToCLTWuPp8h4iAuQb4Ch0d2OI0MMvCFAQDVi0wLgfVq11SCqcgA8K/w/iJTnMpbnoE/uUA==} - dependencies: - esmoduleserve: 0.2.1 - ist: 1.1.7 - mocha: 10.3.0 - selenium-webdriver: 4.18.1 - serve-static: 1.15.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - - /@rollup/rollup-android-arm-eabi@4.12.1: - resolution: {integrity: sha512-iU2Sya8hNn1LhsYyf0N+L4Gf9Qc+9eBTJJJsaOGUp+7x4n2M9dxTt8UvhJl3oeftSjblSlpCfvjA/IfP3g5VjQ==} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-android-arm64@4.12.1: - resolution: {integrity: sha512-wlzcWiH2Ir7rdMELxFE5vuM7D6TsOcJ2Yw0c3vaBR3VOsJFVTx9xvwnAvhgU5Ii8Gd6+I11qNHwndDscIm0HXg==} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-arm64@4.12.1: - resolution: {integrity: sha512-YRXa1+aZIFN5BaImK+84B3uNK8C6+ynKLPgvn29X9s0LTVCByp54TB7tdSMHDR7GTV39bz1lOmlLDuedgTwwHg==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-x64@4.12.1: - resolution: {integrity: sha512-opjWJ4MevxeA8FhlngQWPBOvVWYNPFkq6/25rGgG+KOy0r8clYwL1CFd+PGwRqqMFVQ4/Qd3sQu5t7ucP7C/Uw==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm-gnueabihf@4.12.1: - resolution: {integrity: sha512-uBkwaI+gBUlIe+EfbNnY5xNyXuhZbDSx2nzzW8tRMjUmpScd6lCQYKY2V9BATHtv5Ef2OBq6SChEP8h+/cxifQ==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-gnu@4.12.1: - resolution: {integrity: sha512-0bK9aG1kIg0Su7OcFTlexkVeNZ5IzEsnz1ept87a0TUgZ6HplSgkJAnFpEVRW7GRcikT4GlPV0pbtVedOaXHQQ==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-musl@4.12.1: - resolution: {integrity: sha512-qB6AFRXuP8bdkBI4D7UPUbE7OQf7u5OL+R94JE42Z2Qjmyj74FtDdLGeriRyBDhm4rQSvqAGCGC01b8Fu2LthQ==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-riscv64-gnu@4.12.1: - resolution: {integrity: sha512-sHig3LaGlpNgDj5o8uPEoGs98RII8HpNIqFtAI8/pYABO8i0nb1QzT0JDoXF/pxzqO+FkxvwkHZo9k0NJYDedg==} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-gnu@4.12.1: - resolution: {integrity: sha512-nD3YcUv6jBJbBNFvSbp0IV66+ba/1teuBcu+fBBPZ33sidxitc6ErhON3JNavaH8HlswhWMC3s5rgZpM4MtPqQ==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-musl@4.12.1: - resolution: {integrity: sha512-7/XVZqgBby2qp/cO0TQ8uJK+9xnSdJ9ct6gSDdEr4MfABrjTyrW6Bau7HQ73a2a5tPB7hno49A0y1jhWGDN9OQ==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-arm64-msvc@4.12.1: - resolution: {integrity: sha512-CYc64bnICG42UPL7TrhIwsJW4QcKkIt9gGlj21gq3VV0LL6XNb1yAdHVp1pIi9gkts9gGcT3OfUYHjGP7ETAiw==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-ia32-msvc@4.12.1: - resolution: {integrity: sha512-LN+vnlZ9g0qlHGlS920GR4zFCqAwbv2lULrR29yGaWP9u7wF5L7GqWu9Ah6/kFZPXPUkpdZwd//TNR+9XC9hvA==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-x64-msvc@4.12.1: - resolution: {integrity: sha512-n+vkrSyphvmU0qkQ6QBNXCGr2mKjhP08mPRM/Xp5Ck2FV4NrHU+y6axzDeixUrCBHVUS51TZhjqrKBBsHLKb2Q==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@types/estree@1.0.5: - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - dev: true - - /@types/mocha@9.1.1: - resolution: {integrity: sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==} - dev: true - - /acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} - engines: {node: '>=0.4.0'} - dev: true - - /acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /ansi-colors@4.1.1: - resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} - engines: {node: '>=6'} - dev: true - - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - dev: true - - /ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - requiresBuild: true - dependencies: - color-convert: 1.9.3 - dev: true - optional: true - - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - - /anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: true - - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true - - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true - - /binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} - dev: true - - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - dependencies: - balanced-match: 1.0.2 - dev: true - - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - - /browser-stdout@1.3.1: - resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} - dev: true - - /camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - dev: true - - /chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - requiresBuild: true - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: true - optional: true - - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /cliui@7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - dev: true - - /color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - requiresBuild: true - dependencies: - color-name: 1.1.3 - dev: true - optional: true - - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - - /color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - requiresBuild: true - dev: true - optional: true - - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - - /core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - dev: true - - /debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.0.0 - dev: true - - /debug@4.3.4(supports-color@8.1.1): - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - supports-color: 8.1.1 - dev: true - - /decamelize@4.0.0: - resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} - engines: {node: '>=10'} - dev: true - - /depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - dev: true - - /destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - dev: true - - /diff@5.0.0: - resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} - engines: {node: '>=0.3.1'} - dev: true - - /ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - dev: true - - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true - - /encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - dev: true - - /escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} - engines: {node: '>=6'} - dev: true - - /escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - dev: true - - /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - requiresBuild: true - dev: true - optional: true - - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true - - /esmoduleserve@0.2.1: - resolution: {integrity: sha512-LeuOiyyCSc2sG0Clx9A/tzApfP2gz2/YPE7IBSQwP2JPZKm8S0WZ1b1DfH9eCYXo469k81od3lFvFloYJNpTYA==} - hasBin: true - dependencies: - acorn: 8.11.3 - acorn-walk: 8.3.2 - resolve: 1.22.8 - serve-static: 1.15.0 - transitivePeerDependencies: - - supports-color - dev: true - - /etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} - dev: true - - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: true - - /flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true - dev: true - - /fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - dev: true - - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true - - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true - - /get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - dev: true - - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 - dev: true - - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.0.1 - once: 1.4.0 - dev: true - - /has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - requiresBuild: true - dev: true - optional: true - - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: true - - /hasown@2.0.1: - resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} - engines: {node: '>= 0.4'} - dependencies: - function-bind: 1.1.2 - dev: true - - /he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - dev: true - - /http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - dev: true - - /immediate@3.0.6: - resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} - dev: true - - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true - - /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - dependencies: - binary-extensions: 2.2.0 - dev: true - - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} - dependencies: - hasown: 2.0.1 - dev: true - - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - dev: true - - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - dev: true - - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - dev: true - - /is-plain-obj@2.1.0: - resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} - engines: {node: '>=8'} - dev: true - - /is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - dev: true - - /isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - dev: true - - /ist@1.1.7: - resolution: {integrity: sha512-ex9JyqY+tCjBlxN1pXlqxEgtGGUGp1TG83ll1xpu8SfPgOhfAhEGCuepNHlB+d7Le+hLoBcfCu/G0ZQaFbi9hA==} - dev: true - - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - requiresBuild: true - dev: true - optional: true - - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /jszip@3.10.1: - resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==} - dependencies: - lie: 3.3.0 - pako: 1.0.11 - readable-stream: 2.3.8 - setimmediate: 1.0.5 - dev: true - - /lie@3.3.0: - resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} - dependencies: - immediate: 3.0.6 - dev: true - - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - dependencies: - p-locate: 5.0.0 - dev: true - - /log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - dev: true - - /magic-string@0.30.8: - resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - dev: true - - /minimatch@5.0.1: - resolution: {integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.0.1 - dev: true - - /mocha@10.3.0: - resolution: {integrity: sha512-uF2XJs+7xSLsrmIvn37i/wnc91nw7XjOQB8ccyx5aEgdnohr7n+rEiZP23WkCYHjilR6+EboEnbq/ZQDz4LSbg==} - engines: {node: '>= 14.0.0'} - hasBin: true - dependencies: - ansi-colors: 4.1.1 - browser-stdout: 1.3.1 - chokidar: 3.5.3 - debug: 4.3.4(supports-color@8.1.1) - diff: 5.0.0 - escape-string-regexp: 4.0.0 - find-up: 5.0.0 - glob: 8.1.0 - he: 1.2.0 - js-yaml: 4.1.0 - log-symbols: 4.1.0 - minimatch: 5.0.1 - ms: 2.1.3 - serialize-javascript: 6.0.0 - strip-json-comments: 3.1.1 - supports-color: 8.1.1 - workerpool: 6.2.1 - yargs: 16.2.0 - yargs-parser: 20.2.4 - yargs-unparser: 2.0.0 - dev: true - - /ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - dev: true - - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true - - /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: true - - /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - dev: true - - /on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} - dependencies: - ee-first: 1.1.1 - dev: true - - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - dependencies: - wrappy: 1.0.2 - dev: true - - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - dependencies: - yocto-queue: 0.1.0 - dev: true - - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - dependencies: - p-limit: 3.1.0 - dev: true - - /pako@1.0.11: - resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} - dev: true - - /parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - dev: true - - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true - - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true - - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: true - - /process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - dev: true - - /randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - dependencies: - safe-buffer: 5.2.1 - dev: true - - /range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - dev: true - - /readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 1.0.0 - process-nextick-args: 2.0.1 - safe-buffer: 5.1.2 - string_decoder: 1.1.1 - util-deprecate: 1.0.2 - dev: true - - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.1 - dev: true - - /require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - dev: true - - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /rollup-plugin-dts@6.1.0(rollup@4.12.1)(typescript@5.3.3): - resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} - engines: {node: '>=16'} - peerDependencies: - rollup: ^3.29.4 || ^4 - typescript: ^4.5 || ^5.0 - dependencies: - magic-string: 0.30.8 - rollup: 4.12.1 - typescript: 5.3.3 - optionalDependencies: - '@babel/code-frame': 7.23.5 - dev: true - - /rollup@4.12.1: - resolution: {integrity: sha512-ggqQKvx/PsB0FaWXhIvVkSWh7a/PCLQAsMjBc+nA2M8Rv2/HG0X6zvixAB7KyZBRtifBUhy5k8voQX/mRnABPg==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.12.1 - '@rollup/rollup-android-arm64': 4.12.1 - '@rollup/rollup-darwin-arm64': 4.12.1 - '@rollup/rollup-darwin-x64': 4.12.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.12.1 - '@rollup/rollup-linux-arm64-gnu': 4.12.1 - '@rollup/rollup-linux-arm64-musl': 4.12.1 - '@rollup/rollup-linux-riscv64-gnu': 4.12.1 - '@rollup/rollup-linux-x64-gnu': 4.12.1 - '@rollup/rollup-linux-x64-musl': 4.12.1 - '@rollup/rollup-win32-arm64-msvc': 4.12.1 - '@rollup/rollup-win32-ia32-msvc': 4.12.1 - '@rollup/rollup-win32-x64-msvc': 4.12.1 - fsevents: 2.3.3 - dev: true - - /safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - dev: true - - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: true - - /selenium-webdriver@4.18.1: - resolution: {integrity: sha512-uP4OJ5wR4+VjdTi5oi/k8oieV2fIhVdVuaOPrklKghgS59w7Zz3nGa5gcG73VcU9EBRv5IZEBRhPr7qFJAj5mQ==} - engines: {node: '>= 14.20.0'} - dependencies: - jszip: 3.10.1 - tmp: 0.2.3 - ws: 8.16.0 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: true - - /send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} - engines: {node: '>= 0.8.0'} - dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - dev: true - - /serialize-javascript@6.0.0: - resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} - dependencies: - randombytes: 2.1.0 - dev: true - - /serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} - engines: {node: '>= 0.8.0'} - dependencies: - encodeurl: 1.0.2 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.18.0 - transitivePeerDependencies: - - supports-color - dev: true - - /setimmediate@1.0.5: - resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} - dev: true - - /setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: true - - /statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - dev: true - - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - dev: true - - /string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - dependencies: - safe-buffer: 5.1.2 - dev: true - - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - dev: true - - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true - - /style-mod@4.1.2: - resolution: {integrity: sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==} - dev: false - - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - requiresBuild: true - dependencies: - has-flag: 3.0.0 - dev: true - optional: true - - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - dev: true - - /tmp@0.2.3: - resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} - engines: {node: '>=14.14'} - dev: true - - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - dev: true - - /toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - dev: true - - /typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} - engines: {node: '>=14.17'} - hasBin: true - dev: true - - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: true - - /w3c-keyname@2.2.8: - resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} - dev: false - - /workerpool@6.2.1: - resolution: {integrity: sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==} - dev: true - - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true - - /ws@8.16.0: - resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true - - /y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - dev: true - - /yargs-parser@20.2.4: - resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} - engines: {node: '>=10'} - dev: true - - /yargs-unparser@2.0.0: - resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} - engines: {node: '>=10'} - dependencies: - camelcase: 6.3.0 - decamelize: 4.0.0 - flat: 5.0.2 - is-plain-obj: 2.1.0 - dev: true - - /yargs@16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} - dependencies: - cliui: 7.0.4 - escalade: 3.1.2 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 20.2.4 - dev: true - - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true - - file:../lezer-surrealql: - resolution: {directory: ../lezer-surrealql, type: directory} - name: lezer-surrealql - dependencies: - '@lezer/highlight': 1.2.0 - '@lezer/lr': 1.4.0 - dev: false diff --git a/packages/codemirror-surrealql/src/surrealql.ts b/packages/codemirror-surrealql/src/surrealql.ts deleted file mode 100644 index 22a2d037..00000000 --- a/packages/codemirror-surrealql/src/surrealql.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { parser } from "lezer-surrealql"; -import { - continuedIndent, - indentNodeProp, - foldNodeProp, - foldInside, - LRLanguage, - LanguageSupport, -} from "@codemirror/language"; -import { parseMixed } from "@lezer/common"; -import { parser as jsParser } from "@lezer/javascript"; - -type Scope = "default" | "permission" | "combined-results"; - -export const surrealqlLanguage = LRLanguage.define({ - name: "surrealql", - parser: parser.configure({ - props: [ - indentNodeProp.add({ - Object: continuedIndent({ except: /^\s*}/ }), - Array: continuedIndent({ except: /^\s*]/ }), - }), - foldNodeProp.add({ - "Object Array CombinedResult": foldInside, - }), - ], - wrap: parseMixed((node) => { - return node.name === "JavaScriptContent" ? { parser: jsParser } : null; - }), - }), - languageData: { - closeBrackets: { brackets: ["[", "{", '"', "'", "("] }, - indentOnInput: /^\s*[\]}]$/, - commentTokens: { line: "--" }, - }, -}); - -const defaultLanguage = surrealqlLanguage.configure({ - top: "SurrealQL", -}); - -const permissionInputLanguage = surrealqlLanguage.configure({ - top: "PermissionInput", -}); - -const combinedResultsLanguage = surrealqlLanguage.configure({ - top: "CombinedResults", -}); - -/** - * The CodeMirror extension used to add support for the SurrealQL language - */ -export function surrealql(scope: Scope = "default") { - return new LanguageSupport( - scope === "permission" - ? permissionInputLanguage - : scope === "combined-results" - ? combinedResultsLanguage - : defaultLanguage, - ); -} diff --git a/packages/lezer-surrealql/.gitignore b/packages/lezer-surrealql/.gitignore deleted file mode 100644 index 0733a0df..00000000 --- a/packages/lezer-surrealql/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -/node_modules/ - -!/dist - -# Enable when moving to separate repo -#/src/parser.* -#/dist \ No newline at end of file diff --git a/packages/lezer-surrealql/dist/checksum b/packages/lezer-surrealql/dist/checksum deleted file mode 100644 index e086418e..00000000 --- a/packages/lezer-surrealql/dist/checksum +++ /dev/null @@ -1 +0,0 @@ -ccf047d67bfb21c36e135861c9ee0a750ea05c3911d5ee867ee096203a92e683f5e2e377a32b33be7624352e95651a9df14a0534d71e671630723c46c29694707ec5c08337fbb315e7eb7089e9b13932 \ No newline at end of file diff --git a/packages/lezer-surrealql/dist/index.cjs b/packages/lezer-surrealql/dist/index.cjs deleted file mode 100644 index 1e3e64ce..00000000 --- a/packages/lezer-surrealql/dist/index.cjs +++ /dev/null @@ -1,538 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, '__esModule', { value: true }); - -var lr = require('@lezer/lr'); -var highlight = require('@lezer/highlight'); - -// This file was generated by lezer-generator. You probably shouldn't edit it. -const objectOpen = 1, - analyzer = 2, - any = 3, - as = 4, - asc = 5, - assert = 6, - at = 7, - begin = 8, - bm25 = 9, - _break = 10, - by = 11, - cancel = 12, - capacity = 13, - changefeed = 14, - changes = 15, - columns = 16, - comment = 17, - commit = 18, - content = 19, - _continue = 20, - create = 21, - database = 22, - db = 23, - _default = 24, - define = 25, - _delete = 26, - desc = 27, - dimension = 28, - dist = 29, - doc_ids_cache = 30, - doc_ids_order = 31, - doc_lengths_cache = 32, - doc_lengths_order = 33, - drop = 34, - duplicate = 35, - efc = 36, - _else = 37, - end = 38, - exists = 39, - explain = 40, - extend_candidates = 41, - event = 42, - fetch = 43, - field = 44, - fields = 45, - filters = 46, - flexible = 47, - _for = 48, - from = 49, - group = 50, - highlights = 51, - hnsw = 52, - _if = 53, - ignore = 54, - _in = 55, - index = 56, - info = 57, - insert = 58, - into = 59, - keep_pruned_connections = 60, - key = 61, - kill = 62, - _let = 63, - limit = 64, - live = 65, - lm = 66, - m = 67, - m0 = 68, - merge = 69, - mtree = 70, - mtree_cache = 71, - namespace = 72, - noindex = 73, - normal = 74, - not = 75, - ns = 76, - on = 77, - only = 78, - option = 79, - order = 80, - out = 81, - parallel = 82, - param = 83, - passhash = 84, - password = 85, - patch = 86, - permissions = 87, - postings_cache = 88, - postings_order = 89, - readonly = 90, - rebuild = 91, - relate = 92, - relation = 93, - remove = 94, - _return = 95, - roles = 96, - root = 97, - sc = 98, - scope = 99, - schemafull = 100, - schemaless = 101, - search = 102, - select = 103, - session = 104, - set = 105, - show = 106, - since = 107, - signin = 108, - signup = 109, - sleep = 110, - split = 111, - start = 112, - structure = 113, - tb = 114, - table = 115, - terms_cache = 116, - terms_order = 117, - then = 118, - _throw = 119, - timeout = 120, - to = 121, - token = 122, - tokenizers = 123, - transaction = 124, - typeKeyword = 125, - unique = 126, - unset = 127, - update = 128, - use = 129, - user = 130, - valueKeyword = 131, - values = 132, - when = 133, - where = 134, - _with = 135, - after = 136, - before = 137, - diff = 138, - _false = 139, - full = 140, - none = 141, - _null = 142, - _true = 143, - f32 = 144, - f64 = 145, - i16 = 146, - i32 = 147, - i64 = 148, - selectPermissions = 149, - updatePermissions = 150, - createPermissions = 151, - deletePermissions = 152, - jwks = 153, - eddsa = 154, - es256 = 155, - es384 = 156, - es512 = 157, - ps256 = 158, - ps384 = 159, - ps512 = 160, - rs256 = 161, - rs384 = 162, - rs512 = 163, - and = 395, - or = 396, - is = 397, - opNot = 398, - opIn = 399, - contains = 400, - containsnot = 401, - containsall = 402, - containsany = 403, - containsnone = 404, - inside = 405, - notinside = 406, - allinside = 407, - anyinside = 408, - noneinside = 409, - outside = 410, - intersects = 411, - chebyshev = 164, - cosine = 165, - euclidean = 166, - hamming = 167, - jaccard = 168, - manhattan = 169, - minkowski = 170, - pearson = 171, - ascii = 172, - edgengram = 173, - ngram = 175, - snowball = 176, - uppercase = 177, - blank = 178, - camel = 179, - _class = 180, - punct = 181, - _function = 412, - rand = 182, - count = 183; - -const tokenMap = { - analyzer, - any, - as, - asc, - assert, - at, - begin, - bm25, - break: _break, - by, - cancel, - capacity, - changefeed, - changes, - columns, - comment, - commit, - content, - continue: _continue, - create, - database, - db, - default: _default, - define, - delete: _delete, - desc, - dimension, - dist, - doc_ids_cache, - doc_ids_order, - doc_lengths_cache, - doc_lengths_order, - drop, - duplicate, - efc, - else: _else, - end, - exists, - explain, - extend_candidates, - event, - fetch, - field, - fields, - filters, - flexible, - for: _for, - from, - group, - highlights, - hnsw, - if: _if, - ignore, - in: _in, - index, - info, - insert, - into, - keep_pruned_connections, - key, - kill, - let: _let, - limit, - live, - lm, - m, - m0, - merge, - mtree, - mtree_cache, - namespace, - noindex, - normal, - not, - ns, - on, - only, - option, - order, - out, - parallel, - param, - passhash, - password, - patch, - permissions, - postings_cache, - postings_order, - readonly, - rebuild, - relate, - relation, - remove, - return: _return, - roles, - root, - sc, - scope, - schemafull, - schemaless, - search, - select, - session, - set, - show, - since, - signin, - signup, - sleep, - split, - start, - structure, - tb, - table, - terms_cache, - terms_order, - then, - throw: _throw, - timeout, - to, - token, - tokenizers, - transaction, - type: typeKeyword, - unique, - unset, - update, - use, - user, - value: valueKeyword, - values, - when, - where, - with: _with, - - // Literals - after, - before, - diff, - false: _false, - full, - none, - null: _null, - true: _true, - - f32, - f64, - i16, - i32, - i64, - - jwks, - eddsa, - es256, - es384, - es512, - ps256, - ps384, - ps512, - rs256, - rs384, - rs512, - - and, - or, - is, - contains, - containsnot, - containsall, - containsany, - containsnone, - inside, - notinside, - allinside, - anyinside, - noneinside, - outside, - intersects, - - chebyshev, - cosine, - euclidean, - hamming, - jaccard, - manhattan, - minkowski, - pearson, - - ascii, - edgengram, - ngram, - snowball, - uppercase, - - blank, - camel, - class: _class, - punct, - - // Function names - function: _function, - rand, - count, -}; - -const tryMapped = new Map([ - ["select", [selectPermissions]], - ["create", [createPermissions]], - ["update", [updatePermissions]], - ["delete", [deletePermissions]], - ["not", [opNot]], - ["in", [opIn]], -]); - -const tokens = function(t, stack) { - for (const tk of tryMapped.get(t.toLowerCase()) ?? []) { - if (stack.canShift(tk)) return tk; - } - - return tokenMap[t.toLowerCase()] ?? -1; -}; - -function skipSpace(input, off) { - for (;;) { - let next = input.peek(off); - if (next === 32 || next === 9 || next === 10 || next === 13) { - off++; - } else if (next === 35 /* '#' */ || - (next === 47 /* '/' */ || next === 45 /* '-' */) && input.peek(off + 1) === next) { - off++; - for (;;) { - let next = input.peek(off); - if (next < 0 || next === 10 || next === 13) break; - off++; - } - } else { - return off; - } - } -} - -function isIdentifierChar(ch) { - return ch === 95 || ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch >= 48 && ch <= 57; -} - -function skipObjKey(input, off) { - let first = input.peek(off); - if (isIdentifierChar(first)) { - do { - off++; - } while (isIdentifierChar(input.peek(off))); - return off; - } else if (first === 38 /* "'" */ || first === 34 /* '"' */) { - for (let escaped = false;;) { - let next = input.peek(++off); - if (next < 0) return off; - if (next === first && !escaped) return off + 1; - escaped = next === 92; /* '\\' */ - } - } -} - -const objectToken = new lr.ExternalTokenizer((input, stack) => { - if (input.next === 123 /* '{' */) { - let off = skipSpace(input, 1); - - // Is this an empty object? - if (input.peek(off) === 125 /* '}' */) { - input.acceptToken(objectOpen, 1); - } else { - let key = skipObjKey(input, off); - if (key !== null) { - off = skipSpace(input, key); - if (input.peek(off) === 58 /* ':' */) { - input.acceptToken(objectOpen, 1); - } - } - } - } -}); - -const surqlHighlighting = highlight.styleTags({ - "Ident": highlight.tags.name, - "Keyword function": highlight.tags.keyword, - "String": highlight.tags.string, - "Int Float Decimal VersionNumber Duration": highlight.tags.number, - "Bool": highlight.tags.bool, - "Comment": highlight.tags.lineComment, - "KeyName": highlight.tags.propertyName, - "VariableName": highlight.tags.variableName, - "None": highlight.tags.null, - "FunctionName": highlight.tags.function(highlight.tags.name), - ", |": highlight.tags.separator, - "[ ]": highlight.tags.squareBracket, - "< >": highlight.tags.angleBracket, - "BraceOpen BraceClose": highlight.tags.brace, - "TypeName": highlight.tags.typeName, - "Distance Filter Tokenizer": highlight.tags.literal, - "Literal": highlight.tags.literal, - "RecordTbIdent RecordIdIdent": highlight.tags.className, - "Operator GraphLeft GraphRight GraphBoth": highlight.tags.operator, -}); - -// This file was generated by lezer-generator. You probably shouldn't edit it. -const parser = lr.LRParser.deserialize({ - version: 14, - states: "#7tO$qQROOO$xQQOOO%TQQOOO%YQQO'#G^O%nQQO'#G_O&SQQO'#G`O&hQQO'#GaOOQO'#Li'#LiO'`QSO'#GtO.PQRO'#GwOOQO'#Gy'#GyO.WQQO'#G}O.cQQO'#GxOOQO'#HV'#HVO.hQQO'#HUO.mQQO'#H[O.rQQO'#H[O2`QRO'#HbO2gQRO'#HcO2nQQO'#HdOOQO'#K^'#K^O3wQSO'#HhOOQO'#Lh'#LhO9_QSO'#L^O,YQRO'#HtO9rQQO'#HnO:cQSO'#LgO>{QSO'#HmOOQO'#Lg'#LgOCeQQO'#JSOD]QQO'#JUODbQQO'#JVODgQQO'#JWODlQQO'#JYODqQQO'#JZODvQQO'#J[OEUQQO'#J]OE^QQO'#J^OE}QQO'#J_OFUQRO'#JhOF`QRO'#JpOFgQQO'#JqOOQO'#Jr'#JrOOQO'#Js'#JsOFoQQO'#JtOYQRO'#JuO,YQRO'#JvO,YQRO'#JwOFtQQO'#JzOGhQQO'#J{OGoQRO'#J|OOQO'#L_'#L_OOQO'#L^'#L^OGvQQO'#L]OYQRO'#L]QOQQOOOYQRO'#KROOQO'#Ku'#KuQ%TQQOOOOQO,5fOHRQQO,5>gOH^QQO,5>oOHRQQO,5>rOEUQQO,5?_OHfQQO,5?`OHRQQO,5?aOHRQQO,5?eOHRQQO,5?kOHRQQO,5?mOHnQSO'#LjOOQO,5=c,5=cOJvQQO,5=cOOQO'#HR'#HROOQO'#HQ'#HQOJ{QQO'#HPOKQQQO'#LnOOQO'#HO'#HOOOQO,5=i,5=iOKYQQO,5=iOK_QXO,5=dOKvQRO'#HWOK}QQO,5=pOLSQRO'#H]OOQO,5=v,5=vOLZQ`O'#H`O.hQQO,5=vOL`QSO,5>UONcQQO,5=|OOQO,5=},5=}ONhQQO,5=}OOQO'#He'#HeONmQQO,5>OOOQO'#Lu'#LuOOQO-E>[-E>[OOQP'#Hl'#HlONxQRO'#HlO!!rQQO'#HlO!!wQQO'#HlO!!|QQO'#HlO,YQRO,5>VO!#RQSO,5>`OOQP'#Gb'#GbOOQO'#Hr'#HrOOQO,5>Y,5>YO!%aQRO,5>YO!%hQQO'#HuO!%sQRO'#HxOOQO'#L|'#L|OOQO'#K_'#K_O!%}QSO,5>XO!*gQQO,5?nO!*gQQO,5?nO!*gQQO,5?nO!*gQQO,5?nO!*rQQO,5?nO!*zQQO,5?nO!+SQQO,5?pOOQO,5?q,5?qO!+qQRO,5?rO!,OQQO,5?tO!,TQQO'#HhOOQO,5?u,5?uOEUQQO'#MZOEUQQO'#M[O!,bQQO,5?vOOQO,5?v,5?vO!,yQQO,5?wO!*gQQO,5?xO!.`QQO'#GbOOQO'#M]'#M]O!.gQQO,5?yOEcQQO,5?yO!/[QSO'#I|OOQO'#Hw'#HwOOQO'#MX'#MXO!/iQQO'#MWO,YQRO,5@SO!/qQQO,5@SOOQO,5@[,5@[O!/vQQO,5@[OYQRO,5@[OEUQQO,5@]O!0eQQO,5@]O!0jQQO,5@`OOQO,5@a,5@aO!0oQSO,5@bO!1SQSO'#JyOOQO,5@c,5@cO!1^QQO,5@fOOQO'#Me'#MeO!1cQQO,5@gOFyQQO,5@gOOQO,5@h,5@hO!1hQQO,5@hOYQRO,5@hO!5}QRO,5@pO!6XQQO,5AwOOQP-E>S-E>SOOQO@'iOOOQO-E>s-E>sO!6dQQO1G2gO!7RQQO1G2sO!7WQQO1G4QO!7]QQO'#H|O!7RQQO1G4ROEUQQO1G4RO!7bQQO1G4ZO!7gQQO1G4ZO!7RQQO1G4^OEUQQO1G4^O!7lQQO1G4yO!8QQQO1G4zO!8VQQO1G4zO!8[QQO1G4{OEUQQO1G4{O!9eQQO1G5POEUQQO1G5PO!9xQQO1G5VOEUQQO1G5VO!9}QQO1G5XOEUQQO1G5XO,YQRO'#KYO!:SQQO,5BUOOQO1G2}1G2}O,YQRO,5=kO!QO2nQQO'#K]O!GkQQO,5>RO!I}QRO1G3jOOQP,5>W,5>WO!KkQQO,5>WO!KpQQO,5>WOOQO1G3q1G3qO!KuQSO'#HsO!LVQQO'#HsO!LeQQO'#MOO!LmQQO1G3tO!LrQSO'#GbOOQO,5>a,5>aO.hQQO,5>aO#!lQSO,5>dO,YQRO'#HyO#!sQQO,5>dOOQO-E>]-E>]O#!xQQO'#JTOOQO1G5Y1G5YOEUQQO1G5YO#!}QQO1G5YOEUQQO1G5YO##SQQO1G5YOEUQQO1G5YO##XQQO1G5YOEUQQO1G5YO##^QQO1G5YO##cQQO1G5YO##hQQO1G5[OEUQQO1G5[O##|QQO1G5^O,YQRO1G5^O#$RQQO1G5`OOQO,5Bu,5BuOOQO,5Bv,5BvOOQO1G5b1G5bO#$WQQO1G5cO!7RQQO1G5dOEUQQO1G5dO#$`QRO'#J`OEUQQO'#JaOEUQQO'#JdOOQO'#M^'#M^O#$eQQO1G5eO!.gQQO1G5eOEUQQO,5?hOFXQRO'#KnO#%PQQO,5BrO#%XQQO1G5nO#%^QRO1G5nO#%eQRO'#JeODqQQO'#JfOOQO'#Jg'#JgOOQO1G5v1G5vO#%rQQO1G5vO#&WQQO1G5vO#&_QQO1G5vO#&iQQO1G5vO#&vQRO1G5wOEUQQO1G5wO#'RQQO1G5zO#'XQQO,5@dO#'aQQO,5@eO,YQRO1G6QOFyQQO1G6RO#'uQQO1G6RO#$`QRO'#J}O#'zQQO'#KOOOQO'#Mf'#MfOOQO'#Mg'#MgO#(PQQO'#MgO#(eQQO'#MgO#(lQQO'#MgOOQO1G6S1G6SO#(vQQO1G6SO!1hQQO1G6SO#)eQRO1G7cP#)oQQO'#KUOOQO1G6X1G6XO#)tQQO'#GcO#*SQQO'#GeO#*hQQO'#GhO#*mQQO'#GkOOQO'#KV'#KVO#*rQQO7+(RO#+aQQO'#GnO#+lQQO7+(_OEUQQO7+)lO#+zQQO,5>hO#,kQQO7+)mO!7RQQO7+)mO#-OQQO'#IUO#-WQQO7+)uO!7bQQO7+)uO#-]QQO7+)xO!7RQQO7+)xOOQO7+*e7+*eO,YQRO7+*fO#-eQQO7+*fODqQQO'#IvO#'XQQO'#IwO#'XQQO'#IxOOQO'#Kk'#KkO#-jQQO7+*gO#-jQQO7+*gO#.XQQO'#IzO#.jQQO'#ISO#.uQQO'#I{ODqQQO'#JOOOQO'#Kl'#KlO#.zQQO7+*kO#.zQQO7+*kO#/_QQO7+*qO#/jQQO7+*qO#/oQQO7+*sO#/zQQO7+*sO#0PQSO,5@tOOQO-E>W-E>WO#2XQSO1G3VOOQO,5@u,5@uOOQO-E>X-E>XOOQO,5=n,5=nO!Z-E>ZOOQO7+)U7+)UOOQP1G3r1G3rO#8`QQO1G3rOEUQQO,5>_O#8}QQO,5>_O!%aQRO'#K`O#9YQQO,5BjOOQO7+)`7+)`OOQO1G3{1G3{OOQO1G4O1G4OO#9bQSO,5>eOOQO,5?o,5?oOOQO7+*t7+*tO#9iQQO7+*tO#9tQQO7+*tO#9yQQO7+*tO#:UQQO7+*tO#:ZQQO7+*tO#:fQQO7+*tOOQO7+*v7+*vO#:kQQO7+*vOErQQO7+*xO#;PQQO7+*xOEUQQO7+*zOOQO7+*}7+*}OOQO7++O7++OO!7RQQO7++OO!AtQQO1G3OOOQO,5?z,5?zO#;UQ`O'#JbO#;ZQQO'#M_OOQO,5?{,5?{OOQO,5@O,5@OOOQO7++P7++PO#;{QQO7++PO#l-E>lO#cQQO7++bO#>jQQO7++bOOQO7++c7++cO#$`QRO7++cOEUQQO7++cO#>tQRO7++cOYQRO'#HbO#-WQQO7++fO#?PQQO1G6OO#?XQQO1G6PO#?aQQO1G6PO#?uQSO7++lO#@YQQO7++mOFyQQO7++mOOQO,5@i,5@iOOQO,5@j,5@jOOQO,5CR,5CRO#@_QQO,5CRO#@sQQO,5CROOQO7++n7++nO#(vQQO7++nPOQP,5@p,5@pOOQO'#Gd'#GdO#@zQQO'#LbOOQO,5<},5<}OOQO'#Gf'#GfO#AlQQO'#GfO#AqQQO'#GfO#AvQQO'#LdOOQO,5=P,5=POOQO,5=S,5=SOOQO,5=V,5=VOOQO-E>T-E>TOOQO,5=Y,5=YOEUQQO,5=YO#BhQQO'#MROOQO'#Go'#GoO#'XQQO'#GoO,YQRO'#GoO#CPQQO<p,5>pO#DhQQO,5>pO#DmQQO<i-E>iO#E}QQO<nOOQO,5>n,5>nOFXQRO,5?gOOQO,5?j,5?jOOQO-E>j-E>jO#IcQQO<Y-E>YOOQO1G3`1G3`OOQO<^-E>^OOQO<r-E>rOFyQQO<= XO$+YQQO<= XOOQO1G8m1G8mO$+_QQO1G8mOOQO<= Y<= YO#)tQQO'#KWO$+sQQO,5A|O$,eQQO,5=QOEUQQO,5=QO#*SQQO'#KXO$,jQQO,5BOOOQO1G2t1G2tO#'XQQO'#KaO$-[QQO,5BmOOQO,5=Z,5=ZO$-sQSO,5=ZOOQOANAeANAeOOQOANBrANBrO$.QQQO,5>iO2nQQO,5>iO$/RQSO,5>jO$0OQSO,5>lO$0{QSO,5>mOOQO-E>`-E>`O$1xQQOANBsO2nQQO,5BoOOQO1G4[1G4[O$2]QQO'#IVOOQO'#IV'#IVOOQO'#Kf'#KfO$2bQQOANB{O$2bQQOANB{OOQO,5>s,5>sOOQO'#IY'#IYO$3PQQO'#IZO$3UQQO'#IeO$3UQQO'#IkOOQOANCOANCOO#E[QQOANCOO$3ZQSOANClOEUQQO1G5QOEUQQO1G5QO$3nQQO'#MSO$3|QQO,5@}OOQO-E>a-E>aO$4XQQO1G5RO$4^QQO'#JQO$5XQQOANCwO2nQQOANCwOEUQQOANCwO$5^QQOANCyO$5cQQOANCyOOQO7+(t7+(tO!n-E>nOOQOANDVANDVO$7uQQOANDVO$&{QQOAND`OOQOAND`AND`O#q-E>qOOQO<= U<= UO!1VQSO1G6zOOQO<= V<= VP$?oQQO'#KtO$@VQQOANDsOFyQQOANDsOOQO7+.X7+.XOOQO,5@r,5@rOOQO-E>U-E>UO$@jQQO1G2lO$@oQQO1G2lOOQO,5@s,5@sOOQO-E>V-E>VOOQO,5@{,5@{OOQO-E>_-E>_OOQO1G2u1G2uO#'XQQO1G2uO$@tQQO1G4TO$AuQQO1G8ZOOQO,5>q,5>qOOQO-E>d-E>dO$BTQQOG28gOEUQQO,5>uO$BrQQO'#IfO$C]QQO,5?PO$D_QQO,5?VOOQOG28jG28jO$DrQQO'#MVOOQO7+*l7+*lO$EvQQO7+*lO$FwQQO'#KdO$GVQQO,5BnOOQO1G6i1G6iO,YQRO7+*mOOQO,5?l,5?lO$GeQQOG29cO$GjQQOG29cO2nQQOG29cO$GoQQOG29eO$GtQQOG29eOOQO<m-E>mOOQO,5?s,5?sOOQOG29jG29jO$GyQQOG29jOOQOG29lG29lO$H_QQOG29lOOQOG29qG29qO$o-E>oOOQO,5AR,5AROOQO-E>e-E>eO$LOQQOG2:TOOQOG2:TG2:TO$LTQQOG2:TO$LYQSO1G6yOOQOANDpANDpO$LaQQOANDpP$LfQQO'#KsOOQO7+,f7+,fOOQOG2:_G2:_O$LkQQOG2:_O$MPQQOG2:_O$MWQQOG2:_O$MbQQOG2:_O$MrQQO7+(WOOQO7+(W7+(WOOQO7+(a7+(aO$MwQQO'#KeO$M|QQO7+-uO$NvQQO1G4aOOQO,5?Q,5?QO% ZQQO'#IhO% rQQO'#I]O% wQQO'#IaO% |QQO'#IgO%!XQQO'#IiO%!^QQO'#IjOOQO'#Ki'#KiO%!cQQO1G4kO%!vQQO'#IlO%#bQQO'#ImO%#gQQO'#InO%#lQQO'#IoO%#qQQO'#IpOOQO'#Iq'#IqOOQO'#Ir'#IrOOQO'#Kj'#KjO%#vQQO1G4qOEUQQO'#KmO%$ZQQO,5BqOEUQQO<b-E>bO%%_QQO<c-E>cO%)bQQO'#I[O%*fQQO'#I^O%*kQQO'#I_O%*pQQO'#I`O%*uQQO'#IbO%*zQQO'#IcO%+PQQO'#IdOOQO'#Kh'#KhO%+UQQO7+){OOQO,5?S,5?SOOQO,5>w,5>wOOQO,5>{,5>{OOQO,5?R,5?ROOQO,5?T,5?TOOQO,5?U,5?UOOQO-E>g-E>gOOQO,5?W,5?WO$ lQQO,5?WOOQO,5?X,5?XOOQO,5?Y,5?YOOQO,5?Z,5?ZOOQO,5?[,5?[OOQO-E>h-E>hOOQO,5AX,5AXOOQO-E>k-E>kOOQOANCrANCrOOQOANCsANCsO%+iQQOANCsOOQO!$($i!$($iO%,gQQO!$($iOOQO!$($k!$($kOEUQQO!$($kOOQO!$($r!$($rOOQO!$(%Q!$(%QOOQO7++]7++]OOQO1G8h1G8hO%,lQQO1G8hO%-QQQO,5COO%-VQQO!$(%ZO%-[QQO!$(%ZOOQO<=!P<=!POOQO!$(%e!$(%eO%-aQQO!$(%eO%-uQQO!$(%eOOQOANA^ANA^O2nQQO1G6kO%-|QQO,5>vOOQO,5>x,5>xOOQO,5>y,5>yOOQO,5>z,5>zOOQO,5>|,5>|OOQO,5>},5>}OOQO,5?O,5?OOOQO-E>f-E>fOOQO1G4r1G4rOOQOG29_G29_OOQO!)9HT!)9HTOOQO!)9HV!)9HVOOQO7+.S7+.SO%.RQQO1G8jO%.ZQQO!)9HuO%.`QQO!)9HuOOQO!)9IP!)9IPO%.eQQO!)9IPO%.yQQO7+,VO%/XQQO1G4bO%/^QQO'#KrO%/cQQO7+.UO%/kQQO!.K>aO%/pQQO!.K>aOOQO!.K>k!.K>kO%/uQQO7+)|O,YQRO,5A^OOQO-E>p-E>pOEUQQO!4/3{O%/zQQO!4/3{O%0PQQO<s1{@}@}@}AcP1{BtCxBtDaPPPEjEqEwEeFzF}EeGW+]+]GZGsGsGsGsGsGy+]HV1]+]H]HcHcHiHmHiHiHiHmHiHiHiHcHuH{IPIPH{HcITITITITITITIT+]+]+]IXIXIX+]I_I_IeIqI_+]I|+]+]JV+]+]+]Jl+]+]+]+]+]+]J{J{KZPKdKlLaMp+]! k! p! |!!U!!b!!m!!x+]+]+]+]+]+]+]+]!#Z!#Z+]+]+]KhKhPP!#^P!#b!#e!#l!#r!#x!$O!$U!$[!$f!$t!&T!&[!&b!&h!&r!&x!'O!'U!'`!'f!'l!'r!'x!(S!(^!(d!(j!(p!(v!(|!)S!)Y!)`PPPPPPPPPPPPPPPPPPPPP!)f!)l!)}PP!*qP!*tPP!*w!,w!.O!/ZP!0WP!0lPP!0oPPP!0uPPPPPP!1mP!1rPP!1u!2R!2U!2X!2z!3T!3^!3f!3l!3o!3u!3{!4R!4_!4h!4q!4z!5Q!5W!5j!5pq!TOabx}!S!W!Y!z$W$f&o)f)i)t,UQ#aiQ#xtS#{v#}[$a!R$c'O){,o/SQ$l!aQ$m!bQ$n!cQ$p!dQ$t!fQ$v!gQ$y!iQ${!jQ$}!kQ%P!lQ%w#cQ&O#hQ&Q#iQ&S#jQ&U#kQ&_#tQ&`#uQ&c#yQ&x$XQ'j$qQ'o$uQ'x$zQ(P$|Q(R%OQ(T%QQ(x&PQ(z&RQ(|&TQ)O&VQ)Q&ZQ)W&dY)Z&f&g+}3y4OQ)c&kQ)s&yQ*a'eQ*h'gQ+m(oQ+q(}S+w)R+yQ+z)Tf,b)r*x,f.P.`.e.f0Y0[1o2|Q,z*bQ-q+^Q-z+nS-{+t+uQ.a,WQ/X,wU/j-i-j1hQ/t-rQ/y-|Q/z-}Q0V.bQ0m.tQ1R/eR2t1fT'c$l'dQ*V'_R/U,tQ*['`R/Y,xQ!eUQ#lmT'a$l'dS'c$l'dQ'p$vW'v$y'w'x+RW'}${(O(P+[W*p'i*q*r-XQ-P*gQ-Q*hX-^*v-_-`/dQ'f$mQ'i$pQ'n$tQ)V&cQ*r'jQ*z'oR+{)WR*g'f#VfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3w#UfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3w[$a!R$c'O){,o/S`%Z!w%[([(]+c+d-v4SQ)u&zR)}'R#UfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wS#{v#}[$a!R$c'O){,o/SS+w)R+yR/z-}#U[OXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wg4Tv!R#}$c'O)R){+y,o-}/Sa%Z!w%[([(]+c+d-v4S#UfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3w`%Z!w%[([(]+c+d-v4SQ)Y&eQ)p&xQ)|'QS,`)q,eQ,d)sR0k.qR!vZQ!sZR(X%VT!rZ%VT!qZ%VT%^!w4S#V^OXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wQ!y^Q!{`Q%f!}R(t%xR%b!yR(d%a#UfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wS#{v#}]$a!R$c'O){,o/SR!{_R!}`#UfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wQ)u&zQ)v&{W*c'f*e-O/_Q+O'tQ+P'uQ.z,hQ/[,{Q0t.{R3V2S#UfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wQ&|$^Q)u&zQ)v&{W*c'f*e-O/_Q*v'lQ+O'tQ+P'uQ,g)uQ,l)wQ-`*wQ.z,hQ/P,mQ/[,{Q0t.{Q0v/OR3V2Su#Uc${%j%k(O(P*j+[+]-S-Y-q/g/h/t1[1e3[#UfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wQ#srQ)k&qQ*}'sR+Y'|#TlOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3w{#]g!m#^$O$]$^%r%y(U(W(v)y*{-O-T-U-V-h.V/O0r#SkOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wV#ejk#gQ#aiT%s#b(qQ%t#bR+o(qS!XOPQ%{#dQ&v$VW'W$e'Y'Z*SS(p%r%sQ)o&wU,Y)h,T.^W-]*v-_-`/dQ.R+xQ.d,ZQ/o-lQ0O.SR2x1kR%x#cW$Qw#p&l+XR%w#cR%{#dQ$q!dQ$s!eQ$u!fQ$x!hQ$z!iQ$|!jQ%O!kR%Q!lX*p'i*q*r-XW'}${(O(P+[X*p'i*q*r-XQ'l$rR*w'mQ*y'nR-g*zQ-f*yR/i-gT2d1R2eS1Z/g1[T2d1R2eQ/g-dR/h-eT1Z/g1[S1Z/g1[T1d/h1eX'v$y'w'x+RX'}${(O(P+[W$Qw#p&l+XQ&n$SR)S&]U.m,[.[0TQ2w1kR3f2xQ-p+]Q/s-qR1n/tQ&P#hQ&R#iQ&T#jQ&V#kQ&W#lQ&X#mR&d#yQ.Q+xS/}.R.SU0h.n0S1tR1q0OS&h#|&jS'S$e'ZQ0z/RR2X0{W)[&f&g3y4OR.W+}S&h#|&jT'S$e'ZQ&u$VW'V$e'Y'Z*SQ)a&iS)n&v&wQ*Q'WQ,R)bQ,_)oQ0y/RS2W0z0{R3Y2XQ&t$VW'U$e'Y'Z*SQ)`&iU)m&u&v&wS*P'V'WS,Q)a)bS,^)n)oQ,r*QQ.Z,RQ.p,_U0g.n0S1tQ0x/RQ2O0hU2V0y0z0{S3X2W2XR3n3YQ&s$VW'T$e'Y'Z*SQ)_&iW)l&t&u&v&wU*O'U'V'WU,P)`)a)bU,])m)n)oS,q*P*QS.Y,Q,RS.o,^,_Q/T,rQ0R.ZU0f.n0S1tQ0j.pQ0w/RS1}0g0hW2U0x0y0z0{Q3R2OU3W2V2W2XS3m3X3YR3u3nV,Z)h,T.^U,X)h,T.^S.c,Y,ZR0W.dU.l,[.[0TR0c.mU.k,[.[0TS0b.l.mR1z0c[.i,[.[.l.m0T0cR0a.j[.j,[.[.l.m0T0cR0a.iU0e.n0S1tU1|0f0g0hS3Q1}2OR3i3RR$_!PT!ZQ![R'^$jS!WObR$i!WQ'd$lR*`'dQ,u*VR/V,uQ,y*[R/Z,yQ%S!mR(V%SQ%W!sR(Y%WQ(c%aQ+f(aT+g(c+fb%l#T'y(h-R-o/`/a1T3oR(k%l#UeOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wS#Ve#rX#rr&q's'|S#gjkR%|#gQ(r%tR+p(rQ,|*cR/],|Q*q'iS-W*q-XR-X*rQ+V'zR-m+VQ/n-kR1j/nQ1Q/aR2[1QQ-_*vS/c-_/dR/d-`Q.u,bR0n.uQ2e1RR3d2eQ1[/gR2l1[Q1e/hR2s1eQ'w$yS+Q'w+RR+R'xQ(O${S+Z(O+[R+[(PQ1g/jR2u1gQ&m$RR)e&mQ.O+wR/{.OQ,O)[R.X,OQ.r,`R0l.rQ3r3jR3x3rQ,i)vR.|,iQ)x&|R,n)xQ![QR$k![Q!XOR#RbS!VObS#Pa)tQ$[}Q$h!WR$j!Y^!UOab}!W!Y)tQ$UxQ$d!SQ%d!zQ&s$WQ'X$fQ)g&oS,S)f)iR.],UR*W'_R*]'`^gOab}!W!Y)tn!mXx!S!x!z$W$f&o&p)f)i,U/p2P3wQ#^h[$Ow#p$S&]&l+XQ$]!OQ$^!PQ%q#]S%r#b(qQ%y#dQ(U%RQ(W%UQ(v%zQ)y&}Q*{'qQ-O*fQ-T*lQ-U*nQ-V*oQ-h*|Q.V+|Q/O,kR0r.y#SjOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wR(l%m#UfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wQ-y+lR3e2nQ!oXQ$VxQ$e!SQ%`!xQ%d!zQ&w$WQ'Z$fQ)h&oQ)j&pS,T)f)iQ.^,UQ1k/pQ3S2PR3|3wQ%]!wQ(Z%[Q)X4SS+b([(]S-u+c+dR/w-vR!tZX(b%a(a(c+fQ#TcW'y${(O(P+[Q(h%jQ(j%kQ-R*jU-o+]-q/tQ/`-SQ/a-YW1T/g/h1[1eR3o3[V#fjk#gR%u#bQ*d'fQ,}*eQ/^-OR1O/_R-l+UR*u'kQ,c)rQ-a*xQ.x,fQ/|.PQ0U.`Q0X.eQ0Z.fQ1u0YQ1w0[Q2{1oR3h2|Q/k-iQ/l-jR2v1hQ$TwQ&[#pR-n+XU$Rw#p+XR)d&lQ+x)RR.S+yR#vsQ#wsR&a#vQ#|vR&j#}Q&i#|R)b&jQ)]&fQ)^&gQ3}3yR4R4OQ,[)hQ.[,TR0T.^Q.n,[Q0S.[R1t0TQ0i.nQ1s0SR3O1tQ,a)qR.w,eQ2Q0oR3U2RQ$b!RQ'P$cQ)z'OQ,p){Q/R,oR0{/SQ'Y$eR*S'ZQ'X$eS*R'Y'ZR,s*S", - nodeNames: "⚠ BraceOpen Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Literal Literal Literal Bool Literal None None Bool Literal Literal Literal Literal Literal PermissionTarget PermissionTarget PermissionTarget PermissionTarget TokenType TokenType TokenType TokenType TokenType TokenType TokenType TokenType TokenType TokenType TokenType Distance Distance Distance Distance Distance Distance Distance Distance Filter Filter Filter Filter Filter Filter Tokenizer Tokenizer Tokenizer Tokenizer FunctionName FunctionName Comment SurrealQL BeginStatement CancelStatement CommitStatement DefineAnalyzerStatement Ident TokenizersClause AnalyzerTokenizers FiltersClause AnalyzerFilters Int FunctionClause Keyword FunctionName CommentClause String DefineEventStatement OnTableClause WhenThenClause String Float Decimal VariableName Ident ] [ Array RecordId RecordTbIdent Colon RecordIdIdent BraceClose Object ObjectContent ObjectProperty ObjectKey KeyName RecordIdRange > FunctionJs FunctionName ArgumentList BraceOpen JavaScriptBlock JavaScriptContent FunctionCall ArgumentListCount FunctionName < Version VersionNumber SubQuery Block TypeCast TypeName ParameterizedType UnionType Duration DurationPart Point BinaryExpression Operator Path GraphPath GraphLeft GraphRight GraphBoth Any GraphPredicate WhereClause Subscript FunctionName Any Filter WhereClause DefineDatabaseStatement DefineFieldStatement IfNotExistsClause TypeClause DefaultClause ReadonlyClause ValueClause AssertClause PermissionsForClause DefineFunctionStatement ParamList PermissionsBasicClause DefineIndexStatement FieldsColumnsClause UniqueClause SearchAnalyzerClause Bm25Clause DocIdsOrderClause DocLenghtsOrderClause PostingsOrderClause TermsOrderClause DocIdsCacheClause DocLenghtsCacheClause PostingsCacheClause TermsCacheClause MtreeClause IndexDimensionClause MtreeDistClause IndexTypeClause IndexCapacityClause MtreeCacheClause HnswClause HnswDistClause IndexLmClause IndexM0Clause IndexMClause IndexEfcClause IndexExtendCandidatesClause IndexKeepPrunedConnectionsClause DefineNamespaceStatement DefineParamStatement DefineScopeStatement SessionClause SigninClause SignupClause DefineTableStatement TableTypeClause TableViewClause Predicate GroupClause ChangefeedClause DefineTokenStatement TokenTypeClause DefineUserStatement RemoveStatement IfExistsClause InfoForStatement KillStatement LiveSelectStatement FetchClause ShowStatement SleepStatement UseStatement OptionStatement RebuildStatement CreateStatement ContentClause SetClause FieldAssignment Operator UnsetClause ReturnClause TimeoutClause ParallelClause SelectStatement WithClause SplitClause OrderClause LimitStartComboClause StartClause LimitClause ExplainClause DeleteStatement InsertStatement BreakStatement ContinueStatement ForStatement ReturnStatement ThrowStatement IfElseStatement Legacy Modern LetStatement RelateStatement UpdateStatement MergeClause PatchClause PermissionInput CombinedResults CombinedResult Comment CommentResultClose", - maxTerm: 472, - nodeProps: [ - ["group", -23,139,141,142,143,195,200,204,205,206,207,208,211,212,217,224,230,236,237,238,242,244,245,247,"Value",-37,186,187,188,189,201,260,261,269,272,299,300,301,305,311,313,314,316,317,318,320,321,322,323,324,325,334,342,343,344,345,346,347,348,349,352,353,354,"Statement"], - ["openedBy", 209,"[",216,"BraceOpen",223,"<"], - ["closedBy", 210,"]",227,"BraceClose",233,">",360,"CommentResultClose"] - ], - propSources: [surqlHighlighting], - skippedNodes: [0,184], - repeatNodeCount: 32, - tokenData: "#4[!aR!kOX%vXY&sYZ'gZ]%v]^&s^p%vpq&sqr'nrs)]st*{tu,juv%vvw.zwx/oxy1Wyz1zz{2n{|3s|}5c}!O6V!O!P!!|!P!Q!$j!Q![!%d![!]!?V!]!^!?y!^!_!@m!_!`!C}!`!a!Dy!a!b!Es!b!c!Fy!c!}!Gs!}#O!LW#O#P%v#P#Q!Lz#Q#R%v#R#S!Gs#S#T!Mn#T#W!Gs#W#X##s#X#Y!Gs#Y#Z#(^#Z#f!Gs#f#g##s#g#h##s#h#i!Gs#i#j##s#j#o!Gs#o#p#.Z#p#q#.b#q#r#0O#r#s(i#s%o%v%o%p(i%p&a%v&a&b(i&b%&b%v%&b%&c(i%&c%&d(i%&d%&e%v%&e%&f(i%&f%&g(i%&g%)Q%v%)Q%)R(i%)R%)S(i%)S%)T(i%)T%)U(i%)U%)V(i%)V%)W(i%)W%GS%v%GS%GT#0V%GT;'S%v;'S;=`&m<%lO%v!Q%{X*f!QOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!Q&mO*f!Q!Q&pP;=`<%l%v!a&zX*f!Q*O_OY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!a'nO*f!Q*O_!W's[*f!QOY%vYZ&hZr%vsw%vx!_%v!_!`(i!`#o%v#p#q%v#r#s(i#s;'S%v;'S;=`&m<%lO%v!W(pX*f!Q*kUOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!R)`VOr)]rs)us#O)]#O#P)|#P;'S)];'S;=`*u<%lO)]!R)|O%`P*f!Q!R*PRO;'S)];'S;=`*Y;=`O)]!R*]WOr)]rs)us#O)]#O#P)|#P;'S)];'S;=`*u;=`<%l)]<%lO)]!R*xP;=`<%l)]!a+S]*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{_,QS%O_OY+{Z;'S+{;'S;=`,^<%lO+{_,aP;=`<%l+{!a,gP;=`<%l*{!R,o`*f!QOY%vYZ&hZr%vsw%vx!Q%v!Q![-q![!c%v!c!}-q!}#R%v#R#S-q#S#T%v#T#o-q#p#q%v#r;'S%v;'S;=`&m<%lO%v!R-x`%gP*f!QOY%vYZ&hZr%vsw%vx!Q%v!Q![-q![!c%v!c!}-q!}#R%v#R#S-q#S#T%v#T#o-q#p#q%v#r;'S%v;'S;=`&m<%lO%v!W/PY*f!QOY%vYZ&hZr%vsv%vvw(ix#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!R/rVOw/owx)ux#O/o#O#P0X#P;'S/o;'S;=`1Q<%lO/o!R0[RO;'S/o;'S;=`0e;=`O/o!R0hWOw/owx)ux#O/o#O#P0X#P;'S/o;'S;=`1Q;=`<%l/o<%lO/o!R1TP;=`<%l/o!X1_X*XV*f!QOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!X2RX*YV*f!QOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!X2w^*tP*f!Q*kUOY%vYZ&hZr%vsw%vxz%vz{(i{!_%v!_!`(i!`#o%v#p#q%v#r#s(i#s;'S%v;'S;=`&m<%lO%v!`3zZ*f!Q*kUOY%vYZ&hZr%vsw%vx!_%v!_!`4m!`#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!`4vX(VW*f!Q*kUOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!X5jX*VV*f!QOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!a6^`*f!Q*lUOY%vYZ&hZr%vsw%vx}%v}!O7`!O!Q%v!Q![Fm![!_%v!_!`4m!`!a!!Y!a#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!a7g_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x}*{}!O8f!O#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!a8m_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x}*{}!O9l!O#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!a9s_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x}*{}!O:r!O#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!a:y_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x}*{}!O;x!O#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!aU!O#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!a>]_*f!Q%O_OY*{YZ&hZp*{pq?[qr*{rs+{sw*{wx+{x#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!a?c_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x!s*{!s!t@b!t#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!a@i_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x#i*{#i#jAh#j#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!aAo_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x#X*{#X#YBn#Y#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!aBu_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x#f*{#f#gCt#g#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!aC{_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x#m*{#m#nDz#n#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!aET]*f!Q(vV%O_OYDzYZ&hZrDzrsE|swDzwxE|x#oDz#o#pE|#p#qDz#q#rE|#r;'SDz;'S;=`Fg<%lODz_FTS(vV%O_OYE|Z;'SE|;'S;=`Fa<%lOE|_FdP;=`<%lE|!aFjP;=`<%lDz!VFtb*f!Q%ZTOY%vYZ&hZr%vsw%vx!O%v!O!PG|!P!Q%v!Q![Fm![!g%v!g!hJQ!h#W%v#W#XMS#X#YJQ#Y#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!RHRZ*f!QOY%vYZ&hZr%vsw%vx!Q%v!Q![Ht![#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!RH{a*f!Q%ePOY%vYZ&hZr%vsw%vx!Q%v!Q![Ht![!g%v!g!hJQ!h#W%v#W#XMS#X#YJQ#Y#Z! f#Z#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!RJV_*f!QOY%vYZ&hZr%vsw%vx{%v{|KU|}%v}!OKU!O!Q%v!Q![K|![#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!RKZZ*f!QOY%vYZ&hZr%vsw%vx!Q%v!Q![K|![#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!RLT_*f!Q%ePOY%vYZ&hZr%vsw%vx!Q%v!Q![K|![#W%v#W#XMS#X#Y%v#Y#Z! f#Z#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!RMXZ*f!QOY%vYZ&hZr%vsw%vx#X%v#X#YMz#Y#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!RNPZ*f!QOY%vYZ&hZr%vsw%vx#V%v#V#WNr#W#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!RNyX*f!Q%fPOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!R! mX*f!Q%ePOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!X!!aX&dV*f!QOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!X!#TZ*sU*f!QOY%vYZ&hZr%vsw%vx!O%v!O!P!#v!P#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!X!#}X*cV*f!QOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!a!$qZ*f!Q*kUOY%vYZ&hZr%vsw%vx!P%v!P!Q*{!Q#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!a!%mx&TW*f!Q%ZTOY%vYZ&hZp%vpq!(Zqr%vsw%vx!O%v!O!P!,l!P!Q%v!Q![!%d![!c%v!c!g!0j!g!h!1s!h!}!0j!}#R%v#R#S!0j#S#T%v#T#W!0j#W#X!9w#X#Y!1s#Y#[!0j#[#]!;Y#]#a!0j#a#b! (tokens(value, stack) << 1) | 1, external: tokens, extend: true}], - tokenPrec: 9170 -}); - -exports.parser = parser; diff --git a/packages/lezer-surrealql/dist/index.js b/packages/lezer-surrealql/dist/index.js deleted file mode 100644 index 0185a1cf..00000000 --- a/packages/lezer-surrealql/dist/index.js +++ /dev/null @@ -1,534 +0,0 @@ -import { ExternalTokenizer, LRParser } from '@lezer/lr'; -import { styleTags, tags } from '@lezer/highlight'; - -// This file was generated by lezer-generator. You probably shouldn't edit it. -const objectOpen = 1, - analyzer = 2, - any = 3, - as = 4, - asc = 5, - assert = 6, - at = 7, - begin = 8, - bm25 = 9, - _break = 10, - by = 11, - cancel = 12, - capacity = 13, - changefeed = 14, - changes = 15, - columns = 16, - comment = 17, - commit = 18, - content = 19, - _continue = 20, - create = 21, - database = 22, - db = 23, - _default = 24, - define = 25, - _delete = 26, - desc = 27, - dimension = 28, - dist = 29, - doc_ids_cache = 30, - doc_ids_order = 31, - doc_lengths_cache = 32, - doc_lengths_order = 33, - drop = 34, - duplicate = 35, - efc = 36, - _else = 37, - end = 38, - exists = 39, - explain = 40, - extend_candidates = 41, - event = 42, - fetch = 43, - field = 44, - fields = 45, - filters = 46, - flexible = 47, - _for = 48, - from = 49, - group = 50, - highlights = 51, - hnsw = 52, - _if = 53, - ignore = 54, - _in = 55, - index = 56, - info = 57, - insert = 58, - into = 59, - keep_pruned_connections = 60, - key = 61, - kill = 62, - _let = 63, - limit = 64, - live = 65, - lm = 66, - m = 67, - m0 = 68, - merge = 69, - mtree = 70, - mtree_cache = 71, - namespace = 72, - noindex = 73, - normal = 74, - not = 75, - ns = 76, - on = 77, - only = 78, - option = 79, - order = 80, - out = 81, - parallel = 82, - param = 83, - passhash = 84, - password = 85, - patch = 86, - permissions = 87, - postings_cache = 88, - postings_order = 89, - readonly = 90, - rebuild = 91, - relate = 92, - relation = 93, - remove = 94, - _return = 95, - roles = 96, - root = 97, - sc = 98, - scope = 99, - schemafull = 100, - schemaless = 101, - search = 102, - select = 103, - session = 104, - set = 105, - show = 106, - since = 107, - signin = 108, - signup = 109, - sleep = 110, - split = 111, - start = 112, - structure = 113, - tb = 114, - table = 115, - terms_cache = 116, - terms_order = 117, - then = 118, - _throw = 119, - timeout = 120, - to = 121, - token = 122, - tokenizers = 123, - transaction = 124, - typeKeyword = 125, - unique = 126, - unset = 127, - update = 128, - use = 129, - user = 130, - valueKeyword = 131, - values = 132, - when = 133, - where = 134, - _with = 135, - after = 136, - before = 137, - diff = 138, - _false = 139, - full = 140, - none = 141, - _null = 142, - _true = 143, - f32 = 144, - f64 = 145, - i16 = 146, - i32 = 147, - i64 = 148, - selectPermissions = 149, - updatePermissions = 150, - createPermissions = 151, - deletePermissions = 152, - jwks = 153, - eddsa = 154, - es256 = 155, - es384 = 156, - es512 = 157, - ps256 = 158, - ps384 = 159, - ps512 = 160, - rs256 = 161, - rs384 = 162, - rs512 = 163, - and = 395, - or = 396, - is = 397, - opNot = 398, - opIn = 399, - contains = 400, - containsnot = 401, - containsall = 402, - containsany = 403, - containsnone = 404, - inside = 405, - notinside = 406, - allinside = 407, - anyinside = 408, - noneinside = 409, - outside = 410, - intersects = 411, - chebyshev = 164, - cosine = 165, - euclidean = 166, - hamming = 167, - jaccard = 168, - manhattan = 169, - minkowski = 170, - pearson = 171, - ascii = 172, - edgengram = 173, - ngram = 175, - snowball = 176, - uppercase = 177, - blank = 178, - camel = 179, - _class = 180, - punct = 181, - _function = 412, - rand = 182, - count = 183; - -const tokenMap = { - analyzer, - any, - as, - asc, - assert, - at, - begin, - bm25, - break: _break, - by, - cancel, - capacity, - changefeed, - changes, - columns, - comment, - commit, - content, - continue: _continue, - create, - database, - db, - default: _default, - define, - delete: _delete, - desc, - dimension, - dist, - doc_ids_cache, - doc_ids_order, - doc_lengths_cache, - doc_lengths_order, - drop, - duplicate, - efc, - else: _else, - end, - exists, - explain, - extend_candidates, - event, - fetch, - field, - fields, - filters, - flexible, - for: _for, - from, - group, - highlights, - hnsw, - if: _if, - ignore, - in: _in, - index, - info, - insert, - into, - keep_pruned_connections, - key, - kill, - let: _let, - limit, - live, - lm, - m, - m0, - merge, - mtree, - mtree_cache, - namespace, - noindex, - normal, - not, - ns, - on, - only, - option, - order, - out, - parallel, - param, - passhash, - password, - patch, - permissions, - postings_cache, - postings_order, - readonly, - rebuild, - relate, - relation, - remove, - return: _return, - roles, - root, - sc, - scope, - schemafull, - schemaless, - search, - select, - session, - set, - show, - since, - signin, - signup, - sleep, - split, - start, - structure, - tb, - table, - terms_cache, - terms_order, - then, - throw: _throw, - timeout, - to, - token, - tokenizers, - transaction, - type: typeKeyword, - unique, - unset, - update, - use, - user, - value: valueKeyword, - values, - when, - where, - with: _with, - - // Literals - after, - before, - diff, - false: _false, - full, - none, - null: _null, - true: _true, - - f32, - f64, - i16, - i32, - i64, - - jwks, - eddsa, - es256, - es384, - es512, - ps256, - ps384, - ps512, - rs256, - rs384, - rs512, - - and, - or, - is, - contains, - containsnot, - containsall, - containsany, - containsnone, - inside, - notinside, - allinside, - anyinside, - noneinside, - outside, - intersects, - - chebyshev, - cosine, - euclidean, - hamming, - jaccard, - manhattan, - minkowski, - pearson, - - ascii, - edgengram, - ngram, - snowball, - uppercase, - - blank, - camel, - class: _class, - punct, - - // Function names - function: _function, - rand, - count, -}; - -const tryMapped = new Map([ - ["select", [selectPermissions]], - ["create", [createPermissions]], - ["update", [updatePermissions]], - ["delete", [deletePermissions]], - ["not", [opNot]], - ["in", [opIn]], -]); - -const tokens = function(t, stack) { - for (const tk of tryMapped.get(t.toLowerCase()) ?? []) { - if (stack.canShift(tk)) return tk; - } - - return tokenMap[t.toLowerCase()] ?? -1; -}; - -function skipSpace(input, off) { - for (;;) { - let next = input.peek(off); - if (next === 32 || next === 9 || next === 10 || next === 13) { - off++; - } else if (next === 35 /* '#' */ || - (next === 47 /* '/' */ || next === 45 /* '-' */) && input.peek(off + 1) === next) { - off++; - for (;;) { - let next = input.peek(off); - if (next < 0 || next === 10 || next === 13) break; - off++; - } - } else { - return off; - } - } -} - -function isIdentifierChar(ch) { - return ch === 95 || ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch >= 48 && ch <= 57; -} - -function skipObjKey(input, off) { - let first = input.peek(off); - if (isIdentifierChar(first)) { - do { - off++; - } while (isIdentifierChar(input.peek(off))); - return off; - } else if (first === 38 /* "'" */ || first === 34 /* '"' */) { - for (let escaped = false;;) { - let next = input.peek(++off); - if (next < 0) return off; - if (next === first && !escaped) return off + 1; - escaped = next === 92; /* '\\' */ - } - } -} - -const objectToken = new ExternalTokenizer((input, stack) => { - if (input.next === 123 /* '{' */) { - let off = skipSpace(input, 1); - - // Is this an empty object? - if (input.peek(off) === 125 /* '}' */) { - input.acceptToken(objectOpen, 1); - } else { - let key = skipObjKey(input, off); - if (key !== null) { - off = skipSpace(input, key); - if (input.peek(off) === 58 /* ':' */) { - input.acceptToken(objectOpen, 1); - } - } - } - } -}); - -const surqlHighlighting = styleTags({ - "Ident": tags.name, - "Keyword function": tags.keyword, - "String": tags.string, - "Int Float Decimal VersionNumber Duration": tags.number, - "Bool": tags.bool, - "Comment": tags.lineComment, - "KeyName": tags.propertyName, - "VariableName": tags.variableName, - "None": tags.null, - "FunctionName": tags.function(tags.name), - ", |": tags.separator, - "[ ]": tags.squareBracket, - "< >": tags.angleBracket, - "BraceOpen BraceClose": tags.brace, - "TypeName": tags.typeName, - "Distance Filter Tokenizer": tags.literal, - "Literal": tags.literal, - "RecordTbIdent RecordIdIdent": tags.className, - "Operator GraphLeft GraphRight GraphBoth": tags.operator, -}); - -// This file was generated by lezer-generator. You probably shouldn't edit it. -const parser = LRParser.deserialize({ - version: 14, - states: "#7tO$qQROOO$xQQOOO%TQQOOO%YQQO'#G^O%nQQO'#G_O&SQQO'#G`O&hQQO'#GaOOQO'#Li'#LiO'`QSO'#GtO.PQRO'#GwOOQO'#Gy'#GyO.WQQO'#G}O.cQQO'#GxOOQO'#HV'#HVO.hQQO'#HUO.mQQO'#H[O.rQQO'#H[O2`QRO'#HbO2gQRO'#HcO2nQQO'#HdOOQO'#K^'#K^O3wQSO'#HhOOQO'#Lh'#LhO9_QSO'#L^O,YQRO'#HtO9rQQO'#HnO:cQSO'#LgO>{QSO'#HmOOQO'#Lg'#LgOCeQQO'#JSOD]QQO'#JUODbQQO'#JVODgQQO'#JWODlQQO'#JYODqQQO'#JZODvQQO'#J[OEUQQO'#J]OE^QQO'#J^OE}QQO'#J_OFUQRO'#JhOF`QRO'#JpOFgQQO'#JqOOQO'#Jr'#JrOOQO'#Js'#JsOFoQQO'#JtOYQRO'#JuO,YQRO'#JvO,YQRO'#JwOFtQQO'#JzOGhQQO'#J{OGoQRO'#J|OOQO'#L_'#L_OOQO'#L^'#L^OGvQQO'#L]OYQRO'#L]QOQQOOOYQRO'#KROOQO'#Ku'#KuQ%TQQOOOOQO,5fOHRQQO,5>gOH^QQO,5>oOHRQQO,5>rOEUQQO,5?_OHfQQO,5?`OHRQQO,5?aOHRQQO,5?eOHRQQO,5?kOHRQQO,5?mOHnQSO'#LjOOQO,5=c,5=cOJvQQO,5=cOOQO'#HR'#HROOQO'#HQ'#HQOJ{QQO'#HPOKQQQO'#LnOOQO'#HO'#HOOOQO,5=i,5=iOKYQQO,5=iOK_QXO,5=dOKvQRO'#HWOK}QQO,5=pOLSQRO'#H]OOQO,5=v,5=vOLZQ`O'#H`O.hQQO,5=vOL`QSO,5>UONcQQO,5=|OOQO,5=},5=}ONhQQO,5=}OOQO'#He'#HeONmQQO,5>OOOQO'#Lu'#LuOOQO-E>[-E>[OOQP'#Hl'#HlONxQRO'#HlO!!rQQO'#HlO!!wQQO'#HlO!!|QQO'#HlO,YQRO,5>VO!#RQSO,5>`OOQP'#Gb'#GbOOQO'#Hr'#HrOOQO,5>Y,5>YO!%aQRO,5>YO!%hQQO'#HuO!%sQRO'#HxOOQO'#L|'#L|OOQO'#K_'#K_O!%}QSO,5>XO!*gQQO,5?nO!*gQQO,5?nO!*gQQO,5?nO!*gQQO,5?nO!*rQQO,5?nO!*zQQO,5?nO!+SQQO,5?pOOQO,5?q,5?qO!+qQRO,5?rO!,OQQO,5?tO!,TQQO'#HhOOQO,5?u,5?uOEUQQO'#MZOEUQQO'#M[O!,bQQO,5?vOOQO,5?v,5?vO!,yQQO,5?wO!*gQQO,5?xO!.`QQO'#GbOOQO'#M]'#M]O!.gQQO,5?yOEcQQO,5?yO!/[QSO'#I|OOQO'#Hw'#HwOOQO'#MX'#MXO!/iQQO'#MWO,YQRO,5@SO!/qQQO,5@SOOQO,5@[,5@[O!/vQQO,5@[OYQRO,5@[OEUQQO,5@]O!0eQQO,5@]O!0jQQO,5@`OOQO,5@a,5@aO!0oQSO,5@bO!1SQSO'#JyOOQO,5@c,5@cO!1^QQO,5@fOOQO'#Me'#MeO!1cQQO,5@gOFyQQO,5@gOOQO,5@h,5@hO!1hQQO,5@hOYQRO,5@hO!5}QRO,5@pO!6XQQO,5AwOOQP-E>S-E>SOOQO@'iOOOQO-E>s-E>sO!6dQQO1G2gO!7RQQO1G2sO!7WQQO1G4QO!7]QQO'#H|O!7RQQO1G4ROEUQQO1G4RO!7bQQO1G4ZO!7gQQO1G4ZO!7RQQO1G4^OEUQQO1G4^O!7lQQO1G4yO!8QQQO1G4zO!8VQQO1G4zO!8[QQO1G4{OEUQQO1G4{O!9eQQO1G5POEUQQO1G5PO!9xQQO1G5VOEUQQO1G5VO!9}QQO1G5XOEUQQO1G5XO,YQRO'#KYO!:SQQO,5BUOOQO1G2}1G2}O,YQRO,5=kO!QO2nQQO'#K]O!GkQQO,5>RO!I}QRO1G3jOOQP,5>W,5>WO!KkQQO,5>WO!KpQQO,5>WOOQO1G3q1G3qO!KuQSO'#HsO!LVQQO'#HsO!LeQQO'#MOO!LmQQO1G3tO!LrQSO'#GbOOQO,5>a,5>aO.hQQO,5>aO#!lQSO,5>dO,YQRO'#HyO#!sQQO,5>dOOQO-E>]-E>]O#!xQQO'#JTOOQO1G5Y1G5YOEUQQO1G5YO#!}QQO1G5YOEUQQO1G5YO##SQQO1G5YOEUQQO1G5YO##XQQO1G5YOEUQQO1G5YO##^QQO1G5YO##cQQO1G5YO##hQQO1G5[OEUQQO1G5[O##|QQO1G5^O,YQRO1G5^O#$RQQO1G5`OOQO,5Bu,5BuOOQO,5Bv,5BvOOQO1G5b1G5bO#$WQQO1G5cO!7RQQO1G5dOEUQQO1G5dO#$`QRO'#J`OEUQQO'#JaOEUQQO'#JdOOQO'#M^'#M^O#$eQQO1G5eO!.gQQO1G5eOEUQQO,5?hOFXQRO'#KnO#%PQQO,5BrO#%XQQO1G5nO#%^QRO1G5nO#%eQRO'#JeODqQQO'#JfOOQO'#Jg'#JgOOQO1G5v1G5vO#%rQQO1G5vO#&WQQO1G5vO#&_QQO1G5vO#&iQQO1G5vO#&vQRO1G5wOEUQQO1G5wO#'RQQO1G5zO#'XQQO,5@dO#'aQQO,5@eO,YQRO1G6QOFyQQO1G6RO#'uQQO1G6RO#$`QRO'#J}O#'zQQO'#KOOOQO'#Mf'#MfOOQO'#Mg'#MgO#(PQQO'#MgO#(eQQO'#MgO#(lQQO'#MgOOQO1G6S1G6SO#(vQQO1G6SO!1hQQO1G6SO#)eQRO1G7cP#)oQQO'#KUOOQO1G6X1G6XO#)tQQO'#GcO#*SQQO'#GeO#*hQQO'#GhO#*mQQO'#GkOOQO'#KV'#KVO#*rQQO7+(RO#+aQQO'#GnO#+lQQO7+(_OEUQQO7+)lO#+zQQO,5>hO#,kQQO7+)mO!7RQQO7+)mO#-OQQO'#IUO#-WQQO7+)uO!7bQQO7+)uO#-]QQO7+)xO!7RQQO7+)xOOQO7+*e7+*eO,YQRO7+*fO#-eQQO7+*fODqQQO'#IvO#'XQQO'#IwO#'XQQO'#IxOOQO'#Kk'#KkO#-jQQO7+*gO#-jQQO7+*gO#.XQQO'#IzO#.jQQO'#ISO#.uQQO'#I{ODqQQO'#JOOOQO'#Kl'#KlO#.zQQO7+*kO#.zQQO7+*kO#/_QQO7+*qO#/jQQO7+*qO#/oQQO7+*sO#/zQQO7+*sO#0PQSO,5@tOOQO-E>W-E>WO#2XQSO1G3VOOQO,5@u,5@uOOQO-E>X-E>XOOQO,5=n,5=nO!Z-E>ZOOQO7+)U7+)UOOQP1G3r1G3rO#8`QQO1G3rOEUQQO,5>_O#8}QQO,5>_O!%aQRO'#K`O#9YQQO,5BjOOQO7+)`7+)`OOQO1G3{1G3{OOQO1G4O1G4OO#9bQSO,5>eOOQO,5?o,5?oOOQO7+*t7+*tO#9iQQO7+*tO#9tQQO7+*tO#9yQQO7+*tO#:UQQO7+*tO#:ZQQO7+*tO#:fQQO7+*tOOQO7+*v7+*vO#:kQQO7+*vOErQQO7+*xO#;PQQO7+*xOEUQQO7+*zOOQO7+*}7+*}OOQO7++O7++OO!7RQQO7++OO!AtQQO1G3OOOQO,5?z,5?zO#;UQ`O'#JbO#;ZQQO'#M_OOQO,5?{,5?{OOQO,5@O,5@OOOQO7++P7++PO#;{QQO7++PO#l-E>lO#cQQO7++bO#>jQQO7++bOOQO7++c7++cO#$`QRO7++cOEUQQO7++cO#>tQRO7++cOYQRO'#HbO#-WQQO7++fO#?PQQO1G6OO#?XQQO1G6PO#?aQQO1G6PO#?uQSO7++lO#@YQQO7++mOFyQQO7++mOOQO,5@i,5@iOOQO,5@j,5@jOOQO,5CR,5CRO#@_QQO,5CRO#@sQQO,5CROOQO7++n7++nO#(vQQO7++nPOQP,5@p,5@pOOQO'#Gd'#GdO#@zQQO'#LbOOQO,5<},5<}OOQO'#Gf'#GfO#AlQQO'#GfO#AqQQO'#GfO#AvQQO'#LdOOQO,5=P,5=POOQO,5=S,5=SOOQO,5=V,5=VOOQO-E>T-E>TOOQO,5=Y,5=YOEUQQO,5=YO#BhQQO'#MROOQO'#Go'#GoO#'XQQO'#GoO,YQRO'#GoO#CPQQO<p,5>pO#DhQQO,5>pO#DmQQO<i-E>iO#E}QQO<nOOQO,5>n,5>nOFXQRO,5?gOOQO,5?j,5?jOOQO-E>j-E>jO#IcQQO<Y-E>YOOQO1G3`1G3`OOQO<^-E>^OOQO<r-E>rOFyQQO<= XO$+YQQO<= XOOQO1G8m1G8mO$+_QQO1G8mOOQO<= Y<= YO#)tQQO'#KWO$+sQQO,5A|O$,eQQO,5=QOEUQQO,5=QO#*SQQO'#KXO$,jQQO,5BOOOQO1G2t1G2tO#'XQQO'#KaO$-[QQO,5BmOOQO,5=Z,5=ZO$-sQSO,5=ZOOQOANAeANAeOOQOANBrANBrO$.QQQO,5>iO2nQQO,5>iO$/RQSO,5>jO$0OQSO,5>lO$0{QSO,5>mOOQO-E>`-E>`O$1xQQOANBsO2nQQO,5BoOOQO1G4[1G4[O$2]QQO'#IVOOQO'#IV'#IVOOQO'#Kf'#KfO$2bQQOANB{O$2bQQOANB{OOQO,5>s,5>sOOQO'#IY'#IYO$3PQQO'#IZO$3UQQO'#IeO$3UQQO'#IkOOQOANCOANCOO#E[QQOANCOO$3ZQSOANClOEUQQO1G5QOEUQQO1G5QO$3nQQO'#MSO$3|QQO,5@}OOQO-E>a-E>aO$4XQQO1G5RO$4^QQO'#JQO$5XQQOANCwO2nQQOANCwOEUQQOANCwO$5^QQOANCyO$5cQQOANCyOOQO7+(t7+(tO!n-E>nOOQOANDVANDVO$7uQQOANDVO$&{QQOAND`OOQOAND`AND`O#q-E>qOOQO<= U<= UO!1VQSO1G6zOOQO<= V<= VP$?oQQO'#KtO$@VQQOANDsOFyQQOANDsOOQO7+.X7+.XOOQO,5@r,5@rOOQO-E>U-E>UO$@jQQO1G2lO$@oQQO1G2lOOQO,5@s,5@sOOQO-E>V-E>VOOQO,5@{,5@{OOQO-E>_-E>_OOQO1G2u1G2uO#'XQQO1G2uO$@tQQO1G4TO$AuQQO1G8ZOOQO,5>q,5>qOOQO-E>d-E>dO$BTQQOG28gOEUQQO,5>uO$BrQQO'#IfO$C]QQO,5?PO$D_QQO,5?VOOQOG28jG28jO$DrQQO'#MVOOQO7+*l7+*lO$EvQQO7+*lO$FwQQO'#KdO$GVQQO,5BnOOQO1G6i1G6iO,YQRO7+*mOOQO,5?l,5?lO$GeQQOG29cO$GjQQOG29cO2nQQOG29cO$GoQQOG29eO$GtQQOG29eOOQO<m-E>mOOQO,5?s,5?sOOQOG29jG29jO$GyQQOG29jOOQOG29lG29lO$H_QQOG29lOOQOG29qG29qO$o-E>oOOQO,5AR,5AROOQO-E>e-E>eO$LOQQOG2:TOOQOG2:TG2:TO$LTQQOG2:TO$LYQSO1G6yOOQOANDpANDpO$LaQQOANDpP$LfQQO'#KsOOQO7+,f7+,fOOQOG2:_G2:_O$LkQQOG2:_O$MPQQOG2:_O$MWQQOG2:_O$MbQQOG2:_O$MrQQO7+(WOOQO7+(W7+(WOOQO7+(a7+(aO$MwQQO'#KeO$M|QQO7+-uO$NvQQO1G4aOOQO,5?Q,5?QO% ZQQO'#IhO% rQQO'#I]O% wQQO'#IaO% |QQO'#IgO%!XQQO'#IiO%!^QQO'#IjOOQO'#Ki'#KiO%!cQQO1G4kO%!vQQO'#IlO%#bQQO'#ImO%#gQQO'#InO%#lQQO'#IoO%#qQQO'#IpOOQO'#Iq'#IqOOQO'#Ir'#IrOOQO'#Kj'#KjO%#vQQO1G4qOEUQQO'#KmO%$ZQQO,5BqOEUQQO<b-E>bO%%_QQO<c-E>cO%)bQQO'#I[O%*fQQO'#I^O%*kQQO'#I_O%*pQQO'#I`O%*uQQO'#IbO%*zQQO'#IcO%+PQQO'#IdOOQO'#Kh'#KhO%+UQQO7+){OOQO,5?S,5?SOOQO,5>w,5>wOOQO,5>{,5>{OOQO,5?R,5?ROOQO,5?T,5?TOOQO,5?U,5?UOOQO-E>g-E>gOOQO,5?W,5?WO$ lQQO,5?WOOQO,5?X,5?XOOQO,5?Y,5?YOOQO,5?Z,5?ZOOQO,5?[,5?[OOQO-E>h-E>hOOQO,5AX,5AXOOQO-E>k-E>kOOQOANCrANCrOOQOANCsANCsO%+iQQOANCsOOQO!$($i!$($iO%,gQQO!$($iOOQO!$($k!$($kOEUQQO!$($kOOQO!$($r!$($rOOQO!$(%Q!$(%QOOQO7++]7++]OOQO1G8h1G8hO%,lQQO1G8hO%-QQQO,5COO%-VQQO!$(%ZO%-[QQO!$(%ZOOQO<=!P<=!POOQO!$(%e!$(%eO%-aQQO!$(%eO%-uQQO!$(%eOOQOANA^ANA^O2nQQO1G6kO%-|QQO,5>vOOQO,5>x,5>xOOQO,5>y,5>yOOQO,5>z,5>zOOQO,5>|,5>|OOQO,5>},5>}OOQO,5?O,5?OOOQO-E>f-E>fOOQO1G4r1G4rOOQOG29_G29_OOQO!)9HT!)9HTOOQO!)9HV!)9HVOOQO7+.S7+.SO%.RQQO1G8jO%.ZQQO!)9HuO%.`QQO!)9HuOOQO!)9IP!)9IPO%.eQQO!)9IPO%.yQQO7+,VO%/XQQO1G4bO%/^QQO'#KrO%/cQQO7+.UO%/kQQO!.K>aO%/pQQO!.K>aOOQO!.K>k!.K>kO%/uQQO7+)|O,YQRO,5A^OOQO-E>p-E>pOEUQQO!4/3{O%/zQQO!4/3{O%0PQQO<s1{@}@}@}AcP1{BtCxBtDaPPPEjEqEwEeFzF}EeGW+]+]GZGsGsGsGsGsGy+]HV1]+]H]HcHcHiHmHiHiHiHmHiHiHiHcHuH{IPIPH{HcITITITITITITIT+]+]+]IXIXIX+]I_I_IeIqI_+]I|+]+]JV+]+]+]Jl+]+]+]+]+]+]J{J{KZPKdKlLaMp+]! k! p! |!!U!!b!!m!!x+]+]+]+]+]+]+]+]!#Z!#Z+]+]+]KhKhPP!#^P!#b!#e!#l!#r!#x!$O!$U!$[!$f!$t!&T!&[!&b!&h!&r!&x!'O!'U!'`!'f!'l!'r!'x!(S!(^!(d!(j!(p!(v!(|!)S!)Y!)`PPPPPPPPPPPPPPPPPPPPP!)f!)l!)}PP!*qP!*tPP!*w!,w!.O!/ZP!0WP!0lPP!0oPPP!0uPPPPPP!1mP!1rPP!1u!2R!2U!2X!2z!3T!3^!3f!3l!3o!3u!3{!4R!4_!4h!4q!4z!5Q!5W!5j!5pq!TOabx}!S!W!Y!z$W$f&o)f)i)t,UQ#aiQ#xtS#{v#}[$a!R$c'O){,o/SQ$l!aQ$m!bQ$n!cQ$p!dQ$t!fQ$v!gQ$y!iQ${!jQ$}!kQ%P!lQ%w#cQ&O#hQ&Q#iQ&S#jQ&U#kQ&_#tQ&`#uQ&c#yQ&x$XQ'j$qQ'o$uQ'x$zQ(P$|Q(R%OQ(T%QQ(x&PQ(z&RQ(|&TQ)O&VQ)Q&ZQ)W&dY)Z&f&g+}3y4OQ)c&kQ)s&yQ*a'eQ*h'gQ+m(oQ+q(}S+w)R+yQ+z)Tf,b)r*x,f.P.`.e.f0Y0[1o2|Q,z*bQ-q+^Q-z+nS-{+t+uQ.a,WQ/X,wU/j-i-j1hQ/t-rQ/y-|Q/z-}Q0V.bQ0m.tQ1R/eR2t1fT'c$l'dQ*V'_R/U,tQ*['`R/Y,xQ!eUQ#lmT'a$l'dS'c$l'dQ'p$vW'v$y'w'x+RW'}${(O(P+[W*p'i*q*r-XQ-P*gQ-Q*hX-^*v-_-`/dQ'f$mQ'i$pQ'n$tQ)V&cQ*r'jQ*z'oR+{)WR*g'f#VfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3w#UfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3w[$a!R$c'O){,o/S`%Z!w%[([(]+c+d-v4SQ)u&zR)}'R#UfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wS#{v#}[$a!R$c'O){,o/SS+w)R+yR/z-}#U[OXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wg4Tv!R#}$c'O)R){+y,o-}/Sa%Z!w%[([(]+c+d-v4S#UfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3w`%Z!w%[([(]+c+d-v4SQ)Y&eQ)p&xQ)|'QS,`)q,eQ,d)sR0k.qR!vZQ!sZR(X%VT!rZ%VT!qZ%VT%^!w4S#V^OXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wQ!y^Q!{`Q%f!}R(t%xR%b!yR(d%a#UfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wS#{v#}]$a!R$c'O){,o/SR!{_R!}`#UfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wQ)u&zQ)v&{W*c'f*e-O/_Q+O'tQ+P'uQ.z,hQ/[,{Q0t.{R3V2S#UfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wQ&|$^Q)u&zQ)v&{W*c'f*e-O/_Q*v'lQ+O'tQ+P'uQ,g)uQ,l)wQ-`*wQ.z,hQ/P,mQ/[,{Q0t.{Q0v/OR3V2Su#Uc${%j%k(O(P*j+[+]-S-Y-q/g/h/t1[1e3[#UfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wQ#srQ)k&qQ*}'sR+Y'|#TlOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3w{#]g!m#^$O$]$^%r%y(U(W(v)y*{-O-T-U-V-h.V/O0r#SkOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wV#ejk#gQ#aiT%s#b(qQ%t#bR+o(qS!XOPQ%{#dQ&v$VW'W$e'Y'Z*SS(p%r%sQ)o&wU,Y)h,T.^W-]*v-_-`/dQ.R+xQ.d,ZQ/o-lQ0O.SR2x1kR%x#cW$Qw#p&l+XR%w#cR%{#dQ$q!dQ$s!eQ$u!fQ$x!hQ$z!iQ$|!jQ%O!kR%Q!lX*p'i*q*r-XW'}${(O(P+[X*p'i*q*r-XQ'l$rR*w'mQ*y'nR-g*zQ-f*yR/i-gT2d1R2eS1Z/g1[T2d1R2eQ/g-dR/h-eT1Z/g1[S1Z/g1[T1d/h1eX'v$y'w'x+RX'}${(O(P+[W$Qw#p&l+XQ&n$SR)S&]U.m,[.[0TQ2w1kR3f2xQ-p+]Q/s-qR1n/tQ&P#hQ&R#iQ&T#jQ&V#kQ&W#lQ&X#mR&d#yQ.Q+xS/}.R.SU0h.n0S1tR1q0OS&h#|&jS'S$e'ZQ0z/RR2X0{W)[&f&g3y4OR.W+}S&h#|&jT'S$e'ZQ&u$VW'V$e'Y'Z*SQ)a&iS)n&v&wQ*Q'WQ,R)bQ,_)oQ0y/RS2W0z0{R3Y2XQ&t$VW'U$e'Y'Z*SQ)`&iU)m&u&v&wS*P'V'WS,Q)a)bS,^)n)oQ,r*QQ.Z,RQ.p,_U0g.n0S1tQ0x/RQ2O0hU2V0y0z0{S3X2W2XR3n3YQ&s$VW'T$e'Y'Z*SQ)_&iW)l&t&u&v&wU*O'U'V'WU,P)`)a)bU,])m)n)oS,q*P*QS.Y,Q,RS.o,^,_Q/T,rQ0R.ZU0f.n0S1tQ0j.pQ0w/RS1}0g0hW2U0x0y0z0{Q3R2OU3W2V2W2XS3m3X3YR3u3nV,Z)h,T.^U,X)h,T.^S.c,Y,ZR0W.dU.l,[.[0TR0c.mU.k,[.[0TS0b.l.mR1z0c[.i,[.[.l.m0T0cR0a.j[.j,[.[.l.m0T0cR0a.iU0e.n0S1tU1|0f0g0hS3Q1}2OR3i3RR$_!PT!ZQ![R'^$jS!WObR$i!WQ'd$lR*`'dQ,u*VR/V,uQ,y*[R/Z,yQ%S!mR(V%SQ%W!sR(Y%WQ(c%aQ+f(aT+g(c+fb%l#T'y(h-R-o/`/a1T3oR(k%l#UeOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wS#Ve#rX#rr&q's'|S#gjkR%|#gQ(r%tR+p(rQ,|*cR/],|Q*q'iS-W*q-XR-X*rQ+V'zR-m+VQ/n-kR1j/nQ1Q/aR2[1QQ-_*vS/c-_/dR/d-`Q.u,bR0n.uQ2e1RR3d2eQ1[/gR2l1[Q1e/hR2s1eQ'w$yS+Q'w+RR+R'xQ(O${S+Z(O+[R+[(PQ1g/jR2u1gQ&m$RR)e&mQ.O+wR/{.OQ,O)[R.X,OQ.r,`R0l.rQ3r3jR3x3rQ,i)vR.|,iQ)x&|R,n)xQ![QR$k![Q!XOR#RbS!VObS#Pa)tQ$[}Q$h!WR$j!Y^!UOab}!W!Y)tQ$UxQ$d!SQ%d!zQ&s$WQ'X$fQ)g&oS,S)f)iR.],UR*W'_R*]'`^gOab}!W!Y)tn!mXx!S!x!z$W$f&o&p)f)i,U/p2P3wQ#^h[$Ow#p$S&]&l+XQ$]!OQ$^!PQ%q#]S%r#b(qQ%y#dQ(U%RQ(W%UQ(v%zQ)y&}Q*{'qQ-O*fQ-T*lQ-U*nQ-V*oQ-h*|Q.V+|Q/O,kR0r.y#SjOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wR(l%m#UfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wQ-y+lR3e2nQ!oXQ$VxQ$e!SQ%`!xQ%d!zQ&w$WQ'Z$fQ)h&oQ)j&pS,T)f)iQ.^,UQ1k/pQ3S2PR3|3wQ%]!wQ(Z%[Q)X4SS+b([(]S-u+c+dR/w-vR!tZX(b%a(a(c+fQ#TcW'y${(O(P+[Q(h%jQ(j%kQ-R*jU-o+]-q/tQ/`-SQ/a-YW1T/g/h1[1eR3o3[V#fjk#gR%u#bQ*d'fQ,}*eQ/^-OR1O/_R-l+UR*u'kQ,c)rQ-a*xQ.x,fQ/|.PQ0U.`Q0X.eQ0Z.fQ1u0YQ1w0[Q2{1oR3h2|Q/k-iQ/l-jR2v1hQ$TwQ&[#pR-n+XU$Rw#p+XR)d&lQ+x)RR.S+yR#vsQ#wsR&a#vQ#|vR&j#}Q&i#|R)b&jQ)]&fQ)^&gQ3}3yR4R4OQ,[)hQ.[,TR0T.^Q.n,[Q0S.[R1t0TQ0i.nQ1s0SR3O1tQ,a)qR.w,eQ2Q0oR3U2RQ$b!RQ'P$cQ)z'OQ,p){Q/R,oR0{/SQ'Y$eR*S'ZQ'X$eS*R'Y'ZR,s*S", - nodeNames: "⚠ BraceOpen Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Literal Literal Literal Bool Literal None None Bool Literal Literal Literal Literal Literal PermissionTarget PermissionTarget PermissionTarget PermissionTarget TokenType TokenType TokenType TokenType TokenType TokenType TokenType TokenType TokenType TokenType TokenType Distance Distance Distance Distance Distance Distance Distance Distance Filter Filter Filter Filter Filter Filter Tokenizer Tokenizer Tokenizer Tokenizer FunctionName FunctionName Comment SurrealQL BeginStatement CancelStatement CommitStatement DefineAnalyzerStatement Ident TokenizersClause AnalyzerTokenizers FiltersClause AnalyzerFilters Int FunctionClause Keyword FunctionName CommentClause String DefineEventStatement OnTableClause WhenThenClause String Float Decimal VariableName Ident ] [ Array RecordId RecordTbIdent Colon RecordIdIdent BraceClose Object ObjectContent ObjectProperty ObjectKey KeyName RecordIdRange > FunctionJs FunctionName ArgumentList BraceOpen JavaScriptBlock JavaScriptContent FunctionCall ArgumentListCount FunctionName < Version VersionNumber SubQuery Block TypeCast TypeName ParameterizedType UnionType Duration DurationPart Point BinaryExpression Operator Path GraphPath GraphLeft GraphRight GraphBoth Any GraphPredicate WhereClause Subscript FunctionName Any Filter WhereClause DefineDatabaseStatement DefineFieldStatement IfNotExistsClause TypeClause DefaultClause ReadonlyClause ValueClause AssertClause PermissionsForClause DefineFunctionStatement ParamList PermissionsBasicClause DefineIndexStatement FieldsColumnsClause UniqueClause SearchAnalyzerClause Bm25Clause DocIdsOrderClause DocLenghtsOrderClause PostingsOrderClause TermsOrderClause DocIdsCacheClause DocLenghtsCacheClause PostingsCacheClause TermsCacheClause MtreeClause IndexDimensionClause MtreeDistClause IndexTypeClause IndexCapacityClause MtreeCacheClause HnswClause HnswDistClause IndexLmClause IndexM0Clause IndexMClause IndexEfcClause IndexExtendCandidatesClause IndexKeepPrunedConnectionsClause DefineNamespaceStatement DefineParamStatement DefineScopeStatement SessionClause SigninClause SignupClause DefineTableStatement TableTypeClause TableViewClause Predicate GroupClause ChangefeedClause DefineTokenStatement TokenTypeClause DefineUserStatement RemoveStatement IfExistsClause InfoForStatement KillStatement LiveSelectStatement FetchClause ShowStatement SleepStatement UseStatement OptionStatement RebuildStatement CreateStatement ContentClause SetClause FieldAssignment Operator UnsetClause ReturnClause TimeoutClause ParallelClause SelectStatement WithClause SplitClause OrderClause LimitStartComboClause StartClause LimitClause ExplainClause DeleteStatement InsertStatement BreakStatement ContinueStatement ForStatement ReturnStatement ThrowStatement IfElseStatement Legacy Modern LetStatement RelateStatement UpdateStatement MergeClause PatchClause PermissionInput CombinedResults CombinedResult Comment CommentResultClose", - maxTerm: 472, - nodeProps: [ - ["group", -23,139,141,142,143,195,200,204,205,206,207,208,211,212,217,224,230,236,237,238,242,244,245,247,"Value",-37,186,187,188,189,201,260,261,269,272,299,300,301,305,311,313,314,316,317,318,320,321,322,323,324,325,334,342,343,344,345,346,347,348,349,352,353,354,"Statement"], - ["openedBy", 209,"[",216,"BraceOpen",223,"<"], - ["closedBy", 210,"]",227,"BraceClose",233,">",360,"CommentResultClose"] - ], - propSources: [surqlHighlighting], - skippedNodes: [0,184], - repeatNodeCount: 32, - tokenData: "#4[!aR!kOX%vXY&sYZ'gZ]%v]^&s^p%vpq&sqr'nrs)]st*{tu,juv%vvw.zwx/oxy1Wyz1zz{2n{|3s|}5c}!O6V!O!P!!|!P!Q!$j!Q![!%d![!]!?V!]!^!?y!^!_!@m!_!`!C}!`!a!Dy!a!b!Es!b!c!Fy!c!}!Gs!}#O!LW#O#P%v#P#Q!Lz#Q#R%v#R#S!Gs#S#T!Mn#T#W!Gs#W#X##s#X#Y!Gs#Y#Z#(^#Z#f!Gs#f#g##s#g#h##s#h#i!Gs#i#j##s#j#o!Gs#o#p#.Z#p#q#.b#q#r#0O#r#s(i#s%o%v%o%p(i%p&a%v&a&b(i&b%&b%v%&b%&c(i%&c%&d(i%&d%&e%v%&e%&f(i%&f%&g(i%&g%)Q%v%)Q%)R(i%)R%)S(i%)S%)T(i%)T%)U(i%)U%)V(i%)V%)W(i%)W%GS%v%GS%GT#0V%GT;'S%v;'S;=`&m<%lO%v!Q%{X*f!QOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!Q&mO*f!Q!Q&pP;=`<%l%v!a&zX*f!Q*O_OY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!a'nO*f!Q*O_!W's[*f!QOY%vYZ&hZr%vsw%vx!_%v!_!`(i!`#o%v#p#q%v#r#s(i#s;'S%v;'S;=`&m<%lO%v!W(pX*f!Q*kUOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!R)`VOr)]rs)us#O)]#O#P)|#P;'S)];'S;=`*u<%lO)]!R)|O%`P*f!Q!R*PRO;'S)];'S;=`*Y;=`O)]!R*]WOr)]rs)us#O)]#O#P)|#P;'S)];'S;=`*u;=`<%l)]<%lO)]!R*xP;=`<%l)]!a+S]*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{_,QS%O_OY+{Z;'S+{;'S;=`,^<%lO+{_,aP;=`<%l+{!a,gP;=`<%l*{!R,o`*f!QOY%vYZ&hZr%vsw%vx!Q%v!Q![-q![!c%v!c!}-q!}#R%v#R#S-q#S#T%v#T#o-q#p#q%v#r;'S%v;'S;=`&m<%lO%v!R-x`%gP*f!QOY%vYZ&hZr%vsw%vx!Q%v!Q![-q![!c%v!c!}-q!}#R%v#R#S-q#S#T%v#T#o-q#p#q%v#r;'S%v;'S;=`&m<%lO%v!W/PY*f!QOY%vYZ&hZr%vsv%vvw(ix#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!R/rVOw/owx)ux#O/o#O#P0X#P;'S/o;'S;=`1Q<%lO/o!R0[RO;'S/o;'S;=`0e;=`O/o!R0hWOw/owx)ux#O/o#O#P0X#P;'S/o;'S;=`1Q;=`<%l/o<%lO/o!R1TP;=`<%l/o!X1_X*XV*f!QOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!X2RX*YV*f!QOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!X2w^*tP*f!Q*kUOY%vYZ&hZr%vsw%vxz%vz{(i{!_%v!_!`(i!`#o%v#p#q%v#r#s(i#s;'S%v;'S;=`&m<%lO%v!`3zZ*f!Q*kUOY%vYZ&hZr%vsw%vx!_%v!_!`4m!`#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!`4vX(VW*f!Q*kUOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!X5jX*VV*f!QOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!a6^`*f!Q*lUOY%vYZ&hZr%vsw%vx}%v}!O7`!O!Q%v!Q![Fm![!_%v!_!`4m!`!a!!Y!a#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!a7g_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x}*{}!O8f!O#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!a8m_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x}*{}!O9l!O#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!a9s_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x}*{}!O:r!O#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!a:y_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x}*{}!O;x!O#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!aU!O#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!a>]_*f!Q%O_OY*{YZ&hZp*{pq?[qr*{rs+{sw*{wx+{x#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!a?c_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x!s*{!s!t@b!t#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!a@i_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x#i*{#i#jAh#j#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!aAo_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x#X*{#X#YBn#Y#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!aBu_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x#f*{#f#gCt#g#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!aC{_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x#m*{#m#nDz#n#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!aET]*f!Q(vV%O_OYDzYZ&hZrDzrsE|swDzwxE|x#oDz#o#pE|#p#qDz#q#rE|#r;'SDz;'S;=`Fg<%lODz_FTS(vV%O_OYE|Z;'SE|;'S;=`Fa<%lOE|_FdP;=`<%lE|!aFjP;=`<%lDz!VFtb*f!Q%ZTOY%vYZ&hZr%vsw%vx!O%v!O!PG|!P!Q%v!Q![Fm![!g%v!g!hJQ!h#W%v#W#XMS#X#YJQ#Y#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!RHRZ*f!QOY%vYZ&hZr%vsw%vx!Q%v!Q![Ht![#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!RH{a*f!Q%ePOY%vYZ&hZr%vsw%vx!Q%v!Q![Ht![!g%v!g!hJQ!h#W%v#W#XMS#X#YJQ#Y#Z! f#Z#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!RJV_*f!QOY%vYZ&hZr%vsw%vx{%v{|KU|}%v}!OKU!O!Q%v!Q![K|![#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!RKZZ*f!QOY%vYZ&hZr%vsw%vx!Q%v!Q![K|![#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!RLT_*f!Q%ePOY%vYZ&hZr%vsw%vx!Q%v!Q![K|![#W%v#W#XMS#X#Y%v#Y#Z! f#Z#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!RMXZ*f!QOY%vYZ&hZr%vsw%vx#X%v#X#YMz#Y#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!RNPZ*f!QOY%vYZ&hZr%vsw%vx#V%v#V#WNr#W#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!RNyX*f!Q%fPOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!R! mX*f!Q%ePOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!X!!aX&dV*f!QOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!X!#TZ*sU*f!QOY%vYZ&hZr%vsw%vx!O%v!O!P!#v!P#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!X!#}X*cV*f!QOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!a!$qZ*f!Q*kUOY%vYZ&hZr%vsw%vx!P%v!P!Q*{!Q#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!a!%mx&TW*f!Q%ZTOY%vYZ&hZp%vpq!(Zqr%vsw%vx!O%v!O!P!,l!P!Q%v!Q![!%d![!c%v!c!g!0j!g!h!1s!h!}!0j!}#R%v#R#S!0j#S#T%v#T#W!0j#W#X!9w#X#Y!1s#Y#[!0j#[#]!;Y#]#a!0j#a#b! (tokens(value, stack) << 1) | 1, external: tokens, extend: true}], - tokenPrec: 9170 -}); - -export { parser }; diff --git a/packages/lezer-surrealql/package.json b/packages/lezer-surrealql/package.json deleted file mode 100644 index 6cfbbe02..00000000 --- a/packages/lezer-surrealql/package.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "lezer-surrealql", - "private": true, - "version": "0.0.1", - "author": "SurrealDB", - "description": "SurrealQL grammar for Lezer", - "type": "module", - "types": "dist/index.d.ts", - "module": "dist/index.js", - "main": "dist/index.cjs", - "exports": { - "import": "./dist/index.js", - "require": "./dist/index.cjs" - }, - "scripts": { - "build": "lezer-generator src/surrealql.grammar -o src/parser.js && rollup -c", - "build-debug": "lezer-generator src/surrealql.grammar -o src/parser.js --names && rollup -c", - "prepack": "pnpm build", - "test": "node test/test-surrealql.js" - }, - "dependencies": { - "@lezer/highlight": "^1.2.0", - "@lezer/lr": "^1.0.0" - }, - "devDependencies": { - "@lezer/generator": "^1.0.0", - "rollup": "^2.52.2", - "@rollup/plugin-node-resolve": "^9.0.0" - } -} diff --git a/packages/lezer-surrealql/pnpm-lock.yaml b/packages/lezer-surrealql/pnpm-lock.yaml deleted file mode 100644 index ee420c54..00000000 --- a/packages/lezer-surrealql/pnpm-lock.yaml +++ /dev/null @@ -1,169 +0,0 @@ -lockfileVersion: '6.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -dependencies: - '@lezer/highlight': - specifier: ^1.2.0 - version: 1.2.0 - '@lezer/lr': - specifier: ^1.0.0 - version: 1.4.0 - -devDependencies: - '@lezer/generator': - specifier: ^1.0.0 - version: 1.6.0 - '@rollup/plugin-node-resolve': - specifier: ^9.0.0 - version: 9.0.0(rollup@2.79.1) - rollup: - specifier: ^2.52.2 - version: 2.79.1 - -packages: - - /@lezer/common@1.2.1: - resolution: {integrity: sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==} - - /@lezer/generator@1.6.0: - resolution: {integrity: sha512-mDwFNchv4jBEoZBaZbr5GlKR7BM6W/ZanTOZN6p4avuzcmYHTZ0nIbwtBqvXoeBrqmFSvL2zHL5TX9FWkXKc2w==} - hasBin: true - dependencies: - '@lezer/common': 1.2.1 - '@lezer/lr': 1.4.0 - dev: true - - /@lezer/highlight@1.2.0: - resolution: {integrity: sha512-WrS5Mw51sGrpqjlh3d4/fOwpEV2Hd3YOkp9DBt4k8XZQcoTHZFB7sx030A6OcahF4J1nDQAa3jXlTVVYH50IFA==} - dependencies: - '@lezer/common': 1.2.1 - dev: false - - /@lezer/lr@1.4.0: - resolution: {integrity: sha512-Wst46p51km8gH0ZUmeNrtpRYmdlRHUpN1DQd3GFAyKANi8WVz8c2jHYTf1CVScFaCjQw1iO3ZZdqGDxQPRErTg==} - dependencies: - '@lezer/common': 1.2.1 - - /@rollup/plugin-node-resolve@9.0.0(rollup@2.79.1): - resolution: {integrity: sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==} - engines: {node: '>= 10.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 - dependencies: - '@rollup/pluginutils': 3.1.0(rollup@2.79.1) - '@types/resolve': 1.17.1 - builtin-modules: 3.3.0 - deepmerge: 4.3.1 - is-module: 1.0.0 - resolve: 1.22.8 - rollup: 2.79.1 - dev: true - - /@rollup/pluginutils@3.1.0(rollup@2.79.1): - resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 - dependencies: - '@types/estree': 0.0.39 - estree-walker: 1.0.1 - picomatch: 2.3.1 - rollup: 2.79.1 - dev: true - - /@types/estree@0.0.39: - resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} - dev: true - - /@types/node@20.11.24: - resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==} - dependencies: - undici-types: 5.26.5 - dev: true - - /@types/resolve@1.17.1: - resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} - dependencies: - '@types/node': 20.11.24 - dev: true - - /builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - dev: true - - /deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} - dev: true - - /estree-walker@1.0.1: - resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} - dev: true - - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true - - /hasown@2.0.1: - resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} - engines: {node: '>= 0.4'} - dependencies: - function-bind: 1.1.2 - dev: true - - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} - dependencies: - hasown: 2.0.1 - dev: true - - /is-module@1.0.0: - resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - dev: true - - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true - - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: true - - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /rollup@2.79.1: - resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} - engines: {node: '>=10.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - dev: true - - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - dev: true diff --git a/packages/lezer-surrealql/rollup.config.js b/packages/lezer-surrealql/rollup.config.js deleted file mode 100644 index 5bbdbc64..00000000 --- a/packages/lezer-surrealql/rollup.config.js +++ /dev/null @@ -1,15 +0,0 @@ -import { nodeResolve } from "@rollup/plugin-node-resolve" - -export default { - input: "./src/parser.js", - output: [ - { format: "cjs", file: "./dist/index.cjs" }, - { format: "es", file: "./dist/index.js" } - ], - external(id) { - return !/^([\.\/]|\w:\\)/.test(id) - }, - plugins: [ - nodeResolve() - ] -} \ No newline at end of file diff --git a/packages/lezer-surrealql/src/highlight.js b/packages/lezer-surrealql/src/highlight.js deleted file mode 100644 index 9561d5ef..00000000 --- a/packages/lezer-surrealql/src/highlight.js +++ /dev/null @@ -1,23 +0,0 @@ -import { styleTags, tags as t } from "@lezer/highlight" - -export const surqlHighlighting = styleTags({ - "Ident": t.name, - "Keyword function": t.keyword, - "String": t.string, - "Int Float Decimal VersionNumber Duration": t.number, - "Bool": t.bool, - "Comment": t.lineComment, - "KeyName": t.propertyName, - "VariableName": t.variableName, - "None": t.null, - "FunctionName": t.function(t.name), - ", |": t.separator, - "[ ]": t.squareBracket, - "< >": t.angleBracket, - "BraceOpen BraceClose": t.brace, - "TypeName": t.typeName, - "Distance Filter Tokenizer": t.literal, - "Literal": t.literal, - "RecordTbIdent RecordIdIdent": t.className, - "Operator GraphLeft GraphRight GraphBoth": t.operator, -}); diff --git a/packages/lezer-surrealql/src/parser.js b/packages/lezer-surrealql/src/parser.js deleted file mode 100644 index 48471449..00000000 --- a/packages/lezer-surrealql/src/parser.js +++ /dev/null @@ -1,26 +0,0 @@ -// This file was generated by lezer-generator. You probably shouldn't edit it. -import {LRParser} from "@lezer/lr" -import {objectToken, tokens} from "./tokens" -import {surqlHighlighting} from "./highlight" -export const parser = LRParser.deserialize({ - version: 14, - states: "#7tO$qQROOO$xQQOOO%TQQOOO%YQQO'#G^O%nQQO'#G_O&SQQO'#G`O&hQQO'#GaOOQO'#Li'#LiO'`QSO'#GtO.PQRO'#GwOOQO'#Gy'#GyO.WQQO'#G}O.cQQO'#GxOOQO'#HV'#HVO.hQQO'#HUO.mQQO'#H[O.rQQO'#H[O2`QRO'#HbO2gQRO'#HcO2nQQO'#HdOOQO'#K^'#K^O3wQSO'#HhOOQO'#Lh'#LhO9_QSO'#L^O,YQRO'#HtO9rQQO'#HnO:cQSO'#LgO>{QSO'#HmOOQO'#Lg'#LgOCeQQO'#JSOD]QQO'#JUODbQQO'#JVODgQQO'#JWODlQQO'#JYODqQQO'#JZODvQQO'#J[OEUQQO'#J]OE^QQO'#J^OE}QQO'#J_OFUQRO'#JhOF`QRO'#JpOFgQQO'#JqOOQO'#Jr'#JrOOQO'#Js'#JsOFoQQO'#JtOYQRO'#JuO,YQRO'#JvO,YQRO'#JwOFtQQO'#JzOGhQQO'#J{OGoQRO'#J|OOQO'#L_'#L_OOQO'#L^'#L^OGvQQO'#L]OYQRO'#L]QOQQOOOYQRO'#KROOQO'#Ku'#KuQ%TQQOOOOQO,5fOHRQQO,5>gOH^QQO,5>oOHRQQO,5>rOEUQQO,5?_OHfQQO,5?`OHRQQO,5?aOHRQQO,5?eOHRQQO,5?kOHRQQO,5?mOHnQSO'#LjOOQO,5=c,5=cOJvQQO,5=cOOQO'#HR'#HROOQO'#HQ'#HQOJ{QQO'#HPOKQQQO'#LnOOQO'#HO'#HOOOQO,5=i,5=iOKYQQO,5=iOK_QXO,5=dOKvQRO'#HWOK}QQO,5=pOLSQRO'#H]OOQO,5=v,5=vOLZQ`O'#H`O.hQQO,5=vOL`QSO,5>UONcQQO,5=|OOQO,5=},5=}ONhQQO,5=}OOQO'#He'#HeONmQQO,5>OOOQO'#Lu'#LuOOQO-E>[-E>[OOQP'#Hl'#HlONxQRO'#HlO!!rQQO'#HlO!!wQQO'#HlO!!|QQO'#HlO,YQRO,5>VO!#RQSO,5>`OOQP'#Gb'#GbOOQO'#Hr'#HrOOQO,5>Y,5>YO!%aQRO,5>YO!%hQQO'#HuO!%sQRO'#HxOOQO'#L|'#L|OOQO'#K_'#K_O!%}QSO,5>XO!*gQQO,5?nO!*gQQO,5?nO!*gQQO,5?nO!*gQQO,5?nO!*rQQO,5?nO!*zQQO,5?nO!+SQQO,5?pOOQO,5?q,5?qO!+qQRO,5?rO!,OQQO,5?tO!,TQQO'#HhOOQO,5?u,5?uOEUQQO'#MZOEUQQO'#M[O!,bQQO,5?vOOQO,5?v,5?vO!,yQQO,5?wO!*gQQO,5?xO!.`QQO'#GbOOQO'#M]'#M]O!.gQQO,5?yOEcQQO,5?yO!/[QSO'#I|OOQO'#Hw'#HwOOQO'#MX'#MXO!/iQQO'#MWO,YQRO,5@SO!/qQQO,5@SOOQO,5@[,5@[O!/vQQO,5@[OYQRO,5@[OEUQQO,5@]O!0eQQO,5@]O!0jQQO,5@`OOQO,5@a,5@aO!0oQSO,5@bO!1SQSO'#JyOOQO,5@c,5@cO!1^QQO,5@fOOQO'#Me'#MeO!1cQQO,5@gOFyQQO,5@gOOQO,5@h,5@hO!1hQQO,5@hOYQRO,5@hO!5}QRO,5@pO!6XQQO,5AwOOQP-E>S-E>SOOQO@'iOOOQO-E>s-E>sO!6dQQO1G2gO!7RQQO1G2sO!7WQQO1G4QO!7]QQO'#H|O!7RQQO1G4ROEUQQO1G4RO!7bQQO1G4ZO!7gQQO1G4ZO!7RQQO1G4^OEUQQO1G4^O!7lQQO1G4yO!8QQQO1G4zO!8VQQO1G4zO!8[QQO1G4{OEUQQO1G4{O!9eQQO1G5POEUQQO1G5PO!9xQQO1G5VOEUQQO1G5VO!9}QQO1G5XOEUQQO1G5XO,YQRO'#KYO!:SQQO,5BUOOQO1G2}1G2}O,YQRO,5=kO!QO2nQQO'#K]O!GkQQO,5>RO!I}QRO1G3jOOQP,5>W,5>WO!KkQQO,5>WO!KpQQO,5>WOOQO1G3q1G3qO!KuQSO'#HsO!LVQQO'#HsO!LeQQO'#MOO!LmQQO1G3tO!LrQSO'#GbOOQO,5>a,5>aO.hQQO,5>aO#!lQSO,5>dO,YQRO'#HyO#!sQQO,5>dOOQO-E>]-E>]O#!xQQO'#JTOOQO1G5Y1G5YOEUQQO1G5YO#!}QQO1G5YOEUQQO1G5YO##SQQO1G5YOEUQQO1G5YO##XQQO1G5YOEUQQO1G5YO##^QQO1G5YO##cQQO1G5YO##hQQO1G5[OEUQQO1G5[O##|QQO1G5^O,YQRO1G5^O#$RQQO1G5`OOQO,5Bu,5BuOOQO,5Bv,5BvOOQO1G5b1G5bO#$WQQO1G5cO!7RQQO1G5dOEUQQO1G5dO#$`QRO'#J`OEUQQO'#JaOEUQQO'#JdOOQO'#M^'#M^O#$eQQO1G5eO!.gQQO1G5eOEUQQO,5?hOFXQRO'#KnO#%PQQO,5BrO#%XQQO1G5nO#%^QRO1G5nO#%eQRO'#JeODqQQO'#JfOOQO'#Jg'#JgOOQO1G5v1G5vO#%rQQO1G5vO#&WQQO1G5vO#&_QQO1G5vO#&iQQO1G5vO#&vQRO1G5wOEUQQO1G5wO#'RQQO1G5zO#'XQQO,5@dO#'aQQO,5@eO,YQRO1G6QOFyQQO1G6RO#'uQQO1G6RO#$`QRO'#J}O#'zQQO'#KOOOQO'#Mf'#MfOOQO'#Mg'#MgO#(PQQO'#MgO#(eQQO'#MgO#(lQQO'#MgOOQO1G6S1G6SO#(vQQO1G6SO!1hQQO1G6SO#)eQRO1G7cP#)oQQO'#KUOOQO1G6X1G6XO#)tQQO'#GcO#*SQQO'#GeO#*hQQO'#GhO#*mQQO'#GkOOQO'#KV'#KVO#*rQQO7+(RO#+aQQO'#GnO#+lQQO7+(_OEUQQO7+)lO#+zQQO,5>hO#,kQQO7+)mO!7RQQO7+)mO#-OQQO'#IUO#-WQQO7+)uO!7bQQO7+)uO#-]QQO7+)xO!7RQQO7+)xOOQO7+*e7+*eO,YQRO7+*fO#-eQQO7+*fODqQQO'#IvO#'XQQO'#IwO#'XQQO'#IxOOQO'#Kk'#KkO#-jQQO7+*gO#-jQQO7+*gO#.XQQO'#IzO#.jQQO'#ISO#.uQQO'#I{ODqQQO'#JOOOQO'#Kl'#KlO#.zQQO7+*kO#.zQQO7+*kO#/_QQO7+*qO#/jQQO7+*qO#/oQQO7+*sO#/zQQO7+*sO#0PQSO,5@tOOQO-E>W-E>WO#2XQSO1G3VOOQO,5@u,5@uOOQO-E>X-E>XOOQO,5=n,5=nO!Z-E>ZOOQO7+)U7+)UOOQP1G3r1G3rO#8`QQO1G3rOEUQQO,5>_O#8}QQO,5>_O!%aQRO'#K`O#9YQQO,5BjOOQO7+)`7+)`OOQO1G3{1G3{OOQO1G4O1G4OO#9bQSO,5>eOOQO,5?o,5?oOOQO7+*t7+*tO#9iQQO7+*tO#9tQQO7+*tO#9yQQO7+*tO#:UQQO7+*tO#:ZQQO7+*tO#:fQQO7+*tOOQO7+*v7+*vO#:kQQO7+*vOErQQO7+*xO#;PQQO7+*xOEUQQO7+*zOOQO7+*}7+*}OOQO7++O7++OO!7RQQO7++OO!AtQQO1G3OOOQO,5?z,5?zO#;UQ`O'#JbO#;ZQQO'#M_OOQO,5?{,5?{OOQO,5@O,5@OOOQO7++P7++PO#;{QQO7++PO#l-E>lO#cQQO7++bO#>jQQO7++bOOQO7++c7++cO#$`QRO7++cOEUQQO7++cO#>tQRO7++cOYQRO'#HbO#-WQQO7++fO#?PQQO1G6OO#?XQQO1G6PO#?aQQO1G6PO#?uQSO7++lO#@YQQO7++mOFyQQO7++mOOQO,5@i,5@iOOQO,5@j,5@jOOQO,5CR,5CRO#@_QQO,5CRO#@sQQO,5CROOQO7++n7++nO#(vQQO7++nPOQP,5@p,5@pOOQO'#Gd'#GdO#@zQQO'#LbOOQO,5<},5<}OOQO'#Gf'#GfO#AlQQO'#GfO#AqQQO'#GfO#AvQQO'#LdOOQO,5=P,5=POOQO,5=S,5=SOOQO,5=V,5=VOOQO-E>T-E>TOOQO,5=Y,5=YOEUQQO,5=YO#BhQQO'#MROOQO'#Go'#GoO#'XQQO'#GoO,YQRO'#GoO#CPQQO<p,5>pO#DhQQO,5>pO#DmQQO<i-E>iO#E}QQO<nOOQO,5>n,5>nOFXQRO,5?gOOQO,5?j,5?jOOQO-E>j-E>jO#IcQQO<Y-E>YOOQO1G3`1G3`OOQO<^-E>^OOQO<r-E>rOFyQQO<= XO$+YQQO<= XOOQO1G8m1G8mO$+_QQO1G8mOOQO<= Y<= YO#)tQQO'#KWO$+sQQO,5A|O$,eQQO,5=QOEUQQO,5=QO#*SQQO'#KXO$,jQQO,5BOOOQO1G2t1G2tO#'XQQO'#KaO$-[QQO,5BmOOQO,5=Z,5=ZO$-sQSO,5=ZOOQOANAeANAeOOQOANBrANBrO$.QQQO,5>iO2nQQO,5>iO$/RQSO,5>jO$0OQSO,5>lO$0{QSO,5>mOOQO-E>`-E>`O$1xQQOANBsO2nQQO,5BoOOQO1G4[1G4[O$2]QQO'#IVOOQO'#IV'#IVOOQO'#Kf'#KfO$2bQQOANB{O$2bQQOANB{OOQO,5>s,5>sOOQO'#IY'#IYO$3PQQO'#IZO$3UQQO'#IeO$3UQQO'#IkOOQOANCOANCOO#E[QQOANCOO$3ZQSOANClOEUQQO1G5QOEUQQO1G5QO$3nQQO'#MSO$3|QQO,5@}OOQO-E>a-E>aO$4XQQO1G5RO$4^QQO'#JQO$5XQQOANCwO2nQQOANCwOEUQQOANCwO$5^QQOANCyO$5cQQOANCyOOQO7+(t7+(tO!n-E>nOOQOANDVANDVO$7uQQOANDVO$&{QQOAND`OOQOAND`AND`O#q-E>qOOQO<= U<= UO!1VQSO1G6zOOQO<= V<= VP$?oQQO'#KtO$@VQQOANDsOFyQQOANDsOOQO7+.X7+.XOOQO,5@r,5@rOOQO-E>U-E>UO$@jQQO1G2lO$@oQQO1G2lOOQO,5@s,5@sOOQO-E>V-E>VOOQO,5@{,5@{OOQO-E>_-E>_OOQO1G2u1G2uO#'XQQO1G2uO$@tQQO1G4TO$AuQQO1G8ZOOQO,5>q,5>qOOQO-E>d-E>dO$BTQQOG28gOEUQQO,5>uO$BrQQO'#IfO$C]QQO,5?PO$D_QQO,5?VOOQOG28jG28jO$DrQQO'#MVOOQO7+*l7+*lO$EvQQO7+*lO$FwQQO'#KdO$GVQQO,5BnOOQO1G6i1G6iO,YQRO7+*mOOQO,5?l,5?lO$GeQQOG29cO$GjQQOG29cO2nQQOG29cO$GoQQOG29eO$GtQQOG29eOOQO<m-E>mOOQO,5?s,5?sOOQOG29jG29jO$GyQQOG29jOOQOG29lG29lO$H_QQOG29lOOQOG29qG29qO$o-E>oOOQO,5AR,5AROOQO-E>e-E>eO$LOQQOG2:TOOQOG2:TG2:TO$LTQQOG2:TO$LYQSO1G6yOOQOANDpANDpO$LaQQOANDpP$LfQQO'#KsOOQO7+,f7+,fOOQOG2:_G2:_O$LkQQOG2:_O$MPQQOG2:_O$MWQQOG2:_O$MbQQOG2:_O$MrQQO7+(WOOQO7+(W7+(WOOQO7+(a7+(aO$MwQQO'#KeO$M|QQO7+-uO$NvQQO1G4aOOQO,5?Q,5?QO% ZQQO'#IhO% rQQO'#I]O% wQQO'#IaO% |QQO'#IgO%!XQQO'#IiO%!^QQO'#IjOOQO'#Ki'#KiO%!cQQO1G4kO%!vQQO'#IlO%#bQQO'#ImO%#gQQO'#InO%#lQQO'#IoO%#qQQO'#IpOOQO'#Iq'#IqOOQO'#Ir'#IrOOQO'#Kj'#KjO%#vQQO1G4qOEUQQO'#KmO%$ZQQO,5BqOEUQQO<b-E>bO%%_QQO<c-E>cO%)bQQO'#I[O%*fQQO'#I^O%*kQQO'#I_O%*pQQO'#I`O%*uQQO'#IbO%*zQQO'#IcO%+PQQO'#IdOOQO'#Kh'#KhO%+UQQO7+){OOQO,5?S,5?SOOQO,5>w,5>wOOQO,5>{,5>{OOQO,5?R,5?ROOQO,5?T,5?TOOQO,5?U,5?UOOQO-E>g-E>gOOQO,5?W,5?WO$ lQQO,5?WOOQO,5?X,5?XOOQO,5?Y,5?YOOQO,5?Z,5?ZOOQO,5?[,5?[OOQO-E>h-E>hOOQO,5AX,5AXOOQO-E>k-E>kOOQOANCrANCrOOQOANCsANCsO%+iQQOANCsOOQO!$($i!$($iO%,gQQO!$($iOOQO!$($k!$($kOEUQQO!$($kOOQO!$($r!$($rOOQO!$(%Q!$(%QOOQO7++]7++]OOQO1G8h1G8hO%,lQQO1G8hO%-QQQO,5COO%-VQQO!$(%ZO%-[QQO!$(%ZOOQO<=!P<=!POOQO!$(%e!$(%eO%-aQQO!$(%eO%-uQQO!$(%eOOQOANA^ANA^O2nQQO1G6kO%-|QQO,5>vOOQO,5>x,5>xOOQO,5>y,5>yOOQO,5>z,5>zOOQO,5>|,5>|OOQO,5>},5>}OOQO,5?O,5?OOOQO-E>f-E>fOOQO1G4r1G4rOOQOG29_G29_OOQO!)9HT!)9HTOOQO!)9HV!)9HVOOQO7+.S7+.SO%.RQQO1G8jO%.ZQQO!)9HuO%.`QQO!)9HuOOQO!)9IP!)9IPO%.eQQO!)9IPO%.yQQO7+,VO%/XQQO1G4bO%/^QQO'#KrO%/cQQO7+.UO%/kQQO!.K>aO%/pQQO!.K>aOOQO!.K>k!.K>kO%/uQQO7+)|O,YQRO,5A^OOQO-E>p-E>pOEUQQO!4/3{O%/zQQO!4/3{O%0PQQO<s1{@}@}@}AcP1{BtCxBtDaPPPEjEqEwEeFzF}EeGW+]+]GZGsGsGsGsGsGy+]HV1]+]H]HcHcHiHmHiHiHiHmHiHiHiHcHuH{IPIPH{HcITITITITITITIT+]+]+]IXIXIX+]I_I_IeIqI_+]I|+]+]JV+]+]+]Jl+]+]+]+]+]+]J{J{KZPKdKlLaMp+]! k! p! |!!U!!b!!m!!x+]+]+]+]+]+]+]+]!#Z!#Z+]+]+]KhKhPP!#^P!#b!#e!#l!#r!#x!$O!$U!$[!$f!$t!&T!&[!&b!&h!&r!&x!'O!'U!'`!'f!'l!'r!'x!(S!(^!(d!(j!(p!(v!(|!)S!)Y!)`PPPPPPPPPPPPPPPPPPPPP!)f!)l!)}PP!*qP!*tPP!*w!,w!.O!/ZP!0WP!0lPP!0oPPP!0uPPPPPP!1mP!1rPP!1u!2R!2U!2X!2z!3T!3^!3f!3l!3o!3u!3{!4R!4_!4h!4q!4z!5Q!5W!5j!5pq!TOabx}!S!W!Y!z$W$f&o)f)i)t,UQ#aiQ#xtS#{v#}[$a!R$c'O){,o/SQ$l!aQ$m!bQ$n!cQ$p!dQ$t!fQ$v!gQ$y!iQ${!jQ$}!kQ%P!lQ%w#cQ&O#hQ&Q#iQ&S#jQ&U#kQ&_#tQ&`#uQ&c#yQ&x$XQ'j$qQ'o$uQ'x$zQ(P$|Q(R%OQ(T%QQ(x&PQ(z&RQ(|&TQ)O&VQ)Q&ZQ)W&dY)Z&f&g+}3y4OQ)c&kQ)s&yQ*a'eQ*h'gQ+m(oQ+q(}S+w)R+yQ+z)Tf,b)r*x,f.P.`.e.f0Y0[1o2|Q,z*bQ-q+^Q-z+nS-{+t+uQ.a,WQ/X,wU/j-i-j1hQ/t-rQ/y-|Q/z-}Q0V.bQ0m.tQ1R/eR2t1fT'c$l'dQ*V'_R/U,tQ*['`R/Y,xQ!eUQ#lmT'a$l'dS'c$l'dQ'p$vW'v$y'w'x+RW'}${(O(P+[W*p'i*q*r-XQ-P*gQ-Q*hX-^*v-_-`/dQ'f$mQ'i$pQ'n$tQ)V&cQ*r'jQ*z'oR+{)WR*g'f#VfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3w#UfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3w[$a!R$c'O){,o/S`%Z!w%[([(]+c+d-v4SQ)u&zR)}'R#UfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wS#{v#}[$a!R$c'O){,o/SS+w)R+yR/z-}#U[OXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wg4Tv!R#}$c'O)R){+y,o-}/Sa%Z!w%[([(]+c+d-v4S#UfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3w`%Z!w%[([(]+c+d-v4SQ)Y&eQ)p&xQ)|'QS,`)q,eQ,d)sR0k.qR!vZQ!sZR(X%VT!rZ%VT!qZ%VT%^!w4S#V^OXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wQ!y^Q!{`Q%f!}R(t%xR%b!yR(d%a#UfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wS#{v#}]$a!R$c'O){,o/SR!{_R!}`#UfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wQ)u&zQ)v&{W*c'f*e-O/_Q+O'tQ+P'uQ.z,hQ/[,{Q0t.{R3V2S#UfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wQ&|$^Q)u&zQ)v&{W*c'f*e-O/_Q*v'lQ+O'tQ+P'uQ,g)uQ,l)wQ-`*wQ.z,hQ/P,mQ/[,{Q0t.{Q0v/OR3V2Su#Uc${%j%k(O(P*j+[+]-S-Y-q/g/h/t1[1e3[#UfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wQ#srQ)k&qQ*}'sR+Y'|#TlOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3w{#]g!m#^$O$]$^%r%y(U(W(v)y*{-O-T-U-V-h.V/O0r#SkOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wV#ejk#gQ#aiT%s#b(qQ%t#bR+o(qS!XOPQ%{#dQ&v$VW'W$e'Y'Z*SS(p%r%sQ)o&wU,Y)h,T.^W-]*v-_-`/dQ.R+xQ.d,ZQ/o-lQ0O.SR2x1kR%x#cW$Qw#p&l+XR%w#cR%{#dQ$q!dQ$s!eQ$u!fQ$x!hQ$z!iQ$|!jQ%O!kR%Q!lX*p'i*q*r-XW'}${(O(P+[X*p'i*q*r-XQ'l$rR*w'mQ*y'nR-g*zQ-f*yR/i-gT2d1R2eS1Z/g1[T2d1R2eQ/g-dR/h-eT1Z/g1[S1Z/g1[T1d/h1eX'v$y'w'x+RX'}${(O(P+[W$Qw#p&l+XQ&n$SR)S&]U.m,[.[0TQ2w1kR3f2xQ-p+]Q/s-qR1n/tQ&P#hQ&R#iQ&T#jQ&V#kQ&W#lQ&X#mR&d#yQ.Q+xS/}.R.SU0h.n0S1tR1q0OS&h#|&jS'S$e'ZQ0z/RR2X0{W)[&f&g3y4OR.W+}S&h#|&jT'S$e'ZQ&u$VW'V$e'Y'Z*SQ)a&iS)n&v&wQ*Q'WQ,R)bQ,_)oQ0y/RS2W0z0{R3Y2XQ&t$VW'U$e'Y'Z*SQ)`&iU)m&u&v&wS*P'V'WS,Q)a)bS,^)n)oQ,r*QQ.Z,RQ.p,_U0g.n0S1tQ0x/RQ2O0hU2V0y0z0{S3X2W2XR3n3YQ&s$VW'T$e'Y'Z*SQ)_&iW)l&t&u&v&wU*O'U'V'WU,P)`)a)bU,])m)n)oS,q*P*QS.Y,Q,RS.o,^,_Q/T,rQ0R.ZU0f.n0S1tQ0j.pQ0w/RS1}0g0hW2U0x0y0z0{Q3R2OU3W2V2W2XS3m3X3YR3u3nV,Z)h,T.^U,X)h,T.^S.c,Y,ZR0W.dU.l,[.[0TR0c.mU.k,[.[0TS0b.l.mR1z0c[.i,[.[.l.m0T0cR0a.j[.j,[.[.l.m0T0cR0a.iU0e.n0S1tU1|0f0g0hS3Q1}2OR3i3RR$_!PT!ZQ![R'^$jS!WObR$i!WQ'd$lR*`'dQ,u*VR/V,uQ,y*[R/Z,yQ%S!mR(V%SQ%W!sR(Y%WQ(c%aQ+f(aT+g(c+fb%l#T'y(h-R-o/`/a1T3oR(k%l#UeOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wS#Ve#rX#rr&q's'|S#gjkR%|#gQ(r%tR+p(rQ,|*cR/],|Q*q'iS-W*q-XR-X*rQ+V'zR-m+VQ/n-kR1j/nQ1Q/aR2[1QQ-_*vS/c-_/dR/d-`Q.u,bR0n.uQ2e1RR3d2eQ1[/gR2l1[Q1e/hR2s1eQ'w$yS+Q'w+RR+R'xQ(O${S+Z(O+[R+[(PQ1g/jR2u1gQ&m$RR)e&mQ.O+wR/{.OQ,O)[R.X,OQ.r,`R0l.rQ3r3jR3x3rQ,i)vR.|,iQ)x&|R,n)xQ![QR$k![Q!XOR#RbS!VObS#Pa)tQ$[}Q$h!WR$j!Y^!UOab}!W!Y)tQ$UxQ$d!SQ%d!zQ&s$WQ'X$fQ)g&oS,S)f)iR.],UR*W'_R*]'`^gOab}!W!Y)tn!mXx!S!x!z$W$f&o&p)f)i,U/p2P3wQ#^h[$Ow#p$S&]&l+XQ$]!OQ$^!PQ%q#]S%r#b(qQ%y#dQ(U%RQ(W%UQ(v%zQ)y&}Q*{'qQ-O*fQ-T*lQ-U*nQ-V*oQ-h*|Q.V+|Q/O,kR0r.y#SjOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wR(l%m#UfOXabhwx}!O!P!S!W!Y!x!z#]#b#d#p$S$W$f%R%U%m%z&]&l&o&p&}'q(q)f)i)t*f*l*n*o*|+X+|,U,k.y/p2P3wQ-y+lR3e2nQ!oXQ$VxQ$e!SQ%`!xQ%d!zQ&w$WQ'Z$fQ)h&oQ)j&pS,T)f)iQ.^,UQ1k/pQ3S2PR3|3wQ%]!wQ(Z%[Q)X4SS+b([(]S-u+c+dR/w-vR!tZX(b%a(a(c+fQ#TcW'y${(O(P+[Q(h%jQ(j%kQ-R*jU-o+]-q/tQ/`-SQ/a-YW1T/g/h1[1eR3o3[V#fjk#gR%u#bQ*d'fQ,}*eQ/^-OR1O/_R-l+UR*u'kQ,c)rQ-a*xQ.x,fQ/|.PQ0U.`Q0X.eQ0Z.fQ1u0YQ1w0[Q2{1oR3h2|Q/k-iQ/l-jR2v1hQ$TwQ&[#pR-n+XU$Rw#p+XR)d&lQ+x)RR.S+yR#vsQ#wsR&a#vQ#|vR&j#}Q&i#|R)b&jQ)]&fQ)^&gQ3}3yR4R4OQ,[)hQ.[,TR0T.^Q.n,[Q0S.[R1t0TQ0i.nQ1s0SR3O1tQ,a)qR.w,eQ2Q0oR3U2RQ$b!RQ'P$cQ)z'OQ,p){Q/R,oR0{/SQ'Y$eR*S'ZQ'X$eS*R'Y'ZR,s*S", - nodeNames: "⚠ BraceOpen Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Literal Literal Literal Bool Literal None None Bool Literal Literal Literal Literal Literal PermissionTarget PermissionTarget PermissionTarget PermissionTarget TokenType TokenType TokenType TokenType TokenType TokenType TokenType TokenType TokenType TokenType TokenType Distance Distance Distance Distance Distance Distance Distance Distance Filter Filter Filter Filter Filter Filter Tokenizer Tokenizer Tokenizer Tokenizer FunctionName FunctionName Comment SurrealQL BeginStatement CancelStatement CommitStatement DefineAnalyzerStatement Ident TokenizersClause AnalyzerTokenizers FiltersClause AnalyzerFilters Int FunctionClause Keyword FunctionName CommentClause String DefineEventStatement OnTableClause WhenThenClause String Float Decimal VariableName Ident ] [ Array RecordId RecordTbIdent Colon RecordIdIdent BraceClose Object ObjectContent ObjectProperty ObjectKey KeyName RecordIdRange > FunctionJs FunctionName ArgumentList BraceOpen JavaScriptBlock JavaScriptContent FunctionCall ArgumentListCount FunctionName < Version VersionNumber SubQuery Block TypeCast TypeName ParameterizedType UnionType Duration DurationPart Point BinaryExpression Operator Path GraphPath GraphLeft GraphRight GraphBoth Any GraphPredicate WhereClause Subscript FunctionName Any Filter WhereClause DefineDatabaseStatement DefineFieldStatement IfNotExistsClause TypeClause DefaultClause ReadonlyClause ValueClause AssertClause PermissionsForClause DefineFunctionStatement ParamList PermissionsBasicClause DefineIndexStatement FieldsColumnsClause UniqueClause SearchAnalyzerClause Bm25Clause DocIdsOrderClause DocLenghtsOrderClause PostingsOrderClause TermsOrderClause DocIdsCacheClause DocLenghtsCacheClause PostingsCacheClause TermsCacheClause MtreeClause IndexDimensionClause MtreeDistClause IndexTypeClause IndexCapacityClause MtreeCacheClause HnswClause HnswDistClause IndexLmClause IndexM0Clause IndexMClause IndexEfcClause IndexExtendCandidatesClause IndexKeepPrunedConnectionsClause DefineNamespaceStatement DefineParamStatement DefineScopeStatement SessionClause SigninClause SignupClause DefineTableStatement TableTypeClause TableViewClause Predicate GroupClause ChangefeedClause DefineTokenStatement TokenTypeClause DefineUserStatement RemoveStatement IfExistsClause InfoForStatement KillStatement LiveSelectStatement FetchClause ShowStatement SleepStatement UseStatement OptionStatement RebuildStatement CreateStatement ContentClause SetClause FieldAssignment Operator UnsetClause ReturnClause TimeoutClause ParallelClause SelectStatement WithClause SplitClause OrderClause LimitStartComboClause StartClause LimitClause ExplainClause DeleteStatement InsertStatement BreakStatement ContinueStatement ForStatement ReturnStatement ThrowStatement IfElseStatement Legacy Modern LetStatement RelateStatement UpdateStatement MergeClause PatchClause PermissionInput CombinedResults CombinedResult Comment CommentResultClose", - maxTerm: 472, - nodeProps: [ - ["group", -23,139,141,142,143,195,200,204,205,206,207,208,211,212,217,224,230,236,237,238,242,244,245,247,"Value",-37,186,187,188,189,201,260,261,269,272,299,300,301,305,311,313,314,316,317,318,320,321,322,323,324,325,334,342,343,344,345,346,347,348,349,352,353,354,"Statement"], - ["openedBy", 209,"[",216,"BraceOpen",223,"<"], - ["closedBy", 210,"]",227,"BraceClose",233,">",360,"CommentResultClose"] - ], - propSources: [surqlHighlighting], - skippedNodes: [0,184], - repeatNodeCount: 32, - tokenData: "#4[!aR!kOX%vXY&sYZ'gZ]%v]^&s^p%vpq&sqr'nrs)]st*{tu,juv%vvw.zwx/oxy1Wyz1zz{2n{|3s|}5c}!O6V!O!P!!|!P!Q!$j!Q![!%d![!]!?V!]!^!?y!^!_!@m!_!`!C}!`!a!Dy!a!b!Es!b!c!Fy!c!}!Gs!}#O!LW#O#P%v#P#Q!Lz#Q#R%v#R#S!Gs#S#T!Mn#T#W!Gs#W#X##s#X#Y!Gs#Y#Z#(^#Z#f!Gs#f#g##s#g#h##s#h#i!Gs#i#j##s#j#o!Gs#o#p#.Z#p#q#.b#q#r#0O#r#s(i#s%o%v%o%p(i%p&a%v&a&b(i&b%&b%v%&b%&c(i%&c%&d(i%&d%&e%v%&e%&f(i%&f%&g(i%&g%)Q%v%)Q%)R(i%)R%)S(i%)S%)T(i%)T%)U(i%)U%)V(i%)V%)W(i%)W%GS%v%GS%GT#0V%GT;'S%v;'S;=`&m<%lO%v!Q%{X*f!QOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!Q&mO*f!Q!Q&pP;=`<%l%v!a&zX*f!Q*O_OY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!a'nO*f!Q*O_!W's[*f!QOY%vYZ&hZr%vsw%vx!_%v!_!`(i!`#o%v#p#q%v#r#s(i#s;'S%v;'S;=`&m<%lO%v!W(pX*f!Q*kUOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!R)`VOr)]rs)us#O)]#O#P)|#P;'S)];'S;=`*u<%lO)]!R)|O%`P*f!Q!R*PRO;'S)];'S;=`*Y;=`O)]!R*]WOr)]rs)us#O)]#O#P)|#P;'S)];'S;=`*u;=`<%l)]<%lO)]!R*xP;=`<%l)]!a+S]*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{_,QS%O_OY+{Z;'S+{;'S;=`,^<%lO+{_,aP;=`<%l+{!a,gP;=`<%l*{!R,o`*f!QOY%vYZ&hZr%vsw%vx!Q%v!Q![-q![!c%v!c!}-q!}#R%v#R#S-q#S#T%v#T#o-q#p#q%v#r;'S%v;'S;=`&m<%lO%v!R-x`%gP*f!QOY%vYZ&hZr%vsw%vx!Q%v!Q![-q![!c%v!c!}-q!}#R%v#R#S-q#S#T%v#T#o-q#p#q%v#r;'S%v;'S;=`&m<%lO%v!W/PY*f!QOY%vYZ&hZr%vsv%vvw(ix#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!R/rVOw/owx)ux#O/o#O#P0X#P;'S/o;'S;=`1Q<%lO/o!R0[RO;'S/o;'S;=`0e;=`O/o!R0hWOw/owx)ux#O/o#O#P0X#P;'S/o;'S;=`1Q;=`<%l/o<%lO/o!R1TP;=`<%l/o!X1_X*XV*f!QOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!X2RX*YV*f!QOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!X2w^*tP*f!Q*kUOY%vYZ&hZr%vsw%vxz%vz{(i{!_%v!_!`(i!`#o%v#p#q%v#r#s(i#s;'S%v;'S;=`&m<%lO%v!`3zZ*f!Q*kUOY%vYZ&hZr%vsw%vx!_%v!_!`4m!`#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!`4vX(VW*f!Q*kUOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!X5jX*VV*f!QOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!a6^`*f!Q*lUOY%vYZ&hZr%vsw%vx}%v}!O7`!O!Q%v!Q![Fm![!_%v!_!`4m!`!a!!Y!a#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!a7g_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x}*{}!O8f!O#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!a8m_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x}*{}!O9l!O#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!a9s_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x}*{}!O:r!O#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!a:y_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x}*{}!O;x!O#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!aU!O#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!a>]_*f!Q%O_OY*{YZ&hZp*{pq?[qr*{rs+{sw*{wx+{x#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!a?c_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x!s*{!s!t@b!t#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!a@i_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x#i*{#i#jAh#j#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!aAo_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x#X*{#X#YBn#Y#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!aBu_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x#f*{#f#gCt#g#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!aC{_*f!Q%O_OY*{YZ&hZr*{rs+{sw*{wx+{x#m*{#m#nDz#n#o*{#o#p+{#p#q*{#q#r+{#r;'S*{;'S;=`,d<%lO*{!aET]*f!Q(vV%O_OYDzYZ&hZrDzrsE|swDzwxE|x#oDz#o#pE|#p#qDz#q#rE|#r;'SDz;'S;=`Fg<%lODz_FTS(vV%O_OYE|Z;'SE|;'S;=`Fa<%lOE|_FdP;=`<%lE|!aFjP;=`<%lDz!VFtb*f!Q%ZTOY%vYZ&hZr%vsw%vx!O%v!O!PG|!P!Q%v!Q![Fm![!g%v!g!hJQ!h#W%v#W#XMS#X#YJQ#Y#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!RHRZ*f!QOY%vYZ&hZr%vsw%vx!Q%v!Q![Ht![#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!RH{a*f!Q%ePOY%vYZ&hZr%vsw%vx!Q%v!Q![Ht![!g%v!g!hJQ!h#W%v#W#XMS#X#YJQ#Y#Z! f#Z#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!RJV_*f!QOY%vYZ&hZr%vsw%vx{%v{|KU|}%v}!OKU!O!Q%v!Q![K|![#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!RKZZ*f!QOY%vYZ&hZr%vsw%vx!Q%v!Q![K|![#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!RLT_*f!Q%ePOY%vYZ&hZr%vsw%vx!Q%v!Q![K|![#W%v#W#XMS#X#Y%v#Y#Z! f#Z#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!RMXZ*f!QOY%vYZ&hZr%vsw%vx#X%v#X#YMz#Y#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!RNPZ*f!QOY%vYZ&hZr%vsw%vx#V%v#V#WNr#W#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!RNyX*f!Q%fPOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!R! mX*f!Q%ePOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!X!!aX&dV*f!QOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!X!#TZ*sU*f!QOY%vYZ&hZr%vsw%vx!O%v!O!P!#v!P#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!X!#}X*cV*f!QOY%vYZ&hZr%vsw%vx#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!a!$qZ*f!Q*kUOY%vYZ&hZr%vsw%vx!P%v!P!Q*{!Q#o%v#p#q%v#r;'S%v;'S;=`&m<%lO%v!a!%mx&TW*f!Q%ZTOY%vYZ&hZp%vpq!(Zqr%vsw%vx!O%v!O!P!,l!P!Q%v!Q![!%d![!c%v!c!g!0j!g!h!1s!h!}!0j!}#R%v#R#S!0j#S#T%v#T#W!0j#W#X!9w#X#Y!1s#Y#[!0j#[#]!;Y#]#a!0j#a#b! (tokens(value, stack) << 1) | 1, external: tokens, extend: true}], - tokenPrec: 9170 -}) diff --git a/packages/lezer-surrealql/src/parser.terms.js b/packages/lezer-surrealql/src/parser.terms.js deleted file mode 100644 index 03e4ac08..00000000 --- a/packages/lezer-surrealql/src/parser.terms.js +++ /dev/null @@ -1,354 +0,0 @@ -// This file was generated by lezer-generator. You probably shouldn't edit it. -export const - objectOpen = 1, - analyzer = 2, - any = 3, - as = 4, - asc = 5, - assert = 6, - at = 7, - begin = 8, - bm25 = 9, - _break = 10, - by = 11, - cancel = 12, - capacity = 13, - changefeed = 14, - changes = 15, - columns = 16, - comment = 17, - commit = 18, - content = 19, - _continue = 20, - create = 21, - database = 22, - db = 23, - _default = 24, - define = 25, - _delete = 26, - desc = 27, - dimension = 28, - dist = 29, - doc_ids_cache = 30, - doc_ids_order = 31, - doc_lengths_cache = 32, - doc_lengths_order = 33, - drop = 34, - duplicate = 35, - efc = 36, - _else = 37, - end = 38, - exists = 39, - explain = 40, - extend_candidates = 41, - event = 42, - fetch = 43, - field = 44, - fields = 45, - filters = 46, - flexible = 47, - _for = 48, - from = 49, - group = 50, - highlights = 51, - hnsw = 52, - _if = 53, - ignore = 54, - _in = 55, - index = 56, - info = 57, - insert = 58, - into = 59, - keep_pruned_connections = 60, - key = 61, - kill = 62, - _let = 63, - limit = 64, - live = 65, - lm = 66, - m = 67, - m0 = 68, - merge = 69, - mtree = 70, - mtree_cache = 71, - namespace = 72, - noindex = 73, - normal = 74, - not = 75, - ns = 76, - on = 77, - only = 78, - option = 79, - order = 80, - out = 81, - parallel = 82, - param = 83, - passhash = 84, - password = 85, - patch = 86, - permissions = 87, - postings_cache = 88, - postings_order = 89, - readonly = 90, - rebuild = 91, - relate = 92, - relation = 93, - remove = 94, - _return = 95, - roles = 96, - root = 97, - sc = 98, - scope = 99, - schemafull = 100, - schemaless = 101, - search = 102, - select = 103, - session = 104, - set = 105, - show = 106, - since = 107, - signin = 108, - signup = 109, - sleep = 110, - split = 111, - start = 112, - structure = 113, - tb = 114, - table = 115, - terms_cache = 116, - terms_order = 117, - then = 118, - _throw = 119, - timeout = 120, - to = 121, - token = 122, - tokenizers = 123, - transaction = 124, - typeKeyword = 125, - unique = 126, - unset = 127, - update = 128, - use = 129, - user = 130, - valueKeyword = 131, - values = 132, - when = 133, - where = 134, - _with = 135, - after = 136, - before = 137, - diff = 138, - _false = 139, - full = 140, - none = 141, - _null = 142, - _true = 143, - f32 = 144, - f64 = 145, - i16 = 146, - i32 = 147, - i64 = 148, - selectPermissions = 149, - updatePermissions = 150, - createPermissions = 151, - deletePermissions = 152, - jwks = 153, - eddsa = 154, - es256 = 155, - es384 = 156, - es512 = 157, - ps256 = 158, - ps384 = 159, - ps512 = 160, - rs256 = 161, - rs384 = 162, - rs512 = 163, - and = 395, - or = 396, - is = 397, - opNot = 398, - opIn = 399, - contains = 400, - containsnot = 401, - containsall = 402, - containsany = 403, - containsnone = 404, - inside = 405, - notinside = 406, - allinside = 407, - anyinside = 408, - noneinside = 409, - outside = 410, - intersects = 411, - chebyshev = 164, - cosine = 165, - euclidean = 166, - hamming = 167, - jaccard = 168, - manhattan = 169, - minkowski = 170, - pearson = 171, - ascii = 172, - edgengram = 173, - lowercase = 174, - ngram = 175, - snowball = 176, - uppercase = 177, - blank = 178, - camel = 179, - _class = 180, - punct = 181, - _function = 412, - rand = 182, - count = 183, - Comment = 184, - SurrealQL = 185, - BeginStatement = 186, - CancelStatement = 187, - CommitStatement = 188, - DefineAnalyzerStatement = 189, - Ident = 190, - TokenizersClause = 191, - AnalyzerTokenizers = 192, - FiltersClause = 193, - AnalyzerFilters = 194, - Int = 195, - FunctionClause = 196, - functionKw = 197, - customFunctionName = 198, - CommentClause = 199, - String = 200, - DefineEventStatement = 201, - OnTableClause = 202, - WhenThenClause = 203, - prefixedString = 204, - Float = 205, - Decimal = 206, - VariableName = 207, - Array = 211, - RecordId = 212, - RecordTbIdent = 213, - RecordIdIdent = 215, - Object = 217, - ObjectContent = 218, - ObjectProperty = 219, - ObjectKey = 220, - RecordIdRange = 222, - FunctionJs = 224, - ArgumentList = 226, - JavaScriptBlock = 228, - FunctionCall = 230, - ArgumentListCount = 231, - FunctionName = 232, - VersionNumber = 235, - SubQuery = 236, - Block = 237, - TypeCast = 238, - Duration = 242, - DurationPart = 243, - BinaryExpression = 245, - Operator = 246, - Path = 247, - GraphPath = 248, - Any = 252, - GraphPredicate = 253, - WhereClause = 254, - AnyStar = 257, - DefineDatabaseStatement = 260, - DefineFieldStatement = 261, - IfNotExistsClause = 262, - TypeClause = 263, - DefaultClause = 264, - ReadonlyClause = 265, - ValueClause = 266, - AssertClause = 267, - PermissionsForClause = 268, - DefineFunctionStatement = 269, - ParamList = 270, - PermissionsBasicClause = 271, - DefineIndexStatement = 272, - FieldsColumnsClause = 273, - UniqueClause = 274, - SearchAnalyzerClause = 275, - Bm25Clause = 276, - DocIdsOrderClause = 277, - DocLenghtsOrderClause = 278, - PostingsOrderClause = 279, - TermsOrderClause = 280, - DocIdsCacheClause = 281, - DocLenghtsCacheClause = 282, - PostingsCacheClause = 283, - TermsCacheClause = 284, - MtreeClause = 285, - IndexDimensionClause = 286, - MtreeDistClause = 287, - IndexTypeClause = 288, - IndexCapacityClause = 289, - MtreeCacheClause = 290, - HnswClause = 291, - HnswDistClause = 292, - IndexLmClause = 293, - IndexM0Clause = 294, - IndexMClause = 295, - IndexEfcClause = 296, - IndexExtendCandidatesClause = 297, - IndexKeepPrunedConnectionsClause = 298, - DefineNamespaceStatement = 299, - DefineParamStatement = 300, - DefineScopeStatement = 301, - SessionClause = 302, - SigninClause = 303, - SignupClause = 304, - DefineTableStatement = 305, - TableTypeClause = 306, - TableViewClause = 307, - Predicate = 308, - GroupClause = 309, - ChangefeedClause = 310, - DefineTokenStatement = 311, - TokenTypeClause = 312, - DefineUserStatement = 313, - RemoveStatement = 314, - IfExistsClause = 315, - InfoForStatement = 316, - KillStatement = 317, - LiveSelectStatement = 318, - FetchClause = 319, - ShowStatement = 320, - SleepStatement = 321, - UseStatement = 322, - OptionStatement = 323, - RebuildStatement = 324, - CreateStatement = 325, - ContentClause = 326, - SetClause = 327, - FieldAssignment = 328, - assignmentOperator = 329, - UnsetClause = 330, - ReturnClause = 331, - TimeoutClause = 332, - ParallelClause = 333, - SelectStatement = 334, - WithClause = 335, - SplitClause = 336, - OrderClause = 337, - LimitStartComboClause = 338, - StartClause = 339, - LimitClause = 340, - ExplainClause = 341, - DeleteStatement = 342, - InsertStatement = 343, - BreakStatement = 344, - ContinueStatement = 345, - ForStatement = 346, - ReturnStatement = 347, - ThrowStatement = 348, - IfElseStatement = 349, - LetStatement = 352, - RelateStatement = 353, - UpdateStatement = 354, - MergeClause = 355, - PatchClause = 356, - PermissionInput = 357, - CombinedResults = 358, - CommentResult = 360 diff --git a/packages/lezer-surrealql/src/surrealql.grammar b/packages/lezer-surrealql/src/surrealql.grammar deleted file mode 100644 index 98cb1daf..00000000 --- a/packages/lezer-surrealql/src/surrealql.grammar +++ /dev/null @@ -1,1288 +0,0 @@ -@top SurrealQL { - expressions | WhereClause -} - -@top PermissionInput { - WhereClause | none | full -} - -@top CombinedResults { - combinedExpressions -} - -@precedence { - range @left - method - binary @left - union @left -} - -expressions { - (expression ";")* expression ";"? -} - -combinedExpressions { - CombinedResult { CommentResult expression CommentResultClose {} }+ -} - -expression { - statement | - value -} - -SubQuery { - "(" - expression - ")" -} - -Block { - "{" expressions? "}" -} - -statement[@isGroup=Statement] { - BeginStatement | - CancelStatement | - CommitStatement | - DefineAnalyzerStatement | - DefineEventStatement | - DefineDatabaseStatement | - DefineFieldStatement | - DefineFunctionStatement | - DefineIndexStatement | - DefineNamespaceStatement | - DefineParamStatement | - DefineScopeStatement | - DefineTableStatement | - DefineTokenStatement | - DefineUserStatement | - RemoveStatement | - InfoForStatement | - KillStatement | - LiveSelectStatement | - ShowStatement | - SleepStatement | - UseStatement | - OptionStatement | - RebuildStatement | - CreateStatement | - SelectStatement | - DeleteStatement | - InsertStatement | - BreakStatement | - ContinueStatement | - ForStatement | - ReturnStatement | - ThrowStatement | - IfElseStatement | - LetStatement | - RelateStatement | - UpdateStatement -} - -// Transaction statements - -BeginStatement { begin transaction? } -CancelStatement { cancel transaction? } -CommitStatement { commit transaction? } - -// Define statements - -DefineAnalyzerStatement { - define analyzer - Ident - ( - TokenizersClause | - FiltersClause | - FunctionClause | - CommentClause - )* -} -DefineEventStatement { define event Ident OnTableClause WhenThenClause CommentClause? } -DefineDatabaseStatement { define database Ident on Ident CommentClause? } - -DefineFieldStatement { - define field - IfNotExistsClause? - Ident - OnTableClause - ( - TypeClause | - DefaultClause | - ReadonlyClause | - ValueClause | - AssertClause | - PermissionsForClause | - CommentClause - )* -} - -ParamList { - "(" commaSep? ")" -} - -DefineFunctionStatement { - define functionKw - IfNotExistsClause? - customFunctionName - ParamList - Block - ( - PermissionsBasicClause | - CommentClause - )* -} - -functionKw[@name=Keyword] { function } - -DefineIndexStatement { - define index - IfNotExistsClause? - Ident - OnTableClause - FieldsColumnsClause - ( - UniqueClause | - SearchAnalyzerClause | - MtreeClause | - HnswClause - ) -} - -DefineNamespaceStatement { define namespace Ident CommentClause? } - -DefineParamStatement { - define param - IfNotExistsClause? - VariableName - valueKeyword - value -} - -DefineScopeStatement { - define scope - IfNotExistsClause? - Ident - ( - SessionClause | - SigninClause | - SignupClause | - CommentClause - )* -} - -DefineTableStatement { - define table - IfNotExistsClause? - Ident - ( - drop | - (schemafull | schemaless) | - TableTypeClause | - TableViewClause | - ChangefeedClause | - PermissionsForClause | - CommentClause - )* -} - -DefineTokenStatement { - define token - IfNotExistsClause? - Ident - ( on ( namespace | database | scope Ident ) ) - TokenTypeClause - ( valueKeyword String ) -} - -DefineUserStatement { - define user - IfNotExistsClause? - Ident - ( on ( root | namespace | database ) ) - ( ( password | passhash ) String ) - ( roles commaSep ) -} - -// Remove statement - -RemoveStatement { - remove - ( - ( namespace IfExistsClause? Ident ) | - ( database IfExistsClause? Ident ) | - ( user IfExistsClause? Ident on ( root | namespace | database ) ) | - ( token IfExistsClause? Ident on ( namespace | database | scope ) ) | - ( event IfExistsClause? Ident on table? Ident ) | - ( field IfExistsClause? Ident on table? Ident ) | - ( index IfExistsClause? Ident on table? Ident ) | - ( analyzer IfExistsClause? Ident ) | - ( functionKw IfExistsClause? customFunctionName ) | - ( param IfExistsClause? VariableName ) | - ( scope IfExistsClause? Ident ) | - ( table IfExistsClause? Ident ) - ) -} - -// Data statements - -CreateStatement { - create only? - createTarget { Ident | VariableName | FunctionCall | RecordId } - createContent { ContentClause | SetClause | UnsetClause | () } - ReturnClause? - TimeoutClause? - ParallelClause? -} - -SelectStatement { - (select) - ( - valueKeyword Predicate | - commaSep - ) - (from) - (only)? - ( - statement | - ( - commaSep - selectClauses1 { - WithClause? - WhereClause? - SplitClause? - } - selectClauses2 { - GroupClause? - OrderClause? - LimitStartComboClause? - } - selectClauses3 { - FetchClause? - TimeoutClause? - ParallelClause? - ExplainClause? - } - ) - ) -} - -DeleteStatement { - delete only? - ( - statement | - ( - commaSep - WhereClause? - ReturnClause? - TimeoutClause? - ParallelClause? - ) - ) -} - -InsertStatement { - insert - ignore? - into - Ident - ( - Object | - ( "[" commaSep "]" ) | - ( - "(" commaSep ")" - values - commaSep<( - "(" commaSep ")" - )> - on duplicate key update - commaSep - ) - ) -} - -IfElseStatement { - if - ( - Legacy { - value - then - ( Block | SubQuery) - ( - else if - value - then - ( Block | SubQuery) - )* - ( - else - ( Block | SubQuery) - )? - end - } | - Modern { - value Block - ( - else if - value Block - )* - ( - else Block - )? - } - ) -} - -relateSubject { Array | Ident | FunctionCall | VariableName | RecordId } -RelateStatement { - relate only? - relateSubject "->" relateSubject "->" relateSubject - ( ContentClause | SetClause )? - ReturnClause? - TimeoutClause? - ParallelClause? -} - -InfoForStatement { - info for - ( - root | - ns | namespace | - db | database | - ( sc Ident | scope Ident) | - ( tb Ident | table Ident) - ) - structure? -} - -UpdateStatement { - update only? - ( - statement | - ( - commaSep - updateClause1 { - ContentClause | - MergeClause | - PatchClause | - SetClause | - UnsetClause - }? - updateClause2 { - WhereClause? - ReturnClause? - TimeoutClause? - ParallelClause? - } - ) - ) -} - -// Control statements -BreakStatement { break } -ContinueStatement { continue } -ForStatement { for VariableName in ( Array | VariableName | SubQuery | Block ) Block } -ReturnStatement { return expression } -ThrowStatement { throw value } - -// Live statements -KillStatement { kill String } -LiveSelectStatement { - live select - ( - diff | - valueKeyword Predicate | - commaSep - ) - from commaSep<( Ident | RecordId )> - WhereClause? - FetchClause? -} - -// Other statements -LetStatement { let VariableName "=" value } -ShowStatement { - show changes for table - Ident - ( since String )? - ( limit Int )? -} - -SleepStatement { - sleep Duration -} - -useNs { ( ns | namespace ) Ident } -useDb { ( db | database ) Ident } -UseStatement { - use - ( useNs | useDb | ( useNs useDb ) ) -} - -OptionStatement { -option -Ident -( "=" ( true | false ) )? -} - -RebuildStatement { -rebuild index -IfExistsClause? -Ident -OnTableClause -} - -// Values - -baseValue { - String | - prefixedString | - number | - true | - false | - null | - none | - VariableName | - Ident[@dynamicPrecedence=-1] { rawident } | - Array | - RecordId | - FunctionJs | - FunctionCall | - SubQuery | - Block | - Object | - TypeCast | - Duration | - Point { "(" Decimal "," Decimal ")" } -} - -Any { "?" } -AnyStar[@name=Any] { "*" } - -value[@isGroup=Value] { - baseValue | - BinaryExpression | - Path -} - -// Binary expressions - -BinaryExpression { - value !binary Operator value -} - -Path { - baseValue pathElement+ | - GraphPath pathElement* -} - -pathElement { - GraphPath | - Subscript { "." (Ident | FunctionName { rawident !method } ArgumentList | AnyStar) } | - Filter { "[" (WhereClause | value | WhereClause { "?" value }) "]" } -} - -GraphPath { - ("<-" | "->" | "<->") - (Ident | Any | "(" commaSep ")") -} - -GraphPredicate { - (value | Any) WhereClause? (as Ident)? -} - -// Objects - -ObjectKey { - KeyName { rawident } | - String -} - -ObjectProperty { - ObjectKey ":" value -} - -ObjectContent { - commaSep -} - -Object { - objectOpen ObjectContent? "}" -} - -// Arrays - -Array { "[" commaSep? "]"} - -// Record Ids - -RecordTbIdent { - rawident | - tickIdent | - bracketIdent -} - -RecordIdIdent { - numberident | - tickIdent | - bracketIdent -} - -recordIdValue { - RecordIdIdent | - Int | - Array | - Object -} - -RecordIdRange { - ( recordIdValue !range ">"? )? - ".." - ( !range "="? recordIdValue )? -} - -RecordId { - RecordTbIdent - ":" - ( recordIdValue | RecordIdRange ) -} - -// Durations - -Duration { - DurationPart+ -} - -// JS Functions - -FunctionJs { - FunctionName { function } - ArgumentList - JavaScriptBlock -} - -@skip {} { - JavaScriptBlock { - "{" JavaScriptContent { javaScriptElement* } "}" - } - javaScriptElement { - javaScriptContent | javaScriptBraceOpen javaScriptElement* javaScriptBraceClose - } -} - -// Function invocation - -FunctionCall { - ( count ArgumentListCount ) | - ( - (FunctionName | customFunctionName | rand) - Version { "<" VersionNumber ">" }? - ArgumentList - ) -} - -ArgumentList { "(" commaSep? ")" } -ArgumentListCount { "(" ( commaSep? | statement ) ")" } - -// Assignment - -FieldAssignment { - Ident - assignmentOperator - value -} - -// Clauses - -MergeClause { - merge Object -} - -PatchClause { - patch Array -} - -TableTypeClause { - type - ( - any | - normal | - ( - relation - ( ( in | from ) piped )? - ( ( out | to ) piped )? - ) - ) -} - -TableViewClause { - as - select - commaSep - from - commaSep - WhereClause? - GroupClause? -} - -ChangefeedClause { - changefeed - Duration -} - -SessionClause { - session - Duration -} - -SignupClause { - signup - ( SubQuery | Block ) -} - -SigninClause { - signin - ( SubQuery | Block ) -} - -OnTableClause { - on table? Ident -} - -FieldsColumnsClause { - ( fields | columns ) commaSep -} - -UniqueClause { - unique -} - -SearchAnalyzerClause { - search analyzer - Ident - (Bm25Clause | DocIdsOrderClause | DocLenghtsOrderClause | PostingsOrderClause | - TermsOrderClause | DocIdsCacheClause | DocLenghtsCacheClause | PostingsCacheClause | - TermsCacheClause | highlights)* -} - -Bm25Clause { bm25 ( "(" Float "," Float ")")? } -DocIdsCacheClause { doc_ids_cache Int } -DocIdsOrderClause { doc_ids_order Int } -DocLenghtsCacheClause { doc_lengths_cache Int } -DocLenghtsOrderClause { doc_lengths_order Int } -PostingsCacheClause { postings_cache Int } -PostingsOrderClause { postings_order Int } -TermsCacheClause { terms_cache Int } -TermsOrderClause { terms_order Int } - -MtreeClause { - mtree - IndexDimensionClause - ( - MtreeDistClause | - IndexTypeClause | - IndexCapacityClause | - DocIdsOrderClause | - DocIdsCacheClause | - MtreeCacheClause - )* -} - -MtreeCacheClause { mtree_cache Int } -MtreeDistClause { dist ( cosine | euclidean | manhattan ) } - -HnswClause { -hnsw -IndexDimensionClause - ( - HnswDistClause | - IndexTypeClause | - IndexCapacityClause | - IndexLmClause | - IndexM0Clause | - IndexMClause | - IndexEfcClause | - IndexExtendCandidatesClause | - IndexKeepPrunedConnectionsClause - )* -} - -HnswDistClause { dist ( chebyshev | cosine | euclidean | hamming | jaccard | manhattan | ( minkowski number ) | pearson ) } - -IndexDimensionClause { dimension Int } -IndexTypeClause { type ( f32 | f64 | i16 | i32 | i64 ) } -IndexCapacityClause { capacity Int } -IndexLmClause { lm Float } -IndexM0Clause { m0 Int } -IndexMClause { m Int } -IndexEfcClause { efc Int } -IndexExtendCandidatesClause { extend_candidates } -IndexKeepPrunedConnectionsClause { keep_pruned_connections } - -ContentClause { - content Object -} - -SetClause { - set commaSep -} - -UnsetClause { -unset commaSep -} - -IfNotExistsClause { - if not exists -} - -IfExistsClause { - if exists -} - -ReturnClause { - return - ( before | after | diff | commaSep ) -} - -TimeoutClause { - timeout - Duration -} - -ParallelClause { - parallel -} - -FetchClause { - fetch - commaSep -} - -StartClause { - start - at? - (Int | VariableName) -} - -LimitClause { - limit - by? - (Int | VariableName) -} - -LimitStartComboClause { - StartClause LimitClause? | - LimitClause StartClause? -} - -GroupClause { - group - by? - commaSep -} - -OrderClause { - order - by? - commaSep - ( asc | desc )? -} - -SplitClause { - split - at? - Ident -} - -WhereClause { - where - value -} - -WithClause { - with - ( - noindex | - index commaSep - ) -} - -ExplainClause { - explain - full? -} - -TokenizersClause { tokenizers commaSep } - -FiltersClause { - filters - commaSep -} - -FunctionClause { - functionKw - customFunctionName -} - -WhenThenClause { - ( - when - value - )? - then? - commaSep<(SubQuery | Block)> -} - -TypeClause { - flexible? - typeKeyword - type -} - -ReadonlyClause { - readonly -} - -DefaultClause { - default - value -} - -ValueClause { - valueKeyword - value -} - -AssertClause { - assert - value -} - -PermissionsForClause { - permissions - ( - none | full | - ( - for - commaSep<( selectPermissions | createPermissions | updatePermissions | deletePermissions )> - ( WhereClause | none | full ) - )+ - ) -} - -PermissionsBasicClause { - permissions - none | full | WhereClause -} - -CommentClause { - comment - String -} - -TokenTypeClause { - type - ( - jwks | - eddsa | - es256 | - es384 | - es512 | - ps256 | - ps384 | - ps512 | - rs256 | - rs384 | - rs512 - ) -} - -// Support - -AnalyzerTokenizers { - blank | - camel | - class | - punct -} - -AnalyzerFilters { - ascii | - lowercase | - uppercase | - ( edgengram "(" Int "," Int ")" ) | - ( ngram "(" Int "," Int ")" ) | - ( snowball "(" Ident ")" ) -} - -Predicate { - value | - value as Ident -} - -inclusivePredicate { - AnyStar | Predicate -} - -// Types - -type { - TypeName { rawident } | - ParameterizedType { type "<" (type | Int) ">" } | - UnionType { type (!union "|" type)+ } -} - -TypeCast { - "<" type ">" baseValue -} - -Ident { - rawident | - tickIdent -} - -number { Int | Float | Decimal } - -Operator { - binaryOperator | - "-" | "=" | ">" | "<" | - and | - or | - is | - ( is opNot ) | - contains | - containsnot | - containsall | - containsany | - containsnone | - inside | in | - notinside | ( opNot opIn ) | - allinside | - anyinside | - noneinside | - - outside | - intersects | - - ( "@" Int "@" ) | - ( - "<|" - Int - ( "," ( Int | chebyshev | cosine | euclidean | hamming | jaccard | manhattan | ( minkowski number ) | pearson ) ) - "|>" - ) -} - -@external tokens objectToken from "./tokens" { - objectOpen[@name=BraceOpen] -} - -@tokens { - // Characters - "{"[@name=BraceOpen] - "}"[@name=BraceClose] - "[" "]" - "<" ">" - ":"[@name=Colon] - "->"[@name=GraphRight] - "<-"[@name=GraphLeft] - "<->"[@name=GraphBoth] - - // Helpers - whitespace { $[ \n\r\t] } - - // Comments - Comment { CommentHash | CommentDash | CommentSlash } - CommentHash { "#" ![\n]* } - CommentDash { "--" ![\n]* } - CommentSlash { "//" ![\n]* } - CommentResult[@name=Comment,closedBy=CommentResultClose] { "-------- Query" ![\n]* } - - // Numbers - Int { "-"? @digit+ } - frac { '.' @digit+ } - exp { $[eE] $[+\-]? @digit+ } - Float { "-"? @digit+ (frac exp? | exp) "f"? } - Decimal { "-"? @digit+ frac? exp? "dec" } - VersionNumber { @digit+ ("." @digit+ ("." @digit+)?)? } - - String { "'" (!['\\] | "\\" _)* "'" | '"' (!["\\] | "\\" _)* '"' } - prefixedString[@name=String] { $[ruds] String } - - // Language - VariableName { "$" (@asciiLetter | @digit | "_" )+ } - tickIdent { - "`" ![`]+ '`' - } - bracketIdent { - "⟨" ![⟩]+ "⟩" - } - rawident { (@asciiLetter | "_") (@asciiLetter | @digit | "_")* } - numberident { - rawident | - ( @digit+ (@asciiLetter | "_") (@asciiLetter | @digit | "_")* ) - } - - functionNameSegment { (@asciiLetter | "_") (@asciiLetter | "_" | @digit)* } - FunctionName { - functionNameSegment ("::" functionNameSegment)+ - } - customFunctionName[@name=FunctionName] { - "fn" ("::" functionNameSegment)* - } - - durationUnit { "ns" | "us" | "µs" | "ms" | "s" | "m" | "h" | "d" | "w" | "y"} - DurationPart { @digit+ " "* durationUnit } - - @precedence { CommentResult Comment Int "-" } - @precedence { Comment binaryOperator } - @precedence { prefixedString rawident } - @precedence { customFunctionName FunctionName rawident } - @precedence { Float Decimal Int rawident } - @precedence { DurationPart rawident } - @precedence { DurationPart Int } - @precedence { numberident Int rawident } - - javaScriptContent { "\n" | ![{}\n'"]+ "\n"? | String } - javaScriptBraceOpen { "{" } - javaScriptBraceClose { "}" } - - binaryOperator { - "&&" | "||" | "??" | "?:" | "!=" | "==" | "?=" | "*=" | "~" | "!~" | "*~" | - "<=" | ">=" | "+" | "+=" | "-=" | "*" | "×" | "/" | "÷" | "**" | - $[∋∌⊇⊃⊅∈∉⊆⊂⊄] | "@@" - } - - assignmentOperator[@name=Operator] { - "=" | - "+=" | - "-=" - } -} - -commaSep { - content ("," content)* -} - -piped { - content ("|" content)* -} - -@skip { whitespace | Comment } -@detectDelim - -@external propSource surqlHighlighting from "./highlight" - -@external extend { rawident } tokens from "./tokens" { - analyzer [@name=Keyword], - any [@name=Keyword], - as [@name=Keyword], - asc [@name=Keyword], - assert [@name=Keyword], - at [@name=Keyword], - begin [@name=Keyword], - bm25 [@name=Keyword], - break [@name=Keyword], - by [@name=Keyword], - cancel [@name=Keyword], - capacity [@name=Keyword], - changefeed [@name=Keyword], - changes [@name=Keyword], - columns [@name=Keyword], - comment [@name=Keyword], - commit [@name=Keyword], - content [@name=Keyword], - continue [@name=Keyword], - create [@name=Keyword], - database [@name=Keyword], - db [@name=Keyword], - default [@name=Keyword], - define [@name=Keyword], - delete [@name=Keyword], - desc [@name=Keyword], - dimension [@name=Keyword], - dist [@name=Keyword], - doc_ids_cache [@name=Keyword], - doc_ids_order [@name=Keyword], - doc_lengths_cache [@name=Keyword], - doc_lengths_order [@name=Keyword], - drop [@name=Keyword], - duplicate [@name=Keyword], - efc [@name=Keyword], - else [@name=Keyword], - end [@name=Keyword], - exists [@name=Keyword], - explain [@name=Keyword], - extend_candidates [@name=Keyword], - event [@name=Keyword], - fetch [@name=Keyword], - field [@name=Keyword], - fields [@name=Keyword], - filters [@name=Keyword], - flexible [@name=Keyword], - for [@name=Keyword], - from [@name=Keyword], - group [@name=Keyword], - highlights [@name=Keyword], - hnsw [@name=Keyword], - if [@name=Keyword], - ignore [@name=Keyword], - in [@name=Keyword], - index [@name=Keyword], - info [@name=Keyword], - insert [@name=Keyword], - into [@name=Keyword], - keep_pruned_connections [@name=Keyword], - key [@name=Keyword], - kill [@name=Keyword], - let [@name=Keyword], - limit [@name=Keyword], - live [@name=Keyword], - lm [@name=Keyword], - m [@name=Keyword], - m0 [@name=Keyword], - merge [@name=Keyword], - mtree [@name=Keyword], - mtree_cache [@name=Keyword], - namespace [@name=Keyword], - noindex [@name=Keyword], - normal [@name=Keyword], - not [@name=Keyword], - ns [@name=Keyword], - on [@name=Keyword], - only [@name=Keyword], - option [@name=Keyword], - order [@name=Keyword], - out [@name=Keyword], - parallel [@name=Keyword], - param [@name=Keyword], - passhash [@name=Keyword], - password [@name=Keyword], - patch [@name=Keyword], - permissions [@name=Keyword], - postings_cache [@name=Keyword], - postings_order [@name=Keyword], - readonly [@name=Keyword], - rebuild [@name=Keyword], - relate [@name=Keyword], - relation [@name=Keyword], - remove [@name=Keyword], - return [@name=Keyword], - roles [@name=Keyword], - root [@name=Keyword], - sc [@name=Keyword], - scope [@name=Keyword], - schemafull [@name=Keyword], - schemaless [@name=Keyword], - search [@name=Keyword], - select [@name=Keyword], - session [@name=Keyword], - set [@name=Keyword], - show [@name=Keyword], - since [@name=Keyword], - signin [@name=Keyword], - signup [@name=Keyword], - sleep [@name=Keyword], - split [@name=Keyword], - start [@name=Keyword], - structure [@name=Keyword], - tb [@name=Keyword], - table [@name=Keyword], - terms_cache [@name=Keyword], - terms_order [@name=Keyword], - then [@name=Keyword], - throw [@name=Keyword], - timeout [@name=Keyword], - to [@name=Keyword], - token [@name=Keyword], - tokenizers [@name=Keyword], - transaction [@name=Keyword], - typeKeyword [@name=Keyword], - unique [@name=Keyword], - unset [@name=Keyword], - update [@name=Keyword], - use [@name=Keyword], - user [@name=Keyword], - valueKeyword [@name=Keyword], - values [@name=Keyword], - when [@name=Keyword], - where [@name=Keyword], - with [@name=Keyword], - - // Literals - after [@name=Literal], - before [@name=Literal], - diff [@name=Literal], - false [@name=Bool], - full [@name=Literal], - none [@name=None], - null [@name=None], - true [@name=Bool], - - f32 [@name=Literal], - f64 [@name=Literal], - i16 [@name=Literal], - i32 [@name=Literal], - i64 [@name=Literal], - - selectPermissions [@name=PermissionTarget], - updatePermissions [@name=PermissionTarget], - createPermissions [@name=PermissionTarget], - deletePermissions [@name=PermissionTarget], - - jwks [@name=TokenType], - eddsa [@name=TokenType], - es256 [@name=TokenType], - es384 [@name=TokenType], - es512 [@name=TokenType], - ps256 [@name=TokenType], - ps384 [@name=TokenType], - ps512 [@name=TokenType], - rs256 [@name=TokenType], - rs384 [@name=TokenType], - rs512 [@name=TokenType], - - // Operators - and, - or, - is, - opNot, - opIn, - contains, - containsnot, - containsall, - containsany, - containsnone, - inside, - notinside, - allinside, - anyinside, - noneinside, - outside, - intersects, - - chebyshev [@name=Distance], - cosine [@name=Distance], - euclidean [@name=Distance], - hamming [@name=Distance], - jaccard [@name=Distance], - manhattan [@name=Distance], - minkowski [@name=Distance], - pearson [@name=Distance], - - ascii [@name=Filter], - edgengram [@name=Filter], - lowercase [@name=Filter], - ngram [@name=Filter], - snowball [@name=Filter], - uppercase [@name=Filter], - - blank [@name=Tokenizer], - camel [@name=Tokenizer], - class [@name=Tokenizer], - punct [@name=Tokenizer], - - function, - rand[@name=FunctionName], - count[@name=FunctionName] -} diff --git a/packages/lezer-surrealql/src/tokens.js b/packages/lezer-surrealql/src/tokens.js deleted file mode 100644 index e0493f92..00000000 --- a/packages/lezer-surrealql/src/tokens.js +++ /dev/null @@ -1,497 +0,0 @@ -import {ExternalTokenizer} from "@lezer/lr"; - -import { - analyzer, - any, - as, - asc, - assert, - at, - begin, - bm25, - _break, - by, - cancel, - capacity, - changefeed, - changes, - columns, - comment, - commit, - content, - _continue, - create, - database, - db, - _default, - define, - _delete, - desc, - dimension, - dist, - doc_ids_cache, - doc_ids_order, - doc_lengths_cache, - doc_lengths_order, - drop, - duplicate, - efc, - _else, - end, - explain, - exists, - extend_candidates, - event, - fetch, - field, - fields, - filters, - flexible, - _for, - from, - group, - mtree, - mtree_cache, - highlights, - hnsw, - _if, - ignore, - _in, - index, - info, - insert, - into, - keep_pruned_connections, - key, - kill, - _let, - limit, - live, - lm, - m, - m0, - merge, - namespace, - noindex, - normal, - not, - ns, - on, - only, - option, - order, - out, - parallel, - param, - passhash, - password, - patch, - permissions, - postings_cache, - postings_order, - readonly, - rebuild, - relate, - relation, - remove, - _return, - roles, - root, - sc, - scope, - schemafull, - schemaless, - search, - select, - session, - set, - show, - since, - signin, - signup, - sleep, - split, - start, - structure, - tb, - table, - terms_cache, - terms_order, - then, - _throw, - timeout, - to, - token, - tokenizers, - transaction, - typeKeyword, - unique, - unset, - update, - use, - user, - valueKeyword, - values, - when, - where, - _with, - - // Literals - after, - before, - diff, - _false, - full, - none, - _null, - _true, - - f32, - f64, - i16, - i32, - i64, - - updatePermissions, - createPermissions, - deletePermissions, - selectPermissions, - - jwks, - eddsa, - es256, - es384, - es512, - ps256, - ps384, - ps512, - rs256, - rs384, - rs512, - - and, - or, - is, - opNot, - opIn, - contains, - containsnot, - containsall, - containsany, - containsnone, - inside, - notinside, - allinside, - anyinside, - noneinside, - outside, - intersects, - - chebyshev, - cosine, - euclidean, - hamming, - jaccard, - manhattan, - minkowski, - pearson, - - ascii, - edgengram, - ngram, - snowball, - uppercase, - - blank, - camel, - _class, - punct, - - _function, - rand, - count, - - objectOpen, -} from "./parser.terms"; - -const tokenMap = { - analyzer, - any, - as, - asc, - assert, - at, - begin, - bm25, - break: _break, - by, - cancel, - capacity, - changefeed, - changes, - columns, - comment, - commit, - content, - continue: _continue, - create, - database, - db, - default: _default, - define, - delete: _delete, - desc, - dimension, - dist, - doc_ids_cache, - doc_ids_order, - doc_lengths_cache, - doc_lengths_order, - drop, - duplicate, - efc, - else: _else, - end, - exists, - explain, - extend_candidates, - event, - fetch, - field, - fields, - filters, - flexible, - for: _for, - from, - group, - highlights, - hnsw, - if: _if, - ignore, - in: _in, - index, - info, - insert, - into, - keep_pruned_connections, - key, - kill, - let: _let, - limit, - live, - lm, - m, - m0, - merge, - mtree, - mtree_cache, - namespace, - noindex, - normal, - not, - ns, - on, - only, - option, - order, - out, - parallel, - param, - passhash, - password, - patch, - permissions, - postings_cache, - postings_order, - readonly, - rebuild, - relate, - relation, - remove, - return: _return, - roles, - root, - sc, - scope, - schemafull, - schemaless, - search, - select, - session, - set, - show, - since, - signin, - signup, - sleep, - split, - start, - structure, - tb, - table, - terms_cache, - terms_order, - then, - throw: _throw, - timeout, - to, - token, - tokenizers, - transaction, - type: typeKeyword, - unique, - unset, - update, - use, - user, - value: valueKeyword, - values, - when, - where, - with: _with, - - // Literals - after, - before, - diff, - false: _false, - full, - none, - null: _null, - true: _true, - - f32, - f64, - i16, - i32, - i64, - - jwks, - eddsa, - es256, - es384, - es512, - ps256, - ps384, - ps512, - rs256, - rs384, - rs512, - - and, - or, - is, - contains, - containsnot, - containsall, - containsany, - containsnone, - inside, - notinside, - allinside, - anyinside, - noneinside, - outside, - intersects, - - chebyshev, - cosine, - euclidean, - hamming, - jaccard, - manhattan, - minkowski, - pearson, - - ascii, - edgengram, - ngram, - snowball, - uppercase, - - blank, - camel, - class: _class, - punct, - - // Function names - function: _function, - rand, - count, -}; - -const tryMapped = new Map([ - ["select", [selectPermissions]], - ["create", [createPermissions]], - ["update", [updatePermissions]], - ["delete", [deletePermissions]], - ["not", [opNot]], - ["in", [opIn]], -]); - -export const tokens = function(t, stack) { - for (const tk of tryMapped.get(t.toLowerCase()) ?? []) { - if (stack.canShift(tk)) return tk; - } - - return tokenMap[t.toLowerCase()] ?? -1; -} - -function skipSpace(input, off) { - for (;;) { - let next = input.peek(off); - if (next === 32 || next === 9 || next === 10 || next === 13) { - off++; - } else if (next === 35 /* '#' */ || - (next === 47 /* '/' */ || next === 45 /* '-' */) && input.peek(off + 1) === next) { - off++; - for (;;) { - let next = input.peek(off); - if (next < 0 || next === 10 || next === 13) break; - off++; - } - } else { - return off; - } - } -} - -function isIdentifierChar(ch) { - return ch === 95 || ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch >= 48 && ch <= 57; -} - -function skipObjKey(input, off) { - let first = input.peek(off); - if (isIdentifierChar(first)) { - do { - off++; - } while (isIdentifierChar(input.peek(off))); - return off; - } else if (first === 38 /* "'" */ || first === 34 /* '"' */) { - for (let escaped = false;;) { - let next = input.peek(++off); - if (next < 0) return off; - if (next === first && !escaped) return off + 1; - escaped = next === 92 /* '\\' */ - } - } -} - -export const objectToken = new ExternalTokenizer((input, stack) => { - if (input.next === 123 /* '{' */) { - let off = skipSpace(input, 1); - - // Is this an empty object? - if (input.peek(off) === 125 /* '}' */) { - input.acceptToken(objectOpen, 1); - } else { - let key = skipObjKey(input, off); - if (key !== null) { - off = skipSpace(input, key); - if (input.peek(off) === 58 /* ':' */) { - input.acceptToken(objectOpen, 1); - } - } - } - } -}); diff --git a/packages/lezer-surrealql/test/statement.txt b/packages/lezer-surrealql/test/statement.txt deleted file mode 100644 index 4943e073..00000000 --- a/packages/lezer-surrealql/test/statement.txt +++ /dev/null @@ -1,47 +0,0 @@ -# Simple Select - -SELECT * FROM test - -==> - -SurrealQL(SelectStatement(Keyword,Any,Keyword,Ident)) - -# Define Function - -DEFINE FUNCTION fn::greet($name: string) { - RETURN "Hello, " + $name + "!"; -}; - --- Returns: "Hello, Tobie!" -RETURN fn::greet("Tobie"); - -==> - -SurrealQL( - DefineFunctionStatement( - Keyword,Keyword,FunctionName,ParamList(VariableName,Colon,TypeName), - Block(BraceOpen, - ReturnStatement(Keyword,BinaryExpression(BinaryExpression(String,Operator,VariableName),Operator,String)), - BraceClose)), - Comment, - ReturnStatement(Keyword,FunctionCall(FunctionName,ArgumentList(String)))) - -# Remove Function - -REMOVE FUNCTION fn::update_author; - -==> - -SurrealQL(RemoveStatement(Keyword,Keyword,FunctionName)) - -# Live Select targets - -LIVE SELECT * FROM person; -LIVE SELECT * FROM person:tobie; - -==> - -SurrealQL( - LiveSelectStatement(Keyword,Keyword,Any,Keyword,Ident), - LiveSelectStatement(Keyword,Keyword,Any,Keyword,RecordId(RecordTbIdent,Colon,RecordIdIdent)), -) diff --git a/packages/lezer-surrealql/test/test-surrealql.js b/packages/lezer-surrealql/test/test-surrealql.js deleted file mode 100644 index 1e15ed93..00000000 --- a/packages/lezer-surrealql/test/test-surrealql.js +++ /dev/null @@ -1,24 +0,0 @@ -import {parser} from "../dist/index.js"; -import {fileTests} from "@lezer/generator/dist/test"; - -import * as fs from "fs"; -import * as path from "path"; -import {fileURLToPath} from "url"; -let caseDir = path.dirname(fileURLToPath(import.meta.url)); - -let filter = process.argv[2]; - -for (let file of fs.readdirSync(caseDir)) { - if (!/\.txt$/.test(file)) continue; - console.log("File " + file + ":"); - for (let {name, run} of fileTests(fs.readFileSync(path.join(caseDir, file), "utf8"), file)) { - if (!filter || name.indexOf(filter) > -1) { - try { - run(parser); - console.log(" ✔ " + name); - } catch(e) { - console.log(" ✘ " + name + "\n " + String(e.message || e).replace(/\n/g, "\n ")) - } - } - } -} diff --git a/packages/lezer-surrealql/test/value.txt b/packages/lezer-surrealql/test/value.txt deleted file mode 100644 index 18b8afe9..00000000 --- a/packages/lezer-surrealql/test/value.txt +++ /dev/null @@ -1,195 +0,0 @@ -# Numbers - -0; -0.0; -2e4f; -2.2e4; -4dec; - -==> - -SurrealQL(Int,Float,Float,Float,Decimal) - -# Strings - -"A string with \"double\" and 'single' quotes"; -'A string with "double" and \'single\' quotes'; -'A string with new \ -line'; - -==> - -SurrealQL(String,String,String) - -# Identifiers - -theVar; -theVar2; - -==> - -SurrealQL(Ident,Ident) - -# Binary operators - -1 + 2; -a ∈ z; -x containsnot y; - -==> - -SurrealQL( - BinaryExpression(Int,Operator,Int), - BinaryExpression(Ident,Operator,Ident), - BinaryExpression(Ident,Operator,Ident)) - -# Objects - -{a: 10}; -{block}; -{"stringkey": 1, 'single': 2}; -{}; -{ }; -123 - -==> - -SurrealQL( - Object(BraceOpen,ObjectContent(ObjectProperty(ObjectKey(KeyName),Colon,Int)),BraceClose), - Block(BraceOpen,Ident,BraceClose), - Object(BraceOpen,ObjectContent( - ObjectProperty(ObjectKey(String),Colon,Int), - ObjectProperty(ObjectKey(String),Colon,Int) - ),BraceClose), - Object(BraceOpen,BraceClose), - Object(BraceOpen,BraceClose), - Int -), -# Points - -(10dec, 20dec) - -==> - -SurrealQL(Point(Decimal,Decimal)) - -# Function Calls - -a::b(); -fn::one::two(1, a); -rand(3); -count(x); -some::versioned::function<1.2.3>(a); - -==> - -SurrealQL( - FunctionCall(FunctionName,ArgumentList), - FunctionCall(FunctionName,ArgumentList(Int,Ident)), - FunctionCall(FunctionName,ArgumentList(Int)), - FunctionCall(FunctionName,ArgumentList(Ident)), - FunctionCall(FunctionName,Version(VersionNumber),ArgumentList(Ident))) - -# Durations - -1s 1m 1 h - -==> - -SurrealQL(Duration(DurationPart,DurationPart,DurationPart)) - -# JavaScript functions - -function(123, 1d2h) { - const number = 123; - if (test("{")) { - return number.toString(); - } -} - -==> - -SurrealQL( - FunctionJs( - FunctionName, - ArgumentList(Int,Duration(DurationPart,DurationPart)), - JavaScriptBlock(BraceOpen,JavaScriptContent,BraceClose) - ) -) - -# Literals - -true; -true - -==> - -SurrealQL(Bool,Bool) - -# Keyword names in ident position - -create bla set true = 1, false = 2, null = 3, none = 4 - -==> - -SurrealQL(CreateStatement( - Keyword,Ident, - SetClause( Keyword, - FieldAssignment(Ident,Operator,Int), - FieldAssignment(Ident,Operator,Int), - FieldAssignment(Ident,Operator,Int), - FieldAssignment(Ident,Operator,Int)))) - -# Idiom paths - -$variable.ident.ident; -record:id.*; -ident->?; -ident->ident; -ident->ident<-ident<->ident; -ident->(? AS ident, ident, ident WHERE ident AS ident); -record:id->ident; -SELECT ->ident FROM ident; -123.to_string(); -{}[$variable]; -{}[ident]; -{}["string"]; -record:id[ident]; -[][0]; -[][$variable]; -[][WHERE ident = 123]; -[][? ident = 123]; - -==> - -SurrealQL( - Path(VariableName,Subscript(Ident),Subscript(Ident)), - Path(RecordId(RecordTbIdent,Colon,RecordIdIdent),Subscript(Any)), - Path(Ident,GraphPath(GraphRight,Any)), - Path(Ident,GraphPath(GraphRight,Ident)), - Path(Ident,GraphPath(GraphRight,Ident),GraphPath(GraphLeft,Ident),GraphPath(GraphBoth,Ident)), - Path(Ident,GraphPath(GraphRight,GraphPredicate(Any,Keyword,Ident),GraphPredicate(Ident), - GraphPredicate(Ident,WhereClause(Keyword,Ident),Keyword,Ident))), - Path(RecordId(RecordTbIdent,Colon,RecordIdIdent),GraphPath(GraphRight,Ident)), - SelectStatement(Keyword,Predicate(Path(GraphPath(GraphRight,Ident))),Keyword,Ident), - Path(Int,Subscript(FunctionName,ArgumentList)), - Path(Object(BraceOpen,BraceClose),Filter("[",VariableName,"]")), - Path(Object(BraceOpen,BraceClose),Filter("[",Ident,"]")), - Path(Object(BraceOpen,BraceClose),Filter("[",String,"]")), - Path(RecordId(RecordTbIdent,Colon,RecordIdIdent),Filter("[",Ident,"]")), - Path(Array("[","]"),Filter("[",Int,"]")), - Path(Array("[","]"),Filter("[",VariableName,"]")), - Path(Array("[","]"),Filter("[",WhereClause(Keyword,BinaryExpression(Ident,Operator,Int)),"]")), - Path(Array("[","]"),Filter("[",WhereClause(BinaryExpression(Ident,Operator,Int)),"]"))) - -# Record ID number(ident) - -test:123; -test:123ident; - -==> - -SurrealQL( - RecordId(RecordTbIdent,Colon,Int), - RecordId(RecordTbIdent,Colon,RecordIdIdent), -) diff --git a/patches/graphql@16.9.0.patch b/patches/graphql@16.9.0.patch new file mode 100644 index 00000000..7203d9d9 --- /dev/null +++ b/patches/graphql@16.9.0.patch @@ -0,0 +1,26 @@ +diff --git a/language/printer.js b/language/printer.js +index eed3b7cf24d74d744c860ad9cb8e546ed6f4afd7..702034d15b817b6612ec983f6c3a86b40100a4fa 100644 +--- a/language/printer.js ++++ b/language/printer.js +@@ -332,7 +332,7 @@ function wrap(start, maybeString, end = '') { + } + + function indent(str) { +- return wrap(' ', str.replace(/\n/g, '\n ')); ++ return wrap(' ', str.replace(/\n/g, '\n ')); + } + + function hasMultilineItems(maybeArray) { +diff --git a/language/printer.mjs b/language/printer.mjs +index cffc2bf05b7440abe0f6cb92163092666127f182..7056520e41e2fc56d129adf903a27b6f36a6e123 100644 +--- a/language/printer.mjs ++++ b/language/printer.mjs +@@ -320,7 +320,7 @@ function wrap(start, maybeString, end = '') { + } + + function indent(str) { +- return wrap(' ', str.replace(/\n/g, '\n ')); ++ return wrap(' ', str.replace(/\n/g, '\n ')); + } + + function hasMultilineItems(maybeArray) { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e60349ed..68301a5f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,6 +8,9 @@ patchedDependencies: '@reactflow/core@11.11.4': hash: tj4jyedi5a5rqdyerfsnn6pgdu path: patches/@reactflow__core@11.11.4.patch + graphql@16.9.0: + hash: ld77r6ldo77drpc37fyutqbsa4 + path: patches/graphql@16.9.0.patch importers: @@ -15,7 +18,7 @@ importers: dependencies: '@codemirror/autocomplete': specifier: ^6.13.0 - version: 6.16.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.1)(@lezer/common@1.2.1) + version: 6.18.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/common@1.2.1) '@codemirror/commands': specifier: ^6.3.3 version: 6.6.0 @@ -25,15 +28,12 @@ importers: '@codemirror/lang-javascript': specifier: ^6.2.2 version: 6.2.2 - '@codemirror/lang-json': - specifier: ^6.0.1 - version: 6.0.1 '@codemirror/lang-php': specifier: ^6.0.1 version: 6.0.1 '@codemirror/lang-python': specifier: ^6.1.6 - version: 6.1.6(@codemirror/view@6.28.1) + version: 6.1.6(@codemirror/view@6.33.0) '@codemirror/lang-rust': specifier: ^6.0.1 version: 6.0.1 @@ -42,7 +42,7 @@ importers: version: 6.10.2 '@codemirror/legacy-modes': specifier: ^6.4.0 - version: 6.4.0 + version: 6.4.1 '@codemirror/lint': specifier: ^6.5.0 version: 6.8.1 @@ -54,7 +54,7 @@ importers: version: 6.4.1 '@codemirror/view': specifier: ^6.24.1 - version: 6.28.1 + version: 6.33.0 '@dnd-kit/core': specifier: ^6.1.0 version: 6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -69,28 +69,40 @@ importers: version: 3.2.2(react@18.3.1) '@lezer/highlight': specifier: ^1.2.0 - version: 1.2.0 + version: 1.2.1 '@mantine/core': - specifier: ^7.6.2 - version: 7.10.2(@mantine/hooks@7.10.2(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^7.12.1 + version: 7.12.1(@mantine/hooks@7.12.1(react@18.3.1))(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mantine/hooks': - specifier: ^7.6.2 - version: 7.10.2(react@18.3.1) + specifier: ^7.12.1 + version: 7.12.1(react@18.3.1) '@mantine/modals': - specifier: ^7.12.0 - version: 7.12.0(@mantine/core@7.10.2(@mantine/hooks@7.10.2(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.10.2(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^7.12.1 + version: 7.12.1(@mantine/core@7.12.1(@mantine/hooks@7.12.1(react@18.3.1))(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.12.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mantine/notifications': - specifier: ^7.6.2 - version: 7.10.2(@mantine/core@7.10.2(@mantine/hooks@7.10.2(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.10.2(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^7.12.1 + version: 7.12.1(@mantine/core@7.12.1(@mantine/hooks@7.12.1(react@18.3.1))(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.12.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mdi/js': specifier: ^7.2.96 version: 7.4.47 '@replit/codemirror-indentation-markers': specifier: ^6.5.0 - version: 6.5.2(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.1) + version: 6.5.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0) + '@surrealdb/codemirror': + specifier: 1.0.0-beta.4 + version: 1.0.0-beta.4 + '@surrealdb/lezer': + specifier: 1.0.0-beta.4 + version: 1.0.0-beta.4 + '@surrealdb/ql-wasm': + specifier: 0.2.0-beta.2 + version: 0.2.0-beta.2 + '@surrealdb/wasm': + specifier: 1.0.0-beta.18 + version: 1.0.0-beta.18(surrealdb@1.0.0-beta.20(tslib@2.7.0)(typescript@5.5.4)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))) '@tanstack/react-query': specifier: ^5.37.1 - version: 5.45.1(react@18.3.1) + version: 5.52.2(react@18.3.1) '@tauri-apps/api': specifier: 2.0.0-beta.14 version: 2.0.0-beta.14 @@ -103,6 +115,9 @@ importers: '@tauri-apps/plugin-fs': specifier: 2.0.0-beta.6 version: 2.0.0-beta.6 + '@tauri-apps/plugin-http': + specifier: 2.0.0-beta.7 + version: 2.0.0-beta.7 '@tauri-apps/plugin-log': specifier: 2.0.0-beta.7 version: 2.0.0-beta.7 @@ -120,28 +135,22 @@ importers: version: 2.0.0-beta.6 '@theopensource-company/feature-flags': specifier: ^0.4.6 - version: 0.4.6(typescript@5.5.2) - '@types/react-copy-to-clipboard': - specifier: ^5.0.7 - version: 5.0.7 + version: 0.4.6(typescript@5.5.4) ansi-to-html: specifier: ^0.7.2 version: 0.7.2 clsx: specifier: ^2.1.0 version: 2.1.1 + cm6-graphql: + specifier: ^0.0.15 + version: 0.0.15(@codemirror/autocomplete@6.18.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/common@1.2.1))(@codemirror/language@6.10.2)(@codemirror/lint@6.8.1)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/highlight@1.2.1)(graphql@16.9.0(patch_hash=ld77r6ldo77drpc37fyutqbsa4)) codemirror: specifier: ^6.0.1 version: 6.0.1(@lezer/common@1.2.1) - codemirror-surrealql: - specifier: workspace:codemirror-surrealql - version: link:packages/codemirror-surrealql - dagre: - specifier: ^0.8.5 - version: 0.8.5 dayjs: specifier: ^1.11.9 - version: 1.11.11 + version: 1.11.13 dedent: specifier: ^1.5.1 version: 1.5.3 @@ -154,9 +163,15 @@ importers: fast-deep-equal: specifier: ^3.1.3 version: 3.1.3 + flag-icons: + specifier: ^7.2.3 + version: 7.2.3 geo-coordinates-parser: specifier: ^1.7.0 - version: 1.7.0 + version: 1.7.3 + graphql: + specifier: ^16.9.0 + version: 16.9.0(patch_hash=ld77r6ldo77drpc37fyutqbsa4) html-to-image: specifier: ^1.11.11 version: 1.11.11 @@ -169,30 +184,24 @@ importers: leaflet: specifier: ^1.9.4 version: 1.9.4 - lezer-surrealql: - specifier: workspace:lezer-surrealql - version: link:packages/lezer-surrealql lottie-web: specifier: ^5.12.2 version: 5.12.2 mantine-contextmenu: specifier: ^7.5.0 - version: 7.10.2(@mantine/core@7.10.2(@mantine/hooks@7.10.2(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.10.2(react@18.3.1))(clsx@2.1.1)(react@18.3.1) + version: 7.11.3(@mantine/core@7.12.1(@mantine/hooks@7.12.1(react@18.3.1))(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.12.1(react@18.3.1))(clsx@2.1.1)(react@18.3.1) papaparse: specifier: ^5.4.1 version: 5.4.1 posthog-js: specifier: ^1.121.4 - version: 1.139.8 + version: 1.158.1 radash: specifier: ^11.0.0 version: 11.0.0 react: specifier: ^18.2.0 version: 18.3.1 - react-copy-to-clipboard: - specifier: ^5.1.0 - version: 5.1.0(react@18.3.1) react-dom: specifier: ^18.2.0 version: 18.3.1(react@18.3.1) @@ -204,47 +213,32 @@ importers: version: 4.2.1(leaflet@1.9.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-resizable-panels: specifier: ^2.0.5 - version: 2.0.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-reverse-portal: specifier: ^2.1.1 version: 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) reactflow: specifier: ^11.10.4 - version: 11.11.4(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - remove: - specifier: ^0.1.5 - version: 0.1.5 + version: 11.11.4(@types/react@18.3.4)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) rss-parser: specifier: ^3.13.0 version: 3.13.0 - semver: - specifier: ^7.5.4 - version: 7.6.2 semver-compare: specifier: ^1.0.0 version: 1.0.0 - surrealdb.js: - specifier: 1.0.0-beta.18 - version: 1.0.0-beta.18(tslib@2.6.3)(typescript@5.5.2)(ws@8.17.1(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - surrealdb.wasm: - specifier: 1.0.0-beta.15 - version: 1.0.0-beta.15(surrealdb.js@1.0.0-beta.18(tslib@2.6.3)(typescript@5.5.2)(ws@8.17.1(bufferutil@4.0.8)(utf-8-validate@6.0.4))) - surrealql.wasm: - specifier: ^0.1.8 - version: 0.1.8 + surrealdb: + specifier: 1.0.0-beta.20 + version: 1.0.0-beta.20(tslib@2.7.0)(typescript@5.5.4)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)) use-immer: specifier: ^0.9.0 version: 0.9.0(immer@10.1.1)(react@18.3.1) - vite-plugin-markdown: - specifier: ^2.2.0 - version: 2.2.0(vite@5.3.1(@types/node@20.14.7)(sass@1.77.6)(terser@5.31.1)) zustand: specifier: ^4.5.0 - version: 4.5.2(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1) + version: 4.5.5(@types/react@18.3.4)(immer@10.1.1)(react@18.3.1) devDependencies: '@tanstack/eslint-plugin-query': specifier: ^5.35.6 - version: 5.43.1(eslint@8.57.0)(typescript@5.5.2) + version: 5.52.0(eslint@8.57.0)(typescript@5.5.4) '@tauri-apps/cli': specifier: 2.0.0-beta.21 version: 2.0.0-beta.21 @@ -253,13 +247,13 @@ importers: version: 1.9.12 '@types/node': specifier: ^20.4.9 - version: 20.14.7 + version: 20.16.1 '@types/papaparse': specifier: ^5.3.14 version: 5.3.14 '@types/react': specifier: ^18.2.20 - version: 18.3.3 + version: 18.3.4 '@types/react-dom': specifier: ^18.2.7 version: 18.3.0 @@ -271,16 +265,16 @@ importers: version: 1.0.3 '@typescript-eslint/eslint-plugin': specifier: ^6.3.0 - version: 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2) + version: 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) '@typescript-eslint/parser': specifier: ^6.3.0 - version: 6.21.0(eslint@8.57.0)(typescript@5.5.2) + version: 6.21.0(eslint@8.57.0)(typescript@5.5.4) '@vitejs/plugin-legacy': specifier: ^5.4.1 - version: 5.4.1(terser@5.31.1)(vite@5.3.1(@types/node@20.14.7)(sass@1.77.6)(terser@5.31.1)) + version: 5.4.2(terser@5.31.6)(vite@5.4.2(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)) '@vitejs/plugin-react': specifier: ^4.0.4 - version: 4.3.1(vite@5.3.1(@types/node@20.14.7)(sass@1.77.6)(terser@5.31.1)) + version: 4.3.1(vite@5.4.2(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)) eslint: specifier: ^8.47.0 version: 8.57.0 @@ -292,69 +286,34 @@ importers: version: 48.0.1(eslint@8.57.0) eslint-plugin-unused-imports: specifier: ^3.0.0 - version: 3.2.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0) + version: 3.2.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0) license-report: specifier: ^6.5.0 version: 6.5.0 sass: specifier: ^1.65.1 - version: 1.77.6 + version: 1.77.8 sharp: specifier: ^0.33.4 - version: 0.33.4 + version: 0.33.5 svgo: specifier: ^3.3.2 version: 3.3.2 typescript: specifier: ^5.1.6 - version: 5.5.2 + version: 5.5.4 vite: specifier: ^5.2.9 - version: 5.3.1(@types/node@20.14.7)(sass@1.77.6)(terser@5.31.1) + version: 5.4.2(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6) vite-plugin-compression2: specifier: ^1.1.2 - version: 1.1.2(rollup@2.79.1) + version: 1.2.0(rollup@4.21.2) vite-plugin-image-optimizer: specifier: ^1.1.8 - version: 1.1.8(vite@5.3.1(@types/node@20.14.7)(sass@1.77.6)(terser@5.31.1)) - - packages/codemirror-surrealql: - dependencies: - '@codemirror/language': - specifier: ^6.0.0 - version: 6.10.2 - '@lezer/common': - specifier: ^1.2.1 - version: 1.2.1 - '@lezer/javascript': - specifier: ^1.4.13 - version: 1.4.17 - lezer-surrealql: - specifier: workspace:lezer-surrealql - version: link:../lezer-surrealql - devDependencies: - '@codemirror/buildhelper': - specifier: ^1.0.0 - version: 1.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.4) - - packages/lezer-surrealql: - dependencies: - '@lezer/highlight': - specifier: ^1.2.0 - version: 1.2.0 - '@lezer/lr': - specifier: ^1.0.0 - version: 1.4.1 - devDependencies: - '@lezer/generator': - specifier: ^1.0.0 - version: 1.7.1 - '@rollup/plugin-node-resolve': - specifier: ^9.0.0 - version: 9.0.0(rollup@2.79.1) - rollup: - specifier: ^2.52.2 - version: 2.79.1 + version: 1.1.8(vite@5.4.2(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)) + vite-plugin-markdown: + specifier: ^2.2.0 + version: 2.2.0(vite@5.4.2(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)) packages: @@ -366,16 +325,16 @@ packages: resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.24.7': - resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} + '@babel/compat-data@7.25.4': + resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} engines: {node: '>=6.9.0'} - '@babel/core@7.24.7': - resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} + '@babel/core@7.25.2': + resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} engines: {node: '>=6.9.0'} - '@babel/generator@7.24.7': - resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} + '@babel/generator@7.25.5': + resolution: {integrity: sha512-abd43wyLfbWoxC6ahM8xTkqLpGB2iWBVyuKC9/srhFunCd1SDNrV1s72bBpK4hLj8KLzHBBcOblvLQZBNw9r3w==} engines: {node: '>=6.9.0'} '@babel/helper-annotate-as-pure@7.24.7': @@ -386,18 +345,18 @@ packages: resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.24.7': - resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} + '@babel/helper-compilation-targets@7.25.2': + resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} engines: {node: '>=6.9.0'} - '@babel/helper-create-class-features-plugin@7.24.7': - resolution: {integrity: sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==} + '@babel/helper-create-class-features-plugin@7.25.4': + resolution: {integrity: sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-create-regexp-features-plugin@7.24.7': - resolution: {integrity: sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==} + '@babel/helper-create-regexp-features-plugin@7.25.2': + resolution: {integrity: sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -407,28 +366,16 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - '@babel/helper-environment-visitor@7.24.7': - resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-function-name@7.24.7': - resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-hoist-variables@7.24.7': - resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-member-expression-to-functions@7.24.7': - resolution: {integrity: sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==} + '@babel/helper-member-expression-to-functions@7.24.8': + resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==} engines: {node: '>=6.9.0'} '@babel/helper-module-imports@7.24.7': resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.24.7': - resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} + '@babel/helper-module-transforms@7.25.2': + resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -437,18 +384,18 @@ packages: resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.24.7': - resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} + '@babel/helper-plugin-utils@7.24.8': + resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} engines: {node: '>=6.9.0'} - '@babel/helper-remap-async-to-generator@7.24.7': - resolution: {integrity: sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==} + '@babel/helper-remap-async-to-generator@7.25.0': + resolution: {integrity: sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-replace-supers@7.24.7': - resolution: {integrity: sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==} + '@babel/helper-replace-supers@7.25.0': + resolution: {integrity: sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -461,47 +408,49 @@ packages: resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} engines: {node: '>=6.9.0'} - '@babel/helper-split-export-declaration@7.24.7': - resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.24.7': - resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} + '@babel/helper-string-parser@7.24.8': + resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} engines: {node: '>=6.9.0'} '@babel/helper-validator-identifier@7.24.7': resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.24.7': - resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} + '@babel/helper-validator-option@7.24.8': + resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} engines: {node: '>=6.9.0'} - '@babel/helper-wrap-function@7.24.7': - resolution: {integrity: sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==} + '@babel/helper-wrap-function@7.25.0': + resolution: {integrity: sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.24.7': - resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} + '@babel/helpers@7.25.0': + resolution: {integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==} engines: {node: '>=6.9.0'} '@babel/highlight@7.24.7': resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.24.7': - resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} + '@babel/parser@7.25.4': + resolution: {integrity: sha512-nq+eWrOgdtu3jG5Os4TQP3x3cLA8hR8TvJNjD8vnPa20WGycimcparWnLK4jJhElTK6SDyuJo1weMKO/5LpmLA==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7': - resolution: {integrity: sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==} + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3': + resolution: {integrity: sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0': + resolution: {integrity: sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7': - resolution: {integrity: sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==} + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0': + resolution: {integrity: sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -512,8 +461,8 @@ packages: peerDependencies: '@babel/core': ^7.13.0 - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7': - resolution: {integrity: sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==} + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.0': + resolution: {integrity: sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -626,8 +575,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-async-generator-functions@7.24.7': - resolution: {integrity: sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==} + '@babel/plugin-transform-async-generator-functions@7.25.4': + resolution: {integrity: sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -644,14 +593,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoping@7.24.7': - resolution: {integrity: sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==} + '@babel/plugin-transform-block-scoping@7.25.0': + resolution: {integrity: sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-class-properties@7.24.7': - resolution: {integrity: sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==} + '@babel/plugin-transform-class-properties@7.25.4': + resolution: {integrity: sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -662,8 +611,8 @@ packages: peerDependencies: '@babel/core': ^7.12.0 - '@babel/plugin-transform-classes@7.24.7': - resolution: {integrity: sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==} + '@babel/plugin-transform-classes@7.25.4': + resolution: {integrity: sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -674,8 +623,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-destructuring@7.24.7': - resolution: {integrity: sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==} + '@babel/plugin-transform-destructuring@7.24.8': + resolution: {integrity: sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -692,6 +641,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0': + resolution: {integrity: sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/plugin-transform-dynamic-import@7.24.7': resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==} engines: {node: '>=6.9.0'} @@ -716,8 +671,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-function-name@7.24.7': - resolution: {integrity: sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==} + '@babel/plugin-transform-function-name@7.25.1': + resolution: {integrity: sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -728,8 +683,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-literals@7.24.7': - resolution: {integrity: sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==} + '@babel/plugin-transform-literals@7.25.2': + resolution: {integrity: sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -752,14 +707,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-commonjs@7.24.7': - resolution: {integrity: sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==} + '@babel/plugin-transform-modules-commonjs@7.24.8': + resolution: {integrity: sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-systemjs@7.24.7': - resolution: {integrity: sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==} + '@babel/plugin-transform-modules-systemjs@7.25.0': + resolution: {integrity: sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -812,8 +767,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-optional-chaining@7.24.7': - resolution: {integrity: sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==} + '@babel/plugin-transform-optional-chaining@7.24.8': + resolution: {integrity: sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -824,8 +779,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-private-methods@7.24.7': - resolution: {integrity: sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==} + '@babel/plugin-transform-private-methods@7.25.4': + resolution: {integrity: sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -890,8 +845,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typeof-symbol@7.24.7': - resolution: {integrity: sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==} + '@babel/plugin-transform-typeof-symbol@7.24.8': + resolution: {integrity: sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -914,14 +869,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-sets-regex@7.24.7': - resolution: {integrity: sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==} + '@babel/plugin-transform-unicode-sets-regex@7.25.4': + resolution: {integrity: sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/preset-env@7.24.7': - resolution: {integrity: sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==} + '@babel/preset-env@7.25.4': + resolution: {integrity: sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -934,34 +889,30 @@ packages: '@babel/regjsgen@0.8.0': resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} - '@babel/runtime@7.24.7': - resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} + '@babel/runtime@7.25.4': + resolution: {integrity: sha512-DSgLeL/FNcpXuzav5wfYvHCGvynXkJbn3Zvc3823AEe9nPwW9IK4UoCSS5yGymmQzN0pCPvivtgS6/8U2kkm1w==} engines: {node: '>=6.9.0'} - '@babel/template@7.24.7': - resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} + '@babel/template@7.25.0': + resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.24.7': - resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} + '@babel/traverse@7.25.4': + resolution: {integrity: sha512-VJ4XsrD+nOvlXyLzmLzUs/0qjFS4sK30te5yEFlvbbUNEgKaVb2BHZUpAL+ttLPQAHNrsI3zZisbfha5Cvr8vg==} engines: {node: '>=6.9.0'} - '@babel/types@7.24.7': - resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} + '@babel/types@7.25.4': + resolution: {integrity: sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==} engines: {node: '>=6.9.0'} - '@codemirror/autocomplete@6.16.3': - resolution: {integrity: sha512-Vl/tIeRVVUCRDuOG48lttBasNQu8usGgXQawBXI7WJAiUDSFOfzflmEsZFZo48mAvAaa4FZ/4/yLLxFtdJaKYA==} + '@codemirror/autocomplete@6.18.0': + resolution: {integrity: sha512-5DbOvBbY4qW5l57cjDsmmpDh3/TeK1vXfTHa+BUMrRzdWdcxKZ4U4V7vQaTtOpApNU4kLS4FQ6cINtLg245LXA==} peerDependencies: '@codemirror/language': ^6.0.0 '@codemirror/state': ^6.0.0 '@codemirror/view': ^6.0.0 '@lezer/common': ^1.0.0 - '@codemirror/buildhelper@1.0.1': - resolution: {integrity: sha512-RbXu1opzxeeilMzKunOFkM83rRBqvsAPax36sa3JW+jVxL88E7aK2bFi3ugbQUNogCFyxuNk2m9zeyY63kFcPQ==} - hasBin: true - '@codemirror/commands@6.6.0': resolution: {integrity: sha512-qnY+b7j1UNcTS31Eenuc/5YJB6gQOzkUoNmJQc0rznwqSRpeaWWpjkWy2C/MPTcePpsKJEM26hXrOXl1+nceXg==} @@ -974,9 +925,6 @@ packages: '@codemirror/lang-javascript@6.2.2': resolution: {integrity: sha512-VGQfY+FCc285AhWuwjYxQyUQcYurWlxdKYT4bqwr3Twnd5wP5WSeu52t4tvvuWmljT4EmgEgZCqSieokhtY8hg==} - '@codemirror/lang-json@6.0.1': - resolution: {integrity: sha512-+T1flHdgpqDDlJZ2Lkil/rLiRy684WMLc74xUnjJH48GQdfJo/pudlTRreZmKwzP8/tGdKf83wlbAdOCzlJOGQ==} - '@codemirror/lang-php@6.0.1': resolution: {integrity: sha512-ublojMdw/PNWa7qdN5TMsjmqkNuTBD3k6ndZ4Z0S25SBAiweFGyY68AS3xNcIOlb6DDFDvKlinLQ40vSLqf8xA==} @@ -989,8 +937,8 @@ packages: '@codemirror/language@6.10.2': resolution: {integrity: sha512-kgbTYTo0Au6dCSc/TFy7fK3fpJmgHDv1sG1KNQKJXVi+xBTEeBPY/M30YXiU6mMXeH+YIDLsbrT4ZwNRdtF+SA==} - '@codemirror/legacy-modes@6.4.0': - resolution: {integrity: sha512-5m/K+1A6gYR0e+h/dEde7LoGimMjRtWXZFg4Lo70cc8HzjSdHe3fLwjWMR0VRl5KFT1SxalSap7uMgPKF28wBA==} + '@codemirror/legacy-modes@6.4.1': + resolution: {integrity: sha512-vdg3XY7OAs5uLDx2Iw+cGfnwtd7kM+Et/eMsqAGTfT/JKiVBQZXosTzjEbWAi/FrY6DcQIz8mQjBozFHZEUWQA==} '@codemirror/lint@6.8.1': resolution: {integrity: sha512-IZ0Y7S4/bpaunwggW2jYqwLuHj0QtESf5xcROewY6+lDNwZ/NzvR4t+vpYgg9m7V8UXLPYqG+lu3DF470E5Oxg==} @@ -1001,8 +949,8 @@ packages: '@codemirror/state@6.4.1': resolution: {integrity: sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==} - '@codemirror/view@6.28.1': - resolution: {integrity: sha512-BUWr+zCJpMkA/u69HlJmR+YkV4yPpM81HeMkOMZuwFa8iM5uJdEPKAs1icIRZKkKmy0Ub1x9/G3PQLTXdpBxrQ==} + '@codemirror/view@6.33.0': + resolution: {integrity: sha512-AroaR3BvnjRW8fiZBalAaK+ZzB5usGgI014YKElYZvQdNH5ZIidHlO+cyf/2rWzyBFRkvG6VhiXeAEbC53P2YQ==} '@dnd-kit/accessibility@3.1.0': resolution: {integrity: sha512-ea7IkhKvlJUv9iSHJOnxinBcoOI3ppGnnL+VDJ75O45Nss6HtZd8IdN8touXPDtASfeI2T2LImb8VOZcL47wjQ==} @@ -1179,8 +1127,8 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.10.1': - resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==} + '@eslint-community/regexpp@4.11.0': + resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} '@eslint/eslintrc@2.1.4': @@ -1191,26 +1139,26 @@ packages: resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@floating-ui/core@1.6.2': - resolution: {integrity: sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==} + '@floating-ui/core@1.6.7': + resolution: {integrity: sha512-yDzVT/Lm101nQ5TCVeK65LtdN7Tj4Qpr9RTXJ2vPFLqtLxwOrpoxAHAJI8J3yYWUc40J0BDBheaitK5SJmno2g==} - '@floating-ui/dom@1.6.5': - resolution: {integrity: sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==} + '@floating-ui/dom@1.6.10': + resolution: {integrity: sha512-fskgCFv8J8OamCmyun8MfjB1Olfn+uZKjOKZ0vhYF3gRmEUXcGOjxWL8bBr7i4kIuPZ2KD2S3EUIOxnjC8kl2A==} - '@floating-ui/react-dom@2.1.0': - resolution: {integrity: sha512-lNzj5EQmEKn5FFKc04+zasr09h/uX8RtJRNj5gUXsSQIXHVWTVh+hVAg1vOMCexkX8EgvemMvIFpQfkosnVNyA==} + '@floating-ui/react-dom@2.1.1': + resolution: {integrity: sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' - '@floating-ui/react@0.26.17': - resolution: {integrity: sha512-ESD+jYWwqwVzaIgIhExrArdsCL1rOAzryG/Sjlu8yaD3Mtqi3uVyhbE2V7jD58Mo52qbzKz2eUY/Xgh5I86FCQ==} + '@floating-ui/react@0.26.23': + resolution: {integrity: sha512-9u3i62fV0CFF3nIegiWiRDwOs7OW/KhSUJDNx2MkQM3LbE5zQOY01sL3nelcVBXvX7Ovvo3A49I8ql+20Wg/Hw==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' - '@floating-ui/utils@0.2.2': - resolution: {integrity: sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==} + '@floating-ui/utils@0.2.7': + resolution: {integrity: sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA==} '@humanwhocodes/config-array@0.11.14': resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} @@ -1225,116 +1173,108 @@ packages: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} deprecated: Use @eslint/object-schema instead - '@img/sharp-darwin-arm64@0.33.4': - resolution: {integrity: sha512-p0suNqXufJs9t3RqLBO6vvrgr5OhgbWp76s5gTRvdmxmuv9E1rcaqGUsl3l4mKVmXPkTkTErXediAui4x+8PSA==} - engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + '@img/sharp-darwin-arm64@0.33.5': + resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [darwin] - '@img/sharp-darwin-x64@0.33.4': - resolution: {integrity: sha512-0l7yRObwtTi82Z6ebVI2PnHT8EB2NxBgpK2MiKJZJ7cz32R4lxd001ecMhzzsZig3Yv9oclvqqdV93jo9hy+Dw==} - engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + '@img/sharp-darwin-x64@0.33.5': + resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [darwin] - '@img/sharp-libvips-darwin-arm64@1.0.2': - resolution: {integrity: sha512-tcK/41Rq8IKlSaKRCCAuuY3lDJjQnYIW1UXU1kxcEKrfL8WR7N6+rzNoOxoQRJWTAECuKwgAHnPvqXGN8XfkHA==} - engines: {macos: '>=11', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + '@img/sharp-libvips-darwin-arm64@1.0.4': + resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} cpu: [arm64] os: [darwin] - '@img/sharp-libvips-darwin-x64@1.0.2': - resolution: {integrity: sha512-Ofw+7oaWa0HiiMiKWqqaZbaYV3/UGL2wAPeLuJTx+9cXpCRdvQhCLG0IH8YGwM0yGWGLpsF4Su9vM1o6aer+Fw==} - engines: {macos: '>=10.13', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + '@img/sharp-libvips-darwin-x64@1.0.4': + resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} cpu: [x64] os: [darwin] - '@img/sharp-libvips-linux-arm64@1.0.2': - resolution: {integrity: sha512-x7kCt3N00ofFmmkkdshwj3vGPCnmiDh7Gwnd4nUwZln2YjqPxV1NlTyZOvoDWdKQVDL911487HOueBvrpflagw==} - engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + '@img/sharp-libvips-linux-arm64@1.0.4': + resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} cpu: [arm64] os: [linux] - '@img/sharp-libvips-linux-arm@1.0.2': - resolution: {integrity: sha512-iLWCvrKgeFoglQxdEwzu1eQV04o8YeYGFXtfWU26Zr2wWT3q3MTzC+QTCO3ZQfWd3doKHT4Pm2kRmLbupT+sZw==} - engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + '@img/sharp-libvips-linux-arm@1.0.5': + resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} cpu: [arm] os: [linux] - '@img/sharp-libvips-linux-s390x@1.0.2': - resolution: {integrity: sha512-cmhQ1J4qVhfmS6szYW7RT+gLJq9dH2i4maq+qyXayUSn9/3iY2ZeWpbAgSpSVbV2E1JUL2Gg7pwnYQ1h8rQIog==} - engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + '@img/sharp-libvips-linux-s390x@1.0.4': + resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} cpu: [s390x] os: [linux] - '@img/sharp-libvips-linux-x64@1.0.2': - resolution: {integrity: sha512-E441q4Qdb+7yuyiADVi5J+44x8ctlrqn8XgkDTwr4qPJzWkaHwD489iZ4nGDgcuya4iMN3ULV6NwbhRZJ9Z7SQ==} - engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + '@img/sharp-libvips-linux-x64@1.0.4': + resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} cpu: [x64] os: [linux] - '@img/sharp-libvips-linuxmusl-arm64@1.0.2': - resolution: {integrity: sha512-3CAkndNpYUrlDqkCM5qhksfE+qSIREVpyoeHIU6jd48SJZViAmznoQQLAv4hVXF7xyUB9zf+G++e2v1ABjCbEQ==} - engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} cpu: [arm64] os: [linux] - '@img/sharp-libvips-linuxmusl-x64@1.0.2': - resolution: {integrity: sha512-VI94Q6khIHqHWNOh6LLdm9s2Ry4zdjWJwH56WoiJU7NTeDwyApdZZ8c+SADC8OH98KWNQXnE01UdJ9CSfZvwZw==} - engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} cpu: [x64] os: [linux] - '@img/sharp-linux-arm64@0.33.4': - resolution: {integrity: sha512-2800clwVg1ZQtxwSoTlHvtm9ObgAax7V6MTAB/hDT945Tfyy3hVkmiHpeLPCKYqYR1Gcmv1uDZ3a4OFwkdBL7Q==} - engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + '@img/sharp-linux-arm64@0.33.5': + resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] - '@img/sharp-linux-arm@0.33.4': - resolution: {integrity: sha512-RUgBD1c0+gCYZGCCe6mMdTiOFS0Zc/XrN0fYd6hISIKcDUbAW5NtSQW9g/powkrXYm6Vzwd6y+fqmExDuCdHNQ==} - engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + '@img/sharp-linux-arm@0.33.5': + resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm] os: [linux] - '@img/sharp-linux-s390x@0.33.4': - resolution: {integrity: sha512-h3RAL3siQoyzSoH36tUeS0PDmb5wINKGYzcLB5C6DIiAn2F3udeFAum+gj8IbA/82+8RGCTn7XW8WTFnqag4tQ==} - engines: {glibc: '>=2.31', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + '@img/sharp-linux-s390x@0.33.5': + resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [s390x] os: [linux] - '@img/sharp-linux-x64@0.33.4': - resolution: {integrity: sha512-GoR++s0XW9DGVi8SUGQ/U4AeIzLdNjHka6jidVwapQ/JebGVQIpi52OdyxCNVRE++n1FCLzjDovJNozif7w/Aw==} - engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + '@img/sharp-linux-x64@0.33.5': + resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] - '@img/sharp-linuxmusl-arm64@0.33.4': - resolution: {integrity: sha512-nhr1yC3BlVrKDTl6cO12gTpXMl4ITBUZieehFvMntlCXFzH2bvKG76tBL2Y/OqhupZt81pR7R+Q5YhJxW0rGgQ==} - engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + '@img/sharp-linuxmusl-arm64@0.33.5': + resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] - '@img/sharp-linuxmusl-x64@0.33.4': - resolution: {integrity: sha512-uCPTku0zwqDmZEOi4ILyGdmW76tH7dm8kKlOIV1XC5cLyJ71ENAAqarOHQh0RLfpIpbV5KOpXzdU6XkJtS0daw==} - engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + '@img/sharp-linuxmusl-x64@0.33.5': + resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] - '@img/sharp-wasm32@0.33.4': - resolution: {integrity: sha512-Bmmauh4sXUsUqkleQahpdNXKvo+wa1V9KhT2pDA4VJGKwnKMJXiSTGphn0gnJrlooda0QxCtXc6RX1XAU6hMnQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + '@img/sharp-wasm32@0.33.5': + resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [wasm32] - '@img/sharp-win32-ia32@0.33.4': - resolution: {integrity: sha512-99SJ91XzUhYHbx7uhK3+9Lf7+LjwMGQZMDlO/E/YVJ7Nc3lyDFZPGhjwiYdctoH2BOzW9+TnfqcaMKt0jHLdqw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + '@img/sharp-win32-ia32@0.33.5': + resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [ia32] os: [win32] - '@img/sharp-win32-x64@0.33.4': - resolution: {integrity: sha512-3QLocdTRVIrFNye5YocZl+KKpYKP+fksi1QhmOArgx7GyhIbQp/WrJRu176jm8IxromS7RIkzMiMINVdBtC8Aw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + '@img/sharp-win32-x64@0.33.5': + resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [win32] @@ -1353,8 +1293,8 @@ packages: '@jridgewell/source-map@0.3.6': resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} - '@jridgewell/sourcemap-codec@1.4.15': - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} @@ -1368,12 +1308,8 @@ packages: '@lezer/css@1.1.8': resolution: {integrity: sha512-7JhxupKuMBaWQKjQoLtzhGj83DdnZY9MckEOG5+/iLKNK2ZJqKc6hf6uc0HjwCX7Qlok44jBNqZhHKDhEhZYLA==} - '@lezer/generator@1.7.1': - resolution: {integrity: sha512-MgPJN9Si+ccxzXl3OAmCeZuUKw4XiPl4y664FX/hnnyG9CTqUPq65N3/VGPA2jD23D7QgMTtNqflta+cPN+5mQ==} - hasBin: true - - '@lezer/highlight@1.2.0': - resolution: {integrity: sha512-WrS5Mw51sGrpqjlh3d4/fOwpEV2Hd3YOkp9DBt4k8XZQcoTHZFB7sx030A6OcahF4J1nDQAa3jXlTVVYH50IFA==} + '@lezer/highlight@1.2.1': + resolution: {integrity: sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA==} '@lezer/html@1.3.10': resolution: {integrity: sha512-dqpT8nISx/p9Do3AchvYGV3qYc4/rKr3IBZxlHmpIKam56P47RSHkSF5f13Vu9hebS1jM0HmtJIwLbWz1VIY6w==} @@ -1381,11 +1317,8 @@ packages: '@lezer/javascript@1.4.17': resolution: {integrity: sha512-bYW4ctpyGK+JMumDApeUzuIezX01H76R1foD6LcRX224FWfyYit/HYxiPGDjXXe/wQWASjCvVGoukTH68+0HIA==} - '@lezer/json@1.0.2': - resolution: {integrity: sha512-xHT2P4S5eeCYECyKNPhr4cbEL9tc8w83SPwRC373o9uEdrvGKTZoJVAGxpOsZckMlEh9W23Pc72ew918RWQOBQ==} - - '@lezer/lr@1.4.1': - resolution: {integrity: sha512-CHsKq8DMKBf9b3yXPDIU4DbH+ZJd/sJdYOW2llbW/HudP5u0VS6Bfq1hLYfgU7uAYGFIyGGQIsSOXGPEErZiJw==} + '@lezer/lr@1.4.2': + resolution: {integrity: sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==} '@lezer/php@1.0.2': resolution: {integrity: sha512-GN7BnqtGRpFyeoKSEqxvGvhJQiI4zkgmYnDk/JIyc7H7Ifc1tkPnUn/R2R8meH3h/aBf5rzjvU8ZQoyiNDtDrA==} @@ -1396,45 +1329,39 @@ packages: '@lezer/rust@1.0.2': resolution: {integrity: sha512-Lz5sIPBdF2FUXcWeCu1//ojFAZqzTQNRga0aYv6dYXqJqPfMdCAI0NzajWUd4Xijj1IKJLtjoXRPMvTKWBcqKg==} - '@mantine/core@7.10.2': - resolution: {integrity: sha512-sPqJY2A+zHAhi7/mJKL2EH92jKc6JDACJY17gXS+FcbIQgiaY1rxA/tdcybpq8FbswSgUYZO6CRL6XWEhatw5w==} + '@mantine/core@7.12.1': + resolution: {integrity: sha512-PXKIDaT1fpNB77dPQIcdFGM2NRnfmsJSVx3uuBccngBQWMIWI0wPyiO1Y26DK4LQrbrypeb+TS+Zxpgx6RoiCA==} peerDependencies: - '@mantine/hooks': 7.10.2 + '@mantine/hooks': 7.12.1 react: ^18.2.0 react-dom: ^18.2.0 - '@mantine/hooks@7.10.2': - resolution: {integrity: sha512-3m4flbR2yv3Bl21pHl5BKOOnqrInp/gVD72rozLeu/jzIZqQy8yFRTY2bUWCebPwNem//OD1rCORsBXNXvq31g==} + '@mantine/hooks@7.12.1': + resolution: {integrity: sha512-YPA3qiMHJkWID5+YzakBaLvjHtX3Fg3PdPY49iIb/CaWM9+lrJ+77TOVS7bsY7ZTBHXUfzft1/6Woqt3xSuweA==} peerDependencies: react: ^18.2.0 - '@mantine/modals@7.12.0': - resolution: {integrity: sha512-CXt2nUK0VuWc+cwC1flCeH5FnQYjA8iQfGgZ37wSFv2qxzJFQ61QlRJjdgIG7T+DccUHjqXKkjYohLxXE36EQQ==} + '@mantine/modals@7.12.1': + resolution: {integrity: sha512-olS07yDcCFLGylLGaQgBiTnKcRrUZVLKqBFBw5glcmc/wZmJf4SDMgx5mxSwBnsbJOwJ2d3aIYwO/qNTNnluSg==} peerDependencies: - '@mantine/core': 7.12.0 - '@mantine/hooks': 7.12.0 + '@mantine/core': 7.12.1 + '@mantine/hooks': 7.12.1 react: ^18.2.0 react-dom: ^18.2.0 - '@mantine/notifications@7.10.2': - resolution: {integrity: sha512-wX6qNBvpV7iqlH98AkGuS9plq02yYhTG7bkzP3Y7jd7o2ognLPoN83YeIaxzuZ/qVnWrwZrOHOx87Ox2e9Qyxw==} + '@mantine/notifications@7.12.1': + resolution: {integrity: sha512-YIV2ItCRJzbOjEyXtz5Rjf3qn6kwmcz6CqAGurpd+kecxx6wwNoKuKs6YNlz7tcprFegcH/hCUkW2tVbXHKVBA==} peerDependencies: - '@mantine/core': 7.10.2 - '@mantine/hooks': 7.10.2 + '@mantine/core': 7.12.1 + '@mantine/hooks': 7.12.1 react: ^18.2.0 react-dom: ^18.2.0 - '@mantine/store@7.10.2': - resolution: {integrity: sha512-izT4ivE2Ka2NBTjy5Ck31F3sSybCBLXJhX/ESDCasVR9MKD2Ci2Y6nbm0UtBdPf4+PrDPZtaPwqQzL92uZLtCQ==} + '@mantine/store@7.12.1': + resolution: {integrity: sha512-zIzYEheEyXchPTNKsm88BJ0CTEZV6ZNwMhMDWHKQE3CzjKLJdKHJdIBcZImRU3Pn4GROZdZdIkQF9HLJ6BjvYw==} peerDependencies: react: ^18.2.0 - '@marijn/buildtool@1.0.0': - resolution: {integrity: sha512-yweS09UWiKGAIvteZcE0H/ddDPOjetI4lzO491z0Lph+hgV6RDF0sEZuZv3K51jwz+UU3rQVskjebHCgNxDE6A==} - - '@marijn/testtool@0.1.2': - resolution: {integrity: sha512-NXbnM5EsDibhHhQFToCLTWuPp8h4iAuQb4Ch0d2OI0MMvCFAQDVi0wLgfVq11SCqcgA8K/w/iJTnMpbnoE/uUA==} - '@mdi/js@7.4.47': resolution: {integrity: sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ==} @@ -1493,25 +1420,13 @@ packages: react: '>=17' react-dom: '>=17' - '@replit/codemirror-indentation-markers@6.5.2': - resolution: {integrity: sha512-D/GJ2LuPPe+3rQBJXnvDLcsjc5ej8ubyyNo+fJh8/5/D1eaku/Bb5saVt+aIw7YdWxtp14xM4hJik6bNRfzQbg==} + '@replit/codemirror-indentation-markers@6.5.3': + resolution: {integrity: sha512-hL5Sfvw3C1vgg7GolLe/uxX5T3tmgOA3ZzqlMv47zjU1ON51pzNWiVbS22oh6crYhtVhv8b3gdXwoYp++2ilHw==} peerDependencies: '@codemirror/language': ^6.0.0 '@codemirror/state': ^6.0.0 '@codemirror/view': ^6.0.0 - '@rollup/plugin-node-resolve@9.0.0': - resolution: {integrity: sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==} - engines: {node: '>= 10.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 - - '@rollup/pluginutils@3.1.0': - resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 - '@rollup/pluginutils@5.1.0': resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} @@ -1521,83 +1436,163 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.18.0': - resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==} + '@rollup/rollup-android-arm-eabi@4.21.1': + resolution: {integrity: sha512-2thheikVEuU7ZxFXubPDOtspKn1x0yqaYQwvALVtEcvFhMifPADBrgRPyHV0TF3b+9BgvgjgagVyvA/UqPZHmg==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.18.0': - resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==} + '@rollup/rollup-android-arm-eabi@4.21.2': + resolution: {integrity: sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.21.1': + resolution: {integrity: sha512-t1lLYn4V9WgnIFHXy1d2Di/7gyzBWS8G5pQSXdZqfrdCGTwi1VasRMSS81DTYb+avDs/Zz4A6dzERki5oRYz1g==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-android-arm64@4.21.2': + resolution: {integrity: sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.18.0': - resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==} + '@rollup/rollup-darwin-arm64@4.21.1': + resolution: {integrity: sha512-AH/wNWSEEHvs6t4iJ3RANxW5ZCK3fUnmf0gyMxWCesY1AlUj8jY7GC+rQE4wd3gwmZ9XDOpL0kcFnCjtN7FXlA==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-arm64@4.21.2': + resolution: {integrity: sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.18.0': - resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==} + '@rollup/rollup-darwin-x64@4.21.1': + resolution: {integrity: sha512-dO0BIz/+5ZdkLZrVgQrDdW7m2RkrLwYTh2YMFG9IpBtlC1x1NPNSXkfczhZieOlOLEqgXOFH3wYHB7PmBtf+Bg==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.21.2': + resolution: {integrity: sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.18.0': - resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==} + '@rollup/rollup-linux-arm-gnueabihf@4.21.1': + resolution: {integrity: sha512-sWWgdQ1fq+XKrlda8PsMCfut8caFwZBmhYeoehJ05FdI0YZXk6ZyUjWLrIgbR/VgiGycrFKMMgp7eJ69HOF2pQ==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-gnueabihf@4.21.2': + resolution: {integrity: sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.21.1': + resolution: {integrity: sha512-9OIiSuj5EsYQlmwhmFRA0LRO0dRRjdCVZA3hnmZe1rEwRk11Jy3ECGGq3a7RrVEZ0/pCsYWx8jG3IvcrJ6RCew==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.18.0': - resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==} + '@rollup/rollup-linux-arm-musleabihf@4.21.2': + resolution: {integrity: sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.18.0': - resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==} + '@rollup/rollup-linux-arm64-gnu@4.21.1': + resolution: {integrity: sha512-0kuAkRK4MeIUbzQYu63NrJmfoUVicajoRAL1bpwdYIYRcs57iyIV9NLcuyDyDXE2GiZCL4uhKSYAnyWpjZkWow==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.21.2': + resolution: {integrity: sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.21.1': + resolution: {integrity: sha512-/6dYC9fZtfEY0vozpc5bx1RP4VrtEOhNQGb0HwvYNwXD1BBbwQ5cKIbUVVU7G2d5WRE90NfB922elN8ASXAJEA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.18.0': - resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==} + '@rollup/rollup-linux-arm64-musl@4.21.2': + resolution: {integrity: sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': - resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==} + '@rollup/rollup-linux-powerpc64le-gnu@4.21.1': + resolution: {integrity: sha512-ltUWy+sHeAh3YZ91NUsV4Xg3uBXAlscQe8ZOXRCVAKLsivGuJsrkawYPUEyCV3DYa9urgJugMLn8Z3Z/6CeyRQ==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.18.0': - resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==} + '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': + resolution: {integrity: sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.21.1': + resolution: {integrity: sha512-BggMndzI7Tlv4/abrgLwa/dxNEMn2gC61DCLrTzw8LkpSKel4o+O+gtjbnkevZ18SKkeN3ihRGPuBxjaetWzWg==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.21.2': + resolution: {integrity: sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.18.0': - resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==} + '@rollup/rollup-linux-s390x-gnu@4.21.1': + resolution: {integrity: sha512-z/9rtlGd/OMv+gb1mNSjElasMf9yXusAxnRDrBaYB+eS1shFm6/4/xDH1SAISO5729fFKUkJ88TkGPRUh8WSAA==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.21.2': + resolution: {integrity: sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.18.0': - resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==} + '@rollup/rollup-linux-x64-gnu@4.21.1': + resolution: {integrity: sha512-kXQVcWqDcDKw0S2E0TmhlTLlUgAmMVqPrJZR+KpH/1ZaZhLSl23GZpQVmawBQGVhyP5WXIsIQ/zqbDBBYmxm5w==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.21.2': + resolution: {integrity: sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.18.0': - resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==} + '@rollup/rollup-linux-x64-musl@4.21.1': + resolution: {integrity: sha512-CbFv/WMQsSdl+bpX6rVbzR4kAjSSBuDgCqb1l4J68UYsQNalz5wOqLGYj4ZI0thGpyX5kc+LLZ9CL+kpqDovZA==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.18.0': - resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==} + '@rollup/rollup-linux-x64-musl@4.21.2': + resolution: {integrity: sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.21.1': + resolution: {integrity: sha512-3Q3brDgA86gHXWHklrwdREKIrIbxC0ZgU8lwpj0eEKGBQH+31uPqr0P2v11pn0tSIxHvcdOWxa4j+YvLNx1i6g==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-arm64-msvc@4.21.2': + resolution: {integrity: sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.18.0': - resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==} + '@rollup/rollup-win32-ia32-msvc@4.21.1': + resolution: {integrity: sha512-tNg+jJcKR3Uwe4L0/wY3Ro0H+u3nrb04+tcq1GSYzBEmKLeOQF2emk1whxlzNqb6MMrQ2JOcQEpuuiPLyRcSIw==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.21.2': + resolution: {integrity: sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.18.0': - resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==} + '@rollup/rollup-win32-x64-msvc@4.21.1': + resolution: {integrity: sha512-xGiIH95H1zU7naUyTKEyOA/I0aexNMUdO9qRv0bLKN3qu25bBdrxZHqA3PTJ24YNN/GdMzG4xkDcd/GvjuhfLg==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.21.2': + resolution: {integrity: sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==} cpu: [x64] os: [win32] @@ -1605,22 +1600,36 @@ packages: resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} engines: {node: '>=14.16'} + '@surrealdb/codemirror@1.0.0-beta.4': + resolution: {integrity: sha512-mnnhskeYdLpY8D/Nw9EUauj1OcLjI6r2cYXCVqfaKeW0XQaDBkY6ZwYtd5aLE6OBR+iMiYLBi75MOnLB3+h6Bg==} + + '@surrealdb/lezer@1.0.0-beta.4': + resolution: {integrity: sha512-jWAPfB+Stx/vs6LawlXTpkoA4NUdqX4wDn+ER3wHbaxQJn/yzk7dq1xeU++QbWYU/qqqgxeMkAz+bxO2RhkG2w==} + + '@surrealdb/ql-wasm@0.2.0-beta.2': + resolution: {integrity: sha512-Iw/UNMyCXTF9wywiNHY4Xt+zKnBwGitCYOL6H/zRow+BqKIxeOeaSJ0pm9SU9lWIsoJEQZ/OwM3+CmqsSFYs8A==} + + '@surrealdb/wasm@1.0.0-beta.18': + resolution: {integrity: sha512-ZDOogQYTFrgJTMvVSOigT9bHq636KE+zk10iUga37usYBsBjHv5uCJHLgL4xo0ZtphixTngyQESDb7HFyZRH1w==} + peerDependencies: + surrealdb: ^1.0.0-beta.20 + '@szmarczak/http-timer@5.0.1': resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} engines: {node: '>=14.16'} - '@tanstack/eslint-plugin-query@5.43.1': - resolution: {integrity: sha512-5WZmkny6u/lSjzUpgnvn+vnA1KtIa7umNZYLqCg9TZK0lmz9SRP6Hnui1PI279eisDy/O+1yD0MfEHTJWlQGVw==} + '@tanstack/eslint-plugin-query@5.52.0': + resolution: {integrity: sha512-i02fOM3TRURI46AswPNlKb4Gwu+/mAPssI+pVu0AifA7/qzOJRgco17vdqjq/VgChKLLIltd9/KI4MCJFFfWEw==} peerDependencies: eslint: ^8 || ^9 - '@tanstack/query-core@5.45.0': - resolution: {integrity: sha512-RVfIZQmFUTdjhSAAblvueimfngYyfN6HlwaJUPK71PKd7yi43Vs1S/rdimmZedPWX/WGppcq/U1HOj7O7FwYxw==} + '@tanstack/query-core@5.52.2': + resolution: {integrity: sha512-9vvbFecK4A0nDnrc/ks41e3UHONF1DAnGz8Tgbxkl59QcvKWmc0ewhYuIKRh8NC4ja5LTHT9EH16KHbn2AIYWA==} - '@tanstack/react-query@5.45.1': - resolution: {integrity: sha512-mYYfJujKg2kxmkRRjA6nn4YKG3ITsKuH22f1kteJ5IuVQqgKUgbaSQfYwVP0gBS05mhwxO03HVpD0t7BMN7WOA==} + '@tanstack/react-query@5.52.2': + resolution: {integrity: sha512-d4OwmobpP+6+SvuAxW1RzAY95Pv87Gu+0GjtErzFOUXo+n0FGcwxKvzhswCsXKxsgnAr3bU2eJ2u+GXQAutkCQ==} peerDependencies: - react: ^18.0.0 + react: ^18 || ^19 '@tauri-apps/api@2.0.0-beta.14': resolution: {integrity: sha512-YLYgHqdwWswr4Y70+hRzaLD6kLIUgHhE3shLXNquPiTaQ9+cX3Q2dB0AFfqsua6NXYFNe7LfkmMzaqEzqv3yQg==} @@ -1700,6 +1709,9 @@ packages: '@tauri-apps/plugin-fs@2.0.0-beta.6': resolution: {integrity: sha512-R7M5wggENzJhiA0HwP63AzdF6uzdXRYe0z+ETSue9gvJmqKtqVp+qx9JLsWSfwENHy8RDKmrnuDL18kx/Q2aFA==} + '@tauri-apps/plugin-http@2.0.0-beta.7': + resolution: {integrity: sha512-mxdhcpPPT2oHm0FWe6HS2UbQW2LFTbAv2vExrTYAPJSuXOp2kisgOjazZtswYqpmftpcSZ4dFpmzNlQp188e/g==} + '@tauri-apps/plugin-log@2.0.0-beta.7': resolution: {integrity: sha512-rdwvmIWv0alRGvG5mxUvSCeT4ovVp5zRaUhtd2372mPPQgYKpHk2nxlRFiGtpcP/MCv0cwXh+MDsceVJpQLtZQ==} @@ -1827,9 +1839,6 @@ packages: '@types/d3@7.4.3': resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} - '@types/estree@0.0.39': - resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} - '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} @@ -1845,11 +1854,8 @@ packages: '@types/leaflet@1.9.12': resolution: {integrity: sha512-BK7XS+NyRI291HIo0HCfE18Lp8oA30H1gpi1tf0mF3TgiCEzanQjOqNZ4x126SXzzi2oNSZhZ5axJp1k0iM6jg==} - '@types/mocha@9.1.1': - resolution: {integrity: sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==} - - '@types/node@20.14.7': - resolution: {integrity: sha512-uTr2m2IbJJucF3KUxgnGOZvYbN0QgkGyWxG6973HCpMYFy2KfcgYuIwkJQMQkt1VbBMlvWRbpshFTLxnxCZjKQ==} + '@types/node@20.16.1': + resolution: {integrity: sha512-zJDo7wEadFtSyNz5QITDfRcrhqDvQI1xQNQ0VoizPjM/dVAODqqIUWbJPkvsxmTI0MYRGRikcdjMPhOssnPejQ==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -1860,17 +1866,11 @@ packages: '@types/prop-types@15.7.12': resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} - '@types/react-copy-to-clipboard@5.0.7': - resolution: {integrity: sha512-Gft19D+as4M+9Whq1oglhmK49vqPhcLzk8WfvfLvaYMIPYanyfLy0+CwFucMJfdKoSFyySPmkkWn8/E6voQXjQ==} - '@types/react-dom@18.3.0': resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} - '@types/react@18.3.3': - resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} - - '@types/resolve@1.17.1': - resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} + '@types/react@18.3.4': + resolution: {integrity: sha512-J7W30FTdfCxDDjmfRM+/JqLHBIyl7xUIp9kwK637FGmY7+mkSFSe6L4jpZzhj5QMfLssSDP4/i75AKkrdC7/Jw==} '@types/semver-compare@1.0.3': resolution: {integrity: sha512-mVZkB2QjXmZhh+MrtwMlJ8BqUnmbiSkpd88uOWskfwB8yitBT0tBRAKt+41VRgZD9zr9Sc+Xs02qGgvzd1Rq/Q==} @@ -1903,8 +1903,8 @@ packages: resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/scope-manager@8.0.0-alpha.28': - resolution: {integrity: sha512-Iq8QFmJ2DH2tx7jfOraMZM1Y1axRfWh4t29JXRgbzvgiDQ2uHRHcaXqTulqsZXzJ0+vERNvNkOIPcQYGsNeGVQ==} + '@typescript-eslint/scope-manager@8.0.0-alpha.30': + resolution: {integrity: sha512-FGW/iPWGyPFamAVZ60oCAthMqQrqafUGebF8UKuq/ha+e9SVG6YhJoRzurlQXOVf8dHfOhJ0ADMXyFnMc53clg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/type-utils@6.21.0': @@ -1921,8 +1921,8 @@ packages: resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/types@8.0.0-alpha.28': - resolution: {integrity: sha512-HYg+e0EWVShx0FEX0MAjDinYLmd+wD6nGMpbaddB1iACYwqaJFbf7vw0l+hdLTJvQC6UY8ndRkaEsL68QEoIZQ==} + '@typescript-eslint/types@8.0.0-alpha.30': + resolution: {integrity: sha512-4WzLlw27SO9pK9UFj/Hu7WGo8WveT0SEiIpFVsV2WwtQmLps6kouwtVCB8GJPZKJyurhZhcqCoQVQFmpv441Vg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@6.21.0': @@ -1934,8 +1934,8 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@8.0.0-alpha.28': - resolution: {integrity: sha512-I/5ODd4XJ+TO0XrKwDaB4tVGVi6kz2LAlN3WPd7mZVVtW21HHByCILRhOF9RbC69gJQ/TGHFpWCmAcsq2RZisg==} + '@typescript-eslint/typescript-estree@8.0.0-alpha.30': + resolution: {integrity: sha512-WSXbc9ZcXI+7yC+6q95u77i8FXz6HOLsw3ST+vMUlFy1lFbXyFL/3e6HDKQCm2Clt0krnoCPiTGvIn+GkYPn4Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -1949,8 +1949,8 @@ packages: peerDependencies: eslint: ^7.0.0 || ^8.0.0 - '@typescript-eslint/utils@8.0.0-alpha.28': - resolution: {integrity: sha512-PnIz94+nbyjJisMI+KZqXMfw0wfIHvbyh0MGEx2M314wqm6SUWcxB5I8zduGQgJbRB0YFnboPS+MeSlBYPWrBQ==} + '@typescript-eslint/utils@8.0.0-alpha.30': + resolution: {integrity: sha512-rfhqfLqFyXhHNDwMnHiVGxl/Z2q/3guQ1jLlGQ0hi9Rb7inmwz42crM+NnLPR+2vEnwyw1P/g7fnQgQ3qvFx4g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1959,15 +1959,15 @@ packages: resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/visitor-keys@8.0.0-alpha.28': - resolution: {integrity: sha512-+ewAOeKDycydKMlnfmW8zAURTA8PR5Csyvxy6PJt4XRYjoquode9/eWaMt9Sp4Rz1FGMSVU9KxDRR83ASH/xkQ==} + '@typescript-eslint/visitor-keys@8.0.0-alpha.30': + resolution: {integrity: sha512-XZuNurZxBqmr6ZIRIwWFq7j5RZd6ZlkId/HZEWyfciK+CWoyOxSF9Pv2VXH9Rlu2ZG2PfbhLz2Veszl4Pfn7yA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - '@vitejs/plugin-legacy@5.4.1': - resolution: {integrity: sha512-kee0l7dVevCNs1l3u2PnihVunvQ0WTJL2UJ/siQGD3Iht546mR9NO16tCv32uCP6lcGO1QDLqlPqInJtV1FE7A==} + '@vitejs/plugin-legacy@5.4.2': + resolution: {integrity: sha512-hlyyQL+wEIyOWdwsUKX+0g3kBU4AbHmVzHarLvVKiGGGqLIYjttMvvjk6zGY8RD9dab6QuFNhDoxg0YFhQ26xA==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: terser: ^5.4.0 @@ -1979,56 +1979,48 @@ packages: peerDependencies: vite: ^4.2.0 || ^5.0.0 - '@vue/compiler-core@3.4.29': - resolution: {integrity: sha512-TFKiRkKKsRCKvg/jTSSKK7mYLJEQdUiUfykbG49rubC9SfDyvT2JrzTReopWlz2MxqeLyxh9UZhvxEIBgAhtrg==} + '@vue/compiler-core@3.4.38': + resolution: {integrity: sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A==} - '@vue/compiler-dom@3.4.29': - resolution: {integrity: sha512-A6+iZ2fKIEGnfPJejdB7b1FlJzgiD+Y/sxxKwJWg1EbJu6ZPgzaPQQ51ESGNv0CP6jm6Z7/pO6Ia8Ze6IKrX7w==} + '@vue/compiler-dom@3.4.38': + resolution: {integrity: sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ==} - '@vue/compiler-sfc@3.4.29': - resolution: {integrity: sha512-zygDcEtn8ZimDlrEQyLUovoWgKQic6aEQqRXce2WXBvSeHbEbcAsXyCk9oG33ZkyWH4sl9D3tkYc1idoOkdqZQ==} + '@vue/compiler-sfc@3.4.38': + resolution: {integrity: sha512-s5QfZ+9PzPh3T5H4hsQDJtI8x7zdJaew/dCGgqZ2630XdzaZ3AD8xGZfBqpT8oaD/p2eedd+pL8tD5vvt5ZYJQ==} - '@vue/compiler-ssr@3.4.29': - resolution: {integrity: sha512-rFbwCmxJ16tDp3N8XCx5xSQzjhidYjXllvEcqX/lopkoznlNPz3jyy0WGJCyhAaVQK677WWFt3YO/WUEkMMUFQ==} + '@vue/compiler-ssr@3.4.38': + resolution: {integrity: sha512-YXznKFQ8dxYpAz9zLuVvfcXhc31FSPFDcqr0kyujbOwNhlmaNvL2QfIy+RZeJgSn5Fk54CWoEUeW+NVBAogGaw==} - '@vue/reactivity@3.4.29': - resolution: {integrity: sha512-w8+KV+mb1a8ornnGQitnMdLfE0kXmteaxLdccm2XwdFxXst4q/Z7SEboCV5SqJNpZbKFeaRBBJBhW24aJyGINg==} + '@vue/reactivity@3.4.38': + resolution: {integrity: sha512-4vl4wMMVniLsSYYeldAKzbk72+D3hUnkw9z8lDeJacTxAkXeDAP1uE9xr2+aKIN0ipOL8EG2GPouVTH6yF7Gnw==} - '@vue/runtime-core@3.4.29': - resolution: {integrity: sha512-s8fmX3YVR/Rk5ig0ic0NuzTNjK2M7iLuVSZyMmCzN/+Mjuqqif1JasCtEtmtoJWF32pAtUjyuT2ljNKNLeOmnQ==} + '@vue/runtime-core@3.4.38': + resolution: {integrity: sha512-21z3wA99EABtuf+O3IhdxP0iHgkBs1vuoCAsCKLVJPEjpVqvblwBnTj42vzHRlWDCyxu9ptDm7sI2ZMcWrQqlA==} - '@vue/runtime-dom@3.4.29': - resolution: {integrity: sha512-gI10atCrtOLf/2MPPMM+dpz3NGulo9ZZR9d1dWo4fYvm+xkfvRrw1ZmJ7mkWtiJVXSsdmPbcK1p5dZzOCKDN0g==} + '@vue/runtime-dom@3.4.38': + resolution: {integrity: sha512-afZzmUreU7vKwKsV17H1NDThEEmdYI+GCAK/KY1U957Ig2NATPVjCROv61R19fjZNzMmiU03n79OMnXyJVN0UA==} - '@vue/server-renderer@3.4.29': - resolution: {integrity: sha512-HMLCmPI2j/k8PVkSBysrA2RxcxC5DgBiCdj7n7H2QtR8bQQPqKAe8qoaxLcInzouBmzwJ+J0x20ygN/B5mYBng==} + '@vue/server-renderer@3.4.38': + resolution: {integrity: sha512-NggOTr82FbPEkkUvBm4fTGcwUY8UuTsnWC/L2YZBmvaQ4C4Jl/Ao4HHTB+l7WnFCt5M/dN3l0XLuyjzswGYVCA==} peerDependencies: - vue: 3.4.29 + vue: 3.4.38 - '@vue/shared@3.4.29': - resolution: {integrity: sha512-hQ2gAQcBO/CDpC82DCrinJNgOHI2v+FA7BDW4lMSPeBpQ7sRe2OLHWe5cph1s7D8DUQAwRt18dBDfJJ220APEA==} + '@vue/shared@3.4.38': + resolution: {integrity: sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==} acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-walk@8.3.3: - resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} - engines: {node: '>=0.4.0'} - - acorn@8.12.0: - resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} + acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - ansi-colors@4.1.1: - resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} - engines: {node: '>=6'} - ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} @@ -2060,29 +2052,17 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - array-buffer-byte-length@1.0.1: - resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} - engines: {node: '>= 0.4'} - array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - arraybuffer.prototype.slice@1.0.3: - resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} - engines: {node: '>= 0.4'} - - available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} - babel-plugin-polyfill-corejs2@0.4.11: resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babel-plugin-polyfill-corejs3@0.10.4: - resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} + babel-plugin-polyfill-corejs3@0.10.6: + resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 @@ -2111,9 +2091,6 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browser-stdout@1.3.1: - resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} - browserslist-to-esbuild@2.1.1: resolution: {integrity: sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw==} engines: {node: '>=18'} @@ -2121,8 +2098,8 @@ packages: peerDependencies: browserslist: '*' - browserslist@4.23.1: - resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} + browserslist@4.23.3: + resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -2145,23 +2122,12 @@ packages: resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} engines: {node: '>=14.16'} - call-bind@1.0.7: - resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} - engines: {node: '>= 0.4'} - callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - - caniuse-lite@1.0.30001636: - resolution: {integrity: sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==} - - chainsaw@0.0.9: - resolution: {integrity: sha512-nG8PYH+/4xB+8zkV4G844EtfvZ5tTiLFoX3dZ4nhF4t3OCKIb9UvaFyNmeZO2zOSmRWzBoTD+napN6hiL+EgcA==} + caniuse-lite@1.0.30001653: + resolution: {integrity: sha512-XGWQVB8wFQ2+9NZwZ10GxTYC5hk0Fa+q8cSkr0tgvMhYhMHP/QC+WTgrePMDBWiWc/pV+1ik82Al20XOK25Gcw==} chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} @@ -2171,10 +2137,6 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} - chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} @@ -2190,13 +2152,21 @@ packages: resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} engines: {node: '>=4'} - cliui@7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} - clsx@2.1.1: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} + cm6-graphql@0.0.15: + resolution: {integrity: sha512-YEIfCj/jrgm0bfTND1l/T/ZwKPFLtqRvt/LfNfpUbPnRcJy2TvEoEIv3VqtJDCVnCHfoDfQDrRIqkIU8vo318A==} + peerDependencies: + '@codemirror/autocomplete': 6.2.0 + '@codemirror/language': 6.2.1 + '@codemirror/lint': 6.2.1 + '@codemirror/state': 6.2.0 + '@codemirror/view': 6.2.1 + '@lezer/highlight': ^1.0.0 + graphql: ^16.5.0 + codemirror@6.0.1: resolution: {integrity: sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==} @@ -2233,17 +2203,11 @@ packages: convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - copy-to-clipboard@3.3.3: - resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} + core-js-compat@3.38.1: + resolution: {integrity: sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==} - core-js-compat@3.37.1: - resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==} - - core-js@3.37.1: - resolution: {integrity: sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==} - - core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + core-js@3.38.1: + resolution: {integrity: sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==} crelt@1.0.6: resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} @@ -2312,43 +2276,14 @@ packages: resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} engines: {node: '>=12'} - dagre@0.8.5: - resolution: {integrity: sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==} - - data-view-buffer@1.0.1: - resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} - engines: {node: '>= 0.4'} - - data-view-byte-length@1.0.1: - resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} - engines: {node: '>= 0.4'} - - data-view-byte-offset@1.0.0: - resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} - engines: {node: '>= 0.4'} - - dayjs@1.11.11: - resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==} - - debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + dayjs@1.11.13: + resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debounce-promise@3.1.2: + resolution: {integrity: sha512-rZHcgBkbYavBeD9ej6sP56XfG53d51CD4dnaw989YX/nZ/ZJfgRx/9ePKmTNiUiyQvh4mtrMoS3OAWW+yoYtpg==} - debug@4.3.5: - resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} + debug@4.3.6: + resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -2356,10 +2291,6 @@ packages: supports-color: optional: true - decamelize@4.0.0: - resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} - engines: {node: '>=10'} - decompress-response@6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} @@ -2379,30 +2310,10 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} - defer-to-connect@2.0.1: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} engines: {node: '>=10'} - define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} - - define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} - - depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - - destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - detect-libc@2.0.3: resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} @@ -2410,10 +2321,6 @@ packages: detect-node-es@1.1.0: resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} - diff@5.0.0: - resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} - engines: {node: '>=0.3.1'} - dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -2448,22 +2355,12 @@ packages: domutils@3.1.0: resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} - ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - - electron-to-chromium@1.4.808: - resolution: {integrity: sha512-0ItWyhPYnww2VOuCGF4s1LTfbrdAV2ajy/TN+ZTuhR23AHI6rWHCrBXJ/uxoXOvRRqw8qjYVrG81HFI7x/2wdQ==} + electron-to-chromium@1.5.13: + resolution: {integrity: sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==} elkjs@0.9.3: resolution: {integrity: sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ==} - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - entities@2.1.0: resolution: {integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==} @@ -2480,30 +2377,6 @@ packages: error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - es-abstract@1.23.3: - resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} - engines: {node: '>= 0.4'} - - es-define-property@1.0.0: - resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} - engines: {node: '>= 0.4'} - - es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - - es-object-atoms@1.0.0: - resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} - engines: {node: '>= 0.4'} - - es-set-tostringtag@2.0.3: - resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} - engines: {node: '>= 0.4'} - - es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - esbuild@0.21.5: resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} @@ -2513,9 +2386,6 @@ packages: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} - escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} @@ -2567,10 +2437,6 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true - esmoduleserve@0.2.1: - resolution: {integrity: sha512-LeuOiyyCSc2sG0Clx9A/tzApfP2gz2/YPE7IBSQwP2JPZKm8S0WZ1b1DfH9eCYXo469k81od3lFvFloYJNpTYA==} - hasBin: true - espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2580,8 +2446,8 @@ packages: engines: {node: '>=4'} hasBin: true - esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} engines: {node: '>=0.10'} esrecurse@4.3.0: @@ -2592,9 +2458,6 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} - estree-walker@1.0.1: - resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} - estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} @@ -2602,10 +2465,6 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} - fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -2641,28 +2500,20 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} + flag-icons@7.2.3: + resolution: {integrity: sha512-X2gUdteNuqdNqob2KKTJTS+ZCvyWeLCtDz9Ty8uJP17Y4o82Y+U/Vd4JNrdwTAjagYsRznOn9DZ+E/Q52qbmqg==} + flat-cache@3.2.0: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} - flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true - flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - form-data-encoder@2.1.4: resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} engines: {node: '>= 14.17'} - fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - front-matter@4.0.2: resolution: {integrity: sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==} @@ -2677,27 +2528,12 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} - - functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} - geo-coordinates-parser@1.7.0: - resolution: {integrity: sha512-2RvtfarnPGigyA5KNAVY8eRV8aUKBaaBBNhIucZp/kqIGr86rDcpYnqJcBdf4xXKWe5OnUjmM37cByYkat+vPQ==} - - get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - - get-intrinsic@1.2.4: - resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} - engines: {node: '>= 0.4'} + geo-coordinates-parser@1.7.3: + resolution: {integrity: sha512-zrMUPAVXAZRhEF2VFQEl9mR0yK9BZ+/n0G79uBHVg8XTsm7Ci0L2zGgW+p+h/Sq/8i6X3WSVfpp4t8n9kepXqg==} get-nonce@1.0.1: resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} @@ -2711,10 +2547,6 @@ packages: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} - get-symbol-description@1.0.2: - resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} - engines: {node: '>= 0.4'} - glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -2727,11 +2559,6 @@ packages: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported - glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - deprecated: Glob versions prior to v9 are no longer supported - globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} @@ -2740,17 +2567,10 @@ packages: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} - globalthis@1.0.4: - resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} - engines: {node: '>= 0.4'} - globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} - gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - got@13.0.0: resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==} engines: {node: '>=16'} @@ -2758,11 +2578,15 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - graphlib@2.1.8: - resolution: {integrity: sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==} + graphql-language-service@5.3.0: + resolution: {integrity: sha512-gCQIIy7lM9CB1KPLEb+DNZLczA9zuTLEOJE2hEQZTFYInogdmMDRa6RAkvM4LL0LcgcS+3uPs6KtHlcjCqRbUg==} + hasBin: true + peerDependencies: + graphql: ^15.5.0 || ^16.0.0 || ^17.0.0-alpha.2 - has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + graphql@16.9.0: + resolution: {integrity: sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} @@ -2772,32 +2596,10 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - - has-proto@1.0.3: - resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} - engines: {node: '>= 0.4'} - - has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - - has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} - - hashish@0.0.4: - resolution: {integrity: sha512-xyD4XgslstNAs72ENaoFvgMwtv8xhiDtC2AtzCG+8yF7W/Knxxm9BX+e2s25mm+HxMKh0rBmXVOEGF3zNImXvA==} - hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} @@ -2810,26 +2612,19 @@ packages: http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - http2-wrapper@2.2.1: resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} engines: {node: '>=10.19.0'} - ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - immediate@3.0.6: - resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} - immer@10.1.1: resolution: {integrity: sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==} - immutable@4.3.6: - resolution: {integrity: sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==} + immutable@4.3.7: + resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} @@ -2853,77 +2648,35 @@ packages: ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - internal-slot@1.0.7: - resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} - engines: {node: '>= 0.4'} - invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} - is-array-buffer@3.0.4: - resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} - engines: {node: '>= 0.4'} - is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} is-arrayish@0.3.2: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} - is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} - is-builtin-module@3.2.1: resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} engines: {node: '>=6'} - is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - - is-core-module@2.14.0: - resolution: {integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==} - engines: {node: '>= 0.4'} - - is-data-view@1.0.1: - resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} - engines: {node: '>= 0.4'} - - is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - is-module@1.0.0: - resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - - is-negative-zero@2.0.3: - resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} - engines: {node: '>= 0.4'} - - is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} - is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -2932,60 +2685,20 @@ packages: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} - is-plain-obj@2.1.0: - resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} - engines: {node: '>=8'} + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} + isows@1.0.4: + resolution: {integrity: sha512-hEzjY+x9u9hPmBom9IIAqdJCwNLax+xrPb51vEPpERoFlIxgmZcHzsT5jKG06nvInKOBGvReAVz80Umed5CczQ==} + peerDependencies: + ws: '*' - is-shared-array-buffer@1.0.3: - resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} - engines: {node: '>= 0.4'} + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} - - is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} - - is-typed-array@1.1.13: - resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} - engines: {node: '>= 0.4'} - - is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - - is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - - isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - - isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - isows@1.0.4: - resolution: {integrity: sha512-hEzjY+x9u9hPmBom9IIAqdJCwNLax+xrPb51vEPpERoFlIxgmZcHzsT5jKG06nvInKOBGvReAVz80Umed5CczQ==} - peerDependencies: - ws: '*' - - ist@1.1.7: - resolution: {integrity: sha512-ex9JyqY+tCjBlxN1pXlqxEgtGGUGp1TG83ll1xpu8SfPgOhfAhEGCuepNHlB+d7Le+hLoBcfCu/G0ZQaFbi9hA==} - - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} @@ -3022,9 +2735,6 @@ packages: engines: {node: '>=6'} hasBin: true - jszip@3.10.1: - resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==} - keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -3044,9 +2754,6 @@ packages: engines: {node: '>=16'} hasBin: true - lie@3.3.0: - resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} - lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -3070,10 +2777,6 @@ packages: lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -3091,11 +2794,11 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - magic-string@0.30.10: - resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + magic-string@0.30.11: + resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} - mantine-contextmenu@7.10.2: - resolution: {integrity: sha512-xJIEJl5y9ZJ9emaArVFMl2fipKX3HUqyfWR5BmdNgI4c00TtBM9c887eRZafhVr4g14JpmZMu1l5JrtPNq0KGQ==} + mantine-contextmenu@7.11.3: + resolution: {integrity: sha512-E2YfK5AggpxBCAMRn6T/XDeq4fArJqNWmT78azrJSvB1ox/8v+oBznOxh4A2bgHJabp908M5puw+pnjGZ/AC5A==} peerDependencies: '@mantine/core': '>=7' '@mantine/hooks': '>=7' @@ -3123,15 +2826,10 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - micromatch@4.0.7: - resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} - mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - mimic-response@3.1.0: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} @@ -3147,35 +2845,20 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimatch@5.0.1: - resolution: {integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==} - engines: {node: '>=10'} - minimatch@9.0.3: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - mocha@10.4.0: - resolution: {integrity: sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==} - engines: {node: '>= 14.0.0'} - hasBin: true - - ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -3187,12 +2870,12 @@ packages: no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} - node-gyp-build@4.8.1: - resolution: {integrity: sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==} + node-gyp-build@4.8.2: + resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} hasBin: true - node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} @@ -3208,25 +2891,13 @@ packages: nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + nullthrows@1.1.1: + resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} + object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} - - object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - - object.assign@4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} - engines: {node: '>= 0.4'} - - on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} - once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -3258,9 +2929,6 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - pako@1.0.11: - resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} - papaparse@5.4.1: resolution: {integrity: sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw==} @@ -3272,10 +2940,6 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} - parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -3309,27 +2973,20 @@ packages: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} - possible-typed-array-names@1.0.0: - resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} - engines: {node: '>= 0.4'} - - postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + postcss@8.4.41: + resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} engines: {node: ^10 || ^12 || >=14} - posthog-js@1.139.8: - resolution: {integrity: sha512-glOJK4YSseDWDFdKttBhYkrtE65oYLDSjyke18sAG0J1xBNxvaz1MCVeZiZHj4wNXtdtY92ptSmiDUK3fzD2Rg==} + posthog-js@1.158.1: + resolution: {integrity: sha512-BRCZUpkZTsNPTTclpqv6tB9aGD9OH1Lh+3SZdqo/JMbPesKRQ2XSis6WhxWmujrTZDfdJtVa7tnQG1aT2Ag4Yg==} - preact@10.22.0: - resolution: {integrity: sha512-RRurnSjJPj4rp5K6XoP45Ui33ncb7e4H7WiOHVpjbkvqvA3U+N8Z6Qbo0AE6leGYBV66n8EhEaFixvIu3SkxFw==} + preact@10.23.2: + resolution: {integrity: sha512-kKYfePf9rzKnxOAKDpsWhg/ysrHPqT+yQ7UW4JjdnqjFIeNUnNcEJvhuA8fDenxAGWzUqtd51DfVg7xp/8T9NA==} prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} @@ -3348,22 +3005,10 @@ packages: resolution: {integrity: sha512-CRWxTFTDff0IELGJ/zz58yY4BDgyI14qSM5OLNKbCItJrff7m7dXbVF0kWYVCXQtPb3SXIVhXvAImH6eT7VLSg==} engines: {node: '>=14.18.0'} - randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - - range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - rc@1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true - react-copy-to-clipboard@5.1.0: - resolution: {integrity: sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A==} - peerDependencies: - react: ^15.3.0 || 16 || 17 || 18 - react-dom@18.3.1: resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: @@ -3384,8 +3029,8 @@ packages: react: ^18.0.0 react-dom: ^18.0.0 - react-number-format@5.4.0: - resolution: {integrity: sha512-NWdICrqLhI7rAS8yUeLVd6Wr4cN7UjJ9IBTS0f/a9i7UB4x4Ti70kGnksBtZ7o4Z7YRbvCMMR/jQmkoOBa/4fg==} + react-number-format@5.4.1: + resolution: {integrity: sha512-NICOjo/70dcAiwVmH6zMWoZrTQDlBrEXV/f7S0t/ewlpzp4z00pasg5G1yBX6NHLafwOF3QZ+VvK/XApwSKxdA==} peerDependencies: react: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 react-dom: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 @@ -3414,8 +3059,8 @@ packages: '@types/react': optional: true - react-resizable-panels@2.0.19: - resolution: {integrity: sha512-v3E41kfKSuCPIvJVb4nL4mIZjjKIn/gh6YqZF/gDfQDolv/8XnhJBek4EiV2gOr3hhc5A3kOGOayk3DhanpaQw==} + react-resizable-panels@2.1.1: + resolution: {integrity: sha512-+cUV/yZBYfiBj+WJtpWDJ3NtR4zgDZfHt3+xtaETKE+FCvp+RK/NJxacDQKxMHgRUTSkfA6AnGljQ5QZNsCQoA==} peerDependencies: react: ^16.14.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.14.0 || ^17.0.0 || ^18.0.0 @@ -3466,9 +3111,6 @@ packages: resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} engines: {node: '>=8'} - readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -3490,10 +3132,6 @@ packages: resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} hasBin: true - regexp.prototype.flags@1.5.2: - resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} - engines: {node: '>= 0.4'} - regexpu-core@5.3.2: resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} engines: {node: '>=4'} @@ -3506,13 +3144,6 @@ packages: resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} hasBin: true - remove@0.1.5: - resolution: {integrity: sha512-AJMA9oWvJzdTjwIGwSQZsjGQiRx73YTmiOWmfCp1fpLa/D4n7jKcpoA+CZiVLJqKcEKUuh1Suq80c5wF+L/qVQ==} - - require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} @@ -3537,20 +3168,13 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rollup-plugin-dts@6.1.1: - resolution: {integrity: sha512-aSHRcJ6KG2IHIioYlvAOcEq6U99sVtqDDKVhnwt70rW6tsz3tv5OSjEiWcgzfsHdLyGXZ/3b/7b/+Za3Y6r1XA==} - engines: {node: '>=16'} - peerDependencies: - rollup: ^3.29.4 || ^4 - typescript: ^4.5 || ^5.0 - - rollup@2.79.1: - resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} - engines: {node: '>=10.0.0'} + rollup@4.21.1: + resolution: {integrity: sha512-ZnYyKvscThhgd3M5+Qt3pmhO4jIRR5RGzaSovB6Q7rGNrK5cUncrtLmcTTJVSdcKXyZjW8X8MB0JMSuH9bcAJg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.18.0: - resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==} + rollup@4.21.2: + resolution: {integrity: sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -3560,22 +3184,8 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - safe-array-concat@1.1.2: - resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} - engines: {node: '>=0.4'} - - safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - - safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - safe-regex-test@1.0.3: - resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} - engines: {node: '>= 0.4'} - - sass@1.77.6: - resolution: {integrity: sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q==} + sass@1.77.8: + resolution: {integrity: sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==} engines: {node: '>=14.0.0'} hasBin: true @@ -3585,10 +3195,6 @@ packages: scheduler@0.23.2: resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} - selenium-webdriver@4.22.0: - resolution: {integrity: sha512-GNbrkCHmy249ai885wgXqTfqL2lZnclUH/P8pwTDIqzyFxU3YhDiN7p/c9tMFA4NhgRdEBO2QCG+CWmG7xr/Mw==} - engines: {node: '>= 14.21.0'} - semver-compare@1.0.0: resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} @@ -3600,45 +3206,17 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.6.2: - resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} hasBin: true - send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} - engines: {node: '>= 0.8.0'} - sentence-case@3.0.4: resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} - seq@0.3.5: - resolution: {integrity: sha512-sisY2Ln1fj43KBkRtXkesnRHYNdswIkIibvNe/0UKm2GZxjMbqmccpiatoKr/k2qX5VKiLU8xm+tz/74LAho4g==} - - serialize-javascript@6.0.0: - resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} - - serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} - engines: {node: '>= 0.8.0'} - - set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} - - set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} - - setimmediate@1.0.5: - resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} - - setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - - sharp@0.33.4: - resolution: {integrity: sha512-7i/dt5kGl7qR4gwPRD2biwD2/SvBn3O04J77XKFgL2OnZtQw+AG9wnuS/csmu80nPRHLYE9E41fyEiG8nhH6/Q==} - engines: {libvips: '>=8.15.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0} + sharp@0.33.5: + resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} @@ -3648,10 +3226,6 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - side-channel@1.0.6: - resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} - engines: {node: '>= 0.4'} - simple-swizzle@0.2.2: resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} @@ -3679,8 +3253,8 @@ packages: spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - spdx-license-ids@3.0.18: - resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==} + spdx-license-ids@3.0.20: + resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} split-text-to-chunks@1.0.0: resolution: {integrity: sha512-HLtEwXK/T4l7QZSJ/kOSsZC0o5e2Xg3GzKKFxm0ZexJXw0Bo4CaEl39l7MCSRHk9EOOL5jT8JIDjmhTtcoe6lQ==} @@ -3689,28 +3263,6 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - string.prototype.trim@1.2.9: - resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} - engines: {node: '>= 0.4'} - - string.prototype.trimend@1.0.8: - resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} - - string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} - - string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -3738,29 +3290,17 @@ packages: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} - supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - surrealdb.js@1.0.0-beta.18: - resolution: {integrity: sha512-bPok/1iyHZfOf0jEmSfeiNBL3KjDIp55rKDfhDVqyyMxTM5oNQMqQW4Nk8+keJYII0OsY/Uel9G9XCiQjIVAsQ==} + surrealdb@1.0.0-beta.20: + resolution: {integrity: sha512-oNvj8DxXOh28YHzDFKzrQnnLyhHG8GI/EQRpMEDysp8/O5u/m7tumav4P9eo91JpojBQ6onNeA6KD7Ugy9evrg==} engines: {node: '>=18.0.0'} peerDependencies: tslib: ^2.6.3 typescript: ^5.0.0 - surrealdb.wasm@1.0.0-beta.15: - resolution: {integrity: sha512-ixDBy0Bmp+he88RKsHFYZY+Z9t5phaOj41xT1qQV+B4n0G3+mHs5LvLAHsoY231pTwrkukXw9N/iQ6IXR0zYVQ==} - peerDependencies: - surrealdb.js: ^1.0.0-beta.11 - - surrealql.wasm@0.1.8: - resolution: {integrity: sha512-BrwkCmDm0JHlrfYqwmPD8YzOBfpJ7J6CuGSRzvZfSeaXxMV4nYjlfQ+JEAHZM3/o32fM01lKYFWYFMjlVI7dfg==} - svgo@3.3.2: resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==} engines: {node: '>=14.0.0'} @@ -3776,18 +3316,17 @@ packages: resolution: {integrity: sha512-IwO6f0SEzp1Z+zqz/7ANUmeEac4gaNlknWyj/S9aSg11wZmWYnLeyI/xXvEOU88BYUIf8y30y0wxB58xIKrVlQ==} engines: {node: '>=14.16'} - terser@5.31.1: - resolution: {integrity: sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==} + tar-mini@0.1.1: + resolution: {integrity: sha512-X5zRgi/vRVZNPlmXAicuktk/iAdvN8H43hBAymS9ourgbOsQUPO2a51yuMSNBO4vEmmsTdVtvHMuyGMgbPIgLQ==} + + terser@5.31.6: + resolution: {integrity: sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==} engines: {node: '>=10'} hasBin: true text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - tmp@0.2.3: - resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} - engines: {node: '>=14.14'} - to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -3796,28 +3335,14 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - toggle-selection@1.0.6: - resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} - - toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - - traverse@0.3.9: - resolution: {integrity: sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==} - - traverse@0.6.9: - resolution: {integrity: sha512-7bBrcF+/LQzSgFmT0X5YclVqQxtv7TDJ1f8Wj7ibBu/U6BMLeOpUxuZjV7rMc44UtKxlnMFigdhFAIszSX1DMg==} - engines: {node: '>= 0.4'} - ts-api-utils@1.3.0: resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' - tslib@2.6.3: - resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} + tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} @@ -3835,43 +3360,20 @@ packages: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} - type-fest@4.20.1: - resolution: {integrity: sha512-R6wDsVsoS9xYOpy8vgeBlqpdOyzJ12HNfQhC/aAKWM3YoCV9TtunJzh/QpkMgeDhkoynDcw5f1y+qF9yc/HHyg==} + type-fest@4.25.0: + resolution: {integrity: sha512-bRkIGlXsnGBRBQRAY56UXBm//9qH4bmJfFvq83gSz41N282df+fjy8ofcEgc1sM8geNt5cl6mC2g9Fht1cs8Aw==} engines: {node: '>=16'} - typed-array-buffer@1.0.2: - resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} - engines: {node: '>= 0.4'} - - typed-array-byte-length@1.0.1: - resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} - engines: {node: '>= 0.4'} - - typed-array-byte-offset@1.0.2: - resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} - engines: {node: '>= 0.4'} - - typed-array-length@1.0.6: - resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} - engines: {node: '>= 0.4'} - - typedarray.prototype.slice@1.0.3: - resolution: {integrity: sha512-8WbVAQAUlENo1q3c3zZYuy5k9VzBQvp8AX9WOtbvyWlLM1v5JaSRmjubLjzHF4JFtptjH/5c/i95yaElvcjC0A==} - engines: {node: '>= 0.4'} - - typescript@5.5.2: - resolution: {integrity: sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==} + typescript@5.5.4: + resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} engines: {node: '>=14.17'} hasBin: true uc.micro@1.0.6: resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} - unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - - undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} @@ -3889,8 +3391,8 @@ packages: resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} engines: {node: '>=4'} - update-browserslist-db@1.0.16: - resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} + update-browserslist-db@1.1.0: + resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -3950,8 +3452,8 @@ packages: '@types/react': optional: true - use-sync-external-store@1.2.0: - resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} + use-sync-external-store@1.2.2: + resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -3959,9 +3461,6 @@ packages: resolution: {integrity: sha512-xu9GQDeFp+eZ6LnCywXN/zBancWvOpUMzgjLPSjy4BRHSmTelvn2E0DG0o1sTiw5hkCKBHo8rwSKncfRfv2EEQ==} engines: {node: '>=6.14.2'} - util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - uuidv7@1.0.1: resolution: {integrity: sha512-2noB909GbI352dKfASOY6VHHl59KvevZ1FF8gCAXCwDyrt2kkZhuFbczF9udqTfeejiRYEmO4wzUZ0WhVP+IUA==} hasBin: true @@ -3972,8 +3471,8 @@ packages: visit-values@2.0.0: resolution: {integrity: sha512-vLFU70y3D915d611GnHYeHkEmq6ZZETzTH4P1hM6I9E3lBwH2VeBBEESe/bGCY+gAyK0qqLFn5bNFpui/GKmww==} - vite-plugin-compression2@1.1.2: - resolution: {integrity: sha512-kZ2ZG85uPc5o1ehz2uCNXg1uh05AtSyZ0rMQfHl90WHLP+wkxFTMm8wAhEKERtcbl7lMJXiOnHpwSWG+GloaoA==} + vite-plugin-compression2@1.2.0: + resolution: {integrity: sha512-3RYEAwQW9JKHt6lmCudoTVO1YaiAGEDkg86MDNvl74btmwtWuCXt8r5WUByZEQLjCZz8nYf5BEh7NELUXr+4LA==} vite-plugin-image-optimizer@1.1.8: resolution: {integrity: sha512-40bYRDHQLUOrIwJIJQqyKJHrfgVshqzDLtMy8SEgf+fB7PnppslSTTkY7PJFrBGqgbCdOdN9KkqsvccXmnEa5Q==} @@ -3986,8 +3485,8 @@ packages: peerDependencies: vite: '>= 2.0.0' - vite@5.3.1: - resolution: {integrity: sha512-XBmSKRLXLxiaPYamLv3/hnP/KXDai1NDexN0FpkTaZXTfycHvkRHoenpgl/fvuK/kPbB6xAgoyiryAhQNxYmAQ==} + vite@5.4.2: + resolution: {integrity: sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -3995,6 +3494,7 @@ packages: less: '*' lightningcss: ^1.21.0 sass: '*' + sass-embedded: '*' stylus: '*' sugarss: '*' terser: ^5.4.0 @@ -4007,6 +3507,8 @@ packages: optional: true sass: optional: true + sass-embedded: + optional: true stylus: optional: true sugarss: @@ -4014,8 +3516,11 @@ packages: terser: optional: true - vue@3.4.29: - resolution: {integrity: sha512-8QUYfRcYzNlYuzKPfge1UWC6nF9ym0lx7mpGVPJYNhddxEf3DD0+kU07NTL0sXuiT2HuJuKr/iEO8WvXvT0RSQ==} + vscode-languageserver-types@3.17.5: + resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} + + vue@3.4.38: + resolution: {integrity: sha512-f0ZgN+mZ5KFgVv9wz0f4OgVKukoXtS3nwET4c2vLBGQR50aI8G0cqbFtLlX9Yiyg3LFGBitruPHt2PxwTduJEw==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -4025,12 +3530,8 @@ packages: w3c-keyname@2.2.8: resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} - which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - - which-typed-array@1.1.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} - engines: {node: '>= 0.4'} + web-vitals@4.2.3: + resolution: {integrity: sha512-/CFAm1mNxSmOj6i0Co+iGFJ58OS4NRGVP+AWS/l509uIK5a1bSoIVaHz/ZumpHTfHSZBpgrJ+wjfpAOrTHok5Q==} which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} @@ -4041,18 +3542,11 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} - workerpool@6.2.1: - resolution: {integrity: sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==} - - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - ws@8.17.1: - resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -4071,31 +3565,15 @@ packages: resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} engines: {node: '>=4.0'} - y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - yargs-parser@20.2.4: - resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} - engines: {node: '>=10'} - - yargs-unparser@2.0.0: - resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} - engines: {node: '>=10'} - - yargs@16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} - yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - zustand@4.5.2: - resolution: {integrity: sha512-2cN1tPkDVkwCy5ickKrI7vijSjPksFRfqS6237NzT0vqSsztTNnQdHw9mmN7uBdk3gceVXU0a+21jFzFzAc9+g==} + zustand@4.5.5: + resolution: {integrity: sha512-+0PALYNJNgK6hldkgDq2vLrw5f6g/jCInz52n9RTpropGgeAf/ioFUCdtsjCqu4gNhW9D01rUQBROoRjdzyn2Q==} engines: {node: '>=12.7.0'} peerDependencies: '@types/react': '>=16.8' @@ -4121,186 +3599,165 @@ snapshots: '@babel/highlight': 7.24.7 picocolors: 1.0.1 - '@babel/compat-data@7.24.7': {} + '@babel/compat-data@7.25.4': {} - '@babel/core@7.24.7': + '@babel/core@7.25.2': dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helpers': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/template': 7.24.7 - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/generator': 7.25.5 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helpers': 7.25.0 + '@babel/parser': 7.25.4 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 convert-source-map: 2.0.0 - debug: 4.3.5 + debug: 4.3.6 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/generator@7.24.7': + '@babel/generator@7.25.5': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.25.4 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 '@babel/helper-annotate-as-pure@7.24.7': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.25.4 '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 transitivePeerDependencies: - supports-color - '@babel/helper-compilation-targets@7.24.7': + '@babel/helper-compilation-targets@7.25.2': dependencies: - '@babel/compat-data': 7.24.7 - '@babel/helper-validator-option': 7.24.7 - browserslist: 4.23.1 + '@babel/compat-data': 7.25.4 + '@babel/helper-validator-option': 7.24.8 + browserslist: 4.23.3 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.24.7(@babel/core@7.24.7)': + '@babel/helper-create-class-features-plugin@7.25.4(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-member-expression-to-functions': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.8 '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 + '@babel/traverse': 7.25.4 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/helper-create-regexp-features-plugin@7.24.7(@babel/core@7.24.7)': + '@babel/helper-create-regexp-features-plugin@7.25.2(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 regexpu-core: 5.3.2 semver: 6.3.1 - '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.7)': + '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - debug: 4.3.5 + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + debug: 4.3.6 lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: - supports-color - '@babel/helper-environment-visitor@7.24.7': - dependencies: - '@babel/types': 7.24.7 - - '@babel/helper-function-name@7.24.7': - dependencies: - '@babel/template': 7.24.7 - '@babel/types': 7.24.7 - - '@babel/helper-hoist-variables@7.24.7': - dependencies: - '@babel/types': 7.24.7 - - '@babel/helper-member-expression-to-functions@7.24.7': + '@babel/helper-member-expression-to-functions@7.24.8': dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 transitivePeerDependencies: - supports-color '@babel/helper-module-imports@7.24.7': dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7)': + '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 + '@babel/core': 7.25.2 '@babel/helper-module-imports': 7.24.7 '@babel/helper-simple-access': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color '@babel/helper-optimise-call-expression@7.24.7': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.25.4 - '@babel/helper-plugin-utils@7.24.7': {} + '@babel/helper-plugin-utils@7.24.8': {} - '@babel/helper-remap-async-to-generator@7.24.7(@babel/core@7.24.7)': + '@babel/helper-remap-async-to-generator@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-wrap-function': 7.24.7 + '@babel/helper-wrap-function': 7.25.0 + '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color - '@babel/helper-replace-supers@7.24.7(@babel/core@7.24.7)': + '@babel/helper-replace-supers@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-member-expression-to-functions': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-member-expression-to-functions': 7.24.8 '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color '@babel/helper-simple-access@7.24.7': dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.24.7': dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 transitivePeerDependencies: - supports-color - '@babel/helper-split-export-declaration@7.24.7': - dependencies: - '@babel/types': 7.24.7 - - '@babel/helper-string-parser@7.24.7': {} + '@babel/helper-string-parser@7.24.8': {} '@babel/helper-validator-identifier@7.24.7': {} - '@babel/helper-validator-option@7.24.7': {} + '@babel/helper-validator-option@7.24.8': {} - '@babel/helper-wrap-function@7.24.7': + '@babel/helper-wrap-function@7.25.0': dependencies: - '@babel/helper-function-name': 7.24.7 - '@babel/template': 7.24.7 - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 transitivePeerDependencies: - supports-color - '@babel/helpers@7.24.7': + '@babel/helpers@7.25.0': dependencies: - '@babel/template': 7.24.7 - '@babel/types': 7.24.7 + '@babel/template': 7.25.0 + '@babel/types': 7.25.4 '@babel/highlight@7.24.7': dependencies: @@ -4309,618 +3766,622 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.0.1 - '@babel/parser@7.24.7': + '@babel/parser@7.25.4': + dependencies: + '@babel/types': 7.25.4 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3(@babel/core@7.25.2)': dependencies: - '@babel/types': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.4 + transitivePeerDependencies: + - supports-color - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.4 + transitivePeerDependencies: + - supports-color - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7)': + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.7)': + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.7)': + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.7)': + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.7)': + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.7)': + '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.7)': + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.7)': + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.7)': + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.7)': + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.7)': + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.7)': + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.7)': + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.7)': + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.7)': + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.7)': + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.7)': + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-async-generator-functions@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-async-generator-functions@7.25.4(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) + '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-block-scoping@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-block-scoping@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-class-properties@7.25.4(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-classes@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-classes@7.25.4(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) - '@babel/helper-split-export-declaration': 7.24.7 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) + '@babel/traverse': 7.25.4 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/template': 7.25.0 + + '@babel/plugin-transform-destructuring@7.24.8(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/template': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-destructuring@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-for-of@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-for-of@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-function-name@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-function-name@7.25.1(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.4 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-literals@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-literals@7.25.2(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-commonjs@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-modules-commonjs@7.24.8(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-simple-access': 7.24.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-systemjs@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-modules-systemjs@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-hoist-variables': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-new-target@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-new-target@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-object-super@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-object-super@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-optional-chaining@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-optional-chaining@7.24.8(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-private-methods@7.25.4(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7) + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 regenerator-transform: 0.15.2 - '@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-spread@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-spread@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-typeof-symbol@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/preset-env@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/compat-data': 7.24.7 - '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-validator-option': 7.24.7 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.7) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.7) - '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-async-generator-functions': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-block-scoping': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-classes': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-destructuring': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-function-name': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-literals': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-modules-systemjs': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-typeof-symbol': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.24.7) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.7) - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.7) - babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.7) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.7) - core-js-compat: 3.37.1 + '@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-typeof-symbol@7.24.8(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-unicode-sets-regex@7.25.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/preset-env@7.25.4(@babel/core@7.25.2)': + dependencies: + '@babel/compat-data': 7.25.4 + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.3(@babel/core@7.25.2) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.25.2) + '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-async-generator-functions': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-class-properties': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-classes': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-function-name': 7.25.1(@babel/core@7.25.2) + '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-literals': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-modules-systemjs': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-private-methods': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-typeof-symbol': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-sets-regex': 7.25.4(@babel/core@7.25.2) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.25.2) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.2) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) + core-js-compat: 3.38.1 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.7)': + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/types': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/types': 7.25.4 esutils: 2.0.3 '@babel/regjsgen@0.8.0': {} - '@babel/runtime@7.24.7': + '@babel/runtime@7.25.4': dependencies: regenerator-runtime: 0.14.1 - '@babel/template@7.24.7': + '@babel/template@7.25.0': dependencies: '@babel/code-frame': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 + '@babel/parser': 7.25.4 + '@babel/types': 7.25.4 - '@babel/traverse@7.24.7': + '@babel/traverse@7.25.4': dependencies: '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-hoist-variables': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 - debug: 4.3.5 + '@babel/generator': 7.25.5 + '@babel/parser': 7.25.4 + '@babel/template': 7.25.0 + '@babel/types': 7.25.4 + debug: 4.3.6 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.24.7': + '@babel/types@7.25.4': dependencies: - '@babel/helper-string-parser': 7.24.7 + '@babel/helper-string-parser': 7.24.8 '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 - '@codemirror/autocomplete@6.16.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.1)(@lezer/common@1.2.1)': + '@codemirror/autocomplete@6.18.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/common@1.2.1)': dependencies: '@codemirror/language': 6.10.2 '@codemirror/state': 6.4.1 - '@codemirror/view': 6.28.1 + '@codemirror/view': 6.33.0 '@lezer/common': 1.2.1 - '@codemirror/buildhelper@1.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.4)': - dependencies: - '@lezer/generator': 1.7.1 - '@marijn/buildtool': 1.0.0 - '@marijn/testtool': 0.1.2(bufferutil@4.0.8)(utf-8-validate@6.0.4) - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - '@codemirror/commands@6.6.0': dependencies: '@codemirror/language': 6.10.2 '@codemirror/state': 6.4.1 - '@codemirror/view': 6.28.1 + '@codemirror/view': 6.33.0 '@lezer/common': 1.2.1 - '@codemirror/lang-css@6.2.1(@codemirror/view@6.28.1)': + '@codemirror/lang-css@6.2.1(@codemirror/view@6.33.0)': dependencies: - '@codemirror/autocomplete': 6.16.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.1)(@lezer/common@1.2.1) + '@codemirror/autocomplete': 6.18.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/common@1.2.1) '@codemirror/language': 6.10.2 '@codemirror/state': 6.4.1 '@lezer/common': 1.2.1 @@ -4930,31 +4391,26 @@ snapshots: '@codemirror/lang-html@6.4.9': dependencies: - '@codemirror/autocomplete': 6.16.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.1)(@lezer/common@1.2.1) - '@codemirror/lang-css': 6.2.1(@codemirror/view@6.28.1) + '@codemirror/autocomplete': 6.18.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/common@1.2.1) + '@codemirror/lang-css': 6.2.1(@codemirror/view@6.33.0) '@codemirror/lang-javascript': 6.2.2 '@codemirror/language': 6.10.2 '@codemirror/state': 6.4.1 - '@codemirror/view': 6.28.1 + '@codemirror/view': 6.33.0 '@lezer/common': 1.2.1 '@lezer/css': 1.1.8 '@lezer/html': 1.3.10 '@codemirror/lang-javascript@6.2.2': dependencies: - '@codemirror/autocomplete': 6.16.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.1)(@lezer/common@1.2.1) + '@codemirror/autocomplete': 6.18.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/common@1.2.1) '@codemirror/language': 6.10.2 '@codemirror/lint': 6.8.1 '@codemirror/state': 6.4.1 - '@codemirror/view': 6.28.1 + '@codemirror/view': 6.33.0 '@lezer/common': 1.2.1 '@lezer/javascript': 1.4.17 - '@codemirror/lang-json@6.0.1': - dependencies: - '@codemirror/language': 6.10.2 - '@lezer/json': 1.0.2 - '@codemirror/lang-php@6.0.1': dependencies: '@codemirror/lang-html': 6.4.9 @@ -4963,9 +4419,9 @@ snapshots: '@lezer/common': 1.2.1 '@lezer/php': 1.0.2 - '@codemirror/lang-python@6.1.6(@codemirror/view@6.28.1)': + '@codemirror/lang-python@6.1.6(@codemirror/view@6.33.0)': dependencies: - '@codemirror/autocomplete': 6.16.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.1)(@lezer/common@1.2.1) + '@codemirror/autocomplete': 6.18.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/common@1.2.1) '@codemirror/language': 6.10.2 '@codemirror/state': 6.4.1 '@lezer/common': 1.2.1 @@ -4981,31 +4437,31 @@ snapshots: '@codemirror/language@6.10.2': dependencies: '@codemirror/state': 6.4.1 - '@codemirror/view': 6.28.1 + '@codemirror/view': 6.33.0 '@lezer/common': 1.2.1 - '@lezer/highlight': 1.2.0 - '@lezer/lr': 1.4.1 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 style-mod: 4.1.2 - '@codemirror/legacy-modes@6.4.0': + '@codemirror/legacy-modes@6.4.1': dependencies: '@codemirror/language': 6.10.2 '@codemirror/lint@6.8.1': dependencies: '@codemirror/state': 6.4.1 - '@codemirror/view': 6.28.1 + '@codemirror/view': 6.33.0 crelt: 1.0.6 '@codemirror/search@6.5.6': dependencies: '@codemirror/state': 6.4.1 - '@codemirror/view': 6.28.1 + '@codemirror/view': 6.33.0 crelt: 1.0.6 '@codemirror/state@6.4.1': {} - '@codemirror/view@6.28.1': + '@codemirror/view@6.33.0': dependencies: '@codemirror/state': 6.4.1 style-mod: 4.1.2 @@ -5014,7 +4470,7 @@ snapshots: '@dnd-kit/accessibility@3.1.0(react@18.3.1)': dependencies: react: 18.3.1 - tslib: 2.6.3 + tslib: 2.7.0 '@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: @@ -5022,30 +4478,30 @@ snapshots: '@dnd-kit/utilities': 3.2.2(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - tslib: 2.6.3 + tslib: 2.7.0 '@dnd-kit/modifiers@7.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@dnd-kit/core': 6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@dnd-kit/utilities': 3.2.2(react@18.3.1) react: 18.3.1 - tslib: 2.6.3 + tslib: 2.7.0 '@dnd-kit/sortable@8.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@dnd-kit/core': 6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@dnd-kit/utilities': 3.2.2(react@18.3.1) react: 18.3.1 - tslib: 2.6.3 + tslib: 2.7.0 '@dnd-kit/utilities@3.2.2(react@18.3.1)': dependencies: react: 18.3.1 - tslib: 2.6.3 + tslib: 2.7.0 '@emnapi/runtime@1.2.0': dependencies: - tslib: 2.6.3 + tslib: 2.7.0 optional: true '@esbuild/aix-ppc64@0.21.5': @@ -5122,15 +4578,15 @@ snapshots: eslint: 8.57.0 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.10.1': {} + '@eslint-community/regexpp@4.11.0': {} '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.3.5 + debug: 4.3.6 espree: 9.6.1 globals: 13.24.0 - ignore: 5.3.1 + ignore: 5.3.2 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -5140,35 +4596,35 @@ snapshots: '@eslint/js@8.57.0': {} - '@floating-ui/core@1.6.2': + '@floating-ui/core@1.6.7': dependencies: - '@floating-ui/utils': 0.2.2 + '@floating-ui/utils': 0.2.7 - '@floating-ui/dom@1.6.5': + '@floating-ui/dom@1.6.10': dependencies: - '@floating-ui/core': 1.6.2 - '@floating-ui/utils': 0.2.2 + '@floating-ui/core': 1.6.7 + '@floating-ui/utils': 0.2.7 - '@floating-ui/react-dom@2.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@floating-ui/react-dom@2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@floating-ui/dom': 1.6.5 + '@floating-ui/dom': 1.6.10 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@floating-ui/react@0.26.17(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@floating-ui/react@0.26.23(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@floating-ui/react-dom': 2.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@floating-ui/utils': 0.2.2 + '@floating-ui/react-dom': 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@floating-ui/utils': 0.2.7 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tabbable: 6.2.0 - '@floating-ui/utils@0.2.2': {} + '@floating-ui/utils@0.2.7': {} '@humanwhocodes/config-array@0.11.14': dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.5 + debug: 4.3.6 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -5177,85 +4633,85 @@ snapshots: '@humanwhocodes/object-schema@2.0.3': {} - '@img/sharp-darwin-arm64@0.33.4': + '@img/sharp-darwin-arm64@0.33.5': optionalDependencies: - '@img/sharp-libvips-darwin-arm64': 1.0.2 + '@img/sharp-libvips-darwin-arm64': 1.0.4 optional: true - '@img/sharp-darwin-x64@0.33.4': + '@img/sharp-darwin-x64@0.33.5': optionalDependencies: - '@img/sharp-libvips-darwin-x64': 1.0.2 + '@img/sharp-libvips-darwin-x64': 1.0.4 optional: true - '@img/sharp-libvips-darwin-arm64@1.0.2': + '@img/sharp-libvips-darwin-arm64@1.0.4': optional: true - '@img/sharp-libvips-darwin-x64@1.0.2': + '@img/sharp-libvips-darwin-x64@1.0.4': optional: true - '@img/sharp-libvips-linux-arm64@1.0.2': + '@img/sharp-libvips-linux-arm64@1.0.4': optional: true - '@img/sharp-libvips-linux-arm@1.0.2': + '@img/sharp-libvips-linux-arm@1.0.5': optional: true - '@img/sharp-libvips-linux-s390x@1.0.2': + '@img/sharp-libvips-linux-s390x@1.0.4': optional: true - '@img/sharp-libvips-linux-x64@1.0.2': + '@img/sharp-libvips-linux-x64@1.0.4': optional: true - '@img/sharp-libvips-linuxmusl-arm64@1.0.2': + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': optional: true - '@img/sharp-libvips-linuxmusl-x64@1.0.2': + '@img/sharp-libvips-linuxmusl-x64@1.0.4': optional: true - '@img/sharp-linux-arm64@0.33.4': + '@img/sharp-linux-arm64@0.33.5': optionalDependencies: - '@img/sharp-libvips-linux-arm64': 1.0.2 + '@img/sharp-libvips-linux-arm64': 1.0.4 optional: true - '@img/sharp-linux-arm@0.33.4': + '@img/sharp-linux-arm@0.33.5': optionalDependencies: - '@img/sharp-libvips-linux-arm': 1.0.2 + '@img/sharp-libvips-linux-arm': 1.0.5 optional: true - '@img/sharp-linux-s390x@0.33.4': + '@img/sharp-linux-s390x@0.33.5': optionalDependencies: - '@img/sharp-libvips-linux-s390x': 1.0.2 + '@img/sharp-libvips-linux-s390x': 1.0.4 optional: true - '@img/sharp-linux-x64@0.33.4': + '@img/sharp-linux-x64@0.33.5': optionalDependencies: - '@img/sharp-libvips-linux-x64': 1.0.2 + '@img/sharp-libvips-linux-x64': 1.0.4 optional: true - '@img/sharp-linuxmusl-arm64@0.33.4': + '@img/sharp-linuxmusl-arm64@0.33.5': optionalDependencies: - '@img/sharp-libvips-linuxmusl-arm64': 1.0.2 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 optional: true - '@img/sharp-linuxmusl-x64@0.33.4': + '@img/sharp-linuxmusl-x64@0.33.5': optionalDependencies: - '@img/sharp-libvips-linuxmusl-x64': 1.0.2 + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 optional: true - '@img/sharp-wasm32@0.33.4': + '@img/sharp-wasm32@0.33.5': dependencies: '@emnapi/runtime': 1.2.0 optional: true - '@img/sharp-win32-ia32@0.33.4': + '@img/sharp-win32-ia32@0.33.5': optional: true - '@img/sharp-win32-x64@0.33.4': + '@img/sharp-win32-x64@0.33.5': optional: true '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 '@jridgewell/resolve-uri@3.1.2': {} @@ -5267,12 +4723,12 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@jridgewell/sourcemap-codec@1.4.15': {} + '@jridgewell/sourcemap-codec@1.5.0': {} '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 '@kessler/tableify@1.0.2': {} @@ -5281,117 +4737,85 @@ snapshots: '@lezer/css@1.1.8': dependencies: '@lezer/common': 1.2.1 - '@lezer/highlight': 1.2.0 - '@lezer/lr': 1.4.1 - - '@lezer/generator@1.7.1': - dependencies: - '@lezer/common': 1.2.1 - '@lezer/lr': 1.4.1 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 - '@lezer/highlight@1.2.0': + '@lezer/highlight@1.2.1': dependencies: '@lezer/common': 1.2.1 '@lezer/html@1.3.10': dependencies: '@lezer/common': 1.2.1 - '@lezer/highlight': 1.2.0 - '@lezer/lr': 1.4.1 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 '@lezer/javascript@1.4.17': dependencies: '@lezer/common': 1.2.1 - '@lezer/highlight': 1.2.0 - '@lezer/lr': 1.4.1 - - '@lezer/json@1.0.2': - dependencies: - '@lezer/common': 1.2.1 - '@lezer/highlight': 1.2.0 - '@lezer/lr': 1.4.1 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 - '@lezer/lr@1.4.1': + '@lezer/lr@1.4.2': dependencies: '@lezer/common': 1.2.1 '@lezer/php@1.0.2': dependencies: '@lezer/common': 1.2.1 - '@lezer/highlight': 1.2.0 - '@lezer/lr': 1.4.1 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 '@lezer/python@1.1.14': dependencies: '@lezer/common': 1.2.1 - '@lezer/highlight': 1.2.0 - '@lezer/lr': 1.4.1 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 '@lezer/rust@1.0.2': dependencies: '@lezer/common': 1.2.1 - '@lezer/highlight': 1.2.0 - '@lezer/lr': 1.4.1 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 - '@mantine/core@7.10.2(@mantine/hooks@7.10.2(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mantine/core@7.12.1(@mantine/hooks@7.12.1(react@18.3.1))(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@floating-ui/react': 0.26.17(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mantine/hooks': 7.10.2(react@18.3.1) + '@floating-ui/react': 0.26.23(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mantine/hooks': 7.12.1(react@18.3.1) clsx: 2.1.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-number-format: 5.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-remove-scroll: 2.5.10(@types/react@18.3.3)(react@18.3.1) - react-textarea-autosize: 8.5.3(@types/react@18.3.3)(react@18.3.1) - type-fest: 4.20.1 + react-number-format: 5.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-remove-scroll: 2.5.10(@types/react@18.3.4)(react@18.3.1) + react-textarea-autosize: 8.5.3(@types/react@18.3.4)(react@18.3.1) + type-fest: 4.25.0 transitivePeerDependencies: - '@types/react' - '@mantine/hooks@7.10.2(react@18.3.1)': + '@mantine/hooks@7.12.1(react@18.3.1)': dependencies: react: 18.3.1 - '@mantine/modals@7.12.0(@mantine/core@7.10.2(@mantine/hooks@7.10.2(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.10.2(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mantine/modals@7.12.1(@mantine/core@7.12.1(@mantine/hooks@7.12.1(react@18.3.1))(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.12.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@mantine/core': 7.10.2(@mantine/hooks@7.10.2(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mantine/hooks': 7.10.2(react@18.3.1) + '@mantine/core': 7.12.1(@mantine/hooks@7.12.1(react@18.3.1))(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mantine/hooks': 7.12.1(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@mantine/notifications@7.10.2(@mantine/core@7.10.2(@mantine/hooks@7.10.2(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.10.2(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mantine/notifications@7.12.1(@mantine/core@7.12.1(@mantine/hooks@7.12.1(react@18.3.1))(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.12.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@mantine/core': 7.10.2(@mantine/hooks@7.10.2(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mantine/hooks': 7.10.2(react@18.3.1) - '@mantine/store': 7.10.2(react@18.3.1) + '@mantine/core': 7.12.1(@mantine/hooks@7.12.1(react@18.3.1))(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mantine/hooks': 7.12.1(react@18.3.1) + '@mantine/store': 7.12.1(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mantine/store@7.10.2(react@18.3.1)': + '@mantine/store@7.12.1(react@18.3.1)': dependencies: react: 18.3.1 - '@marijn/buildtool@1.0.0': - dependencies: - '@types/mocha': 9.1.1 - acorn: 8.12.0 - acorn-walk: 8.3.3 - rollup: 4.18.0 - rollup-plugin-dts: 6.1.1(rollup@4.18.0)(typescript@5.5.2) - typescript: 5.5.2 - - '@marijn/testtool@0.1.2(bufferutil@4.0.8)(utf-8-validate@6.0.4)': - dependencies: - esmoduleserve: 0.2.1 - ist: 1.1.7 - mocha: 10.4.0 - selenium-webdriver: 4.22.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) - serve-static: 1.15.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - '@mdi/js@7.4.47': {} '@nodelib/fs.scandir@2.1.5': @@ -5412,29 +4836,29 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@reactflow/background@11.3.14(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@reactflow/background@11.3.14(@types/react@18.3.4)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@reactflow/core': 11.11.4(patch_hash=tj4jyedi5a5rqdyerfsnn6pgdu)(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@reactflow/core': 11.11.4(patch_hash=tj4jyedi5a5rqdyerfsnn6pgdu)(@types/react@18.3.4)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classcat: 5.0.5 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - zustand: 4.5.2(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1) + zustand: 4.5.5(@types/react@18.3.4)(immer@10.1.1)(react@18.3.1) transitivePeerDependencies: - '@types/react' - immer - '@reactflow/controls@11.2.14(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@reactflow/controls@11.2.14(@types/react@18.3.4)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@reactflow/core': 11.11.4(patch_hash=tj4jyedi5a5rqdyerfsnn6pgdu)(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@reactflow/core': 11.11.4(patch_hash=tj4jyedi5a5rqdyerfsnn6pgdu)(@types/react@18.3.4)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classcat: 5.0.5 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - zustand: 4.5.2(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1) + zustand: 4.5.5(@types/react@18.3.4)(immer@10.1.1)(react@18.3.1) transitivePeerDependencies: - '@types/react' - immer - '@reactflow/core@11.11.4(patch_hash=tj4jyedi5a5rqdyerfsnn6pgdu)(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@reactflow/core@11.11.4(patch_hash=tj4jyedi5a5rqdyerfsnn6pgdu)(@types/react@18.3.4)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@types/d3': 7.4.3 '@types/d3-drag': 3.0.7 @@ -5446,14 +4870,14 @@ snapshots: d3-zoom: 3.0.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - zustand: 4.5.2(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1) + zustand: 4.5.5(@types/react@18.3.4)(immer@10.1.1)(react@18.3.1) transitivePeerDependencies: - '@types/react' - immer - '@reactflow/minimap@11.7.14(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@reactflow/minimap@11.7.14(@types/react@18.3.4)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@reactflow/core': 11.11.4(patch_hash=tj4jyedi5a5rqdyerfsnn6pgdu)(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@reactflow/core': 11.11.4(patch_hash=tj4jyedi5a5rqdyerfsnn6pgdu)(@types/react@18.3.4)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/d3-selection': 3.0.10 '@types/d3-zoom': 3.0.8 classcat: 5.0.5 @@ -5461,133 +4885,182 @@ snapshots: d3-zoom: 3.0.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - zustand: 4.5.2(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1) + zustand: 4.5.5(@types/react@18.3.4)(immer@10.1.1)(react@18.3.1) transitivePeerDependencies: - '@types/react' - immer - '@reactflow/node-resizer@2.2.14(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@reactflow/node-resizer@2.2.14(@types/react@18.3.4)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@reactflow/core': 11.11.4(patch_hash=tj4jyedi5a5rqdyerfsnn6pgdu)(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@reactflow/core': 11.11.4(patch_hash=tj4jyedi5a5rqdyerfsnn6pgdu)(@types/react@18.3.4)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classcat: 5.0.5 d3-drag: 3.0.0 d3-selection: 3.0.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - zustand: 4.5.2(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1) + zustand: 4.5.5(@types/react@18.3.4)(immer@10.1.1)(react@18.3.1) transitivePeerDependencies: - '@types/react' - immer - '@reactflow/node-toolbar@1.3.14(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@reactflow/node-toolbar@1.3.14(@types/react@18.3.4)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@reactflow/core': 11.11.4(patch_hash=tj4jyedi5a5rqdyerfsnn6pgdu)(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@reactflow/core': 11.11.4(patch_hash=tj4jyedi5a5rqdyerfsnn6pgdu)(@types/react@18.3.4)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classcat: 5.0.5 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - zustand: 4.5.2(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1) + zustand: 4.5.5(@types/react@18.3.4)(immer@10.1.1)(react@18.3.1) transitivePeerDependencies: - '@types/react' - immer - '@replit/codemirror-indentation-markers@6.5.2(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.1)': + '@replit/codemirror-indentation-markers@6.5.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)': dependencies: '@codemirror/language': 6.10.2 '@codemirror/state': 6.4.1 - '@codemirror/view': 6.28.1 - - '@rollup/plugin-node-resolve@9.0.0(rollup@2.79.1)': - dependencies: - '@rollup/pluginutils': 3.1.0(rollup@2.79.1) - '@types/resolve': 1.17.1 - builtin-modules: 3.3.0 - deepmerge: 4.3.1 - is-module: 1.0.0 - resolve: 1.22.8 - rollup: 2.79.1 - - '@rollup/pluginutils@3.1.0(rollup@2.79.1)': - dependencies: - '@types/estree': 0.0.39 - estree-walker: 1.0.1 - picomatch: 2.3.1 - rollup: 2.79.1 + '@codemirror/view': 6.33.0 - '@rollup/pluginutils@5.1.0(rollup@2.79.1)': + '@rollup/pluginutils@5.1.0(rollup@4.21.2)': dependencies: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: - rollup: 2.79.1 + rollup: 4.21.2 + + '@rollup/rollup-android-arm-eabi@4.21.1': + optional: true + + '@rollup/rollup-android-arm-eabi@4.21.2': + optional: true + + '@rollup/rollup-android-arm64@4.21.1': + optional: true + + '@rollup/rollup-android-arm64@4.21.2': + optional: true + + '@rollup/rollup-darwin-arm64@4.21.1': + optional: true + + '@rollup/rollup-darwin-arm64@4.21.2': + optional: true + + '@rollup/rollup-darwin-x64@4.21.1': + optional: true + + '@rollup/rollup-darwin-x64@4.21.2': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.21.1': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.21.2': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.21.1': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.21.2': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.21.1': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.21.2': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.21.1': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.21.2': + optional: true - '@rollup/rollup-android-arm-eabi@4.18.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.21.1': optional: true - '@rollup/rollup-android-arm64@4.18.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': optional: true - '@rollup/rollup-darwin-arm64@4.18.0': + '@rollup/rollup-linux-riscv64-gnu@4.21.1': optional: true - '@rollup/rollup-darwin-x64@4.18.0': + '@rollup/rollup-linux-riscv64-gnu@4.21.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.18.0': + '@rollup/rollup-linux-s390x-gnu@4.21.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.18.0': + '@rollup/rollup-linux-s390x-gnu@4.21.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.18.0': + '@rollup/rollup-linux-x64-gnu@4.21.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.18.0': + '@rollup/rollup-linux-x64-gnu@4.21.2': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': + '@rollup/rollup-linux-x64-musl@4.21.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.18.0': + '@rollup/rollup-linux-x64-musl@4.21.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.18.0': + '@rollup/rollup-win32-arm64-msvc@4.21.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.18.0': + '@rollup/rollup-win32-arm64-msvc@4.21.2': optional: true - '@rollup/rollup-linux-x64-musl@4.18.0': + '@rollup/rollup-win32-ia32-msvc@4.21.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.18.0': + '@rollup/rollup-win32-ia32-msvc@4.21.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.18.0': + '@rollup/rollup-win32-x64-msvc@4.21.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.18.0': + '@rollup/rollup-win32-x64-msvc@4.21.2': optional: true '@sindresorhus/is@5.6.0': {} + '@surrealdb/codemirror@1.0.0-beta.4': + dependencies: + '@codemirror/language': 6.10.2 + '@lezer/common': 1.2.1 + '@lezer/javascript': 1.4.17 + '@surrealdb/lezer': 1.0.0-beta.4 + + '@surrealdb/lezer@1.0.0-beta.4': + dependencies: + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + + '@surrealdb/ql-wasm@0.2.0-beta.2': {} + + '@surrealdb/wasm@1.0.0-beta.18(surrealdb@1.0.0-beta.20(tslib@2.7.0)(typescript@5.5.4)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)))': + dependencies: + surrealdb: 1.0.0-beta.20(tslib@2.7.0)(typescript@5.5.4)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + '@szmarczak/http-timer@5.0.1': dependencies: defer-to-connect: 2.0.1 - '@tanstack/eslint-plugin-query@5.43.1(eslint@8.57.0)(typescript@5.5.2)': + '@tanstack/eslint-plugin-query@5.52.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: - '@typescript-eslint/utils': 8.0.0-alpha.28(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/utils': 8.0.0-alpha.30(eslint@8.57.0)(typescript@5.5.4) eslint: 8.57.0 transitivePeerDependencies: - supports-color - typescript - '@tanstack/query-core@5.45.0': {} + '@tanstack/query-core@5.52.2': {} - '@tanstack/react-query@5.45.1(react@18.3.1)': + '@tanstack/react-query@5.52.2(react@18.3.1)': dependencies: - '@tanstack/query-core': 5.45.0 + '@tanstack/query-core': 5.52.2 react: 18.3.1 '@tauri-apps/api@2.0.0-beta.14': {} @@ -5647,6 +5120,10 @@ snapshots: dependencies: '@tauri-apps/api': 2.0.0-beta.14 + '@tauri-apps/plugin-http@2.0.0-beta.7': + dependencies: + '@tauri-apps/api': 2.0.0-beta.14 + '@tauri-apps/plugin-log@2.0.0-beta.7': dependencies: '@tauri-apps/api': 2.0.0-beta.14 @@ -5667,11 +5144,11 @@ snapshots: dependencies: '@tauri-apps/api': 2.0.0-beta.14 - '@theopensource-company/feature-flags@0.4.6(typescript@5.5.2)': + '@theopensource-company/feature-flags@0.4.6(typescript@5.5.4)': dependencies: - '@types/react': 18.3.3 + '@types/react': 18.3.4 react: 18.3.1 - vue: 3.4.29(typescript@5.5.2) + vue: 3.4.38(typescript@5.5.4) transitivePeerDependencies: - typescript @@ -5679,24 +5156,24 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 + '@babel/parser': 7.25.4 + '@babel/types': 7.25.4 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 '@types/babel__generator@7.6.8': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.25.4 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 + '@babel/parser': 7.25.4 + '@babel/types': 7.25.4 '@types/babel__traverse@7.20.6': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.25.4 '@types/d3-array@3.2.1': {} @@ -5815,8 +5292,6 @@ snapshots: '@types/d3-transition': 3.0.8 '@types/d3-zoom': 3.0.8 - '@types/estree@0.0.39': {} - '@types/estree@1.0.5': {} '@types/geojson@7946.0.14': {} @@ -5829,71 +5304,61 @@ snapshots: dependencies: '@types/geojson': 7946.0.14 - '@types/mocha@9.1.1': {} - - '@types/node@20.14.7': + '@types/node@20.16.1': dependencies: - undici-types: 5.26.5 + undici-types: 6.19.8 '@types/normalize-package-data@2.4.4': {} '@types/papaparse@5.3.14': dependencies: - '@types/node': 20.14.7 + '@types/node': 20.16.1 '@types/prop-types@15.7.12': {} - '@types/react-copy-to-clipboard@5.0.7': - dependencies: - '@types/react': 18.3.3 - '@types/react-dom@18.3.0': dependencies: - '@types/react': 18.3.3 + '@types/react': 18.3.4 - '@types/react@18.3.3': + '@types/react@18.3.4': dependencies: '@types/prop-types': 15.7.12 csstype: 3.1.3 - '@types/resolve@1.17.1': - dependencies: - '@types/node': 20.14.7 - '@types/semver-compare@1.0.3': {} '@types/semver@7.5.8': {} - '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2)': + '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)': dependencies: - '@eslint-community/regexpp': 4.10.1 - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.5.2) + '@eslint-community/regexpp': 4.11.0 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.5.4) '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.5.2) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.5.4) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.5 + debug: 4.3.6 eslint: 8.57.0 graphemer: 1.4.0 - ignore: 5.3.1 + ignore: 5.3.2 natural-compare: 1.4.0 - semver: 7.6.2 - ts-api-utils: 1.3.0(typescript@5.5.2) + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2)': + '@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.5.2) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.5.4) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.5 + debug: 4.3.6 eslint: 8.57.0 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.4 transitivePeerDependencies: - supports-color @@ -5902,77 +5367,77 @@ snapshots: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - '@typescript-eslint/scope-manager@8.0.0-alpha.28': + '@typescript-eslint/scope-manager@8.0.0-alpha.30': dependencies: - '@typescript-eslint/types': 8.0.0-alpha.28 - '@typescript-eslint/visitor-keys': 8.0.0-alpha.28 + '@typescript-eslint/types': 8.0.0-alpha.30 + '@typescript-eslint/visitor-keys': 8.0.0-alpha.30 - '@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.5.2)': + '@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.5.2) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.5.2) - debug: 4.3.5 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.5.4) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.5.4) + debug: 4.3.6 eslint: 8.57.0 - ts-api-utils: 1.3.0(typescript@5.5.2) + ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.4 transitivePeerDependencies: - supports-color '@typescript-eslint/types@6.21.0': {} - '@typescript-eslint/types@8.0.0-alpha.28': {} + '@typescript-eslint/types@8.0.0-alpha.30': {} - '@typescript-eslint/typescript-estree@6.21.0(typescript@5.5.2)': + '@typescript-eslint/typescript-estree@6.21.0(typescript@5.5.4)': dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.5 + debug: 4.3.6 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.6.2 - ts-api-utils: 1.3.0(typescript@5.5.2) + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.0.0-alpha.28(typescript@5.5.2)': + '@typescript-eslint/typescript-estree@8.0.0-alpha.30(typescript@5.5.4)': dependencies: - '@typescript-eslint/types': 8.0.0-alpha.28 - '@typescript-eslint/visitor-keys': 8.0.0-alpha.28 - debug: 4.3.5 + '@typescript-eslint/types': 8.0.0-alpha.30 + '@typescript-eslint/visitor-keys': 8.0.0-alpha.30 + debug: 4.3.6 globby: 11.1.0 is-glob: 4.0.3 - minimatch: 9.0.4 - semver: 7.6.2 - ts-api-utils: 1.3.0(typescript@5.5.2) + minimatch: 9.0.5 + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.5.2)': + '@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.5.2) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.5.4) eslint: 8.57.0 - semver: 7.6.2 + semver: 7.6.3 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@8.0.0-alpha.28(eslint@8.57.0)(typescript@5.5.2)': + '@typescript-eslint/utils@8.0.0-alpha.30(eslint@8.57.0)(typescript@5.5.4)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@typescript-eslint/scope-manager': 8.0.0-alpha.28 - '@typescript-eslint/types': 8.0.0-alpha.28 - '@typescript-eslint/typescript-estree': 8.0.0-alpha.28(typescript@5.5.2) + '@typescript-eslint/scope-manager': 8.0.0-alpha.30 + '@typescript-eslint/types': 8.0.0-alpha.30 + '@typescript-eslint/typescript-estree': 8.0.0-alpha.30(typescript@5.5.4) eslint: 8.57.0 transitivePeerDependencies: - supports-color @@ -5983,102 +5448,98 @@ snapshots: '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.0.0-alpha.28': + '@typescript-eslint/visitor-keys@8.0.0-alpha.30': dependencies: - '@typescript-eslint/types': 8.0.0-alpha.28 + '@typescript-eslint/types': 8.0.0-alpha.30 eslint-visitor-keys: 3.4.3 '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-legacy@5.4.1(terser@5.31.1)(vite@5.3.1(@types/node@20.14.7)(sass@1.77.6)(terser@5.31.1))': + '@vitejs/plugin-legacy@5.4.2(terser@5.31.6)(vite@5.4.2(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6))': dependencies: - '@babel/core': 7.24.7 - '@babel/preset-env': 7.24.7(@babel/core@7.24.7) - browserslist: 4.23.1 - browserslist-to-esbuild: 2.1.1(browserslist@4.23.1) - core-js: 3.37.1 - magic-string: 0.30.10 + '@babel/core': 7.25.2 + '@babel/preset-env': 7.25.4(@babel/core@7.25.2) + browserslist: 4.23.3 + browserslist-to-esbuild: 2.1.1(browserslist@4.23.3) + core-js: 3.38.1 + magic-string: 0.30.11 regenerator-runtime: 0.14.1 systemjs: 6.15.1 - terser: 5.31.1 - vite: 5.3.1(@types/node@20.14.7)(sass@1.77.6)(terser@5.31.1) + terser: 5.31.6 + vite: 5.4.2(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6) transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@4.3.1(vite@5.3.1(@types/node@20.14.7)(sass@1.77.6)(terser@5.31.1))': + '@vitejs/plugin-react@4.3.1(vite@5.4.2(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6))': dependencies: - '@babel/core': 7.24.7 - '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.3.1(@types/node@20.14.7)(sass@1.77.6)(terser@5.31.1) + vite: 5.4.2(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6) transitivePeerDependencies: - supports-color - '@vue/compiler-core@3.4.29': + '@vue/compiler-core@3.4.38': dependencies: - '@babel/parser': 7.24.7 - '@vue/shared': 3.4.29 + '@babel/parser': 7.25.4 + '@vue/shared': 3.4.38 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 - '@vue/compiler-dom@3.4.29': + '@vue/compiler-dom@3.4.38': dependencies: - '@vue/compiler-core': 3.4.29 - '@vue/shared': 3.4.29 + '@vue/compiler-core': 3.4.38 + '@vue/shared': 3.4.38 - '@vue/compiler-sfc@3.4.29': + '@vue/compiler-sfc@3.4.38': dependencies: - '@babel/parser': 7.24.7 - '@vue/compiler-core': 3.4.29 - '@vue/compiler-dom': 3.4.29 - '@vue/compiler-ssr': 3.4.29 - '@vue/shared': 3.4.29 + '@babel/parser': 7.25.4 + '@vue/compiler-core': 3.4.38 + '@vue/compiler-dom': 3.4.38 + '@vue/compiler-ssr': 3.4.38 + '@vue/shared': 3.4.38 estree-walker: 2.0.2 - magic-string: 0.30.10 - postcss: 8.4.38 + magic-string: 0.30.11 + postcss: 8.4.41 source-map-js: 1.2.0 - '@vue/compiler-ssr@3.4.29': + '@vue/compiler-ssr@3.4.38': dependencies: - '@vue/compiler-dom': 3.4.29 - '@vue/shared': 3.4.29 + '@vue/compiler-dom': 3.4.38 + '@vue/shared': 3.4.38 - '@vue/reactivity@3.4.29': + '@vue/reactivity@3.4.38': dependencies: - '@vue/shared': 3.4.29 + '@vue/shared': 3.4.38 - '@vue/runtime-core@3.4.29': + '@vue/runtime-core@3.4.38': dependencies: - '@vue/reactivity': 3.4.29 - '@vue/shared': 3.4.29 + '@vue/reactivity': 3.4.38 + '@vue/shared': 3.4.38 - '@vue/runtime-dom@3.4.29': + '@vue/runtime-dom@3.4.38': dependencies: - '@vue/reactivity': 3.4.29 - '@vue/runtime-core': 3.4.29 - '@vue/shared': 3.4.29 + '@vue/reactivity': 3.4.38 + '@vue/runtime-core': 3.4.38 + '@vue/shared': 3.4.38 csstype: 3.1.3 - '@vue/server-renderer@3.4.29(vue@3.4.29(typescript@5.5.2))': + '@vue/server-renderer@3.4.38(vue@3.4.38(typescript@5.5.4))': dependencies: - '@vue/compiler-ssr': 3.4.29 - '@vue/shared': 3.4.29 - vue: 3.4.29(typescript@5.5.2) + '@vue/compiler-ssr': 3.4.38 + '@vue/shared': 3.4.38 + vue: 3.4.38(typescript@5.5.4) - '@vue/shared@3.4.29': {} + '@vue/shared@3.4.38': {} - acorn-jsx@5.3.2(acorn@8.12.0): + acorn-jsx@5.3.2(acorn@8.12.1): dependencies: - acorn: 8.12.0 + acorn: 8.12.1 - acorn-walk@8.3.3: - dependencies: - acorn: 8.12.0 - - acorn@8.12.0: {} + acorn@8.12.1: {} ajv@6.12.6: dependencies: @@ -6087,8 +5548,6 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ansi-colors@4.1.1: {} - ansi-colors@4.1.3: {} ansi-regex@5.0.1: {} @@ -6116,49 +5575,29 @@ snapshots: argparse@2.0.1: {} - array-buffer-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - is-array-buffer: 3.0.4 - array-union@2.1.0: {} - arraybuffer.prototype.slice@1.0.3: - dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - is-array-buffer: 3.0.4 - is-shared-array-buffer: 1.0.3 - - available-typed-arrays@1.0.7: - dependencies: - possible-typed-array-names: 1.0.0 - - babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.7): + babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.25.2): dependencies: - '@babel/compat-data': 7.24.7 - '@babel/core': 7.24.7 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) + '@babel/compat-data': 7.25.4 + '@babel/core': 7.25.2 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) semver: 6.3.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.7): + babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.25.2): dependencies: - '@babel/core': 7.24.7 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) - core-js-compat: 3.37.1 + '@babel/core': 7.25.2 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) + core-js-compat: 3.38.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.7): + babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.25.2): dependencies: - '@babel/core': 7.24.7 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) transitivePeerDependencies: - supports-color @@ -6181,25 +5620,23 @@ snapshots: dependencies: fill-range: 7.1.1 - browser-stdout@1.3.1: {} - - browserslist-to-esbuild@2.1.1(browserslist@4.23.1): + browserslist-to-esbuild@2.1.1(browserslist@4.23.3): dependencies: - browserslist: 4.23.1 + browserslist: 4.23.3 meow: 13.2.0 - browserslist@4.23.1: + browserslist@4.23.3: dependencies: - caniuse-lite: 1.0.30001636 - electron-to-chromium: 1.4.808 - node-releases: 2.0.14 - update-browserslist-db: 1.0.16(browserslist@4.23.1) + caniuse-lite: 1.0.30001653 + electron-to-chromium: 1.5.13 + node-releases: 2.0.18 + update-browserslist-db: 1.1.0(browserslist@4.23.3) buffer-from@1.1.2: {} bufferutil@4.0.8: dependencies: - node-gyp-build: 4.8.1 + node-gyp-build: 4.8.2 optional: true builtin-modules@3.3.0: {} @@ -6216,23 +5653,9 @@ snapshots: normalize-url: 8.0.1 responselike: 3.0.0 - call-bind@1.0.7: - dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - set-function-length: 1.2.2 - callsites@3.1.0: {} - camelcase@6.3.0: {} - - caniuse-lite@1.0.30001636: {} - - chainsaw@0.0.9: - dependencies: - traverse: 0.3.9 + caniuse-lite@1.0.30001653: {} chalk@2.4.2: dependencies: @@ -6245,18 +5668,6 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 - chokidar@3.5.3: - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - chokidar@3.6.0: dependencies: anymatch: 3.1.3 @@ -6277,23 +5688,28 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 - cliui@7.0.4: - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - clsx@2.1.1: {} + cm6-graphql@0.0.15(@codemirror/autocomplete@6.18.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/common@1.2.1))(@codemirror/language@6.10.2)(@codemirror/lint@6.8.1)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/highlight@1.2.1)(graphql@16.9.0(patch_hash=ld77r6ldo77drpc37fyutqbsa4)): + dependencies: + '@codemirror/autocomplete': 6.18.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/common@1.2.1) + '@codemirror/language': 6.10.2 + '@codemirror/lint': 6.8.1 + '@codemirror/state': 6.4.1 + '@codemirror/view': 6.33.0 + '@lezer/highlight': 1.2.1 + graphql: 16.9.0(patch_hash=ld77r6ldo77drpc37fyutqbsa4) + graphql-language-service: 5.3.0(graphql@16.9.0(patch_hash=ld77r6ldo77drpc37fyutqbsa4)) + codemirror@6.0.1(@lezer/common@1.2.1): dependencies: - '@codemirror/autocomplete': 6.16.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.1)(@lezer/common@1.2.1) + '@codemirror/autocomplete': 6.18.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/common@1.2.1) '@codemirror/commands': 6.6.0 '@codemirror/language': 6.10.2 '@codemirror/lint': 6.8.1 '@codemirror/search': 6.5.6 '@codemirror/state': 6.4.1 - '@codemirror/view': 6.28.1 + '@codemirror/view': 6.33.0 transitivePeerDependencies: - '@lezer/common' @@ -6327,17 +5743,11 @@ snapshots: convert-source-map@2.0.0: {} - copy-to-clipboard@3.3.3: - dependencies: - toggle-selection: 1.0.6 - - core-js-compat@3.37.1: + core-js-compat@3.38.1: dependencies: - browserslist: 4.23.1 + browserslist: 4.23.3 - core-js@3.37.1: {} - - core-util-is@1.0.3: {} + core-js@3.38.1: {} crelt@1.0.6: {} @@ -6409,47 +5819,14 @@ snapshots: d3-selection: 3.0.0 d3-transition: 3.0.1(d3-selection@3.0.0) - dagre@0.8.5: - dependencies: - graphlib: 2.1.8 - lodash: 4.17.21 - - data-view-buffer@1.0.1: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 + dayjs@1.11.13: {} - data-view-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 + debounce-promise@3.1.2: {} - data-view-byte-offset@1.0.0: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - - dayjs@1.11.11: {} - - debug@2.6.9: - dependencies: - ms: 2.0.0 - - debug@4.3.4(supports-color@8.1.1): - dependencies: - ms: 2.1.2 - optionalDependencies: - supports-color: 8.1.1 - - debug@4.3.5: + debug@4.3.6: dependencies: ms: 2.1.2 - decamelize@4.0.0: {} - decompress-response@6.0.0: dependencies: mimic-response: 3.1.0 @@ -6460,32 +5837,12 @@ snapshots: deep-is@0.1.4: {} - deepmerge@4.3.1: {} - defer-to-connect@2.0.1: {} - define-data-property@1.1.4: - dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - gopd: 1.0.1 - - define-properties@1.2.1: - dependencies: - define-data-property: 1.1.4 - has-property-descriptors: 1.0.2 - object-keys: 1.1.1 - - depd@2.0.0: {} - - destroy@1.2.0: {} - detect-libc@2.0.3: {} detect-node-es@1.1.0: {} - diff@5.0.0: {} - dir-glob@3.0.1: dependencies: path-type: 4.0.0 @@ -6496,7 +5853,7 @@ snapshots: dom-helpers@5.2.1: dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.4 csstype: 3.1.3 dom-serializer@1.4.1: @@ -6533,16 +5890,10 @@ snapshots: domelementtype: 2.3.0 domhandler: 5.0.3 - ee-first@1.1.1: {} - - electron-to-chromium@1.4.808: {} + electron-to-chromium@1.5.13: {} elkjs@0.9.3: {} - emoji-regex@8.0.0: {} - - encodeurl@1.0.2: {} - entities@2.1.0: {} entities@2.2.0: {} @@ -6555,77 +5906,6 @@ snapshots: dependencies: is-arrayish: 0.2.1 - es-abstract@1.23.3: - dependencies: - array-buffer-byte-length: 1.0.1 - arraybuffer.prototype.slice: 1.0.3 - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - data-view-buffer: 1.0.1 - data-view-byte-length: 1.0.1 - data-view-byte-offset: 1.0.0 - es-define-property: 1.0.0 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-set-tostringtag: 2.0.3 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.4 - get-symbol-description: 1.0.2 - globalthis: 1.0.4 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 - internal-slot: 1.0.7 - is-array-buffer: 3.0.4 - is-callable: 1.2.7 - is-data-view: 1.0.1 - is-negative-zero: 2.0.3 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - is-string: 1.0.7 - is-typed-array: 1.1.13 - is-weakref: 1.0.2 - object-inspect: 1.13.1 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 - safe-array-concat: 1.1.2 - safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.9 - string.prototype.trimend: 1.0.8 - string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.2 - typed-array-byte-length: 1.0.1 - typed-array-byte-offset: 1.0.2 - typed-array-length: 1.0.6 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.15 - - es-define-property@1.0.0: - dependencies: - get-intrinsic: 1.2.4 - - es-errors@1.3.0: {} - - es-object-atoms@1.0.0: - dependencies: - es-errors: 1.3.0 - - es-set-tostringtag@2.0.3: - dependencies: - get-intrinsic: 1.2.4 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - - es-to-primitive@1.2.1: - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - esbuild@0.21.5: optionalDependencies: '@esbuild/aix-ppc64': 0.21.5 @@ -6654,8 +5934,6 @@ snapshots: escalade@3.1.2: {} - escape-html@1.0.3: {} - escape-string-regexp@1.0.5: {} escape-string-regexp@4.0.0: {} @@ -6673,7 +5951,7 @@ snapshots: ci-info: 3.9.0 clean-regexp: 1.0.0 eslint: 8.57.0 - esquery: 1.5.0 + esquery: 1.6.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 jsesc: 3.0.2 @@ -6682,15 +5960,15 @@ snapshots: read-pkg-up: 7.0.1 regexp-tree: 0.1.27 regjsparser: 0.10.0 - semver: 7.6.2 + semver: 7.6.3 strip-indent: 3.0.0 - eslint-plugin-unused-imports@3.2.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0): + eslint-plugin-unused-imports@3.2.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0): dependencies: eslint: 8.57.0 eslint-rule-composer: 0.3.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) eslint-rule-composer@0.3.0: {} @@ -6704,7 +5982,7 @@ snapshots: eslint@8.57.0: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.10.1 + '@eslint-community/regexpp': 4.11.0 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.57.0 '@humanwhocodes/config-array': 0.11.14 @@ -6714,13 +5992,13 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.5 + debug: 4.3.6 doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 - esquery: 1.5.0 + esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 @@ -6728,7 +6006,7 @@ snapshots: glob-parent: 6.0.2 globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.3.1 + ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -6744,24 +6022,15 @@ snapshots: transitivePeerDependencies: - supports-color - esmoduleserve@0.2.1: - dependencies: - acorn: 8.12.0 - acorn-walk: 8.3.3 - resolve: 1.22.8 - serve-static: 1.15.0 - transitivePeerDependencies: - - supports-color - espree@9.6.1: dependencies: - acorn: 8.12.0 - acorn-jsx: 5.3.2(acorn@8.12.0) + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) eslint-visitor-keys: 3.4.3 esprima@4.0.1: {} - esquery@1.5.0: + esquery@1.6.0: dependencies: estraverse: 5.3.0 @@ -6771,14 +6040,10 @@ snapshots: estraverse@5.3.0: {} - estree-walker@1.0.1: {} - estree-walker@2.0.2: {} esutils@2.0.3: {} - etag@1.8.1: {} - fast-deep-equal@3.1.3: {} fast-glob@3.3.2: @@ -6787,7 +6052,7 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.7 + micromatch: 4.0.8 fast-json-stable-stringify@2.1.0: {} @@ -6817,24 +6082,18 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 + flag-icons@7.2.3: {} + flat-cache@3.2.0: dependencies: flatted: 3.3.1 keyv: 4.5.4 rimraf: 3.0.2 - flat@5.0.2: {} - flatted@3.3.1: {} - for-each@0.3.3: - dependencies: - is-callable: 1.2.7 - form-data-encoder@2.1.4: {} - fresh@0.5.2: {} - front-matter@4.0.2: dependencies: js-yaml: 3.14.1 @@ -6846,28 +6105,9 @@ snapshots: function-bind@1.1.2: {} - function.prototype.name@1.1.6: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - functions-have-names: 1.2.3 - - functions-have-names@1.2.3: {} - gensync@1.0.0-beta.2: {} - geo-coordinates-parser@1.7.0: {} - - get-caller-file@2.0.5: {} - - get-intrinsic@1.2.4: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 + geo-coordinates-parser@1.7.3: {} get-nonce@1.0.1: {} @@ -6875,12 +6115,6 @@ snapshots: get-stream@6.0.1: {} - get-symbol-description@1.0.2: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -6898,38 +6132,21 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 - glob@8.1.0: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.0.1 - once: 1.4.0 - globals@11.12.0: {} globals@13.24.0: dependencies: type-fest: 0.20.2 - globalthis@1.0.4: - dependencies: - define-properties: 1.2.1 - gopd: 1.0.1 - globby@11.1.0: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.1 + ignore: 5.3.2 merge2: 1.4.1 slash: 3.0.0 - gopd@1.0.1: - dependencies: - get-intrinsic: 1.2.4 - got@13.0.0: dependencies: '@sindresorhus/is': 5.6.0 @@ -6946,38 +6163,23 @@ snapshots: graphemer@1.4.0: {} - graphlib@2.1.8: + graphql-language-service@5.3.0(graphql@16.9.0(patch_hash=ld77r6ldo77drpc37fyutqbsa4)): dependencies: - lodash: 4.17.21 + debounce-promise: 3.1.2 + graphql: 16.9.0(patch_hash=ld77r6ldo77drpc37fyutqbsa4) + nullthrows: 1.1.1 + vscode-languageserver-types: 3.17.5 - has-bigints@1.0.2: {} + graphql@16.9.0(patch_hash=ld77r6ldo77drpc37fyutqbsa4): {} has-flag@3.0.0: {} has-flag@4.0.0: {} - has-property-descriptors@1.0.2: - dependencies: - es-define-property: 1.0.0 - - has-proto@1.0.3: {} - - has-symbols@1.0.3: {} - - has-tostringtag@1.0.2: - dependencies: - has-symbols: 1.0.3 - - hashish@0.0.4: - dependencies: - traverse: 0.6.9 - hasown@2.0.2: dependencies: function-bind: 1.1.2 - he@1.2.0: {} - hosted-git-info@2.8.9: {} html-to-image@1.11.11: {} @@ -6991,26 +6193,16 @@ snapshots: http-cache-semantics@4.1.1: {} - http-errors@2.0.0: - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - http2-wrapper@2.2.1: dependencies: quick-lru: 5.1.1 resolve-alpn: 1.2.1 - ignore@5.3.1: {} - - immediate@3.0.6: {} + ignore@5.3.2: {} immer@10.1.1: {} - immutable@4.3.6: {} + immutable@4.3.7: {} import-fresh@3.3.0: dependencies: @@ -7030,116 +6222,41 @@ snapshots: ini@1.3.8: {} - internal-slot@1.0.7: - dependencies: - es-errors: 1.3.0 - hasown: 2.0.2 - side-channel: 1.0.6 - invariant@2.2.4: dependencies: loose-envify: 1.4.0 - is-array-buffer@3.0.4: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - is-arrayish@0.2.1: {} is-arrayish@0.3.2: {} - is-bigint@1.0.4: - dependencies: - has-bigints: 1.0.2 - is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 - is-boolean-object@1.1.2: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - is-builtin-module@3.2.1: dependencies: builtin-modules: 3.3.0 - is-callable@1.2.7: {} - - is-core-module@2.14.0: + is-core-module@2.15.1: dependencies: hasown: 2.0.2 - is-data-view@1.0.1: - dependencies: - is-typed-array: 1.1.13 - - is-date-object@1.0.5: - dependencies: - has-tostringtag: 1.0.2 - is-extglob@2.1.1: {} - is-fullwidth-code-point@3.0.0: {} - is-glob@4.0.3: dependencies: is-extglob: 2.1.1 - is-module@1.0.0: {} - - is-negative-zero@2.0.3: {} - - is-number-object@1.0.7: - dependencies: - has-tostringtag: 1.0.2 - is-number@7.0.0: {} is-path-inside@3.0.3: {} - is-plain-obj@2.1.0: {} - - is-regex@1.1.4: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - - is-shared-array-buffer@1.0.3: - dependencies: - call-bind: 1.0.7 - - is-string@1.0.7: - dependencies: - has-tostringtag: 1.0.2 - - is-symbol@1.0.4: - dependencies: - has-symbols: 1.0.3 - - is-typed-array@1.1.13: - dependencies: - which-typed-array: 1.1.15 - - is-unicode-supported@0.1.0: {} - - is-weakref@1.0.2: - dependencies: - call-bind: 1.0.7 - - isarray@1.0.0: {} - - isarray@2.0.5: {} - isexe@2.0.0: {} - isows@1.0.4(ws@8.17.1(bufferutil@4.0.8)(utf-8-validate@6.0.4)): + isows@1.0.4(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)): dependencies: - ws: 8.17.1(bufferutil@4.0.8)(utf-8-validate@6.0.4) - - ist@1.1.7: {} + ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) js-tokens@4.0.0: {} @@ -7168,13 +6285,6 @@ snapshots: json5@2.2.3: {} - jszip@3.10.1: - dependencies: - lie: 3.3.0 - pako: 1.0.11 - readable-stream: 2.3.8 - setimmediate: 1.0.5 - keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -7191,21 +6301,17 @@ snapshots: license-report@6.5.0: dependencies: '@kessler/tableify': 1.0.2 - debug: 4.3.5 + debug: 4.3.6 eol: 0.9.1 got: 13.0.0 rc: 1.2.8 - semver: 7.6.2 + semver: 7.6.3 tablemark: 3.1.0 text-table: 0.2.0 visit-values: 2.0.0 transitivePeerDependencies: - supports-color - lie@3.3.0: - dependencies: - immediate: 3.0.6 - lines-and-columns@1.2.4: {} linkify-it@3.0.3: @@ -7226,11 +6332,6 @@ snapshots: lodash@4.17.21: {} - log-symbols@4.1.0: - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - loose-envify@1.4.0: dependencies: js-tokens: 4.0.0 @@ -7239,7 +6340,7 @@ snapshots: lower-case@2.0.2: dependencies: - tslib: 2.6.3 + tslib: 2.7.0 lowercase-keys@3.0.0: {} @@ -7247,14 +6348,14 @@ snapshots: dependencies: yallist: 3.1.1 - magic-string@0.30.10: + magic-string@0.30.11: dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 - mantine-contextmenu@7.10.2(@mantine/core@7.10.2(@mantine/hooks@7.10.2(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.10.2(react@18.3.1))(clsx@2.1.1)(react@18.3.1): + mantine-contextmenu@7.11.3(@mantine/core@7.12.1(@mantine/hooks@7.12.1(react@18.3.1))(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.12.1(react@18.3.1))(clsx@2.1.1)(react@18.3.1): dependencies: - '@mantine/core': 7.10.2(@mantine/hooks@7.10.2(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mantine/hooks': 7.10.2(react@18.3.1) + '@mantine/core': 7.12.1(@mantine/hooks@7.12.1(react@18.3.1))(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mantine/hooks': 7.12.1(react@18.3.1) clsx: 2.1.1 react: 18.3.1 @@ -7276,13 +6377,11 @@ snapshots: merge2@1.4.1: {} - micromatch@4.0.7: + micromatch@4.0.8: dependencies: braces: 3.0.3 picomatch: 2.3.1 - mime@1.6.0: {} - mimic-response@3.1.0: {} mimic-response@4.0.0: {} @@ -7293,49 +6392,18 @@ snapshots: dependencies: brace-expansion: 1.1.11 - minimatch@5.0.1: - dependencies: - brace-expansion: 2.0.1 - minimatch@9.0.3: dependencies: brace-expansion: 2.0.1 - minimatch@9.0.4: + minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 minimist@1.2.8: {} - mocha@10.4.0: - dependencies: - ansi-colors: 4.1.1 - browser-stdout: 1.3.1 - chokidar: 3.5.3 - debug: 4.3.4(supports-color@8.1.1) - diff: 5.0.0 - escape-string-regexp: 4.0.0 - find-up: 5.0.0 - glob: 8.1.0 - he: 1.2.0 - js-yaml: 4.1.0 - log-symbols: 4.1.0 - minimatch: 5.0.1 - ms: 2.1.3 - serialize-javascript: 6.0.0 - strip-json-comments: 3.1.1 - supports-color: 8.1.1 - workerpool: 6.2.1 - yargs: 16.2.0 - yargs-parser: 20.2.4 - yargs-unparser: 2.0.0 - - ms@2.0.0: {} - ms@2.1.2: {} - ms@2.1.3: {} - nanoid@3.3.7: {} natural-compare@1.4.0: {} @@ -7343,12 +6411,12 @@ snapshots: no-case@3.0.4: dependencies: lower-case: 2.0.2 - tslib: 2.6.3 + tslib: 2.7.0 - node-gyp-build@4.8.1: + node-gyp-build@4.8.2: optional: true - node-releases@2.0.14: {} + node-releases@2.0.18: {} normalize-package-data@2.5.0: dependencies: @@ -7365,22 +6433,9 @@ snapshots: dependencies: boolbase: 1.0.0 - object-assign@4.1.1: {} - - object-inspect@1.13.1: {} + nullthrows@1.1.1: {} - object-keys@1.1.1: {} - - object.assign@4.1.5: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - has-symbols: 1.0.3 - object-keys: 1.1.1 - - on-finished@2.4.1: - dependencies: - ee-first: 1.1.1 + object-assign@4.1.1: {} once@1.4.0: dependencies: @@ -7415,8 +6470,6 @@ snapshots: p-try@2.2.0: {} - pako@1.0.11: {} - papaparse@5.4.1: {} parent-module@1.0.1: @@ -7430,8 +6483,6 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - parseurl@1.3.3: {} - path-exists@4.0.0: {} path-is-absolute@1.0.1: {} @@ -7450,25 +6501,22 @@ snapshots: pluralize@8.0.0: {} - possible-typed-array-names@1.0.0: {} - - postcss@8.4.38: + postcss@8.4.41: dependencies: nanoid: 3.3.7 picocolors: 1.0.1 source-map-js: 1.2.0 - posthog-js@1.139.8: + posthog-js@1.158.1: dependencies: fflate: 0.4.8 - preact: 10.22.0 + preact: 10.23.2 + web-vitals: 4.2.3 - preact@10.22.0: {} + preact@10.23.2: {} prelude-ls@1.2.1: {} - process-nextick-args@2.0.1: {} - prop-types@15.8.1: dependencies: loose-envify: 1.4.0 @@ -7483,12 +6531,6 @@ snapshots: radash@11.0.0: {} - randombytes@2.1.0: - dependencies: - safe-buffer: 5.2.1 - - range-parser@1.2.1: {} - rc@1.2.8: dependencies: deep-extend: 0.6.0 @@ -7496,12 +6538,6 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-copy-to-clipboard@5.1.0(react@18.3.1): - dependencies: - copy-to-clipboard: 3.3.3 - prop-types: 15.8.1 - react: 18.3.1 - react-dom@18.3.1(react@18.3.1): dependencies: loose-envify: 1.4.0 @@ -7510,7 +6546,7 @@ snapshots: react-error-boundary@4.0.13(react@18.3.1): dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.4 react: 18.3.1 react-is@16.13.1: {} @@ -7522,34 +6558,33 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-number-format@5.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-number-format@5.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - prop-types: 15.8.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-refresh@0.14.2: {} - react-remove-scroll-bar@2.3.6(@types/react@18.3.3)(react@18.3.1): + react-remove-scroll-bar@2.3.6(@types/react@18.3.4)(react@18.3.1): dependencies: react: 18.3.1 - react-style-singleton: 2.2.1(@types/react@18.3.3)(react@18.3.1) - tslib: 2.6.3 + react-style-singleton: 2.2.1(@types/react@18.3.4)(react@18.3.1) + tslib: 2.7.0 optionalDependencies: - '@types/react': 18.3.3 + '@types/react': 18.3.4 - react-remove-scroll@2.5.10(@types/react@18.3.3)(react@18.3.1): + react-remove-scroll@2.5.10(@types/react@18.3.4)(react@18.3.1): dependencies: react: 18.3.1 - react-remove-scroll-bar: 2.3.6(@types/react@18.3.3)(react@18.3.1) - react-style-singleton: 2.2.1(@types/react@18.3.3)(react@18.3.1) - tslib: 2.6.3 - use-callback-ref: 1.3.2(@types/react@18.3.3)(react@18.3.1) - use-sidecar: 1.1.2(@types/react@18.3.3)(react@18.3.1) + react-remove-scroll-bar: 2.3.6(@types/react@18.3.4)(react@18.3.1) + react-style-singleton: 2.2.1(@types/react@18.3.4)(react@18.3.1) + tslib: 2.7.0 + use-callback-ref: 1.3.2(@types/react@18.3.4)(react@18.3.1) + use-sidecar: 1.1.2(@types/react@18.3.4)(react@18.3.1) optionalDependencies: - '@types/react': 18.3.3 + '@types/react': 18.3.4 - react-resizable-panels@2.0.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-resizable-panels@2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -7559,27 +6594,27 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-style-singleton@2.2.1(@types/react@18.3.3)(react@18.3.1): + react-style-singleton@2.2.1(@types/react@18.3.4)(react@18.3.1): dependencies: get-nonce: 1.0.1 invariant: 2.2.4 react: 18.3.1 - tslib: 2.6.3 + tslib: 2.7.0 optionalDependencies: - '@types/react': 18.3.3 + '@types/react': 18.3.4 - react-textarea-autosize@8.5.3(@types/react@18.3.3)(react@18.3.1): + react-textarea-autosize@8.5.3(@types/react@18.3.4)(react@18.3.1): dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.4 react: 18.3.1 use-composed-ref: 1.3.0(react@18.3.1) - use-latest: 1.2.1(@types/react@18.3.3)(react@18.3.1) + use-latest: 1.2.1(@types/react@18.3.4)(react@18.3.1) transitivePeerDependencies: - '@types/react' react-transition-group@4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.4 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -7590,14 +6625,14 @@ snapshots: dependencies: loose-envify: 1.4.0 - reactflow@11.11.4(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + reactflow@11.11.4(@types/react@18.3.4)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@reactflow/background': 11.3.14(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@reactflow/controls': 11.2.14(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@reactflow/core': 11.11.4(patch_hash=tj4jyedi5a5rqdyerfsnn6pgdu)(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@reactflow/minimap': 11.7.14(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@reactflow/node-resizer': 2.2.14(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@reactflow/node-toolbar': 1.3.14(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@reactflow/background': 11.3.14(@types/react@18.3.4)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@reactflow/controls': 11.2.14(@types/react@18.3.4)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@reactflow/core': 11.11.4(patch_hash=tj4jyedi5a5rqdyerfsnn6pgdu)(@types/react@18.3.4)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@reactflow/minimap': 11.7.14(@types/react@18.3.4)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@reactflow/node-resizer': 2.2.14(@types/react@18.3.4)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@reactflow/node-toolbar': 1.3.14(@types/react@18.3.4)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) transitivePeerDependencies: @@ -7617,16 +6652,6 @@ snapshots: parse-json: 5.2.0 type-fest: 0.6.0 - readable-stream@2.3.8: - dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 1.0.0 - process-nextick-args: 2.0.1 - safe-buffer: 5.1.2 - string_decoder: 1.1.1 - util-deprecate: 1.0.2 - readdirp@3.6.0: dependencies: picomatch: 2.3.1 @@ -7641,17 +6666,10 @@ snapshots: regenerator-transform@0.15.2: dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.4 regexp-tree@0.1.27: {} - regexp.prototype.flags@1.5.2: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-errors: 1.3.0 - set-function-name: 2.0.2 - regexpu-core@5.3.2: dependencies: '@babel/regjsgen': 0.8.0 @@ -7669,19 +6687,13 @@ snapshots: dependencies: jsesc: 0.5.0 - remove@0.1.5: - dependencies: - seq: 0.3.5 - - require-directory@2.1.1: {} - resolve-alpn@1.2.1: {} resolve-from@4.0.0: {} resolve@1.22.8: dependencies: - is-core-module: 2.14.0 + is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -7695,39 +6707,50 @@ snapshots: dependencies: glob: 7.2.3 - rollup-plugin-dts@6.1.1(rollup@4.18.0)(typescript@5.5.2): + rollup@4.21.1: dependencies: - magic-string: 0.30.10 - rollup: 4.18.0 - typescript: 5.5.2 - optionalDependencies: - '@babel/code-frame': 7.24.7 - - rollup@2.79.1: + '@types/estree': 1.0.5 optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.21.1 + '@rollup/rollup-android-arm64': 4.21.1 + '@rollup/rollup-darwin-arm64': 4.21.1 + '@rollup/rollup-darwin-x64': 4.21.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.21.1 + '@rollup/rollup-linux-arm-musleabihf': 4.21.1 + '@rollup/rollup-linux-arm64-gnu': 4.21.1 + '@rollup/rollup-linux-arm64-musl': 4.21.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.21.1 + '@rollup/rollup-linux-riscv64-gnu': 4.21.1 + '@rollup/rollup-linux-s390x-gnu': 4.21.1 + '@rollup/rollup-linux-x64-gnu': 4.21.1 + '@rollup/rollup-linux-x64-musl': 4.21.1 + '@rollup/rollup-win32-arm64-msvc': 4.21.1 + '@rollup/rollup-win32-ia32-msvc': 4.21.1 + '@rollup/rollup-win32-x64-msvc': 4.21.1 fsevents: 2.3.3 - rollup@4.18.0: + rollup@4.21.2: dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.18.0 - '@rollup/rollup-android-arm64': 4.18.0 - '@rollup/rollup-darwin-arm64': 4.18.0 - '@rollup/rollup-darwin-x64': 4.18.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.18.0 - '@rollup/rollup-linux-arm-musleabihf': 4.18.0 - '@rollup/rollup-linux-arm64-gnu': 4.18.0 - '@rollup/rollup-linux-arm64-musl': 4.18.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.18.0 - '@rollup/rollup-linux-riscv64-gnu': 4.18.0 - '@rollup/rollup-linux-s390x-gnu': 4.18.0 - '@rollup/rollup-linux-x64-gnu': 4.18.0 - '@rollup/rollup-linux-x64-musl': 4.18.0 - '@rollup/rollup-win32-arm64-msvc': 4.18.0 - '@rollup/rollup-win32-ia32-msvc': 4.18.0 - '@rollup/rollup-win32-x64-msvc': 4.18.0 + '@rollup/rollup-android-arm-eabi': 4.21.2 + '@rollup/rollup-android-arm64': 4.21.2 + '@rollup/rollup-darwin-arm64': 4.21.2 + '@rollup/rollup-darwin-x64': 4.21.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.21.2 + '@rollup/rollup-linux-arm-musleabihf': 4.21.2 + '@rollup/rollup-linux-arm64-gnu': 4.21.2 + '@rollup/rollup-linux-arm64-musl': 4.21.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.21.2 + '@rollup/rollup-linux-riscv64-gnu': 4.21.2 + '@rollup/rollup-linux-s390x-gnu': 4.21.2 + '@rollup/rollup-linux-x64-gnu': 4.21.2 + '@rollup/rollup-linux-x64-musl': 4.21.2 + '@rollup/rollup-win32-arm64-msvc': 4.21.2 + '@rollup/rollup-win32-ia32-msvc': 4.21.2 + '@rollup/rollup-win32-x64-msvc': 4.21.2 fsevents: 2.3.3 + optional: true rss-parser@3.13.0: dependencies: @@ -7738,27 +6761,10 @@ snapshots: dependencies: queue-microtask: 1.2.3 - safe-array-concat@1.1.2: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - isarray: 2.0.5 - - safe-buffer@5.1.2: {} - - safe-buffer@5.2.1: {} - - safe-regex-test@1.0.3: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-regex: 1.1.4 - - sass@1.77.6: + sass@1.77.8: dependencies: chokidar: 3.6.0 - immutable: 4.3.6 + immutable: 4.3.7 source-map-js: 1.2.0 sax@1.4.1: {} @@ -7767,110 +6773,45 @@ snapshots: dependencies: loose-envify: 1.4.0 - selenium-webdriver@4.22.0(bufferutil@4.0.8)(utf-8-validate@6.0.4): - dependencies: - jszip: 3.10.1 - tmp: 0.2.3 - ws: 8.17.1(bufferutil@4.0.8)(utf-8-validate@6.0.4) - transitivePeerDependencies: - - bufferutil - - utf-8-validate - semver-compare@1.0.0: {} semver@5.7.2: {} semver@6.3.1: {} - semver@7.6.2: {} - - send@0.18.0: - dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color + semver@7.6.3: {} sentence-case@3.0.4: dependencies: no-case: 3.0.4 - tslib: 2.6.3 + tslib: 2.7.0 upper-case-first: 2.0.2 - seq@0.3.5: - dependencies: - chainsaw: 0.0.9 - hashish: 0.0.4 - - serialize-javascript@6.0.0: - dependencies: - randombytes: 2.1.0 - - serve-static@1.15.0: - dependencies: - encodeurl: 1.0.2 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.18.0 - transitivePeerDependencies: - - supports-color - - set-function-length@1.2.2: - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - - set-function-name@2.0.2: - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - functions-have-names: 1.2.3 - has-property-descriptors: 1.0.2 - - setimmediate@1.0.5: {} - - setprototypeof@1.2.0: {} - - sharp@0.33.4: + sharp@0.33.5: dependencies: color: 4.2.3 detect-libc: 2.0.3 - semver: 7.6.2 + semver: 7.6.3 optionalDependencies: - '@img/sharp-darwin-arm64': 0.33.4 - '@img/sharp-darwin-x64': 0.33.4 - '@img/sharp-libvips-darwin-arm64': 1.0.2 - '@img/sharp-libvips-darwin-x64': 1.0.2 - '@img/sharp-libvips-linux-arm': 1.0.2 - '@img/sharp-libvips-linux-arm64': 1.0.2 - '@img/sharp-libvips-linux-s390x': 1.0.2 - '@img/sharp-libvips-linux-x64': 1.0.2 - '@img/sharp-libvips-linuxmusl-arm64': 1.0.2 - '@img/sharp-libvips-linuxmusl-x64': 1.0.2 - '@img/sharp-linux-arm': 0.33.4 - '@img/sharp-linux-arm64': 0.33.4 - '@img/sharp-linux-s390x': 0.33.4 - '@img/sharp-linux-x64': 0.33.4 - '@img/sharp-linuxmusl-arm64': 0.33.4 - '@img/sharp-linuxmusl-x64': 0.33.4 - '@img/sharp-wasm32': 0.33.4 - '@img/sharp-win32-ia32': 0.33.4 - '@img/sharp-win32-x64': 0.33.4 + '@img/sharp-darwin-arm64': 0.33.5 + '@img/sharp-darwin-x64': 0.33.5 + '@img/sharp-libvips-darwin-arm64': 1.0.4 + '@img/sharp-libvips-darwin-x64': 1.0.4 + '@img/sharp-libvips-linux-arm': 1.0.5 + '@img/sharp-libvips-linux-arm64': 1.0.4 + '@img/sharp-libvips-linux-s390x': 1.0.4 + '@img/sharp-libvips-linux-x64': 1.0.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + '@img/sharp-linux-arm': 0.33.5 + '@img/sharp-linux-arm64': 0.33.5 + '@img/sharp-linux-s390x': 0.33.5 + '@img/sharp-linux-x64': 0.33.5 + '@img/sharp-linuxmusl-arm64': 0.33.5 + '@img/sharp-linuxmusl-x64': 0.33.5 + '@img/sharp-wasm32': 0.33.5 + '@img/sharp-win32-ia32': 0.33.5 + '@img/sharp-win32-x64': 0.33.5 shebang-command@2.0.0: dependencies: @@ -7878,13 +6819,6 @@ snapshots: shebang-regex@3.0.0: {} - side-channel@1.0.6: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - object-inspect: 1.13.1 - simple-swizzle@0.2.2: dependencies: is-arrayish: 0.3.2 @@ -7903,16 +6837,16 @@ snapshots: spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.18 + spdx-license-ids: 3.0.20 spdx-exceptions@2.5.0: {} spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.18 + spdx-license-ids: 3.0.20 - spdx-license-ids@3.0.18: {} + spdx-license-ids@3.0.20: {} split-text-to-chunks@1.0.0: dependencies: @@ -7921,37 +6855,6 @@ snapshots: sprintf-js@1.0.3: {} - statuses@2.0.1: {} - - string-width@4.2.3: - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - - string.prototype.trim@1.2.9: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.0.0 - - string.prototype.trimend@1.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - - string.prototype.trimstart@1.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - - string_decoder@1.1.1: - dependencies: - safe-buffer: 5.1.2 - strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -7974,17 +6877,13 @@ snapshots: dependencies: has-flag: 4.0.0 - supports-color@8.1.1: - dependencies: - has-flag: 4.0.0 - supports-preserve-symlinks-flag@1.0.0: {} - surrealdb.js@1.0.0-beta.18(tslib@2.6.3)(typescript@5.5.2)(ws@8.17.1(bufferutil@4.0.8)(utf-8-validate@6.0.4)): + surrealdb@1.0.0-beta.20(tslib@2.7.0)(typescript@5.5.4)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)): dependencies: - isows: 1.0.4(ws@8.17.1(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - tslib: 2.6.3 - typescript: 5.5.2 + isows: 1.0.4(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + tslib: 2.7.0 + typescript: 5.5.4 uuidv7: 1.0.1 optionalDependencies: bufferutil: 4.0.8 @@ -7992,12 +6891,6 @@ snapshots: transitivePeerDependencies: - ws - surrealdb.wasm@1.0.0-beta.15(surrealdb.js@1.0.0-beta.18(tslib@2.6.3)(typescript@5.5.2)(ws@8.17.1(bufferutil@4.0.8)(utf-8-validate@6.0.4))): - dependencies: - surrealdb.js: 1.0.0-beta.18(tslib@2.6.3)(typescript@5.5.2)(ws@8.17.1(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - - surrealql.wasm@0.1.8: {} - svgo@3.3.2: dependencies: '@trysound/sax': 0.2.0 @@ -8017,40 +6910,28 @@ snapshots: sentence-case: 3.0.4 split-text-to-chunks: 1.0.0 - terser@5.31.1: + tar-mini@0.1.1: {} + + terser@5.31.6: dependencies: '@jridgewell/source-map': 0.3.6 - acorn: 8.12.0 + acorn: 8.12.1 commander: 2.20.3 source-map-support: 0.5.21 text-table@0.2.0: {} - tmp@0.2.3: {} - to-fast-properties@2.0.0: {} to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - toggle-selection@1.0.6: {} - - toidentifier@1.0.1: {} - - traverse@0.3.9: {} - - traverse@0.6.9: - dependencies: - gopd: 1.0.1 - typedarray.prototype.slice: 1.0.3 - which-typed-array: 1.1.15 - - ts-api-utils@1.3.0(typescript@5.5.2): + ts-api-utils@1.3.0(typescript@5.5.4): dependencies: - typescript: 5.5.2 + typescript: 5.5.4 - tslib@2.6.3: {} + tslib@2.7.0: {} type-check@0.4.0: dependencies: @@ -8062,61 +6943,13 @@ snapshots: type-fest@0.8.1: {} - type-fest@4.20.1: {} - - typed-array-buffer@1.0.2: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-typed-array: 1.1.13 - - typed-array-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - - typed-array-byte-offset@1.0.2: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - - typed-array-length@1.0.6: - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - possible-typed-array-names: 1.0.0 - - typedarray.prototype.slice@1.0.3: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - typed-array-buffer: 1.0.2 - typed-array-byte-offset: 1.0.2 + type-fest@4.25.0: {} - typescript@5.5.2: {} + typescript@5.5.4: {} uc.micro@1.0.6: {} - unbox-primitive@1.0.2: - dependencies: - call-bind: 1.0.7 - has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 - - undici-types@5.26.5: {} + undici-types@6.19.8: {} unicode-canonical-property-names-ecmascript@2.0.0: {} @@ -8129,26 +6962,26 @@ snapshots: unicode-property-aliases-ecmascript@2.1.0: {} - update-browserslist-db@1.0.16(browserslist@4.23.1): + update-browserslist-db@1.1.0(browserslist@4.23.3): dependencies: - browserslist: 4.23.1 + browserslist: 4.23.3 escalade: 3.1.2 picocolors: 1.0.1 upper-case-first@2.0.2: dependencies: - tslib: 2.6.3 + tslib: 2.7.0 uri-js@4.4.1: dependencies: punycode: 2.3.1 - use-callback-ref@1.3.2(@types/react@18.3.3)(react@18.3.1): + use-callback-ref@1.3.2(@types/react@18.3.4)(react@18.3.1): dependencies: react: 18.3.1 - tslib: 2.6.3 + tslib: 2.7.0 optionalDependencies: - '@types/react': 18.3.3 + '@types/react': 18.3.4 use-composed-ref@1.3.0(react@18.3.1): dependencies: @@ -8159,38 +6992,36 @@ snapshots: immer: 10.1.1 react: 18.3.1 - use-isomorphic-layout-effect@1.1.2(@types/react@18.3.3)(react@18.3.1): + use-isomorphic-layout-effect@1.1.2(@types/react@18.3.4)(react@18.3.1): dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 18.3.3 + '@types/react': 18.3.4 - use-latest@1.2.1(@types/react@18.3.3)(react@18.3.1): + use-latest@1.2.1(@types/react@18.3.4)(react@18.3.1): dependencies: react: 18.3.1 - use-isomorphic-layout-effect: 1.1.2(@types/react@18.3.3)(react@18.3.1) + use-isomorphic-layout-effect: 1.1.2(@types/react@18.3.4)(react@18.3.1) optionalDependencies: - '@types/react': 18.3.3 + '@types/react': 18.3.4 - use-sidecar@1.1.2(@types/react@18.3.3)(react@18.3.1): + use-sidecar@1.1.2(@types/react@18.3.4)(react@18.3.1): dependencies: detect-node-es: 1.1.0 react: 18.3.1 - tslib: 2.6.3 + tslib: 2.7.0 optionalDependencies: - '@types/react': 18.3.3 + '@types/react': 18.3.4 - use-sync-external-store@1.2.0(react@18.3.1): + use-sync-external-store@1.2.2(react@18.3.1): dependencies: react: 18.3.1 utf-8-validate@6.0.4: dependencies: - node-gyp-build: 4.8.1 + node-gyp-build: 4.8.2 optional: true - util-deprecate@1.0.2: {} - uuidv7@1.0.1: {} validate-npm-package-license@3.0.4: @@ -8200,64 +7031,53 @@ snapshots: visit-values@2.0.0: {} - vite-plugin-compression2@1.1.2(rollup@2.79.1): + vite-plugin-compression2@1.2.0(rollup@4.21.2): dependencies: - '@rollup/pluginutils': 5.1.0(rollup@2.79.1) + '@rollup/pluginutils': 5.1.0(rollup@4.21.2) + tar-mini: 0.1.1 transitivePeerDependencies: - rollup - vite-plugin-image-optimizer@1.1.8(vite@5.3.1(@types/node@20.14.7)(sass@1.77.6)(terser@5.31.1)): + vite-plugin-image-optimizer@1.1.8(vite@5.4.2(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)): dependencies: ansi-colors: 4.1.3 pathe: 1.1.2 - vite: 5.3.1(@types/node@20.14.7)(sass@1.77.6)(terser@5.31.1) + vite: 5.4.2(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6) - vite-plugin-markdown@2.2.0(vite@5.3.1(@types/node@20.14.7)(sass@1.77.6)(terser@5.31.1)): + vite-plugin-markdown@2.2.0(vite@5.4.2(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)): dependencies: domhandler: 4.3.1 front-matter: 4.0.2 htmlparser2: 6.1.0 markdown-it: 12.3.2 - vite: 5.3.1(@types/node@20.14.7)(sass@1.77.6)(terser@5.31.1) + vite: 5.4.2(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6) - vite@5.3.1(@types/node@20.14.7)(sass@1.77.6)(terser@5.31.1): + vite@5.4.2(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6): dependencies: esbuild: 0.21.5 - postcss: 8.4.38 - rollup: 4.18.0 + postcss: 8.4.41 + rollup: 4.21.1 optionalDependencies: - '@types/node': 20.14.7 + '@types/node': 20.16.1 fsevents: 2.3.3 - sass: 1.77.6 - terser: 5.31.1 + sass: 1.77.8 + terser: 5.31.6 - vue@3.4.29(typescript@5.5.2): + vscode-languageserver-types@3.17.5: {} + + vue@3.4.38(typescript@5.5.4): dependencies: - '@vue/compiler-dom': 3.4.29 - '@vue/compiler-sfc': 3.4.29 - '@vue/runtime-dom': 3.4.29 - '@vue/server-renderer': 3.4.29(vue@3.4.29(typescript@5.5.2)) - '@vue/shared': 3.4.29 + '@vue/compiler-dom': 3.4.38 + '@vue/compiler-sfc': 3.4.38 + '@vue/runtime-dom': 3.4.38 + '@vue/server-renderer': 3.4.38(vue@3.4.38(typescript@5.5.4)) + '@vue/shared': 3.4.38 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.4 w3c-keyname@2.2.8: {} - which-boxed-primitive@1.0.2: - dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 - - which-typed-array@1.1.15: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.2 + web-vitals@4.2.3: {} which@2.0.2: dependencies: @@ -8265,17 +7085,9 @@ snapshots: word-wrap@1.2.5: {} - workerpool@6.2.1: {} - - wrap-ansi@7.0.0: - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrappy@1.0.2: {} - ws@8.17.1(bufferutil@4.0.8)(utf-8-validate@6.0.4): + ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4): optionalDependencies: bufferutil: 4.0.8 utf-8-validate: 6.0.4 @@ -8287,35 +7099,14 @@ snapshots: xmlbuilder@11.0.1: {} - y18n@5.0.8: {} - yallist@3.1.1: {} - yargs-parser@20.2.4: {} - - yargs-unparser@2.0.0: - dependencies: - camelcase: 6.3.0 - decamelize: 4.0.0 - flat: 5.0.2 - is-plain-obj: 2.1.0 - - yargs@16.2.0: - dependencies: - cliui: 7.0.4 - escalade: 3.1.2 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 20.2.4 - yocto-queue@0.1.0: {} - zustand@4.5.2(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1): + zustand@4.5.5(@types/react@18.3.4)(immer@10.1.1)(react@18.3.1): dependencies: - use-sync-external-store: 1.2.0(react@18.3.1) + use-sync-external-store: 1.2.2(react@18.3.1) optionalDependencies: - '@types/react': 18.3.3 + '@types/react': 18.3.4 immer: 10.1.1 react: 18.3.1 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml deleted file mode 100644 index b2f187ca..00000000 --- a/pnpm-workspace.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: - - packages/* \ No newline at end of file diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 55f480a8..fed80c39 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -708,6 +708,34 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" +[[package]] +name = "cookie" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7efb37c3e1ccb1ff97164ad95ac1606e8ccd35b3fa0a7d99a304c7f4a428cc24" +dependencies = [ + "percent-encoding", + "time", + "version_check", +] + +[[package]] +name = "cookie_store" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "387461abbc748185c3a6e1673d826918b450b87ff22639429c694619a83b6cf6" +dependencies = [ + "cookie", + "idna 0.3.0", + "log", + "publicsuffix", + "serde", + "serde_derive", + "serde_json", + "time", + "url", +] + [[package]] name = "core-foundation" version = "0.9.4" @@ -869,6 +897,12 @@ dependencies = [ "syn 2.0.50", ] +[[package]] +name = "data-url" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a" + [[package]] name = "deranged" version = "0.3.11" @@ -1704,6 +1738,25 @@ dependencies = [ "syn 2.0.50", ] +[[package]] +name = "h2" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http", + "indexmap 2.2.3", + "slab", + "tokio", + "tokio-util", + "tracing", +] + [[package]] name = "hashbrown" version = "0.12.3" @@ -1812,6 +1865,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", + "h2", "http", "http-body", "httparse", @@ -1898,6 +1952,16 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" +[[package]] +name = "idna" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + [[package]] name = "idna" version = "0.5.0" @@ -2963,6 +3027,12 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "psl-types" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac" + [[package]] name = "ptr_meta" version = "0.1.4" @@ -2983,6 +3053,16 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "publicsuffix" +version = "2.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96a8c1bda5ae1af7f99a2962e49df150414a43d62404644d98dd5c3a93d07457" +dependencies = [ + "idna 0.3.0", + "psl-types", +] + [[package]] name = "quick-xml" version = "0.31.0" @@ -3190,8 +3270,12 @@ checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10" dependencies = [ "base64 0.22.1", "bytes", + "cookie", + "cookie_store", + "encoding_rs", "futures-core", "futures-util", + "h2", "http", "http-body", "http-body-util", @@ -3212,6 +3296,7 @@ dependencies = [ "serde_json", "serde_urlencoded", "sync_wrapper", + "system-configuration", "tokio", "tokio-rustls", "tokio-util", @@ -3857,6 +3942,7 @@ dependencies = [ "tauri-plugin-deep-link", "tauri-plugin-dialog", "tauri-plugin-fs", + "tauri-plugin-http", "tauri-plugin-localhost", "tauri-plugin-log", "tauri-plugin-os", @@ -3928,6 +4014,27 @@ dependencies = [ "libc", ] +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "system-deps" version = "6.2.0" @@ -4200,6 +4307,27 @@ dependencies = [ "uuid", ] +[[package]] +name = "tauri-plugin-http" +version = "2.0.0-beta.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af38ffb1a5c15cc4ddbb6e19e1420648c093b6a9ea3ddf4a88b1c6d388be8230" +dependencies = [ + "data-url", + "http", + "regex", + "reqwest", + "schemars", + "serde", + "serde_json", + "tauri", + "tauri-plugin", + "tauri-plugin-fs", + "thiserror", + "url", + "urlpattern", +] + [[package]] name = "tauri-plugin-localhost" version = "2.0.0-beta.7" @@ -4882,7 +5010,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" dependencies = [ "form_urlencoded", - "idna", + "idna 0.5.0", "percent-encoding", "serde", ] diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 3e3ab7ee..a1add854 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -13,6 +13,7 @@ tauri = { version = "2.0.0-beta.23", features = [ "devtools"] } tauri-plugin-fs = "2.0.0-beta.10" tauri-plugin-os = "2.0.0-beta.7" tauri-plugin-log = "2.0.0-beta.7" +tauri-plugin-http = "2.0.0-beta.11" tauri-plugin-shell = "2.0.0-beta.8" tauri-plugin-dialog = "2.0.0-beta.10" tauri-plugin-process = "2.0.0-beta.7" diff --git a/src-tauri/capabilities/surrealist.json b/src-tauri/capabilities/surrealist.json index 18cc712a..f0d87331 100644 --- a/src-tauri/capabilities/surrealist.json +++ b/src-tauri/capabilities/surrealist.json @@ -16,6 +16,7 @@ "log:default", "deep-link:default", "updater:default", + "http:default", "os:allow-os-type", "fs:allow-read-file", "fs:allow-write-file", @@ -44,6 +45,13 @@ "webview:allow-internal-toggle-devtools", "updater:allow-check", "updater:allow-download-and-install", - "process:allow-restart" + "process:allow-restart", + { + "identifier": "http:allow-fetch", + "allow": [ + "https://surrealdb.us.auth0.com/*", + "https://api.staging.surrealdb.cloud/api/*" + ] + } ] -} \ No newline at end of file +} diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index af82ad3f..4f3e5cae 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -48,6 +48,7 @@ fn main() { let tauri = tauri::Builder::default() .plugin(tauri_plugin_fs::init()) .plugin(tauri_plugin_os::init()) + .plugin(tauri_plugin_http::init()) .plugin(tauri_plugin_shell::init()) .plugin(tauri_plugin_dialog::init()) .plugin(tauri_plugin_process::init()) diff --git a/src/adapter/base.tsx b/src/adapter/base.tsx index c7a367f6..43af43d0 100644 --- a/src/adapter/base.tsx +++ b/src/adapter/base.tsx @@ -1,4 +1,4 @@ -import { Platform } from "~/types"; +import { Platform, UrlTarget } from "~/types"; export interface OpenedTextFile { name: string; @@ -12,6 +12,11 @@ export interface OpenedBinaryFile { export interface SurrealistAdapter { + /** + * Identifier for this adapter + */ + id: string; + /** * Returns whether local database serving is supported */ @@ -101,8 +106,9 @@ export interface SurrealistAdapter { * Open the given URL in the default browser * * @param url The URL to open + * @param target The target to open the URL in */ - openUrl(url: string): Promise; + openUrl(url: string, target?: UrlTarget): Promise; /** * Save a file locally @@ -147,4 +153,12 @@ export interface SurrealistAdapter { */ trace(label: string, message: string): void; + /** + * Perform a native HTTP request + * + * @param url The URL to fetch + * @param options The fetch options + */ + fetch(url: string, options?: RequestInit): Promise; + } diff --git a/src/adapter/browser.tsx b/src/adapter/browser.tsx index 2966d657..dfca2f64 100644 --- a/src/adapter/browser.tsx +++ b/src/adapter/browser.tsx @@ -1,4 +1,4 @@ -import { Platform } from "~/types"; +import { Platform, UrlTarget } from "~/types"; import { OpenedBinaryFile, OpenedTextFile, SurrealistAdapter } from "./base"; /** @@ -6,6 +6,8 @@ import { OpenedBinaryFile, OpenedTextFile, SurrealistAdapter } from "./base"; */ export class BrowserAdapter implements SurrealistAdapter { + public id = "browser"; + public isServeSupported = false; public isUpdateCheckSupported = false; public hasTitlebar = true; @@ -70,8 +72,8 @@ export class BrowserAdapter implements SurrealistAdapter { throw new Error("Not supported"); } - public async openUrl(url: string) { - window.open(url, '_blank'); + public async openUrl(url: string, target?: UrlTarget) { + window.open(url, target === 'internal' ? '_self' : '_blank'); } public async saveFile( @@ -172,4 +174,8 @@ export class BrowserAdapter implements SurrealistAdapter { console.debug(label + ": " + message); } + public fetch(url: string, options?: RequestInit | undefined): Promise { + return fetch(url, options); + } + } diff --git a/src/adapter/desktop.tsx b/src/adapter/desktop.tsx index c6db5e70..1af8b6df 100644 --- a/src/adapter/desktop.tsx +++ b/src/adapter/desktop.tsx @@ -1,3 +1,4 @@ +import { fetch } from "@tauri-apps/plugin-http"; import { invoke } from "@tauri-apps/api/core"; import { basename } from "@tauri-apps/api/path"; import { listen } from "@tauri-apps/api/event"; @@ -8,7 +9,7 @@ import { save, open } from "@tauri-apps/plugin-dialog"; import { attachConsole, info, trace, warn } from "@tauri-apps/plugin-log"; import { readFile, readTextFile, writeFile, writeTextFile } from "@tauri-apps/plugin-fs"; import { OpenedBinaryFile, OpenedTextFile, SurrealistAdapter } from "./base"; -import { showError, showInfo, updateTitle } from "~/util/helpers"; +import { showError, showInfo } from "~/util/helpers"; import { useDatabaseStore } from "~/stores/database"; import { useConfigStore } from "~/stores/config"; import { watchStore } from "~/util/config"; @@ -45,6 +46,8 @@ interface LinkResource { */ export class DesktopAdapter implements SurrealistAdapter { + public id = "desktop"; + public isServeSupported = true; public isUpdateCheckSupported = true; public hasTitlebar = false; @@ -101,7 +104,6 @@ export class DesktopAdapter implements SurrealistAdapter { select: (s) => s.settings.behavior.windowPinned, then: (pinned) => { getCurrent().setAlwaysOnTop(pinned); - updateTitle(); }, }); } @@ -276,6 +278,10 @@ export class DesktopAdapter implements SurrealistAdapter { trace(label + ": " + message); } + public fetch(url: string, options?: RequestInit | undefined): Promise { + return fetch(url, options); + } + public async checkForUpdates(force?: boolean) { const { lastPromptedVersion, setLastPromptedVersion } = useConfigStore.getState(); const { setAvailableUpdate } = useInterfaceStore.getState(); diff --git a/src/adapter/mini.tsx b/src/adapter/mini.tsx index 83b7c4df..3930b729 100644 --- a/src/adapter/mini.tsx +++ b/src/adapter/mini.tsx @@ -3,8 +3,9 @@ import { BrowserAdapter } from "./browser"; import { Orientation, SurrealistConfig } from "~/types"; import { createBaseSettings, createBaseTab, createSandboxConnection } from "~/util/defaults"; import { showError } from "~/util/helpers"; -import { executeQuery } from "~/screens/database/connection"; -import { Value } from "surrealql.wasm/v1"; +import { executeQuery } from "~/screens/database/connection/connection"; +import { Value } from "@surrealdb/ql-wasm"; +import { MantineColorScheme } from "@mantine/core"; const THEMES = new Set(['light', 'dark', 'auto']); @@ -89,11 +90,15 @@ export class MiniAdapter extends BrowserAdapter { } // Interface theme - if (theme && !THEMES.has(theme)) { - showError({ - title: 'Startup error', - subtitle: 'Theme not recognised' - }); + if (theme) { + if (THEMES.has(theme)) { + settings.appearance.colorScheme = theme as MantineColorScheme; + } else { + showError({ + title: 'Startup error', + subtitle: 'Theme not recognised' + }); + } } // Orientation diff --git a/src/assets/data/license-report.json b/src/assets/data/license-report.json index 6559b234..3b6ddbaa 100644 --- a/src/assets/data/license-report.json +++ b/src/assets/data/license-report.json @@ -1 +1 @@ -[{"name":"@codemirror/autocomplete","licenseType":"MIT","link":"git+https://github.com/codemirror/autocomplete.git","installedVersion":"6.13.0","author":"Marijn Haverbeke marijn@haverbeke.berlin http://marijnhaverbeke.nl"},{"name":"@codemirror/commands","licenseType":"MIT","link":"git+https://github.com/codemirror/commands.git","installedVersion":"6.3.3","author":"Marijn Haverbeke marijn@haverbeke.berlin http://marijnhaverbeke.nl"},{"name":"@codemirror/lang-json","licenseType":"MIT","link":"git+https://github.com/codemirror/lang-json.git","installedVersion":"6.0.1","author":"Marijn Haverbeke marijnh@gmail.com http://marijnhaverbeke.nl"},{"name":"@codemirror/lang-sql","licenseType":"MIT","link":"git+https://github.com/codemirror/lang-sql.git","installedVersion":"6.6.0","author":"Marijn Haverbeke marijn@haverbeke.berlin http://marijnhaverbeke.nl"},{"name":"@codemirror/language","licenseType":"MIT","link":"git+https://github.com/codemirror/language.git","installedVersion":"6.10.1","author":"Marijn Haverbeke marijn@haverbeke.berlin http://marijnhaverbeke.nl"},{"name":"@codemirror/lint","licenseType":"MIT","link":"git+https://github.com/codemirror/lint.git","installedVersion":"6.5.0","author":"Marijn Haverbeke marijn@haverbeke.berlin http://marijnhaverbeke.nl"},{"name":"@codemirror/search","licenseType":"MIT","link":"git+https://github.com/codemirror/search.git","installedVersion":"6.5.6","author":"Marijn Haverbeke marijn@haverbeke.berlin http://marijnhaverbeke.nl"},{"name":"@codemirror/state","licenseType":"MIT","link":"git+https://github.com/codemirror/state.git","installedVersion":"6.4.1","author":"Marijn Haverbeke marijn@haverbeke.berlin http://marijnhaverbeke.nl"},{"name":"@codemirror/view","licenseType":"MIT","link":"git+https://github.com/codemirror/view.git","installedVersion":"6.24.1","author":"Marijn Haverbeke marijn@haverbeke.berlin http://marijnhaverbeke.nl"},{"name":"@dnd-kit/core","licenseType":"MIT","link":"git+https://github.com/clauderic/dnd-kit.git","installedVersion":"6.0.8","author":"Claudéric Demers"},{"name":"@dnd-kit/modifiers","licenseType":"MIT","link":"git+https://github.com/clauderic/dnd-kit.git","installedVersion":"6.0.1","author":"Claudéric Demers"},{"name":"@dnd-kit/sortable","licenseType":"MIT","link":"git+https://github.com/clauderic/dnd-kit.git","installedVersion":"7.0.2","author":"Claudéric Demers"},{"name":"@dnd-kit/utilities","licenseType":"MIT","link":"git+https://github.com/clauderic/dnd-kit.git","installedVersion":"3.2.1","author":"Claudéric Demers"},{"name":"@lezer/highlight","licenseType":"MIT","link":"git+https://github.com/lezer-parser/highlight.git","installedVersion":"1.2.0","author":"Marijn Haverbeke "},{"name":"@mantine/core","licenseType":"MIT","link":"https://github.com/mantinedev/mantine.git","installedVersion":"7.6.1","author":"Vitaly Rtishchev "},{"name":"@mantine/hooks","licenseType":"MIT","link":"https://github.com/mantinedev/mantine.git","installedVersion":"7.6.1","author":"Vitaly Rtishchev "},{"name":"@mantine/notifications","licenseType":"MIT","link":"https://github.com/mantinedev/mantine.git","installedVersion":"7.6.1","author":"Vitaly Rtishchev "},{"name":"@mdi/js","licenseType":"Apache-2.0","link":"git+https://github.com/Templarian/MaterialDesign-JS.git","installedVersion":"7.2.96","author":"Austin Andrews"},{"name":"@monaco-editor/react","licenseType":"MIT","link":"git+https://github.com/suren-atoyan/monaco-react.git","installedVersion":"4.5.1","author":"Suren Atoyan "},{"name":"@replit/codemirror-indentation-markers","licenseType":"MIT","link":"git+https://github.com/replit/codemirror-indentation-markers.git","installedVersion":"6.5.0","author":"Sergei Chestakov me@sergei.com"},{"name":"@tauri-apps/api","licenseType":"Apache-2.0 OR MIT","link":"git+https://github.com/tauri-apps/tauri.git","installedVersion":"1.5.3","author":"n/a"},{"name":"@theopensource-company/feature-flags","licenseType":"Apache Licence 2.0","link":"git+https://github.com/theopensource-company/feature-flags.git","installedVersion":"0.4.5","author":"n/a"},{"name":"@types/react-copy-to-clipboard","licenseType":"MIT","link":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","installedVersion":"5.0.7","author":"n/a"},{"name":"ansi-to-html","licenseType":"MIT","link":"git+https://github.com/rburns/ansi-to-html.git","installedVersion":"0.7.2","author":"Rob Burns rburns@paiges.net http://rburns.paiges.net/"},{"name":"clsx","licenseType":"MIT","link":"git+https://github.com/lukeed/clsx.git","installedVersion":"2.1.0","author":"Luke Edwards luke.edwards05@gmail.com https://lukeed.com"},{"name":"dagre","licenseType":"MIT","link":"git+https://github.com/dagrejs/dagre.git","installedVersion":"0.8.5","author":"Chris Pettitt "},{"name":"dayjs","licenseType":"MIT","link":"git+https://github.com/iamkun/dayjs.git","installedVersion":"1.11.9","author":"iamkun"},{"name":"elkjs","licenseType":"EPL-2.0","link":"git+https://github.com/kieler/elkjs.git","installedVersion":"0.9.1","author":"Ulf Rüegg uruurumail@gmail.com"},{"name":"fast-deep-equal","licenseType":"MIT","link":"git+https://github.com/epoberezkin/fast-deep-equal.git","installedVersion":"3.1.3","author":"Evgeny Poberezkin"},{"name":"html-to-image","licenseType":"MIT","link":"git+https://github.com/bubkoo/html-to-image.git","installedVersion":"1.11.11","author":"bubkooo bubkoo.wy@gmail.com"},{"name":"immer","licenseType":"MIT","link":"git+https://github.com/immerjs/immer.git","installedVersion":"10.0.2","author":"Michel Weststrate "},{"name":"klona","licenseType":"MIT","link":"git+https://github.com/lukeed/klona.git","installedVersion":"2.0.6","author":"Luke Edwards luke.edwards05@gmail.com https://lukeed.com"},{"name":"mantine-contextmenu","licenseType":"MIT","link":"git+https://github.com/icflorescu/mantine-contextmenu.git","installedVersion":"7.5.0","author":"Ionut-Cristian Florescu ionut.florescu@gmail.com https://github.com/icflorescu"},{"name":"monaco-editor","licenseType":"MIT","link":"git+https://github.com/microsoft/monaco-editor.git","installedVersion":"0.41.0","author":"Microsoft Corporation"},{"name":"monaco-editor-textmate","licenseType":"MIT","link":"git+https://github.com/NeekSandhu/monaco-editor-textmate.git","installedVersion":"4.0.0","author":"Neek Sandhu "},{"name":"monaco-textmate","licenseType":"MIT","link":"git+https://github.com/NeekSandhu/monaco-textmate.git","installedVersion":"3.0.1","author":"n/a"},{"name":"onigasm","licenseType":"MIT","link":"git+https://github.com/NeekSandhu/onigasm.git","installedVersion":"2.2.5","author":"Neek Sandhu "},{"name":"radash","licenseType":"MIT","link":"git+https://github.com/rayepps/radash.git","installedVersion":"11.0.0","author":"rayepps"},{"name":"react","licenseType":"MIT","link":"git+https://github.com/facebook/react.git","installedVersion":"18.2.0","author":"n/a"},{"name":"react-copy-to-clipboard","licenseType":"MIT","link":"git+https://github.com/nkbt/react-copy-to-clipboard.git","installedVersion":"5.1.0","author":"Nik Butenko "},{"name":"react-dom","licenseType":"MIT","link":"git+https://github.com/facebook/react.git","installedVersion":"18.2.0","author":"n/a"},{"name":"react-error-boundary","licenseType":"MIT","link":"git+https://github.com/bvaughn/react-error-boundary.git","installedVersion":"4.0.12","author":"Brian Vaughn "},{"name":"react-resizable-panels","licenseType":"MIT","link":"git+https://github.com/bvaughn/react-resizable-panels.git","installedVersion":"2.0.5","author":"Brian Vaughn "},{"name":"react-reverse-portal","licenseType":"Apache-2.0","link":"git+https://github.com/httptoolkit/react-reverse-portal.git","installedVersion":"2.1.1","author":"Tim Perry "},{"name":"reactflow","licenseType":"MIT","link":"git+https://github.com/xyflow/xyflow.git","installedVersion":"11.10.4","author":"n/a"},{"name":"remove","licenseType":"MIT","link":"git://github.com/dsc/node-remove.git","installedVersion":"0.1.5","author":"David Schoonover (http://less.ly)"},{"name":"semver","licenseType":"ISC","link":"git+https://github.com/npm/node-semver.git","installedVersion":"7.5.4","author":"GitHub Inc."},{"name":"semver-compare","licenseType":"MIT","link":"git://github.com/substack/semver-compare.git","installedVersion":"1.0.0","author":"James Halliday mail@substack.net http://substack.net"},{"name":"use-immer","licenseType":"MIT","link":"git+https://github.com/mweststrate/use-immer.git","installedVersion":"0.9.0","author":"Michel Weststrate"},{"name":"zustand","licenseType":"MIT","link":"git+https://github.com/pmndrs/zustand.git","installedVersion":"4.5.0","author":"Paul Henschel"},{"name":"@tauri-apps/cli","licenseType":"Apache-2.0 OR MIT","link":"git+https://github.com/tauri-apps/tauri.git","installedVersion":"1.5.10","author":"n/a"},{"name":"@types/node","licenseType":"MIT","link":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","installedVersion":"20.5.8","author":"n/a"},{"name":"@types/react","licenseType":"MIT","link":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","installedVersion":"18.2.21","author":"n/a"},{"name":"@types/react-dom","licenseType":"MIT","link":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","installedVersion":"18.2.7","author":"n/a"},{"name":"@types/semver","licenseType":"MIT","link":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","installedVersion":"7.5.0","author":"n/a"},{"name":"@types/semver-compare","licenseType":"MIT","link":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","installedVersion":"1.0.1","author":"n/a"},{"name":"@typescript-eslint/eslint-plugin","licenseType":"MIT","link":"git+https://github.com/typescript-eslint/typescript-eslint.git","installedVersion":"6.5.0","author":"n/a"},{"name":"@typescript-eslint/parser","licenseType":"BSD-2-Clause","link":"git+https://github.com/typescript-eslint/typescript-eslint.git","installedVersion":"6.5.0","author":"n/a"},{"name":"@vitejs/plugin-react","licenseType":"MIT","link":"git+https://github.com/vitejs/vite-plugin-react.git","installedVersion":"4.0.4","author":"Evan You"},{"name":"eslint","licenseType":"MIT","link":"git+https://github.com/eslint/eslint.git","installedVersion":"8.48.0","author":"Nicholas C. Zakas "},{"name":"eslint-plugin-unicorn","licenseType":"MIT","link":"git+https://github.com/sindresorhus/eslint-plugin-unicorn.git","installedVersion":"48.0.1","author":"Sindre Sorhus sindresorhus@gmail.com https://sindresorhus.com"},{"name":"eslint-plugin-unused-imports","licenseType":"MIT","link":"git+https://github.com/sweepline/eslint-plugin-unused-imports.git","installedVersion":"3.0.0","author":"Mikkel Holmer Pedersen"},{"name":"license-report","licenseType":"MIT","link":"git+https://github.com/ironSource/license-report.git","installedVersion":"6.5.0","author":"Yaniv Kessler"},{"name":"sass","licenseType":"MIT","link":"git+https://github.com/sass/dart-sass.git","installedVersion":"1.66.1","author":"Natalie Weizenbaum nweiz@google.com https://github.com/nex3"},{"name":"typescript","licenseType":"Apache-2.0","link":"git+https://github.com/Microsoft/TypeScript.git","installedVersion":"5.2.2","author":"Microsoft Corp."},{"name":"vite","licenseType":"MIT","link":"git+https://github.com/vitejs/vite.git","installedVersion":"4.4.9","author":"Evan You"}] +[{"name":"@codemirror/autocomplete","licenseType":"MIT","link":"git+https://github.com/codemirror/autocomplete.git","installedVersion":"6.16.3","author":"Marijn Haverbeke marijn@haverbeke.berlin http://marijnhaverbeke.nl"},{"name":"@codemirror/commands","licenseType":"MIT","link":"git+https://github.com/codemirror/commands.git","installedVersion":"6.6.0","author":"Marijn Haverbeke marijn@haverbeke.berlin http://marijnhaverbeke.nl"},{"name":"@codemirror/lang-html","licenseType":"MIT","link":"git+https://github.com/codemirror/lang-html.git","installedVersion":"6.4.9","author":"Marijn Haverbeke marijn@haverbeke.berlin http://marijnhaverbeke.nl"},{"name":"@codemirror/lang-javascript","licenseType":"MIT","link":"git+https://github.com/codemirror/lang-javascript.git","installedVersion":"6.2.2","author":"Marijn Haverbeke marijn@haverbeke.berlin http://marijnhaverbeke.nl"},{"name":"@codemirror/lang-json","licenseType":"MIT","link":"git+https://github.com/codemirror/lang-json.git","installedVersion":"6.0.1","author":"Marijn Haverbeke marijnh@gmail.com http://marijnhaverbeke.nl"},{"name":"@codemirror/lang-php","licenseType":"MIT","link":"git+https://github.com/codemirror/lang-php.git","installedVersion":"6.0.1","author":"Marijn Haverbeke marijnh@gmail.com http://marijnhaverbeke.nl"},{"name":"@codemirror/lang-python","licenseType":"MIT","link":"git+https://github.com/codemirror/lang-python.git","installedVersion":"6.1.6","author":"Marijn Haverbeke marijn@haverbeke.berlin http://marijnhaverbeke.nl"},{"name":"@codemirror/lang-rust","licenseType":"MIT","link":"git+https://github.com/codemirror/lang-rust.git","installedVersion":"6.0.1","author":"Marijn Haverbeke marijnh@gmail.com http://marijnhaverbeke.nl"},{"name":"@codemirror/language","licenseType":"MIT","link":"git+https://github.com/codemirror/language.git","installedVersion":"6.10.2","author":"Marijn Haverbeke marijn@haverbeke.berlin http://marijnhaverbeke.nl"},{"name":"@codemirror/legacy-modes","licenseType":"MIT","link":"git+https://github.com/codemirror/legacy-modes.git","installedVersion":"6.4.0","author":"Marijn Haverbeke marijn@haverbeke.berlin http://marijnhaverbeke.nl"},{"name":"@codemirror/lint","licenseType":"MIT","link":"git+https://github.com/codemirror/lint.git","installedVersion":"6.8.1","author":"Marijn Haverbeke marijn@haverbeke.berlin http://marijnhaverbeke.nl"},{"name":"@codemirror/search","licenseType":"MIT","link":"git+https://github.com/codemirror/search.git","installedVersion":"6.5.6","author":"Marijn Haverbeke marijn@haverbeke.berlin http://marijnhaverbeke.nl"},{"name":"@codemirror/state","licenseType":"MIT","link":"git+https://github.com/codemirror/state.git","installedVersion":"6.4.1","author":"Marijn Haverbeke marijn@haverbeke.berlin http://marijnhaverbeke.nl"},{"name":"@codemirror/view","licenseType":"MIT","link":"git+https://github.com/codemirror/view.git","installedVersion":"6.28.1","author":"Marijn Haverbeke marijn@haverbeke.berlin http://marijnhaverbeke.nl"},{"name":"@dnd-kit/core","licenseType":"MIT","link":"git+https://github.com/clauderic/dnd-kit.git","installedVersion":"6.1.0","author":"Claudéric Demers"},{"name":"@dnd-kit/modifiers","licenseType":"MIT","link":"git+https://github.com/clauderic/dnd-kit.git","installedVersion":"7.0.0","author":"Claudéric Demers"},{"name":"@dnd-kit/sortable","licenseType":"MIT","link":"git+https://github.com/clauderic/dnd-kit.git","installedVersion":"8.0.0","author":"Claudéric Demers"},{"name":"@dnd-kit/utilities","licenseType":"MIT","link":"git+https://github.com/clauderic/dnd-kit.git","installedVersion":"3.2.2","author":"Claudéric Demers"},{"name":"@lezer/highlight","licenseType":"MIT","link":"git+https://github.com/lezer-parser/highlight.git","installedVersion":"1.2.0","author":"Marijn Haverbeke "},{"name":"@mantine/core","licenseType":"MIT","link":"https://github.com/mantinedev/mantine.git","installedVersion":"7.11.0","author":"Vitaly Rtishchev "},{"name":"@mantine/hooks","licenseType":"MIT","link":"https://github.com/mantinedev/mantine.git","installedVersion":"7.11.0","author":"Vitaly Rtishchev "},{"name":"@mantine/notifications","licenseType":"MIT","link":"https://github.com/mantinedev/mantine.git","installedVersion":"7.11.0","author":"Vitaly Rtishchev "},{"name":"@mdi/js","licenseType":"Apache-2.0","link":"git+https://github.com/Templarian/MaterialDesign-JS.git","installedVersion":"7.4.47","author":"Austin Andrews"},{"name":"@replit/codemirror-indentation-markers","licenseType":"MIT","link":"git+https://github.com/replit/codemirror-indentation-markers.git","installedVersion":"6.5.2","author":"Sergei Chestakov me@sergei.com"},{"name":"@tanstack/react-query","licenseType":"MIT","link":"git+https://github.com/TanStack/query.git","installedVersion":"5.45.1","author":"tannerlinsley"},{"name":"@tauri-apps/api","licenseType":"Apache-2.0 OR MIT","link":"git+https://github.com/tauri-apps/tauri.git","installedVersion":"2.0.0-beta.11","author":"n/a"},{"name":"@tauri-apps/plugin-deep-link","licenseType":"MIT or APACHE-2.0","link":"https://registry.npmjs.org/@tauri-apps/plugin-deep-link/-/plugin-deep-link-2.0.0-beta.4.tgz","installedVersion":"2.0.0-beta.4","author":"n/a"},{"name":"@tauri-apps/plugin-dialog","licenseType":"MIT or APACHE-2.0","link":"https://registry.npmjs.org/@tauri-apps/plugin-dialog/-/plugin-dialog-2.0.0-beta.3.tgz","installedVersion":"2.0.0-beta.3","author":"n/a"},{"name":"@tauri-apps/plugin-fs","licenseType":"MIT or APACHE-2.0","link":"https://registry.npmjs.org/@tauri-apps/plugin-fs/-/plugin-fs-2.0.0-beta.3.tgz","installedVersion":"2.0.0-beta.3","author":"n/a"},{"name":"@tauri-apps/plugin-http","licenseType":"MIT or APACHE-2.0","link":"https://registry.npmjs.org/@tauri-apps/plugin-http/-/plugin-http-2.0.0-beta.6.tgz","installedVersion":"2.0.0-beta.6","author":"n/a"},{"name":"@tauri-apps/plugin-log","licenseType":"MIT or APACHE-2.0","link":"https://registry.npmjs.org/@tauri-apps/plugin-log/-/plugin-log-2.0.0-beta.4.tgz","installedVersion":"2.0.0-beta.4","author":"n/a"},{"name":"@tauri-apps/plugin-os","licenseType":"MIT or APACHE-2.0","link":"https://registry.npmjs.org/@tauri-apps/plugin-os/-/plugin-os-2.0.0-beta.3.tgz","installedVersion":"2.0.0-beta.3","author":"n/a"},{"name":"@tauri-apps/plugin-process","licenseType":"MIT or APACHE-2.0","link":"https://registry.npmjs.org/@tauri-apps/plugin-process/-/plugin-process-2.0.0-beta.5.tgz","installedVersion":"2.0.0-beta.5","author":"n/a"},{"name":"@tauri-apps/plugin-shell","licenseType":"MIT or APACHE-2.0","link":"https://registry.npmjs.org/@tauri-apps/plugin-shell/-/plugin-shell-2.0.0-beta.3.tgz","installedVersion":"2.0.0-beta.3","author":"n/a"},{"name":"@tauri-apps/plugin-updater","licenseType":"MIT or APACHE-2.0","link":"https://registry.npmjs.org/@tauri-apps/plugin-updater/-/plugin-updater-2.0.0-beta.5.tgz","installedVersion":"2.0.0-beta.5","author":"n/a"},{"name":"@theopensource-company/feature-flags","licenseType":"Apache Licence 2.0","link":"git+https://github.com/theopensource-company/feature-flags.git","installedVersion":"0.4.6","author":"n/a"},{"name":"ansi-to-html","licenseType":"MIT","link":"git+https://github.com/rburns/ansi-to-html.git","installedVersion":"0.7.2","author":"Rob Burns rburns@paiges.net http://rburns.paiges.net/"},{"name":"clsx","licenseType":"MIT","link":"git+https://github.com/lukeed/clsx.git","installedVersion":"2.1.1","author":"Luke Edwards luke.edwards05@gmail.com https://lukeed.com"},{"name":"codemirror","licenseType":"MIT","link":"git+https://github.com/codemirror/CodeMirror.git","installedVersion":"6.0.1","author":"Marijn Haverbeke marijnh@gmail.com http://marijnhaverbeke.nl"},{"name":"codemirror-surrealql","licenseType":"n/a","link":"n/a","installedVersion":"0.0.1","author":"SurrealDB"},{"name":"dayjs","licenseType":"MIT","link":"git+https://github.com/iamkun/dayjs.git","installedVersion":"1.11.11","author":"iamkun"},{"name":"dedent","licenseType":"MIT","link":"git+https://github.com/dmnd/dedent.git","installedVersion":"1.5.3","author":"Desmond Brand dmnd@desmondbrand.com http://desmondbrand.com"},{"name":"elkjs","licenseType":"EPL-2.0","link":"git+https://github.com/kieler/elkjs.git","installedVersion":"0.9.3","author":"Ulf Rüegg uruurumail@gmail.com"},{"name":"escape-string-regexp","licenseType":"MIT","link":"git+https://github.com/sindresorhus/escape-string-regexp.git","installedVersion":"5.0.0","author":"Sindre Sorhus sindresorhus@gmail.com https://sindresorhus.com"},{"name":"fast-deep-equal","licenseType":"MIT","link":"git+https://github.com/epoberezkin/fast-deep-equal.git","installedVersion":"3.1.3","author":"Evgeny Poberezkin"},{"name":"geo-coordinates-parser","licenseType":"MIT","link":"git+https://github.com/ianengelbrecht/geo-coordinates-parser.git","installedVersion":"1.7.0","author":"Ian Engelbrecht"},{"name":"html-to-image","licenseType":"MIT","link":"git+https://github.com/bubkoo/html-to-image.git","installedVersion":"1.11.11","author":"bubkooo bubkoo.wy@gmail.com"},{"name":"immer","licenseType":"MIT","link":"git+https://github.com/immerjs/immer.git","installedVersion":"10.1.1","author":"Michel Weststrate "},{"name":"klona","licenseType":"MIT","link":"git+https://github.com/lukeed/klona.git","installedVersion":"2.0.6","author":"Luke Edwards luke.edwards05@gmail.com https://lukeed.com"},{"name":"leaflet","licenseType":"BSD-2-Clause","link":"git://github.com/Leaflet/Leaflet.git","installedVersion":"1.9.4","author":"n/a"},{"name":"lezer-surrealql","licenseType":"n/a","link":"n/a","installedVersion":"0.0.1","author":"SurrealDB"},{"name":"lottie-web","licenseType":"MIT","link":"git+https://github.com/airbnb/lottie-web.git","installedVersion":"5.12.2","author":"n/a"},{"name":"mantine-contextmenu","licenseType":"MIT","link":"git+https://github.com/icflorescu/mantine-contextmenu.git","installedVersion":"7.10.2","author":"Ionut-Cristian Florescu ionut.florescu@gmail.com https://github.com/icflorescu"},{"name":"papaparse","licenseType":"MIT","link":"git+https://github.com/mholt/PapaParse.git","installedVersion":"5.4.1","author":"Matthew Holt https://twitter.com/mholt6"},{"name":"posthog-js","licenseType":"MIT","link":"git+https://github.com/PostHog/posthog-js.git","installedVersion":"1.139.8","author":"hey@posthog.com"},{"name":"radash","licenseType":"MIT","link":"git+https://github.com/rayepps/radash.git","installedVersion":"11.0.0","author":"rayepps"},{"name":"react","licenseType":"MIT","link":"git+https://github.com/facebook/react.git","installedVersion":"18.3.1","author":"n/a"},{"name":"react-dom","licenseType":"MIT","link":"git+https://github.com/facebook/react.git","installedVersion":"18.3.1","author":"n/a"},{"name":"react-error-boundary","licenseType":"MIT","link":"git+https://github.com/bvaughn/react-error-boundary.git","installedVersion":"4.0.13","author":"Brian Vaughn "},{"name":"react-leaflet","licenseType":"Hippocratic-2.1","link":"git+https://github.com/PaulLeCam/react-leaflet.git","installedVersion":"4.2.1","author":"Paul Le Cam "},{"name":"react-resizable-panels","licenseType":"MIT","link":"git+https://github.com/bvaughn/react-resizable-panels.git","installedVersion":"2.0.19","author":"Brian Vaughn "},{"name":"react-reverse-portal","licenseType":"Apache-2.0","link":"git+https://github.com/httptoolkit/react-reverse-portal.git","installedVersion":"2.1.2","author":"Tim Perry "},{"name":"reactflow","licenseType":"MIT","link":"git+https://github.com/xyflow/xyflow.git","installedVersion":"11.11.4","author":"n/a"},{"name":"rss-parser","licenseType":"MIT","link":"git+https://github.com/bobby-brennan/rss-parser.git","installedVersion":"3.13.0","author":"Bobby Brennan"},{"name":"semver-compare","licenseType":"MIT","link":"git://github.com/substack/semver-compare.git","installedVersion":"1.0.0","author":"James Halliday mail@substack.net http://substack.net"},{"name":"surrealdb.js","licenseType":"Apache 2.0","link":"git+https://github.com/surrealdb/surrealdb.js.git","installedVersion":"1.0.0-beta.9","author":"Tobie Morgan Hitchcock https://surrealdb.com"},{"name":"surrealdb.wasm","licenseType":"n/a","link":"git+https://github.com/surrealdb/surrealdb.wasm.git","installedVersion":"1.0.0-beta.12","author":"Tobie Morgan Hitchcock https://surrealdb.com"},{"name":"surrealql.wasm","licenseType":"n/a","link":"git+https://github.com/surrealdb/surrealql.wasm.git","installedVersion":"0.1.8","author":"Tobie Morgan Hitchcock https://surrealdb.com"},{"name":"use-immer","licenseType":"MIT","link":"git+https://github.com/mweststrate/use-immer.git","installedVersion":"0.9.0","author":"Michel Weststrate"},{"name":"zustand","licenseType":"MIT","link":"git+https://github.com/pmndrs/zustand.git","installedVersion":"4.5.2","author":"Paul Henschel"},{"name":"@tanstack/eslint-plugin-query","licenseType":"MIT","link":"git+https://github.com/TanStack/query.git","installedVersion":"5.43.1","author":"Eliya Cohen"},{"name":"@tauri-apps/cli","licenseType":"Apache-2.0 OR MIT","link":"git+https://github.com/tauri-apps/tauri.git","installedVersion":"2.0.0-beta.20","author":"n/a"},{"name":"@types/leaflet","licenseType":"MIT","link":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","installedVersion":"1.9.12","author":"n/a"},{"name":"@types/node","licenseType":"MIT","link":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","installedVersion":"20.14.7","author":"n/a"},{"name":"@types/papaparse","licenseType":"MIT","link":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","installedVersion":"5.3.14","author":"n/a"},{"name":"@types/react","licenseType":"MIT","link":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","installedVersion":"18.3.3","author":"n/a"},{"name":"@types/react-dom","licenseType":"MIT","link":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","installedVersion":"18.3.0","author":"n/a"},{"name":"@types/semver","licenseType":"MIT","link":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","installedVersion":"7.5.8","author":"n/a"},{"name":"@types/semver-compare","licenseType":"MIT","link":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","installedVersion":"1.0.3","author":"n/a"},{"name":"@typescript-eslint/eslint-plugin","licenseType":"MIT","link":"git+https://github.com/typescript-eslint/typescript-eslint.git","installedVersion":"6.21.0","author":"n/a"},{"name":"@typescript-eslint/parser","licenseType":"BSD-2-Clause","link":"git+https://github.com/typescript-eslint/typescript-eslint.git","installedVersion":"6.21.0","author":"n/a"},{"name":"@vitejs/plugin-legacy","licenseType":"MIT","link":"git+https://github.com/vitejs/vite.git","installedVersion":"5.4.1","author":"Evan You"},{"name":"@vitejs/plugin-react","licenseType":"MIT","link":"git+https://github.com/vitejs/vite-plugin-react.git","installedVersion":"4.3.1","author":"Evan You"},{"name":"eslint","licenseType":"MIT","link":"git+https://github.com/eslint/eslint.git","installedVersion":"8.57.0","author":"Nicholas C. Zakas "},{"name":"eslint-plugin-react-hooks","licenseType":"MIT","link":"git+https://github.com/facebook/react.git","installedVersion":"4.6.2","author":"n/a"},{"name":"eslint-plugin-unicorn","licenseType":"MIT","link":"git+https://github.com/sindresorhus/eslint-plugin-unicorn.git","installedVersion":"48.0.1","author":"Sindre Sorhus sindresorhus@gmail.com https://sindresorhus.com"},{"name":"eslint-plugin-unused-imports","licenseType":"MIT","link":"git+https://github.com/sweepline/eslint-plugin-unused-imports.git","installedVersion":"3.2.0","author":"Mikkel Holmer Pedersen"},{"name":"license-report","licenseType":"MIT","link":"git+https://github.com/ironSource/license-report.git","installedVersion":"6.5.0","author":"Yaniv Kessler"},{"name":"sass","licenseType":"MIT","link":"git+https://github.com/sass/dart-sass.git","installedVersion":"1.77.6","author":"Natalie Weizenbaum nweiz@google.com https://github.com/nex3"},{"name":"sharp","licenseType":"Apache-2.0","link":"git://github.com/lovell/sharp.git","installedVersion":"0.33.4","author":"Lovell Fuller "},{"name":"svgo","licenseType":"MIT","link":"git://github.com/svg/svgo.git","installedVersion":"3.3.2","author":"Kir Belevich kir@belevi.ch https://github.com/deepsweet"},{"name":"typescript","licenseType":"Apache-2.0","link":"git+https://github.com/Microsoft/TypeScript.git","installedVersion":"5.5.2","author":"Microsoft Corp."},{"name":"vite","licenseType":"MIT","link":"git+https://github.com/vitejs/vite.git","installedVersion":"5.3.1","author":"Evan You"},{"name":"vite-plugin-markdown","licenseType":"MIT","link":"git+https://github.com/hmsk/vite-plugin-markdown.git","installedVersion":"2.2.0","author":"Kengo Hamasaki "}] diff --git a/src/assets/images/cloud-icon.svg b/src/assets/images/cloud-icon.svg new file mode 100644 index 00000000..e46c4cc9 --- /dev/null +++ b/src/assets/images/cloud-icon.svg @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/cloud-splash.webp b/src/assets/images/cloud-splash.webp new file mode 100644 index 00000000..88ec99fe Binary files /dev/null and b/src/assets/images/cloud-splash.webp differ diff --git a/src/assets/images/dark/cloud-logo.svg b/src/assets/images/dark/cloud-logo.svg new file mode 100644 index 00000000..1b5988cf --- /dev/null +++ b/src/assets/images/dark/cloud-logo.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/assets/images/dark/logo.webp b/src/assets/images/dark/logo.webp new file mode 100644 index 00000000..3a071608 Binary files /dev/null and b/src/assets/images/dark/logo.webp differ diff --git a/src/assets/images/dark/start-cloud.webp b/src/assets/images/dark/start-cloud.webp new file mode 100644 index 00000000..c39e033d Binary files /dev/null and b/src/assets/images/dark/start-cloud.webp differ diff --git a/src/assets/images/start/connection.webp b/src/assets/images/dark/start-connection.webp similarity index 100% rename from src/assets/images/start/connection.webp rename to src/assets/images/dark/start-connection.webp diff --git a/src/assets/images/start/sandbox.webp b/src/assets/images/dark/start-sandbox.webp similarity index 100% rename from src/assets/images/start/sandbox.webp rename to src/assets/images/dark/start-sandbox.webp diff --git a/src/assets/images/logo.webp b/src/assets/images/icon.webp similarity index 100% rename from src/assets/images/logo.webp rename to src/assets/images/icon.webp diff --git a/src/assets/images/light/cloud-logo.svg b/src/assets/images/light/cloud-logo.svg new file mode 100644 index 00000000..ffce4eca --- /dev/null +++ b/src/assets/images/light/cloud-logo.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/assets/images/light/logo.webp b/src/assets/images/light/logo.webp new file mode 100644 index 00000000..ad640591 Binary files /dev/null and b/src/assets/images/light/logo.webp differ diff --git a/src/assets/images/light/start-cloud.webp b/src/assets/images/light/start-cloud.webp new file mode 100644 index 00000000..34a0f9c6 Binary files /dev/null and b/src/assets/images/light/start-cloud.webp differ diff --git a/src/assets/images/light/start-connection.webp b/src/assets/images/light/start-connection.webp new file mode 100644 index 00000000..ca33522f Binary files /dev/null and b/src/assets/images/light/start-connection.webp differ diff --git a/src/assets/images/light/start-sandbox.webp b/src/assets/images/light/start-sandbox.webp new file mode 100644 index 00000000..f881ca54 Binary files /dev/null and b/src/assets/images/light/start-sandbox.webp differ diff --git a/src/assets/images/primary-sphere.webp b/src/assets/images/primary-sphere.webp deleted file mode 100644 index bc6d2e33..00000000 Binary files a/src/assets/images/primary-sphere.webp and /dev/null differ diff --git a/src/assets/images/secondary-sphere.webp b/src/assets/images/secondary-sphere.webp deleted file mode 100644 index d96b70a8..00000000 Binary files a/src/assets/images/secondary-sphere.webp and /dev/null differ diff --git a/src/assets/images/start-glow.webp b/src/assets/images/start-glow.webp new file mode 100644 index 00000000..c33d1b92 Binary files /dev/null and b/src/assets/images/start-glow.webp differ diff --git a/src/assets/images/start/cloud.webp b/src/assets/images/start/cloud.webp deleted file mode 100644 index d7715ce0..00000000 Binary files a/src/assets/images/start/cloud.webp and /dev/null differ diff --git a/src/assets/styles/embed-new.scss b/src/assets/styles/embed-new.scss deleted file mode 100644 index afe15556..00000000 --- a/src/assets/styles/embed-new.scss +++ /dev/null @@ -1,86 +0,0 @@ -html, body { - padding: 0px; - margin: 0px; - font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; - background-color: #f4f4f4; -} - -main { - padding: 2.5%; -} - -.logo { - display: flex; - align-items: center; - gap: 30px; - padding-bottom: 2vh; -} - -.columns { - display: flex; - width: 95%; - gap: 5%; - - > * { - flex: 1; - display: flex; - flex-direction: column; - gap: 20px; - } -} - -.title-button { - display: flex; - justify-content: space-between; - align-items: center; - - button { - padding: 7px 10px; - font-size: 15px; - margin: 0px; - - transition: background 2s ease; - - &.green { - background-color: #4BB543; - transition: background 0s ease; - } - } -} - -.section { - display: flex; - flex-direction: column; - gap: 10px; -} - -#output { - background-color: #fff; - border: 1px solid black; - padding: 11px; - border-radius: 5px; - font-family: monospace; - margin: 0px; - overflow-x: auto; -} - -input, textarea, select { - padding: 10px; - border-radius: 5px; -} - -button { - background-color: black; - color: white; - border: none; - margin-top: 20px; - padding: 15px; - font-size: 17px; - border-radius: 5px; - cursor: pointer; -} - -iframe { - border-radius: 5px; - box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px; -} \ No newline at end of file diff --git a/src/assets/styles/global.scss b/src/assets/styles/global.scss index ad3d0295..bbf0ba73 100644 --- a/src/assets/styles/global.scss +++ b/src/assets/styles/global.scss @@ -1,6 +1,8 @@ html, body, #root { height: 100%; overscroll-behavior: none; + padding: 0; + margin: 0; } body { @@ -19,154 +21,4 @@ textarea, *[contenteditable] { user-select: text; -webkit-user-select: text; -} - -/* --- Overrides --- */ - -.__dbk__container { - overflow: visible; -} - -body.mod .cm-record-link { - text-decoration: underline; - text-decoration-color: #0084ff; - cursor: pointer; -} - -.mantine-ActionIcon-root:hover { - --ai-hover-color: white; -} - -.mantine-contextmenu-item-button > div:not(.mantine-contextmenu-item-button-title) { - font-size: 0.65rem !important; -} - -.mantine-contextmenu { - padding: var(--mantine-spacing-xs); -} - -.mantine-contextmenu-item-button { - border-radius: var(--mantine-radius-xs); -} - -.mantine-contextmenu-divider { - margin-block: var(--mantine-spacing-xs); -} - -.mantine-contextmenu, .mantine-Popover-dropdown, .mantine-Menu-dropdown, .mantine-HoverCard-dropdown { - background-color: color-mix(in srgb, var(--mantine-color-body) 75%, transparent); - backdrop-filter: blur(5px); - -webkit-backdrop-filter: blur(5px); -} - -.mantine-Tabs-list { - background-color: var(--mantine-color-slate-9); - border-radius: var(--mantine-radius-md); -} - -.mantine-Tabs-tab { - &:hover { - background-color: unset; - color: var(--mantine-color-bright); - } - - &[data-active] { - background: var(--surrealist-gradient); - background-origin: border-box; - } -} - -// .mantine-Tabs-tab[data-active] { -// border-color: unset; -// border-image-slice: 1; -// border-image-source: var(--surrealist-gradient); -// } - -.mantine-Checkbox-root { - - .mantine-Checkbox-input { - background-color: var(--mantine-color-body); - } - - &[data-checked] .mantine-Checkbox-input { - background: var(--surrealist-gradient); - background-origin: border-box; - border-color: rgba(255, 255, 255, 0.3); - } -} - -.mantine-Radio-root { - - &[data-checked] .mantine-Radio-radio { - background: var(--surrealist-gradient); - background-origin: border-box; - border-color: rgba(255, 255, 255, 0.3); - } - -} - -.mantine-Input-input { - transition: all .2s; - background-color: var(--mantine-color-body); - - &:not(:focus-within):not([data-variant="unstyled"]) { - border-color: var(--mantine-color-slate-6); - - @include light { - border-color: var(--mantine-color-slate-1); - } - } - - &:hover, &:focus-within { - background-color: var(--mantine-color-slate-7); - - @include light { - background-color: var(--mantine-color-slate-0); - } - } -} - -.mantine-Select-option:hover { - background-color: rgba(255, 255, 255, 0.075); - - @include light { - background-color: rgba(0, 0, 0, 0.075); - } -} - -.mantine-Slider-bar { - background: var(--surrealist-gradient); -} - -.mantine-Slider-mark { - background-color: rgba(255, 255, 255, 0.3); - border-color: transparent; -} - -.mantine-InputWrapper-required { - color: var(--mantine-color-surreal-6); - color: var(--mantine-color-surreal-6); -} - -.mantine-InputWrapper-description { - font-size: var(--mantine-font-size-xs); -} - -/* --- Variables --- */ - -:root { - --surrealist-divider-size: 6px; - --surrealist-gradient: linear-gradient(110deg, var(--mantine-color-surreal-filled) 0%, #9600FF 100%); -} - -:root[data-mantine-color-scheme="light"] { - --surrealist-divider-color: var(--mantine-color-slate-0); - --surrealist-glow: 0 3px 15px rgba(186, 0, 171, 0.5); - --mantine-color-body: var(--mantine-color-white); -} - -:root[data-mantine-color-scheme="dark"] { - --surrealist-divider-color: var(--mantine-color-slate-9); - --surrealist-glow: 0 5px 20px -4px rgba(186, 0, 171, 1), 0 3px 15px rgba(186, 0, 171, 0.5); - --mantine-color-body: var(--mantine-color-slate-8); } \ No newline at end of file diff --git a/src/assets/styles/override.scss b/src/assets/styles/override.scss new file mode 100644 index 00000000..0bd305dc --- /dev/null +++ b/src/assets/styles/override.scss @@ -0,0 +1,186 @@ +:root { + --surrealist-divider-size: 6px; + --surrealist-gradient: linear-gradient(110deg, var(--mantine-color-surreal-filled) 0%, #9600FF 100%); +} + +:root[data-mantine-color-scheme="light"] { + --surrealist-divider-color: var(--mantine-color-slate-0); + --surrealist-glow: 0 3px 15px rgba(186, 0, 171, 0.5); + --surrealist-indent-color: var(--mantine-color-slate-1); + --surrealist-indent-active-color: var(--mantine-color-slate-2); + --mantine-color-body: var(--mantine-color-white); +} + +:root[data-mantine-color-scheme="dark"] { + --surrealist-divider-color: var(--mantine-color-slate-9); + --surrealist-glow: 0 5px 20px -4px rgba(186, 0, 171, 1), 0 3px 15px rgba(186, 0, 171, 0.5); + --surrealist-indent-color: var(--mantine-color-slate-7); + --surrealist-indent-active-color: var(--mantine-color-slate-6); + --mantine-color-body: var(--mantine-color-slate-8); +} + +.__dbk__container { + overflow: visible; +} + +body.mod .cm-record-link:hover { + text-decoration: underline; + text-decoration-color: #00d1ff; + cursor: pointer; + + @include light { + text-decoration-color: #0095ff; + } +} + +.mantine-contextmenu-item-button > div:not(.mantine-contextmenu-item-button-title) { + font-size: 0.65rem !important; +} + +.mantine-contextmenu { + padding: var(--mantine-spacing-xs); +} + +.mantine-contextmenu-item-button { + border-radius: var(--mantine-radius-xs); +} + +.mantine-contextmenu-divider { + margin-block: var(--mantine-spacing-xs); +} + +.mantine-contextmenu, .mantine-Popover-dropdown, .mantine-Menu-dropdown, .mantine-HoverCard-dropdown { + background-color: color-mix(in srgb, var(--mantine-color-body) 87.5%, transparent); + backdrop-filter: blur(5px); + -webkit-backdrop-filter: blur(5px); +} + +.mantine-Button-root:where(:disabled:not([data-loading]), [data-disabled]:not([data-loading])) { + background-color: transparent; +} + +.mantine-Menu-itemSection { + color: var(--mantine-color-slate-2); + + @include light { + color: var(--mantine-color-slate-5); + } +} + +.mantine-Menu-item { + border-radius: var(--mantine-radius-xs); + transition: all 0.05s; + + &:hover { + background-color: var(--mantine-color-slate-6); + color: var(--mantine-color-bright); + + .mantine-Menu-itemSection { + color: var(--mantine-color-bright); + } + + @include light { + background-color: var(--mantine-color-slate-1); + } + } +} + +.mantine-Tabs-tab { + + &:hover { + background-color: var(--mantine-color-slate-7); + color: var(--mantine-color-bright); + + @include light { + background-color: var(--mantine-color-slate-0); + } + } + + &[data-active] { + background: var(--surrealist-gradient); + background-origin: border-box; + color: var(--mantine-color-white); + } +} + +.mantine-Checkbox-root { + + .mantine-Checkbox-input { + background-color: var(--mantine-color-body); + } + + &[data-checked] .mantine-Checkbox-input { + background: var(--surrealist-gradient); + background-origin: border-box; + border-color: rgba(255, 255, 255, 0.3); + } +} + +.mantine-Radio-root { + + &[data-checked] .mantine-Radio-radio { + background: var(--surrealist-gradient); + background-origin: border-box; + border-color: rgba(255, 255, 255, 0.3); + } + +} + +.mantine-Input-input { + transition: all .2s; + background-color: var(--mantine-color-body); + + &:not(:focus-within):not([data-variant="unstyled"]) { + border-color: var(--mantine-color-slate-6); + + @include light { + border-color: var(--mantine-color-slate-1); + } + } + + &:hover, &:focus-within { + background-color: var(--mantine-color-slate-7); + + @include light { + background-color: var(--mantine-color-slate-0); + } + } +} + +.mantine-Select-option:hover { + background-color: rgba(255, 255, 255, 0.075); + + @include light { + background-color: rgba(0, 0, 0, 0.075); + } +} + +.mantine-Slider-bar { + background: var(--surrealist-gradient); +} + +.mantine-Slider-mark { + background-color: rgba(255, 255, 255, 0.3); + border-color: transparent; +} + +.mantine-InputWrapper-required { + color: var(--mantine-color-surreal-6); + color: var(--mantine-color-surreal-6); +} + +.mantine-InputWrapper-description { + font-size: var(--mantine-font-size-xs); +} + +.mantine-Alert-wrapper { + align-items: center; +} + +.mantine-Divider-root { + --divider-color: var(--mantine-color-slate-7); + + @include light { + --divider-color: var(--mantine-color-slate-1); + } +} \ No newline at end of file diff --git a/src/components/ActionBar/account.tsx b/src/components/ActionBar/account.tsx new file mode 100644 index 00000000..408beb0b --- /dev/null +++ b/src/components/ActionBar/account.tsx @@ -0,0 +1,174 @@ +import { Avatar, Box, Button, Group, Loader, Menu, Modal, Stack, TextInput, Tooltip, UnstyledButton } from "@mantine/core"; +import { Icon } from "../Icon"; +import { invalidateSession } from "~/screens/cloud-manage/api/auth"; +import { useCloudStore } from "~/stores/cloud"; +import { Text } from "@mantine/core"; +import { useStable } from "~/hooks/stable"; +import { useConfigStore } from "~/stores/config"; +import { PrimaryTitle } from "../PrimaryTitle"; +import { Form } from "../Form"; +import { useBoolean } from "~/hooks/boolean"; +import { useInputState } from "@mantine/hooks"; +import { fetchAPI } from "~/screens/cloud-manage/api"; +import { showError } from "~/util/helpers"; +import { CloudProfile } from "~/types"; +import { useState } from "react"; +import { iconAccount, iconExitToAp } from "~/util/icons"; + +interface AccountFormProps { + onClose(): void; +} + +function AccountForm({ + onClose +}: AccountFormProps) { + const { setAccountProfile } = useCloudStore.getState(); + + const profile = useCloudStore((s) => s.profile); + const [isLoading, setLoading] = useState(false); + + const [name, setName] = useInputState(profile.name || ""); + + const saveSettings = useStable(async () => { + try { + setLoading(true); + + const profile = await fetchAPI("/user/profile", { + method: "PATCH", + body: JSON.stringify({ + name, + }) + }); + + setAccountProfile(profile); + onClose(); + } catch(err: any) { + showError({ + title: "Failed to save account", + subtitle: err.message + }); + } finally { + setLoading(false); + } + }); + + return ( +
+ + + + + + + +
+ ); +} + +export function CloudAccount() { + const { setActiveView } = useConfigStore.getState(); + const [showSettings, settingsModal] = useBoolean(); + + const profile = useCloudStore((s) => s.profile); + const state = useCloudStore((s) => s.authState); + + const openCloud = useStable(() => { + setActiveView("cloud"); + }); + + if (state === "unauthenticated") { + return ( + + ( + + )} + /> + + ); + } + + const name = profile.name || "Unknown"; + + return ( + <> + + + + {state === "loading" && } + + + + + + {name} + + + {profile.username} + + + + } + onClick={settingsModal.open} + > + Account + + } + onClick={invalidateSession} + > + Sign out + + + + + Account settings} + > + + + + ); +} diff --git a/src/components/ActionBar/index.tsx b/src/components/ActionBar/index.tsx new file mode 100644 index 00000000..19e775c5 --- /dev/null +++ b/src/components/ActionBar/index.tsx @@ -0,0 +1,28 @@ +import { NewsFeed } from "./newsfeed"; +import { HelpAndSupport } from "./support"; +import { useFeatureFlags } from "~/util/feature-flags"; +import { adapter } from "~/adapter"; +import { DatabaseServing } from "./serving"; +import { CloudAccount } from "./account"; + +export function ActionBar() { + const [flags] = useFeatureFlags(); + + return ( + <> + {adapter.isServeSupported && ( + + )} + + {flags.newsfeed && ( + + )} + + + + {flags.cloud_view && flags.cloud_access && ( + + )} + + ); +} \ No newline at end of file diff --git a/src/screens/database/components/NewsFeed/index.tsx b/src/components/ActionBar/newsfeed.tsx similarity index 99% rename from src/screens/database/components/NewsFeed/index.tsx rename to src/components/ActionBar/newsfeed.tsx index 9115b31b..d15172b9 100644 --- a/src/screens/database/components/NewsFeed/index.tsx +++ b/src/components/ActionBar/newsfeed.tsx @@ -116,8 +116,10 @@ export function NewsFeed() { diff --git a/src/screens/database/components/LocalDatabase/index.tsx b/src/components/ActionBar/serving.tsx similarity index 84% rename from src/screens/database/components/LocalDatabase/index.tsx rename to src/components/ActionBar/serving.tsx index e21895bc..a97614da 100644 --- a/src/screens/database/components/LocalDatabase/index.tsx +++ b/src/components/ActionBar/serving.tsx @@ -3,23 +3,19 @@ import { ActionIcon, Tooltip } from "@mantine/core"; import { useEffect, useState } from "react"; import { adapter } from "~/adapter"; import { useStable } from "~/hooks/stable"; -import { Icon } from "../../../../components/Icon"; import { useDatabaseStore } from "~/stores/database"; import { iconConsole, iconPlay, iconStop } from "~/util/icons"; import { useSetting } from "~/hooks/config"; -import { useIntent } from "~/hooks/url"; -import { openConnection } from "~/screens/database/connection"; +import { dispatchIntent, useIntent } from "~/hooks/url"; +import { openConnection } from "~/screens/database/connection/connection"; import { getActiveConnection } from "~/util/connection"; +import { Icon } from "../Icon"; // TODO Check if localhost const CAT = "serving"; -export interface LocalDatabaseProps { - toggleConsole: () => void; -} - -export function LocalDatabase({ toggleConsole }: LocalDatabaseProps) { +export function DatabaseServing() { const [hasStarted, setHasStarted] = useState(false); const cancelServe = useDatabaseStore((s) => s.cancelServe); @@ -57,8 +53,12 @@ export function LocalDatabase({ toggleConsole }: LocalDatabaseProps) { setHasStarted(true); }); + const openConsole = useStable(() => { + dispatchIntent("open-serving-console"); + }); + useEffect(() => { - const { connection: { hostname } } = getActiveConnection(); + const { authentication: { hostname } } = getActiveConnection(); const isLocal = hostname.startsWith("localhost") || hostname.startsWith("127.0.0.1"); if (isServing && isLocal) { @@ -67,7 +67,6 @@ export function LocalDatabase({ toggleConsole }: LocalDatabaseProps) { }, [isServing]); useIntent("toggle-serving", handleToggle); - useIntent("open-serving-console", toggleConsole); return ( <> @@ -79,6 +78,7 @@ export function LocalDatabase({ toggleConsole }: LocalDatabaseProps) { loading={isPending} color={isServing ? "pink.7" : undefined} aria-label={isServing ? "Stop serving local database" : "Start serving local database"} + variant="subtle" > @@ -89,8 +89,9 @@ export function LocalDatabase({ toggleConsole }: LocalDatabaseProps) { diff --git a/src/screens/database/components/NewsFeed/style.module.scss b/src/components/ActionBar/style.module.scss similarity index 61% rename from src/screens/database/components/NewsFeed/style.module.scss rename to src/components/ActionBar/style.module.scss index 0551044f..409fe518 100644 --- a/src/screens/database/components/NewsFeed/style.module.scss +++ b/src/components/ActionBar/style.module.scss @@ -1,3 +1,28 @@ +.help-tile, .help-row { + border-radius: var(--mantine-radius-lg); + background-origin: border-box !important; + border: 1px solid transparent; + + &:hover { + background-image: var(--surrealist-gradient) !important; + box-shadow: var(--surrealist-glow); + border-color: rgba(255, 255, 255, 0.3); + + * { + color: white !important; + } + } +} + +.help-tile { + text-align: center; + aspect-ratio: 1; +} + +.help-row { + height: 96px; +} + .drawer-content { transition-property: all !important; overflow: hidden; @@ -21,6 +46,10 @@ pre { white-space: pre-wrap; background-color: var(--mantine-color-slate-9); + + @include light { + background-color: var(--mantine-color-slate-0); + } } code { @@ -30,7 +59,7 @@ } a { - color: white; + color: var(--mantine-color-surreal-5); } } diff --git a/src/components/ActionBar/support.tsx b/src/components/ActionBar/support.tsx new file mode 100644 index 00000000..cc9edb50 --- /dev/null +++ b/src/components/ActionBar/support.tsx @@ -0,0 +1,191 @@ +import classes from "./style.module.scss"; +import { Box, Group, Stack, Text, Title, Tooltip, UnstyledButton } from "@mantine/core"; +import { ActionIcon, Modal, SimpleGrid } from "@mantine/core"; +import { useDisclosure } from "@mantine/hooks"; +import { adapter } from "~/adapter"; +import { Icon } from "~/components/Icon"; +import { useIsAuthenticated } from "~/hooks/cloud"; +import { useIsLight } from "~/hooks/theme"; +import { dispatchIntent, useIntent } from "~/hooks/url"; +import { useConfigStore } from "~/stores/config"; +import { iconBook, iconBug, iconClose, iconCloud, iconCommand, iconDiscord, iconHelp } from "~/util/icons"; + +interface Topic { + title: string; + description: string; + icon: string; + onClick: () => void; +} + +// const SUPPORT_CHAT: Topic = { +// title: "Support Chat", +// description: "Talk to our Surreal Chatbot for help on queries, Surrealist, and more.", +// icon: mdiChatOutline, +// onClick: () => {} +// }; + +const DOCUMENTATION: Topic = { + title: "Documentation", + description: "Need help? Check out our documentation for help.", + icon: iconBook, + onClick: () => adapter.openUrl("https://surrealdb.com/docs/surrealist") +}; + +const ISSUE_REPORT: Topic = { + title: "Report an issue", + description: "Something isn't working right? Let us know and we'll fix it.", + icon: iconBug, + onClick: () => adapter.openUrl("https://github.com/surrealdb/surrealist/issues") +}; + +const SHORTCUTS: Topic = { + title: "Shortcut guide", + description: "Learn the keyboard shortcuts to navigate the app faster.", + icon: iconCommand, + onClick: () => dispatchIntent("open-keymap") +}; + +const DISCORD: Topic = { + title: "Discord", + description: "Connect with other users and get help from the community.", + icon: iconDiscord, + onClick: () => adapter.openUrl("https://discord.gg/dc4JNWrrMc") +}; + +const CLOUD: Topic = { + title: "Cloud Support", + description: "Visit the Cloud Support page for help with your cloud account.", + icon: iconCloud, + onClick: () => { + const { setActiveView, setActiveCloudPage } = useConfigStore.getState(); + + setActiveView("cloud"); + setActiveCloudPage("support"); + } +}; + +export function HelpAndSupport() { + const [isOpen, openHandle] = useDisclosure(); + const isAuthed = useIsAuthenticated(); + const isLight = useIsLight(); + + useIntent("open-help", openHandle.open); + + function renderRow(tile: Topic) { + return ( + { + tile.onClick(); + openHandle.close(); + }} + > + + + + + {tile.title} + + + {tile.description} + + + + + ); + } + + function renderTile(tile: Topic) { + return ( + { + tile.onClick(); + openHandle.close(); + }} + > + + + {tile.title} + + + {tile.description} + + + ); + } + + return ( + <> + + + + + + + + + How can we help you? + + + + + + + + + {renderTile(DOCUMENTATION)} + {renderTile(ISSUE_REPORT)} + {renderTile(SHORTCUTS)} + {renderTile(DISCORD)} + + + {isAuthed && renderRow(CLOUD)} + + + + ); +} diff --git a/src/components/App/globals.tsx b/src/components/App/globals.tsx new file mode 100644 index 00000000..deddce34 --- /dev/null +++ b/src/components/App/globals.tsx @@ -0,0 +1,18 @@ +import { ReactNode } from "react"; +import { useConfigRouting } from "./hooks/routing"; +import { useModKeyTracker } from "./hooks/input"; +import { useWindowSettings } from "./hooks/window"; +import { useCloudAuthentication } from "~/hooks/cloud"; +import { useConnectionSwitch } from "./hooks/connection"; +import { useTitleSync } from "./hooks/title"; + +export function Globals(): ReactNode { + useConfigRouting(); + useModKeyTracker(); + useWindowSettings(); + useConnectionSwitch(); + useCloudAuthentication(); + useTitleSync(); + + return; +} \ No newline at end of file diff --git a/src/components/App/hooks/connection.tsx b/src/components/App/hooks/connection.tsx new file mode 100644 index 00000000..cf65afe6 --- /dev/null +++ b/src/components/App/hooks/connection.tsx @@ -0,0 +1,37 @@ +import { useEffect } from "react"; +import { VIEW_MODES } from "~/constants"; +import { useConnection } from "~/hooks/connection"; +import { getOpenConnection, openConnection } from "~/screens/database/connection/connection"; +import { useConfigStore } from "~/stores/config"; +import { featureFlags } from "~/util/feature-flags"; + +/** + * Watch for connection changes and open the connection + */ +export function useConnectionSwitch() { + const connection = useConnection(); + const activeScreen = useConfigStore(s => s.activeScreen); + const activeView = useConfigStore(s => s.activeView); + + useEffect(() => { + const open = getOpenConnection(); + const info = VIEW_MODES[activeView]; + const dbScreen = activeScreen === "database"; + const dbView = activeView !== "cloud"; + const dbDiff = connection?.id !== open?.id; + + // Open connection if + // - a connection is selected + // - we are on the database screen + // - we are not on the cloud view + // - the connection is different from the currently open connection + if (connection?.id && dbScreen && dbView && dbDiff) { + openConnection(); + } + + // Switch to query view if the active view is disabled + if (info?.disabled?.(featureFlags.store)) { + useConfigStore.getState().setActiveView("query"); + } + }, [activeScreen, activeView, connection, connection?.id]); +} \ No newline at end of file diff --git a/src/components/App/hooks/input.tsx b/src/components/App/hooks/input.tsx new file mode 100644 index 00000000..dbb83cb4 --- /dev/null +++ b/src/components/App/hooks/input.tsx @@ -0,0 +1,31 @@ +import { useEffect } from "react"; +import { isModKey } from "~/util/helpers"; + +/** + * Track the state of the mod key + */ +export function useModKeyTracker() { + useEffect(() => { + const onKeyDown = (e: Event) => { + if (isModKey(e)) { + document.body.classList.add("mod"); + } + }; + + const onKeyUp = (e: Event) => { + if (isModKey(e)) { + document.body.classList.remove("mod"); + } + }; + + document.body.addEventListener("blur", onKeyDown); + document.body.addEventListener("keydown", onKeyDown); + document.body.addEventListener("keyup", onKeyUp); + + return () => { + document.body.removeEventListener("blur", onKeyDown); + document.body.removeEventListener("keydown", onKeyDown); + document.body.removeEventListener("keyup", onKeyUp); + }; + }, []); +} \ No newline at end of file diff --git a/src/components/App/hooks/routing.tsx b/src/components/App/hooks/routing.tsx new file mode 100644 index 00000000..d70c53d5 --- /dev/null +++ b/src/components/App/hooks/routing.tsx @@ -0,0 +1,87 @@ +import { useWindowEvent, useDidUpdate } from "@mantine/hooks"; +import posthog from "posthog-js"; +import { sift } from "radash"; +import { useMemo, useEffect } from "react"; +import { VIEW_MODES, CLOUD_PAGES } from "~/constants"; +import { useStable } from "~/hooks/stable"; +import { useConfigStore } from "~/stores/config"; +import { ViewMode, CloudPage } from "~/types"; +import { handleIntentRequest } from "~/util/intents"; + +const VIEWS = Object.keys(VIEW_MODES); +const CLOUDS = Object.keys(CLOUD_PAGES); + +function isViewMode(value: any): value is ViewMode { + return value && VIEWS.includes(value); +} + +function isCloudPage(value: any): value is CloudPage { + return value && CLOUDS.includes(value); +} + +/** + * Synchronize the active view and cloud page with the URL path. + */ +export function useConfigRouting() { + const { setActiveView, setActiveCloudPage } = useConfigStore.getState(); + const activeView = useConfigStore((s) => s.activeView); + const cloudPage = useConfigStore((s) => s.activeCloudPage); + + // The expected URL path based on the current state + const actualPath = useMemo(() => { + let urlPath = `/${activeView}`; + + if (activeView === "cloud") { + urlPath += `/${cloudPage}`; + } + + return urlPath; + }, [activeView, cloudPage]); + + // Apply state based on the current URL path + const applyState = useStable(() => { + const [view, ...other] = sift(location.pathname.toLowerCase().split('/')); + const params = new URLSearchParams(location.search); + + let repair = false; + + if (isViewMode(view)) { + setActiveView(view); + + if (view === "cloud") { + if (isCloudPage(other[0])) { + setActiveCloudPage(other[0]); + } else { + repair = true; + } + } + } else { + repair = true; + } + + if (repair) { + history.replaceState(null, document.title, actualPath); + } + + const intent = params.get('intent'); + + if (intent) { + handleIntentRequest(intent); + } + }); + + // Sync initial URL to active view + // eslint-disable-next-line react-hooks/exhaustive-deps + useEffect(applyState, []); + + // Sync history change to active view + useWindowEvent('popstate', applyState); + + // Sync active view to URL + useDidUpdate(() => { + if (location.pathname !== actualPath) { + history.pushState(null, document.title, actualPath); + posthog.capture('$pageview'); + } + }, [actualPath]); +} \ No newline at end of file diff --git a/src/components/App/hooks/title.tsx b/src/components/App/hooks/title.tsx new file mode 100644 index 00000000..de8cf32a --- /dev/null +++ b/src/components/App/hooks/title.tsx @@ -0,0 +1,40 @@ +import { useLayoutEffect } from "react"; +import { adapter } from "~/adapter"; +import { VIEW_MODES } from "~/constants"; +import { useSetting } from "~/hooks/config"; +import { useConnection } from "~/hooks/connection"; +import { useConfigStore } from "~/stores/config"; +import { useInterfaceStore } from "~/stores/interface"; + +/** + * Synchronize the title of the window with the current view + */ +export function useTitleSync() { + const connection = useConnection(); + const activeView = useConfigStore(s => s.activeView); + const [pinned] = useSetting("behavior", "windowPinned"); + + useLayoutEffect(() => { + const viewInfo = VIEW_MODES[activeView]; + const segments: string[] = []; + + if (activeView === "cloud") { + segments.push("Surreal Cloud - Surrealist"); + } else { + if (connection?.name) { + segments.push(`${connection.name} -`); + } + + segments.push(`Surrealist ${viewInfo?.name || ""}`); + } + + if (pinned) { + segments.push("(Pinned)"); + } + + const title = segments.join(" "); + + adapter.setWindowTitle(title); + useInterfaceStore.getState().setWindowTitle(title); + }, [activeView, connection?.name, pinned]); +} \ No newline at end of file diff --git a/src/components/App/hooks.tsx b/src/components/App/hooks/window.tsx similarity index 69% rename from src/components/App/hooks.tsx rename to src/components/App/hooks/window.tsx index 1480d503..12cea748 100644 --- a/src/components/App/hooks.tsx +++ b/src/components/App/hooks/window.tsx @@ -1,9 +1,8 @@ -import { useEffect } from "react"; +import { clamp } from "reactflow"; import { useSetting } from "~/hooks/config"; import { useKeymap } from "~/hooks/keymap"; import { useStable } from "~/hooks/stable"; import { useIntent } from "~/hooks/url"; -import { clamp, isModKey } from "~/util/helpers"; export function useWindowSettings() { const [windowScale, setWindowScale] = useSetting("appearance", "windowScale"); @@ -43,28 +42,4 @@ export function useWindowSettings() { useIntent("increase-editor-scale", increaseEditorScale); useIntent("decrease-editor-scale", decreaseEditorScale); useIntent("toggle-pinned", toggleWindowPinned); -} - -export function useModTracker() { - useEffect(() => { - const onKeyDown = (e: KeyboardEvent) => { - if (isModKey(e)) { - document.body.classList.add("mod"); - } - }; - - const onKeyUp = (e: KeyboardEvent) => { - if (isModKey(e)) { - document.body.classList.remove("mod"); - } - }; - - document.body.addEventListener("keydown", onKeyDown); - document.body.addEventListener("keyup", onKeyUp); - - return () => { - document.body.removeEventListener("keydown", onKeyDown); - document.body.removeEventListener("keyup", onKeyUp); - }; - }, []); } \ No newline at end of file diff --git a/src/components/App/index.tsx b/src/components/App/index.tsx index d558dbd8..c4a06e66 100644 --- a/src/components/App/index.tsx +++ b/src/components/App/index.tsx @@ -1,27 +1,11 @@ -import { Notifications } from "@mantine/notifications"; -import { MantineProvider } from "@mantine/core"; -import { useStable } from "~/hooks/stable"; -import { ErrorBoundary } from "react-error-boundary"; -import { MANTINE_THEME } from "~/util/mantine"; -import { useColorScheme, useIsLight } from "~/hooks/theme"; -import { ContextMenuProvider } from "mantine-contextmenu"; -import { InspectorProvider } from "~/providers/Inspector"; -import { FeatureFlagsProvider } from "~/providers/FeatureFlags"; -import { ConfirmationProvider } from "~/providers/Confirmation"; -import { useUrlHandler } from "~/hooks/url"; -import { AppErrorHandler } from "./error"; import { useConfigStore } from "~/stores/config"; -import { SANDBOX } from "~/constants"; import { DatabaseScreen } from "~/screens/database"; -import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; -import { useModTracker, useWindowSettings } from "./hooks"; import { Settings } from "./settings"; import { StartScreen } from "../../screens/start"; import { ChangelogModal } from "./modals/changelog"; import { ConnectionModal } from "./modals/connection"; import { DownloadModal } from "./modals/download"; import { EmbedderModal } from "./modals/embedder"; -import { LegacyModal } from "./modals/legacy"; import { CommandPaletteModal } from "./modals/palette"; import { SandboxModal } from "./modals/sandbox"; import { ScopeSignupModal } from "./modals/signup"; @@ -30,76 +14,53 @@ import { KeymapModal } from "./modals/hotkeys"; import { UpdaterDialog } from "./modals/updater"; import { isDesktop } from "~/adapter"; import { HighlightToolModal } from "./modals/highlight-tool"; -import { ModalsProvider } from "@mantine/modals"; +import { ConsoleDrawer } from "./modals/console"; +import { CloudExpiredDialog } from "./modals/cloud-expired"; +import { Scaffold } from "../Scaffold"; +import { Globals } from "./globals"; +import { InspectorProvider } from "~/providers/Inspector"; +import { DesignerProvider } from "~/providers/Designer"; -const queryClient = new QueryClient(); +function Surrealist() { + return ( + + + + + + ); +} export function App() { - const { setActiveConnection } = useConfigStore.getState(); - - const isLight = useIsLight(); - const colorScheme = useColorScheme(); const screen = useConfigStore((s) => s.activeScreen); - const handleReset = useStable(() => { - setActiveConnection(SANDBOX); - }); - - useUrlHandler(); - useModTracker(); - useWindowSettings(); - return ( - - - - + + - - - - - - {screen === "start" - ? - : - } + {screen === "start" + ? + : + } - + - - - - - - - - - - - + + + + + + + + + + + + - {isDesktop && ( - - )} - - - - - - - - + {isDesktop && ( + + )} + ); } diff --git a/src/components/App/modals/changelog.tsx b/src/components/App/modals/changelog.tsx index bd2224f5..8417fba6 100644 --- a/src/components/App/modals/changelog.tsx +++ b/src/components/App/modals/changelog.tsx @@ -6,7 +6,7 @@ import { changelogs } from "~/util/changelogs"; import { Text } from "@mantine/core"; import { Fragment } from "react"; import { useBoolean } from "~/hooks/boolean"; -import { ModalTitle } from "~/components/ModalTitle"; +import { PrimaryTitle } from "~/components/PrimaryTitle"; export function ChangelogModal() { const [isOpen, openedHandle] = useBoolean(); @@ -22,7 +22,7 @@ export function ChangelogModal() { withCloseButton size="xl" title={ - Release changelogs + Release changelogs } > @@ -40,7 +40,7 @@ export function ChangelogModal() { className={classes.changelogContent} /> - {index < changelogs.length - 1 && } + {index < changelogs.length - 1 && } ))} diff --git a/src/components/App/modals/cloud-expired.tsx b/src/components/App/modals/cloud-expired.tsx new file mode 100644 index 00000000..caadb255 --- /dev/null +++ b/src/components/App/modals/cloud-expired.tsx @@ -0,0 +1,68 @@ +import cloudLogo from "~/assets/images/cloud-icon.svg"; +import classes from "../style.module.scss"; +import { ActionIcon, Box, Dialog, Group, Image, Text } from "@mantine/core"; +import { useCloudStore } from "~/stores/cloud"; +import { Icon } from "~/components/Icon"; +import { iconClose } from "~/util/icons"; +import { useStable } from "~/hooks/stable"; +import { MouseEvent } from "react"; +import { openCloudAuthentication } from "~/screens/cloud-manage/api/auth"; + +export function CloudExpiredDialog() { + const { setSessionExpired } = useCloudStore.getState(); + + const isOpen = useCloudStore(s => s.sessionExpired); + + const onClose = useStable((e?: MouseEvent) => { + e?.stopPropagation(); + setSessionExpired(false); + }); + + return ( + + + Surreal Cloud + + + Your Surreal Cloud session has expired + + + Click here to authenticate again + + + + + + + + ); +} \ No newline at end of file diff --git a/src/components/App/modals/connection.tsx b/src/components/App/modals/connection.tsx index 9eda81b9..d0ce6755 100644 --- a/src/components/App/modals/connection.tsx +++ b/src/components/App/modals/connection.tsx @@ -1,23 +1,21 @@ -import { Modal, Group, Button, Alert, Text, Menu, Divider, Stack, Select } from "@mantine/core"; +import { Modal, Group, Button, Alert, Text, Menu, Divider, Stack } from "@mantine/core"; import { useImmer } from "use-immer"; import { isConnectionValid } from "~/util/connection"; import { useStable } from "~/hooks/stable"; -import { Fragment, useLayoutEffect, useMemo } from "react"; -import { updateTitle } from "~/util/helpers"; +import { Fragment, useLayoutEffect, useMemo, useState } from "react"; import { useConnections } from "~/hooks/connection"; import { Connection, Template } from "~/types"; import { useConfigStore } from "~/stores/config"; -import { useInterfaceStore } from "~/stores/interface"; import { createBaseConnection } from "~/util/defaults"; -import { iconCheck, iconChevronDown, iconDelete, iconFile, iconPlay, iconPlus, iconWarning } from "~/util/icons"; +import { iconCheck, iconChevronDown, iconDelete, iconFile, iconPlus } from "~/util/icons"; import { useSetting } from "~/hooks/config"; import { useIntent } from "~/hooks/url"; -import { useDatabaseStore } from "~/stores/database"; import { useConfirmation } from "~/providers/Confirmation"; import { ConnectionDetails } from "~/components/ConnectionDetails"; import { Form } from "~/components/Form"; import { Icon } from "~/components/Icon"; import { Spacer } from "~/components/Spacer"; +import { useDisclosure } from "@mantine/hooks"; function buildName(n: number) { return `New connection ${n ? n + 1 : ""}`.trim(); @@ -31,24 +29,20 @@ function newConnection() { export function ConnectionModal() { const connections = useConnections(); - const { addConnection, updateConnection, setActiveConnection, removeConnection } = useConfigStore.getState(); - const { closeConnectionEditor, openConnectionCreator } = useInterfaceStore.getState(); - const { isServing } = useDatabaseStore.getState(); - const opened = useInterfaceStore((s) => s.showConnectionEditor); - const editingId = useInterfaceStore((s) => s.editingConnectionId); - const isCreating = useInterfaceStore((s) => s.isCreatingConnection); - const groups = useConfigStore((s) => s.connectionGroups); + const [opened, openedHandle] = useDisclosure(); + const [editingId, setEditingId] = useState(""); + const [isCreating, setIsCreating] = useState(false); const [templates] = useSetting("templates", "list"); const [details, setDetails] = useImmer(newConnection()); const isValid = useMemo(() => { - return details.name && isConnectionValid(details.connection); - }, [details.connection, details.name]); + return details.name && isConnectionValid(details.authentication); + }, [details.authentication, details.name]); const saveInfo = useStable(async () => { - closeConnectionEditor(); + openedHandle.close(); if (isCreating) { addConnection(details); @@ -58,13 +52,10 @@ export function ConnectionModal() { id: editingId, name: details.name, icon: details.icon, - connection: details.connection, + authentication: details.authentication, group: details.group, }); } - - updateTitle(); - // openConnection(); }); const generateName = useStable(() => { @@ -81,45 +72,13 @@ export function ConnectionModal() { const applyTemplate = useStable((template: Template) => { setDetails(draft => { + draft.name = template.name; draft.icon = template.icon; - draft.connection = template.values; + draft.group = template.group; + draft.authentication = template.values; }); }); - const templateList = useMemo(() => { - const list = templates.map(info => ({ - info, - icon: iconFile - })); - - if (isServing) { - const { username, password, port } = useConfigStore.getState().settings.serving; - - list.push({ - icon: iconPlay, - info: { - id: "serving", - name: "Local database", - icon: 0, - values: { - authMode: "root", - database: "", - namespace: "", - protocol: "ws", - hostname: `localhost:${port}`, - scope: "", - scopeFields: [], - token: "", - username, - password - } - } - }); - } - - return list; - }, [templates, isServing]); - useLayoutEffect(() => { if (!details.name.trim()) { setDetails((draft) => { @@ -129,59 +88,51 @@ export function ConnectionModal() { // eslint-disable-next-line react-hooks/exhaustive-deps }, [details.name]); - useLayoutEffect(() => { - if (opened) { - const base = newConnection(); - - if (isCreating) { - setDetails({ - ...base, - name: generateName(), - }); - } else { - const info = connections.find((con) => con.id === editingId); - - setDetails(info || base); - } - } - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [opened]); - - const groupItems = useMemo(() => { - return [ - { - value: "", - label: "No group" - }, - ...groups.map((group) => ({ - value: group.id, - label: group.name, - })) - ]; - }, [groups]); - const remove = useConfirmation({ title: "Remove connection", message: "Are you sure you want to remove this connection?", onConfirm() { removeConnection(details.id); - closeConnectionEditor(); + openedHandle.close(); } }); - useIntent("new-connection", () => { - openConnectionCreator(); + useIntent("new-connection", ({ template }) => { + const base = newConnection(); + + setIsCreating(true); + setEditingId(""); + openedHandle.open(); + + if (typeof template === "string") { + applyTemplate(JSON.parse(template) as Template); + } else { + setDetails({ + ...base, + name: generateName(), + }); + } + }); + + useIntent("edit-connection", ({ id }) => { + const base = newConnection(); + const info = connections.find((con) => con.id === editingId); + + setIsCreating(false); + setEditingId(id); + setDetails(info || base); + openedHandle.open(); }); return (
- {templateList.length > 0 && ( + {templates.length > 0 && ( - {isCreating ? 'Initialize' : 'Configure'} this connection with a template? + Apply a connection template? - + - - {templateList.map(({ info, icon }, i) => ( + {templates.map((info, i) => ( } onClick={() => applyTemplate(info)} miw={175} > {info.name} - {i < templateList.length - 1 && } + {i < templates.length - 1 && } ))} @@ -226,41 +180,16 @@ export function ConnectionModal() { )} - {!isValid && ( - - - - - Some connection details are invalid - - - - )} - setDetails((draft) => { - draft.group = group || undefined; - })} - /> - } /> - + diff --git a/src/screens/database/components/ConsoleDrawer/index.tsx b/src/components/App/modals/console.tsx similarity index 86% rename from src/screens/database/components/ConsoleDrawer/index.tsx rename to src/components/App/modals/console.tsx index 047f9c3e..4781da96 100644 --- a/src/screens/database/components/ConsoleDrawer/index.tsx +++ b/src/components/App/modals/console.tsx @@ -3,10 +3,12 @@ import { ActionIcon, Badge, Center, Drawer, Group, Paper, ScrollArea, Text, Tool import { Icon } from "~/components/Icon"; import AnsiToHtml from "ansi-to-html"; import { useDatabaseStore } from "~/stores/database"; -import { ModalTitle } from "~/components/ModalTitle"; +import { PrimaryTitle } from "~/components/PrimaryTitle"; import { Spacer } from "~/components/Spacer"; import { useIsLight } from "~/hooks/theme"; import { iconClose, iconDelete } from "~/util/icons"; +import { useBoolean } from "~/hooks/boolean"; +import { useIntent } from "~/hooks/url"; function ConsoleOutputEntry({ index, message, formatter }: { index: number; message: string; formatter: AnsiToHtml }) { return ( @@ -19,12 +21,9 @@ function ConsoleOutputEntry({ index, message, formatter }: { index: number; mess ); } -export interface ConsoleDrawerProps { - opened: boolean; - onClose: () => void; -} +export function ConsoleDrawer() { + const [isOpen, openHandle] = useBoolean(); -export function ConsoleDrawer(props: ConsoleDrawerProps) { const { clearConsole } = useDatabaseStore.getState(); const isServing = useDatabaseStore((s) => s.isServing); @@ -55,10 +54,12 @@ export function ConsoleDrawer(props: ConsoleDrawerProps) { } }, [messages]); + useIntent("open-serving-console", openHandle.open); + return ( - + Serving output - + {isServing ? ( diff --git a/src/components/App/modals/embedder.tsx b/src/components/App/modals/embedder.tsx index 47389ae8..125d72c6 100644 --- a/src/components/App/modals/embedder.tsx +++ b/src/components/App/modals/embedder.tsx @@ -1,6 +1,6 @@ import { Modal } from "@mantine/core"; import { Embedder } from "~/components/Embedder"; -import { ModalTitle } from "~/components/ModalTitle"; +import { PrimaryTitle } from "~/components/PrimaryTitle"; import { useBoolean } from "~/hooks/boolean"; import { useIntent } from "~/hooks/url"; @@ -16,7 +16,7 @@ export function EmbedderModal() { withCloseButton size="lg" title={ - Mini generator + Mini generator } > diff --git a/src/components/App/modals/highlight-tool.tsx b/src/components/App/modals/highlight-tool.tsx index 26a04b14..afb5f174 100644 --- a/src/components/App/modals/highlight-tool.tsx +++ b/src/components/App/modals/highlight-tool.tsx @@ -2,12 +2,12 @@ import { Button, Divider, Modal, Stack } from "@mantine/core"; import { useIntent } from "~/hooks/url"; import { useCallback, useEffect, useState } from "react"; import { useBoolean } from "~/hooks/boolean"; -import { ModalTitle } from "~/components/ModalTitle"; +import { PrimaryTitle } from "~/components/PrimaryTitle"; import { CodeEditor } from "~/components/CodeEditor"; // @ts-ignore -import { parser } from "lezer-surrealql"; +import { parser } from "@surrealdb/lezer"; import { highlightCode, tagHighlighter } from "@lezer/highlight"; -import { surrealql } from "codemirror-surrealql"; +import { surrealql } from "@surrealdb/codemirror"; import { DARK_STYLE } from "~/util/editor/theme"; import { useFeatureFlags } from "~/util/feature-flags"; import { formatQuery } from "~/util/surrealql"; @@ -72,7 +72,7 @@ export function HighlightToolModal() { trapFocus={false} withCloseButton size="xl" - title={Highlight Tool} + title={Highlight Tool} > Keyboard Shortcuts + Keyboard Shortcuts } > @@ -44,7 +46,7 @@ export function KeymapModal() { Global shortcuts - + @@ -59,6 +61,7 @@ export function KeymapModal() { {isDesktop && ( )} + @@ -67,7 +70,7 @@ export function KeymapModal() { Query view shortcuts - + @@ -78,7 +81,7 @@ export function KeymapModal() { Editor shortcuts - + diff --git a/src/components/App/modals/legacy.tsx b/src/components/App/modals/legacy.tsx deleted file mode 100644 index f02b2808..00000000 --- a/src/components/App/modals/legacy.tsx +++ /dev/null @@ -1,82 +0,0 @@ -import logoUrl from "~/assets/images/logo.webp"; -import { Anchor, Button, Group, Image, Modal, Stack, Text } from "@mantine/core"; -import { useEffect } from "react"; -import { adapter } from "~/adapter"; -import { migrateLegacyConfig } from "~/util/migrator"; -import { useConfigStore } from "~/stores/config"; -import { Icon } from "~/components/Icon"; -import { iconChevronRight } from "~/util/icons"; -import { SurrealistLogo } from "~/components/SurrealistLogo"; -import { promptChangelog } from "~/util/changelogs"; -import { useBoolean } from "~/hooks/boolean"; - -export function LegacyModal() { - const [isOpen, openHandle] = useBoolean(); - - const checkLegacyConfig = async () => { - const hasLegacy = await adapter.hasLegacyConfig(); - - if (hasLegacy) { - const legacy = await adapter.getLegacyConfig(); - const migrated = migrateLegacyConfig(legacy); - - useConfigStore.setState(migrated); - - adapter.handleLegacyCleanup(); - openHandle.open(); - - promptChangelog(); - } - }; - - useEffect(() => { - checkLegacyConfig(); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); - - return ( - - - - - - - - - - - Welcome back to Surrealist! - - - - Your configuration has been automatically migrated to the new format so you can continue where you left off. - - - - Want to learn more about the new Surrealist? Feel free to visit - the changelog or - read our updated documentation. - - - - - - ); -} diff --git a/src/components/App/modals/palette.tsx b/src/components/App/modals/palette.tsx index d99072f2..30c9b66d 100644 --- a/src/components/App/modals/palette.tsx +++ b/src/components/App/modals/palette.tsx @@ -193,7 +193,7 @@ export function CommandPaletteModal() { /> - + diff --git a/src/components/App/modals/sandbox.tsx b/src/components/App/modals/sandbox.tsx index 5d44c9b6..938bd4ee 100644 --- a/src/components/App/modals/sandbox.tsx +++ b/src/components/App/modals/sandbox.tsx @@ -12,16 +12,17 @@ import { useConfigStore } from "~/stores/config"; export function SandboxModal() { const [isOpen, openHandle] = useBoolean(); const [completed, complete] = useOnboarding('sandbox'); + const view = useConfigStore((state) => state.activeView); const screen = useConfigStore((state) => state.activeScreen); const connection = useConnection(); useEffect(() => { - if (connection?.id === SANDBOX && screen === "database" && !completed) { + if (connection?.id === SANDBOX && screen === "database" && view !== "cloud" && !completed) { openHandle.open(); complete(); } // eslint-disable-next-line react-hooks/exhaustive-deps - }, [connection, screen]); + }, [connection, screen, view]); return ( s.showScopeSignup); - const [loading, loadingHandle] = useDisclosure(); const [error, setError] = useState(""); - - const { id, connection } = useActiveConnection(); + const [loading, loadingHandle] = useDisclosure(); + const opened = useInterfaceStore((s) => s.showScopeSignup); + const connection = useActiveConnection(); const openEditor = useStable(() => { - openConnectionEditor(id); + dispatchIntent("edit-connection", { id: connection.id }); closeScopeSignup(); }); @@ -31,7 +31,10 @@ export function ScopeSignupModal() { openConnection({ connection: { ...connection, - authMode: "scope-signup" + authentication: { + ...connection.authentication, + mode: "scope-signup" + } } }).then(() => { closeScopeSignup(); @@ -52,7 +55,7 @@ export function ScopeSignupModal() { Sign up to scope} + title={Sign up to scope} > {error && ( @@ -76,7 +79,7 @@ export function ScopeSignupModal() { - {connection.scopeFields.map((field) => { + {connection.authentication.scopeFields.map((field) => { const fieldName = field.subject.toLowerCase(); const ValueInput = SENSITIVE_SCOPE_FIELDS.has(fieldName) ? PasswordInput diff --git a/src/components/App/modals/table.tsx b/src/components/App/modals/table.tsx index f81ff8c2..45ef997a 100644 --- a/src/components/App/modals/table.tsx +++ b/src/components/App/modals/table.tsx @@ -1,4 +1,4 @@ -import { Button, Group, Modal, ModalTitle, MultiSelect, Select, Stack, Tabs, TextInput } from "@mantine/core"; +import { Button, Group, Modal, MultiSelect, Select, Stack, Tabs, TextInput } from "@mantine/core"; import { useLayoutEffect, useState } from "react"; import { useStable } from "~/hooks/stable"; import { Icon } from "~/components/Icon"; @@ -8,12 +8,13 @@ import { useTableNames } from "~/hooks/schema"; import { iconPlus, iconRelation, iconTable } from "~/util/icons"; import { useInterfaceStore } from "~/stores/interface"; import { dispatchIntent, useIntent } from "~/hooks/url"; -import { executeQuery } from "~/screens/database/connection"; +import { executeQuery } from "~/screens/database/connection/connection"; import { useConfigStore } from "~/stores/config"; import { tb } from "~/util/helpers"; import { SCHEMA_MODES } from "~/constants"; import { SchemaMode } from "~/types"; import { Form } from "~/components/Form"; +import { PrimaryTitle } from "~/components/PrimaryTitle"; export function TableCreatorModal() { const { openTableCreator, closeTableCreator } = useInterfaceStore.getState(); @@ -77,7 +78,7 @@ export function TableCreatorModal() { trapFocus={false} size="sm" title={ - {`Create new ${createType}`} + {`Create new ${createType}`} } > diff --git a/src/components/App/settings/index.tsx b/src/components/App/settings/index.tsx index c4d9c2b4..c426c4b6 100644 --- a/src/components/App/settings/index.tsx +++ b/src/components/App/settings/index.tsx @@ -1,8 +1,10 @@ import classes from "./style.module.scss"; -import { iconBalance, iconClose, iconEye, iconFlag, iconPlay, iconServer, iconWrench } from "~/util/icons"; -import { ActionIcon, Box, Center, Group, Modal, ScrollArea, Stack, Text, Title } from "@mantine/core"; + +import { iconBalance, iconClose, iconCloud, iconEye, iconFlag, iconPlay, iconServer, iconWrench } from "~/util/icons"; +import { ActionIcon, Box, Center, Group, Image, Modal, ScrollArea, Stack, Text, Title } from "@mantine/core"; import { BehaviourTab } from "./tabs/Behaviour"; import { ServingTab } from "./tabs/Serving"; +import { CloudTab } from "./tabs/Cloud"; import { AppearanceTab } from "./tabs/Appearance"; import { TemplatesTab } from "./tabs/Templates"; import { useIsLight } from "~/hooks/theme"; @@ -17,8 +19,9 @@ import { useVersionCopy } from "~/hooks/debug"; import { Entry } from "~/components/Entry"; import { Icon } from "~/components/Icon"; import { Spacer } from "~/components/Spacer"; -import { SurrealistLogo } from "~/components/SurrealistLogo"; import { useBoolean } from "~/hooks/boolean"; +import { useKeymap } from "~/hooks/keymap"; +import { useLogoUrl } from "~/hooks/brand"; interface Category { id: string; @@ -54,6 +57,12 @@ const CATEGORIES: Category[] = [ component: ServingTab, disabled: () => !isDesktop }, + { + id: "cloud", + name: "Surreal Cloud", + icon: iconCloud, + component: CloudTab, + }, { id: "feature-flags", name: "Feature Flags", @@ -71,6 +80,7 @@ const CATEGORIES: Category[] = [ export function Settings() { const isLight = useIsLight(); + const logoUrl = useLogoUrl(); const [flags, setFlags] = useFeatureFlags(); const [open, openHandle] = useBoolean(); const [copyDebug, clipboard] = useVersionCopy(); @@ -101,6 +111,12 @@ export function Settings() { openHandle.open(); }); + useKeymap([ + ["mod+,", () => { + openHandle.open(); + }] + ]); + return ( <>
-
- )} + setVersionCheckTimeout(+v)); + const updateReconnectInterval = useStable((v: string | number) => setReconnectInterval(+v)); return ( <> - - {/* {adapter.isUpdateCheckSupported && ( - - )} */} - - {isDesktop && ( + {isDesktop && ( + + {/* {adapter.isUpdateCheckSupported && ( + + )} */} Always on top F10} checked={windowPinned} onChange={updateWindowPinned} /> - )} - - - + + )} setVersionCheckTimeout(Number.parseInt(v.toString()))} + onChange={updateVersionCheckTimeout} min={1} /> + ); diff --git a/src/components/App/settings/tabs/Cloud.tsx b/src/components/App/settings/tabs/Cloud.tsx new file mode 100644 index 00000000..51b3e969 --- /dev/null +++ b/src/components/App/settings/tabs/Cloud.tsx @@ -0,0 +1,67 @@ +import { Select, TextInput } from "@mantine/core"; +import { SettingsSection } from "../utilities"; +import { useSetting } from "~/hooks/config"; +import { DatabaseListMode, Selection } from "~/types"; +import { useFeatureFlags } from "~/util/feature-flags"; + +const CAT = "cloud"; + +const INSTANCE_LIST_MODES: Selection = [ + { label: "List", value: "list" }, + { label: "Grid", value: "grid" }, +]; + +export function CloudTab() { + const [instanceListMode, setInstanceListMode] = useSetting(CAT, "databaseListMode"); + const [urlAuthBase, setUrlAuthBase] = useSetting(CAT, "urlAuthBase"); + const [urlApiAuthBase, setUrlApiAuthBase] = useSetting(CAT, "urlApiBase"); + const [urlApiMgmtBase, setUrlApiMgmtBase] = useSetting(CAT, "urlApiMgmtBase"); + + const [{ cloud_endpoints }] = useFeatureFlags(); + + return ( + <> + + + - onChange((draft) => { - const proto = value as Protocol; - - draft.connection.protocol = proto; - - if (value === "mem" || value === "indxdb") { - draft.connection.authMode = "none"; - } - }) - } - /> - + + + Surreal Cloud + + + This connection is managed by Surreal Cloud + + + Some details cannot be modified manually + + + + + + + + )} + + -
- - - - Database - - - onChange((draft) => { - draft.connection.namespace = e.target.value; - }) - } - /> - - onChange((draft) => { - draft.connection.database = e.target.value; - }) - } - /> - - - - - Authentication - + + onChange((draft) => { - draft.connection.token = e.target.value; + draft.authentication.mode = value as AuthMode; }) } - styles={{ - input: { - fontFamily: - "var(--mantine-font-family-monospace)", - }, - }} /> - {value.connection.token && - (tokenPayload === null ? ( - } + {isSystemMethod && ( + + + onChange((draft) => { + draft.authentication.username = + e.target.value; + }) + } + /> + + onChange((draft) => { + draft.authentication.password = + e.target.value; + }) + } + /> + + )} + + {(showNamespace || showDatabase) && ( + + {showNamespace && ( + + onChange((draft) => { + draft.authentication.namespace = e.target.value; + }) + } + /> + )} + + {showDatabase && ( + + onChange((draft) => { + draft.authentication.database = e.target.value; + }) + } + /> + )} + + )} + + {value.authentication.mode === "scope" && ( + + + onChange((draft) => { + draft.authentication.scope = e.target.value; + }) + } + /> + + + )} + + {value.authentication.mode === "token" && ( + <> + + onChange((draft) => { + draft.authentication.token = e.target.value; + }) + } + styles={{ + input: { + fontFamily: + "var(--mantine-font-family-monospace)", + }, + }} + /> + + {value.authentication.token && (tokenPayload === null ? ( + } + > + The provided token does not appear to be + a valid JWT + ) : ( - - - This token has expired - - )) - ))} - - )} - - + tokenExpireSoon && + (tokenExpire > Date.now() ? ( + + + This token expires in{" "} + {dayjs(tokenExpire).fromNow()} + + ) : ( + + + This token has expired + + )) + ))} + + )} + + + + + )} + + + + { + setState(draft => { + draft.theme = e as ColorScheme; + }); + }} + /> + Options @@ -261,6 +281,7 @@ export function Embedder({ void; } -export function Form(props: PropsWithChildren) { +export function Form({ + onSubmit, + children, + ...other +}: PropsWithChildren) { const doSubmit = useStable((e: React.FormEvent) => { e.preventDefault(); - props.onSubmit(); + onSubmit(); }); - return {props.children}; + return ( + + {children} + + ); } diff --git a/src/components/GeographyDrawer/index.tsx b/src/components/GeographyDrawer/index.tsx index af5987dd..52a56b24 100644 --- a/src/components/GeographyDrawer/index.tsx +++ b/src/components/GeographyDrawer/index.tsx @@ -4,11 +4,11 @@ import { iconClose, iconMarker } from "~/util/icons"; import { ActionIcon, Box, Drawer, Group, Stack } from "@mantine/core"; import { Icon } from "~/components/Icon"; import { Spacer } from "~/components/Spacer"; -import { ModalTitle } from "~/components/ModalTitle"; +import { PrimaryTitle } from "~/components/PrimaryTitle"; import { DrawerResizer } from "~/components/DrawerResizer"; import { LoadingContainer } from "~/components/LoadingContainer"; import { formatValue } from "~/util/surrealql"; -import { surrealql } from "codemirror-surrealql"; +import { surrealql } from "@surrealdb/codemirror"; import { Label } from "~/components/Label"; import { ON_STOP_PROPAGATION } from "~/util/helpers"; import { useInputState } from "@mantine/hooks"; @@ -45,15 +45,15 @@ export const GeographyDrawer = ({ opened, data, onClose }: GeographyDrawerProps) > - + Geography explorer - + diff --git a/src/components/GeographyMap/index.tsx b/src/components/GeographyMap/index.tsx index ae30e515..29a900bc 100644 --- a/src/components/GeographyMap/index.tsx +++ b/src/components/GeographyMap/index.tsx @@ -4,7 +4,7 @@ import { MapContainer, GeoJSON, TileLayer } from 'react-leaflet'; import { LatLng, Map, geoJSON as createGeoJSON, latLng } from "leaflet"; import { Overlay, Paper } from '@mantine/core'; import { parseValue } from "~/util/surrealql"; -import { GeometryCollection, GeometryLine, GeometryMultiLine, GeometryMultiPoint, GeometryMultiPolygon, GeometryPoint, GeometryPolygon } from "surrealdb.js"; +import { GeometryCollection, GeometryLine, GeometryMultiLine, GeometryMultiPoint, GeometryMultiPolygon, GeometryPoint, GeometryPolygon } from "surrealdb"; import { useEffect, useRef, useState } from 'react'; import markerIcon from "leaflet/dist/images/marker-icon.png"; diff --git a/src/components/Inputs/index.tsx b/src/components/Inputs/index.tsx index 0efc5807..06d541b5 100644 --- a/src/components/Inputs/index.tsx +++ b/src/components/Inputs/index.tsx @@ -1,8 +1,8 @@ import classes from "./style.module.scss"; import clsx from "clsx"; -import { surrealql } from "codemirror-surrealql"; -import { ActionIcon, Autocomplete, AutocompleteProps, Group, InputBase, InputBaseProps, Tooltip } from "@mantine/core"; -import { HTMLAttributes, useEffect, useMemo, useRef } from "react"; +import { surrealql } from "@surrealdb/codemirror"; +import { ActionIcon, Autocomplete, AutocompleteProps, Group, InputBase, InputBaseProps, Pill, PillsInput, PillsInputProps, Tooltip } from "@mantine/core"; +import { HTMLAttributes, KeyboardEvent, useEffect, useMemo, useRef } from "react"; import { Icon } from "~/components/Icon"; import { useIsLight } from "~/hooks/theme"; import { useStable } from "~/hooks/stable"; @@ -12,6 +12,7 @@ import { colorTheme, inputBase } from "~/util/editor/extensions"; import { EditorView, keymap, placeholder as ph } from "@codemirror/view"; import { Compartment, EditorState, Extension, Prec } from "@codemirror/state"; import { acceptWithTab } from "~/util/editor/keybinds"; +import { useInputState } from "@mantine/hooks"; export interface CodeInputProps extends InputBaseProps, Omit, 'style'|'value'|'onChange'> { value: string; @@ -263,3 +264,66 @@ export function FieldKindInput({ /> ); } + +export interface EmailInputProps extends Omit { + value: string[]; + onChange: (value: string[]) => void; +} + +export function EmailInput({ + value, + onChange, + autoFocus, + ...other +}: EmailInputProps) { + const [draft, setDraft] = useInputState(""); + const isValid = !draft || draft.includes('@'); + const isLight = useIsLight(); + + const handleSubmit = useStable(() => { + if (!draft || !isValid) return; + + if (!value.includes(draft)) { + onChange([...value, draft]); + } + + setDraft(""); + }); + + const handleKey = useStable((e: KeyboardEvent) => { + if ((e.code === "Enter" || e.code == "Space") && draft) { + handleSubmit(); + e.preventDefault(); + } else if (e.code === "Backspace" && !draft && value.length > 0) { + onChange?.(value!.slice(0, -1)); + } + }); + + return ( + + + {value.map((email, i) => ( + onChange?.(value!.filter((_, j) => i !== j))} + bg={isLight ? "slate.1" : "slate.9"} + > + {email} + + ))} + + + + ); +} diff --git a/src/components/Introduction/index.tsx b/src/components/Introduction/index.tsx index 70ca1417..b0520b24 100644 --- a/src/components/Introduction/index.tsx +++ b/src/components/Introduction/index.tsx @@ -1,12 +1,14 @@ import { Center, Paper, Stack, Title, Text, Group } from "@mantine/core"; import { CodePreview } from "../CodePreview"; -import { PropsWithChildren } from "react"; +import { PropsWithChildren, ReactNode } from "react"; import { Icon } from "../Icon"; import { Extension } from "@codemirror/state"; +import { useIsLight } from "~/hooks/theme"; export interface IntroductionProps { title: string; icon: string; + header?: ReactNode; snippet?: { title?: string; code?: string; @@ -17,15 +19,20 @@ export interface IntroductionProps { export function Introduction({ title, icon, + header, snippet, children }: PropsWithChildren) { + const isLight = useIsLight(); + return (
+ {header} @@ -38,8 +45,12 @@ export function Introduction({ {snippet?.code && ( {snippet.title ?? "Example"} @@ -50,6 +61,7 @@ export function Introduction({ value={snippet.code} extensions={snippet.extensions} withDedent + withWrapping /> )} diff --git a/src/components/LearnMore/index.tsx b/src/components/LearnMore/index.tsx new file mode 100644 index 00000000..95a98b83 --- /dev/null +++ b/src/components/LearnMore/index.tsx @@ -0,0 +1,31 @@ +import classes from "./style.module.scss"; +import { Anchor, BoxProps, Group } from "@mantine/core"; +import { HTMLAttributes, PropsWithChildren } from "react"; +import { Icon } from "../Icon"; +import { iconHelp } from "~/util/icons"; +import clsx from "clsx"; + +export interface LearnMoreProps extends BoxProps, Omit, 'style'> { + href: string; +} + +export function LearnMore({ + children, + href, + className, + ...other +}: PropsWithChildren) { + return ( + + + + {children} + + + ); +} \ No newline at end of file diff --git a/src/components/LearnMore/style.module.scss b/src/components/LearnMore/style.module.scss new file mode 100644 index 00000000..48deb3af --- /dev/null +++ b/src/components/LearnMore/style.module.scss @@ -0,0 +1,8 @@ +.root { + color: unset; + transition: color .1s; + + &:hover { + color: var(--mantine-color-surreal-4) + } +} \ No newline at end of file diff --git a/src/components/LiveIndicator/index.tsx b/src/components/LiveIndicator/index.tsx index 1bde9165..335ac819 100644 --- a/src/components/LiveIndicator/index.tsx +++ b/src/components/LiveIndicator/index.tsx @@ -1,29 +1,32 @@ import classes from "./style.module.scss"; import clsx from "clsx"; -import { Box, BoxProps } from "@mantine/core"; import { Icon } from "../Icon"; -import { iconCircle } from "~/util/icons"; +import { Box, BoxProps, MantineColor } from "@mantine/core"; +import { iconCircleFilled } from "~/util/icons"; export interface LiveIndicatorProps extends BoxProps { + color?: MantineColor; } export function LiveIndicator(props: LiveIndicatorProps) { - const { className, + color, ...rest } = props; + const actualColor = color || "white"; return ( diff --git a/src/components/LiveIndicator/style.module.scss b/src/components/LiveIndicator/style.module.scss index a61fc459..beb1351c 100644 --- a/src/components/LiveIndicator/style.module.scss +++ b/src/components/LiveIndicator/style.module.scss @@ -5,7 +5,7 @@ &::before { content: ""; inset: 0; - background-color: white; + background-color: var(--ring-color); position: absolute; border-radius: 100%; animation: live-pulse 1.4s infinite; diff --git a/src/components/LoadingContainer/index.tsx b/src/components/LoadingContainer/index.tsx index 1d9ac397..9f584bc6 100644 --- a/src/components/LoadingContainer/index.tsx +++ b/src/components/LoadingContainer/index.tsx @@ -1,11 +1,19 @@ import { LoadingOverlay } from "@mantine/core"; -export const LoadingContainer = ({ visible }: { visible?: boolean }) => { +export interface LoadingContainerProps { + visible?: boolean +} + +export function LoadingContainer({ + visible +}: LoadingContainerProps) { return ( + transitionProps={{ duration: 150 }} + loaderProps={{ type: 'dots' }} + /> ); -}; \ No newline at end of file +} \ No newline at end of file diff --git a/src/components/Pane/dragger.tsx b/src/components/Pane/dragger.tsx index 5e618d24..bd44b860 100644 --- a/src/components/Pane/dragger.tsx +++ b/src/components/Pane/dragger.tsx @@ -1,11 +1,14 @@ import classes from "./style.module.scss"; -import { PanelResizeHandle } from "react-resizable-panels"; +import { PanelResizeHandle, PanelResizeHandleProps } from "react-resizable-panels"; /** * Specialized version of PanelResizeHandle with styling applied */ -export function PanelDragger() { +export function PanelDragger(props: PanelResizeHandleProps) { return ( - + ); } \ No newline at end of file diff --git a/src/components/Pane/index.tsx b/src/components/Pane/index.tsx index 9b3c9dda..76020ced 100644 --- a/src/components/Pane/index.tsx +++ b/src/components/Pane/index.tsx @@ -4,15 +4,15 @@ import { useIsLight } from "~/hooks/theme"; import { Icon } from "../Icon"; import { Spacer } from "../Spacer"; import classes from "./style.module.scss"; -import { LoadingContainer } from "../LoadingContainer"; export interface ContentPaneProps extends PaperProps, Omit, "style"> { title?: string; icon?: string; leftSection?: React.ReactNode; - loading?: boolean; + infoSection?: React.ReactNode; rightSection?: React.ReactNode; withTopPadding?: boolean; + disabled?: boolean; } export function ContentPane({ @@ -20,9 +20,10 @@ export function ContentPane({ title, icon, leftSection, - loading, + infoSection, rightSection, withTopPadding, + disabled, ...rest }: ContentPaneProps) { @@ -33,9 +34,11 @@ export function ContentPane({ radius="lg" className={classes.root} pos="relative" + opacity={disabled ? 0.5 : 1} + style={{ pointerEvents: disabled ? "none" : undefined }} {...rest} > - {title !== undefined && icon !== undefined && ( + {(title || icon || leftSection || rightSection || infoSection) && ( <> + {leftSection} {icon && } {title} - {leftSection} + {infoSection} {rightSection} @@ -71,8 +75,6 @@ export function ContentPane({ pos="relative" className={classes.content} > - - {children} diff --git a/src/components/ModalTitle/index.tsx b/src/components/PrimaryTitle/index.tsx similarity index 69% rename from src/components/ModalTitle/index.tsx rename to src/components/PrimaryTitle/index.tsx index e24ee03e..57d1ae51 100644 --- a/src/components/ModalTitle/index.tsx +++ b/src/components/PrimaryTitle/index.tsx @@ -1,7 +1,7 @@ import { Text, TextProps } from "@mantine/core"; import { PropsWithChildren } from "react"; -export function ModalTitle({ children, ...rest }: PropsWithChildren) { +export function PrimaryTitle({ children, ...rest }: PropsWithChildren) { return ( {revertText ?? 'Revert'} diff --git a/src/components/App/error.tsx b/src/components/Scaffold/error.tsx similarity index 93% rename from src/components/App/error.tsx rename to src/components/Scaffold/error.tsx index b9677ab1..b128cb02 100644 --- a/src/components/App/error.tsx +++ b/src/components/Scaffold/error.tsx @@ -5,9 +5,11 @@ import { Icon } from "../Icon"; import { iconBug, iconCheck, iconCopy, iconCursor, iconWarning } from "~/util/icons"; import { adapter } from "~/adapter"; import { useVersionCopy } from "~/hooks/debug"; +import { useIsLight } from "~/hooks/theme"; -export function AppErrorHandler({ error, resetErrorBoundary }: FallbackProps) { +export function ScaffoldErrorHandler({ error, resetErrorBoundary }: FallbackProps) { const [copyDebug, clipboard] = useVersionCopy(); + const isLight = useIsLight(); const message = error instanceof Error ? error.message @@ -16,7 +18,7 @@ export function AppErrorHandler({ error, resetErrorBoundary }: FallbackProps) { return ( } onClick={resetErrorBoundary} + variant="light" color="slate" radius="xs" size="xs" > - Resume in sandbox + Reload Surrealist - -
- )} - - - - - {sidebar?.(state)} - - - - - - {toolbar?.(state)} - - - - - - {children} - - - - - ); -} \ No newline at end of file diff --git a/src/components/Shortcut/index.tsx b/src/components/Shortcut/index.tsx index ca94d615..9b560b70 100644 --- a/src/components/Shortcut/index.tsx +++ b/src/components/Shortcut/index.tsx @@ -1,10 +1,9 @@ -import { mdiAppleKeyboardControl, mdiAppleKeyboardOption, mdiAppleKeyboardShift } from "@mdi/js"; import { BoxProps, Group, Kbd, Text } from "@mantine/core"; import { Fragment, ReactNode, useMemo } from "react"; import { adapter } from "~/adapter"; import { capitalize } from "radash"; import { Icon } from "../Icon"; -import { iconCommand } from "~/util/icons"; +import { iconCommand, iconKeyboardControl, iconKeyboardOption, iconKeyboardShift } from "~/util/icons"; export interface ShortcutProps extends Omit { value: string; @@ -20,19 +19,19 @@ export function Shortcut({ value, ...rest }: ShortcutProps) { switch (part) { case "mod": { - code = ; + code = ; break; } case "alt": { - code = isMac ? : Alt; + code = isMac ? : Alt; break; } case "ctrl": { - code = ; + code = ; break; } case "shift": { - code = ; + code = ; break; } default: { diff --git a/src/components/SurrealistLogo/index.tsx b/src/components/SurrealistLogo/index.tsx deleted file mode 100644 index 699dc694..00000000 --- a/src/components/SurrealistLogo/index.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { Box, BoxProps } from "@mantine/core"; - -export function SurrealistLogo(props: BoxProps) { - return ( - - - - ); -} \ No newline at end of file diff --git a/src/constants.tsx b/src/constants.tsx index 18683e94..6de5b9e6 100644 --- a/src/constants.tsx +++ b/src/constants.tsx @@ -1,10 +1,12 @@ +import flagIE from "flag-icons/flags/4x3/ie.svg"; +import flagUS from "flag-icons/flags/4x3/us.svg"; + import { AuthMode, CodeLang, DataSet, ValueMode, Protocol, - ResultMode, Selectable, ViewInfo, ViewMode, @@ -12,35 +14,44 @@ import { SidebarMode, LineStyle, SchemaMode, + CloudPage, + Listable, + ResultMode, + CloudPageInfo, } from "./types"; import { + iconAccount, iconAPI, iconAuth, + iconCloud, + iconCog, iconCombined, + iconCreditCard, iconDataTable, iconDesigner, + iconEmail, iconExplorer, iconFunction, + iconGraphql, iconLive, iconModuleML, + iconPackageClosed, + iconProgressClock, iconQuery, + iconServer, } from "./util/icons"; export type StructureTab = "graph" | "builder"; export type ExportType = (typeof EXPORT_TYPES)[number]; - -export interface ListingItem { - label: string; - value: ResultMode; - icon: string; -} +export type ProtocolOption = Selectable & { remote: boolean }; export const SANDBOX = "sandbox"; export const MAX_HISTORY_SIZE = 50; export const MAX_LIVE_MESSAGES = 50; export const SENSITIVE_SCOPE_FIELDS = new Set(["password", "pass", "secret"]); export const ML_SUPPORTED = new Set(["ws", "wss", "http", "https"]); +export const GQL_SUPPORTED = new Set(["ws", "wss", "http", "https"]); export const DATASETS: Record = { "surreal-deal-store": { @@ -59,20 +70,20 @@ export const THEMES = [ { label: "Dark", value: "dark" }, ]; -export const RESULT_MODES: ListingItem[] = [ +export const RESULT_MODES: Listable[] = [ { label: "Combined", value: "combined", icon: iconCombined }, { label: "Individual", value: "single", icon: iconQuery }, { label: "Table", value: "table", icon: iconDataTable }, { label: "Live", value: "live", icon: iconLive }, ]; -export const CONNECTION_PROTOCOLS: Selectable[] = [ - { label: "HTTP", value: "http" }, - { label: "HTTPS", value: "https" }, - { label: "WS", value: "ws" }, - { label: "WSS", value: "wss" }, - { label: "Memory", value: "mem" }, - { label: "IndexedDB", value: "indxdb" }, +export const CONNECTION_PROTOCOLS: ProtocolOption[] = [ + { label: "HTTP", value: "http", remote: true }, + { label: "HTTPS", value: "https", remote: true }, + { label: "WS", value: "ws", remote: true }, + { label: "WSS", value: "wss", remote: true }, + { label: "Memory", value: "mem", remote: false }, + { label: "IndexedDB", value: "indxdb", remote: false }, ]; export const AUTH_MODES: Selectable[] = [ @@ -107,12 +118,20 @@ export const SIDEBAR_MODES: Selectable[] = [ ]; export const VIEW_MODES: Record = { + cloud: { + id: "cloud", + name: "Surreal Cloud", + icon: iconCloud, + desc: "Manage your Surreal Cloud environment", + disabled: (flags) => !flags.cloud_view, + }, query: { id: "query", name: "Query", icon: iconQuery, anim: import("~/assets/animation/query.json").then(x => x.default), desc: "Execute queries against the database and inspect the results", + disabled: (flags) => !flags.query_view, }, explorer: { id: "explorer", @@ -120,6 +139,16 @@ export const VIEW_MODES: Record = { icon: iconExplorer, anim: import("~/assets/animation/explorer.json").then(x => x.default), desc: "Explore the database tables, records, and relations", + require: "database", + disabled: (flags) => !flags.explorer_view, + }, + graphql: { + id: "graphql", + name: "GraphQL", + icon: iconGraphql, + desc: "Execute GraphQL queries against the database", + require: "database", + disabled: (flags) => !flags.graphql_view, }, designer: { id: "designer", @@ -127,6 +156,8 @@ export const VIEW_MODES: Record = { icon: iconDesigner, anim: import("~/assets/animation/designer.json").then(x => x.default), desc: "Define database tables and relations", + require: "database", + disabled: (flags) => !flags.designer_view, }, authentication: { id: "authentication", @@ -134,19 +165,22 @@ export const VIEW_MODES: Record = { icon: iconAuth, anim: import("~/assets/animation/auth.json").then(x => x.default), desc: "Manage account details and database scopes", - disabled: (flags) => flags.surreal_compat === "v2", + disabled: (flags) => !flags.designer_view || flags.surreal_compat === "v2", }, functions: { id: "functions", name: "Functions", icon: iconFunction, desc: "Create and update schema level functions", + require: "database", + disabled: (flags) => !flags.functions_view, }, models: { id: "models", name: "Models", icon: iconModuleML, desc: "Upload and manage machine learning models", + require: "database", disabled: (flags) => !flags.models_view, }, documentation: { @@ -154,10 +188,49 @@ export const VIEW_MODES: Record = { name: "API Docs", icon: iconAPI, desc: "View the database schema and documentation", + require: "database", disabled: (flags) => !flags.apidocs_view, }, }; +export const CLOUD_PAGES: Record = { + instances: { + id: "instances", + name: "Instances", + icon: iconServer, + }, + members: { + id: "members", + name: "Members", + icon: iconAccount, + }, + data: { + id: "data", + name: "Data Containers", + icon: iconPackageClosed + }, + audits: { + id: "audits", + name: "Audit Log", + icon: iconProgressClock, + }, + billing: { + id: "billing", + name: "Billing", + icon: iconCreditCard, + }, + support: { + id: "support", + name: "Support", + icon: iconEmail + }, + settings: { + id: "settings", + name: "Settings", + icon: iconCog, + } +}; + export const EXPORT_TYPES = [ "tables", "analyzers", @@ -224,4 +297,9 @@ export const LINE_STYLES: Selectable[] = [ export const SCHEMA_MODES: Selectable[] = [ { label: "Schemaless", value: "schemaless" }, { label: "Schemafull", value: "schemafull" }, -]; \ No newline at end of file +]; + +export const REGION_FLAGS: Record = { + 'aws-euw1': flagIE, + 'aws-use1': flagUS, +}; diff --git a/src/hooks/brand.ts b/src/hooks/brand.ts new file mode 100644 index 00000000..4c4528ae --- /dev/null +++ b/src/hooks/brand.ts @@ -0,0 +1,11 @@ +import { useThemeImage } from "./theme"; + +import logoDarkUrl from "~/assets/images/dark/logo.webp"; +import logoLightUrl from "~/assets/images/light/logo.webp"; + +export function useLogoUrl() { + return useThemeImage({ + light: logoLightUrl, + dark: logoDarkUrl, + }); +} \ No newline at end of file diff --git a/src/hooks/cloud.ts b/src/hooks/cloud.ts new file mode 100644 index 00000000..1f5d29df --- /dev/null +++ b/src/hooks/cloud.ts @@ -0,0 +1,91 @@ +import { useLayoutEffect } from "react"; +import { adapter } from "~/adapter"; +import { verifyAuthentication, refreshAccess, checkSessionExpiry } from "~/screens/cloud-manage/api/auth"; +import { useCloudStore } from "~/stores/cloud"; +import { useConfigStore } from "~/stores/config"; +import { CODE_RES_KEY, STATE_RES_KEY } from "~/util/storage"; +import { useIntent } from "./url"; + +/** + * Returns the actively selected organization + */ +export function useOrganization() { + const orgs = useCloudStore(s => s.organizations); + const active = useConfigStore(s => s.activeCloudOrg); + + return orgs.find(org => org.id === active); +} + +/** + * Returns whether the user is authenticated to Surreal Cloud + */ +export function useIsAuthenticated() { + return useCloudStore(s => s.authState === "authenticated"); +} + +/** + * Lists out the available regions for the current organization + */ +export function useAvailableRegions() { + const current = useOrganization(); + const regions = useCloudStore(s => s.regions); + const valid = new Set(current?.plan?.regions ?? []); + + return regions.filter(region => valid.has(region.slug)); +} + +/** + * Lists out the available instance types for the current organization + */ +export function useAvailableInstanceTypes() { + const current = useOrganization(); + const instanceTypes = useCloudStore(s => s.instanceTypes); + const valid = new Set(current?.plan?.instance_types?.map(t => t.slug) ?? []); + + return instanceTypes.filter(type => valid.has(type.slug)); +} + +/** + * Lists out the available instance versions + */ +export function useAvailableInstanceVersions() { + return useCloudStore(s => s.instanceVersions); +} + +/** + * Automatically set up the cloud authentication flow + */ +export function useCloudAuthentication() { + useLayoutEffect(() => { + const responseCode = sessionStorage.getItem(CODE_RES_KEY); + const responseState = sessionStorage.getItem(STATE_RES_KEY); + + // Check for configured redirect response, otherwise + // attempt to refresh the currently active session + if (responseCode && responseState) { + sessionStorage.removeItem(CODE_RES_KEY); + sessionStorage.removeItem(STATE_RES_KEY); + + verifyAuthentication(responseCode, responseState); + } else { + refreshAccess(); + } + + // Automatically refresh the session before it expires + setInterval(() => { + checkSessionExpiry(); + }, 1000 * 60 * 3); + }, []); + + // React to callback intents + useIntent("cloud-callback", (payload) => { + const { code, state } = payload; + + if (!code || !state) { + adapter.warn("Cloud", "Invalid cloud callback payload"); + return; + } + + verifyAuthentication(code, state); + }); +} \ No newline at end of file diff --git a/src/hooks/config.ts b/src/hooks/config.ts index 5086a3b2..91922bf2 100644 --- a/src/hooks/config.ts +++ b/src/hooks/config.ts @@ -7,6 +7,7 @@ const ACTIONS = { "appearance": "updateAppearanceSettings", "templates": "updateTemplateSettings", "serving": "updateServingSettings", + "cloud": "updateCloudSettings" } satisfies Record; /** diff --git a/src/hooks/connection.ts b/src/hooks/connection.ts index e1636ec2..7b818f73 100644 --- a/src/hooks/connection.ts +++ b/src/hooks/connection.ts @@ -1,3 +1,4 @@ +import compare from "semver-compare"; import { unique } from "radash"; import { useMemo } from "react"; import { SANDBOX } from "~/constants"; @@ -8,7 +9,14 @@ import { useDatabaseStore } from "~/stores/database"; * Returns whether Surrealist is connected to a database */ export function useIsConnected() { - return useDatabaseStore((s) => s.isConnected); + return useDatabaseStore((s) => s.currentState === "connected"); +} + +/** + * Returns whether Surrealist is connecting to a database + */ +export function useIsConnecting() { + return useDatabaseStore((s) => s.currentState === "connecting" || s.currentState === "retrying"); } /** @@ -68,4 +76,14 @@ export function useSavedQueryTags() { return useMemo(() => { return unique(queries.flatMap((q) => q.tags)); }, [queries]); +} + +/** + * Returns whether the current database version is at least the minimum version + */ +export function useMinimumVersion(minimum: string) { + const version = useDatabaseStore((s) => s.version); + const isGreater = !!version && compare(version, minimum) >= 0; + + return [isGreater, version] as const; } \ No newline at end of file diff --git a/src/hooks/event.ts b/src/hooks/event.ts index 5d0c43f3..c0beee01 100644 --- a/src/hooks/event.ts +++ b/src/hooks/event.ts @@ -72,3 +72,19 @@ export function useEventSubscription(bus: EventBus, callback: EventFn) }; }); } + +/** + * Create an event subscription which can be manually cleaned up. This function is + * intended for non-component code which needs to subscribe to events. + * + * @param bus The event bus to subscribe to + * @param callback The callback to invoke when an event is dispatched + * @returns Unsubscribe function + */ +export function createEventSubscription(bus: EventBus, callback: EventFn): () => void { + bus.listeners.add(callback); + + return () => { + bus.listeners.delete(callback); + }; +} \ No newline at end of file diff --git a/src/hooks/schema.ts b/src/hooks/schema.ts index 354fe06e..c5f03f00 100644 --- a/src/hooks/schema.ts +++ b/src/hooks/schema.ts @@ -72,7 +72,7 @@ export function useTableNames(mode: TableMode = "ALL") { */ export function useHasSchemaAccess() { const connection = useConnection(); - const authMode = connection?.connection?.authMode || "none"; + const authMode = connection?.authentication?.mode || "none"; return connection?.id == SANDBOX || authMode != "none" && authMode != "scope"; } diff --git a/src/hooks/theme.ts b/src/hooks/theme.ts index 7c5754bf..51a9da74 100644 --- a/src/hooks/theme.ts +++ b/src/hooks/theme.ts @@ -1,15 +1,52 @@ +import { useLayoutEffect, useState } from "react"; +import { ColorScheme } from "~/types"; +import { useSetting } from "./config"; import { useInterfaceStore } from "~/stores/interface"; +type Matchable = { matches: boolean }; + /** - * Returns the color scheme currently in use + * Returns whether the current color scheme is light or not */ -export function useColorScheme() { - return useInterfaceStore(s => s.colorScheme); +export function useIsLight() { + return useInterfaceStore(s => s.colorScheme === "light"); } /** - * Returns whether the current color scheme is light or not + * Compute the final color scheme based on the user's preference and the system's color scheme */ -export function useIsLight() { - return useColorScheme() === "light"; +export function useThemePreference(): ColorScheme { + const { setColorScheme } = useInterfaceStore.getState(); + const actualScheme = useInterfaceStore(state => state.colorScheme); + + // Listen for the preferred color scheme + const [preferredScheme] = useSetting("appearance", "colorScheme"); + + // Listen for the system color scheme + const [systemScheme, setSystemScheme] = useState("dark"); + + useLayoutEffect(() => { + const query = window.matchMedia('(prefers-color-scheme: light)'); + const compute = ({ matches }: Matchable) => setSystemScheme(matches ? "light" : "dark"); + + compute(query); + + query.addEventListener('change', compute); + }, []); + + // Compute the final color scheme + useLayoutEffect(() => { + setColorScheme(preferredScheme === "auto" ? systemScheme : preferredScheme); + }, [preferredScheme, setColorScheme, systemScheme]); + + return actualScheme; } + +/** + * Returns the image URL for the current theme + */ +export function useThemeImage(src: { light: string; dark: string }) { + const isLight = useIsLight(); + + return src[isLight ? "light" : "dark"]; +} \ No newline at end of file diff --git a/src/hooks/url.ts b/src/hooks/url.ts index a7310f6f..03fa75b7 100644 --- a/src/hooks/url.ts +++ b/src/hooks/url.ts @@ -1,53 +1,7 @@ -import posthog from "posthog-js"; -import { useDidUpdate, useWindowEvent } from "@mantine/hooks"; -import { useCallback, useEffect } from "react"; -import { VIEW_MODES } from "~/constants"; import { useConfigStore } from "~/stores/config"; -import { ViewMode } from "~/types"; import { IntentEvent } from "~/util/global-events"; import { useEventSubscription } from "./event"; -import { IntentPayload, IntentType, getIntentView, handleIntentRequest } from "~/util/intents"; - -/** - * Sync the active view to the URL and handle incoming intents - */ -export function useUrlHandler() { - const { setActiveView } = useConfigStore.getState(); - const activeView = useConfigStore((s) => s.activeView); - - const syncViewToUrl = useCallback(() => { - const url = location.pathname.toLowerCase(); - const params = new URLSearchParams(location.search); - const intent = params.get('intent'); - const views = Object.keys(VIEW_MODES) as ViewMode[]; - const target = views.find((v) => url === `/${v}`); - - if (target) { - setActiveView(target); - } else { - history.replaceState(null, document.title, `/${activeView}`); - } - - if (intent) { - handleIntentRequest(intent); - } - }, [activeView, setActiveView]); - - // Sync initial URL to active view - // eslint-disable-next-line react-hooks/exhaustive-deps - useEffect(syncViewToUrl, []); - - // Sync history change to active view - useWindowEvent('popstate', syncViewToUrl); - - // Sync active view to URL - useDidUpdate(() => { - if (location.pathname !== `/${activeView}`) { - history.pushState(null, document.title, `/${activeView}`); - posthog.capture('$pageview'); - } - }, [activeView]); -} +import { IntentPayload, IntentType, getIntentView } from "~/util/intents"; /** * Listen to the specified intent and invoke the handler when it is dispatched. @@ -78,4 +32,4 @@ export function dispatchIntent(intent: IntentType, payload?: IntentPayload) { } IntentEvent.dispatch({ type: intent, payload }); -} +} \ No newline at end of file diff --git a/src/providers/Confirmation/index.tsx b/src/providers/Confirmation/index.tsx index c3fe8dd0..5d8c15d0 100644 --- a/src/providers/Confirmation/index.tsx +++ b/src/providers/Confirmation/index.tsx @@ -1,7 +1,7 @@ import { Button, ButtonProps, Group, Text } from "@mantine/core"; import { Modal } from "@mantine/core"; import { PropsWithChildren, ReactNode, createContext, useContext, useState } from "react"; -import { ModalTitle } from "~/components/ModalTitle"; +import { PrimaryTitle } from "~/components/PrimaryTitle"; import { Spacer } from "~/components/Spacer"; import { useStable } from "~/hooks/stable"; @@ -71,13 +71,13 @@ export function ConfirmationProvider({ children }: PropsWithChildren) { {options?.title ?? DEFAULT_TITLE}} + title={{options?.title ?? DEFAULT_TITLE}} zIndex={210} > - + {options?.message} - + ))} - +
) : ( {props.missing} @@ -111,7 +113,7 @@ export function Lister(props: ListerProps) { onClose={closeEditor} trapFocus={false} title={ - {`Editing ${props.name}`} + {`Editing ${props.name}`} } > diff --git a/src/screens/database/views/designer/DesignDrawer/style.module.scss b/src/providers/Designer/style.module.scss similarity index 76% rename from src/screens/database/views/designer/DesignDrawer/style.module.scss rename to src/providers/Designer/style.module.scss index d6f58854..531344cb 100644 --- a/src/screens/database/views/designer/DesignDrawer/style.module.scss +++ b/src/providers/Designer/style.module.scss @@ -5,6 +5,10 @@ .accordion-item { background-color: var(--mantine-color-slate-7); border: none; + + @include light { + background-color: var(--mantine-color-slate-0); + } } .accordion-label { diff --git a/src/providers/Inspector/drawer.tsx b/src/providers/Inspector/drawer.tsx index a633771b..435eb1e7 100644 --- a/src/providers/Inspector/drawer.tsx +++ b/src/providers/Inspector/drawer.tsx @@ -7,14 +7,14 @@ import { useStable } from "~/hooks/stable"; import { Icon } from "~/components/Icon"; import { Spacer } from "~/components/Spacer"; import { HistoryHandle } from "~/hooks/history"; -import { ModalTitle } from "~/components/ModalTitle"; +import { PrimaryTitle } from "~/components/PrimaryTitle"; import { useInputState } from "@mantine/hooks"; import { RelationsTab } from "./tabs/relations"; import { ContentTab } from "./tabs/content"; import { useSaveable } from "~/hooks/save"; import { useConfirmation } from "../Confirmation"; -import { executeQuery } from "~/screens/database/connection"; -import { RecordId } from "surrealdb.js"; +import { executeQuery } from "~/screens/database/connection/connection"; +import { RecordId } from "surrealdb"; import { formatValue, parseValue } from "~/util/surrealql"; import { CodeInput } from "~/components/Inputs"; import { useValueValidator } from "~/hooks/surrealql"; @@ -156,15 +156,15 @@ export function InspectorDrawer({ opened, history, onClose, onRefresh }: Inspect > - + Record inspector - + diff --git a/src/providers/Inspector/index.tsx b/src/providers/Inspector/index.tsx index 4b3b22f3..9b24e806 100644 --- a/src/providers/Inspector/index.tsx +++ b/src/providers/Inspector/index.tsx @@ -4,7 +4,7 @@ import { HistoryHandle, useHistory } from "~/hooks/history"; import { useStable } from "~/hooks/stable"; import { InspectorDrawer } from "./drawer"; import { RecordsChangedEvent } from "~/util/global-events"; -import { RecordId } from "surrealdb.js"; +import { RecordId } from "surrealdb"; import { parseValue } from "~/util/surrealql"; type InspectFunction = (record: RecordId | string) => void; diff --git a/src/providers/Inspector/tabs/content.tsx b/src/providers/Inspector/tabs/content.tsx index fdc2046f..b80de66e 100644 --- a/src/providers/Inspector/tabs/content.tsx +++ b/src/providers/Inspector/tabs/content.tsx @@ -3,9 +3,10 @@ import classes from "../style.module.scss"; import { SaveBox } from "~/components/SaveBox"; import { CodeEditor } from "~/components/CodeEditor"; import { SaveableHandle } from "~/hooks/save"; -import { surrealql } from "codemirror-surrealql"; +import { surrealql } from "@surrealdb/codemirror"; import { surqlLinting, surqlRecordLinks } from "~/util/editor/extensions"; import { useInspector } from ".."; +import { lineNumbers } from "@codemirror/view"; export interface ContentTabProps { value: string; @@ -31,7 +32,8 @@ export function ContentTab({ value, onChange, saveHandle }: ContentTabProps) { extensions={[ surrealql(), surqlLinting(), - surqlRecordLinks(inspect) + surqlRecordLinks(inspect), + lineNumbers(), ]} /> diff --git a/src/providers/Inspector/tabs/relations.tsx b/src/providers/Inspector/tabs/relations.tsx index a7aa1079..9cbd43fb 100644 --- a/src/providers/Inspector/tabs/relations.tsx +++ b/src/providers/Inspector/tabs/relations.tsx @@ -1,6 +1,6 @@ import { Paper, Text } from "@mantine/core"; import { ScrollArea, Group } from "@mantine/core"; -import { RecordId } from "surrealdb.js"; +import { RecordId } from "surrealdb"; import { Icon } from "~/components/Icon"; import { RecordLink } from "~/components/RecordLink"; import { useIsLight } from "~/hooks/theme"; diff --git a/src/screens/cloud-callback/index.tsx b/src/screens/cloud-callback/index.tsx new file mode 100644 index 00000000..7e6551ac --- /dev/null +++ b/src/screens/cloud-callback/index.tsx @@ -0,0 +1,120 @@ +import classes from "./style.module.scss"; + +import { useCallback, useLayoutEffect, useRef, useState } from "react"; +import { Button, Image, MantineProvider, Stack, Text } from "@mantine/core"; +import { MANTINE_THEME } from "~/util/mantine"; +import { CODE_RES_KEY, STATE_RES_KEY } from "~/util/storage"; +import { isDevelopment } from "~/util/environment"; +import { useLogoUrl } from "~/hooks/brand"; + +type Result = "redirect" | "launch" | "error"; + +const REDIRECT_ENDPOINT = isDevelopment + ? "http://localhost:1420" + : `https://${location.host}`; + +export function CloudCallbackScreen() { + const [result, setResult] = useState("redirect"); + const [error, setError] = useState(undefined); + const logoUrl = useLogoUrl(); + const codeRef = useRef(""); + const stateRef = useRef(""); + + const launchApp = useCallback(() => { + const code = codeRef.current; + const state = stateRef.current; + + location.href = `surrealist://?intent=cloud-callback:code=${code},state=${state}`; + }, []); + + useLayoutEffect(() => { + const params = new URLSearchParams(window.location.search); + + const code = params.get("code"); + const state = params.get("state"); + const error = params.get("error"); + const error_description = params.get("error_description"); + + // An error occurred + if (error || error_description) { + setResult("error"); + setError(`An error occurred: ${error_description} (${error})`); + return; + } + + // Required parameters are missing + if (!code || !state) { + location.href = REDIRECT_ENDPOINT; + return; + } + + // Launch the desktop app + if (state.startsWith("desktop")) { + codeRef.current = code; + stateRef.current = state; + setResult("launch"); + launchApp(); + return; + } + + // Browser authentication redirect + if (state.startsWith("browser")) { + sessionStorage.setItem(CODE_RES_KEY, code); + sessionStorage.setItem(STATE_RES_KEY, state); + location.href = REDIRECT_ENDPOINT; + return; + } + + // Invalid + setResult("error"); + }, [launchApp]); + + return ( + + + + {result === "redirect" ? ( + + Redirecting... + + ) : result === "error" ? ( + <> + + {error ?? "Authentication could not be completed"} + + + + ) : ( + <> + + Opening Surrealist... + + + If the app does not open automatically, please click here to open it + + + You can close this tab once the app has opened + + + )} + + + ); +} diff --git a/src/screens/cloud-callback/style.module.scss b/src/screens/cloud-callback/style.module.scss new file mode 100644 index 00000000..e4d8162f --- /dev/null +++ b/src/screens/cloud-callback/style.module.scss @@ -0,0 +1,10 @@ +.root { + background-color: var(--mantine-color-slate-9); + height: 100%; + width: 100%; +} + +.launch { + cursor: pointer; + text-decoration: underline; +} \ No newline at end of file diff --git a/src/screens/cloud-manage/api/auth.tsx b/src/screens/cloud-manage/api/auth.tsx new file mode 100644 index 00000000..0efa511e --- /dev/null +++ b/src/screens/cloud-manage/api/auth.tsx @@ -0,0 +1,275 @@ +import { adapter } from "~/adapter"; +import { showError } from "~/util/helpers"; +import { useCloudStore } from "~/stores/cloud"; +import { CloudAuthEvent, CloudExpiredEvent } from "~/util/global-events"; +import { REFRESH_TOKEN_KEY, STATE_KEY, VERIFIER_KEY } from "~/util/storage"; +import { isDevelopment, isPreview } from "~/util/environment"; +import { fetchAPI, updateCloudInformation } from "."; +import { dispatchOnboarding } from "../onboarding"; +import { getCloudEndpoints } from "./endpoints"; + +const CLIENT_ID = import.meta.env.VITE_CLOUD_CLIENT_ID; +const VERIFIER_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~"; +const HOSTNAME = isPreview ? "beta.surrealist.app" : "surrealist.app"; + +const CALLBACK_ENDPOINT = isDevelopment + ? "http://localhost:1420/cloud/callback/index.html" + : `https://${HOSTNAME}/cloud/callback`; + +interface PKCE { + verifier: string; + challenge: string; +} + +/** + * Open the cloud authentication page + */ +export async function openCloudAuthentication() { + const { authBase } = getCloudEndpoints(); + + const state = adapter.id + randomString(50); + const pkce = await newPKCE(); + + localStorage.setItem(VERIFIER_KEY, pkce.verifier); + localStorage.setItem(STATE_KEY, state); + + const params = new URLSearchParams({ + client_id: CLIENT_ID, + redirect_uri: CALLBACK_ENDPOINT, + response_type: 'code', + provider: 'authkit', + code_challenge_method: 'S256', + code_challenge: pkce.challenge, + scope: 'openid profile email offline_access', + state, + audience: 'https://surrealdb.us.auth0.com/api/v2/', + }); + + adapter.openUrl(`${authBase}/authorize?${params.toString()}`, "internal"); +} + +/** + * Verify the authentication process using the provided + * code and state values. + * + * @param code The response code + * @param state The response state + */ +export async function verifyAuthentication(code: string, state: string) { + try { + const { setLoading } = useCloudStore.getState(); + const { authBase } = getCloudEndpoints(); + + adapter.log("Cloud", "Verifying authentication details"); + + const verifier = localStorage.getItem(VERIFIER_KEY); + const checkState = localStorage.getItem(STATE_KEY); + + localStorage.removeItem(VERIFIER_KEY); + localStorage.removeItem(STATE_KEY); + + if (state !== checkState) { + throw new Error("Invalid authentication state"); + } + + if (!verifier) { + throw new Error("Invalid authentication verifier"); + } + + setLoading(); + + const response = await adapter.fetch(`${authBase}/oauth/token`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + client_id: CLIENT_ID, + redirect_uri: CALLBACK_ENDPOINT, + grant_type: "authorization_code", + code_verifier: verifier, + code, + }) + }); + + const result = await response.json(); + + if (!result || result.error) { + throw new Error(`Invalid authentication response: ${result.error}`); + } + + localStorage.setItem(REFRESH_TOKEN_KEY, result.refresh_token); + + acquireSession(result.access_token); + } catch (err: any) { + console.error("Failed to verify authentication", err); + + invalidateSession(); + showError({ + title: "Authentication failed", + subtitle: "An error occurred while verifying the authentication details" + }); + } +} + +/** + * Refresh the current access token + */ +export async function refreshAccess() { + const { setLoading, setSessionExpired } = useCloudStore.getState(); + const { authBase } = getCloudEndpoints(); + + try { + const refreshToken = localStorage.getItem(REFRESH_TOKEN_KEY); + + adapter.log("Cloud", "Refreshing cloud access token"); + + if (!refreshToken) { + invalidateSession(); + return; + } + + setLoading(); + + const response = await adapter.fetch(`${authBase}/oauth/token`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + client_id: CLIENT_ID, + redirect_uri: CALLBACK_ENDPOINT, + grant_type: "refresh_token", + refresh_token: refreshToken, + }) + }); + + const result = await response.json(); + + if (!result || result.error) { + throw new Error(`Invalid authentication response: ${result.error}`); + } + + localStorage.setItem(REFRESH_TOKEN_KEY, result.refresh_token); + + acquireSession(result.access_token); + } catch (err: any) { + console.error("Failed to refresh access token", err); + + invalidateSession(); + setSessionExpired(true); + } +} + +/** + * Attempt to start a new session using the given access token + */ +export async function acquireSession(accessToken: string) { + try { + const { setSessionToken, setSessionExpired } = useCloudStore.getState(); + + adapter.log("Cloud", "Acquiring cloud session"); + + const result = await fetchAPI("/signin", { + method: 'POST', + body: JSON.stringify(accessToken) + }); + + setSessionToken(result.token); + await updateCloudInformation(); + + adapter.log("Cloud", `Session acquired`); + CloudAuthEvent.dispatch(null); + + setSessionExpired(false); + + if (!localStorage.getItem("surrealist:onboarded")) { + dispatchOnboarding(); + } + } catch (err: any) { + console.error("Failed to acquire session", err); + + invalidateSession(); + showError({ + title: "Authentication failed", + subtitle: "An unexpected error occurred while authenticating to Surreal Cloud" + }); + } +} + +/** + * Invalidate the current session + */ +export function invalidateSession() { + const { clearSession } = useCloudStore.getState(); + const wasAuthed = !!localStorage.getItem(REFRESH_TOKEN_KEY); + + adapter.log("Cloud", "Invalidating active session"); + + localStorage.removeItem(REFRESH_TOKEN_KEY); + + clearSession(); + + if (wasAuthed) { + CloudExpiredEvent.dispatch(null); + } +} + +/** + * Check for imminent session expiry and attempt to refresh + */ +export function checkSessionExpiry() { + const { sessionToken } = useCloudStore.getState(); + + if (!sessionToken) { + return; + } + + // Decode the JWT + const parts = sessionToken.split('.'); + + if (parts.length !== 3) { + throw new Error('Invalid JWT token'); + } + + // Extract the payload + // Check if the token is going to expire in the next 5 minutes + const expriry = JSON.parse(atob(parts[1])).exp; + + if (!expriry) { + return; + } + + const now = Date.now() / 1000; + + if (expriry - now < 300) { + refreshAccess(); + } +} + +function randomString(n: number): string { + let b = ""; + + for (let i = 0; i < n; i++) { + const y = Math.floor(Math.random() * VERIFIER_CHARS.length); + b += VERIFIER_CHARS[y]; + } + + return b; +} + +async function newPKCE(): Promise { + const verifier = randomString(50); + const encoded = new TextEncoder().encode(verifier); + const hashBuffer = await crypto.subtle.digest('SHA-256', encoded); + const hashArray = new Uint8Array(hashBuffer); + const challenge = btoa(String.fromCodePoint(...hashArray)) + .replaceAll("=", "") + .replaceAll("+", "-") + .replaceAll("/", "_"); + + return { + verifier, + challenge + }; +} diff --git a/src/screens/cloud-manage/api/endpoints.tsx b/src/screens/cloud-manage/api/endpoints.tsx new file mode 100644 index 00000000..57d25375 --- /dev/null +++ b/src/screens/cloud-manage/api/endpoints.tsx @@ -0,0 +1,17 @@ +import { useConfigStore } from "~/stores/config"; +import { featureFlags } from "~/util/feature-flags"; + +const CLOUD_AUTH_BASE = "https://surrealdb.us.auth0.com"; +const CLOUD_API_BASE = "https://api.surrealdb.cloud/api/v1"; +const CLOUD_API_MGMT_BASE = "https://api.surrealdb.cloud/management/v1"; + +export function getCloudEndpoints() { + const { urlAuthBase, urlApiBase, urlApiMgmtBase } = useConfigStore.getState().settings.cloud; + const isCustom = featureFlags.get("cloud_endpoints") === "custom"; + + return { + authBase: isCustom ? urlAuthBase : CLOUD_AUTH_BASE, + apiBase: isCustom ? urlApiBase : CLOUD_API_BASE, + mgmtBase: isCustom ? urlApiMgmtBase : CLOUD_API_MGMT_BASE + }; +} \ No newline at end of file diff --git a/src/screens/cloud-manage/api/index.tsx b/src/screens/cloud-manage/api/index.tsx new file mode 100644 index 00000000..9d5c52c6 --- /dev/null +++ b/src/screens/cloud-manage/api/index.tsx @@ -0,0 +1,117 @@ +import posthog from "posthog-js"; +import { adapter } from "~/adapter"; +import { useCloudStore } from "~/stores/cloud"; +import { useConfigStore } from "~/stores/config"; +import { CloudProfile, CloudInstanceType, CloudRegion, CloudOrganization, CloudBillingCountry } from "~/types"; +import { getCloudEndpoints } from "./endpoints"; + +export interface APIRequestInit extends RequestInit { + management?: boolean; +} + +/** + * Execute a fetch request against the API and returns + * the JSON response + */ +export async function fetchAPI(path: string, options?: APIRequestInit | undefined): Promise { + const { sessionToken } = useCloudStore.getState(); + const { apiBase, mgmtBase } = getCloudEndpoints(); + + const baseUrl = options?.management ? mgmtBase : apiBase; + const headers: Record = { + 'Content-Type': 'application/json' + }; + + if (sessionToken) { + headers['Authorization'] = `Bearer ${sessionToken}`; + } + + const response = await adapter.fetch(`${baseUrl}${path}`, { + headers: { + ...headers, + ...options?.headers + }, + ...options + }); + + if (!response.ok) { + const error = new ApiError(response); + + posthog.capture('cloud_api_error', { + status: response.status, + endpoint: path, + message: await error.errorMessage() + }); + + throw new ApiError(response); + } + + if (response.headers.get("Content-Type")?.startsWith("application/json")) { + return await response.json(); + } + + return {} as T; +} + +/** + * Fetch essential information from the API + */ +export async function updateCloudInformation() { + const { setCloudValues } = useCloudStore.getState(); + const { activeCloudOrg, setActiveCloudOrg } = useConfigStore.getState(); + + const [ + profile, + instanceTypes, + instanceVersions, + regions, + billingCountries + ] = await Promise.all([ + fetchAPI("/user/profile"), + fetchAPI("/instancetypes"), + fetchAPI("/instanceversions"), + fetchAPI("/regions"), + fetchAPI("/billingcountries"), + ]); + + const organization = await fetchAPI(`/organizations/${profile.default_org}`); + + setCloudValues({ + profile, + instanceTypes, + instanceVersions, + regions, + organizations: [organization], + billingCountries, + }); + + if (activeCloudOrg === "") { + setActiveCloudOrg(profile.default_org); + } +} + +/** + * Error response from the API + */ +export class ApiError extends Error { + + public response: Response; + + public constructor(response: Response) { + super(`Request failed for "${response.url}" (${response.status}): ${response.statusText}`); + this.response = response; + } + + public isJson() { + return this.response.headers.get("Content-Type")?.startsWith("application/json") ?? false; + } + + public async errorMessage() { + if (!this.isJson()) return ""; + + const { message } = await this.response.json(); + + return message; + } + +} \ No newline at end of file diff --git a/src/screens/cloud-manage/components/Instance/index.tsx b/src/screens/cloud-manage/components/Instance/index.tsx new file mode 100644 index 00000000..47120157 --- /dev/null +++ b/src/screens/cloud-manage/components/Instance/index.tsx @@ -0,0 +1,246 @@ +import classes from "./style.module.scss"; +import { Paper, Stack, Group, Menu, ActionIcon, Text, Badge, Button, Table, MantineColor } from "@mantine/core"; +import { iconDotsVertical, iconMarker, iconChevronDown, iconAPI, iconConsole, iconMemory, iconTag, iconPower } from "~/util/icons"; +import { Spacer } from "~/components/Spacer"; +import { Icon } from "~/components/Icon"; +import { CloudInstance, InstanceState } from "~/types"; +import { fetchAPI } from "../../api"; +import { showError, showInfo } from "~/util/helpers"; +import { useConfirmation } from "~/providers/Confirmation"; +import { useCloudStore } from "~/stores/cloud"; + +export type ConnectMethod = "sdk" | "cli" | "surrealist"; + +const BADGE_INFO = { + creating: ["blue", "Creating"], + updating: ["blue", "Updating"], + deleting: ["red", "Deleting"], + inactive: ["red.4", "Inactive"] +} satisfies Partial>; + +interface StateBadgeProps { + state: InstanceState; + small?: boolean; +} + +function StateBadge({ + state, + small +}: StateBadgeProps) { + if (state === "ready") { + return; + } + + const [color, text] = BADGE_INFO[state]; + + return ( + + {text} + + ); +} + +export interface Instance { + type: "card" | "row"; + value: CloudInstance; + onDelete: () => void; + onConnect: (method: ConnectMethod, db: CloudInstance) => void; + onOpenSettings: (db: CloudInstance) => void; +} + +export function Instance({ + type, + value, + onDelete, + onConnect, + onOpenSettings, +}: Instance) { + const inactive = value.state === "inactive"; + const regions = useCloudStore(s => s.regions); + const regionName = regions.find(r => r.slug === value.region)?.description ?? value.region; + + const handleDelete = useConfirmation({ + message: "You are about to delete this instance. This will cause all associated resources to be destroyed", + confirmText: "Delete", + title: "Delete instance", + onConfirm: async () => { + try { + await fetchAPI(`/instances/${value.id}`, { + method: "DELETE" + }); + + showInfo({ + title: "Deleting instance", + subtitle: ( + <> + {value.name} is being deleted + + ) + }); + } catch (err: any) { + showError({ + title: "Failed to delete instance", + subtitle: err.message + }); + } finally { + onDelete(); + } + }, + }); + + const actionList = ( + + + + + + + + onOpenSettings(value)} + > + Settings... + + + {/* + {inactive ? "Activate" : "Deactivate"} instance + */} + + Delete instance + + + + ); + + const connectionList = ( + + + + + + onConnect("surrealist", value)} + > + Open in Surrealist... + + + } + onClick={() => onConnect("cli", value)} + > + Command-line + + } + onClick={() => onConnect("sdk", value)} + > + Client SDK + + + + ); + + return type === "card" ? ( + + + + {value.name} + + + + {actionList} + + + + + {value.type.slug} + + + + + + {regionName} + + + + + + + SurrealDB {value.version} + + + + {inactive ? ( + + ) : ( + connectionList + )} + + + ) : ( + + + + + {value.name} + + + + + + {value.type.slug} + + + {regionName} + + + SurrealDB 2.0 + + + + {actionList} + {connectionList} + + + + ); +} diff --git a/src/screens/cloud-manage/components/Instance/style.module.scss b/src/screens/cloud-manage/components/Instance/style.module.scss new file mode 100644 index 00000000..b9af6212 --- /dev/null +++ b/src/screens/cloud-manage/components/Instance/style.module.scss @@ -0,0 +1,8 @@ +.copy-host { + transition: opacity 0.15s; + opacity: 0; + + .root:hover &, .root:focus-within & { + opacity: 1; + } +} \ No newline at end of file diff --git a/src/screens/cloud-manage/components/Section/index.tsx b/src/screens/cloud-manage/components/Section/index.tsx new file mode 100644 index 00000000..4ea3c78a --- /dev/null +++ b/src/screens/cloud-manage/components/Section/index.tsx @@ -0,0 +1,32 @@ +import { Box, Stack, Text } from "@mantine/core"; +import { PropsWithChildren, ReactNode } from "react"; +import { PrimaryTitle } from "~/components/PrimaryTitle"; + +export interface SectionProps { + title: ReactNode; + description?: ReactNode; + withMaxWidth?: boolean; +} + +export function Section({ + title, + description, + withMaxWidth, + children, +}: PropsWithChildren) { + return ( + + + {title} + + {description && ( + + {description} + + )} + + {children} + + + ); +} \ No newline at end of file diff --git a/src/screens/cloud-manage/components/StatusAlert/index.tsx b/src/screens/cloud-manage/components/StatusAlert/index.tsx new file mode 100644 index 00000000..8ef4b319 --- /dev/null +++ b/src/screens/cloud-manage/components/StatusAlert/index.tsx @@ -0,0 +1,35 @@ +import { Alert } from "@mantine/core"; +import { Icon } from "~/components/Icon"; +import { useIsLight } from "~/hooks/theme"; +import { AlertLevel, CloudAlert } from "~/types"; +import { iconErrorCircle, iconHelp, iconWarning } from "~/util/icons"; + +type LevelInfoMap = Record; + +const INFO_MAP = { + info: [iconHelp, "blue.3", "blue.5", "Info"], + warning: [iconWarning, "orange.4", "orange.6", "Warning"], + important: [iconErrorCircle, "red.5", "red.6", "Important"], +} satisfies LevelInfoMap; + +export interface StatusAlertProps { + alert: CloudAlert; +} + +export function StatusAlert({ + alert, +}: StatusAlertProps) { + const isLight = useIsLight(); + const [icon, colorDark, colorLight, title] = INFO_MAP[alert.message_type]; + + return ( + } + mb="xs" + > + {alert.message} + + ); +} \ No newline at end of file diff --git a/src/screens/cloud-manage/components/Tile/index.tsx b/src/screens/cloud-manage/components/Tile/index.tsx new file mode 100644 index 00000000..5e464be8 --- /dev/null +++ b/src/screens/cloud-manage/components/Tile/index.tsx @@ -0,0 +1,29 @@ +import classes from "./style.module.scss"; +import { Paper, PaperProps, UnstyledButton, createPolymorphicComponent } from "@mantine/core"; +import clsx from "clsx"; +import { forwardRef } from "react"; + +export interface TileProps extends PaperProps { + isActive?: boolean; + children: React.ReactNode; +} + +export const Tile = createPolymorphicComponent<'button', TileProps>( + forwardRef(({ + isActive, + children, + className, + ...other + }, ref) => ( + } + className={clsx(classes.root, className)} + mod={{ active: isActive }} + {...other} + > + {children} + + )) +); \ No newline at end of file diff --git a/src/screens/cloud-manage/components/Tile/style.module.scss b/src/screens/cloud-manage/components/Tile/style.module.scss new file mode 100644 index 00000000..9aafd6fb --- /dev/null +++ b/src/screens/cloud-manage/components/Tile/style.module.scss @@ -0,0 +1,22 @@ +.root { + border: 1px solid transparent; + border-radius: var(--mantine-radius-md); + background-color: var(--mantine-color-slate-9); + + &[data-active] { + border-color: var(--mantine-color-surreal-6); + } + + &:focus-visible { + outline: none; + border-color: var(--mantine-color-slate-3); + + &[data-active] { + border-color: var(--mantine-color-surreal-3); + } + } + + @include light { + background-color: var(--mantine-color-slate-0); + } +} \ No newline at end of file diff --git a/src/screens/cloud-manage/hooks/billing.tsx b/src/screens/cloud-manage/hooks/billing.tsx new file mode 100644 index 00000000..7a5f277a --- /dev/null +++ b/src/screens/cloud-manage/hooks/billing.tsx @@ -0,0 +1,19 @@ +import { useQuery } from "@tanstack/react-query"; +import { useCloudStore } from "~/stores/cloud"; +import { CloudBilling } from "~/types"; +import { fetchAPI } from "../api"; + +/** + * Fetch organization billing details + */ +export function useCloudBilling(organization?: string) { + const authState = useCloudStore((state) => state.authState); + + return useQuery({ + queryKey: ["cloud", "billing", organization], + enabled: !!organization && authState === "authenticated", + queryFn: async () => { + return fetchAPI(`/organizations/${organization}/billing`); + }, + }); +} \ No newline at end of file diff --git a/src/screens/cloud-manage/hooks/payments.tsx b/src/screens/cloud-manage/hooks/payments.tsx new file mode 100644 index 00000000..6247f735 --- /dev/null +++ b/src/screens/cloud-manage/hooks/payments.tsx @@ -0,0 +1,19 @@ +import { useQuery } from "@tanstack/react-query"; +import { useCloudStore } from "~/stores/cloud"; +import { CloudPayment } from "~/types"; +import { fetchAPI } from "../api"; + +/** + * Fetch organization payment details + */ +export function useCloudPayments(organization?: string) { + const authState = useCloudStore((state) => state.authState); + + return useQuery({ + queryKey: ["cloud", "payments", organization], + enabled: !!organization && authState === "authenticated", + queryFn: async () => { + return fetchAPI(`/organizations/${organization}/payment`); + }, + }); +} \ No newline at end of file diff --git a/src/screens/cloud-manage/index.tsx b/src/screens/cloud-manage/index.tsx new file mode 100644 index 00000000..6d977d47 --- /dev/null +++ b/src/screens/cloud-manage/index.tsx @@ -0,0 +1,22 @@ +import { Stack } from "@mantine/core"; +import {useIsLight } from "~/hooks/theme"; +import { CloudView } from "./view"; +import { Scaffold } from "~/components/Scaffold"; + +export function CloudManageScreen() { + const isLight = useIsLight(); + + return ( + + + + + + ); +} \ No newline at end of file diff --git a/src/screens/cloud-manage/modals/billing.tsx b/src/screens/cloud-manage/modals/billing.tsx new file mode 100644 index 00000000..0fa6bad4 --- /dev/null +++ b/src/screens/cloud-manage/modals/billing.tsx @@ -0,0 +1,217 @@ +import { Button, Group, Select, SimpleGrid, Stack, Text, TextInput } from "@mantine/core"; +import { closeModal, openModal } from "@mantine/modals"; +import { Form } from "~/components/Form"; +import { Icon } from "~/components/Icon"; +import { PrimaryTitle } from "~/components/PrimaryTitle"; +import { useOrganization } from "~/hooks/cloud"; +import { useStable } from "~/hooks/stable"; +import { CloudBilling, CloudOrganization } from "~/types"; +import { useCloudBilling } from "../hooks/billing"; +import { useImmer } from "use-immer"; +import { Spacer } from "~/components/Spacer"; +import { useState } from "react"; +import { fetchAPI } from "../api"; +import { useQueryClient } from "@tanstack/react-query"; +import { useCloudStore } from "~/stores/cloud"; +import { shake } from "radash"; +import { iconAccount } from "~/util/icons"; + +export async function openBillingModal() { + return new Promise((resolve) => { + openModal({ + modalId: "billing", + size: "lg", + onClose: resolve, + title: ( + + + Billing Details + + ), + children: ( + + ) + }); + }); +} + +function BillingModal() { + const organization = useOrganization(); + const details = useCloudBilling(organization?.id); + + return (details.data && organization) ? ( + + ) : ( + + Loading... + + ); +} + +interface BillingFormProps { + organization: CloudOrganization; + details: CloudBilling; +} + +function BillingForm({ + organization, + details +}: BillingFormProps) { + const [data, setData] = useImmer(details); + const [isLoading, setLoading] = useState(false); + const queryClient = useQueryClient(); + + const countryList = useCloudStore((state) => state.billingCountries) + .map((country) => ({ + value: country.code, + label: country.name + })); + + const handleClose = useStable(() => { + closeModal("billing"); + }); + + const handleSubmit = useStable(async () => { + setLoading(true); + + try { + await fetchAPI(`/organizations/${organization.id}/billing`, { + method: "PUT", + body: JSON.stringify(shake(data, e => !e)) + }); + + handleClose(); + + queryClient.invalidateQueries({ + queryKey: ["cloud", "billing", organization.id] + }); + } finally { + setLoading(false); + } + }); + + return ( +
+ + setData((d) => { + d.Name = e.target.value; + })} + /> + setData((d) => { + d.LegalName = e.target.value; + })} + /> + + setData((d) => { + d.Email = e.target.value; + })} + /> + setData((d) => { + d.Phone = e.target.value; + })} + /> + + setData((d) => { + d.TaxIdentificationNumber = e.target.value; + })} + /> + +