diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..025dd8c --- /dev/null +++ b/.editorconfig @@ -0,0 +1,8 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 2 +indent_style = space +insert_final_newline = true diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..c74f7c0 --- /dev/null +++ b/.env.example @@ -0,0 +1,12 @@ +HOST=0.0.0.0 +PORT=8082 + +NUXT_PUBLIC_MIXPANEL_TOKEN_ID=acd87c5a50b56df91a795e999812a3a4 +NUXT_PUBLIC_MIXPANEL_API_HOST=https://analytics.speckle.systems + +SPECKLE_ACCOUNT_ID=undefined +SPECKLE_TOKEN=undefined +SPECKLE_USER_ID=undefined +SPECKLE_URL=undefined +SPECKLE_SAMPLE_PROJECT_ID=undefined +SPECKLE_SAMPLE_MODEL_ID=undefined \ No newline at end of file diff --git a/.eslintcache b/.eslintcache new file mode 100644 index 0000000..e06b005 --- /dev/null +++ b/.eslintcache @@ -0,0 +1 @@ +[{"/home/fabis/Code/speckle/speckle-server/packages/dui3/components/header/UserAccount.vue":"1","/home/fabis/Code/speckle/speckle-server/packages/dui3/components/header/UserMenu.vue":"2","/home/fabis/Code/speckle/speckle-server/packages/dui3/eslint.config.mjs":"3","/home/fabis/Code/speckle/speckle-server/packages/dui3/lib/accounts/composables/setup.ts":"4","/home/fabis/Code/speckle/speckle-server/packages/dui3/lib/bridge/sketchup.ts":"5","/home/fabis/Code/speckle/speckle-server/packages/dui3/lib/core/configs/apollo.ts":"6","/home/fabis/Code/speckle/speckle-server/packages/dui3/nuxt.config.ts":"7","/home/fabis/Code/speckle/speckle-server/packages/dui3/pages/test.vue":"8","/home/fabis/Code/speckle/speckle-server/packages/dui3/store/documentInfo.ts":"9","/home/fabis/Code/speckle/speckle-server/packages/dui3/store/uiConfig.ts":"10"},{"size":1778,"mtime":1746791265927,"results":"11","hashOfConfig":"12"},{"size":4013,"mtime":1746792386391,"results":"13","hashOfConfig":"12"},{"size":3414,"mtime":1746791026344,"results":"14","hashOfConfig":"15"},{"size":4189,"mtime":1746793749374,"results":"16","hashOfConfig":"17"},{"size":5468,"mtime":1746791768634,"results":"18","hashOfConfig":"17"},{"size":10366,"mtime":1746793776685,"results":"19","hashOfConfig":"17"},{"size":2192,"mtime":1746792232360,"results":"20","hashOfConfig":"17"},{"size":4278,"mtime":1746792415762,"results":"21","hashOfConfig":"22"},{"size":680,"mtime":1746791283346,"results":"23","hashOfConfig":"17"},{"size":878,"mtime":1746791257987,"results":"24","hashOfConfig":"17"},{"filePath":"25","messages":"26","suppressedMessages":"27","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"x0whug",{"filePath":"28","messages":"29","suppressedMessages":"30","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"31","messages":"32","suppressedMessages":"33","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"xgr6d3",{"filePath":"34","messages":"35","suppressedMessages":"36","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"14esv3d",{"filePath":"37","messages":"38","suppressedMessages":"39","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"40","messages":"41","suppressedMessages":"42","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"43","messages":"44","suppressedMessages":"45","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"46","messages":"47","suppressedMessages":"48","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1qmr9kz",{"filePath":"49","messages":"50","suppressedMessages":"51","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"52","messages":"53","suppressedMessages":"54","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/home/fabis/Code/speckle/speckle-server/packages/dui3/components/header/UserAccount.vue",[],[],"/home/fabis/Code/speckle/speckle-server/packages/dui3/components/header/UserMenu.vue",[],[],"/home/fabis/Code/speckle/speckle-server/packages/dui3/eslint.config.mjs",[],[],"/home/fabis/Code/speckle/speckle-server/packages/dui3/lib/accounts/composables/setup.ts",[],[],"/home/fabis/Code/speckle/speckle-server/packages/dui3/lib/bridge/sketchup.ts",[],["55","56","57","58"],"/home/fabis/Code/speckle/speckle-server/packages/dui3/lib/core/configs/apollo.ts",[],["59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78"],"/home/fabis/Code/speckle/speckle-server/packages/dui3/nuxt.config.ts",[],[],"/home/fabis/Code/speckle/speckle-server/packages/dui3/pages/test.vue",[],[],"/home/fabis/Code/speckle/speckle-server/packages/dui3/store/documentInfo.ts",[],[],"/home/fabis/Code/speckle/speckle-server/packages/dui3/store/uiConfig.ts",[],[],{"ruleId":"79","severity":2,"message":"80","line":109,"column":7,"nodeType":"81","messageId":"82","endLine":109,"endColumn":17,"suppressions":"83"},{"ruleId":"79","severity":2,"message":"84","line":111,"column":7,"nodeType":"81","messageId":"82","endLine":111,"endColumn":19,"suppressions":"85"},{"ruleId":"86","severity":2,"message":"87","line":137,"column":24,"nodeType":"88","messageId":"89","endLine":137,"endColumn":38,"suggestions":"90","suppressions":"91"},{"ruleId":"92","severity":2,"message":"93","line":157,"column":5,"nodeType":"88","messageId":"94","endLine":159,"endColumn":6,"suppressions":"95"},{"ruleId":"96","severity":2,"message":"97","line":45,"column":65,"nodeType":"98","messageId":"99","endLine":45,"endColumn":76,"suppressions":"100"},{"ruleId":"101","severity":2,"message":"102","line":48,"column":15,"nodeType":"103","messageId":"104","endLine":48,"endColumn":30,"suppressions":"105"},{"ruleId":"101","severity":2,"message":"102","line":53,"column":15,"nodeType":"103","messageId":"104","endLine":53,"endColumn":54,"suppressions":"106"},{"ruleId":"96","severity":2,"message":"97","line":57,"column":58,"nodeType":"98","messageId":"99","endLine":57,"endColumn":69,"suppressions":"107"},{"ruleId":"101","severity":2,"message":"102","line":60,"column":15,"nodeType":"103","messageId":"104","endLine":60,"endColumn":30,"suppressions":"108"},{"ruleId":"96","severity":2,"message":"97","line":66,"column":58,"nodeType":"98","messageId":"99","endLine":66,"endColumn":69,"suppressions":"109"},{"ruleId":"101","severity":2,"message":"102","line":69,"column":15,"nodeType":"103","messageId":"104","endLine":69,"endColumn":30,"suppressions":"110"},{"ruleId":"96","severity":2,"message":"97","line":75,"column":60,"nodeType":"98","messageId":"99","endLine":75,"endColumn":71,"suppressions":"111"},{"ruleId":"101","severity":2,"message":"102","line":78,"column":15,"nodeType":"103","messageId":"104","endLine":78,"endColumn":30,"suppressions":"112"},{"ruleId":"96","severity":2,"message":"97","line":90,"column":61,"nodeType":"98","messageId":"99","endLine":90,"endColumn":72,"suppressions":"113"},{"ruleId":"101","severity":2,"message":"102","line":93,"column":15,"nodeType":"103","messageId":"104","endLine":93,"endColumn":30,"suppressions":"114"},{"ruleId":"101","severity":2,"message":"115","line":152,"column":45,"nodeType":"116","messageId":"104","endLine":152,"endColumn":58,"suppressions":"117"},{"ruleId":"96","severity":2,"message":"118","line":152,"column":46,"nodeType":"119","messageId":"120","endLine":152,"endColumn":57,"suppressions":"121"},{"ruleId":"96","severity":2,"message":"97","line":157,"column":59,"nodeType":"98","messageId":"99","endLine":157,"endColumn":70,"suppressions":"122"},{"ruleId":"101","severity":2,"message":"102","line":160,"column":15,"nodeType":"103","messageId":"104","endLine":160,"endColumn":30,"suppressions":"123"},{"ruleId":"101","severity":2,"message":"102","line":164,"column":45,"nodeType":"81","messageId":"104","endLine":164,"endColumn":53,"suppressions":"124"},{"ruleId":"101","severity":2,"message":"102","line":167,"column":45,"nodeType":"81","messageId":"104","endLine":167,"endColumn":53,"suppressions":"125"},{"ruleId":"101","severity":2,"message":"102","line":170,"column":45,"nodeType":"81","messageId":"104","endLine":170,"endColumn":53,"suppressions":"126"},{"ruleId":"101","severity":2,"message":"102","line":181,"column":45,"nodeType":"81","messageId":"104","endLine":181,"endColumn":53,"suppressions":"127"},{"ruleId":"96","severity":2,"message":"97","line":273,"column":7,"nodeType":"98","messageId":"99","endLine":276,"endColumn":8,"suppressions":"128"},"camelcase","Identifier 'request_id' is not in camel case.","Identifier","notCamelCase",["129"],"Identifier 'binding_name' is not in camel case.",["130"],"no-prototype-builtins","Do not access Object.prototype method 'hasOwnProperty' from target object.","CallExpression","prototypeBuildIn",["131"],["132"],"no-alert","Unexpected alert.","unexpected",["133"],"@typescript-eslint/no-unsafe-assignment","Unsafe assignment of an `any` value.","Property","anyAssignment",["134"],"@typescript-eslint/no-unsafe-return","Unsafe return of a value of type `any`.","ReturnStatement","unsafeReturn",["135"],["136"],["137"],["138"],["139"],["140"],["141"],["142"],["143"],["144"],"Unsafe return of a value of type `any[]`.","ArrayExpression",["145"],"Unsafe spread of an `any` value in an array.","SpreadElement","unsafeArraySpread",["146"],["147"],["148"],["149"],["150"],["151"],["152"],["153"],{"kind":"154","justification":"155"},{"kind":"154","justification":"155"},{"messageId":"156","data":"157","fix":"158","desc":"159"},{"kind":"154","justification":"155"},{"kind":"154","justification":"155"},{"kind":"154","justification":"155"},{"kind":"154","justification":"155"},{"kind":"154","justification":"155"},{"kind":"154","justification":"155"},{"kind":"154","justification":"155"},{"kind":"154","justification":"155"},{"kind":"154","justification":"155"},{"kind":"154","justification":"155"},{"kind":"154","justification":"155"},{"kind":"154","justification":"155"},{"kind":"154","justification":"155"},{"kind":"154","justification":"155"},{"kind":"154","justification":"155"},{"kind":"154","justification":"155"},{"kind":"154","justification":"155"},{"kind":"154","justification":"155"},{"kind":"154","justification":"155"},{"kind":"154","justification":"155"},{"kind":"154","justification":"155"},{"kind":"154","justification":"155"},"directive","","callObjectPrototype",{"prop":"160"},{"range":"161","text":"162"},"Call Object.prototype.hasOwnProperty explicitly.","hasOwnProperty",[4763,4783],"Object.prototype.hasOwnProperty.call(data, "] \ No newline at end of file diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..af3ad12 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,4 @@ +/.yarn/** linguist-vendored +/.yarn/releases/* binary +/.yarn/plugins/**/* binary +/.pnp.* binary linguist-generated diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..754bbd8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,18 @@ +node_modules +*.log* +.nuxt +.nitro +.cache +.output +.env +dist +.DS_Store +.env + +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..0582491 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,18 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. + // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp + + // List of extensions which should be recommended for users of this workspace. + "recommendations": [ + "dbaeumer.vscode-eslint", + "esbenp.prettier-vscode", + "Vue.volar", + "bradlc.vscode-tailwindcss", + "stylelint.vscode-stylelint", + "cpylua.language-postcss", + "graphql.vscode-graphql", + "graphql.vscode-graphql-syntax" + ], + // List of extensions recommended by VS Code that should not be recommended for users of this workspace. + "unwantedRecommendations": ["octref.vetur"] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..a6b3313 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,61 @@ +{ + "css.validate": false, + "less.validate": false, + "scss.validate": false, + "stylelint.validate": ["css", "scss", "vue", "postcss"], + "stylelint.enable": true, + "javascript.suggest.autoImports": true, + "typescript.suggest.autoImports": true, + "typescript.preferences.importModuleSpecifier": "non-relative", + "javascript.preferences.importModuleSpecifier": "non-relative", + + "explorer.confirmDelete": false, + "files.associations": { + "*.vue": "vue" + }, + "editor.formatOnPaste": true, + "editor.multiCursorModifier": "ctrlCmd", + "editor.snippetSuggestions": "top", + "editor.formatOnSave": true, + "editor.codeActionsOnSave": { + "source.fixAll.eslint": "explicit" + }, + "editor.defaultFormatter": "esbenp.prettier-vscode", + "search.useParentIgnoreFiles": true, + "[html]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "files.eol": "\n", + "cSpell.words": [ + "Automations", + "Bursty", + "discoverability", + "Encryptor", + "Gendo", + "GENDOAI", + "Insertable", + "mjml", + "multiregion", + "OIDC", + "Prorotation" + ], + "editor.tabSize": 2, + "search.exclude": { + "**/node_modules": true, + "**/bower_components": true, + "**/*.code-search": true, + "**/.nuxt": true, + "**/.output": true + }, + "[vue]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[dockercompose]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[json]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "vue.complete.casing.props": "kebab", + "vue.inlayHints.missingProps": true +} diff --git a/.yarnrc.yml b/.yarnrc.yml new file mode 100644 index 0000000..8b757b2 --- /dev/null +++ b/.yarnrc.yml @@ -0,0 +1 @@ +nodeLinker: node-modules \ No newline at end of file diff --git a/README.md b/README.md index d4163a3..54ccd70 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,40 @@ -# speckle-connectors-dui -Web UI to use accross connectors (aka dui3) +# dui3 + +DUIv3 is a Speckle interface embedded inside the desktop connectors that allows users to interact with them - sync streams, manage servers etc. It's built in Vue 3 with Nuxt 3 and only supports client side rendering. + +Look at the [Nuxt 3 documentation](https://nuxt.com/docs/getting-started/introduction) to learn more. + +## Setup + +Make sure to install the dependencies: + +```bash +# yarn +yarn install +``` + +And create an `.env` file from `.env.example`. + +## Development Server + +Start the development server on `http://localhost:3000` + +```bash +npm run dev +``` + +## Production + +Build the application for production: + +```bash +npm run build +``` + +Locally preview production build: + +```bash +npm run preview +``` + +Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information... diff --git a/app.vue b/app.vue new file mode 100644 index 0000000..54723b2 --- /dev/null +++ b/app.vue @@ -0,0 +1,55 @@ + + + diff --git a/assets/css/tailwind.css b/assets/css/tailwind.css new file mode 100644 index 0000000..98adc61 --- /dev/null +++ b/assets/css/tailwind.css @@ -0,0 +1,30 @@ +/* stylelint-disable selector-id-pattern */ +@import '@speckle/ui-components/style.css'; +@tailwind base; +@tailwind components; +@tailwind utilities; + +/** + * Don't pollute this - it's going to be bundled in all pages! + */ + +/** + * Making sure page is always stretched to the bottom of the screen even if there's nothing in it + */ +html, +body, +div#__nuxt, +div#__nuxt > div { + min-height: 100%; +} + +html, +body, +div#__nuxt { + height: 100%; +} + +.tippy-content { + @apply text-body-3xs; + @apply !px-2 !py-1; +} diff --git a/assets/images/speckle_logo_big.png b/assets/images/speckle_logo_big.png new file mode 100644 index 0000000..c2a7002 Binary files /dev/null and b/assets/images/speckle_logo_big.png differ diff --git a/codegen.ts b/codegen.ts new file mode 100644 index 0000000..1614f18 --- /dev/null +++ b/codegen.ts @@ -0,0 +1,28 @@ +import type { CodegenConfig } from '@graphql-codegen/cli' + +const config: CodegenConfig = { + schema: 'http://127.0.0.1:3000/graphql', + documents: ['{lib,components,layouts,pages,middleware}/**/*.{vue,js,ts}'], + ignoreNoDocuments: true, // for better experience with the watcher + generates: { + './lib/common/generated/gql/': { + preset: 'client', + config: { + useTypeImports: true, + fragmentMasking: false, + dedupeFragments: true, + scalars: { + JSONObject: '{}', + DateTime: 'string' + } + }, + presetConfig: { + fragmentMasking: false, + dedupeFragments: true + }, + plugins: [] + } + } +} + +export default config diff --git a/components/accounts/Item.vue b/components/accounts/Item.vue new file mode 100644 index 0000000..1a6754d --- /dev/null +++ b/components/accounts/Item.vue @@ -0,0 +1,93 @@ + + diff --git a/components/accounts/Menu.vue b/components/accounts/Menu.vue new file mode 100644 index 0000000..320fbf3 --- /dev/null +++ b/components/accounts/Menu.vue @@ -0,0 +1,157 @@ + + diff --git a/components/accounts/SignInFlow.vue b/components/accounts/SignInFlow.vue new file mode 100644 index 0000000..08bf74f --- /dev/null +++ b/components/accounts/SignInFlow.vue @@ -0,0 +1,116 @@ + + + diff --git a/components/automate/CreateDialog.vue b/components/automate/CreateDialog.vue new file mode 100644 index 0000000..71f3d41 --- /dev/null +++ b/components/automate/CreateDialog.vue @@ -0,0 +1,158 @@ + + + + diff --git a/components/automate/ResultDialog.vue b/components/automate/ResultDialog.vue new file mode 100644 index 0000000..2a16e2d --- /dev/null +++ b/components/automate/ResultDialog.vue @@ -0,0 +1,39 @@ + + + diff --git a/components/automate/function/Logo.vue b/components/automate/function/Logo.vue new file mode 100644 index 0000000..627e551 --- /dev/null +++ b/components/automate/function/Logo.vue @@ -0,0 +1,60 @@ + + diff --git a/components/automate/function/RunRow.vue b/components/automate/function/RunRow.vue new file mode 100644 index 0000000..0228e08 --- /dev/null +++ b/components/automate/function/RunRow.vue @@ -0,0 +1,134 @@ + + diff --git a/components/automate/function/RunRowObjectResult.vue b/components/automate/function/RunRowObjectResult.vue new file mode 100644 index 0000000..25f9a40 --- /dev/null +++ b/components/automate/function/RunRowObjectResult.vue @@ -0,0 +1,98 @@ + + diff --git a/components/automate/function/RunsRows.vue b/components/automate/function/RunsRows.vue new file mode 100644 index 0000000..90139de --- /dev/null +++ b/components/automate/function/RunsRows.vue @@ -0,0 +1,27 @@ + + diff --git a/components/automate/runs/trigger-status/Icon.vue b/components/automate/runs/trigger-status/Icon.vue new file mode 100644 index 0000000..96880d8 --- /dev/null +++ b/components/automate/runs/trigger-status/Icon.vue @@ -0,0 +1,73 @@ + + + diff --git a/components/common/Dialog.vue b/components/common/Dialog.vue new file mode 100644 index 0000000..b2252e7 --- /dev/null +++ b/components/common/Dialog.vue @@ -0,0 +1,335 @@ + + + + diff --git a/components/common/ModelNotification.vue b/components/common/ModelNotification.vue new file mode 100644 index 0000000..536c752 --- /dev/null +++ b/components/common/ModelNotification.vue @@ -0,0 +1,76 @@ + + + diff --git a/components/common/ProjectModelGroup.vue b/components/common/ProjectModelGroup.vue new file mode 100644 index 0000000..024fea4 --- /dev/null +++ b/components/common/ProjectModelGroup.vue @@ -0,0 +1,245 @@ + + diff --git a/components/common/UpdateAlert.vue b/components/common/UpdateAlert.vue new file mode 100644 index 0000000..1a6a382 --- /dev/null +++ b/components/common/UpdateAlert.vue @@ -0,0 +1,40 @@ + + diff --git a/components/common/icons/ArrowFilled.vue b/components/common/icons/ArrowFilled.vue new file mode 100644 index 0000000..bada6e9 --- /dev/null +++ b/components/common/icons/ArrowFilled.vue @@ -0,0 +1,14 @@ + diff --git a/components/common/loading/ProgressBar.vue b/components/common/loading/ProgressBar.vue new file mode 100644 index 0000000..7bdee08 --- /dev/null +++ b/components/common/loading/ProgressBar.vue @@ -0,0 +1,56 @@ + + + diff --git a/components/config/Dialog.vue b/components/config/Dialog.vue new file mode 100644 index 0000000..a5921bd --- /dev/null +++ b/components/config/Dialog.vue @@ -0,0 +1,33 @@ + + + diff --git a/components/error/Dialog.vue b/components/error/Dialog.vue new file mode 100644 index 0000000..cf9b61c --- /dev/null +++ b/components/error/Dialog.vue @@ -0,0 +1,33 @@ + + + diff --git a/components/feedback/Dialog.vue b/components/feedback/Dialog.vue new file mode 100644 index 0000000..64cf966 --- /dev/null +++ b/components/feedback/Dialog.vue @@ -0,0 +1,114 @@ + + + diff --git a/components/filter/ListSelect.vue b/components/filter/ListSelect.vue new file mode 100644 index 0000000..1b58a84 --- /dev/null +++ b/components/filter/ListSelect.vue @@ -0,0 +1,126 @@ + + diff --git a/components/filter/Selection.vue b/components/filter/Selection.vue new file mode 100644 index 0000000..2f06aa9 --- /dev/null +++ b/components/filter/Selection.vue @@ -0,0 +1,43 @@ + + diff --git a/components/filter/form/Select.vue b/components/filter/form/Select.vue new file mode 100644 index 0000000..9ff9017 --- /dev/null +++ b/components/filter/form/Select.vue @@ -0,0 +1,83 @@ + + + diff --git a/components/filter/revit/Categories.vue b/components/filter/revit/Categories.vue new file mode 100644 index 0000000..9a9deea --- /dev/null +++ b/components/filter/revit/Categories.vue @@ -0,0 +1,124 @@ + + + + + diff --git a/components/filter/revit/Views.vue b/components/filter/revit/Views.vue new file mode 100644 index 0000000..2daab32 --- /dev/null +++ b/components/filter/revit/Views.vue @@ -0,0 +1,58 @@ + + + diff --git a/components/form/json/BooleanControlRenderer.vue b/components/form/json/BooleanControlRenderer.vue new file mode 100644 index 0000000..fe39f67 --- /dev/null +++ b/components/form/json/BooleanControlRenderer.vue @@ -0,0 +1,38 @@ + + diff --git a/components/form/json/DateControlRenderer.vue b/components/form/json/DateControlRenderer.vue new file mode 100644 index 0000000..ca6ae0b --- /dev/null +++ b/components/form/json/DateControlRenderer.vue @@ -0,0 +1,35 @@ + + diff --git a/components/form/json/DateTimeControlRenderer.vue b/components/form/json/DateTimeControlRenderer.vue new file mode 100644 index 0000000..b3bdeae --- /dev/null +++ b/components/form/json/DateTimeControlRenderer.vue @@ -0,0 +1,49 @@ + + diff --git a/components/form/json/EnumControlRenderer.vue b/components/form/json/EnumControlRenderer.vue new file mode 100644 index 0000000..bb5d9a6 --- /dev/null +++ b/components/form/json/EnumControlRenderer.vue @@ -0,0 +1,124 @@ + + diff --git a/components/form/json/EnumOneOfControlRenderer.vue b/components/form/json/EnumOneOfControlRenderer.vue new file mode 100644 index 0000000..01eb710 --- /dev/null +++ b/components/form/json/EnumOneOfControlRenderer.vue @@ -0,0 +1,17 @@ + + diff --git a/components/form/json/Form.vue b/components/form/json/Form.vue new file mode 100644 index 0000000..789a573 --- /dev/null +++ b/components/form/json/Form.vue @@ -0,0 +1,79 @@ + + + diff --git a/components/form/json/IntegerControlRenderer.vue b/components/form/json/IntegerControlRenderer.vue new file mode 100644 index 0000000..b543ea9 --- /dev/null +++ b/components/form/json/IntegerControlRenderer.vue @@ -0,0 +1,37 @@ + + diff --git a/components/form/json/MultiStringControlRenderer.vue b/components/form/json/MultiStringControlRenderer.vue new file mode 100644 index 0000000..1282e51 --- /dev/null +++ b/components/form/json/MultiStringControlRenderer.vue @@ -0,0 +1,32 @@ + + diff --git a/components/form/json/NumberControlRenderer.vue b/components/form/json/NumberControlRenderer.vue new file mode 100644 index 0000000..ad72ac6 --- /dev/null +++ b/components/form/json/NumberControlRenderer.vue @@ -0,0 +1,36 @@ + + diff --git a/components/form/json/StringControlRenderer.vue b/components/form/json/StringControlRenderer.vue new file mode 100644 index 0000000..a9c1391 --- /dev/null +++ b/components/form/json/StringControlRenderer.vue @@ -0,0 +1,33 @@ + + diff --git a/components/form/json/TimeControlRenderer.vue b/components/form/json/TimeControlRenderer.vue new file mode 100644 index 0000000..c5f4a5b --- /dev/null +++ b/components/form/json/TimeControlRenderer.vue @@ -0,0 +1,35 @@ + + diff --git a/components/header/Button.vue b/components/header/Button.vue new file mode 100644 index 0000000..ee721dd --- /dev/null +++ b/components/header/Button.vue @@ -0,0 +1,7 @@ + diff --git a/components/header/LogoBlock.vue b/components/header/LogoBlock.vue new file mode 100644 index 0000000..efab6b9 --- /dev/null +++ b/components/header/LogoBlock.vue @@ -0,0 +1,25 @@ + + diff --git a/components/header/NavBar.vue b/components/header/NavBar.vue new file mode 100644 index 0000000..f6e578a --- /dev/null +++ b/components/header/NavBar.vue @@ -0,0 +1,102 @@ + + diff --git a/components/header/NavBarOld.vue b/components/header/NavBarOld.vue new file mode 100644 index 0000000..224b95b --- /dev/null +++ b/components/header/NavBarOld.vue @@ -0,0 +1,46 @@ + + diff --git a/components/header/NavLink.vue b/components/header/NavLink.vue new file mode 100644 index 0000000..a2035c2 --- /dev/null +++ b/components/header/NavLink.vue @@ -0,0 +1,33 @@ + + diff --git a/components/header/UserMenu.vue b/components/header/UserMenu.vue new file mode 100644 index 0000000..896b869 --- /dev/null +++ b/components/header/UserMenu.vue @@ -0,0 +1,118 @@ + + diff --git a/components/header/UserMenuOld.vue b/components/header/UserMenuOld.vue new file mode 100644 index 0000000..c74e939 --- /dev/null +++ b/components/header/UserMenuOld.vue @@ -0,0 +1,97 @@ + + diff --git a/components/home/NoAccountsPanel.vue b/components/home/NoAccountsPanel.vue new file mode 100644 index 0000000..8244927 --- /dev/null +++ b/components/home/NoAccountsPanel.vue @@ -0,0 +1,49 @@ + + diff --git a/components/model/ActionsDialog.vue b/components/model/ActionsDialog.vue new file mode 100644 index 0000000..880687a --- /dev/null +++ b/components/model/ActionsDialog.vue @@ -0,0 +1,129 @@ + + + diff --git a/components/model/CardBase.vue b/components/model/CardBase.vue new file mode 100644 index 0000000..6f679f6 --- /dev/null +++ b/components/model/CardBase.vue @@ -0,0 +1,487 @@ + + + diff --git a/components/model/CreateDialog.vue b/components/model/CreateDialog.vue new file mode 100644 index 0000000..697df28 --- /dev/null +++ b/components/model/CreateDialog.vue @@ -0,0 +1,186 @@ + + + diff --git a/components/model/Receiver.vue b/components/model/Receiver.vue new file mode 100644 index 0000000..5e14bdd --- /dev/null +++ b/components/model/Receiver.vue @@ -0,0 +1,306 @@ + + diff --git a/components/model/Sender.vue b/components/model/Sender.vue new file mode 100644 index 0000000..cda5639 --- /dev/null +++ b/components/model/Sender.vue @@ -0,0 +1,198 @@ + + diff --git a/components/project/CreateDialog.vue b/components/project/CreateDialog.vue new file mode 100644 index 0000000..f046a77 --- /dev/null +++ b/components/project/CreateDialog.vue @@ -0,0 +1,220 @@ + + + diff --git a/components/project/create/PersonalDialog.vue b/components/project/create/PersonalDialog.vue new file mode 100644 index 0000000..d46a0ff --- /dev/null +++ b/components/project/create/PersonalDialog.vue @@ -0,0 +1,141 @@ + + + diff --git a/components/project/create/WorkspaceDialog.vue b/components/project/create/WorkspaceDialog.vue new file mode 100644 index 0000000..73066a2 --- /dev/null +++ b/components/project/create/WorkspaceDialog.vue @@ -0,0 +1,198 @@ + + + diff --git a/components/receive/Wizard.vue b/components/receive/Wizard.vue new file mode 100644 index 0000000..48e707b --- /dev/null +++ b/components/receive/Wizard.vue @@ -0,0 +1,203 @@ + + diff --git a/components/report/Base.vue b/components/report/Base.vue new file mode 100644 index 0000000..0967529 --- /dev/null +++ b/components/report/Base.vue @@ -0,0 +1,159 @@ + + diff --git a/components/report/Item.vue b/components/report/Item.vue new file mode 100644 index 0000000..76ec09d --- /dev/null +++ b/components/report/Item.vue @@ -0,0 +1,135 @@ + + + diff --git a/components/send/FiltersAndSettings.vue b/components/send/FiltersAndSettings.vue new file mode 100644 index 0000000..1eea392 --- /dev/null +++ b/components/send/FiltersAndSettings.vue @@ -0,0 +1,35 @@ + + diff --git a/components/send/Settings.vue b/components/send/Settings.vue new file mode 100644 index 0000000..1f51148 --- /dev/null +++ b/components/send/Settings.vue @@ -0,0 +1,82 @@ + + + diff --git a/components/send/SettingsDialog.vue b/components/send/SettingsDialog.vue new file mode 100644 index 0000000..128e1b8 --- /dev/null +++ b/components/send/SettingsDialog.vue @@ -0,0 +1,59 @@ + + + diff --git a/components/send/Wizard.vue b/components/send/Wizard.vue new file mode 100644 index 0000000..d2ead04 --- /dev/null +++ b/components/send/Wizard.vue @@ -0,0 +1,168 @@ + + diff --git a/components/singleton/ToastManager.vue b/components/singleton/ToastManager.vue new file mode 100644 index 0000000..a01288b --- /dev/null +++ b/components/singleton/ToastManager.vue @@ -0,0 +1,9 @@ + + diff --git a/components/user/Avatar.vue b/components/user/Avatar.vue new file mode 100644 index 0000000..268e3f1 --- /dev/null +++ b/components/user/Avatar.vue @@ -0,0 +1,163 @@ + + diff --git a/components/wizard/ModelSelector.vue b/components/wizard/ModelSelector.vue new file mode 100644 index 0000000..30a19fd --- /dev/null +++ b/components/wizard/ModelSelector.vue @@ -0,0 +1,300 @@ + + diff --git a/components/wizard/ProjectSelector.vue b/components/wizard/ProjectSelector.vue new file mode 100644 index 0000000..ed729c2 --- /dev/null +++ b/components/wizard/ProjectSelector.vue @@ -0,0 +1,394 @@ + + diff --git a/components/wizard/VersionSelector.vue b/components/wizard/VersionSelector.vue new file mode 100644 index 0000000..5eac5d7 --- /dev/null +++ b/components/wizard/VersionSelector.vue @@ -0,0 +1,143 @@ + + diff --git a/components/wizard/WorkspaceSelector.vue b/components/wizard/WorkspaceSelector.vue new file mode 100644 index 0000000..f97e4f3 --- /dev/null +++ b/components/wizard/WorkspaceSelector.vue @@ -0,0 +1,85 @@ + + + diff --git a/components/wizard/list/ModelCard.vue b/components/wizard/list/ModelCard.vue new file mode 100644 index 0000000..35f058e --- /dev/null +++ b/components/wizard/list/ModelCard.vue @@ -0,0 +1,86 @@ + + diff --git a/components/wizard/list/ProjectCard.vue b/components/wizard/list/ProjectCard.vue new file mode 100644 index 0000000..c3edc63 --- /dev/null +++ b/components/wizard/list/ProjectCard.vue @@ -0,0 +1,55 @@ + + diff --git a/components/wizard/list/VersionCard.vue b/components/wizard/list/VersionCard.vue new file mode 100644 index 0000000..66fb8da --- /dev/null +++ b/components/wizard/list/VersionCard.vue @@ -0,0 +1,139 @@ + + diff --git a/components/workspace/Avatar.vue b/components/workspace/Avatar.vue new file mode 100644 index 0000000..8f73d38 --- /dev/null +++ b/components/workspace/Avatar.vue @@ -0,0 +1,35 @@ + + + diff --git a/components/workspace/ListItem.vue b/components/workspace/ListItem.vue new file mode 100644 index 0000000..b8e5d94 --- /dev/null +++ b/components/workspace/ListItem.vue @@ -0,0 +1,38 @@ + + diff --git a/components/workspace/Menu.vue b/components/workspace/Menu.vue new file mode 100644 index 0000000..62afb51 --- /dev/null +++ b/components/workspace/Menu.vue @@ -0,0 +1,47 @@ + + + diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..efa5052 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,125 @@ +import { omit } from 'lodash-es' +import { baseConfigs, globals, getESMDirname } from '../../eslint.config.mjs' +import withNuxt from './.nuxt/eslint.config.mjs' +import pluginVueA11y from 'eslint-plugin-vuejs-accessibility' + +const configs = await withNuxt([ + { + rules: { + camelcase: [ + 'error', + { + properties: 'always', + allow: ['^[\\w]+_[\\w]+Fragment$'] + } + ], + 'no-alert': 'error', + eqeqeq: ['error', 'always', { null: 'always' }], + 'no-console': 'off', + 'no-var': 'error' + } + }, + { + files: ['**/*.{ts,vue,tsx,mts,cts}'], + languageOptions: { + parserOptions: { + project: ['./tsconfig.eslint.json'], + extraFileExtensions: ['.vue'], + tsconfigRootDir: getESMDirname(import.meta.url) + } + } + }, + { + files: ['**/*.test.{ts,js}'], + languageOptions: { + globals: { + ...globals.jest + } + } + }, + { + files: ['./{components|pages|store|lib}/*.{js,ts,vue}'], + languageOptions: { + globals: { + ...globals.browser + } + } + }, + { + files: ['**/*.{ts,tsx,vue}'], + rules: { + '@typescript-eslint/no-explicit-any': ['error'], + '@typescript-eslint/no-unsafe-argument': ['error'], + '@typescript-eslint/no-unsafe-assignment': 'error', + '@typescript-eslint/no-unsafe-call': 'error', + '@typescript-eslint/no-unsafe-member-access': 'error', + '@typescript-eslint/no-unsafe-return': 'error', + '@typescript-eslint/no-for-in-array': ['error'], + '@typescript-eslint/restrict-plus-operands': ['error'], + '@typescript-eslint/await-thenable': ['warn'], + '@typescript-eslint/no-restricted-types': ['warn'], + 'require-await': 'off', + '@typescript-eslint/require-await': 'error', + 'no-undef': 'off', + + '@typescript-eslint/unified-signatures': 'off', // DX sucks in vue event definitions + '@typescript-eslint/no-dynamic-delete': 'off', // too restrictive + '@typescript-eslint/restrict-template-expressions': 'off', // too restrictive + '@typescript-eslint/no-invalid-void-type': 'off' // too restrictive + } + }, + ...pluginVueA11y.configs['flat/recommended'].map((c) => ({ + ...c, + files: [...(c.files || []), '**/*.vue'], + languageOptions: c.languageOptions + ? omit(c.languageOptions, ['parserOptions', 'parser']) // Prevent overriding parser + : undefined + })), + { + files: ['**/*.vue'], + rules: { + 'vue/component-tags-order': [ + 'error', + { order: ['docs', 'template', 'script', 'style'] } + ], + 'vue/require-default-prop': 'off', + 'vue/multi-word-component-names': 'off', + 'vue/component-name-in-template-casing': [ + 'error', + 'PascalCase', + { registeredComponentsOnly: false } + ], + 'vuejs-accessibility/label-has-for': [ + 'error', + { + required: { + some: ['nesting', 'id'] + } + } + ], + 'vue/html-self-closing': 'off' // messes with prettier + } + }, + { + files: ['**/*.d.ts'], + rules: { + 'no-var': 'off', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-restricted-types': 'off' + } + } +]).prepend([ + { + ignores: [ + '**/node_modules/**', + '**/templates/*', + './lib/common/generated/**/*', + 'storybook-static', + '.nuxt/**', + '.output/**' + ] + }, + ...baseConfigs +]) + +export default configs diff --git a/layouts/default.vue b/layouts/default.vue new file mode 100644 index 0000000..2ecbce1 --- /dev/null +++ b/layouts/default.vue @@ -0,0 +1,38 @@ + + + diff --git a/lib/accounts/composables/setup.ts b/lib/accounts/composables/setup.ts new file mode 100644 index 0000000..06da215 --- /dev/null +++ b/lib/accounts/composables/setup.ts @@ -0,0 +1,136 @@ +import { ApolloClient, gql } from '@apollo/client/core' +import { ApolloClients } from '@vue/apollo-composable' +import type { ComputedRef, Ref } from 'vue' +import type { Account } from '~/lib/bindings/definitions/IBasicConnectorBinding' +import { resolveClientConfig } from '~/lib/core/configs/apollo' + +export type DUIAccount = { + /** account info coming from the host app */ + accountInfo: Account + /** the graphql client; a bit superflous */ + client?: ApolloClient + /** whether an intial serverinfo query succeeded. */ + isValid: boolean +} + +export type DUIAccountsState = { + accounts: Ref + validAccounts: ComputedRef + refreshAccounts: () => Promise + defaultAccount: ComputedRef + loading: Ref +} + +const AccountsInjectionKey = 'DUI_ACCOUNTS_STATE' + +/** + * Use this composable to set up the account bindings and graphql clients at the top of the app. + * TODO: Properly handle cases when user was not connected to the internet, + * and then actually got connected. + */ +export function useAccountsSetup(): DUIAccountsState { + const app = useNuxtApp() + const $baseBinding = app.$baseBinding + + const accounts = ref([]) + + const apolloClients = {} as Record> + + // Tries to connect to the accounts and sets their is valid prop to false if fails. + const testAccounts = async (accs: DUIAccount[]) => { + const accountTestQuery = gql` + query AcccountTestQuery { + serverInfo { + version + name + company + } + } + ` + for (const acc of accs) { + if (!acc.client) continue + try { + await acc.client.query({ query: accountTestQuery }) + acc.isValid = true + } catch { + // TODO: properly dispose and kill this client. It's unclear how to do it. + acc.isValid = false + // NOTE: we do not want to delete the client, as we might want to "refresh" in + // case the user was not connected to the interweb. + // acc.client.disableNetworkFetches = true + // acc.client.stop() + // delete acc.client + } + } + } + + const loading = ref(false) + + // Matches local accounts coming from the host app to app state. + const refreshAccounts = async () => { + loading.value = true + + const accs = await $baseBinding.getAccounts() + // We create a whole new list of accounts that will replace the old list. This way we ensure we drop + // out of scope old accounts that not exist anymore (TODO: test), and we don't need to do complex diffing. + const newAccs = [] as DUIAccount[] + for (const acc of accs) { + const existing = accounts.value.find((a) => a.accountInfo.id === acc.id) + if (existing) { + newAccs.push(existing as DUIAccount) + continue + } + + const client = new ApolloClient( + resolveClientConfig({ + httpEndpoint: new URL('/graphql', acc.serverInfo.url).href, + authToken: () => acc.token + }) + ) + + apolloClients[acc.id] = client + + newAccs.push({ + accountInfo: acc, + client, + isValid: true + }) + } + // We test accounts here so we try to prevent the app from querying/using invalid accounts. + await testAccounts(newAccs) + // Once we have tested the new accounts, finally set them. + accounts.value = newAccs + loading.value = false + } + + void refreshAccounts() // Promise that we do not want to await (convention with void) + + const defaultAccount = computed(() => + accounts.value.find((acc) => acc.accountInfo.isDefault) + ) + + const validAccounts = computed(() => { + return accounts.value.filter((a) => a.isValid) + }) + + const accState = { + accounts, + defaultAccount, + validAccounts, + refreshAccounts, + loading + } + + app.vueApp.provide(ApolloClients, apolloClients) + provide(AccountsInjectionKey, accState) + + return accState // as DUIAccountsState +} + +/** + * Use this composable to access the users' local accounts and their corresponding graphql client. + */ +export function useInjectedAccounts(): DUIAccountsState { + const state = inject(AccountsInjectionKey) as DUIAccountsState + return state +} diff --git a/lib/automate/runStatus.ts b/lib/automate/runStatus.ts new file mode 100644 index 0000000..2728361 --- /dev/null +++ b/lib/automate/runStatus.ts @@ -0,0 +1,186 @@ +import type { AutomationRunItemFragment } from '~/lib/common/generated/gql/graphql' +import type { PropAnyComponent } from '@speckle/ui-components' +import { AutomateRunStatus } from '~/lib/common/generated/gql/graphql' +import { + CheckCircleIcon, + EllipsisHorizontalCircleIcon, + EllipsisHorizontalIcon, + ExclamationCircleIcon, + ArrowPathIcon, + ClockIcon, + XCircleIcon +} from '@heroicons/vue/24/outline' +import { Automate, type MaybeNullOrUndefined } from '@speckle/shared' + +export type RunsStatusSummary = { + failed: number + passed: number + inProgress: number + total: number + title: string + titleColor: string + longSummary: string +} + +export const useFunctionRunsStatusSummary = (params: { + runs: MaybeRef +}) => { + const { runs } = params + + const summary = computed((): RunsStatusSummary => { + const allFunctionRuns = unref(runs) + const result: RunsStatusSummary = { + failed: 0, + passed: 0, + inProgress: 0, + total: allFunctionRuns.length, + title: 'All runs passed.', + titleColor: 'text-success', + longSummary: '' + } + + for (const run of allFunctionRuns) { + switch (run.status) { + case AutomateRunStatus.Succeeded: + result.passed++ + break + case AutomateRunStatus.Failed: + case AutomateRunStatus.Exception: + case AutomateRunStatus.Timeout: + case AutomateRunStatus.Canceled: + result.title = 'Some runs failed.' + result.titleColor = 'text-danger' + result.failed++ + break + default: + if (result.failed === 0) { + result.title = 'Some runs are still in progress.' + result.titleColor = 'text-warning' + } + result.inProgress++ + break + } + } + + // format: + // 2 failed, 1 passed runs + // 1 passed, 2 in progress, 1 failed runs + // 1 passed run + const longSummarySegments = [] + if (result.passed > 0) longSummarySegments.push(`${result.passed} passed`) + if (result.inProgress > 0) + longSummarySegments.push(`${result.inProgress} in progress`) + if (result.failed > 0) longSummarySegments.push(`${result.failed} failed`) + + result.longSummary = ( + longSummarySegments.join(', ') + ` run${result.total > 1 ? 's' : ''}.` + ).replace(/,(?=[^,]+$)/, ', and') + + return result + }) + + return { summary } +} + +export type AutomateRunStatusMetadata = { + icon: PropAnyComponent + xsIcon: PropAnyComponent + iconColor: string + badgeColor: string + disclosureColor: 'success' | 'warning' | 'danger' | 'default' +} + +export const useRunStatusMetadata = (params: { + status: MaybeRef +}) => { + const { status } = params + + const metadata = computed((): AutomateRunStatusMetadata => { + switch (unref(status)) { + case AutomateRunStatus.Canceled: + return { + icon: XCircleIcon, + xsIcon: XCircleIcon, + iconColor: 'text-warning', + badgeColor: 'bg-warning', + disclosureColor: 'warning' + } + case AutomateRunStatus.Exception: + return { + icon: ExclamationCircleIcon, + xsIcon: ExclamationCircleIcon, + iconColor: 'text-danger', + badgeColor: 'bg-danger', + disclosureColor: 'danger' + } + case AutomateRunStatus.Failed: + return { + icon: ExclamationCircleIcon, + xsIcon: ExclamationCircleIcon, + iconColor: 'text-danger', + badgeColor: 'bg-danger', + disclosureColor: 'danger' + } + case AutomateRunStatus.Initializing: + return { + icon: EllipsisHorizontalCircleIcon, + xsIcon: EllipsisHorizontalIcon, + iconColor: 'text-warning', + badgeColor: 'bg-warning', + disclosureColor: 'warning' + } + case AutomateRunStatus.Pending: + return { + icon: EllipsisHorizontalCircleIcon, + xsIcon: EllipsisHorizontalIcon, + iconColor: 'text-primary', + badgeColor: 'bg-primary', + disclosureColor: 'default' + } + case AutomateRunStatus.Running: + return { + icon: ArrowPathIcon, + xsIcon: ArrowPathIcon, + iconColor: 'text-primary animate-spin', + badgeColor: 'bg-primary', + disclosureColor: 'default' + } + case AutomateRunStatus.Succeeded: + return { + icon: CheckCircleIcon, + xsIcon: CheckCircleIcon, + iconColor: 'text-success', + badgeColor: 'bg-success', + disclosureColor: 'success' + } + case AutomateRunStatus.Timeout: + return { + icon: ClockIcon, + xsIcon: ClockIcon, + iconColor: 'text-danger', + badgeColor: 'bg-danger', + disclosureColor: 'danger' + } + } + }) + + return { metadata } +} + +export const useAutomationFunctionRunResults = (params: { + results: MaybeRef>> +}) => { + const { results } = params + + const ret = computed( + (): MaybeNullOrUndefined => { + const res = unref(results) + if (!res) return res + + if (!Automate.AutomateTypes.isResultsSchema(res)) return null + return Automate.AutomateTypes.formatResultsSchema(res) + } + ) + + return ret +} diff --git a/lib/bindings/definitions/IAccountBinding.ts b/lib/bindings/definitions/IAccountBinding.ts new file mode 100644 index 0000000..65d0c1d --- /dev/null +++ b/lib/bindings/definitions/IAccountBinding.ts @@ -0,0 +1,30 @@ +import type { IBinding, IBindingSharedEvents } from 'lib/bindings/definitions/IBinding' + +export const IAccountBindingKey = 'accountsBinding' + +export interface IAccountBinding extends IBinding { + getAccounts: () => Promise + removeAccount: (accountId: string) => Promise +} + +// An almost 1-1 mapping of what we need from the Core accounts class. +export type Account = { + id: string + isDefault: boolean + token: string + serverInfo: { + name: string + url: string + frontend2: boolean + } + userInfo: { + id: string + avatar: string + email: string + name: string + commits: { totalCount: number } + streams: { totalCount: number } + } +} + +export interface IAccountBindingEvents extends IBindingSharedEvents {} diff --git a/lib/bindings/definitions/IBasicConnectorBinding.ts b/lib/bindings/definitions/IBasicConnectorBinding.ts new file mode 100644 index 0000000..14301a8 --- /dev/null +++ b/lib/bindings/definitions/IBasicConnectorBinding.ts @@ -0,0 +1,59 @@ +import type { + IBinding, + IBindingSharedEvents +} from '~~/lib/bindings/definitions/IBinding' +import type { IModelCard, IModelCardSharedEvents } from '~~/lib/models/card' + +export const IBasicConnectorBindingKey = 'baseBinding' + +// Needs to be agreed between Frontend and Core +export interface IBasicConnectorBinding + extends IBinding { + // Various + /** + * return `slug` from connectors, we should have name it better at the beginning + */ + getSourceApplicationName: () => Promise + getSourceApplicationVersion: () => Promise + getConnectorVersion: () => Promise + getDocumentInfo: () => Promise + + // Document state calls + getDocumentState: () => Promise + addModel: (model: IModelCard) => Promise + updateModel: (model: IModelCard) => Promise + highlightModel: (modelCardId: string) => Promise + highlightObjects: (objectIds: string[]) => Promise + removeModel: (model: IModelCard) => Promise + removeModels: (models: IModelCard[]) => Promise +} + +export interface IBasicConnectorBindingHostEvents + extends IBindingSharedEvents, + IModelCardSharedEvents { + documentChanged: () => void +} + +export type DocumentModelStore = { + models: IModelCard[] +} + +export type DocumentInfo = { + location: string + name: string + id: string + message?: string +} + +export type ToastInfo = { + modelCardId: string + text: string + level: 'info' | 'danger' | 'warning' | 'success' + action?: ToastAction + timeout?: number +} + +export type ToastAction = { + url: string + name: string +} diff --git a/lib/bindings/definitions/IBinding.ts b/lib/bindings/definitions/IBinding.ts new file mode 100644 index 0000000..940feb8 --- /dev/null +++ b/lib/bindings/definitions/IBinding.ts @@ -0,0 +1,24 @@ +import type { ToastNotification } from '@speckle/ui-components' + +/** + * Basic interface scaffolding two standard method. + */ +export interface IBinding { + /** + * Events sent over from the host application. + */ + on: (event: E, callback: T[E]) => void + /** + * If possible, opens up dev tools from the embedded browser window. + * Currently needed for CefSharp, as right click inspect doesn't exist. + */ + showDevTools: () => Promise + /** + * Opens an url in the OS's default browser. + */ + openUrl: (url: string) => Promise +} + +export interface IBindingSharedEvents { + setGlobalNotification: (toastNotification: ToastNotification) => void +} diff --git a/lib/bindings/definitions/IConfigBinding.ts b/lib/bindings/definitions/IConfigBinding.ts new file mode 100644 index 0000000..6b38b08 --- /dev/null +++ b/lib/bindings/definitions/IConfigBinding.ts @@ -0,0 +1,41 @@ +import { BaseBridge } from '~/lib/bridge/base' +import type { + IBinding, + IBindingSharedEvents +} from '~/lib/bindings/definitions/IBinding' + +/** + * The name under which this binding will be registered. + */ +export const IConfigBindingKey = 'configBinding' + +/** + * A test binding interface to ensure compatbility. Ideally all host environments would implement and register it. + */ +export interface IConfigBinding extends IBinding { + getIsDevMode: () => Promise + getConfig: () => Promise + updateConfig: (config: ConnectorConfig) => void + setUserSelectedAccountId: (accountId: string) => void + getUserSelectedAccountId: () => Promise + getAccountsConfig: () => Promise // should have been named like this from day 0. we should get rid of `getUserSelectedAccountId` function after some amount of time to not confuse ourselves. + setUserSelectedWorkspaceId: (workspaceId: string) => void + getWorkspacesConfig: () => Promise +} + +export interface IConfigBindingEvents extends IBindingSharedEvents {} + +export type ConnectorConfig = { + darkTheme: boolean +} + +export type AccountsConfig = { + userSelectedAccountId: string +} + +export type WorkspacesConfig = { + userSelectedWorkspaceId: string +} + +// Useless, but will do for now :) +export class MockedConfigBinding extends BaseBridge {} diff --git a/lib/bindings/definitions/IReceiveBinding.ts b/lib/bindings/definitions/IReceiveBinding.ts new file mode 100644 index 0000000..cd57744 --- /dev/null +++ b/lib/bindings/definitions/IReceiveBinding.ts @@ -0,0 +1,26 @@ +import type { ConversionResult } from 'lib/conversions/conversionResult' +import type { IModelCardSharedEvents } from '~/lib/models/card' +import type { CardSetting } from '~/lib/models/card/setting' +import type { + IBinding, + IBindingSharedEvents +} from '~~/lib/bindings/definitions/IBinding' + +export const IReceiveBindingKey = 'receiveBinding' + +export interface IReceiveBinding extends IBinding { + receive: (modelCardId: string) => Promise + getReceiveSettings: () => Promise + cancelReceive: (modelId: string) => Promise +} + +export interface IReceiveBindingEvents + extends IBindingSharedEvents, + IModelCardSharedEvents { + // See note oon timeout in bridge v2; we might not need this + setModelReceiveResult: (args: { + modelCardId: string + bakedObjectIds: string[] + conversionResults: ConversionResult[] + }) => void +} diff --git a/lib/bindings/definitions/ISelectionBinding.ts b/lib/bindings/definitions/ISelectionBinding.ts new file mode 100644 index 0000000..6941828 --- /dev/null +++ b/lib/bindings/definitions/ISelectionBinding.ts @@ -0,0 +1,19 @@ +import type { + IBinding, + IBindingSharedEvents +} from '~~/lib/bindings/definitions/IBinding' + +export const ISelectionBindingKey = 'selectionBinding' + +export interface ISelectionBinding extends IBinding { + getSelection: () => Promise +} + +export interface ISelectionBindingHostEvents extends IBindingSharedEvents { + setSelection: (args: SelectionInfo) => void +} + +export type SelectionInfo = { + summary?: string + selectedObjectIds: string[] +} diff --git a/lib/bindings/definitions/ISendBinding.ts b/lib/bindings/definitions/ISendBinding.ts new file mode 100644 index 0000000..df80881 --- /dev/null +++ b/lib/bindings/definitions/ISendBinding.ts @@ -0,0 +1,40 @@ +import type { ISendFilter } from '~~/lib/models/card/send' +import type { + IBinding, + IBindingSharedEvents +} from '~~/lib/bindings/definitions/IBinding' +import type { CardSetting } from '~/lib/models/card/setting' +import type { IModelCardSharedEvents } from '~/lib/models/card' +import type { ConversionResult } from 'lib/conversions/conversionResult' +import type { CreateVersionArgs } from '~/lib/bridge/server' + +export const ISendBindingKey = 'sendBinding' + +export interface ISendBinding extends IBinding { + getSendFilters: () => Promise + getSendSettings: () => Promise + send: (modelId: string) => Promise + cancelSend: (modelId: string) => Promise +} + +export interface ISendBindingEvents + extends IBindingSharedEvents, + IModelCardSharedEvents { + refreshSendFilters: () => void + setModelsExpired: (modelCardIds: string[]) => void + setModelSendResult: (args: { + modelCardId: string + versionId: string + sendConversionResults: ConversionResult[] + }) => void + setIdMap: (args: { + modelCardId: string + idMap: Record + newSelectedObjectIds: string[] + }) => void + /** + * Use whenever want to cancel model card progress, it is used on Archicad so far since send operation blocks the UI thread. + */ + triggerCancel: (modelCardId: string) => void + triggerCreateVersion: (args: CreateVersionArgs) => void +} diff --git a/lib/bindings/definitions/ITestBinding.ts b/lib/bindings/definitions/ITestBinding.ts new file mode 100644 index 0000000..8ec2422 --- /dev/null +++ b/lib/bindings/definitions/ITestBinding.ts @@ -0,0 +1,61 @@ +/* eslint-disable @typescript-eslint/require-await */ + +import { BaseBridge } from '~~/lib/bridge/base' +import type { + IBinding, + IBindingSharedEvents +} from '~~/lib/bindings/definitions/IBinding' + +/** + * The name under which this binding will be registered. + */ +export const ITestBindingKey = 'testBinding' + +/** + * A test binding interface to ensure compatbility. Ideally all host environments would implement and register it. + */ +export interface ITestBinding extends IBinding { + sayHi: (name: string, count: number, sayHelloNotHi: boolean) => Promise + goAway: () => Promise + getComplexType: () => Promise + shouldThrow: () => Promise + triggerEvent: (eventName: string) => Promise +} + +export interface ITestBindingEvents extends IBindingSharedEvents { + emptyTestEvent: () => void + testEvent: (args: TestEventArgs) => void +} + +export type TestEventArgs = { + name: string + isOk: boolean + count: number +} + +export type ComplexType = { + id: string + count: number +} + +export class MockedTestBinding extends BaseBridge { + public async sayHi(name: string, count: number, sayHelloNotHi: boolean) { + return `Hello from mocked bindings. Args: name = ${name}, count = ${count}, sayHelloNotHi = ${sayHelloNotHi.toString()}.` + } + + public async goAway() { + return + } + + public async getComplexType() { + return { id: 'wow', count: 42 } + } + + public async shouldThrow() { + return + } + + public async triggerEvent(eventName: string) { + return eventName + } +} diff --git a/lib/bindings/definitions/ITopLevelExceptionHandlerBinding.ts b/lib/bindings/definitions/ITopLevelExceptionHandlerBinding.ts new file mode 100644 index 0000000..cb9c9a1 --- /dev/null +++ b/lib/bindings/definitions/ITopLevelExceptionHandlerBinding.ts @@ -0,0 +1,11 @@ +import type { + IBinding, + IBindingSharedEvents +} from '~/lib/bindings/definitions/IBinding' + +export const ITopLevelExpectionHandlerBindingKey = 'topLevelExceptionHandlerBinding' + +export interface ITopLevelExpectionHandlerBinding + extends IBinding {} + +export interface ITopLevelExpectionHandlerBindingEvents extends IBindingSharedEvents {} diff --git a/lib/bindings/definitions/common.ts b/lib/bindings/definitions/common.ts new file mode 100644 index 0000000..20e7859 --- /dev/null +++ b/lib/bindings/definitions/common.ts @@ -0,0 +1,36 @@ +export interface IDiscriminatedObject { + typeDiscriminator: string +} + +export class DiscriminatedObject implements IDiscriminatedObject { + typeDiscriminator: string + constructor(typeDiscriminator: string) { + this.typeDiscriminator = typeDiscriminator + } +} + +export interface FormInputBase extends IDiscriminatedObject { + label?: string + showLabel?: boolean +} + +export interface FormTextInput extends FormInputBase { + value?: string + placeholder?: string +} + +export interface BooleanValueInput extends FormInputBase { + value: boolean +} + +export interface ListValueInput extends FormInputBase { + options: ListValueItem[] + selectedOptions: ListValueInput[] + multiSelect: boolean +} + +export interface ListValueItem extends IDiscriminatedObject { + id: string + name: string + color?: string +} diff --git a/lib/bridge/base.ts b/lib/bridge/base.ts new file mode 100644 index 0000000..c3168be --- /dev/null +++ b/lib/bridge/base.ts @@ -0,0 +1,31 @@ +import { BaseBridgeErrorHandler } from '~/lib/bridge/errorHandler' +import type { Emitter } from 'nanoevents' +import { createNanoEvents } from 'nanoevents' + +/** + * A simple (typed) event emitter base class that host applications can use to send messages (and data) to the web ui, + * e.g. via `browser.executeScriptAsync("myBindings.on('eventName', serializedData)")`. + */ +export class BaseBridge { + public emitter: Emitter + /** + * Holds a list of connector implemented or available methods in this binding. + */ + public availableMethodNames: string[] = [] + constructor() { + this.emitter = createNanoEvents() + this.availableMethodNames = [] + new BaseBridgeErrorHandler(this.emitter) // Where we set error to hostApp store + } + + // NOTE: these do not need to be typed extra in here, as they will be properly typed on the specific binding's interface. + on(event: string | number, callback: (...args: unknown[]) => void) { + return this.emitter.on(event, callback) + } + + // NOTE: this could be private - as it should be only used by the host application. + emit(eventName: string, payload: string) { + const parsedPayload = payload ? (JSON.parse(payload) as unknown) : null + this.emitter.emit(eventName, parsedPayload) + } +} diff --git a/lib/bridge/definitions/index.ts b/lib/bridge/definitions/index.ts new file mode 100644 index 0000000..e5e06bf --- /dev/null +++ b/lib/bridge/definitions/index.ts @@ -0,0 +1,10 @@ +/** + * Defines the expected contract of the host application bound object. + */ +export type IRawBridge = { + GetBindingsMethodNames: () => Promise + RunMethod: (methodName: string, requestId: string, args: string) => Promise + ShowDevTools: () => Promise + OpenUrl: (url: string) => Promise + GetCallResult: (requestId: string) => Promise +} diff --git a/lib/bridge/errorHandler.ts b/lib/bridge/errorHandler.ts new file mode 100644 index 0000000..4ba805f --- /dev/null +++ b/lib/bridge/errorHandler.ts @@ -0,0 +1,34 @@ +import type { ToastNotification } from '@speckle/ui-components' +import { ToastNotificationType } from '@speckle/ui-components' +import type { Emitter } from 'nanoevents' +import { useHostAppStore } from '~/store/hostApp' + +export type HostAppError = { + message: string + error: string + stackTrace: string +} + +export class BaseBridgeErrorHandler { + constructor(emitter: Emitter) { + emitter.on('errorOnResponse', (data: string) => { + this.handleError(data) + }) + } + + private handleError(data: string) { + const store = useHostAppStore() + const parsedData = JSON.parse(data) as Record as HostAppError + store.setHostAppError(parsedData) + const notification: ToastNotification = { + type: ToastNotificationType.Danger, + title: 'Host App Error', + description: parsedData.message, + cta: { + title: 'Show details', + onClick: () => (store.showErrorDialog = true) + } + } + store.setNotification(notification) + } +} diff --git a/lib/bridge/generic-v2.ts b/lib/bridge/generic-v2.ts new file mode 100644 index 0000000..fbd0972 --- /dev/null +++ b/lib/bridge/generic-v2.ts @@ -0,0 +1,156 @@ +import { ArchicadBridge } from '~/lib/bridge/server' +import { BaseBridge } from '~/lib/bridge/base' +import type { IRawBridge } from '~/lib/bridge/definitions' + +/** + * A generic bridge class for Webivew2 or CefSharp. + */ +export class GenericBridge extends BaseBridge { + private bridge: IRawBridge + private archicadBridge: ArchicadBridge | undefined + private requests = {} as Record< + string, + { + methodName: string + resolve: (value: unknown) => void + reject: (reason: string | Error) => void + rejectTimerId: number + } + > + // TOTHINK: as this is a fast timeout, it forces us for long await methods in .net to return results via events. Kind-of not cool, and i'd be in favour of bumping it to "endless", or remove it altogether + // An example is the send or receive operations: they can take fucking long :D + private TIMEOUT_MS = 1000 * 60 // 60 sec + + constructor(object: IRawBridge, isArchicadBridge: boolean = false) { + super() + this.bridge = object + if (isArchicadBridge) { + this.archicadBridge = new ArchicadBridge(this.emitter) + } + } + + public async create(): Promise { + // NOTE: GetMethods is a call to the .NET side. + + try { + this.availableMethodNames = await this.bridge.GetBindingsMethodNames() + } catch { + console.warn(`Failed to get method names from binding.`) + return false + } + + // NOTE: hoisting original calls as lowerCasedMethodNames, but using the UpperCasedName for the .NET call + // This allows us to follow js convetions and keep .NET ones too (eg. bindings.sayHi('') => public string SayHi(string name) {} + for (const methodName of this.availableMethodNames) { + const lowercasedMethodName = lowercaseMethodName(methodName) + const hoistTarget = this as unknown as Record + hoistTarget[lowercasedMethodName] = (...args: unknown[]) => + this.runMethod(methodName, args) + } + + return true + } + + private async emitResponseReady(eventName: string, requestId: string) { + this.registerPromise(eventName, requestId) + const data = await this.bridge.GetCallResult(requestId) + const request = this.requests[requestId] + try { + const parsedData = data ? (JSON.parse(data) as Record) : null + + if (parsedData === null) { + throw new Error(`Data is not parsed successfuly on ${eventName}`) + } + + if (this.archicadBridge) { + this.archicadBridge.emit(eventName, parsedData, this.runMethod.bind(this)) + } else { + this.emitter.emit(eventName, parsedData) + } + + request.resolve(parsedData) + } catch (e) { + console.error(e) + request.reject(e as Error) + } finally { + window.clearTimeout(request.rejectTimerId) + delete this.requests[requestId] + } + } + + async runMethod( + methodName: string, + args: unknown[], + shouldTimeout: boolean = true + ): Promise { + const requestId = (Math.random() + 1).toString(36).substring(2) + '_' + methodName + const preserializedArgs = args.map((a) => JSON.stringify(a)) + + this.bridge.RunMethod(methodName, requestId, JSON.stringify(preserializedArgs)) + + return this.registerPromise(methodName, requestId, shouldTimeout) + } + + private async registerPromise( + methodName: string, + requestId: string, + shouldTimeout: boolean = true + ) { + return new Promise((resolve, reject) => { + this.requests[requestId] = { + methodName, + resolve, + reject, + rejectTimerId: window.setTimeout( + () => { + reject( + `.NET response timed out for call to ${methodName} - did not receive anything back in good time (${this.TIMEOUT_MS}ms).` + ) + delete this.requests[requestId] + }, + shouldTimeout ? this.TIMEOUT_MS : 3600000 + ) + } + }) + } + + private async responseReady(requestId: string) { + if (!this.requests[requestId]) + throw new Error( + `.NET Bridge found no request to resolve with the id of ${requestId}. Something is weird!` + ) + + const request = this.requests[requestId] + const data = await this.bridge.GetCallResult(requestId) + try { + const parsedData = data ? (JSON.parse(data) as Record) : null // TODO: check if data is undefined + + // eslint-disable-next-line no-prototype-builtins + if (parsedData && parsedData.hasOwnProperty('error')) { + console.error(data) + this.emitter.emit('errorOnResponse', data) + throw new Error( + `Failed to run ${requestId}. The host app error is logged above.` + ) + } + request.resolve(parsedData) + } catch (e) { + console.error(e) + request.reject(e as Error) + } finally { + window.clearTimeout(request.rejectTimerId) + delete this.requests[requestId] + } + } + + public showDevTools() { + this.bridge.ShowDevTools() + } + + public openUrl(url: string) { + this.bridge.OpenUrl(url) + } +} + +const lowercaseMethodName = (name: string) => + name.charAt(0).toLowerCase() + name.slice(1) diff --git a/lib/bridge/generic.ts b/lib/bridge/generic.ts new file mode 100644 index 0000000..7b44186 --- /dev/null +++ b/lib/bridge/generic.ts @@ -0,0 +1,70 @@ +import { BaseBridge } from '~/lib/bridge/base' +import type { IRawBridge } from '~/lib/bridge/definitions' +/** + * A generic bridge class for Webivew2 or CefSharp. + */ +export class GenericBridge extends BaseBridge { + private bridge: IRawBridge + + constructor(object: IRawBridge) { + super() + this.bridge = object + } + + public async create(): Promise { + // NOTE: GetMethods is a call to the .NET side. + let availableMethodNames = [] as string[] + + try { + availableMethodNames = await this.bridge.GetBindingsMethodNames() + } catch { + console.warn(`Failed to get method names.`) + return false + } + + // NOTE: hoisting original calls as lowerCasedMethodNames, but using the UpperCasedName for the .NET call + // This allows us to follow js convetions and keep .NET ones too (eg. bindings.sayHi('') => public string SayHi(string name) {} + for (const methodName of availableMethodNames) { + const lowercasedMethodName = lowercaseMethodName(methodName) + const hoistTarget = this as unknown as Record + hoistTarget[lowercasedMethodName] = (...args: unknown[]) => + this.runMethod(methodName, args) + } + + return true + } + + private async runMethod(methodName: string, args: unknown[]): Promise { + const preserializedArgs = args.map((a) => JSON.stringify(a)) + + // NOTE: RunMethod is a call to the .NET side. + const result = await this.bridge.RunMethod( + methodName, + JSON.stringify(preserializedArgs) + ) + + const parsed = result ? (JSON.parse(result) as Record) : null + + if (parsed && parsed['error']) { + console.error(parsed) + throw new Error( + `Failed to run ${methodName} with args ${JSON.stringify( + args + )}. The host app error is logged above.` + ) + } + + return parsed + } + + public showDevTools() { + this.bridge.ShowDevTools() + } + + public openUrl(url: string) { + this.bridge.OpenUrl(url) + } +} + +const lowercaseMethodName = (name: string) => + name.charAt(0).toLowerCase() + name.slice(1) diff --git a/lib/bridge/server.ts b/lib/bridge/server.ts new file mode 100644 index 0000000..2b4fe28 --- /dev/null +++ b/lib/bridge/server.ts @@ -0,0 +1,489 @@ +import type { ConversionResult } from '~/lib/conversions/conversionResult' +import type { ProgressStage } from '@speckle/objectloader' +import ObjectLoader from '@speckle/objectloader' +import { send, type Base } from '@speckle/objectsender' +import { provideApolloClient, useMutation } from '@vue/apollo-composable' +import { + versionDetailsQuery, + markReceivedVersionMutation, + createVersionMutation +} from '~/lib/graphql/mutationsAndQueries' +import { storeToRefs } from 'pinia' +import type { DUIAccount } from '~/store/accounts' +import { useAccountStore } from '~/store/accounts' +import { useHostAppStore } from '~/store/hostApp' +import type { Emitter } from 'nanoevents' +import { useDesktopService } from '~/lib/core/composables/desktopService' +import type { ToastNotification } from '@speckle/ui-components' +import { ToastNotificationType } from '@speckle/ui-components' + +export type SendBatchViaBrowserArgs = { + modelCardId: string + projectId: string + token: string + serverUrl: string + batch: string + currentBatch: number + totalBatch: number + referencedObjectId: string +} + +export type CreateVersionViaBrowserArgs = { + modelCardId: string + projectId: string + modelId: string + token: string + serverUrl: string + accountId: string + message: string + referencedObjectId: string + sourceApplication: string + sendConversionResults: ConversionResult[] +} + +export type SendViaBrowserArgs = { + modelCardId: string + projectId: string + modelId: string + token: string + serverUrl: string + accountId: string + message: string + sendConversionResults: ConversionResult[] + sendObject: { + id: string // the root object id which should be used for creating the version + rootObject: object // NOTE to dim + } +} + +export type ReceiveViaBrowserArgs = { + modelCardId: string + projectId: string + modelId: string + objectId: string + accountId: string + selectedVersionId: string +} + +export type ReceiveViaDesktopServiceArgs = { + modelCardId: string + projectId: string + modelId: string + objectId: string + accountId: string + selectedVersionId: string + xmlConverterPath: string + endpointVersion: string // i.e. v1, v2... +} + +export type CreateVersionArgs = { + modelCardId: string + projectId: string + modelId: string + accountId: string + referencedObjectId: string + message?: string + sourceApplication?: string +} + +export type ArchicadReceiveRequest = { + accountId: string + projectId: string + referencedObject: string + xmlConverterPath: string +} + +// TODO: Once ruby codebase aligned with it, sketchup will consume this bridge too! +export class ArchicadBridge { + public emitter: Emitter + + constructor(emitter: Emitter) { + this.emitter = emitter + } + + // NOTE: Overriden emit as we do not need to parse the data back - the Server bridge already parses it for us. + emit( + eventName: string, + payload: Record, + runMethod: ( + methodName: string, + args: unknown[], + shouldTimeout: boolean + ) => Promise + ): void { + const eventPayload = payload as unknown as Record + + if (eventName === 'sendByBrowser') + this.sendByBrowser(eventPayload as SendViaBrowserArgs) + // we will switch to https://www.npmjs.com/package/@speckle/objectsender + else if (eventName === 'sendBatchViaBrowser') + this.sendBatchViaBrowser(eventPayload as SendBatchViaBrowserArgs, runMethod) + else if (eventName === 'createVersionViaBrowser') + this.createVersionViaBrowser(eventPayload as CreateVersionViaBrowserArgs) + else if (eventName === 'receiveByBrowser') + this.receiveByBrowser(eventPayload as ReceiveViaBrowserArgs, runMethod) + else if (eventName === 'receiveByDesktopService') + this.receiveByDesktopService( + eventPayload as ReceiveViaDesktopServiceArgs, + runMethod + ) + // Archicad is not likely to hit here yet! + else return this.emitter.emit(eventName, eventPayload) + } + + private async receiveByDesktopService( + eventPayload: ReceiveViaDesktopServiceArgs, + runMethod: ( + methodName: string, + args: unknown[], + shouldTimeout: boolean + ) => Promise + ) { + const { pingDesktopService } = useDesktopService() + + // 1 - Ping the desktop service to understand it is running + const isDesktopServiceAvailable = await pingDesktopService() + + const hostAppStore = useHostAppStore() + + if (!isDesktopServiceAvailable) { + const notification: ToastNotification = { + title: 'Desktop service unavailable', + description: + 'Falling back to a slower load process because the desktop service is not running.', + type: ToastNotificationType.Info + } + hostAppStore.setNotification(notification) + // 1.1 - No - fallback to receiveByBrowser + return this.receiveByBrowser( + { + modelCardId: eventPayload.modelCardId, + accountId: eventPayload.accountId, + projectId: eventPayload.projectId, + modelId: eventPayload.modelId, + objectId: eventPayload.objectId, + selectedVersionId: eventPayload.selectedVersionId + }, + runMethod + ) + } + + const accountStore = useAccountStore() + const { accounts } = storeToRefs(accountStore) + const account = accounts.value.find( + (acc) => acc.accountInfo.id === eventPayload.accountId + ) + provideApolloClient((account as DUIAccount).client) + + // useQuery cannot use in outside of VueComponent. + const result = await (account as DUIAccount).client.query({ + query: versionDetailsQuery, + variables: { + projectId: eventPayload.projectId, + versionId: eventPayload.selectedVersionId, + modelId: eventPayload.modelId + } + }) + + // 1.2 - Yes - continue + const body: ArchicadReceiveRequest = { + accountId: eventPayload.accountId, + projectId: eventPayload.projectId, + referencedObject: result.data.project.model.version.referencedObject, + xmlConverterPath: eventPayload.xmlConverterPath + } + + // 2 - POST the desktop service with formatted endpoint + try { + hostAppStore.handleModelProgressEvents({ + modelCardId: eventPayload.modelCardId, + progress: { + status: 'Conversion has started, Archicad may be unresponsive for a while.' + } + }) + + const res = await fetch( + `http://localhost:29364/${eventPayload.endpointVersion}/archicad-receive`, + { + method: 'POST', + body: JSON.stringify(body), + headers: { 'Content-Type': 'application/json' } + } + ) + + if (!res.ok) { + const errorText = await res.text() // it is weird tho we can use .json() when it is not ok, it just throws and as below is OK. + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access + throw new Error(`${JSON.parse(errorText).detail as string}`) + } + + const path = (await res.json()) as unknown + + await runMethod( + 'afterGsmConverter', + [ + eventPayload.modelCardId, + result.data.project.model.version.sourceApplication, + path + ] as unknown as unknown[], + false + ) + } catch (error) { + const notification: ToastNotification = { + title: 'Load failed', + description: error as string, + type: ToastNotificationType.Danger + } + hostAppStore.setNotification(notification) + hostAppStore.handleModelProgressEvents({ + modelCardId: eventPayload.modelCardId, + progress: undefined + }) + } + } + + private async receiveByBrowser( + eventPayload: ReceiveViaBrowserArgs, + runMethod: ( + methodName: string, + args: unknown[], + shouldTimeout: boolean + ) => Promise + ) { + const accountStore = useAccountStore() + const hostAppStore = useHostAppStore() + const { accounts } = storeToRefs(accountStore) + const account = accounts.value.find( + (acc) => acc.accountInfo.id === eventPayload.accountId + ) + provideApolloClient((account as DUIAccount).client) + + // useQuery cannot use in outside of VueComponent. + const result = await (account as DUIAccount).client.query({ + query: versionDetailsQuery, + variables: { + projectId: eventPayload.projectId, + versionId: eventPayload.selectedVersionId, + modelId: eventPayload.modelId + } + }) + + const loader = new ObjectLoader({ + serverUrl: account?.accountInfo.serverInfo.url as string, + token: account?.accountInfo.token as string, + streamId: eventPayload.projectId, + objectId: result.data.project.model.version.referencedObject + }) + + const updateProgress = (e: { + stage: ProgressStage + current: number + total: number + }) => { + const progress = e.current / e.total + hostAppStore.handleModelProgressEvents({ + modelCardId: eventPayload.modelCardId, + progress: { status: 'Downloading', progress } + }) + } + + // eslint-disable-next-line @typescript-eslint/await-thenable + const rootObj = await loader.getAndConstructObject(updateProgress) + const args = [ + eventPayload.modelCardId, + result.data.project.model.version.sourceApplication, + rootObj + ] + + const markReceived = provideApolloClient((account as DUIAccount).client)(() => + useMutation(markReceivedVersionMutation) + ) + + await markReceived.mutate({ + input: { + versionId: eventPayload.selectedVersionId, + projectId: eventPayload.projectId, + sourceApplication: hostAppStore.hostAppName as string + } + }) + + hostAppStore.handleModelProgressEvents({ + modelCardId: eventPayload.modelCardId, + progress: { status: 'Converting' } + }) + + // CONVERSION WILL START AFTER THAT + await runMethod('afterGetObjects', args as unknown as unknown[]) + } + + private queuedPromises = {} as Record[]> + + /** + * Internal server method for sending batch data via REST api. + * Whenever batches are completed it triggers to host application to notify it is done. + * To be able to use this function properly, expected objects in batch must have hashed (speckle ids generated, detached, chucked bla bla) on connector. + * @param eventPayload + */ + private async sendBatchViaBrowser( + eventPayload: SendBatchViaBrowserArgs, + runMethod: ( + methodName: string, + args: unknown[], + shouldTimeout: boolean + ) => Promise + ) { + const { + serverUrl, + token, + projectId, + modelCardId, + batch, + totalBatch, + currentBatch, + referencedObjectId + } = eventPayload + if (!this.queuedPromises[modelCardId]) { + this.queuedPromises[modelCardId] = [] + } + const formData = new FormData() + formData.append(`batch-1`, new Blob([batch], { type: 'application/json' })) + this.queuedPromises[modelCardId].push( + fetch(`${serverUrl}/objects/${projectId}`, { + method: 'POST', + headers: { Authorization: 'Bearer ' + token }, + body: formData + }) + ) + + // 🚀 ready to send!!!! + if (currentBatch === totalBatch) { + const start = performance.now() + for (let i = 0; i < this.queuedPromises[modelCardId].length; i++) { + const isLast = i === this.queuedPromises[modelCardId].length - 1 + // Emit progress update for each resolved promise + this.emitter.emit('setModelProgress', { + modelCardId, + progress: { + status: 'Uploading', + progress: isLast ? 0 : (i + 1) / this.queuedPromises[modelCardId].length + } + } as unknown as string) + await this.queuedPromises[modelCardId][i] // Wait for the current promise to resolve + } + this.queuedPromises[modelCardId] = [] + console.log(`🚀 Upload is completed in ${(performance.now() - start) / 1000} s!`) + const args = [eventPayload.modelCardId, referencedObjectId] + await runMethod('afterSendObjects', args as unknown as unknown[]) + } + } + + /** + * Whenever we make sure we sent every object to the server, we can safely call this function from connector to trigger version create and populate conversion reports. + * @param eventPayload + */ + private async createVersionViaBrowser(eventPayload: CreateVersionViaBrowserArgs) { + const { + projectId, + accountId, + modelId, + modelCardId, + referencedObjectId, + message, + sourceApplication, + sendConversionResults + } = eventPayload + const versionId = await this.createVersion({ + modelCardId, + projectId, + modelId, + accountId, + referencedObjectId, + sourceApplication, + message + }) + const hostAppStore = useHostAppStore() + hostAppStore.setModelSendResult({ + modelCardId, + versionId: versionId as string, + sendConversionResults + }) + } + + /** + * Internal server bridge method for sending data via object sender. + * @param eventPayload + */ + private async sendByBrowser(eventPayload: SendViaBrowserArgs) { + const { + serverUrl, + token, + projectId, + accountId, + modelId, + modelCardId, + sendObject, + sendConversionResults, + message + } = eventPayload + this.emitter.emit('setModelProgress', { + modelCardId, + progress: { + status: 'Uploading', + progress: 0 + } + } as unknown as string) + + const { hash: rootCommitObjectId } = await send( + sendObject.rootObject as unknown as Base, + { + serverUrl, + projectId, + token + } + ) + + const hostAppStore = useHostAppStore() + + const hostAppName = `Archicad ${hostAppStore.hostAppVersion}` + + const args: CreateVersionArgs = { + modelCardId, + projectId, + modelId, + accountId, + referencedObjectId: rootCommitObjectId, + sourceApplication: hostAppName, + message: message || `send from ${hostAppStore.hostAppName?.toLowerCase()}` + } + const versionId = await this.createVersion(args) + + // TODO: Alignment needed + hostAppStore.setModelSendResult({ + modelCardId: args.modelCardId, + versionId: versionId as string, + sendConversionResults + }) + } + + private async createVersion(args: CreateVersionArgs) { + const accountStore = useAccountStore() + const { accounts } = storeToRefs(accountStore) + const account = accounts.value.find((acc) => acc.accountInfo.id === args.accountId) + + const createVersion = provideApolloClient((account as DUIAccount).client)(() => + useMutation(createVersionMutation) + ) + + const hostAppStore = useHostAppStore() + + const result = await createVersion.mutate({ + input: { + modelId: args.modelId, + objectId: args.referencedObjectId, + sourceApplication: hostAppStore.hostAppName, + projectId: args.projectId + } + }) + return result?.data?.versionMutations?.create?.id + } +} diff --git a/lib/bridge/sketchup.ts b/lib/bridge/sketchup.ts new file mode 100644 index 0000000..d7fe61d --- /dev/null +++ b/lib/bridge/sketchup.ts @@ -0,0 +1,447 @@ +import { uniqueId } from 'lodash-es' +import { BaseBridge } from './base' +import type { ProgressStage } from '@speckle/objectloader' +import ObjectLoader from '@speckle/objectloader' +import { provideApolloClient, useMutation } from '@vue/apollo-composable' +import { + createVersionMutation, + markReceivedVersionMutation, + versionDetailsQuery +} from '~/lib/graphql/mutationsAndQueries' +import type { DUIAccount } from '~/store/accounts' +import { useAccountStore } from '~/store/accounts' +import { useHostAppStore } from '~/store/hostApp' +import type { ConversionResult } from '~/lib/conversions/conversionResult' +import { storeToRefs } from 'pinia' +import type { + SendBatchViaBrowserArgs, + CreateVersionViaBrowserArgs, + ReceiveViaBrowserArgs, + CreateVersionArgs +} from '~/lib/bridge/server' + +declare let sketchup: { + exec: (data: Record) => void + getBindingsMethodNames: (viewId: string) => void +} + +type SendViaBrowserArgs = { + modelCardId: string + projectId: string + modelId: string + token: string + serverUrl: string + accountId: string + message: string + sendConversionResults: ConversionResult[] + sendObject: { + id: string // the root object id which should be used for creating the version + totalChildrenCount: number + batches: string[] + } +} + +/** + * This class operates in different way than the others, because calls into Sketchup are one way only. + * E.g., we cannot return values from internal calls to it (e.g., const test = sketchup.rubyCall() does not work ). + * This class basically makes the sketchup bindings work in the same way as cef/webview by returning a promise + * on each method call. That promise is either resolved once sketchup sends back (via receiveResponse) a corresponding + * reply, or it's rejected after a given TIMEOUT_MS (currently 2s). + * TODO: implement the event dispatcher side as well. + */ +export class SketchupBridge extends BaseBridge { + private requests = {} as Record< + string, + { + resolve: (value: unknown) => void + reject: (reason: string | Error) => void + rejectTimerId: number + } + > + private bindingName: string + private TIMEOUT_MS = 1000 * 60 // 60 sec + private NON_TIMEOUT_METHODS = ['send', 'afterGetObjects'] + public isInitalized: Promise + private resolveIsInitializedPromise!: (v: boolean) => unknown + private rejectIsInitializedPromise!: (message: string) => unknown + + constructor(bindingName: string) { + super() + this.bindingName = bindingName || 'default_bindings' + + this.isInitalized = new Promise((resolve, reject) => { + this.resolveIsInitializedPromise = resolve + this.rejectIsInitializedPromise = reject + setTimeout( + () => + reject( + `Failed to get command names from Sketchup; timed out after ${this.TIMEOUT_MS}ms.` + ), + this.TIMEOUT_MS + ) + }) + + // NOTE: we need to hoist the bindings in global scope BEFORE we call sketchup exec get comands below. + ;(globalThis as Record).bindings = this + } + + // NOTE: Overriden emit as we do not need to parse the data back - the Sketchup bridge already parses it for us. + emit(eventName: string, payload: string): void { + const eventPayload = payload as unknown as Record + + if (eventName === 'sendViaBrowser') + this.sendViaBrowser(eventPayload as SendViaBrowserArgs) + else if (eventName === 'sendBatchViaBrowser') + this.sendBatchViaBrowser(eventPayload as SendBatchViaBrowserArgs) + else if (eventName === 'createVersionViaBrowser') + this.createVersionViaBrowser(eventPayload as CreateVersionViaBrowserArgs) + else if (eventName === 'receiveViaBrowser') + this.receiveViaBrowser(eventPayload as ReceiveViaBrowserArgs) + + return this.emitter.emit(eventName, eventPayload) + } + + private async receiveViaBrowser(eventPayload: ReceiveViaBrowserArgs) { + const accountStore = useAccountStore() + const hostAppStore = useHostAppStore() + const { accounts } = storeToRefs(accountStore) + const account = accounts.value.find( + (acc) => acc.accountInfo.id === eventPayload.accountId + ) + provideApolloClient((account as DUIAccount).client) + + // useQuery cannot use in outside of VueComponent. + const result = await (account as DUIAccount).client.query({ + query: versionDetailsQuery, + variables: { + projectId: eventPayload.projectId, + versionId: eventPayload.selectedVersionId, + modelId: eventPayload.modelId + } + }) + + const loader = new ObjectLoader({ + serverUrl: account?.accountInfo.serverInfo.url as string, + token: account?.accountInfo.token as string, + streamId: eventPayload.projectId, + objectId: result.data.project.model.version.referencedObject + }) + + const updateProgress = (e: { + stage: ProgressStage + current: number + total: number + }) => { + const progress = e.current / e.total + hostAppStore.handleModelProgressEvents({ + modelCardId: eventPayload.modelCardId, + progress: { status: 'Downloading', progress } + }) + } + + // eslint-disable-next-line @typescript-eslint/await-thenable + const rootObj = await loader.getAndConstructObject(updateProgress) + const args = [ + eventPayload.modelCardId, + result.data.project.model.version.sourceApplication, + rootObj + ] + + const markReceived = provideApolloClient((account as DUIAccount).client)(() => + useMutation(markReceivedVersionMutation) + ) + + await markReceived.mutate({ + input: { + versionId: eventPayload.selectedVersionId, + projectId: eventPayload.projectId, + sourceApplication: 'sketchup' + } + }) + + hostAppStore.handleModelProgressEvents({ + modelCardId: eventPayload.modelCardId, + progress: { + status: 'Conversion has started, SketchUp may be unresponsive for a while.' + } + }) + + // CONVERSION WILL START AFTER THAT + await this.runMethod('afterGetObjects', args as unknown as unknown[]) + } + + /** + * Internal sketchup method for sending batch data via the browser. + * @param eventPayload + */ + private async sendBatchViaBrowser(eventPayload: SendBatchViaBrowserArgs) { + const { + serverUrl, + token, + projectId, + modelCardId, + batch, + totalBatch, + currentBatch, + referencedObjectId + } = eventPayload + if (currentBatch === 1) { + this.emit('setModelProgress', { + modelCardId, + progress: { + status: 'Uploading', + progress: 0 + } + } as unknown as string) + } + const formData = new FormData() + formData.append(`batch-1`, new Blob([batch], { type: 'application/json' })) + await fetch(`${serverUrl}/objects/${projectId}`, { + method: 'POST', + headers: { Authorization: 'Bearer ' + token }, + body: formData + }) + + this.emit('setModelProgress', { + modelCardId, + progress: { + status: 'Uploading', + progress: currentBatch / totalBatch + } + } as unknown as string) + + if (currentBatch === totalBatch) { + const args = [eventPayload.modelCardId, referencedObjectId] + await this.runMethod('afterSendObjects', args as unknown as unknown[]) + } + } + + private async createVersionViaBrowser(eventPayload: CreateVersionViaBrowserArgs) { + const { + projectId, + accountId, + modelId, + modelCardId, + referencedObjectId, + message, + sendConversionResults + } = eventPayload + const args: CreateVersionArgs = { + modelCardId, + projectId, + modelId, + accountId, + referencedObjectId, + sourceApplication: 'sketchup', + message: message || 'send from sketchup' + } + const versionId = await this.createVersion(args) + const hostAppStore = useHostAppStore() + // TODO: Alignment needed + hostAppStore.setModelSendResult({ + modelCardId: args.modelCardId, + versionId: versionId as string, + sendConversionResults + }) + } + + /** + * Internal sketchup method for sending data via the browser. + * @param eventPayload + * @deprecated replaced with sendBatchViaBrowser. NOTE: remove completely! + */ + private async sendViaBrowser(eventPayload: SendViaBrowserArgs) { + const { + serverUrl, + token, + projectId, + accountId, + modelId, + modelCardId, + sendObject, + sendConversionResults, + message + } = eventPayload + this.emit('setModelProgress', { + modelCardId, + progress: { + status: 'Uploading', + progress: 0 + } + } as unknown as string) + // TODO: More of a question: why are we not sending multiple batches at once? + // What's in a batch? etc. To look at optmizing this and not blocking the + // main thread. + const promises = [] as Promise[] + sendObject.batches.forEach((batch) => { + const formData = new FormData() + formData.append(`batch-1`, new Blob([batch], { type: 'application/json' })) + promises.push( + fetch(`${serverUrl}/objects/${projectId}`, { + method: 'POST', + headers: { Authorization: 'Bearer ' + token }, + body: formData + }) + ) + }) + await Promise.all(promises) + + const args: CreateVersionArgs = { + modelCardId, + projectId, + modelId, + accountId, + referencedObjectId: sendObject.id, + sourceApplication: 'sketchup', + message: message || 'send from sketchup' + } + const versionId = await this.createVersion(args) + + const hostAppStore = useHostAppStore() + // TODO: Alignment needed + hostAppStore.setModelSendResult({ + modelCardId: args.modelCardId, + versionId: versionId as string, + sendConversionResults + }) + } + + public async createVersion(args: CreateVersionArgs) { + const accountStore = useAccountStore() + const hostAppStore = useHostAppStore() + const { accounts } = storeToRefs(accountStore) + const account = accounts.value.find((acc) => acc.accountInfo.id === args.accountId) + + const createVersion = provideApolloClient((account as DUIAccount).client)(() => + useMutation(createVersionMutation) + ) + + // sketchup versions are provided as 2 digit. i.e. 22, 23, 24 + // we are safe with this string concatanation for 77 years + const hostAppName = `SketchUp 20${hostAppStore.hostAppVersion}` + + const result = await createVersion.mutate({ + input: { + modelId: args.modelId, + objectId: args.referencedObjectId, + sourceApplication: hostAppName, + projectId: args.projectId + } + }) + return result?.data?.versionMutations?.create?.id + } + + public async create(): Promise { + // Initialization continues in the receiveCommandsAndInitializeBridge function, + // where we expect sketchup to return to us the command names for related bindings/views. + sketchup.getBindingsMethodNames(this.bindingName) + + // + try { + await this.isInitalized + return true + } catch { + return false + } + } + + /** + * Will be called by `executeScript('bindings.receiveCommandsAndInitializeBridge()')` from sketchup. This is where the hoisting happens. + * NOTE: Oguhzan, we can defintively have commandNames be a string, and not a string[] + * And do JSON.parse() here to get them out properly. + * @param commandNames + */ + private receiveCommandsAndInitializeBridge(commandNamesString: string) { + const commandNames = JSON.parse(commandNamesString) as string[] + const hoistTarget = this as unknown as Record + this.availableMethodNames = commandNames + for (const commandName of commandNames) { + hoistTarget[commandName] = (...args: unknown[]) => + this.runMethod(commandName, args) + } + + this.resolveIsInitializedPromise(true) + } + + /** + * Will be called by `executeScript('bindings.rejectBindings()')` from sketchup. + * @param message + */ + private rejectBindings(message: string) { + this.rejectIsInitializedPromise(message) + } + + /** + * Internal calls to Sketchup. + * @param methodName + * @param args + */ + private async runMethod(methodName: string, args: unknown[]): Promise { + const requestId = uniqueId(this.bindingName) + + // TODO: more on the ruby end, but for now Oguzhan seems happy with this. + // Changes might be needed in the future. + sketchup.exec({ + name: methodName, + // eslint-disable-next-line camelcase + request_id: requestId, + // eslint-disable-next-line camelcase + binding_name: this.bindingName, + data: { args } + }) + + return new Promise((resolve, reject) => { + this.requests[requestId] = { + resolve, + reject, + rejectTimerId: window.setTimeout( + () => { + reject( + `Sketchup response timed out for ${methodName} - did not receive anything back in good time (${this.TIMEOUT_MS}ms).` + ) + delete this.requests[requestId] + }, + this.NON_TIMEOUT_METHODS.includes(methodName) ? 3600000 : this.TIMEOUT_MS + ) + } + }) + } + + private receiveResponse(requestId: string, data: object) { + if (!this.requests[requestId]) + throw new Error( + `Sketchup Bridge found no request to resolve with the id of ${requestId}. Something is weird!` + ) + const request = this.requests[requestId] + try { + // eslint-disable-next-line no-prototype-builtins + if (data && data.hasOwnProperty('error')) { + console.error(data) + this.emitter.emit('errorOnResponse', JSON.stringify(data)) + throw new Error( + `Failed to run ${requestId}. The host app error is logged above.` + ) + } + + // NOTE/TODO: does not need parsing + // const parsedData = JSON.parse(data) as Record // TODO: check if data is undefined + request.resolve(data) + } catch (e) { + request.reject(e as Error) + } finally { + window.clearTimeout(request.rejectTimerId) + delete this.requests[requestId] + } + } + + public showDevTools() { + // eslint-disable-next-line no-alert + window.alert( + 'Sketchup cannot do this. The dev tools menu is accessible via a right click.' + ) + } + + public openUrl(url: string) { + window.open(url) + } +} diff --git a/lib/common/generated/gql/gql.ts b/lib/common/generated/gql/gql.ts new file mode 100644 index 0000000..b1a5cca --- /dev/null +++ b/lib/common/generated/gql/gql.ts @@ -0,0 +1,232 @@ +/* eslint-disable */ +import * as types from './graphql'; +import type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core'; + +/** + * Map of all GraphQL operations in the project. + * + * This map has several performance disadvantages: + * 1. It is not tree-shakeable, so it will include all operations in the project. + * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle. + * 3. It does not support dead code elimination, so it will add unused operations. + * + * Therefore it is highly recommended to use the babel or swc plugin for production. + */ +const documents = { + "\n query AcccountTestQuery {\n serverInfo {\n version\n name\n company\n }\n }\n ": types.AcccountTestQueryDocument, + "\n mutation SetActiveWorkspaceMutation($slug: String) {\n activeUserMutations {\n setActiveWorkspace(slug: $slug)\n }\n }\n": types.SetActiveWorkspaceMutationDocument, + "\n mutation VersionMutations($input: CreateVersionInput!) {\n versionMutations {\n create(input: $input) {\n id\n }\n }\n }\n": types.VersionMutationsDocument, + "\n mutation MarkReceivedVersion($input: MarkReceivedVersionInput!) {\n versionMutations {\n markReceived(input: $input)\n }\n }\n": types.MarkReceivedVersionDocument, + "\n mutation CreateModel($input: CreateModelInput!) {\n modelMutations {\n create(input: $input) {\n ...ModelListModelItem\n }\n }\n }\n": types.CreateModelDocument, + "\n mutation CreateProject($input: ProjectCreateInput) {\n projectMutations {\n create(input: $input) {\n ...ProjectListProjectItem\n }\n }\n }\n": types.CreateProjectDocument, + "\n mutation CreateProjectInWorkspace($input: WorkspaceProjectCreateInput!) {\n workspaceMutations {\n projects {\n create(input: $input) {\n ...ProjectListProjectItem\n }\n }\n }\n }\n": types.CreateProjectInWorkspaceDocument, + "\n mutation StreamAccessRequestCreate($input: String!) {\n streamAccessRequestCreate(streamId: $input) {\n id\n }\n }\n": types.StreamAccessRequestCreateDocument, + "\n fragment WorkspaceListWorkspaceItem on Workspace {\n id\n slug\n name\n description\n createdAt\n updatedAt\n logo\n role\n readOnly\n }\n": types.WorkspaceListWorkspaceItemFragmentDoc, + "\n fragment AutomateFunctionItem on AutomateFunction {\n name\n isFeatured\n id\n creator {\n name\n }\n releases {\n items {\n inputSchema\n }\n }\n }\n": types.AutomateFunctionItemFragmentDoc, + "\n mutation CreateAutomation($projectId: ID!, $input: ProjectAutomationCreateInput!) {\n projectMutations {\n automationMutations(projectId: $projectId) {\n create(input: $input) {\n id\n name\n }\n }\n }\n }\n": types.CreateAutomationDocument, + "\n fragment AutomateFunctionRunItem on AutomateFunctionRun {\n id\n status\n statusMessage\n results\n contextView\n function {\n id\n name\n logo\n }\n }\n": types.AutomateFunctionRunItemFragmentDoc, + "\n fragment AutomationRunItem on AutomateRun {\n id\n status\n automation {\n id\n name\n }\n functionRuns {\n ...AutomateFunctionRunItem\n }\n }\n": types.AutomationRunItemFragmentDoc, + "\n query AutomationStatus($projectId: String!, $modelId: String!) {\n project(id: $projectId) {\n model(id: $modelId) {\n automationsStatus {\n id\n status\n automationRuns {\n ...AutomationRunItem\n }\n }\n }\n }\n }\n": types.AutomationStatusDocument, + "\n query WorkspaceListQuery(\n $limit: Int!\n $filter: UserWorkspacesFilter\n $cursor: String\n ) {\n activeUser {\n id\n workspaces(limit: $limit, filter: $filter, cursor: $cursor) {\n totalCount\n cursor\n items {\n ...WorkspaceListWorkspaceItem\n }\n }\n }\n }\n": types.WorkspaceListQueryDocument, + "\n query CanCreatePersonalProject {\n activeUser {\n permissions {\n canCreatePersonalProject {\n authorized\n code\n message\n payload\n }\n }\n }\n }\n": types.CanCreatePersonalProjectDocument, + "\n query CanCreateProjectInWorkspace($workspaceId: String!) {\n workspace(id: $workspaceId) {\n permissions {\n canCreateProject {\n authorized\n code\n message\n payload\n }\n }\n }\n }\n": types.CanCreateProjectInWorkspaceDocument, + "\n query CanCreateModelInProject($projectId: String!) {\n project(id: $projectId) {\n permissions {\n canCreateModel {\n authorized\n code\n message\n }\n }\n }\n }\n": types.CanCreateModelInProjectDocument, + "\n query ActiveWorkspace {\n activeUser {\n activeWorkspace {\n ...WorkspaceListWorkspaceItem\n }\n }\n }\n": types.ActiveWorkspaceDocument, + "\n fragment ProjectListProjectItem on Project {\n id\n name\n role\n updatedAt\n workspaceId\n workspace {\n id\n name\n slug\n role\n }\n models {\n totalCount\n }\n permissions {\n canLoad {\n authorized\n code\n message\n }\n canPublish {\n authorized\n code\n message\n }\n }\n }\n": types.ProjectListProjectItemFragmentDoc, + "\n query ProjectListQuery($limit: Int!, $filter: UserProjectsFilter, $cursor: String) {\n activeUser {\n id\n projects(limit: $limit, filter: $filter, cursor: $cursor) {\n totalCount\n cursor\n items {\n ...ProjectListProjectItem\n }\n }\n }\n }\n": types.ProjectListQueryDocument, + "\n fragment ModelListModelItem on Model {\n displayName\n name\n id\n previewUrl\n updatedAt\n versions(limit: 1) {\n totalCount\n items {\n ...VersionListItem\n }\n }\n }\n": types.ModelListModelItemFragmentDoc, + "\n query ProjectModels(\n $projectId: String!\n $cursor: String\n $limit: Int!\n $filter: ProjectModelsFilter\n ) {\n project(id: $projectId) {\n id\n models(cursor: $cursor, limit: $limit, filter: $filter) {\n totalCount\n cursor\n items {\n ...ModelListModelItem\n }\n }\n }\n }\n": types.ProjectModelsDocument, + "\n fragment VersionListItem on Version {\n id\n referencedObject\n message\n sourceApplication\n authorUser {\n avatar\n id\n name\n }\n createdAt\n previewUrl\n }\n": types.VersionListItemFragmentDoc, + "\n query ModelVersions(\n $modelId: String!\n $projectId: String!\n $limit: Int!\n $cursor: String\n $filter: ModelVersionsFilter\n ) {\n project(id: $projectId) {\n id\n model(id: $modelId) {\n id\n versions(limit: $limit, cursor: $cursor, filter: $filter) {\n totalCount\n cursor\n items {\n ...VersionListItem\n }\n }\n }\n }\n }\n": types.ModelVersionsDocument, + "\n query ObjectQuery($projectId: String!, $objectId: String!) {\n project(id: $projectId) {\n object(id: $objectId) {\n id\n data\n }\n }\n }\n": types.ObjectQueryDocument, + "\n query ProjectAddByUrlQueryWithVersion(\n $projectId: String!\n $modelId: String!\n $versionId: String!\n ) {\n project(id: $projectId) {\n ...ProjectListProjectItem\n model(id: $modelId) {\n ...ModelListModelItem\n version(id: $versionId) {\n ...VersionListItem\n }\n }\n }\n }\n": types.ProjectAddByUrlQueryWithVersionDocument, + "\n query ProjectAddByUrlQueryWithoutVersion($projectId: String!, $modelId: String!) {\n project(id: $projectId) {\n ...ProjectListProjectItem\n model(id: $modelId) {\n ...ModelListModelItem\n }\n }\n }\n": types.ProjectAddByUrlQueryWithoutVersionDocument, + "\n query ProjectDetails($projectId: String!) {\n project(id: $projectId) {\n id\n role\n name\n workspace {\n name\n slug\n readOnly\n role\n }\n team {\n user {\n avatar\n id\n name\n }\n }\n visibility\n permissions {\n canLoad {\n authorized\n code\n message\n }\n canPublish {\n authorized\n code\n message\n }\n }\n }\n }\n": types.ProjectDetailsDocument, + "\n query AutomateFunctions {\n automateFunctions {\n items {\n ...AutomateFunctionItem\n }\n }\n }\n": types.AutomateFunctionsDocument, + "\n query ModelDetails($modelId: String!, $projectId: String!) {\n project(id: $projectId) {\n id\n name\n model(id: $modelId) {\n id\n displayName\n name\n versions {\n totalCount\n items {\n id\n }\n }\n author {\n id\n name\n avatar\n }\n }\n }\n }\n": types.ModelDetailsDocument, + "\n query VersionDetails($projectId: String!, $versionId: String!, $modelId: String!) {\n project(id: $projectId) {\n id\n name\n model(id: $modelId) {\n id\n name\n versions(limit: 1) {\n items {\n id\n createdAt\n sourceApplication\n authorUser {\n id\n }\n }\n }\n version(id: $versionId) {\n id\n referencedObject\n message\n sourceApplication\n createdAt\n previewUrl\n }\n }\n }\n }\n": types.VersionDetailsDocument, + "\n query ServerInfo {\n serverInfo {\n workspaces {\n workspacesEnabled\n }\n }\n }\n": types.ServerInfoDocument, + "\n subscription OnProjectVersionsUpdate($projectId: String!) {\n projectVersionsUpdated(id: $projectId) {\n id\n type\n version {\n id\n createdAt\n message\n sourceApplication\n authorUser {\n id\n name\n avatar\n }\n model {\n id\n name\n displayName\n }\n }\n }\n }\n": types.OnProjectVersionsUpdateDocument, + "\n subscription ProjectTriggeredAutomationsStatusUpdated($projectId: String!) {\n projectTriggeredAutomationsStatusUpdated(projectId: $projectId) {\n type\n version {\n id\n }\n model {\n id\n }\n project {\n id\n }\n run {\n ...AutomationRunItem\n }\n }\n }\n": types.ProjectTriggeredAutomationsStatusUpdatedDocument, + "\n subscription OnUserProjectsUpdated {\n userProjectsUpdated {\n id\n project {\n id\n visibility\n team {\n id\n role\n }\n }\n }\n }\n": types.OnUserProjectsUpdatedDocument, + "\n subscription ProjectUpdated($projectId: String!) {\n projectUpdated(id: $projectId) {\n id\n project {\n visibility\n }\n }\n }\n": types.ProjectUpdatedDocument, + "\n subscription Subscription($target: ViewerUpdateTrackingTarget!) {\n viewerUserActivityBroadcasted(target: $target) {\n userName\n userId\n sessionId\n user {\n name\n id\n avatar\n }\n status\n }\n }\n": types.SubscriptionDocument, + "\n subscription ProjectCommentsUpdated($target: ViewerUpdateTrackingTarget!) {\n projectCommentsUpdated(target: $target) {\n comment {\n author {\n avatar\n id\n name\n }\n id\n hasParent\n parent {\n id\n }\n }\n type\n }\n }\n": types.ProjectCommentsUpdatedDocument, +}; + +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + * + * + * @example + * ```ts + * const query = graphql(`query GetUser($id: ID!) { user(id: $id) { name } }`); + * ``` + * + * The query argument is unknown! + * Please regenerate the types. + */ +export function graphql(source: string): unknown; + +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n query AcccountTestQuery {\n serverInfo {\n version\n name\n company\n }\n }\n "): (typeof documents)["\n query AcccountTestQuery {\n serverInfo {\n version\n name\n company\n }\n }\n "]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n mutation SetActiveWorkspaceMutation($slug: String) {\n activeUserMutations {\n setActiveWorkspace(slug: $slug)\n }\n }\n"): (typeof documents)["\n mutation SetActiveWorkspaceMutation($slug: String) {\n activeUserMutations {\n setActiveWorkspace(slug: $slug)\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n mutation VersionMutations($input: CreateVersionInput!) {\n versionMutations {\n create(input: $input) {\n id\n }\n }\n }\n"): (typeof documents)["\n mutation VersionMutations($input: CreateVersionInput!) {\n versionMutations {\n create(input: $input) {\n id\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n mutation MarkReceivedVersion($input: MarkReceivedVersionInput!) {\n versionMutations {\n markReceived(input: $input)\n }\n }\n"): (typeof documents)["\n mutation MarkReceivedVersion($input: MarkReceivedVersionInput!) {\n versionMutations {\n markReceived(input: $input)\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n mutation CreateModel($input: CreateModelInput!) {\n modelMutations {\n create(input: $input) {\n ...ModelListModelItem\n }\n }\n }\n"): (typeof documents)["\n mutation CreateModel($input: CreateModelInput!) {\n modelMutations {\n create(input: $input) {\n ...ModelListModelItem\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n mutation CreateProject($input: ProjectCreateInput) {\n projectMutations {\n create(input: $input) {\n ...ProjectListProjectItem\n }\n }\n }\n"): (typeof documents)["\n mutation CreateProject($input: ProjectCreateInput) {\n projectMutations {\n create(input: $input) {\n ...ProjectListProjectItem\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n mutation CreateProjectInWorkspace($input: WorkspaceProjectCreateInput!) {\n workspaceMutations {\n projects {\n create(input: $input) {\n ...ProjectListProjectItem\n }\n }\n }\n }\n"): (typeof documents)["\n mutation CreateProjectInWorkspace($input: WorkspaceProjectCreateInput!) {\n workspaceMutations {\n projects {\n create(input: $input) {\n ...ProjectListProjectItem\n }\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n mutation StreamAccessRequestCreate($input: String!) {\n streamAccessRequestCreate(streamId: $input) {\n id\n }\n }\n"): (typeof documents)["\n mutation StreamAccessRequestCreate($input: String!) {\n streamAccessRequestCreate(streamId: $input) {\n id\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n fragment WorkspaceListWorkspaceItem on Workspace {\n id\n slug\n name\n description\n createdAt\n updatedAt\n logo\n role\n readOnly\n }\n"): (typeof documents)["\n fragment WorkspaceListWorkspaceItem on Workspace {\n id\n slug\n name\n description\n createdAt\n updatedAt\n logo\n role\n readOnly\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n fragment AutomateFunctionItem on AutomateFunction {\n name\n isFeatured\n id\n creator {\n name\n }\n releases {\n items {\n inputSchema\n }\n }\n }\n"): (typeof documents)["\n fragment AutomateFunctionItem on AutomateFunction {\n name\n isFeatured\n id\n creator {\n name\n }\n releases {\n items {\n inputSchema\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n mutation CreateAutomation($projectId: ID!, $input: ProjectAutomationCreateInput!) {\n projectMutations {\n automationMutations(projectId: $projectId) {\n create(input: $input) {\n id\n name\n }\n }\n }\n }\n"): (typeof documents)["\n mutation CreateAutomation($projectId: ID!, $input: ProjectAutomationCreateInput!) {\n projectMutations {\n automationMutations(projectId: $projectId) {\n create(input: $input) {\n id\n name\n }\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n fragment AutomateFunctionRunItem on AutomateFunctionRun {\n id\n status\n statusMessage\n results\n contextView\n function {\n id\n name\n logo\n }\n }\n"): (typeof documents)["\n fragment AutomateFunctionRunItem on AutomateFunctionRun {\n id\n status\n statusMessage\n results\n contextView\n function {\n id\n name\n logo\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n fragment AutomationRunItem on AutomateRun {\n id\n status\n automation {\n id\n name\n }\n functionRuns {\n ...AutomateFunctionRunItem\n }\n }\n"): (typeof documents)["\n fragment AutomationRunItem on AutomateRun {\n id\n status\n automation {\n id\n name\n }\n functionRuns {\n ...AutomateFunctionRunItem\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n query AutomationStatus($projectId: String!, $modelId: String!) {\n project(id: $projectId) {\n model(id: $modelId) {\n automationsStatus {\n id\n status\n automationRuns {\n ...AutomationRunItem\n }\n }\n }\n }\n }\n"): (typeof documents)["\n query AutomationStatus($projectId: String!, $modelId: String!) {\n project(id: $projectId) {\n model(id: $modelId) {\n automationsStatus {\n id\n status\n automationRuns {\n ...AutomationRunItem\n }\n }\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n query WorkspaceListQuery(\n $limit: Int!\n $filter: UserWorkspacesFilter\n $cursor: String\n ) {\n activeUser {\n id\n workspaces(limit: $limit, filter: $filter, cursor: $cursor) {\n totalCount\n cursor\n items {\n ...WorkspaceListWorkspaceItem\n }\n }\n }\n }\n"): (typeof documents)["\n query WorkspaceListQuery(\n $limit: Int!\n $filter: UserWorkspacesFilter\n $cursor: String\n ) {\n activeUser {\n id\n workspaces(limit: $limit, filter: $filter, cursor: $cursor) {\n totalCount\n cursor\n items {\n ...WorkspaceListWorkspaceItem\n }\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n query CanCreatePersonalProject {\n activeUser {\n permissions {\n canCreatePersonalProject {\n authorized\n code\n message\n payload\n }\n }\n }\n }\n"): (typeof documents)["\n query CanCreatePersonalProject {\n activeUser {\n permissions {\n canCreatePersonalProject {\n authorized\n code\n message\n payload\n }\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n query CanCreateProjectInWorkspace($workspaceId: String!) {\n workspace(id: $workspaceId) {\n permissions {\n canCreateProject {\n authorized\n code\n message\n payload\n }\n }\n }\n }\n"): (typeof documents)["\n query CanCreateProjectInWorkspace($workspaceId: String!) {\n workspace(id: $workspaceId) {\n permissions {\n canCreateProject {\n authorized\n code\n message\n payload\n }\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n query CanCreateModelInProject($projectId: String!) {\n project(id: $projectId) {\n permissions {\n canCreateModel {\n authorized\n code\n message\n }\n }\n }\n }\n"): (typeof documents)["\n query CanCreateModelInProject($projectId: String!) {\n project(id: $projectId) {\n permissions {\n canCreateModel {\n authorized\n code\n message\n }\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n query ActiveWorkspace {\n activeUser {\n activeWorkspace {\n ...WorkspaceListWorkspaceItem\n }\n }\n }\n"): (typeof documents)["\n query ActiveWorkspace {\n activeUser {\n activeWorkspace {\n ...WorkspaceListWorkspaceItem\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n fragment ProjectListProjectItem on Project {\n id\n name\n role\n updatedAt\n workspaceId\n workspace {\n id\n name\n slug\n role\n }\n models {\n totalCount\n }\n permissions {\n canLoad {\n authorized\n code\n message\n }\n canPublish {\n authorized\n code\n message\n }\n }\n }\n"): (typeof documents)["\n fragment ProjectListProjectItem on Project {\n id\n name\n role\n updatedAt\n workspaceId\n workspace {\n id\n name\n slug\n role\n }\n models {\n totalCount\n }\n permissions {\n canLoad {\n authorized\n code\n message\n }\n canPublish {\n authorized\n code\n message\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n query ProjectListQuery($limit: Int!, $filter: UserProjectsFilter, $cursor: String) {\n activeUser {\n id\n projects(limit: $limit, filter: $filter, cursor: $cursor) {\n totalCount\n cursor\n items {\n ...ProjectListProjectItem\n }\n }\n }\n }\n"): (typeof documents)["\n query ProjectListQuery($limit: Int!, $filter: UserProjectsFilter, $cursor: String) {\n activeUser {\n id\n projects(limit: $limit, filter: $filter, cursor: $cursor) {\n totalCount\n cursor\n items {\n ...ProjectListProjectItem\n }\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n fragment ModelListModelItem on Model {\n displayName\n name\n id\n previewUrl\n updatedAt\n versions(limit: 1) {\n totalCount\n items {\n ...VersionListItem\n }\n }\n }\n"): (typeof documents)["\n fragment ModelListModelItem on Model {\n displayName\n name\n id\n previewUrl\n updatedAt\n versions(limit: 1) {\n totalCount\n items {\n ...VersionListItem\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n query ProjectModels(\n $projectId: String!\n $cursor: String\n $limit: Int!\n $filter: ProjectModelsFilter\n ) {\n project(id: $projectId) {\n id\n models(cursor: $cursor, limit: $limit, filter: $filter) {\n totalCount\n cursor\n items {\n ...ModelListModelItem\n }\n }\n }\n }\n"): (typeof documents)["\n query ProjectModels(\n $projectId: String!\n $cursor: String\n $limit: Int!\n $filter: ProjectModelsFilter\n ) {\n project(id: $projectId) {\n id\n models(cursor: $cursor, limit: $limit, filter: $filter) {\n totalCount\n cursor\n items {\n ...ModelListModelItem\n }\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n fragment VersionListItem on Version {\n id\n referencedObject\n message\n sourceApplication\n authorUser {\n avatar\n id\n name\n }\n createdAt\n previewUrl\n }\n"): (typeof documents)["\n fragment VersionListItem on Version {\n id\n referencedObject\n message\n sourceApplication\n authorUser {\n avatar\n id\n name\n }\n createdAt\n previewUrl\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n query ModelVersions(\n $modelId: String!\n $projectId: String!\n $limit: Int!\n $cursor: String\n $filter: ModelVersionsFilter\n ) {\n project(id: $projectId) {\n id\n model(id: $modelId) {\n id\n versions(limit: $limit, cursor: $cursor, filter: $filter) {\n totalCount\n cursor\n items {\n ...VersionListItem\n }\n }\n }\n }\n }\n"): (typeof documents)["\n query ModelVersions(\n $modelId: String!\n $projectId: String!\n $limit: Int!\n $cursor: String\n $filter: ModelVersionsFilter\n ) {\n project(id: $projectId) {\n id\n model(id: $modelId) {\n id\n versions(limit: $limit, cursor: $cursor, filter: $filter) {\n totalCount\n cursor\n items {\n ...VersionListItem\n }\n }\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n query ObjectQuery($projectId: String!, $objectId: String!) {\n project(id: $projectId) {\n object(id: $objectId) {\n id\n data\n }\n }\n }\n"): (typeof documents)["\n query ObjectQuery($projectId: String!, $objectId: String!) {\n project(id: $projectId) {\n object(id: $objectId) {\n id\n data\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n query ProjectAddByUrlQueryWithVersion(\n $projectId: String!\n $modelId: String!\n $versionId: String!\n ) {\n project(id: $projectId) {\n ...ProjectListProjectItem\n model(id: $modelId) {\n ...ModelListModelItem\n version(id: $versionId) {\n ...VersionListItem\n }\n }\n }\n }\n"): (typeof documents)["\n query ProjectAddByUrlQueryWithVersion(\n $projectId: String!\n $modelId: String!\n $versionId: String!\n ) {\n project(id: $projectId) {\n ...ProjectListProjectItem\n model(id: $modelId) {\n ...ModelListModelItem\n version(id: $versionId) {\n ...VersionListItem\n }\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n query ProjectAddByUrlQueryWithoutVersion($projectId: String!, $modelId: String!) {\n project(id: $projectId) {\n ...ProjectListProjectItem\n model(id: $modelId) {\n ...ModelListModelItem\n }\n }\n }\n"): (typeof documents)["\n query ProjectAddByUrlQueryWithoutVersion($projectId: String!, $modelId: String!) {\n project(id: $projectId) {\n ...ProjectListProjectItem\n model(id: $modelId) {\n ...ModelListModelItem\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n query ProjectDetails($projectId: String!) {\n project(id: $projectId) {\n id\n role\n name\n workspace {\n name\n slug\n readOnly\n role\n }\n team {\n user {\n avatar\n id\n name\n }\n }\n visibility\n permissions {\n canLoad {\n authorized\n code\n message\n }\n canPublish {\n authorized\n code\n message\n }\n }\n }\n }\n"): (typeof documents)["\n query ProjectDetails($projectId: String!) {\n project(id: $projectId) {\n id\n role\n name\n workspace {\n name\n slug\n readOnly\n role\n }\n team {\n user {\n avatar\n id\n name\n }\n }\n visibility\n permissions {\n canLoad {\n authorized\n code\n message\n }\n canPublish {\n authorized\n code\n message\n }\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n query AutomateFunctions {\n automateFunctions {\n items {\n ...AutomateFunctionItem\n }\n }\n }\n"): (typeof documents)["\n query AutomateFunctions {\n automateFunctions {\n items {\n ...AutomateFunctionItem\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n query ModelDetails($modelId: String!, $projectId: String!) {\n project(id: $projectId) {\n id\n name\n model(id: $modelId) {\n id\n displayName\n name\n versions {\n totalCount\n items {\n id\n }\n }\n author {\n id\n name\n avatar\n }\n }\n }\n }\n"): (typeof documents)["\n query ModelDetails($modelId: String!, $projectId: String!) {\n project(id: $projectId) {\n id\n name\n model(id: $modelId) {\n id\n displayName\n name\n versions {\n totalCount\n items {\n id\n }\n }\n author {\n id\n name\n avatar\n }\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n query VersionDetails($projectId: String!, $versionId: String!, $modelId: String!) {\n project(id: $projectId) {\n id\n name\n model(id: $modelId) {\n id\n name\n versions(limit: 1) {\n items {\n id\n createdAt\n sourceApplication\n authorUser {\n id\n }\n }\n }\n version(id: $versionId) {\n id\n referencedObject\n message\n sourceApplication\n createdAt\n previewUrl\n }\n }\n }\n }\n"): (typeof documents)["\n query VersionDetails($projectId: String!, $versionId: String!, $modelId: String!) {\n project(id: $projectId) {\n id\n name\n model(id: $modelId) {\n id\n name\n versions(limit: 1) {\n items {\n id\n createdAt\n sourceApplication\n authorUser {\n id\n }\n }\n }\n version(id: $versionId) {\n id\n referencedObject\n message\n sourceApplication\n createdAt\n previewUrl\n }\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n query ServerInfo {\n serverInfo {\n workspaces {\n workspacesEnabled\n }\n }\n }\n"): (typeof documents)["\n query ServerInfo {\n serverInfo {\n workspaces {\n workspacesEnabled\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n subscription OnProjectVersionsUpdate($projectId: String!) {\n projectVersionsUpdated(id: $projectId) {\n id\n type\n version {\n id\n createdAt\n message\n sourceApplication\n authorUser {\n id\n name\n avatar\n }\n model {\n id\n name\n displayName\n }\n }\n }\n }\n"): (typeof documents)["\n subscription OnProjectVersionsUpdate($projectId: String!) {\n projectVersionsUpdated(id: $projectId) {\n id\n type\n version {\n id\n createdAt\n message\n sourceApplication\n authorUser {\n id\n name\n avatar\n }\n model {\n id\n name\n displayName\n }\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n subscription ProjectTriggeredAutomationsStatusUpdated($projectId: String!) {\n projectTriggeredAutomationsStatusUpdated(projectId: $projectId) {\n type\n version {\n id\n }\n model {\n id\n }\n project {\n id\n }\n run {\n ...AutomationRunItem\n }\n }\n }\n"): (typeof documents)["\n subscription ProjectTriggeredAutomationsStatusUpdated($projectId: String!) {\n projectTriggeredAutomationsStatusUpdated(projectId: $projectId) {\n type\n version {\n id\n }\n model {\n id\n }\n project {\n id\n }\n run {\n ...AutomationRunItem\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n subscription OnUserProjectsUpdated {\n userProjectsUpdated {\n id\n project {\n id\n visibility\n team {\n id\n role\n }\n }\n }\n }\n"): (typeof documents)["\n subscription OnUserProjectsUpdated {\n userProjectsUpdated {\n id\n project {\n id\n visibility\n team {\n id\n role\n }\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n subscription ProjectUpdated($projectId: String!) {\n projectUpdated(id: $projectId) {\n id\n project {\n visibility\n }\n }\n }\n"): (typeof documents)["\n subscription ProjectUpdated($projectId: String!) {\n projectUpdated(id: $projectId) {\n id\n project {\n visibility\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n subscription Subscription($target: ViewerUpdateTrackingTarget!) {\n viewerUserActivityBroadcasted(target: $target) {\n userName\n userId\n sessionId\n user {\n name\n id\n avatar\n }\n status\n }\n }\n"): (typeof documents)["\n subscription Subscription($target: ViewerUpdateTrackingTarget!) {\n viewerUserActivityBroadcasted(target: $target) {\n userName\n userId\n sessionId\n user {\n name\n id\n avatar\n }\n status\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n subscription ProjectCommentsUpdated($target: ViewerUpdateTrackingTarget!) {\n projectCommentsUpdated(target: $target) {\n comment {\n author {\n avatar\n id\n name\n }\n id\n hasParent\n parent {\n id\n }\n }\n type\n }\n }\n"): (typeof documents)["\n subscription ProjectCommentsUpdated($target: ViewerUpdateTrackingTarget!) {\n projectCommentsUpdated(target: $target) {\n comment {\n author {\n avatar\n id\n name\n }\n id\n hasParent\n parent {\n id\n }\n }\n type\n }\n }\n"]; + +export function graphql(source: string) { + return (documents as any)[source] ?? {}; +} + +export type DocumentType> = TDocumentNode extends DocumentNode< infer TType, any> ? TType : never; \ No newline at end of file diff --git a/lib/common/generated/gql/graphql.ts b/lib/common/generated/gql/graphql.ts new file mode 100644 index 0000000..4fd1c97 --- /dev/null +++ b/lib/common/generated/gql/graphql.ts @@ -0,0 +1,5364 @@ +/* eslint-disable */ +import type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core'; +export type Maybe = T | null; +export type InputMaybe = Maybe; +export type Exact = { [K in keyof T]: T[K] }; +export type MakeOptional = Omit & { [SubKey in K]?: Maybe }; +export type MakeMaybe = Omit & { [SubKey in K]: Maybe }; +export type MakeEmpty = { [_ in K]?: never }; +export type Incremental = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never }; +/** All built-in and custom scalars, mapped to their actual values */ +export type Scalars = { + ID: { input: string; output: string; } + String: { input: string; output: string; } + Boolean: { input: boolean; output: boolean; } + Int: { input: number; output: number; } + Float: { input: number; output: number; } + /** The `BigInt` scalar type represents non-fractional signed whole numeric values. */ + BigInt: { input: any; output: any; } + /** A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar. */ + DateTime: { input: string; output: string; } + /** The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */ + JSONObject: { input: {}; output: {}; } +}; + +export type ActiveUserMutations = { + __typename?: 'ActiveUserMutations'; + emailMutations: UserEmailMutations; + /** Mark onboarding as complete */ + finishOnboarding: Scalars['Boolean']['output']; + meta: UserMetaMutations; + setActiveWorkspace: Scalars['Boolean']['output']; + /** Edit a user's profile */ + update: User; +}; + + +export type ActiveUserMutationsFinishOnboardingArgs = { + input?: InputMaybe; +}; + + +export type ActiveUserMutationsSetActiveWorkspaceArgs = { + isProjectsActive?: InputMaybe; + slug?: InputMaybe; +}; + + +export type ActiveUserMutationsUpdateArgs = { + user: UserUpdateInput; +}; + +export type Activity = { + __typename?: 'Activity'; + actionType: Scalars['String']['output']; + id: Scalars['ID']['output']; + info: Scalars['JSONObject']['output']; + message: Scalars['String']['output']; + resourceId: Scalars['String']['output']; + resourceType: Scalars['String']['output']; + streamId?: Maybe; + time: Scalars['DateTime']['output']; + userId: Scalars['String']['output']; +}; + +export type ActivityCollection = { + __typename?: 'ActivityCollection'; + cursor?: Maybe; + items: Array; + totalCount: Scalars['Int']['output']; +}; + +export type AddDomainToWorkspaceInput = { + domain: Scalars['String']['input']; + workspaceId: Scalars['ID']['input']; +}; + +export type AdminInviteList = { + __typename?: 'AdminInviteList'; + cursor?: Maybe; + items: Array; + totalCount: Scalars['Int']['output']; +}; + +export type AdminMutations = { + __typename?: 'AdminMutations'; + updateWorkspacePlan: Scalars['Boolean']['output']; +}; + + +export type AdminMutationsUpdateWorkspacePlanArgs = { + input: AdminUpdateWorkspacePlanInput; +}; + +export type AdminQueries = { + __typename?: 'AdminQueries'; + inviteList: AdminInviteList; + projectList: ProjectCollection; + serverStatistics: ServerStatistics; + userList: AdminUserList; + workspaceList: WorkspaceCollection; +}; + + +export type AdminQueriesInviteListArgs = { + cursor?: InputMaybe; + limit?: Scalars['Int']['input']; + query?: InputMaybe; +}; + + +export type AdminQueriesProjectListArgs = { + cursor?: InputMaybe; + limit?: Scalars['Int']['input']; + orderBy?: InputMaybe; + query?: InputMaybe; + visibility?: InputMaybe; +}; + + +export type AdminQueriesUserListArgs = { + cursor?: InputMaybe; + limit?: Scalars['Int']['input']; + query?: InputMaybe; + role?: InputMaybe; +}; + + +export type AdminQueriesWorkspaceListArgs = { + cursor?: InputMaybe; + limit?: Scalars['Int']['input']; + query?: InputMaybe; +}; + +export type AdminUpdateWorkspacePlanInput = { + plan: WorkspacePlans; + status: WorkspacePlanStatuses; + workspaceId: Scalars['ID']['input']; +}; + +export type AdminUserList = { + __typename?: 'AdminUserList'; + cursor?: Maybe; + items: Array; + totalCount: Scalars['Int']['output']; +}; + +export type AdminUserListItem = { + __typename?: 'AdminUserListItem'; + avatar?: Maybe; + company?: Maybe; + email?: Maybe; + id: Scalars['ID']['output']; + name: Scalars['String']['output']; + role?: Maybe; + verified?: Maybe; +}; + +export type AdminUsersListCollection = { + __typename?: 'AdminUsersListCollection'; + items: Array; + totalCount: Scalars['Int']['output']; +}; + +/** + * A representation of a registered or invited user in the admin users list. Either registeredUser + * or invitedUser will always be set, both values can't be null. + */ +export type AdminUsersListItem = { + __typename?: 'AdminUsersListItem'; + id: Scalars['String']['output']; + invitedUser?: Maybe; + registeredUser?: Maybe; +}; + +export type AdminWorkspaceJoinRequestFilter = { + status?: InputMaybe; +}; + +export type ApiToken = { + __typename?: 'ApiToken'; + createdAt: Scalars['DateTime']['output']; + id: Scalars['String']['output']; + lastChars: Scalars['String']['output']; + lastUsed: Scalars['DateTime']['output']; + lifespan: Scalars['BigInt']['output']; + name: Scalars['String']['output']; + scopes: Array>; +}; + +export type ApiTokenCreateInput = { + lifespan?: InputMaybe; + name: Scalars['String']['input']; + scopes: Array; +}; + +export type AppAuthor = { + __typename?: 'AppAuthor'; + avatar?: Maybe; + id: Scalars['String']['output']; + name: Scalars['String']['output']; +}; + +export type AppCreateInput = { + description: Scalars['String']['input']; + logo?: InputMaybe; + name: Scalars['String']['input']; + public?: InputMaybe; + redirectUrl: Scalars['String']['input']; + scopes: Array>; + termsAndConditionsLink?: InputMaybe; +}; + +export type AppTokenCreateInput = { + lifespan?: InputMaybe; + /** Optionally limit the token to only have access to specific resources */ + limitResources?: InputMaybe>; + name: Scalars['String']['input']; + scopes: Array; +}; + +export type AppUpdateInput = { + description: Scalars['String']['input']; + id: Scalars['String']['input']; + logo?: InputMaybe; + name: Scalars['String']['input']; + public?: InputMaybe; + redirectUrl: Scalars['String']['input']; + scopes: Array>; + termsAndConditionsLink?: InputMaybe; +}; + +export type ApproveWorkspaceJoinRequestInput = { + userId: Scalars['String']['input']; + workspaceId: Scalars['String']['input']; +}; + +export type ArchiveCommentInput = { + archived: Scalars['Boolean']['input']; + commentId: Scalars['String']['input']; + projectId: Scalars['String']['input']; +}; + +export type AuthStrategy = { + __typename?: 'AuthStrategy'; + color?: Maybe; + icon: Scalars['String']['output']; + id: Scalars['String']['output']; + name: Scalars['String']['output']; + url: Scalars['String']['output']; +}; + +export type AutomateAuthCodePayloadTest = { + action: Scalars['String']['input']; + code: Scalars['String']['input']; + userId: Scalars['String']['input']; + workspaceId?: InputMaybe; +}; + +/** Additional resources to validate user access to. */ +export type AutomateAuthCodeResources = { + workspaceId?: InputMaybe; +}; + +export type AutomateFunction = { + __typename?: 'AutomateFunction'; + /** Only returned if user is a part of this speckle server */ + creator?: Maybe; + description: Scalars['String']['output']; + id: Scalars['ID']['output']; + isFeatured: Scalars['Boolean']['output']; + logo?: Maybe; + name: Scalars['String']['output']; + releases: AutomateFunctionReleaseCollection; + repo: BasicGitRepositoryMetadata; + /** SourceAppNames values from @speckle/shared. Empty array means - all of them */ + supportedSourceApps: Array; + tags: Array; + workspaceIds?: Maybe>; +}; + + +export type AutomateFunctionReleasesArgs = { + cursor?: InputMaybe; + filter?: InputMaybe; + limit?: InputMaybe; +}; + +export type AutomateFunctionCollection = { + __typename?: 'AutomateFunctionCollection'; + cursor?: Maybe; + items: Array; + totalCount: Scalars['Int']['output']; +}; + +export type AutomateFunctionRelease = { + __typename?: 'AutomateFunctionRelease'; + commitId: Scalars['String']['output']; + createdAt: Scalars['DateTime']['output']; + function: AutomateFunction; + functionId: Scalars['String']['output']; + id: Scalars['ID']['output']; + inputSchema?: Maybe; + versionTag: Scalars['String']['output']; +}; + +export type AutomateFunctionReleaseCollection = { + __typename?: 'AutomateFunctionReleaseCollection'; + cursor?: Maybe; + items: Array; + totalCount: Scalars['Int']['output']; +}; + +export type AutomateFunctionReleasesFilter = { + search?: InputMaybe; +}; + +export type AutomateFunctionRun = { + __typename?: 'AutomateFunctionRun'; + contextView?: Maybe; + createdAt: Scalars['DateTime']['output']; + elapsed: Scalars['Float']['output']; + /** Nullable, in case the function is not retrievable due to poor network conditions */ + function?: Maybe; + functionId?: Maybe; + functionReleaseId?: Maybe; + id: Scalars['ID']['output']; + /** AutomateTypes.ResultsSchema type from @speckle/shared */ + results?: Maybe; + status: AutomateRunStatus; + statusMessage?: Maybe; + updatedAt: Scalars['DateTime']['output']; +}; + +export type AutomateFunctionRunStatusReportInput = { + contextView?: InputMaybe; + functionRunId: Scalars['String']['input']; + projectId: Scalars['String']['input']; + /** AutomateTypes.ResultsSchema type from @speckle/shared */ + results?: InputMaybe; + status: AutomateRunStatus; + statusMessage?: InputMaybe; +}; + +export type AutomateFunctionTemplate = { + __typename?: 'AutomateFunctionTemplate'; + id: AutomateFunctionTemplateLanguage; + logo: Scalars['String']['output']; + title: Scalars['String']['output']; + url: Scalars['String']['output']; +}; + +export enum AutomateFunctionTemplateLanguage { + DotNet = 'DOT_NET', + Python = 'PYTHON', + Typescript = 'TYPESCRIPT' +} + +export type AutomateFunctionToken = { + __typename?: 'AutomateFunctionToken'; + functionId: Scalars['String']['output']; + functionToken: Scalars['String']['output']; +}; + +export type AutomateFunctionsFilter = { + /** By default, we include featured ("public") functions. Set this to false to exclude them. */ + includeFeatured?: InputMaybe; + /** By default, we exclude functions without releases. Set this to false to include them. */ + requireRelease?: InputMaybe; + search?: InputMaybe; +}; + +export type AutomateMutations = { + __typename?: 'AutomateMutations'; + createFunction: AutomateFunction; + createFunctionWithoutVersion: AutomateFunctionToken; + updateFunction: AutomateFunction; +}; + + +export type AutomateMutationsCreateFunctionArgs = { + input: CreateAutomateFunctionInput; +}; + + +export type AutomateMutationsCreateFunctionWithoutVersionArgs = { + input: CreateAutomateFunctionWithoutVersionInput; +}; + + +export type AutomateMutationsUpdateFunctionArgs = { + input: UpdateAutomateFunctionInput; +}; + +export type AutomateRun = { + __typename?: 'AutomateRun'; + automation: Automation; + automationId: Scalars['String']['output']; + createdAt: Scalars['DateTime']['output']; + functionRuns: Array; + id: Scalars['ID']['output']; + status: AutomateRunStatus; + trigger: AutomationRunTrigger; + updatedAt: Scalars['DateTime']['output']; +}; + +export type AutomateRunCollection = { + __typename?: 'AutomateRunCollection'; + cursor?: Maybe; + items: Array; + totalCount: Scalars['Int']['output']; +}; + +export enum AutomateRunStatus { + Canceled = 'CANCELED', + Exception = 'EXCEPTION', + Failed = 'FAILED', + Initializing = 'INITIALIZING', + Pending = 'PENDING', + Running = 'RUNNING', + Succeeded = 'SUCCEEDED', + Timeout = 'TIMEOUT' +} + +export enum AutomateRunTriggerType { + VersionCreated = 'VERSION_CREATED' +} + +export type Automation = { + __typename?: 'Automation'; + createdAt: Scalars['DateTime']['output']; + /** Only accessible to automation owners */ + creationPublicKeys: Array; + currentRevision?: Maybe; + enabled: Scalars['Boolean']['output']; + id: Scalars['ID']['output']; + isTestAutomation: Scalars['Boolean']['output']; + name: Scalars['String']['output']; + permissions: AutomationPermissionChecks; + runs: AutomateRunCollection; + updatedAt: Scalars['DateTime']['output']; +}; + + +export type AutomationRunsArgs = { + cursor?: InputMaybe; + limit?: InputMaybe; +}; + +export type AutomationCollection = { + __typename?: 'AutomationCollection'; + cursor?: Maybe; + items: Array; + totalCount: Scalars['Int']['output']; +}; + +export type AutomationPermissionChecks = { + __typename?: 'AutomationPermissionChecks'; + canDelete: PermissionCheckResult; + canRead: PermissionCheckResult; + canUpdate: PermissionCheckResult; +}; + +export type AutomationRevision = { + __typename?: 'AutomationRevision'; + functions: Array; + id: Scalars['ID']['output']; + triggerDefinitions: Array; +}; + +export type AutomationRevisionCreateFunctionInput = { + functionId: Scalars['String']['input']; + functionReleaseId: Scalars['String']['input']; + /** Should be encrypted from the client side */ + parameters?: InputMaybe; +}; + +export type AutomationRevisionFunction = { + __typename?: 'AutomationRevisionFunction'; + /** The secrets in parameters are redacted with six asterisks - ****** */ + parameters?: Maybe; + release: AutomateFunctionRelease; +}; + +export type AutomationRevisionTriggerDefinition = VersionCreatedTriggerDefinition; + +export type AutomationRunTrigger = VersionCreatedTrigger; + +export type BasicGitRepositoryMetadata = { + __typename?: 'BasicGitRepositoryMetadata'; + id: Scalars['ID']['output']; + name: Scalars['String']['output']; + owner: Scalars['String']['output']; + url: Scalars['String']['output']; +}; + +export enum BillingInterval { + Monthly = 'monthly', + Yearly = 'yearly' +} + +export type BlobMetadata = { + __typename?: 'BlobMetadata'; + createdAt: Scalars['DateTime']['output']; + fileHash?: Maybe; + fileName: Scalars['String']['output']; + fileSize?: Maybe; + fileType: Scalars['String']['output']; + id: Scalars['String']['output']; + streamId: Scalars['String']['output']; + uploadError?: Maybe; + uploadStatus: Scalars['Int']['output']; + userId: Scalars['String']['output']; +}; + +export type BlobMetadataCollection = { + __typename?: 'BlobMetadataCollection'; + cursor?: Maybe; + items?: Maybe>; + totalCount: Scalars['Int']['output']; + totalSize: Scalars['Int']['output']; +}; + +export type Branch = { + __typename?: 'Branch'; + /** + * All the recent activity on this branch in chronological order + * @deprecated Part of the old API surface and will be removed in the future. + */ + activity?: Maybe; + author?: Maybe; + commits?: Maybe; + createdAt?: Maybe; + description?: Maybe; + id: Scalars['String']['output']; + name: Scalars['String']['output']; +}; + + +export type BranchActivityArgs = { + actionType?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + cursor?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + + +export type BranchCommitsArgs = { + cursor?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + +export type BranchCollection = { + __typename?: 'BranchCollection'; + cursor?: Maybe; + items?: Maybe>; + totalCount: Scalars['Int']['output']; +}; + +export type BranchCreateInput = { + description?: InputMaybe; + name: Scalars['String']['input']; + streamId: Scalars['String']['input']; +}; + +export type BranchDeleteInput = { + id: Scalars['String']['input']; + streamId: Scalars['String']['input']; +}; + +export type BranchUpdateInput = { + description?: InputMaybe; + id: Scalars['String']['input']; + name?: InputMaybe; + streamId: Scalars['String']['input']; +}; + +export type BulkUsersRetrievalInput = { + cursor?: InputMaybe; + emails: Array; + limit?: InputMaybe; +}; + +export type CancelCheckoutSessionInput = { + sessionId: Scalars['ID']['input']; + workspaceId: Scalars['ID']['input']; +}; + +export type CheckoutSession = { + __typename?: 'CheckoutSession'; + billingInterval: BillingInterval; + createdAt: Scalars['DateTime']['output']; + id: Scalars['ID']['output']; + paymentStatus: SessionPaymentStatus; + updatedAt: Scalars['DateTime']['output']; + url: Scalars['String']['output']; + workspacePlan: PaidWorkspacePlans; +}; + +export type CheckoutSessionInput = { + billingInterval: BillingInterval; + currency?: InputMaybe; + isCreateFlow?: InputMaybe; + workspaceId: Scalars['ID']['input']; + workspacePlan: PaidWorkspacePlans; +}; + +export type Comment = { + __typename?: 'Comment'; + archived: Scalars['Boolean']['output']; + author: LimitedUser; + authorId: Scalars['String']['output']; + createdAt: Scalars['DateTime']['output']; + /** + * Legacy comment viewer data field + * @deprecated Use the new viewerState field instead + */ + data?: Maybe; + /** Whether or not comment is a reply to another comment */ + hasParent: Scalars['Boolean']['output']; + id: Scalars['String']['output']; + /** Parent thread, if there's any */ + parent?: Maybe; + permissions: CommentPermissionChecks; + /** Plain-text version of the comment text, ideal for previews */ + rawText?: Maybe; + /** @deprecated Not actually implemented */ + reactions?: Maybe>>; + /** Gets the replies to this comment. */ + replies: CommentCollection; + /** Get authors of replies to this comment */ + replyAuthors: CommentReplyAuthorCollection; + /** Resources that this comment targets. Can be a mixture of either one stream, or multiple commits and objects. */ + resources: Array; + screenshot?: Maybe; + text?: Maybe; + /** The time this comment was last updated. Corresponds also to the latest reply to this comment, if any. */ + updatedAt: Scalars['DateTime']['output']; + /** The last time you viewed this comment. Present only if an auth'ed request. Relevant only if a top level commit. */ + viewedAt?: Maybe; + /** Resource identifiers as defined and implemented in the Viewer of the new frontend */ + viewerResources: Array; + /** SerializedViewerState */ + viewerState?: Maybe; +}; + + +export type CommentRepliesArgs = { + cursor?: InputMaybe; + limit?: InputMaybe; +}; + + +export type CommentReplyAuthorsArgs = { + limit?: Scalars['Int']['input']; +}; + +export type CommentActivityMessage = { + __typename?: 'CommentActivityMessage'; + comment: Comment; + type: Scalars['String']['output']; +}; + +export type CommentCollection = { + __typename?: 'CommentCollection'; + cursor?: Maybe; + items: Array; + totalCount: Scalars['Int']['output']; +}; + +export type CommentContentInput = { + blobIds?: InputMaybe>; + doc?: InputMaybe; +}; + +/** Deprecated: Used by old stream-based mutations */ +export type CommentCreateInput = { + /** IDs of uploaded blobs that should be attached to this comment */ + blobIds: Array; + data: Scalars['JSONObject']['input']; + /** + * Specifies the resources this comment is linked to. There are several use cases: + * - a comment targets only one resource (commit or object) + * - a comment targets one or more resources (commits or objects) + * - a comment targets only a stream + */ + resources: Array>; + screenshot?: InputMaybe; + streamId: Scalars['String']['input']; + /** ProseMirror document object */ + text?: InputMaybe; +}; + +export type CommentDataFilters = { + __typename?: 'CommentDataFilters'; + hiddenIds?: Maybe>; + isolatedIds?: Maybe>; + passMax?: Maybe; + passMin?: Maybe; + propertyInfoKey?: Maybe; + sectionBox?: Maybe; +}; + +/** Equivalent to frontend-1's LocalFilterState */ +export type CommentDataFiltersInput = { + hiddenIds?: InputMaybe>; + isolatedIds?: InputMaybe>; + passMax?: InputMaybe; + passMin?: InputMaybe; + propertyInfoKey?: InputMaybe; + sectionBox?: InputMaybe; +}; + +/** Deprecated: Used by old stream-based mutations */ +export type CommentEditInput = { + /** IDs of uploaded blobs that should be attached to this comment */ + blobIds: Array; + id: Scalars['String']['input']; + streamId: Scalars['String']['input']; + /** ProseMirror document object */ + text?: InputMaybe; +}; + +export type CommentMutations = { + __typename?: 'CommentMutations'; + archive: Scalars['Boolean']['output']; + create: Comment; + edit: Comment; + markViewed: Scalars['Boolean']['output']; + reply: Comment; +}; + + +export type CommentMutationsArchiveArgs = { + input: ArchiveCommentInput; +}; + + +export type CommentMutationsCreateArgs = { + input: CreateCommentInput; +}; + + +export type CommentMutationsEditArgs = { + input: EditCommentInput; +}; + + +export type CommentMutationsMarkViewedArgs = { + input: MarkCommentViewedInput; +}; + + +export type CommentMutationsReplyArgs = { + input: CreateCommentReplyInput; +}; + +export type CommentPermissionChecks = { + __typename?: 'CommentPermissionChecks'; + canArchive: PermissionCheckResult; +}; + +export type CommentReplyAuthorCollection = { + __typename?: 'CommentReplyAuthorCollection'; + items: Array; + totalCount: Scalars['Int']['output']; +}; + +export type CommentThreadActivityMessage = { + __typename?: 'CommentThreadActivityMessage'; + data?: Maybe; + reply?: Maybe; + type: Scalars['String']['output']; +}; + +export type Commit = { + __typename?: 'Commit'; + /** + * All the recent activity on this commit in chronological order + * @deprecated Part of the old API surface and will be removed in the future. + */ + activity?: Maybe; + authorAvatar?: Maybe; + authorId?: Maybe; + authorName?: Maybe; + branch?: Maybe; + branchName?: Maybe; + /** + * The total number of comments for this commit. To actually get the comments, use the comments query and pass in a resource array consisting of of this commit's id. + * E.g., + * ``` + * query{ + * comments(streamId:"streamId" resources:[{resourceType: commit, resourceId:"commitId"}] ){ + * ... + * } + * ``` + * @deprecated Part of the old API surface and will be removed in the future. + */ + commentCount: Scalars['Int']['output']; + createdAt?: Maybe; + id: Scalars['String']['output']; + message?: Maybe; + parents?: Maybe>>; + referencedObject: Scalars['String']['output']; + sourceApplication?: Maybe; + /** + * Will throw an authorization error if active user isn't authorized to see it, for example, + * if a stream isn't public and the user doesn't have the appropriate rights. + */ + stream: Stream; + /** @deprecated Use the stream field instead */ + streamId?: Maybe; + /** @deprecated Use the stream field instead */ + streamName?: Maybe; + totalChildrenCount?: Maybe; +}; + + +export type CommitActivityArgs = { + actionType?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + cursor?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + +export type CommitCollection = { + __typename?: 'CommitCollection'; + cursor?: Maybe; + items?: Maybe>; + totalCount: Scalars['Int']['output']; +}; + +export type CommitCreateInput = { + branchName: Scalars['String']['input']; + message?: InputMaybe; + objectId: Scalars['String']['input']; + parents?: InputMaybe>>; + sourceApplication?: InputMaybe; + streamId: Scalars['String']['input']; + totalChildrenCount?: InputMaybe; +}; + +export type CommitDeleteInput = { + id: Scalars['String']['input']; + streamId: Scalars['String']['input']; +}; + +export type CommitReceivedInput = { + commitId: Scalars['String']['input']; + message?: InputMaybe; + sourceApplication: Scalars['String']['input']; + streamId: Scalars['String']['input']; +}; + +export type CommitUpdateInput = { + id: Scalars['String']['input']; + message?: InputMaybe; + /** To move the commit to a different branch, please the name of the branch. */ + newBranchName?: InputMaybe; + streamId: Scalars['String']['input']; +}; + +export type CommitsDeleteInput = { + commitIds: Array; + streamId: Scalars['ID']['input']; +}; + +export type CommitsMoveInput = { + commitIds: Array; + streamId: Scalars['ID']['input']; + targetBranch: Scalars['String']['input']; +}; + +/** + * Can be used instead of a full item collection, when the implementation doesn't call for it yet. Because + * of the structure, it can be swapped out to a full item collection in the future + */ +export type CountOnlyCollection = { + __typename?: 'CountOnlyCollection'; + totalCount: Scalars['Int']['output']; +}; + +export type CreateAutomateFunctionInput = { + description: Scalars['String']['input']; + /** Base64 encoded image data string */ + logo?: InputMaybe; + name: Scalars['String']['input']; + /** GitHub organization to create the repository in */ + org?: InputMaybe; + /** SourceAppNames values from @speckle/shared */ + supportedSourceApps: Array; + tags: Array; + template: AutomateFunctionTemplateLanguage; +}; + +export type CreateAutomateFunctionWithoutVersionInput = { + description: Scalars['String']['input']; + name: Scalars['String']['input']; +}; + +export type CreateCommentInput = { + content: CommentContentInput; + projectId: Scalars['String']['input']; + /** Resources that this comment should be attached to */ + resourceIdString: Scalars['String']['input']; + screenshot?: InputMaybe; + /** + * SerializedViewerState. If omitted, comment won't render (correctly) inside the + * viewer, but will still be retrievable through the API + */ + viewerState?: InputMaybe; +}; + +export type CreateCommentReplyInput = { + content: CommentContentInput; + projectId: Scalars['String']['input']; + threadId: Scalars['String']['input']; +}; + +export type CreateModelInput = { + description?: InputMaybe; + name: Scalars['String']['input']; + projectId: Scalars['ID']['input']; +}; + +export type CreateServerRegionInput = { + description?: InputMaybe; + key: Scalars['String']['input']; + name: Scalars['String']['input']; +}; + +export type CreateUserEmailInput = { + email: Scalars['String']['input']; +}; + +export type CreateVersionInput = { + message?: InputMaybe; + modelId: Scalars['String']['input']; + objectId: Scalars['String']['input']; + parents?: InputMaybe>; + projectId: Scalars['String']['input']; + sourceApplication?: InputMaybe; + totalChildrenCount?: InputMaybe; +}; + +export enum Currency { + Gbp = 'gbp', + Usd = 'usd' +} + +export type CurrencyBasedPrices = { + __typename?: 'CurrencyBasedPrices'; + gbp: WorkspacePaidPlanPrices; + usd: WorkspacePaidPlanPrices; +}; + +export type DeleteModelInput = { + id: Scalars['ID']['input']; + projectId: Scalars['ID']['input']; +}; + +export type DeleteUserEmailInput = { + id: Scalars['ID']['input']; +}; + +export type DeleteVersionsInput = { + projectId: Scalars['ID']['input']; + versionIds: Array; +}; + +export type DenyWorkspaceJoinRequestInput = { + userId: Scalars['String']['input']; + workspaceId: Scalars['String']['input']; +}; + +export enum DiscoverableStreamsSortType { + CreatedDate = 'CREATED_DATE', + FavoritesCount = 'FAVORITES_COUNT' +} + +export type DiscoverableStreamsSortingInput = { + direction: SortDirection; + type: DiscoverableStreamsSortType; +}; + +export type EditCommentInput = { + commentId: Scalars['String']['input']; + content: CommentContentInput; + projectId: Scalars['String']['input']; +}; + +export type EmailVerificationRequestInput = { + id: Scalars['ID']['input']; +}; + +export type FileUpload = { + __typename?: 'FileUpload'; + branchName: Scalars['String']['output']; + /** If present, the conversion result is stored in this commit. */ + convertedCommitId?: Maybe; + convertedLastUpdate: Scalars['DateTime']['output']; + /** Holds any errors or info. */ + convertedMessage?: Maybe; + /** 0 = queued, 1 = processing, 2 = success, 3 = error */ + convertedStatus: Scalars['Int']['output']; + /** Alias for convertedCommitId */ + convertedVersionId?: Maybe; + fileName: Scalars['String']['output']; + fileSize: Scalars['Int']['output']; + fileType: Scalars['String']['output']; + id: Scalars['String']['output']; + /** Model associated with the file upload, if it exists already */ + model?: Maybe; + /** Alias for branchName */ + modelName: Scalars['String']['output']; + /** Alias for streamId */ + projectId: Scalars['String']['output']; + streamId: Scalars['String']['output']; + uploadComplete: Scalars['Boolean']['output']; + uploadDate: Scalars['DateTime']['output']; + /** The user's id that uploaded this file. */ + userId: Scalars['String']['output']; +}; + +export type GendoAiRender = { + __typename?: 'GendoAIRender'; + camera?: Maybe; + createdAt: Scalars['DateTime']['output']; + gendoGenerationId?: Maybe; + id: Scalars['ID']['output']; + modelId: Scalars['String']['output']; + projectId: Scalars['String']['output']; + prompt: Scalars['String']['output']; + /** This is a blob id. */ + responseImage?: Maybe; + status: Scalars['String']['output']; + updatedAt: Scalars['DateTime']['output']; + user?: Maybe; + userId: Scalars['String']['output']; + versionId: Scalars['String']['output']; +}; + +export type GendoAiRenderCollection = { + __typename?: 'GendoAIRenderCollection'; + items: Array>; + totalCount: Scalars['Int']['output']; +}; + +export type GendoAiRenderInput = { + /** Base64 encoded image of the depthmap. */ + baseImage: Scalars['String']['input']; + camera: Scalars['JSONObject']['input']; + modelId: Scalars['ID']['input']; + projectId: Scalars['ID']['input']; + /** The generation prompt. */ + prompt: Scalars['String']['input']; + versionId: Scalars['ID']['input']; +}; + +export type InvitableCollaboratorsFilter = { + search?: InputMaybe; +}; + +export type JoinWorkspaceInput = { + workspaceId: Scalars['ID']['input']; +}; + +export type LegacyCommentViewerData = { + __typename?: 'LegacyCommentViewerData'; + /** + * An array representing a user's camera position: + * [camPos.x, camPos.y, camPos.z, camTarget.x, camTarget.y, camTarget.z, isOrtho, zoomNumber] + */ + camPos: Array; + /** Old FE LocalFilterState type */ + filters: CommentDataFilters; + /** THREE.Vector3 {x, y, z} */ + location: Scalars['JSONObject']['output']; + /** Viewer.getCurrentSectionBox(): THREE.Box3 */ + sectionBox?: Maybe; + /** Currently unused. Ideally comments should keep track of selected objects. */ + selection?: Maybe; +}; + +/** + * Limited user type, for showing public info about a user + * to another user + */ +export type LimitedUser = { + __typename?: 'LimitedUser'; + /** + * All the recent activity from this user in chronological order + * @deprecated Part of the old API surface and will be removed in the future. + */ + activity?: Maybe; + avatar?: Maybe; + bio?: Maybe; + /** + * Get public stream commits authored by the user + * @deprecated Part of the old API surface and will be removed in the future. + */ + commits?: Maybe; + company?: Maybe; + id: Scalars['ID']['output']; + name: Scalars['String']['output']; + role?: Maybe; + /** + * Returns all discoverable streams that the user is a collaborator on + * @deprecated Part of the old API surface and will be removed in the future. + */ + streams: UserStreamCollection; + /** + * The user's timeline in chronological order + * @deprecated Part of the old API surface and will be removed in the future. + */ + timeline?: Maybe; + /** + * Total amount of favorites attached to streams owned by the user + * @deprecated Part of the old API surface and will be removed in the future. + */ + totalOwnedStreamsFavorites: Scalars['Int']['output']; + verified?: Maybe; + workspaceDomainPolicyCompliant?: Maybe; + workspaceRole?: Maybe; +}; + + +/** + * Limited user type, for showing public info about a user + * to another user + */ +export type LimitedUserActivityArgs = { + actionType?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + cursor?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + + +/** + * Limited user type, for showing public info about a user + * to another user + */ +export type LimitedUserCommitsArgs = { + cursor?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + + +/** + * Limited user type, for showing public info about a user + * to another user + */ +export type LimitedUserStreamsArgs = { + cursor?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + + +/** + * Limited user type, for showing public info about a user + * to another user + */ +export type LimitedUserTimelineArgs = { + after?: InputMaybe; + before?: InputMaybe; + cursor?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + + +/** + * Limited user type, for showing public info about a user + * to another user + */ +export type LimitedUserWorkspaceDomainPolicyCompliantArgs = { + workspaceSlug?: InputMaybe; +}; + + +/** + * Limited user type, for showing public info about a user + * to another user + */ +export type LimitedUserWorkspaceRoleArgs = { + workspaceId?: InputMaybe; +}; + +/** Workspace metadata visible to non-workspace members. */ +export type LimitedWorkspace = { + __typename?: 'LimitedWorkspace'; + /** Workspace description */ + description?: Maybe; + /** Workspace id */ + id: Scalars['ID']['output']; + /** Optional base64 encoded workspace logo image */ + logo?: Maybe; + /** Workspace name */ + name: Scalars['String']['output']; + /** Unique workspace short id. Used for navigation. */ + slug: Scalars['String']['output']; + /** Workspace members visible to people with verified email domain */ + team?: Maybe; +}; + + +/** Workspace metadata visible to non-workspace members. */ +export type LimitedWorkspaceTeamArgs = { + cursor?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + +export type LimitedWorkspaceCollaborator = { + __typename?: 'LimitedWorkspaceCollaborator'; + user: LimitedUser; +}; + +export type LimitedWorkspaceCollaboratorCollection = { + __typename?: 'LimitedWorkspaceCollaboratorCollection'; + cursor?: Maybe; + items: Array; + totalCount: Scalars['Int']['output']; +}; + +export type LimitedWorkspaceJoinRequest = { + __typename?: 'LimitedWorkspaceJoinRequest'; + createdAt: Scalars['DateTime']['output']; + id: Scalars['String']['output']; + status: WorkspaceJoinRequestStatus; + user: LimitedUser; + workspace: LimitedWorkspace; +}; + +export type LimitedWorkspaceJoinRequestCollection = { + __typename?: 'LimitedWorkspaceJoinRequestCollection'; + cursor?: Maybe; + items: Array; + totalCount: Scalars['Int']['output']; +}; + +export type MarkCommentViewedInput = { + commentId: Scalars['String']['input']; + projectId: Scalars['String']['input']; +}; + +export type MarkReceivedVersionInput = { + message?: InputMaybe; + projectId: Scalars['String']['input']; + sourceApplication: Scalars['String']['input']; + versionId: Scalars['String']['input']; +}; + +export type Model = { + __typename?: 'Model'; + author?: Maybe; + automationsStatus?: Maybe; + /** Return a model tree of children */ + childrenTree: Array; + /** All comment threads in this model */ + commentThreads: CommentCollection; + createdAt: Scalars['DateTime']['output']; + description?: Maybe; + /** The shortened/display name that doesn't include the names of parent models */ + displayName: Scalars['String']['output']; + id: Scalars['ID']['output']; + /** Full name including the names of parent models delimited by forward slashes */ + name: Scalars['String']['output']; + /** Returns a list of versions that are being created from a file import */ + pendingImportedVersions: Array; + permissions: ModelPermissionChecks; + previewUrl?: Maybe; + updatedAt: Scalars['DateTime']['output']; + version: Version; + versions: VersionCollection; +}; + + +export type ModelCommentThreadsArgs = { + cursor?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + + +export type ModelPendingImportedVersionsArgs = { + limit?: InputMaybe; +}; + + +export type ModelVersionArgs = { + id: Scalars['String']['input']; +}; + + +export type ModelVersionsArgs = { + cursor?: InputMaybe; + filter?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + +export type ModelCollection = { + __typename?: 'ModelCollection'; + cursor?: Maybe; + items: Array; + totalCount: Scalars['Int']['output']; +}; + +export type ModelMutations = { + __typename?: 'ModelMutations'; + create: Model; + delete: Scalars['Boolean']['output']; + update: Model; +}; + + +export type ModelMutationsCreateArgs = { + input: CreateModelInput; +}; + + +export type ModelMutationsDeleteArgs = { + input: DeleteModelInput; +}; + + +export type ModelMutationsUpdateArgs = { + input: UpdateModelInput; +}; + +export type ModelPermissionChecks = { + __typename?: 'ModelPermissionChecks'; + canCreateVersion: PermissionCheckResult; + canDelete: PermissionCheckResult; + canUpdate: PermissionCheckResult; +}; + +export type ModelVersionsFilter = { + /** Make sure these specified versions are always loaded first */ + priorityIds?: InputMaybe>; + /** Only return versions specified in `priorityIds` */ + priorityIdsOnly?: InputMaybe; +}; + +export type ModelsTreeItem = { + __typename?: 'ModelsTreeItem'; + children: Array; + fullName: Scalars['String']['output']; + /** Whether or not this item has nested children models */ + hasChildren: Scalars['Boolean']['output']; + id: Scalars['ID']['output']; + /** + * Nullable cause the item can represent a parent that doesn't actually exist as a model on its own. + * E.g. A model named "foo/bar" is supposed to be a child of "foo" and will be represented as such, + * even if "foo" doesn't exist as its own model. + */ + model?: Maybe; + name: Scalars['String']['output']; + updatedAt: Scalars['DateTime']['output']; +}; + +export type ModelsTreeItemCollection = { + __typename?: 'ModelsTreeItemCollection'; + cursor?: Maybe; + items: Array; + totalCount: Scalars['Int']['output']; +}; + +export type MoveVersionsInput = { + projectId: Scalars['ID']['input']; + /** If the name references a nonexistant model, it will be created */ + targetModelName: Scalars['String']['input']; + versionIds: Array; +}; + +export type Mutation = { + __typename?: 'Mutation'; + /** The void stares back. */ + _?: Maybe; + /** Various Active User oriented mutations */ + activeUserMutations: ActiveUserMutations; + admin: AdminMutations; + adminDeleteUser: Scalars['Boolean']['output']; + /** Creates an personal api token. */ + apiTokenCreate: Scalars['String']['output']; + /** Revokes (deletes) an personal api token/app token. */ + apiTokenRevoke: Scalars['Boolean']['output']; + /** Register a new third party application. */ + appCreate: Scalars['String']['output']; + /** Deletes a thirty party application. */ + appDelete: Scalars['Boolean']['output']; + /** Revokes (de-authorizes) an application that you have previously authorized. */ + appRevokeAccess?: Maybe; + /** Create an app token. Only apps can create app tokens and they don't show up under personal access tokens. */ + appTokenCreate: Scalars['String']['output']; + /** Update an existing third party application. **Note: This will invalidate all existing tokens, refresh tokens and access codes and will require existing users to re-authorize it.** */ + appUpdate: Scalars['Boolean']['output']; + automateFunctionRunStatusReport: Scalars['Boolean']['output']; + automateMutations: AutomateMutations; + /** @deprecated Part of the old API surface and will be removed in the future. Use ModelMutations.create instead. */ + branchCreate: Scalars['String']['output']; + /** @deprecated Part of the old API surface and will be removed in the future. Use ModelMutations.delete instead. */ + branchDelete: Scalars['Boolean']['output']; + /** @deprecated Part of the old API surface and will be removed in the future. Use ModelMutations.update instead. */ + branchUpdate: Scalars['Boolean']['output']; + /** Broadcast user activity in the viewer */ + broadcastViewerUserActivity: Scalars['Boolean']['output']; + /** + * Archives a comment. + * @deprecated Use commentMutations version + */ + commentArchive: Scalars['Boolean']['output']; + /** + * Creates a comment + * @deprecated Use commentMutations version + */ + commentCreate: Scalars['String']['output']; + /** + * Edits a comment. + * @deprecated Use commentMutations version + */ + commentEdit: Scalars['Boolean']['output']; + commentMutations: CommentMutations; + /** + * Adds a reply to a comment. + * @deprecated Use commentMutations version + */ + commentReply: Scalars['String']['output']; + /** + * Flags a comment as viewed by you (the logged in user). + * @deprecated Use commentMutations version + */ + commentView: Scalars['Boolean']['output']; + /** @deprecated Part of the old API surface and will be removed in the future. Use VersionMutations.create instead. */ + commitCreate: Scalars['String']['output']; + /** @deprecated Part of the old API surface and will be removed in the future. Use VersionMutations.delete instead. */ + commitDelete: Scalars['Boolean']['output']; + /** @deprecated Part of the old API surface and will be removed in the future. Use VersionMutations.markReceived instead. */ + commitReceive: Scalars['Boolean']['output']; + /** @deprecated Part of the old API surface and will be removed in the future. Use VersionMutations.update/moveToModel instead. */ + commitUpdate: Scalars['Boolean']['output']; + /** + * Delete a batch of commits + * @deprecated Part of the old API surface and will be removed in the future. Use VersionMutations.delete instead. + */ + commitsDelete: Scalars['Boolean']['output']; + /** + * Move a batch of commits to a new branch + * @deprecated Part of the old API surface and will be removed in the future. Use VersionMutations.moveToModel instead. + */ + commitsMove: Scalars['Boolean']['output']; + /** + * Delete a pending invite + * Note: The required scope to invoke this is not given out to app or personal access tokens + */ + inviteDelete: Scalars['Boolean']['output']; + /** + * Re-send a pending invite + * Note: The required scope to invoke this is not given out to app or personal access tokens + */ + inviteResend: Scalars['Boolean']['output']; + modelMutations: ModelMutations; + /** @deprecated Part of the old API surface and will be removed in the future. */ + objectCreate: Array; + projectMutations: ProjectMutations; + /** (Re-)send the account verification e-mail */ + requestVerification: Scalars['Boolean']['output']; + requestVerificationByEmail: Scalars['Boolean']['output']; + serverInfoMutations: ServerInfoMutations; + serverInfoUpdate?: Maybe; + /** Note: The required scope to invoke this is not given out to app or personal access tokens */ + serverInviteBatchCreate: Scalars['Boolean']['output']; + /** Invite a new user to the speckle server and return the invite ID */ + serverInviteCreate: Scalars['Boolean']['output']; + /** + * Request access to a specific stream + * @deprecated Part of the old API surface and will be removed in the future. Use ProjectAccessRequestMutations.create instead. + */ + streamAccessRequestCreate: StreamAccessRequest; + /** + * Accept or decline a stream access request. Must be a stream owner to invoke this. + * @deprecated Part of the old API surface and will be removed in the future. Use ProjectAccessRequestMutations.use instead. + */ + streamAccessRequestUse: Scalars['Boolean']['output']; + /** + * Creates a new stream. + * @deprecated Part of the old API surface and will be removed in the future. Use ProjectMutations.create instead. + */ + streamCreate?: Maybe; + /** + * Deletes an existing stream. + * @deprecated Part of the old API surface and will be removed in the future. Use ProjectMutations.delete instead. + */ + streamDelete: Scalars['Boolean']['output']; + /** @deprecated Part of the old API surface and will be removed in the future. */ + streamFavorite?: Maybe; + /** + * Note: The required scope to invoke this is not given out to app or personal access tokens + * @deprecated Part of the old API surface and will be removed in the future. Use ProjectInviteMutations.batchCreate instead. + */ + streamInviteBatchCreate: Scalars['Boolean']['output']; + /** + * Cancel a pending stream invite. Can only be invoked by a stream owner. + * Note: The required scope to invoke this is not given out to app or personal access tokens + * @deprecated Part of the old API surface and will be removed in the future. Use ProjectInviteMutations.cancel instead. + */ + streamInviteCancel: Scalars['Boolean']['output']; + /** + * Invite a new or registered user to the specified stream + * Note: The required scope to invoke this is not given out to app or personal access tokens + * @deprecated Part of the old API surface and will be removed in the future. Use ProjectInviteMutations.create instead. + */ + streamInviteCreate: Scalars['Boolean']['output']; + /** + * Accept or decline a stream invite + * @deprecated Part of the old API surface and will be removed in the future. Use ProjectInviteMutations.use instead. + */ + streamInviteUse: Scalars['Boolean']['output']; + /** + * Remove yourself from stream collaborators (not possible for the owner) + * @deprecated Part of the old API surface and will be removed in the future. Use ProjectMutations.leave instead. + */ + streamLeave: Scalars['Boolean']['output']; + /** + * Revokes the permissions of a user on a given stream. + * @deprecated Part of the old API surface and will be removed in the future. Use ProjectMutations.updateRole instead. + */ + streamRevokePermission?: Maybe; + /** + * Updates an existing stream. + * @deprecated Part of the old API surface and will be removed in the future. Use ProjectMutations.update instead. + */ + streamUpdate: Scalars['Boolean']['output']; + /** + * Update permissions of a user on a given stream. + * @deprecated Part of the old API surface and will be removed in the future. Use ProjectMutations.updateRole instead. + */ + streamUpdatePermission?: Maybe; + /** @deprecated Part of the old API surface and will be removed in the future. Use ProjectMutations.batchDelete instead. */ + streamsDelete: Scalars['Boolean']['output']; + /** + * Used for broadcasting real time typing status in comment threads. Does not persist any info. + * @deprecated Use broadcastViewerUserActivity + */ + userCommentThreadActivityBroadcast: Scalars['Boolean']['output']; + /** Delete a user's account. */ + userDelete: Scalars['Boolean']['output']; + userNotificationPreferencesUpdate?: Maybe; + userRoleChange: Scalars['Boolean']['output']; + /** + * Edits a user's profile. + * @deprecated Use activeUserMutations version + */ + userUpdate: Scalars['Boolean']['output']; + /** + * Used for broadcasting real time chat head bubbles and status. Does not persist any info. + * @deprecated Use broadcastViewerUserActivity + */ + userViewerActivityBroadcast: Scalars['Boolean']['output']; + versionMutations: VersionMutations; + /** Creates a new webhook on a stream */ + webhookCreate: Scalars['String']['output']; + /** Deletes an existing webhook */ + webhookDelete: Scalars['String']['output']; + /** Updates an existing webhook */ + webhookUpdate: Scalars['String']['output']; + workspaceJoinRequestMutations: WorkspaceJoinRequestMutations; + workspaceMutations: WorkspaceMutations; +}; + + +export type MutationAdminDeleteUserArgs = { + userConfirmation: UserDeleteInput; +}; + + +export type MutationApiTokenCreateArgs = { + token: ApiTokenCreateInput; +}; + + +export type MutationApiTokenRevokeArgs = { + token: Scalars['String']['input']; +}; + + +export type MutationAppCreateArgs = { + app: AppCreateInput; +}; + + +export type MutationAppDeleteArgs = { + appId: Scalars['String']['input']; +}; + + +export type MutationAppRevokeAccessArgs = { + appId: Scalars['String']['input']; +}; + + +export type MutationAppTokenCreateArgs = { + token: AppTokenCreateInput; +}; + + +export type MutationAppUpdateArgs = { + app: AppUpdateInput; +}; + + +export type MutationAutomateFunctionRunStatusReportArgs = { + input: AutomateFunctionRunStatusReportInput; +}; + + +export type MutationBranchCreateArgs = { + branch: BranchCreateInput; +}; + + +export type MutationBranchDeleteArgs = { + branch: BranchDeleteInput; +}; + + +export type MutationBranchUpdateArgs = { + branch: BranchUpdateInput; +}; + + +export type MutationBroadcastViewerUserActivityArgs = { + message: ViewerUserActivityMessageInput; + projectId: Scalars['String']['input']; + resourceIdString: Scalars['String']['input']; +}; + + +export type MutationCommentArchiveArgs = { + archived?: Scalars['Boolean']['input']; + commentId: Scalars['String']['input']; + streamId: Scalars['String']['input']; +}; + + +export type MutationCommentCreateArgs = { + input: CommentCreateInput; +}; + + +export type MutationCommentEditArgs = { + input: CommentEditInput; +}; + + +export type MutationCommentReplyArgs = { + input: ReplyCreateInput; +}; + + +export type MutationCommentViewArgs = { + commentId: Scalars['String']['input']; + streamId: Scalars['String']['input']; +}; + + +export type MutationCommitCreateArgs = { + commit: CommitCreateInput; +}; + + +export type MutationCommitDeleteArgs = { + commit: CommitDeleteInput; +}; + + +export type MutationCommitReceiveArgs = { + input: CommitReceivedInput; +}; + + +export type MutationCommitUpdateArgs = { + commit: CommitUpdateInput; +}; + + +export type MutationCommitsDeleteArgs = { + input: CommitsDeleteInput; +}; + + +export type MutationCommitsMoveArgs = { + input: CommitsMoveInput; +}; + + +export type MutationInviteDeleteArgs = { + inviteId: Scalars['String']['input']; +}; + + +export type MutationInviteResendArgs = { + inviteId: Scalars['String']['input']; +}; + + +export type MutationObjectCreateArgs = { + objectInput: ObjectCreateInput; +}; + + +export type MutationRequestVerificationByEmailArgs = { + email: Scalars['String']['input']; +}; + + +export type MutationServerInfoUpdateArgs = { + info: ServerInfoUpdateInput; +}; + + +export type MutationServerInviteBatchCreateArgs = { + input: Array; +}; + + +export type MutationServerInviteCreateArgs = { + input: ServerInviteCreateInput; +}; + + +export type MutationStreamAccessRequestCreateArgs = { + streamId: Scalars['String']['input']; +}; + + +export type MutationStreamAccessRequestUseArgs = { + accept: Scalars['Boolean']['input']; + requestId: Scalars['String']['input']; + role?: StreamRole; +}; + + +export type MutationStreamCreateArgs = { + stream: StreamCreateInput; +}; + + +export type MutationStreamDeleteArgs = { + id: Scalars['String']['input']; +}; + + +export type MutationStreamFavoriteArgs = { + favorited: Scalars['Boolean']['input']; + streamId: Scalars['String']['input']; +}; + + +export type MutationStreamInviteBatchCreateArgs = { + input: Array; +}; + + +export type MutationStreamInviteCancelArgs = { + inviteId: Scalars['String']['input']; + streamId: Scalars['String']['input']; +}; + + +export type MutationStreamInviteCreateArgs = { + input: StreamInviteCreateInput; +}; + + +export type MutationStreamInviteUseArgs = { + accept: Scalars['Boolean']['input']; + streamId: Scalars['String']['input']; + token: Scalars['String']['input']; +}; + + +export type MutationStreamLeaveArgs = { + streamId: Scalars['String']['input']; +}; + + +export type MutationStreamRevokePermissionArgs = { + permissionParams: StreamRevokePermissionInput; +}; + + +export type MutationStreamUpdateArgs = { + stream: StreamUpdateInput; +}; + + +export type MutationStreamUpdatePermissionArgs = { + permissionParams: StreamUpdatePermissionInput; +}; + + +export type MutationStreamsDeleteArgs = { + ids?: InputMaybe>; +}; + + +export type MutationUserCommentThreadActivityBroadcastArgs = { + commentId: Scalars['String']['input']; + data?: InputMaybe; + streamId: Scalars['String']['input']; +}; + + +export type MutationUserDeleteArgs = { + userConfirmation: UserDeleteInput; +}; + + +export type MutationUserNotificationPreferencesUpdateArgs = { + preferences: Scalars['JSONObject']['input']; +}; + + +export type MutationUserRoleChangeArgs = { + userRoleInput: UserRoleInput; +}; + + +export type MutationUserUpdateArgs = { + user: UserUpdateInput; +}; + + +export type MutationUserViewerActivityBroadcastArgs = { + data?: InputMaybe; + resourceId: Scalars['String']['input']; + streamId: Scalars['String']['input']; +}; + + +export type MutationWebhookCreateArgs = { + webhook: WebhookCreateInput; +}; + + +export type MutationWebhookDeleteArgs = { + webhook: WebhookDeleteInput; +}; + + +export type MutationWebhookUpdateArgs = { + webhook: WebhookUpdateInput; +}; + +export type Object = { + __typename?: 'Object'; + /** @deprecated Not implemented. */ + applicationId?: Maybe; + /** + * Get any objects that this object references. In the case of commits, this will give you a commit's constituent objects. + * **NOTE**: Providing any of the two last arguments ( `query`, `orderBy` ) will trigger a different code branch that executes a much more expensive SQL query. It is not recommended to do so for basic clients that are interested in purely getting all the objects of a given commit. + */ + children: ObjectCollection; + /** + * The total number of comments for this commit. To actually get the comments, use the comments query and pass in a resource array consisting of of this object's id. + * E.g., + * ``` + * query{ + * comments(streamId:"streamId" resources:[{resourceType: object, resourceId:"objectId"}] ){ + * ... + * } + * ``` + * @deprecated Part of the old API surface and will be removed in the future. + */ + commentCount: Scalars['Int']['output']; + createdAt?: Maybe; + /** The full object, with all its props & other things. **NOTE:** If you're requesting objects for the purpose of recreating & displaying, you probably only want to request this specific field. */ + data?: Maybe; + id: Scalars['String']['output']; + speckleType?: Maybe; + totalChildrenCount?: Maybe; +}; + + +export type ObjectChildrenArgs = { + cursor?: InputMaybe; + depth?: Scalars['Int']['input']; + limit?: Scalars['Int']['input']; + orderBy?: InputMaybe; + query?: InputMaybe>; + select?: InputMaybe>>; +}; + +export type ObjectCollection = { + __typename?: 'ObjectCollection'; + cursor?: Maybe; + objects: Array; + totalCount: Scalars['Int']['output']; +}; + +export type ObjectCreateInput = { + /** The objects you want to create. */ + objects: Array>; + /** The stream against which these objects will be created. */ + streamId: Scalars['String']['input']; +}; + +export type OnboardingCompletionInput = { + plans?: InputMaybe>; + role?: InputMaybe; + source?: InputMaybe; +}; + +export enum PaidWorkspacePlans { + Pro = 'pro', + ProUnlimited = 'proUnlimited', + Team = 'team', + TeamUnlimited = 'teamUnlimited' +} + +export type PasswordStrengthCheckFeedback = { + __typename?: 'PasswordStrengthCheckFeedback'; + suggestions: Array; + warning?: Maybe; +}; + +export type PasswordStrengthCheckResults = { + __typename?: 'PasswordStrengthCheckResults'; + /** Verbal feedback to help choose better passwords. set when score <= 2. */ + feedback: PasswordStrengthCheckFeedback; + /** + * Integer from 0-4 (useful for implementing a strength bar): + * 0 too guessable: risky password. (guesses < 10^3) + * 1 very guessable: protection from throttled online attacks. (guesses < 10^6) + * 2 somewhat guessable: protection from unthrottled online attacks. (guesses < 10^8) + * 3 safely unguessable: moderate protection from offline slow-hash scenario. (guesses < 10^10) + * 4 very unguessable: strong protection from offline slow-hash scenario. (guesses >= 10^10) + */ + score: Scalars['Int']['output']; +}; + +export type PendingStreamCollaborator = { + __typename?: 'PendingStreamCollaborator'; + id: Scalars['String']['output']; + inviteId: Scalars['String']['output']; + invitedBy: LimitedUser; + projectId: Scalars['String']['output']; + projectName: Scalars['String']['output']; + role: Scalars['String']['output']; + /** @deprecated Use projectId instead */ + streamId: Scalars['String']['output']; + /** @deprecated Use projectName instead */ + streamName: Scalars['String']['output']; + /** E-mail address or name of the invited user */ + title: Scalars['String']['output']; + /** Only available if the active user is the pending stream collaborator */ + token?: Maybe; + /** Set only if user is registered */ + user?: Maybe; + workspaceSlug?: Maybe; +}; + +export type PendingWorkspaceCollaborator = { + __typename?: 'PendingWorkspaceCollaborator'; + /** + * E-mail address if target is unregistered or primary e-mail of target registered user + * if token was specified to retrieve this invite + */ + email?: Maybe; + id: Scalars['ID']['output']; + inviteId: Scalars['String']['output']; + invitedBy: LimitedUser; + /** Target workspace role */ + role: Scalars['String']['output']; + /** E-mail address or name of the invited user */ + title: Scalars['String']['output']; + /** + * Only available if the active user is the pending workspace collaborator or if it was already + * specified when retrieving this invite + */ + token?: Maybe; + updatedAt: Scalars['DateTime']['output']; + /** Set only if user is registered */ + user?: Maybe; + workspaceId: Scalars['String']['output']; + workspaceName: Scalars['String']['output']; + workspaceSlug: Scalars['String']['output']; +}; + +export type PendingWorkspaceCollaboratorsFilter = { + search?: InputMaybe; +}; + +export type PermissionCheckResult = { + __typename?: 'PermissionCheckResult'; + authorized: Scalars['Boolean']['output']; + code: Scalars['String']['output']; + message: Scalars['String']['output']; + payload?: Maybe; +}; + +export type Price = { + __typename?: 'Price'; + amount: Scalars['Float']['output']; + currency: Scalars['String']['output']; + currencySymbol: Scalars['String']['output']; +}; + +export type Project = { + __typename?: 'Project'; + allowPublicComments: Scalars['Boolean']['output']; + /** Get a single automation by id. Error will be thrown if automation is not found or inaccessible. */ + automation: Automation; + automations: AutomationCollection; + blob?: Maybe; + /** Get the metadata collection of blobs stored for this stream. */ + blobs?: Maybe; + /** Get specific project comment/thread by ID */ + comment?: Maybe; + /** All comment threads in this project */ + commentThreads: ProjectCommentCollection; + createdAt: Scalars['DateTime']['output']; + description?: Maybe; + id: Scalars['ID']['output']; + invitableCollaborators: WorkspaceCollaboratorCollection; + /** Collaborators who have been invited, but not yet accepted. */ + invitedTeam?: Maybe>; + /** Returns a specific model by its ID */ + model: Model; + /** Retrieve a specific project model by its ID */ + modelByName: Model; + /** Return a model tree of children for the specified model name */ + modelChildrenTree: Array; + /** Returns a flat list of all models */ + models: ModelCollection; + /** + * Return's a project's models in a tree view with submodels being nested under parent models + * real or fake (e.g., with a foo/bar model, it will be nested under foo even if such a model doesn't actually exist) + */ + modelsTree: ModelsTreeItemCollection; + /** Returns information about the potential effects of moving a project to a given workspace. */ + moveToWorkspaceDryRun: ProjectMoveToWorkspaceDryRun; + name: Scalars['String']['output']; + object?: Maybe; + /** Pending project access requests */ + pendingAccessRequests?: Maybe>; + /** Returns a list models that are being created from a file import */ + pendingImportedModels: Array; + permissions: ProjectPermissionChecks; + /** Active user's role for this project. `null` if request is not authenticated, or the project is not explicitly shared with you. */ + role?: Maybe; + /** Source apps used in any models of this project */ + sourceApps: Array; + team: Array; + updatedAt: Scalars['DateTime']['output']; + /** Retrieve a specific project version by its ID */ + version: Version; + /** Returns a flat list of all project versions */ + versions: VersionCollection; + /** Return metadata about resources being requested in the viewer */ + viewerResources: Array; + visibility: SimpleProjectVisibility; + webhooks: WebhookCollection; + workspace?: Maybe; + workspaceId?: Maybe; +}; + + +export type ProjectAutomationArgs = { + id: Scalars['String']['input']; +}; + + +export type ProjectAutomationsArgs = { + cursor?: InputMaybe; + filter?: InputMaybe; + limit?: InputMaybe; +}; + + +export type ProjectBlobArgs = { + id: Scalars['String']['input']; +}; + + +export type ProjectBlobsArgs = { + cursor?: InputMaybe; + limit?: InputMaybe; + query?: InputMaybe; +}; + + +export type ProjectCommentArgs = { + id: Scalars['String']['input']; +}; + + +export type ProjectCommentThreadsArgs = { + cursor?: InputMaybe; + filter?: InputMaybe; + limit?: InputMaybe; +}; + + +export type ProjectInvitableCollaboratorsArgs = { + cursor?: InputMaybe; + filter?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + + +export type ProjectModelArgs = { + id: Scalars['String']['input']; +}; + + +export type ProjectModelByNameArgs = { + name: Scalars['String']['input']; +}; + + +export type ProjectModelChildrenTreeArgs = { + fullName: Scalars['String']['input']; +}; + + +export type ProjectModelsArgs = { + cursor?: InputMaybe; + filter?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + + +export type ProjectModelsTreeArgs = { + cursor?: InputMaybe; + filter?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + + +export type ProjectMoveToWorkspaceDryRunArgs = { + workspaceId: Scalars['String']['input']; +}; + + +export type ProjectObjectArgs = { + id: Scalars['String']['input']; +}; + + +export type ProjectPendingImportedModelsArgs = { + limit?: InputMaybe; +}; + + +export type ProjectVersionArgs = { + id: Scalars['String']['input']; +}; + + +export type ProjectVersionsArgs = { + cursor?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + + +export type ProjectViewerResourcesArgs = { + loadedVersionsOnly?: InputMaybe; + resourceIdString: Scalars['String']['input']; +}; + + +export type ProjectWebhooksArgs = { + id?: InputMaybe; +}; + +/** Created when a user requests to become a contributor on a project */ +export type ProjectAccessRequest = { + __typename?: 'ProjectAccessRequest'; + createdAt: Scalars['DateTime']['output']; + id: Scalars['ID']['output']; + /** Can only be selected if authed user has proper access */ + project: Project; + projectId: Scalars['String']['output']; + requester: LimitedUser; + requesterId: Scalars['String']['output']; +}; + +export type ProjectAccessRequestMutations = { + __typename?: 'ProjectAccessRequestMutations'; + /** Request access to a specific project */ + create: ProjectAccessRequest; + /** Accept or decline a project access request. Must be a project owner to invoke this. */ + use: Project; +}; + + +export type ProjectAccessRequestMutationsCreateArgs = { + projectId: Scalars['String']['input']; +}; + + +export type ProjectAccessRequestMutationsUseArgs = { + accept: Scalars['Boolean']['input']; + requestId: Scalars['String']['input']; + role?: StreamRole; +}; + +export type ProjectAutomationCreateInput = { + enabled: Scalars['Boolean']['input']; + name: Scalars['String']['input']; +}; + +export type ProjectAutomationMutations = { + __typename?: 'ProjectAutomationMutations'; + create: Automation; + createRevision: AutomationRevision; + createTestAutomation: Automation; + createTestAutomationRun: TestAutomationRun; + delete: Scalars['Boolean']['output']; + /** + * Trigger an automation with a fake "version created" trigger. The "version created" will + * just refer to the last version of the model. + */ + trigger: Scalars['String']['output']; + update: Automation; +}; + + +export type ProjectAutomationMutationsCreateArgs = { + input: ProjectAutomationCreateInput; +}; + + +export type ProjectAutomationMutationsCreateRevisionArgs = { + input: ProjectAutomationRevisionCreateInput; +}; + + +export type ProjectAutomationMutationsCreateTestAutomationArgs = { + input: ProjectTestAutomationCreateInput; +}; + + +export type ProjectAutomationMutationsCreateTestAutomationRunArgs = { + automationId: Scalars['ID']['input']; +}; + + +export type ProjectAutomationMutationsDeleteArgs = { + automationId: Scalars['ID']['input']; +}; + + +export type ProjectAutomationMutationsTriggerArgs = { + automationId: Scalars['ID']['input']; +}; + + +export type ProjectAutomationMutationsUpdateArgs = { + input: ProjectAutomationUpdateInput; +}; + +export type ProjectAutomationRevisionCreateInput = { + automationId: Scalars['ID']['input']; + functions: Array; + /** AutomateTypes.TriggerDefinitionsSchema type from @speckle/shared */ + triggerDefinitions: Scalars['JSONObject']['input']; +}; + +export type ProjectAutomationUpdateInput = { + enabled?: InputMaybe; + id: Scalars['ID']['input']; + name?: InputMaybe; +}; + +export type ProjectAutomationsUpdatedMessage = { + __typename?: 'ProjectAutomationsUpdatedMessage'; + automation?: Maybe; + automationId: Scalars['String']['output']; + /** Only set if type === CREATED_REVISION */ + revision?: Maybe; + type: ProjectAutomationsUpdatedMessageType; +}; + +export enum ProjectAutomationsUpdatedMessageType { + Created = 'CREATED', + CreatedRevision = 'CREATED_REVISION', + Updated = 'UPDATED' +} + +export type ProjectCollaborator = { + __typename?: 'ProjectCollaborator'; + id: Scalars['ID']['output']; + role: Scalars['String']['output']; + /** The collaborator's workspace seat type for the workspace this project is in */ + seatType?: Maybe; + user: LimitedUser; + /** The collaborator's workspace role for the workspace this project is in, if any */ + workspaceRole?: Maybe; +}; + +export type ProjectCollection = { + __typename?: 'ProjectCollection'; + cursor?: Maybe; + items: Array; + totalCount: Scalars['Int']['output']; +}; + +export type ProjectCommentCollection = { + __typename?: 'ProjectCommentCollection'; + cursor?: Maybe; + items: Array; + totalArchivedCount: Scalars['Int']['output']; + totalCount: Scalars['Int']['output']; +}; + +export type ProjectCommentsFilter = { + /** Whether or not to include archived/resolved threads */ + includeArchived?: InputMaybe; + /** + * By default if resourceIdString is set, the "versionId" part of model resource identifiers will be ignored + * and all comments of all versions of any of the referenced models will be returned. If `loadedVersionsOnly` is + * enabled, then only comment threads of loaded/referenced versions in resourceIdString will be returned. + */ + loadedVersionsOnly?: InputMaybe; + /** + * Only request comments belonging to the resources identified by this + * comma-delimited resouce string (same format that's used in the viewer URL) + */ + resourceIdString?: InputMaybe; +}; + +export type ProjectCommentsUpdatedMessage = { + __typename?: 'ProjectCommentsUpdatedMessage'; + /** Null if deleted */ + comment?: Maybe; + id: Scalars['String']['output']; + type: ProjectCommentsUpdatedMessageType; +}; + +export enum ProjectCommentsUpdatedMessageType { + Archived = 'ARCHIVED', + Created = 'CREATED', + Updated = 'UPDATED' +} + +/** Any values left null will be ignored */ +export type ProjectCreateInput = { + description?: InputMaybe; + name?: InputMaybe; + visibility?: InputMaybe; +}; + +export type ProjectFileImportUpdatedMessage = { + __typename?: 'ProjectFileImportUpdatedMessage'; + /** Upload ID */ + id: Scalars['String']['output']; + type: ProjectFileImportUpdatedMessageType; + upload: FileUpload; +}; + +export enum ProjectFileImportUpdatedMessageType { + Created = 'CREATED', + Updated = 'UPDATED' +} + +export type ProjectInviteCreateInput = { + /** Either this or userId must be filled */ + email?: InputMaybe; + /** Defaults to the contributor role, if not specified */ + role?: InputMaybe; + /** Can only be specified if guest mode is on or if the user is an admin */ + serverRole?: InputMaybe; + /** Either this or email must be filled */ + userId?: InputMaybe; +}; + +export type ProjectInviteMutations = { + __typename?: 'ProjectInviteMutations'; + /** Batch invite to project */ + batchCreate: Project; + /** Cancel a pending stream invite. Can only be invoked by a project owner. */ + cancel: Project; + /** Invite a new or registered user to be a project collaborator. Can only be invoked by a project owner. */ + create: Project; + /** + * Create invite(-s) for a project in a workspace. Unlike the base create() mutation, this allows + * configuring the workspace role. + */ + createForWorkspace: Project; + /** Accept or decline a project invite */ + use: Scalars['Boolean']['output']; +}; + + +export type ProjectInviteMutationsBatchCreateArgs = { + input: Array; + projectId: Scalars['ID']['input']; +}; + + +export type ProjectInviteMutationsCancelArgs = { + inviteId: Scalars['String']['input']; + projectId: Scalars['ID']['input']; +}; + + +export type ProjectInviteMutationsCreateArgs = { + input: ProjectInviteCreateInput; + projectId: Scalars['ID']['input']; +}; + + +export type ProjectInviteMutationsCreateForWorkspaceArgs = { + inputs: Array; + projectId: Scalars['ID']['input']; +}; + + +export type ProjectInviteMutationsUseArgs = { + input: ProjectInviteUseInput; +}; + +export type ProjectInviteUseInput = { + accept: Scalars['Boolean']['input']; + projectId: Scalars['ID']['input']; + token: Scalars['String']['input']; +}; + +export type ProjectModelsFilter = { + /** Filter by IDs of contributors who participated in models */ + contributors?: InputMaybe>; + /** Excldue models w/ the specified IDs */ + excludeIds?: InputMaybe>; + /** Only select models w/ the specified IDs */ + ids?: InputMaybe>; + /** Filter out models that don't have any versions */ + onlyWithVersions?: InputMaybe; + /** Filter by model names */ + search?: InputMaybe; + /** Filter by source apps used in models */ + sourceApps?: InputMaybe>; +}; + +export type ProjectModelsTreeFilter = { + /** Filter by IDs of contributors who participated in models */ + contributors?: InputMaybe>; + /** Search for specific models. If used, tree items from different levels may be mixed. */ + search?: InputMaybe; + /** Filter by source apps used in models */ + sourceApps?: InputMaybe>; +}; + +export type ProjectModelsUpdatedMessage = { + __typename?: 'ProjectModelsUpdatedMessage'; + /** Model ID */ + id: Scalars['String']['output']; + /** Null if model was deleted */ + model?: Maybe; + type: ProjectModelsUpdatedMessageType; +}; + +export enum ProjectModelsUpdatedMessageType { + Created = 'CREATED', + Deleted = 'DELETED', + Updated = 'UPDATED' +} + +export type ProjectMoveToWorkspaceDryRun = { + __typename?: 'ProjectMoveToWorkspaceDryRun'; + addedToWorkspace: Array; + addedToWorkspaceTotalCount: Scalars['Int']['output']; +}; + + +export type ProjectMoveToWorkspaceDryRunAddedToWorkspaceArgs = { + limit?: InputMaybe; +}; + +export type ProjectMutations = { + __typename?: 'ProjectMutations'; + /** Access request related mutations */ + accessRequestMutations: ProjectAccessRequestMutations; + automationMutations: ProjectAutomationMutations; + /** Batch delete projects */ + batchDelete: Scalars['Boolean']['output']; + /** Create new project */ + create: Project; + /** + * Create onboarding/tutorial project. If one is already created for the active user, that + * one will be returned instead. + */ + createForOnboarding: Project; + /** Delete an existing project */ + delete: Scalars['Boolean']['output']; + /** Invite related mutations */ + invites: ProjectInviteMutations; + /** Leave a project. Only possible if you're not the last remaining owner. */ + leave: Scalars['Boolean']['output']; + /** Updates an existing project */ + update: Project; + /** Update role for a collaborator */ + updateRole: Project; +}; + + +export type ProjectMutationsAutomationMutationsArgs = { + projectId: Scalars['ID']['input']; +}; + + +export type ProjectMutationsBatchDeleteArgs = { + ids: Array; +}; + + +export type ProjectMutationsCreateArgs = { + input?: InputMaybe; +}; + + +export type ProjectMutationsDeleteArgs = { + id: Scalars['String']['input']; +}; + + +export type ProjectMutationsLeaveArgs = { + id: Scalars['String']['input']; +}; + + +export type ProjectMutationsUpdateArgs = { + update: ProjectUpdateInput; +}; + + +export type ProjectMutationsUpdateRoleArgs = { + input: ProjectUpdateRoleInput; +}; + +export type ProjectPendingModelsUpdatedMessage = { + __typename?: 'ProjectPendingModelsUpdatedMessage'; + /** Upload ID */ + id: Scalars['String']['output']; + model: FileUpload; + type: ProjectPendingModelsUpdatedMessageType; +}; + +export enum ProjectPendingModelsUpdatedMessageType { + Created = 'CREATED', + Updated = 'UPDATED' +} + +export type ProjectPendingVersionsUpdatedMessage = { + __typename?: 'ProjectPendingVersionsUpdatedMessage'; + /** Upload ID */ + id: Scalars['String']['output']; + type: ProjectPendingVersionsUpdatedMessageType; + version: FileUpload; +}; + +export enum ProjectPendingVersionsUpdatedMessageType { + Created = 'CREATED', + Updated = 'UPDATED' +} + +export type ProjectPermissionChecks = { + __typename?: 'ProjectPermissionChecks'; + canBroadcastActivity: PermissionCheckResult; + canCreateAutomation: PermissionCheckResult; + canCreateComment: PermissionCheckResult; + canCreateModel: PermissionCheckResult; + canDelete: PermissionCheckResult; + canLeave: PermissionCheckResult; + canLoad: PermissionCheckResult; + canMoveToWorkspace: PermissionCheckResult; + canPublish: PermissionCheckResult; + canRead: PermissionCheckResult; + canReadSettings: PermissionCheckResult; + canReadWebhooks: PermissionCheckResult; + canRequestRender: PermissionCheckResult; + canUpdate: PermissionCheckResult; + canUpdateAllowPublicComments: PermissionCheckResult; +}; + + +export type ProjectPermissionChecksCanMoveToWorkspaceArgs = { + workspaceId?: InputMaybe; +}; + +export type ProjectRole = { + __typename?: 'ProjectRole'; + project: Project; + role: Scalars['String']['output']; +}; + +export type ProjectTestAutomationCreateInput = { + modelId: Scalars['String']['input']; + name: Scalars['String']['input']; +}; + +export type ProjectTriggeredAutomationsStatusUpdatedMessage = { + __typename?: 'ProjectTriggeredAutomationsStatusUpdatedMessage'; + model: Model; + project: Project; + run: AutomateRun; + type: ProjectTriggeredAutomationsStatusUpdatedMessageType; + version: Version; +}; + +export enum ProjectTriggeredAutomationsStatusUpdatedMessageType { + RunCreated = 'RUN_CREATED', + RunUpdated = 'RUN_UPDATED' +} + +/** Any values left null will be ignored, so only set the properties that you want updated */ +export type ProjectUpdateInput = { + allowPublicComments?: InputMaybe; + description?: InputMaybe; + id: Scalars['ID']['input']; + name?: InputMaybe; + visibility?: InputMaybe; +}; + +export type ProjectUpdateRoleInput = { + projectId: Scalars['String']['input']; + /** Leave role as null to revoke access entirely */ + role?: InputMaybe; + userId: Scalars['String']['input']; +}; + +export type ProjectUpdatedMessage = { + __typename?: 'ProjectUpdatedMessage'; + /** Project ID */ + id: Scalars['String']['output']; + /** Project entity, null if project was deleted */ + project?: Maybe; + /** Message type */ + type: ProjectUpdatedMessageType; +}; + +export enum ProjectUpdatedMessageType { + Deleted = 'DELETED', + Updated = 'UPDATED' +} + +export type ProjectVersionsPreviewGeneratedMessage = { + __typename?: 'ProjectVersionsPreviewGeneratedMessage'; + objectId: Scalars['String']['output']; + projectId: Scalars['String']['output']; + versionId: Scalars['String']['output']; +}; + +export type ProjectVersionsUpdatedMessage = { + __typename?: 'ProjectVersionsUpdatedMessage'; + /** Version ID */ + id: Scalars['String']['output']; + /** Version's model ID */ + modelId: Scalars['String']['output']; + type: ProjectVersionsUpdatedMessageType; + /** Null if version was deleted */ + version?: Maybe; +}; + +export enum ProjectVersionsUpdatedMessageType { + Created = 'CREATED', + Deleted = 'DELETED', + Updated = 'UPDATED' +} + +export enum ProjectVisibility { + Private = 'PRIVATE', + Public = 'PUBLIC', + Unlisted = 'UNLISTED' +} + +export type Query = { + __typename?: 'Query'; + /** Stare into the void. */ + _?: Maybe; + /** Gets the profile of the authenticated user or null if not authenticated */ + activeUser?: Maybe; + admin: AdminQueries; + /** + * All the streams of the server. Available to admins only. + * @deprecated use admin.projectList instead + */ + adminStreams?: Maybe; + /** + * Get all (or search for specific) users, registered or invited, from the server in a paginated view. + * The query looks for matches in name, company and email. + * @deprecated use admin.UserList instead + */ + adminUsers?: Maybe; + /** Gets a specific app from the server. */ + app?: Maybe; + /** + * Returns all the publicly available apps on this server. + * @deprecated Part of the old API surface and will be removed in the future. + */ + apps?: Maybe>>; + /** If user is authenticated using an app token, this will describe the app */ + authenticatedAsApp?: Maybe; + /** Get a single automate function by id. Error will be thrown if function is not found or inaccessible. */ + automateFunction: AutomateFunction; + automateFunctions: AutomateFunctionCollection; + /** Part of the automation/function creation handshake mechanism */ + automateValidateAuthCode: Scalars['Boolean']['output']; + /** @deprecated Part of the old API surface and will be removed in the future. Use Project.comment instead. */ + comment?: Maybe; + /** + * This query can be used in the following ways: + * - get all the comments for a stream: **do not pass in any resource identifiers**. + * - get the comments targeting any of a set of provided resources (comments/objects): **pass in an array of resources.** + * @deprecated Use Project/Version/Model 'commentThreads' fields instead + */ + comments?: Maybe; + /** + * All of the discoverable streams of the server + * @deprecated Part of the old API surface and will be removed in the future. + */ + discoverableStreams?: Maybe; + /** Get the (limited) profile information of another server user */ + otherUser?: Maybe; + /** + * Find a specific project. Will throw an authorization error if active user isn't authorized + * to see it, for example, if a project isn't public and the user doesn't have the appropriate rights. + */ + project: Project; + /** + * Look for an invitation to a project, for the current user (authed or not). If token + * isn't specified, the server will look for any valid invite. + */ + projectInvite?: Maybe; + serverInfo: ServerInfo; + /** Receive metadata about an invite by the invite token */ + serverInviteByToken?: Maybe; + /** @deprecated use admin.serverStatistics instead */ + serverStats: ServerStats; + /** + * Returns a specific stream. Will throw an authorization error if active user isn't authorized + * to see it, for example, if a stream isn't public and the user doesn't have the appropriate rights. + * @deprecated Part of the old API surface and will be removed in the future. Use Query.project instead. + */ + stream?: Maybe; + /** + * Get authed user's stream access request + * @deprecated Part of the old API surface and will be removed in the future. Use User.projectAccessRequest instead. + */ + streamAccessRequest?: Maybe; + /** + * Look for an invitation to a stream, for the current user (authed or not). If token + * isn't specified, the server will look for any valid invite. + * @deprecated Part of the old API surface and will be removed in the future. Use Query.projectInvite instead. + */ + streamInvite?: Maybe; + /** + * Get all invitations to streams that the active user has + * @deprecated Part of the old API surface and will be removed in the future. Use User.projectInvites instead. + */ + streamInvites: Array; + /** + * Returns all streams that the active user is a collaborator on. + * Pass in the `query` parameter to search by name, description or ID. + * @deprecated Part of the old API surface and will be removed in the future. Use User.projects instead. + */ + streams?: Maybe; + /** + * Gets the profile of a user. If no id argument is provided, will return the current authenticated user's profile (as extracted from the authorization header). + * @deprecated To be removed in the near future! Use 'activeUser' to get info about the active user or 'otherUser' to get info about another user. + */ + user?: Maybe; + /** + * Validate password strength + * @deprecated Part of the old API surface and will be removed in the future. + */ + userPwdStrength: PasswordStrengthCheckResults; + /** + * Search for users and return limited metadata about them, if you have the server:user role. + * The query looks for matches in name & email + * @deprecated Use users() instead. + */ + userSearch: UserSearchResultCollection; + /** Look up server users */ + users: UserSearchResultCollection; + /** Look up server users with a collection of emails */ + usersByEmail: Array>; + /** Validates the slug, to make sure it contains only valid characters and its not taken. */ + validateWorkspaceSlug: Scalars['Boolean']['output']; + workspace: Workspace; + workspaceBySlug: Workspace; + /** + * Look for an invitation to a workspace, for the current user (authed or not). + * + * If token is specified, it will return the corresponding invite even if it belongs to a different user. + * + * Either token or workspaceId must be specified, or both + */ + workspaceInvite?: Maybe; + /** Find workspaces a given user email can use SSO to sign with */ + workspaceSsoByEmail: Array; +}; + + +export type QueryAdminStreamsArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe; + query?: InputMaybe; + visibility?: InputMaybe; +}; + + +export type QueryAdminUsersArgs = { + limit?: Scalars['Int']['input']; + offset?: Scalars['Int']['input']; + query?: InputMaybe; +}; + + +export type QueryAppArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryAutomateFunctionArgs = { + id: Scalars['ID']['input']; +}; + + +export type QueryAutomateFunctionsArgs = { + cursor?: InputMaybe; + filter?: InputMaybe; + limit?: InputMaybe; +}; + + +export type QueryAutomateValidateAuthCodeArgs = { + payload: AutomateAuthCodePayloadTest; + resources?: InputMaybe; +}; + + +export type QueryCommentArgs = { + id: Scalars['String']['input']; + streamId: Scalars['String']['input']; +}; + + +export type QueryCommentsArgs = { + archived?: Scalars['Boolean']['input']; + cursor?: InputMaybe; + limit?: InputMaybe; + resources?: InputMaybe>>; + streamId: Scalars['String']['input']; +}; + + +export type QueryDiscoverableStreamsArgs = { + cursor?: InputMaybe; + limit?: Scalars['Int']['input']; + sort?: InputMaybe; +}; + + +export type QueryOtherUserArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryProjectArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryProjectInviteArgs = { + projectId: Scalars['String']['input']; + token?: InputMaybe; +}; + + +export type QueryServerInviteByTokenArgs = { + token?: InputMaybe; +}; + + +export type QueryStreamArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryStreamAccessRequestArgs = { + streamId: Scalars['String']['input']; +}; + + +export type QueryStreamInviteArgs = { + streamId: Scalars['String']['input']; + token?: InputMaybe; +}; + + +export type QueryStreamsArgs = { + cursor?: InputMaybe; + limit?: InputMaybe; + query?: InputMaybe; +}; + + +export type QueryUserArgs = { + id?: InputMaybe; +}; + + +export type QueryUserPwdStrengthArgs = { + pwd: Scalars['String']['input']; +}; + + +export type QueryUserSearchArgs = { + archived?: InputMaybe; + cursor?: InputMaybe; + emailOnly?: InputMaybe; + limit?: Scalars['Int']['input']; + query: Scalars['String']['input']; +}; + + +export type QueryUsersArgs = { + input: UsersRetrievalInput; +}; + + +export type QueryUsersByEmailArgs = { + input: BulkUsersRetrievalInput; +}; + + +export type QueryValidateWorkspaceSlugArgs = { + slug: Scalars['String']['input']; +}; + + +export type QueryWorkspaceArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryWorkspaceBySlugArgs = { + slug: Scalars['String']['input']; +}; + + +export type QueryWorkspaceInviteArgs = { + options?: InputMaybe; + token?: InputMaybe; + workspaceId?: InputMaybe; +}; + + +export type QueryWorkspaceSsoByEmailArgs = { + email: Scalars['String']['input']; +}; + +/** Deprecated: Used by old stream-based mutations */ +export type ReplyCreateInput = { + /** IDs of uploaded blobs that should be attached to this reply */ + blobIds: Array; + data?: InputMaybe; + parentComment: Scalars['String']['input']; + streamId: Scalars['String']['input']; + /** ProseMirror document object */ + text?: InputMaybe; +}; + +export type ResourceIdentifier = { + __typename?: 'ResourceIdentifier'; + resourceId: Scalars['String']['output']; + resourceType: ResourceType; +}; + +export type ResourceIdentifierInput = { + resourceId: Scalars['String']['input']; + resourceType: ResourceType; +}; + +export enum ResourceType { + Comment = 'comment', + Commit = 'commit', + Object = 'object', + Stream = 'stream' +} + +export type Role = { + __typename?: 'Role'; + description: Scalars['String']['output']; + name: Scalars['String']['output']; + resourceTarget: Scalars['String']['output']; +}; + +export type RootPermissionChecks = { + __typename?: 'RootPermissionChecks'; + canCreatePersonalProject: PermissionCheckResult; +}; + +/** Available scopes. */ +export type Scope = { + __typename?: 'Scope'; + description: Scalars['String']['output']; + name: Scalars['String']['output']; +}; + +export type ServerApp = { + __typename?: 'ServerApp'; + author?: Maybe; + createdAt: Scalars['DateTime']['output']; + description?: Maybe; + id: Scalars['String']['output']; + logo?: Maybe; + name: Scalars['String']['output']; + public?: Maybe; + redirectUrl: Scalars['String']['output']; + scopes: Array; + secret?: Maybe; + termsAndConditionsLink?: Maybe; + trustByDefault?: Maybe; +}; + +export type ServerAppListItem = { + __typename?: 'ServerAppListItem'; + author?: Maybe; + description?: Maybe; + id: Scalars['String']['output']; + logo?: Maybe; + name: Scalars['String']['output']; + redirectUrl: Scalars['String']['output']; + termsAndConditionsLink?: Maybe; + trustByDefault?: Maybe; +}; + +export type ServerAutomateInfo = { + __typename?: 'ServerAutomateInfo'; + availableFunctionTemplates: Array; +}; + +/** Server configuration. */ +export type ServerConfiguration = { + __typename?: 'ServerConfiguration'; + blobSizeLimitBytes: Scalars['Int']['output']; + /** Whether the email feature is enabled on this server */ + isEmailEnabled: Scalars['Boolean']['output']; + objectMultipartUploadSizeLimitBytes: Scalars['Int']['output']; + objectSizeLimitBytes: Scalars['Int']['output']; +}; + +/** Information about this server. */ +export type ServerInfo = { + __typename?: 'ServerInfo'; + adminContact?: Maybe; + /** The authentication strategies available on this server. */ + authStrategies: Array; + automate: ServerAutomateInfo; + /** Base URL of Speckle Automate, if set */ + automateUrl?: Maybe; + /** @deprecated Use the ServerInfo{configuration{blobSizeLimitBytes}} field instead. */ + blobSizeLimitBytes: Scalars['Int']['output']; + canonicalUrl?: Maybe; + company?: Maybe; + /** + * Configuration values that are specific to this server. + * These are read-only and can only be adjusted during server setup. + * Please contact your server administrator if you wish to suggest a change to these values. + */ + configuration: ServerConfiguration; + description?: Maybe; + /** Whether or not to show messaging about FE2 (banners etc.) */ + enableNewWebUiMessaging?: Maybe; + guestModeEnabled: Scalars['Boolean']['output']; + inviteOnly?: Maybe; + /** Server relocation / migration info */ + migration?: Maybe; + /** Info about server regions */ + multiRegion: ServerMultiRegionConfiguration; + name: Scalars['String']['output']; + /** @deprecated Use role constants from the @speckle/shared npm package instead */ + roles: Array; + scopes: Array; + serverRoles: Array; + termsOfService?: Maybe; + version?: Maybe; + workspaces: ServerWorkspacesInfo; +}; + +export type ServerInfoMutations = { + __typename?: 'ServerInfoMutations'; + multiRegion: ServerRegionMutations; +}; + +export type ServerInfoUpdateInput = { + adminContact?: InputMaybe; + company?: InputMaybe; + description?: InputMaybe; + guestModeEnabled?: InputMaybe; + inviteOnly?: InputMaybe; + name: Scalars['String']['input']; + termsOfService?: InputMaybe; +}; + +export type ServerInvite = { + __typename?: 'ServerInvite'; + email: Scalars['String']['output']; + id: Scalars['String']['output']; + invitedBy: LimitedUser; +}; + +export type ServerInviteCreateInput = { + email: Scalars['String']['input']; + message?: InputMaybe; + /** Can only be specified if guest mode is on or if the user is an admin */ + serverRole?: InputMaybe; +}; + +export type ServerMigration = { + __typename?: 'ServerMigration'; + movedFrom?: Maybe; + movedTo?: Maybe; +}; + +export type ServerMultiRegionConfiguration = { + __typename?: 'ServerMultiRegionConfiguration'; + /** + * Keys of available regions defined in the multi region config file. Used keys will + * be filtered out from the result. + */ + availableKeys: Array; + /** Regions available for project data residency */ + regions: Array; +}; + +export type ServerRegionItem = { + __typename?: 'ServerRegionItem'; + description?: Maybe; + id: Scalars['String']['output']; + key: Scalars['String']['output']; + name: Scalars['String']['output']; +}; + +export type ServerRegionMutations = { + __typename?: 'ServerRegionMutations'; + create: ServerRegionItem; + update: ServerRegionItem; +}; + + +export type ServerRegionMutationsCreateArgs = { + input: CreateServerRegionInput; +}; + + +export type ServerRegionMutationsUpdateArgs = { + input: UpdateServerRegionInput; +}; + +export enum ServerRole { + ServerAdmin = 'SERVER_ADMIN', + ServerArchivedUser = 'SERVER_ARCHIVED_USER', + ServerGuest = 'SERVER_GUEST', + ServerUser = 'SERVER_USER' +} + +export type ServerRoleItem = { + __typename?: 'ServerRoleItem'; + id: Scalars['String']['output']; + title: Scalars['String']['output']; +}; + +export type ServerStatistics = { + __typename?: 'ServerStatistics'; + totalPendingInvites: Scalars['Int']['output']; + totalProjectCount: Scalars['Int']['output']; + totalUserCount: Scalars['Int']['output']; +}; + +export type ServerStats = { + __typename?: 'ServerStats'; + /** An array of objects currently structured as { created_month: Date, count: int }. */ + commitHistory?: Maybe>>; + /** An array of objects currently structured as { created_month: Date, count: int }. */ + objectHistory?: Maybe>>; + /** An array of objects currently structured as { created_month: Date, count: int }. */ + streamHistory?: Maybe>>; + totalCommitCount: Scalars['Int']['output']; + totalObjectCount: Scalars['Int']['output']; + totalStreamCount: Scalars['Int']['output']; + totalUserCount: Scalars['Int']['output']; + /** An array of objects currently structured as { created_month: Date, count: int }. */ + userHistory?: Maybe>>; +}; + +export type ServerWorkspacesInfo = { + __typename?: 'ServerWorkspacesInfo'; + /** Up-to-date prices for paid & non-invoiced Workspace plans */ + planPrices?: Maybe; + /** + * This is a backend control variable for the workspaces feature set. + * Since workspaces need a backend logic to be enabled, this is not enough as a feature flag. + */ + workspacesEnabled: Scalars['Boolean']['output']; +}; + +export enum SessionPaymentStatus { + Paid = 'paid', + Unpaid = 'unpaid' +} + +export type SetPrimaryUserEmailInput = { + id: Scalars['ID']['input']; +}; + +/** Visibility without the "discoverable" option */ +export enum SimpleProjectVisibility { + Private = 'PRIVATE', + Unlisted = 'UNLISTED' +} + +export type SmartTextEditorValue = { + __typename?: 'SmartTextEditorValue'; + /** File attachments, if any */ + attachments?: Maybe>; + /** + * The actual (ProseMirror) document representing the text. Can be empty, + * if there are attachments. + */ + doc?: Maybe; + /** The type of editor value (comment, blog post etc.) */ + type: Scalars['String']['output']; + /** The version of the schema */ + version: Scalars['String']['output']; +}; + +export enum SortDirection { + Asc = 'ASC', + Desc = 'DESC' +} + +export type Stream = { + __typename?: 'Stream'; + /** + * All the recent activity on this stream in chronological order + * @deprecated Part of the old API surface and will be removed in the future. + */ + activity?: Maybe; + allowPublicComments: Scalars['Boolean']['output']; + /** @deprecated Part of the old API surface and will be removed in the future. Use Project.blob instead. */ + blob?: Maybe; + /** + * Get the metadata collection of blobs stored for this stream. + * @deprecated Part of the old API surface and will be removed in the future. Use Project.blobs instead. + */ + blobs?: Maybe; + /** @deprecated Part of the old API surface and will be removed in the future. Use Project.model or Project.modelByName instead. */ + branch?: Maybe; + /** @deprecated Part of the old API surface and will be removed in the future. Use Project.models or Project.modelsTree instead. */ + branches?: Maybe; + collaborators: Array; + /** + * The total number of comments for this stream. To actually get the comments, use the comments query without passing in a resource array. E.g.: + * + * ``` + * query{ + * comments(streamId:"streamId"){ + * ... + * } + * ``` + * @deprecated Part of the old API surface and will be removed in the future. + */ + commentCount: Scalars['Int']['output']; + /** @deprecated Part of the old API surface and will be removed in the future. Use Project.version instead. */ + commit?: Maybe; + /** @deprecated Part of the old API surface and will be removed in the future. Use Project.versions instead. */ + commits?: Maybe; + createdAt: Scalars['DateTime']['output']; + description?: Maybe; + /** Date when you favorited this stream. `null` if stream isn't viewed from a specific user's perspective or if it isn't favorited. */ + favoritedDate?: Maybe; + favoritesCount: Scalars['Int']['output']; + /** + * Returns a specific file upload that belongs to this stream. + * @deprecated Part of the old API surface and will be removed in the future. Use Project.pendingImportedModels or Model.pendingImportedVersions instead. + */ + fileUpload?: Maybe; + /** + * Returns a list of all the file uploads for this stream. + * @deprecated Part of the old API surface and will be removed in the future. Use Project.pendingImportedModels or Model.pendingImportedVersions instead. + */ + fileUploads: Array; + id: Scalars['String']['output']; + /** + * Whether the stream (if public) can be found on public stream exploration pages + * and searches + */ + isDiscoverable: Scalars['Boolean']['output']; + /** Whether the stream can be viewed by non-contributors */ + isPublic: Scalars['Boolean']['output']; + name: Scalars['String']['output']; + /** @deprecated Part of the old API surface and will be removed in the future. Use Project.object instead. */ + object?: Maybe; + /** + * Pending stream access requests + * @deprecated Part of the old API surface and will be removed in the future. Use Project.pendingAccessRequests instead. + */ + pendingAccessRequests?: Maybe>; + /** Collaborators who have been invited, but not yet accepted. */ + pendingCollaborators?: Maybe>; + /** Your role for this stream. `null` if request is not authenticated, or the stream is not explicitly shared with you. */ + role?: Maybe; + size?: Maybe; + updatedAt: Scalars['DateTime']['output']; + /** @deprecated Part of the old API surface and will be removed in the future. Use Project.webhooks instead. */ + webhooks: WebhookCollection; +}; + + +export type StreamActivityArgs = { + actionType?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + cursor?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + + +export type StreamBlobArgs = { + id: Scalars['String']['input']; +}; + + +export type StreamBlobsArgs = { + cursor?: InputMaybe; + limit?: InputMaybe; + query?: InputMaybe; +}; + + +export type StreamBranchArgs = { + name?: InputMaybe; +}; + + +export type StreamBranchesArgs = { + cursor?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + + +export type StreamCommitArgs = { + id?: InputMaybe; +}; + + +export type StreamCommitsArgs = { + cursor?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + + +export type StreamFileUploadArgs = { + id: Scalars['String']['input']; +}; + + +export type StreamObjectArgs = { + id: Scalars['String']['input']; +}; + + +export type StreamWebhooksArgs = { + id?: InputMaybe; +}; + +/** Created when a user requests to become a contributor on a stream */ +export type StreamAccessRequest = { + __typename?: 'StreamAccessRequest'; + createdAt: Scalars['DateTime']['output']; + id: Scalars['ID']['output']; + requester: LimitedUser; + requesterId: Scalars['String']['output']; + /** Can only be selected if authed user has proper access */ + stream: Stream; + streamId: Scalars['String']['output']; +}; + +export type StreamCollaborator = { + __typename?: 'StreamCollaborator'; + avatar?: Maybe; + company?: Maybe; + id: Scalars['String']['output']; + name: Scalars['String']['output']; + role: Scalars['String']['output']; + serverRole: Scalars['String']['output']; +}; + +export type StreamCollection = { + __typename?: 'StreamCollection'; + cursor?: Maybe; + items?: Maybe>; + totalCount: Scalars['Int']['output']; +}; + +export type StreamCreateInput = { + description?: InputMaybe; + /** + * Whether the stream (if public) can be found on public stream exploration pages + * and searches + */ + isDiscoverable?: InputMaybe; + /** Whether the stream can be viewed by non-contributors */ + isPublic?: InputMaybe; + name?: InputMaybe; + /** Optionally specify user IDs of users that you want to invite to be contributors to this stream */ + withContributors?: InputMaybe>; +}; + +export type StreamInviteCreateInput = { + email?: InputMaybe; + message?: InputMaybe; + /** Defaults to the contributor role, if not specified */ + role?: InputMaybe; + /** Can only be specified if guest mode is on or if the user is an admin */ + serverRole?: InputMaybe; + streamId: Scalars['String']['input']; + userId?: InputMaybe; +}; + +export type StreamRevokePermissionInput = { + streamId: Scalars['String']['input']; + userId: Scalars['String']['input']; +}; + +export enum StreamRole { + StreamContributor = 'STREAM_CONTRIBUTOR', + StreamOwner = 'STREAM_OWNER', + StreamReviewer = 'STREAM_REVIEWER' +} + +export type StreamUpdateInput = { + allowPublicComments?: InputMaybe; + description?: InputMaybe; + id: Scalars['String']['input']; + /** + * Whether the stream (if public) can be found on public stream exploration pages + * and searches + */ + isDiscoverable?: InputMaybe; + /** Whether the stream can be viewed by non-contributors */ + isPublic?: InputMaybe; + name?: InputMaybe; +}; + +export type StreamUpdatePermissionInput = { + role: Scalars['String']['input']; + streamId: Scalars['String']['input']; + userId: Scalars['String']['input']; +}; + +export type Subscription = { + __typename?: 'Subscription'; + /** It's lonely in the void. */ + _?: Maybe; + /** + * Subscribe to branch created event + * @deprecated Part of the old API surface and will be removed in the future. Use 'projectModelsUpdated' instead. + */ + branchCreated?: Maybe; + /** + * Subscribe to branch deleted event + * @deprecated Part of the old API surface and will be removed in the future. Use 'projectModelsUpdated' instead. + */ + branchDeleted?: Maybe; + /** + * Subscribe to branch updated event. + * @deprecated Part of the old API surface and will be removed in the future. Use 'projectModelsUpdated' instead. + */ + branchUpdated?: Maybe; + /** + * Subscribe to new comment events. There's two ways to use this subscription: + * - for a whole stream: do not pass in any resourceIds; this sub will get called whenever a comment (not reply) is added to any of the stream's resources. + * - for a specific resource/set of resources: pass in a list of resourceIds (commit or object ids); this sub will get called when *any* of the resources provided get a comment. + * @deprecated Use projectCommentsUpdated + */ + commentActivity: CommentActivityMessage; + /** + * Subscribes to events on a specific comment. Use to find out when: + * - a top level comment is deleted (trigger a deletion event outside) + * - a top level comment receives a reply. + * @deprecated Use projectCommentsUpdated or viewerUserActivityBroadcasted for reply status + */ + commentThreadActivity: CommentThreadActivityMessage; + /** + * Subscribe to commit created event + * @deprecated Part of the old API surface and will be removed in the future. Use 'projectVersionsUpdated' instead. + */ + commitCreated?: Maybe; + /** + * Subscribe to commit deleted event + * @deprecated Part of the old API surface and will be removed in the future. Use 'projectVersionsUpdated' instead. + */ + commitDeleted?: Maybe; + /** + * Subscribe to commit updated event. + * @deprecated Part of the old API surface and will be removed in the future. Use 'projectVersionsUpdated' instead. + */ + commitUpdated?: Maybe; + /** + * Cyclically sends a message to the client, used for testing + * Note: Only works in test environment + */ + ping: Scalars['String']['output']; + /** Subscribe to updates to automations in the project */ + projectAutomationsUpdated: ProjectAutomationsUpdatedMessage; + /** + * Subscribe to updates to resource comments/threads. Optionally specify resource ID string to only receive + * updates regarding comments for those resources. + */ + projectCommentsUpdated: ProjectCommentsUpdatedMessage; + /** + * Subscribe to changes to any of a project's file imports + * @deprecated Part of the old API surface and will be removed in the future. Use projectPendingModelsUpdated or projectPendingVersionsUpdated instead. + */ + projectFileImportUpdated: ProjectFileImportUpdatedMessage; + /** Subscribe to changes to a project's models. Optionally specify modelIds to track. */ + projectModelsUpdated: ProjectModelsUpdatedMessage; + /** Subscribe to changes to a project's pending models */ + projectPendingModelsUpdated: ProjectPendingModelsUpdatedMessage; + /** Subscribe to changes to a project's pending versions */ + projectPendingVersionsUpdated: ProjectPendingVersionsUpdatedMessage; + /** Subscribe to updates to any triggered automations statuses in the project */ + projectTriggeredAutomationsStatusUpdated: ProjectTriggeredAutomationsStatusUpdatedMessage; + /** Track updates to a specific project */ + projectUpdated: ProjectUpdatedMessage; + projectVersionGendoAIRenderCreated: GendoAiRender; + projectVersionGendoAIRenderUpdated: GendoAiRender; + /** Subscribe to when a project's versions get their preview image fully generated. */ + projectVersionsPreviewGenerated: ProjectVersionsPreviewGeneratedMessage; + /** Subscribe to changes to a project's versions. */ + projectVersionsUpdated: ProjectVersionsUpdatedMessage; + /** + * Subscribes to stream deleted event. Use this in clients/components that pertain only to this stream. + * @deprecated Part of the old API surface and will be removed in the future. Use projectUpdated instead. + */ + streamDeleted?: Maybe; + /** + * Subscribes to stream updated event. Use this in clients/components that pertain only to this stream. + * @deprecated Part of the old API surface and will be removed in the future. Use projectUpdated instead. + */ + streamUpdated?: Maybe; + /** Track newly added or deleted projects owned by the active user */ + userProjectsUpdated: UserProjectsUpdatedMessage; + /** + * Subscribes to new stream added event for your profile. Use this to display an up-to-date list of streams. + * **NOTE**: If someone shares a stream with you, this subscription will be triggered with an extra value of `sharedBy` in the payload. + * @deprecated Part of the old API surface and will be removed in the future. Use userProjectsUpdated instead. + */ + userStreamAdded?: Maybe; + /** + * Subscribes to stream removed event for your profile. Use this to display an up-to-date list of streams for your profile. + * **NOTE**: If someone revokes your permissions on a stream, this subscription will be triggered with an extra value of `revokedBy` in the payload. + * @deprecated Part of the old API surface and will be removed in the future. Use userProjectsUpdated instead. + */ + userStreamRemoved?: Maybe; + /** + * Broadcasts "real-time" location data for viewer users. + * @deprecated Use viewerUserActivityBroadcasted + */ + userViewerActivity?: Maybe; + /** Track user activities in the viewer relating to the specified resources */ + viewerUserActivityBroadcasted: ViewerUserActivityMessage; + /** + * Track newly added or deleted projects in a specific workspace. + * Either slug or id must be set. + */ + workspaceProjectsUpdated: WorkspaceProjectsUpdatedMessage; + /** + * Track updates to a specific workspace. + * Either slug or id must be set. + */ + workspaceUpdated: WorkspaceUpdatedMessage; +}; + + +export type SubscriptionBranchCreatedArgs = { + streamId: Scalars['String']['input']; +}; + + +export type SubscriptionBranchDeletedArgs = { + streamId: Scalars['String']['input']; +}; + + +export type SubscriptionBranchUpdatedArgs = { + branchId?: InputMaybe; + streamId: Scalars['String']['input']; +}; + + +export type SubscriptionCommentActivityArgs = { + resourceIds?: InputMaybe>>; + streamId: Scalars['String']['input']; +}; + + +export type SubscriptionCommentThreadActivityArgs = { + commentId: Scalars['String']['input']; + streamId: Scalars['String']['input']; +}; + + +export type SubscriptionCommitCreatedArgs = { + streamId: Scalars['String']['input']; +}; + + +export type SubscriptionCommitDeletedArgs = { + streamId: Scalars['String']['input']; +}; + + +export type SubscriptionCommitUpdatedArgs = { + commitId?: InputMaybe; + streamId: Scalars['String']['input']; +}; + + +export type SubscriptionProjectAutomationsUpdatedArgs = { + projectId: Scalars['String']['input']; +}; + + +export type SubscriptionProjectCommentsUpdatedArgs = { + target: ViewerUpdateTrackingTarget; +}; + + +export type SubscriptionProjectFileImportUpdatedArgs = { + id: Scalars['String']['input']; +}; + + +export type SubscriptionProjectModelsUpdatedArgs = { + id: Scalars['String']['input']; + modelIds?: InputMaybe>; +}; + + +export type SubscriptionProjectPendingModelsUpdatedArgs = { + id: Scalars['String']['input']; +}; + + +export type SubscriptionProjectPendingVersionsUpdatedArgs = { + id: Scalars['String']['input']; +}; + + +export type SubscriptionProjectTriggeredAutomationsStatusUpdatedArgs = { + projectId: Scalars['String']['input']; +}; + + +export type SubscriptionProjectUpdatedArgs = { + id: Scalars['String']['input']; +}; + + +export type SubscriptionProjectVersionGendoAiRenderCreatedArgs = { + id: Scalars['String']['input']; + versionId: Scalars['String']['input']; +}; + + +export type SubscriptionProjectVersionGendoAiRenderUpdatedArgs = { + id: Scalars['String']['input']; + versionId: Scalars['String']['input']; +}; + + +export type SubscriptionProjectVersionsPreviewGeneratedArgs = { + id: Scalars['String']['input']; +}; + + +export type SubscriptionProjectVersionsUpdatedArgs = { + id: Scalars['String']['input']; +}; + + +export type SubscriptionStreamDeletedArgs = { + streamId?: InputMaybe; +}; + + +export type SubscriptionStreamUpdatedArgs = { + streamId?: InputMaybe; +}; + + +export type SubscriptionUserViewerActivityArgs = { + resourceId: Scalars['String']['input']; + streamId: Scalars['String']['input']; +}; + + +export type SubscriptionViewerUserActivityBroadcastedArgs = { + sessionId?: InputMaybe; + target: ViewerUpdateTrackingTarget; +}; + + +export type SubscriptionWorkspaceProjectsUpdatedArgs = { + workspaceId?: InputMaybe; + workspaceSlug?: InputMaybe; +}; + + +export type SubscriptionWorkspaceUpdatedArgs = { + workspaceId?: InputMaybe; + workspaceSlug?: InputMaybe; +}; + +export type TestAutomationRun = { + __typename?: 'TestAutomationRun'; + automationRunId: Scalars['String']['output']; + functionRunId: Scalars['String']['output']; + triggers: Array; +}; + +export type TestAutomationRunTrigger = { + __typename?: 'TestAutomationRunTrigger'; + payload: TestAutomationRunTriggerPayload; + triggerType: Scalars['String']['output']; +}; + +export type TestAutomationRunTriggerPayload = { + __typename?: 'TestAutomationRunTriggerPayload'; + modelId: Scalars['String']['output']; + versionId: Scalars['String']['output']; +}; + +export type TokenResourceIdentifier = { + __typename?: 'TokenResourceIdentifier'; + id: Scalars['String']['output']; + type: TokenResourceIdentifierType; +}; + +export type TokenResourceIdentifierInput = { + id: Scalars['String']['input']; + type: TokenResourceIdentifierType; +}; + +export enum TokenResourceIdentifierType { + Project = 'project', + Workspace = 'workspace' +} + +export type TriggeredAutomationsStatus = { + __typename?: 'TriggeredAutomationsStatus'; + automationRuns: Array; + id: Scalars['ID']['output']; + status: AutomateRunStatus; + statusMessage?: Maybe; +}; + +/** Any null values will be ignored */ +export type UpdateAutomateFunctionInput = { + description?: InputMaybe; + id: Scalars['ID']['input']; + logo?: InputMaybe; + name?: InputMaybe; + /** SourceAppNames values from @speckle/shared */ + supportedSourceApps?: InputMaybe>; + tags?: InputMaybe>; + workspaceIds?: InputMaybe>; +}; + +export type UpdateModelInput = { + description?: InputMaybe; + id: Scalars['ID']['input']; + name?: InputMaybe; + projectId: Scalars['ID']['input']; +}; + +export type UpdateServerRegionInput = { + description?: InputMaybe; + key: Scalars['String']['input']; + name?: InputMaybe; +}; + +/** Only non-null values will be updated */ +export type UpdateVersionInput = { + message?: InputMaybe; + projectId: Scalars['ID']['input']; + versionId: Scalars['ID']['input']; +}; + +export type UpgradePlanInput = { + billingInterval: BillingInterval; + workspaceId: Scalars['ID']['input']; + workspacePlan: PaidWorkspacePlans; +}; + +/** + * Full user type, should only be used in the context of admin operations or + * when a user is reading/writing info about himself + */ +export type User = { + __typename?: 'User'; + /** The last-visited workspace for the given user */ + activeWorkspace?: Maybe; + /** + * All the recent activity from this user in chronological order + * @deprecated Part of the old API surface and will be removed in the future. + */ + activity?: Maybe; + /** Returns a list of your personal api tokens. */ + apiTokens: Array; + /** Returns the apps you have authorized. */ + authorizedApps?: Maybe>; + automateFunctions: AutomateFunctionCollection; + automateInfo: UserAutomateInfo; + avatar?: Maybe; + bio?: Maybe; + /** + * Get commits authored by the user. If requested for another user, then only commits + * from public streams will be returned. + * @deprecated Part of the old API surface and will be removed in the future. Use User.versions instead. + */ + commits?: Maybe; + company?: Maybe; + /** Returns the apps you have created. */ + createdApps?: Maybe>; + createdAt?: Maybe; + /** Get discoverable workspaces with verified domains that match the active user's */ + discoverableWorkspaces: Array; + /** Only returned if API user is the user being requested or an admin */ + email?: Maybe; + emails: Array; + /** + * A list of workspaces for the active user where: + * (1) The user is a member or admin + * (2) The workspace has SSO provider enabled + * (3) The user does not have a valid SSO session for the given SSO provider + */ + expiredSsoSessions: Array; + /** + * All the streams that a active user has favorited. + * Note: You can't use this to retrieve another user's favorite streams. + * @deprecated Part of the old API surface and will be removed in the future. + */ + favoriteStreams: StreamCollection; + gendoAICredits: UserGendoAiCredits; + /** Whether the user has a pending/active email verification token */ + hasPendingVerification?: Maybe; + id: Scalars['ID']['output']; + /** Whether post-sign up onboarding has been finished or skipped entirely */ + isOnboardingFinished?: Maybe; + /** Returns `true` if last visited project was "legacy" "personal project" outside of a workspace */ + isProjectsActive?: Maybe; + meta: UserMeta; + name: Scalars['String']['output']; + notificationPreferences: Scalars['JSONObject']['output']; + permissions: RootPermissionChecks; + profiles?: Maybe; + /** Get pending project access request, that the user made */ + projectAccessRequest?: Maybe; + /** Get all invitations to projects that the active user has */ + projectInvites: Array; + /** Get projects that the user participates in */ + projects: UserProjectCollection; + role?: Maybe; + /** + * Returns all streams that the user is a collaborator on. If requested for a user, who isn't the + * authenticated user, then this will only return discoverable streams. + * @deprecated Part of the old API surface and will be removed in the future. Use User.projects instead. + */ + streams: UserStreamCollection; + /** + * The user's timeline in chronological order + * @deprecated Part of the old API surface and will be removed in the future. + */ + timeline?: Maybe; + /** + * Total amount of favorites attached to streams owned by the user + * @deprecated Part of the old API surface and will be removed in the future. + */ + totalOwnedStreamsFavorites: Scalars['Int']['output']; + verified?: Maybe; + /** + * Get (count of) user's versions. By default gets all versions of all projects the user has access to. + * Set authoredOnly=true to only retrieve versions authored by the user. + * + * Note: Only count resolution is currently implemented + */ + versions: CountOnlyCollection; + /** Get all invitations to workspaces that the active user has */ + workspaceInvites: Array; + workspaceJoinRequests?: Maybe; + /** Get the workspaces for the user */ + workspaces: WorkspaceCollection; +}; + + +/** + * Full user type, should only be used in the context of admin operations or + * when a user is reading/writing info about himself + */ +export type UserActivityArgs = { + actionType?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + cursor?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + + +/** + * Full user type, should only be used in the context of admin operations or + * when a user is reading/writing info about himself + */ +export type UserAutomateFunctionsArgs = { + cursor?: InputMaybe; + filter?: InputMaybe; + limit?: InputMaybe; +}; + + +/** + * Full user type, should only be used in the context of admin operations or + * when a user is reading/writing info about himself + */ +export type UserCommitsArgs = { + cursor?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + + +/** + * Full user type, should only be used in the context of admin operations or + * when a user is reading/writing info about himself + */ +export type UserFavoriteStreamsArgs = { + cursor?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + + +/** + * Full user type, should only be used in the context of admin operations or + * when a user is reading/writing info about himself + */ +export type UserProjectAccessRequestArgs = { + projectId: Scalars['String']['input']; +}; + + +/** + * Full user type, should only be used in the context of admin operations or + * when a user is reading/writing info about himself + */ +export type UserProjectsArgs = { + cursor?: InputMaybe; + filter?: InputMaybe; + limit?: Scalars['Int']['input']; + sortBy?: InputMaybe>; +}; + + +/** + * Full user type, should only be used in the context of admin operations or + * when a user is reading/writing info about himself + */ +export type UserStreamsArgs = { + cursor?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + + +/** + * Full user type, should only be used in the context of admin operations or + * when a user is reading/writing info about himself + */ +export type UserTimelineArgs = { + after?: InputMaybe; + before?: InputMaybe; + cursor?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + + +/** + * Full user type, should only be used in the context of admin operations or + * when a user is reading/writing info about himself + */ +export type UserVersionsArgs = { + authoredOnly?: Scalars['Boolean']['input']; + limit?: Scalars['Int']['input']; +}; + + +/** + * Full user type, should only be used in the context of admin operations or + * when a user is reading/writing info about himself + */ +export type UserWorkspaceJoinRequestsArgs = { + cursor?: InputMaybe; + filter?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + + +/** + * Full user type, should only be used in the context of admin operations or + * when a user is reading/writing info about himself + */ +export type UserWorkspacesArgs = { + cursor?: InputMaybe; + filter?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + +export type UserAutomateInfo = { + __typename?: 'UserAutomateInfo'; + availableGithubOrgs: Array; + hasAutomateGithubApp: Scalars['Boolean']['output']; +}; + +export type UserDeleteInput = { + email: Scalars['String']['input']; +}; + +export type UserEmail = { + __typename?: 'UserEmail'; + email: Scalars['String']['output']; + id: Scalars['ID']['output']; + primary: Scalars['Boolean']['output']; + userId: Scalars['ID']['output']; + verified: Scalars['Boolean']['output']; +}; + +export type UserEmailMutations = { + __typename?: 'UserEmailMutations'; + create: User; + delete: User; + requestNewEmailVerification?: Maybe; + setPrimary: User; + verify?: Maybe; +}; + + +export type UserEmailMutationsCreateArgs = { + input: CreateUserEmailInput; +}; + + +export type UserEmailMutationsDeleteArgs = { + input: DeleteUserEmailInput; +}; + + +export type UserEmailMutationsRequestNewEmailVerificationArgs = { + input: EmailVerificationRequestInput; +}; + + +export type UserEmailMutationsSetPrimaryArgs = { + input: SetPrimaryUserEmailInput; +}; + + +export type UserEmailMutationsVerifyArgs = { + input: VerifyUserEmailInput; +}; + +export type UserGendoAiCredits = { + __typename?: 'UserGendoAICredits'; + limit: Scalars['Int']['output']; + resetDate: Scalars['DateTime']['output']; + used: Scalars['Int']['output']; +}; + +export type UserMeta = { + __typename?: 'UserMeta'; + legacyProjectsExplainerCollapsed: Scalars['Boolean']['output']; + newWorkspaceExplainerDismissed: Scalars['Boolean']['output']; +}; + +export type UserMetaMutations = { + __typename?: 'UserMetaMutations'; + setLegacyProjectsExplainerCollapsed: Scalars['Boolean']['output']; + setNewWorkspaceExplainerDismissed: Scalars['Boolean']['output']; +}; + + +export type UserMetaMutationsSetLegacyProjectsExplainerCollapsedArgs = { + value: Scalars['Boolean']['input']; +}; + + +export type UserMetaMutationsSetNewWorkspaceExplainerDismissedArgs = { + value: Scalars['Boolean']['input']; +}; + +export type UserProjectCollection = { + __typename?: 'UserProjectCollection'; + cursor?: Maybe; + items: Array; + numberOfHidden: Scalars['Int']['output']; + totalCount: Scalars['Int']['output']; +}; + +export type UserProjectsFilter = { + /** + * If set to true, will also include streams that the user may not have an explicit role on, + * but has implicit access to because of workspaces + */ + includeImplicitAccess?: InputMaybe; + /** Only include projects where user has the specified roles */ + onlyWithRoles?: InputMaybe>; + /** Only include personal projects (not in any workspace) */ + personalOnly?: InputMaybe; + /** Filter out projects by name */ + search?: InputMaybe; + /** Only include projects in the specified workspace */ + workspaceId?: InputMaybe; +}; + +export type UserProjectsUpdatedMessage = { + __typename?: 'UserProjectsUpdatedMessage'; + /** Project ID */ + id: Scalars['String']['output']; + /** Project entity, null if project was deleted */ + project?: Maybe; + /** Message type */ + type: UserProjectsUpdatedMessageType; +}; + +export enum UserProjectsUpdatedMessageType { + Added = 'ADDED', + Removed = 'REMOVED' +} + +export type UserRoleInput = { + id: Scalars['String']['input']; + role: Scalars['String']['input']; +}; + +export type UserSearchResultCollection = { + __typename?: 'UserSearchResultCollection'; + cursor?: Maybe; + items: Array; +}; + +export type UserStreamCollection = { + __typename?: 'UserStreamCollection'; + cursor?: Maybe; + items?: Maybe>; + numberOfHidden: Scalars['Int']['output']; + totalCount: Scalars['Int']['output']; +}; + +export type UserUpdateInput = { + avatar?: InputMaybe; + bio?: InputMaybe; + company?: InputMaybe; + name?: InputMaybe; +}; + +export type UserWorkspacesFilter = { + search?: InputMaybe; +}; + +export type UsersRetrievalInput = { + cursor?: InputMaybe; + /** Only find users with directly matching emails */ + emailOnly?: InputMaybe; + /** Limit defaults to 10 */ + limit?: InputMaybe; + /** Only find users that are collaborators of the specified project */ + projectId?: InputMaybe; + /** The query looks for matches in user name & email */ + query: Scalars['String']['input']; +}; + +export type VerifyUserEmailInput = { + code: Scalars['String']['input']; + email: Scalars['String']['input']; +}; + +export type Version = { + __typename?: 'Version'; + authorUser?: Maybe; + automationsStatus?: Maybe; + /** All comment threads in this version */ + commentThreads: CommentCollection; + createdAt: Scalars['DateTime']['output']; + gendoAIRender: GendoAiRender; + gendoAIRenders: GendoAiRenderCollection; + id: Scalars['ID']['output']; + message?: Maybe; + model: Model; + parents?: Maybe>>; + permissions: VersionPermissionChecks; + previewUrl: Scalars['String']['output']; + referencedObject?: Maybe; + sourceApplication?: Maybe; + totalChildrenCount?: Maybe; +}; + + +export type VersionCommentThreadsArgs = { + cursor?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + + +export type VersionGendoAiRenderArgs = { + id: Scalars['String']['input']; +}; + +export type VersionCollection = { + __typename?: 'VersionCollection'; + cursor?: Maybe; + items: Array; + totalCount: Scalars['Int']['output']; +}; + +export type VersionCreatedTrigger = { + __typename?: 'VersionCreatedTrigger'; + model?: Maybe; + type: AutomateRunTriggerType; + version?: Maybe; +}; + +export type VersionCreatedTriggerDefinition = { + __typename?: 'VersionCreatedTriggerDefinition'; + model?: Maybe; + type: AutomateRunTriggerType; +}; + +export type VersionMutations = { + __typename?: 'VersionMutations'; + create: Version; + delete: Scalars['Boolean']['output']; + markReceived: Scalars['Boolean']['output']; + moveToModel: Model; + requestGendoAIRender: Scalars['Boolean']['output']; + update: Version; +}; + + +export type VersionMutationsCreateArgs = { + input: CreateVersionInput; +}; + + +export type VersionMutationsDeleteArgs = { + input: DeleteVersionsInput; +}; + + +export type VersionMutationsMarkReceivedArgs = { + input: MarkReceivedVersionInput; +}; + + +export type VersionMutationsMoveToModelArgs = { + input: MoveVersionsInput; +}; + + +export type VersionMutationsRequestGendoAiRenderArgs = { + input: GendoAiRenderInput; +}; + + +export type VersionMutationsUpdateArgs = { + input: UpdateVersionInput; +}; + +export type VersionPermissionChecks = { + __typename?: 'VersionPermissionChecks'; + canReceive: PermissionCheckResult; + canUpdate: PermissionCheckResult; +}; + +export type ViewerResourceGroup = { + __typename?: 'ViewerResourceGroup'; + /** Resource identifier used to refer to a collection of resource items */ + identifier: Scalars['String']['output']; + /** Viewer resources that the identifier refers to */ + items: Array; +}; + +export type ViewerResourceItem = { + __typename?: 'ViewerResourceItem'; + /** Null if resource represents an object */ + modelId?: Maybe; + objectId: Scalars['String']['output']; + /** Null if resource represents an object */ + versionId?: Maybe; +}; + +export type ViewerUpdateTrackingTarget = { + /** + * By default if resourceIdString is set, the "versionId" part of model resource identifiers will be ignored + * and all updates to of all versions of any of the referenced models will be returned. If `loadedVersionsOnly` is + * enabled, then only updates of loaded/referenced versions in resourceIdString will be returned. + */ + loadedVersionsOnly?: InputMaybe; + projectId: Scalars['String']['input']; + /** + * Only request updates to the resources identified by this + * comma-delimited resouce string (same format that's used in the viewer URL) + */ + resourceIdString: Scalars['String']['input']; +}; + +export type ViewerUserActivityMessage = { + __typename?: 'ViewerUserActivityMessage'; + sessionId: Scalars['String']['output']; + /** SerializedViewerState, only null if DISCONNECTED */ + state?: Maybe; + status: ViewerUserActivityStatus; + user?: Maybe; + userId?: Maybe; + userName: Scalars['String']['output']; +}; + +export type ViewerUserActivityMessageInput = { + sessionId: Scalars['String']['input']; + /** SerializedViewerState, only null if DISCONNECTED */ + state?: InputMaybe; + status: ViewerUserActivityStatus; + userId?: InputMaybe; + userName: Scalars['String']['input']; +}; + +export enum ViewerUserActivityStatus { + Disconnected = 'DISCONNECTED', + Viewing = 'VIEWING' +} + +export type Webhook = { + __typename?: 'Webhook'; + description?: Maybe; + enabled?: Maybe; + hasSecret: Scalars['Boolean']['output']; + history?: Maybe; + id: Scalars['String']['output']; + projectId: Scalars['String']['output']; + streamId: Scalars['String']['output']; + triggers: Array; + url: Scalars['String']['output']; +}; + + +export type WebhookHistoryArgs = { + limit?: Scalars['Int']['input']; +}; + +export type WebhookCollection = { + __typename?: 'WebhookCollection'; + items: Array; + totalCount: Scalars['Int']['output']; +}; + +export type WebhookCreateInput = { + description?: InputMaybe; + enabled?: InputMaybe; + secret?: InputMaybe; + streamId: Scalars['String']['input']; + triggers: Array; + url: Scalars['String']['input']; +}; + +export type WebhookDeleteInput = { + id: Scalars['String']['input']; + streamId: Scalars['String']['input']; +}; + +export type WebhookEvent = { + __typename?: 'WebhookEvent'; + id: Scalars['String']['output']; + lastUpdate: Scalars['DateTime']['output']; + payload: Scalars['String']['output']; + retryCount: Scalars['Int']['output']; + status: Scalars['Int']['output']; + statusInfo: Scalars['String']['output']; + webhookId: Scalars['String']['output']; +}; + +export type WebhookEventCollection = { + __typename?: 'WebhookEventCollection'; + items?: Maybe>>; + totalCount?: Maybe; +}; + +export type WebhookUpdateInput = { + description?: InputMaybe; + enabled?: InputMaybe; + id: Scalars['String']['input']; + secret?: InputMaybe; + streamId: Scalars['String']['input']; + triggers?: InputMaybe>; + url?: InputMaybe; +}; + +export type Workspace = { + __typename?: 'Workspace'; + /** Get all join requests for all the workspaces the user is an admin of */ + adminWorkspacesJoinRequests?: Maybe; + automateFunctions: AutomateFunctionCollection; + createdAt: Scalars['DateTime']['output']; + /** Info about the workspace creation state */ + creationState?: Maybe; + customerPortalUrl?: Maybe; + /** + * The default role workspace members will receive for workspace projects. + * @deprecated Always the reviewer role. Will be removed in the future. + */ + defaultProjectRole: Scalars['String']['output']; + /** + * The default region where project data will be stored, if set. If undefined, defaults to main/default + * region. + */ + defaultRegion?: Maybe; + description?: Maybe; + /** Enable/Disable discovery of the workspace */ + discoverabilityEnabled: Scalars['Boolean']['output']; + /** Enable/Disable restriction to invite users to workspace as Guests only */ + domainBasedMembershipProtectionEnabled: Scalars['Boolean']['output']; + /** Verified workspace domains */ + domains?: Maybe>; + hasAccessToFeature: Scalars['Boolean']['output']; + id: Scalars['ID']['output']; + /** Only available to workspace owners/members */ + invitedTeam?: Maybe>; + /** Logo image as base64-encoded string */ + logo?: Maybe; + name: Scalars['String']['output']; + permissions: WorkspacePermissionChecks; + plan?: Maybe; + /** Shows the plan prices localized for the given workspace */ + planPrices?: Maybe; + projects: ProjectCollection; + /** A Workspace is marked as readOnly if its trial period is finished or a paid plan is subscribed but payment has failed */ + readOnly: Scalars['Boolean']['output']; + /** Active user's role for this workspace. `null` if request is not authenticated, or the workspace is not explicitly shared with you. */ + role?: Maybe; + /** Active user's seat type for this workspace. `null` if request is not authenticated, or the workspace is not explicitly shared with you. */ + seatType?: Maybe; + seats?: Maybe; + slug: Scalars['String']['output']; + /** Information about the workspace's SSO configuration and the current user's SSO session, if present */ + sso?: Maybe; + subscription?: Maybe; + team: WorkspaceCollaboratorCollection; + teamByRole: WorkspaceTeamByRole; + updatedAt: Scalars['DateTime']['output']; +}; + + +export type WorkspaceAdminWorkspacesJoinRequestsArgs = { + cursor?: InputMaybe; + filter?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + + +export type WorkspaceAutomateFunctionsArgs = { + cursor?: InputMaybe; + filter?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + + +export type WorkspaceHasAccessToFeatureArgs = { + featureName: WorkspaceFeatureName; +}; + + +export type WorkspaceInvitedTeamArgs = { + filter?: InputMaybe; +}; + + +export type WorkspaceProjectsArgs = { + cursor?: InputMaybe; + filter?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + + +export type WorkspaceTeamArgs = { + cursor?: InputMaybe; + filter?: InputMaybe; + limit?: Scalars['Int']['input']; +}; + +export type WorkspaceBillingMutations = { + __typename?: 'WorkspaceBillingMutations'; + cancelCheckoutSession: Scalars['Boolean']['output']; + createCheckoutSession: CheckoutSession; + upgradePlan: Scalars['Boolean']['output']; +}; + + +export type WorkspaceBillingMutationsCancelCheckoutSessionArgs = { + input: CancelCheckoutSessionInput; +}; + + +export type WorkspaceBillingMutationsCreateCheckoutSessionArgs = { + input: CheckoutSessionInput; +}; + + +export type WorkspaceBillingMutationsUpgradePlanArgs = { + input: UpgradePlanInput; +}; + +/** Overridden by `WorkspaceCollaboratorGraphQLReturn` */ +export type WorkspaceCollaborator = { + __typename?: 'WorkspaceCollaborator'; + id: Scalars['ID']['output']; + /** Date that the user joined the workspace. */ + joinDate: Scalars['DateTime']['output']; + projectRoles: Array; + role: Scalars['String']['output']; + seatType?: Maybe; + user: LimitedUser; +}; + +export type WorkspaceCollaboratorCollection = { + __typename?: 'WorkspaceCollaboratorCollection'; + cursor?: Maybe; + items: Array; + totalCount: Scalars['Int']['output']; +}; + +export type WorkspaceCollection = { + __typename?: 'WorkspaceCollection'; + cursor?: Maybe; + items: Array; + totalCount: Scalars['Int']['output']; +}; + +export type WorkspaceCreateInput = { + description?: InputMaybe; + /** Add this domain to the workspace as a verified domain and enable domain discoverability */ + enableDomainDiscoverabilityForDomain?: InputMaybe; + /** Logo image as base64-encoded string */ + logo?: InputMaybe; + name: Scalars['String']['input']; + slug?: InputMaybe; +}; + +export type WorkspaceCreationState = { + __typename?: 'WorkspaceCreationState'; + completed: Scalars['Boolean']['output']; + state: Scalars['JSONObject']['output']; +}; + +export type WorkspaceCreationStateInput = { + completed: Scalars['Boolean']['input']; + state: Scalars['JSONObject']['input']; + workspaceId: Scalars['ID']['input']; +}; + +export type WorkspaceDismissInput = { + workspaceId: Scalars['ID']['input']; +}; + +export type WorkspaceDomain = { + __typename?: 'WorkspaceDomain'; + domain: Scalars['String']['output']; + id: Scalars['ID']['output']; +}; + +export type WorkspaceDomainDeleteInput = { + id: Scalars['ID']['input']; + workspaceId: Scalars['ID']['input']; +}; + +export enum WorkspaceFeatureName { + DomainBasedSecurityPolicies = 'domainBasedSecurityPolicies', + OidcSso = 'oidcSso', + WorkspaceDataRegionSpecificity = 'workspaceDataRegionSpecificity' +} + +export type WorkspaceInviteCreateInput = { + /** Either this or userId must be filled */ + email?: InputMaybe; + /** Defaults to the member role, if not specified */ + role?: InputMaybe; + /** Defaults to User, if not specified */ + serverRole?: InputMaybe; + /** Either this or email must be filled */ + userId?: InputMaybe; +}; + +export type WorkspaceInviteLookupOptions = { + /** If true, the query will assume workspaceId is actually the workspace slug, and do the lookup by slug */ + useSlug?: InputMaybe; +}; + +export type WorkspaceInviteMutations = { + __typename?: 'WorkspaceInviteMutations'; + batchCreate: Workspace; + cancel: Workspace; + create: Workspace; + resend: Scalars['Boolean']['output']; + use: Scalars['Boolean']['output']; +}; + + +export type WorkspaceInviteMutationsBatchCreateArgs = { + input: Array; + workspaceId: Scalars['String']['input']; +}; + + +export type WorkspaceInviteMutationsCancelArgs = { + inviteId: Scalars['String']['input']; + workspaceId: Scalars['String']['input']; +}; + + +export type WorkspaceInviteMutationsCreateArgs = { + input: WorkspaceInviteCreateInput; + workspaceId: Scalars['String']['input']; +}; + + +export type WorkspaceInviteMutationsResendArgs = { + input: WorkspaceInviteResendInput; +}; + + +export type WorkspaceInviteMutationsUseArgs = { + input: WorkspaceInviteUseInput; +}; + +export type WorkspaceInviteResendInput = { + inviteId: Scalars['String']['input']; + workspaceId: Scalars['String']['input']; +}; + +export type WorkspaceInviteUseInput = { + accept: Scalars['Boolean']['input']; + /** + * If invite is attached to an unregistered email, the invite can only be used if this is set to true. + * Upon accepting such an invite, the unregistered email will be added to the user's account as well. + */ + addNewEmail?: InputMaybe; + token: Scalars['String']['input']; +}; + +export type WorkspaceJoinRequest = { + __typename?: 'WorkspaceJoinRequest'; + createdAt: Scalars['DateTime']['output']; + id: Scalars['String']['output']; + status: WorkspaceJoinRequestStatus; + user: LimitedUser; + workspace: Workspace; +}; + +export type WorkspaceJoinRequestCollection = { + __typename?: 'WorkspaceJoinRequestCollection'; + cursor?: Maybe; + items: Array; + totalCount: Scalars['Int']['output']; +}; + +export type WorkspaceJoinRequestFilter = { + status?: InputMaybe; +}; + +export type WorkspaceJoinRequestMutations = { + __typename?: 'WorkspaceJoinRequestMutations'; + approve: Scalars['Boolean']['output']; + deny: Scalars['Boolean']['output']; +}; + + +export type WorkspaceJoinRequestMutationsApproveArgs = { + input: ApproveWorkspaceJoinRequestInput; +}; + + +export type WorkspaceJoinRequestMutationsDenyArgs = { + input: DenyWorkspaceJoinRequestInput; +}; + +export enum WorkspaceJoinRequestStatus { + Approved = 'approved', + Denied = 'denied', + Pending = 'pending' +} + +export type WorkspaceMutations = { + __typename?: 'WorkspaceMutations'; + addDomain: Workspace; + billing: WorkspaceBillingMutations; + create: Workspace; + delete: Scalars['Boolean']['output']; + deleteDomain: Workspace; + deleteSsoProvider: Scalars['Boolean']['output']; + /** Dismiss a workspace from the discoverable list, behind the scene a join request is created with the status "dismissed" */ + dismiss: Scalars['Boolean']['output']; + invites: WorkspaceInviteMutations; + join: Workspace; + leave: Scalars['Boolean']['output']; + projects: WorkspaceProjectMutations; + requestToJoin: Scalars['Boolean']['output']; + /** Set the default region where project data will be stored. Only available to admins. */ + setDefaultRegion: Workspace; + update: Workspace; + updateCreationState: Scalars['Boolean']['output']; + updateRole: Workspace; + updateSeatType: Workspace; +}; + + +export type WorkspaceMutationsAddDomainArgs = { + input: AddDomainToWorkspaceInput; +}; + + +export type WorkspaceMutationsCreateArgs = { + input: WorkspaceCreateInput; +}; + + +export type WorkspaceMutationsDeleteArgs = { + workspaceId: Scalars['String']['input']; +}; + + +export type WorkspaceMutationsDeleteDomainArgs = { + input: WorkspaceDomainDeleteInput; +}; + + +export type WorkspaceMutationsDeleteSsoProviderArgs = { + workspaceId: Scalars['String']['input']; +}; + + +export type WorkspaceMutationsDismissArgs = { + input: WorkspaceDismissInput; +}; + + +export type WorkspaceMutationsJoinArgs = { + input: JoinWorkspaceInput; +}; + + +export type WorkspaceMutationsLeaveArgs = { + id: Scalars['ID']['input']; +}; + + +export type WorkspaceMutationsRequestToJoinArgs = { + input: WorkspaceRequestToJoinInput; +}; + + +export type WorkspaceMutationsSetDefaultRegionArgs = { + regionKey: Scalars['String']['input']; + workspaceId: Scalars['String']['input']; +}; + + +export type WorkspaceMutationsUpdateArgs = { + input: WorkspaceUpdateInput; +}; + + +export type WorkspaceMutationsUpdateCreationStateArgs = { + input: WorkspaceCreationStateInput; +}; + + +export type WorkspaceMutationsUpdateRoleArgs = { + input: WorkspaceRoleUpdateInput; +}; + + +export type WorkspaceMutationsUpdateSeatTypeArgs = { + input: WorkspaceUpdateSeatTypeInput; +}; + +export type WorkspacePaidPlanPrices = { + __typename?: 'WorkspacePaidPlanPrices'; + pro: WorkspacePlanPrice; + proUnlimited: WorkspacePlanPrice; + team: WorkspacePlanPrice; + teamUnlimited: WorkspacePlanPrice; +}; + +export enum WorkspacePaymentMethod { + Billing = 'billing', + Invoice = 'invoice', + Unpaid = 'unpaid' +} + +export type WorkspacePermissionChecks = { + __typename?: 'WorkspacePermissionChecks'; + canCreateProject: PermissionCheckResult; + canMoveProjectToWorkspace: PermissionCheckResult; +}; + + +export type WorkspacePermissionChecksCanMoveProjectToWorkspaceArgs = { + projectId?: InputMaybe; +}; + +export type WorkspacePlan = { + __typename?: 'WorkspacePlan'; + createdAt: Scalars['DateTime']['output']; + name: WorkspacePlans; + paymentMethod: WorkspacePaymentMethod; + status: WorkspacePlanStatuses; + usage: WorkspacePlanUsage; +}; + +export type WorkspacePlanPrice = { + __typename?: 'WorkspacePlanPrice'; + monthly: Price; + yearly: Price; +}; + +export enum WorkspacePlanStatuses { + CancelationScheduled = 'cancelationScheduled', + Canceled = 'canceled', + PaymentFailed = 'paymentFailed', + Valid = 'valid' +} + +export type WorkspacePlanUsage = { + __typename?: 'WorkspacePlanUsage'; + modelCount: Scalars['Int']['output']; + projectCount: Scalars['Int']['output']; +}; + +export enum WorkspacePlans { + Academia = 'academia', + Free = 'free', + Pro = 'pro', + ProUnlimited = 'proUnlimited', + ProUnlimitedInvoiced = 'proUnlimitedInvoiced', + Team = 'team', + TeamUnlimited = 'teamUnlimited', + TeamUnlimitedInvoiced = 'teamUnlimitedInvoiced', + Unlimited = 'unlimited' +} + +export type WorkspaceProjectCreateInput = { + description?: InputMaybe; + name?: InputMaybe; + visibility?: InputMaybe; + workspaceId: Scalars['String']['input']; +}; + +export type WorkspaceProjectInviteCreateInput = { + /** Either this or userId must be filled */ + email?: InputMaybe; + /** Defaults to the contributor role, if not specified */ + role?: InputMaybe; + /** Can only be specified if guest mode is on or if the user is an admin */ + serverRole?: InputMaybe; + /** Either this or email must be filled */ + userId?: InputMaybe; + /** Only taken into account, if project belongs to a workspace. Defaults to guest access. */ + workspaceRole?: InputMaybe; +}; + +export type WorkspaceProjectMutations = { + __typename?: 'WorkspaceProjectMutations'; + create: Project; + /** + * Schedule a job that will: + * - Move all regional data to target region + * - Update project region key + * - TODO: Eventually delete data in previous region + */ + moveToRegion: Scalars['String']['output']; + moveToWorkspace: Project; + updateRole: Project; +}; + + +export type WorkspaceProjectMutationsCreateArgs = { + input: WorkspaceProjectCreateInput; +}; + + +export type WorkspaceProjectMutationsMoveToRegionArgs = { + projectId: Scalars['String']['input']; + regionKey: Scalars['String']['input']; +}; + + +export type WorkspaceProjectMutationsMoveToWorkspaceArgs = { + projectId: Scalars['String']['input']; + workspaceId: Scalars['String']['input']; +}; + + +export type WorkspaceProjectMutationsUpdateRoleArgs = { + input: ProjectUpdateRoleInput; +}; + +export type WorkspaceProjectsFilter = { + /** Filter out projects by name */ + search?: InputMaybe; + /** Only return workspace projects that the active user has an explicit project role in */ + withProjectRoleOnly?: InputMaybe; +}; + +export type WorkspaceProjectsUpdatedMessage = { + __typename?: 'WorkspaceProjectsUpdatedMessage'; + /** Project entity, null if project was deleted */ + project?: Maybe; + /** Project ID */ + projectId: Scalars['String']['output']; + /** Message type */ + type: WorkspaceProjectsUpdatedMessageType; + /** Workspace ID */ + workspaceId: Scalars['String']['output']; +}; + +export enum WorkspaceProjectsUpdatedMessageType { + Added = 'ADDED', + Removed = 'REMOVED' +} + +export type WorkspaceRequestToJoinInput = { + workspaceId: Scalars['ID']['input']; +}; + +export enum WorkspaceRole { + Admin = 'ADMIN', + Guest = 'GUEST', + Member = 'MEMBER' +} + +export type WorkspaceRoleCollection = { + __typename?: 'WorkspaceRoleCollection'; + totalCount: Scalars['Int']['output']; +}; + +export type WorkspaceRoleDeleteInput = { + userId: Scalars['String']['input']; + workspaceId: Scalars['String']['input']; +}; + +export type WorkspaceRoleUpdateInput = { + /** Leave role null to revoke access entirely */ + role?: InputMaybe; + userId: Scalars['String']['input']; + workspaceId: Scalars['String']['input']; +}; + +export type WorkspaceSeatCollection = { + __typename?: 'WorkspaceSeatCollection'; + totalCount: Scalars['Int']['output']; +}; + +export enum WorkspaceSeatType { + Editor = 'editor', + Viewer = 'viewer' +} + +export type WorkspaceSeatsByType = { + __typename?: 'WorkspaceSeatsByType'; + editors?: Maybe; + viewers?: Maybe; +}; + +export type WorkspaceSso = { + __typename?: 'WorkspaceSso'; + /** If null, the workspace does not have SSO configured */ + provider?: Maybe; + session?: Maybe; +}; + +export type WorkspaceSsoProvider = { + __typename?: 'WorkspaceSsoProvider'; + clientId: Scalars['String']['output']; + id: Scalars['ID']['output']; + issuerUrl: Scalars['String']['output']; + name: Scalars['String']['output']; +}; + +export type WorkspaceSsoSession = { + __typename?: 'WorkspaceSsoSession'; + createdAt: Scalars['DateTime']['output']; + validUntil: Scalars['DateTime']['output']; +}; + +export type WorkspaceSubscription = { + __typename?: 'WorkspaceSubscription'; + billingInterval: BillingInterval; + createdAt: Scalars['DateTime']['output']; + currency: Currency; + currentBillingCycleEnd: Scalars['DateTime']['output']; + seats: WorkspaceSubscriptionSeats; + updatedAt: Scalars['DateTime']['output']; +}; + +export type WorkspaceSubscriptionSeatCount = { + __typename?: 'WorkspaceSubscriptionSeatCount'; + /** Total number of seats in use by workspace users */ + assigned: Scalars['Int']['output']; + /** Total number of seats purchased and available in the current subscription cycle */ + available: Scalars['Int']['output']; +}; + +export type WorkspaceSubscriptionSeats = { + __typename?: 'WorkspaceSubscriptionSeats'; + editors: WorkspaceSubscriptionSeatCount; + viewers: WorkspaceSubscriptionSeatCount; +}; + +export type WorkspaceTeamByRole = { + __typename?: 'WorkspaceTeamByRole'; + admins?: Maybe; + guests?: Maybe; + members?: Maybe; +}; + +export type WorkspaceTeamFilter = { + /** Limit team members to provided role(s) */ + roles?: InputMaybe>; + /** Search for team members by name or email */ + search?: InputMaybe; + seatType?: InputMaybe; +}; + +export type WorkspaceUpdateInput = { + description?: InputMaybe; + discoverabilityEnabled?: InputMaybe; + domainBasedMembershipProtectionEnabled?: InputMaybe; + id: Scalars['String']['input']; + /** Logo image as base64-encoded string */ + logo?: InputMaybe; + name?: InputMaybe; + slug?: InputMaybe; +}; + +export type WorkspaceUpdateSeatTypeInput = { + seatType: WorkspaceSeatType; + userId: Scalars['String']['input']; + workspaceId: Scalars['String']['input']; +}; + +export type WorkspaceUpdatedMessage = { + __typename?: 'WorkspaceUpdatedMessage'; + /** Workspace ID */ + id: Scalars['String']['output']; + /** Workspace itself */ + workspace: Workspace; +}; + +export type AcccountTestQueryQueryVariables = Exact<{ [key: string]: never; }>; + + +export type AcccountTestQueryQuery = { __typename?: 'Query', serverInfo: { __typename?: 'ServerInfo', version?: string | null, name: string, company?: string | null } }; + +export type SetActiveWorkspaceMutationMutationVariables = Exact<{ + slug?: InputMaybe; +}>; + + +export type SetActiveWorkspaceMutationMutation = { __typename?: 'Mutation', activeUserMutations: { __typename?: 'ActiveUserMutations', setActiveWorkspace: boolean } }; + +export type VersionMutationsMutationVariables = Exact<{ + input: CreateVersionInput; +}>; + + +export type VersionMutationsMutation = { __typename?: 'Mutation', versionMutations: { __typename?: 'VersionMutations', create: { __typename?: 'Version', id: string } } }; + +export type MarkReceivedVersionMutationVariables = Exact<{ + input: MarkReceivedVersionInput; +}>; + + +export type MarkReceivedVersionMutation = { __typename?: 'Mutation', versionMutations: { __typename?: 'VersionMutations', markReceived: boolean } }; + +export type CreateModelMutationVariables = Exact<{ + input: CreateModelInput; +}>; + + +export type CreateModelMutation = { __typename?: 'Mutation', modelMutations: { __typename?: 'ModelMutations', create: { __typename?: 'Model', displayName: string, name: string, id: string, previewUrl?: string | null, updatedAt: string, versions: { __typename?: 'VersionCollection', totalCount: number, items: Array<{ __typename?: 'Version', id: string, referencedObject?: string | null, message?: string | null, sourceApplication?: string | null, createdAt: string, previewUrl: string, authorUser?: { __typename?: 'LimitedUser', avatar?: string | null, id: string, name: string } | null }> } } } }; + +export type CreateProjectMutationVariables = Exact<{ + input?: InputMaybe; +}>; + + +export type CreateProjectMutation = { __typename?: 'Mutation', projectMutations: { __typename?: 'ProjectMutations', create: { __typename?: 'Project', id: string, name: string, role?: string | null, updatedAt: string, workspaceId?: string | null, workspace?: { __typename?: 'Workspace', id: string, name: string, slug: string, role?: string | null } | null, models: { __typename?: 'ModelCollection', totalCount: number }, permissions: { __typename?: 'ProjectPermissionChecks', canLoad: { __typename?: 'PermissionCheckResult', authorized: boolean, code: string, message: string }, canPublish: { __typename?: 'PermissionCheckResult', authorized: boolean, code: string, message: string } } } } }; + +export type CreateProjectInWorkspaceMutationVariables = Exact<{ + input: WorkspaceProjectCreateInput; +}>; + + +export type CreateProjectInWorkspaceMutation = { __typename?: 'Mutation', workspaceMutations: { __typename?: 'WorkspaceMutations', projects: { __typename?: 'WorkspaceProjectMutations', create: { __typename?: 'Project', id: string, name: string, role?: string | null, updatedAt: string, workspaceId?: string | null, workspace?: { __typename?: 'Workspace', id: string, name: string, slug: string, role?: string | null } | null, models: { __typename?: 'ModelCollection', totalCount: number }, permissions: { __typename?: 'ProjectPermissionChecks', canLoad: { __typename?: 'PermissionCheckResult', authorized: boolean, code: string, message: string }, canPublish: { __typename?: 'PermissionCheckResult', authorized: boolean, code: string, message: string } } } } } }; + +export type StreamAccessRequestCreateMutationVariables = Exact<{ + input: Scalars['String']['input']; +}>; + + +export type StreamAccessRequestCreateMutation = { __typename?: 'Mutation', streamAccessRequestCreate: { __typename?: 'StreamAccessRequest', id: string } }; + +export type WorkspaceListWorkspaceItemFragment = { __typename?: 'Workspace', id: string, slug: string, name: string, description?: string | null, createdAt: string, updatedAt: string, logo?: string | null, role?: string | null, readOnly: boolean }; + +export type AutomateFunctionItemFragment = { __typename?: 'AutomateFunction', name: string, isFeatured: boolean, id: string, creator?: { __typename?: 'LimitedUser', name: string } | null, releases: { __typename?: 'AutomateFunctionReleaseCollection', items: Array<{ __typename?: 'AutomateFunctionRelease', inputSchema?: {} | null }> } }; + +export type CreateAutomationMutationVariables = Exact<{ + projectId: Scalars['ID']['input']; + input: ProjectAutomationCreateInput; +}>; + + +export type CreateAutomationMutation = { __typename?: 'Mutation', projectMutations: { __typename?: 'ProjectMutations', automationMutations: { __typename?: 'ProjectAutomationMutations', create: { __typename?: 'Automation', id: string, name: string } } } }; + +export type AutomateFunctionRunItemFragment = { __typename?: 'AutomateFunctionRun', id: string, status: AutomateRunStatus, statusMessage?: string | null, results?: {} | null, contextView?: string | null, function?: { __typename?: 'AutomateFunction', id: string, name: string, logo?: string | null } | null }; + +export type AutomationRunItemFragment = { __typename?: 'AutomateRun', id: string, status: AutomateRunStatus, automation: { __typename?: 'Automation', id: string, name: string }, functionRuns: Array<{ __typename?: 'AutomateFunctionRun', id: string, status: AutomateRunStatus, statusMessage?: string | null, results?: {} | null, contextView?: string | null, function?: { __typename?: 'AutomateFunction', id: string, name: string, logo?: string | null } | null }> }; + +export type AutomationStatusQueryVariables = Exact<{ + projectId: Scalars['String']['input']; + modelId: Scalars['String']['input']; +}>; + + +export type AutomationStatusQuery = { __typename?: 'Query', project: { __typename?: 'Project', model: { __typename?: 'Model', automationsStatus?: { __typename?: 'TriggeredAutomationsStatus', id: string, status: AutomateRunStatus, automationRuns: Array<{ __typename?: 'AutomateRun', id: string, status: AutomateRunStatus, automation: { __typename?: 'Automation', id: string, name: string }, functionRuns: Array<{ __typename?: 'AutomateFunctionRun', id: string, status: AutomateRunStatus, statusMessage?: string | null, results?: {} | null, contextView?: string | null, function?: { __typename?: 'AutomateFunction', id: string, name: string, logo?: string | null } | null }> }> } | null } } }; + +export type WorkspaceListQueryQueryVariables = Exact<{ + limit: Scalars['Int']['input']; + filter?: InputMaybe; + cursor?: InputMaybe; +}>; + + +export type WorkspaceListQueryQuery = { __typename?: 'Query', activeUser?: { __typename?: 'User', id: string, workspaces: { __typename?: 'WorkspaceCollection', totalCount: number, cursor?: string | null, items: Array<{ __typename?: 'Workspace', id: string, slug: string, name: string, description?: string | null, createdAt: string, updatedAt: string, logo?: string | null, role?: string | null, readOnly: boolean }> } } | null }; + +export type CanCreatePersonalProjectQueryVariables = Exact<{ [key: string]: never; }>; + + +export type CanCreatePersonalProjectQuery = { __typename?: 'Query', activeUser?: { __typename?: 'User', permissions: { __typename?: 'RootPermissionChecks', canCreatePersonalProject: { __typename?: 'PermissionCheckResult', authorized: boolean, code: string, message: string, payload?: {} | null } } } | null }; + +export type CanCreateProjectInWorkspaceQueryVariables = Exact<{ + workspaceId: Scalars['String']['input']; +}>; + + +export type CanCreateProjectInWorkspaceQuery = { __typename?: 'Query', workspace: { __typename?: 'Workspace', permissions: { __typename?: 'WorkspacePermissionChecks', canCreateProject: { __typename?: 'PermissionCheckResult', authorized: boolean, code: string, message: string, payload?: {} | null } } } }; + +export type CanCreateModelInProjectQueryVariables = Exact<{ + projectId: Scalars['String']['input']; +}>; + + +export type CanCreateModelInProjectQuery = { __typename?: 'Query', project: { __typename?: 'Project', permissions: { __typename?: 'ProjectPermissionChecks', canCreateModel: { __typename?: 'PermissionCheckResult', authorized: boolean, code: string, message: string } } } }; + +export type ActiveWorkspaceQueryVariables = Exact<{ [key: string]: never; }>; + + +export type ActiveWorkspaceQuery = { __typename?: 'Query', activeUser?: { __typename?: 'User', activeWorkspace?: { __typename?: 'Workspace', id: string, slug: string, name: string, description?: string | null, createdAt: string, updatedAt: string, logo?: string | null, role?: string | null, readOnly: boolean } | null } | null }; + +export type ProjectListProjectItemFragment = { __typename?: 'Project', id: string, name: string, role?: string | null, updatedAt: string, workspaceId?: string | null, workspace?: { __typename?: 'Workspace', id: string, name: string, slug: string, role?: string | null } | null, models: { __typename?: 'ModelCollection', totalCount: number }, permissions: { __typename?: 'ProjectPermissionChecks', canLoad: { __typename?: 'PermissionCheckResult', authorized: boolean, code: string, message: string }, canPublish: { __typename?: 'PermissionCheckResult', authorized: boolean, code: string, message: string } } }; + +export type ProjectListQueryQueryVariables = Exact<{ + limit: Scalars['Int']['input']; + filter?: InputMaybe; + cursor?: InputMaybe; +}>; + + +export type ProjectListQueryQuery = { __typename?: 'Query', activeUser?: { __typename?: 'User', id: string, projects: { __typename?: 'UserProjectCollection', totalCount: number, cursor?: string | null, items: Array<{ __typename?: 'Project', id: string, name: string, role?: string | null, updatedAt: string, workspaceId?: string | null, workspace?: { __typename?: 'Workspace', id: string, name: string, slug: string, role?: string | null } | null, models: { __typename?: 'ModelCollection', totalCount: number }, permissions: { __typename?: 'ProjectPermissionChecks', canLoad: { __typename?: 'PermissionCheckResult', authorized: boolean, code: string, message: string }, canPublish: { __typename?: 'PermissionCheckResult', authorized: boolean, code: string, message: string } } }> } } | null }; + +export type ModelListModelItemFragment = { __typename?: 'Model', displayName: string, name: string, id: string, previewUrl?: string | null, updatedAt: string, versions: { __typename?: 'VersionCollection', totalCount: number, items: Array<{ __typename?: 'Version', id: string, referencedObject?: string | null, message?: string | null, sourceApplication?: string | null, createdAt: string, previewUrl: string, authorUser?: { __typename?: 'LimitedUser', avatar?: string | null, id: string, name: string } | null }> } }; + +export type ProjectModelsQueryVariables = Exact<{ + projectId: Scalars['String']['input']; + cursor?: InputMaybe; + limit: Scalars['Int']['input']; + filter?: InputMaybe; +}>; + + +export type ProjectModelsQuery = { __typename?: 'Query', project: { __typename?: 'Project', id: string, models: { __typename?: 'ModelCollection', totalCount: number, cursor?: string | null, items: Array<{ __typename?: 'Model', displayName: string, name: string, id: string, previewUrl?: string | null, updatedAt: string, versions: { __typename?: 'VersionCollection', totalCount: number, items: Array<{ __typename?: 'Version', id: string, referencedObject?: string | null, message?: string | null, sourceApplication?: string | null, createdAt: string, previewUrl: string, authorUser?: { __typename?: 'LimitedUser', avatar?: string | null, id: string, name: string } | null }> } }> } } }; + +export type VersionListItemFragment = { __typename?: 'Version', id: string, referencedObject?: string | null, message?: string | null, sourceApplication?: string | null, createdAt: string, previewUrl: string, authorUser?: { __typename?: 'LimitedUser', avatar?: string | null, id: string, name: string } | null }; + +export type ModelVersionsQueryVariables = Exact<{ + modelId: Scalars['String']['input']; + projectId: Scalars['String']['input']; + limit: Scalars['Int']['input']; + cursor?: InputMaybe; + filter?: InputMaybe; +}>; + + +export type ModelVersionsQuery = { __typename?: 'Query', project: { __typename?: 'Project', id: string, model: { __typename?: 'Model', id: string, versions: { __typename?: 'VersionCollection', totalCount: number, cursor?: string | null, items: Array<{ __typename?: 'Version', id: string, referencedObject?: string | null, message?: string | null, sourceApplication?: string | null, createdAt: string, previewUrl: string, authorUser?: { __typename?: 'LimitedUser', avatar?: string | null, id: string, name: string } | null }> } } } }; + +export type ObjectQueryQueryVariables = Exact<{ + projectId: Scalars['String']['input']; + objectId: Scalars['String']['input']; +}>; + + +export type ObjectQueryQuery = { __typename?: 'Query', project: { __typename?: 'Project', object?: { __typename?: 'Object', id: string, data?: {} | null } | null } }; + +export type ProjectAddByUrlQueryWithVersionQueryVariables = Exact<{ + projectId: Scalars['String']['input']; + modelId: Scalars['String']['input']; + versionId: Scalars['String']['input']; +}>; + + +export type ProjectAddByUrlQueryWithVersionQuery = { __typename?: 'Query', project: { __typename?: 'Project', id: string, name: string, role?: string | null, updatedAt: string, workspaceId?: string | null, model: { __typename?: 'Model', displayName: string, name: string, id: string, previewUrl?: string | null, updatedAt: string, version: { __typename?: 'Version', id: string, referencedObject?: string | null, message?: string | null, sourceApplication?: string | null, createdAt: string, previewUrl: string, authorUser?: { __typename?: 'LimitedUser', avatar?: string | null, id: string, name: string } | null }, versions: { __typename?: 'VersionCollection', totalCount: number, items: Array<{ __typename?: 'Version', id: string, referencedObject?: string | null, message?: string | null, sourceApplication?: string | null, createdAt: string, previewUrl: string, authorUser?: { __typename?: 'LimitedUser', avatar?: string | null, id: string, name: string } | null }> } }, workspace?: { __typename?: 'Workspace', id: string, name: string, slug: string, role?: string | null } | null, models: { __typename?: 'ModelCollection', totalCount: number }, permissions: { __typename?: 'ProjectPermissionChecks', canLoad: { __typename?: 'PermissionCheckResult', authorized: boolean, code: string, message: string }, canPublish: { __typename?: 'PermissionCheckResult', authorized: boolean, code: string, message: string } } } }; + +export type ProjectAddByUrlQueryWithoutVersionQueryVariables = Exact<{ + projectId: Scalars['String']['input']; + modelId: Scalars['String']['input']; +}>; + + +export type ProjectAddByUrlQueryWithoutVersionQuery = { __typename?: 'Query', project: { __typename?: 'Project', id: string, name: string, role?: string | null, updatedAt: string, workspaceId?: string | null, model: { __typename?: 'Model', displayName: string, name: string, id: string, previewUrl?: string | null, updatedAt: string, versions: { __typename?: 'VersionCollection', totalCount: number, items: Array<{ __typename?: 'Version', id: string, referencedObject?: string | null, message?: string | null, sourceApplication?: string | null, createdAt: string, previewUrl: string, authorUser?: { __typename?: 'LimitedUser', avatar?: string | null, id: string, name: string } | null }> } }, workspace?: { __typename?: 'Workspace', id: string, name: string, slug: string, role?: string | null } | null, models: { __typename?: 'ModelCollection', totalCount: number }, permissions: { __typename?: 'ProjectPermissionChecks', canLoad: { __typename?: 'PermissionCheckResult', authorized: boolean, code: string, message: string }, canPublish: { __typename?: 'PermissionCheckResult', authorized: boolean, code: string, message: string } } } }; + +export type ProjectDetailsQueryVariables = Exact<{ + projectId: Scalars['String']['input']; +}>; + + +export type ProjectDetailsQuery = { __typename?: 'Query', project: { __typename?: 'Project', id: string, role?: string | null, name: string, visibility: SimpleProjectVisibility, workspace?: { __typename?: 'Workspace', name: string, slug: string, readOnly: boolean, role?: string | null } | null, team: Array<{ __typename?: 'ProjectCollaborator', user: { __typename?: 'LimitedUser', avatar?: string | null, id: string, name: string } }>, permissions: { __typename?: 'ProjectPermissionChecks', canLoad: { __typename?: 'PermissionCheckResult', authorized: boolean, code: string, message: string }, canPublish: { __typename?: 'PermissionCheckResult', authorized: boolean, code: string, message: string } } } }; + +export type AutomateFunctionsQueryVariables = Exact<{ [key: string]: never; }>; + + +export type AutomateFunctionsQuery = { __typename?: 'Query', automateFunctions: { __typename?: 'AutomateFunctionCollection', items: Array<{ __typename?: 'AutomateFunction', name: string, isFeatured: boolean, id: string, creator?: { __typename?: 'LimitedUser', name: string } | null, releases: { __typename?: 'AutomateFunctionReleaseCollection', items: Array<{ __typename?: 'AutomateFunctionRelease', inputSchema?: {} | null }> } }> } }; + +export type ModelDetailsQueryVariables = Exact<{ + modelId: Scalars['String']['input']; + projectId: Scalars['String']['input']; +}>; + + +export type ModelDetailsQuery = { __typename?: 'Query', project: { __typename?: 'Project', id: string, name: string, model: { __typename?: 'Model', id: string, displayName: string, name: string, versions: { __typename?: 'VersionCollection', totalCount: number, items: Array<{ __typename?: 'Version', id: string }> }, author?: { __typename?: 'LimitedUser', id: string, name: string, avatar?: string | null } | null } } }; + +export type VersionDetailsQueryVariables = Exact<{ + projectId: Scalars['String']['input']; + versionId: Scalars['String']['input']; + modelId: Scalars['String']['input']; +}>; + + +export type VersionDetailsQuery = { __typename?: 'Query', project: { __typename?: 'Project', id: string, name: string, model: { __typename?: 'Model', id: string, name: string, versions: { __typename?: 'VersionCollection', items: Array<{ __typename?: 'Version', id: string, createdAt: string, sourceApplication?: string | null, authorUser?: { __typename?: 'LimitedUser', id: string } | null }> }, version: { __typename?: 'Version', id: string, referencedObject?: string | null, message?: string | null, sourceApplication?: string | null, createdAt: string, previewUrl: string } } } }; + +export type ServerInfoQueryVariables = Exact<{ [key: string]: never; }>; + + +export type ServerInfoQuery = { __typename?: 'Query', serverInfo: { __typename?: 'ServerInfo', workspaces: { __typename?: 'ServerWorkspacesInfo', workspacesEnabled: boolean } } }; + +export type OnProjectVersionsUpdateSubscriptionVariables = Exact<{ + projectId: Scalars['String']['input']; +}>; + + +export type OnProjectVersionsUpdateSubscription = { __typename?: 'Subscription', projectVersionsUpdated: { __typename?: 'ProjectVersionsUpdatedMessage', id: string, type: ProjectVersionsUpdatedMessageType, version?: { __typename?: 'Version', id: string, createdAt: string, message?: string | null, sourceApplication?: string | null, authorUser?: { __typename?: 'LimitedUser', id: string, name: string, avatar?: string | null } | null, model: { __typename?: 'Model', id: string, name: string, displayName: string } } | null } }; + +export type ProjectTriggeredAutomationsStatusUpdatedSubscriptionVariables = Exact<{ + projectId: Scalars['String']['input']; +}>; + + +export type ProjectTriggeredAutomationsStatusUpdatedSubscription = { __typename?: 'Subscription', projectTriggeredAutomationsStatusUpdated: { __typename?: 'ProjectTriggeredAutomationsStatusUpdatedMessage', type: ProjectTriggeredAutomationsStatusUpdatedMessageType, version: { __typename?: 'Version', id: string }, model: { __typename?: 'Model', id: string }, project: { __typename?: 'Project', id: string }, run: { __typename?: 'AutomateRun', id: string, status: AutomateRunStatus, automation: { __typename?: 'Automation', id: string, name: string }, functionRuns: Array<{ __typename?: 'AutomateFunctionRun', id: string, status: AutomateRunStatus, statusMessage?: string | null, results?: {} | null, contextView?: string | null, function?: { __typename?: 'AutomateFunction', id: string, name: string, logo?: string | null } | null }> } } }; + +export type OnUserProjectsUpdatedSubscriptionVariables = Exact<{ [key: string]: never; }>; + + +export type OnUserProjectsUpdatedSubscription = { __typename?: 'Subscription', userProjectsUpdated: { __typename?: 'UserProjectsUpdatedMessage', id: string, project?: { __typename?: 'Project', id: string, visibility: SimpleProjectVisibility, team: Array<{ __typename?: 'ProjectCollaborator', id: string, role: string }> } | null } }; + +export type ProjectUpdatedSubscriptionVariables = Exact<{ + projectId: Scalars['String']['input']; +}>; + + +export type ProjectUpdatedSubscription = { __typename?: 'Subscription', projectUpdated: { __typename?: 'ProjectUpdatedMessage', id: string, project?: { __typename?: 'Project', visibility: SimpleProjectVisibility } | null } }; + +export type SubscriptionSubscriptionVariables = Exact<{ + target: ViewerUpdateTrackingTarget; +}>; + + +export type SubscriptionSubscription = { __typename?: 'Subscription', viewerUserActivityBroadcasted: { __typename?: 'ViewerUserActivityMessage', userName: string, userId?: string | null, sessionId: string, status: ViewerUserActivityStatus, user?: { __typename?: 'LimitedUser', name: string, id: string, avatar?: string | null } | null } }; + +export type ProjectCommentsUpdatedSubscriptionVariables = Exact<{ + target: ViewerUpdateTrackingTarget; +}>; + + +export type ProjectCommentsUpdatedSubscription = { __typename?: 'Subscription', projectCommentsUpdated: { __typename?: 'ProjectCommentsUpdatedMessage', type: ProjectCommentsUpdatedMessageType, comment?: { __typename?: 'Comment', id: string, hasParent: boolean, author: { __typename?: 'LimitedUser', avatar?: string | null, id: string, name: string }, parent?: { __typename?: 'Comment', id: string } | null } | null } }; + +export const WorkspaceListWorkspaceItemFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"WorkspaceListWorkspaceItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Workspace"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"logo"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"readOnly"}}]}}]} as unknown as DocumentNode; +export const AutomateFunctionItemFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"AutomateFunctionItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"AutomateFunction"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"isFeatured"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"creator"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"releases"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"inputSchema"}}]}}]}}]}}]} as unknown as DocumentNode; +export const AutomateFunctionRunItemFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"AutomateFunctionRunItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"AutomateFunctionRun"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"statusMessage"}},{"kind":"Field","name":{"kind":"Name","value":"results"}},{"kind":"Field","name":{"kind":"Name","value":"contextView"}},{"kind":"Field","name":{"kind":"Name","value":"function"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"logo"}}]}}]}}]} as unknown as DocumentNode; +export const AutomationRunItemFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"AutomationRunItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"AutomateRun"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"automation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"functionRuns"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"AutomateFunctionRunItem"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"AutomateFunctionRunItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"AutomateFunctionRun"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"statusMessage"}},{"kind":"Field","name":{"kind":"Name","value":"results"}},{"kind":"Field","name":{"kind":"Name","value":"contextView"}},{"kind":"Field","name":{"kind":"Name","value":"function"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"logo"}}]}}]}}]} as unknown as DocumentNode; +export const ProjectListProjectItemFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProjectListProjectItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Project"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"workspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"workspace"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"Field","name":{"kind":"Name","value":"models"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"totalCount"}}]}},{"kind":"Field","name":{"kind":"Name","value":"permissions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"canLoad"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"authorized"}},{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"message"}}]}},{"kind":"Field","name":{"kind":"Name","value":"canPublish"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"authorized"}},{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"message"}}]}}]}}]}}]} as unknown as DocumentNode; +export const VersionListItemFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"VersionListItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Version"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"referencedObject"}},{"kind":"Field","name":{"kind":"Name","value":"message"}},{"kind":"Field","name":{"kind":"Name","value":"sourceApplication"}},{"kind":"Field","name":{"kind":"Name","value":"authorUser"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"avatar"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"previewUrl"}}]}}]} as unknown as DocumentNode; +export const ModelListModelItemFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ModelListModelItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Model"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"displayName"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"previewUrl"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"versions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"limit"},"value":{"kind":"IntValue","value":"1"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"totalCount"}},{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"VersionListItem"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"VersionListItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Version"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"referencedObject"}},{"kind":"Field","name":{"kind":"Name","value":"message"}},{"kind":"Field","name":{"kind":"Name","value":"sourceApplication"}},{"kind":"Field","name":{"kind":"Name","value":"authorUser"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"avatar"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"previewUrl"}}]}}]} as unknown as DocumentNode; +export const AcccountTestQueryDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"AcccountTestQuery"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"serverInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"version"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"company"}}]}}]}}]} as unknown as DocumentNode; +export const SetActiveWorkspaceMutationDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"SetActiveWorkspaceMutation"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"slug"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"activeUserMutations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"setActiveWorkspace"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"slug"}}}]}]}}]}}]} as unknown as DocumentNode; +export const VersionMutationsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"VersionMutations"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"CreateVersionInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"versionMutations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"create"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}}]}}]} as unknown as DocumentNode; +export const MarkReceivedVersionDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"MarkReceivedVersion"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"MarkReceivedVersionInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"versionMutations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"markReceived"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}]}]}}]}}]} as unknown as DocumentNode; +export const CreateModelDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateModel"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"CreateModelInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"modelMutations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"create"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ModelListModelItem"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"VersionListItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Version"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"referencedObject"}},{"kind":"Field","name":{"kind":"Name","value":"message"}},{"kind":"Field","name":{"kind":"Name","value":"sourceApplication"}},{"kind":"Field","name":{"kind":"Name","value":"authorUser"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"avatar"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"previewUrl"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ModelListModelItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Model"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"displayName"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"previewUrl"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"versions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"limit"},"value":{"kind":"IntValue","value":"1"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"totalCount"}},{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"VersionListItem"}}]}}]}}]}}]} as unknown as DocumentNode; +export const CreateProjectDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateProject"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"ProjectCreateInput"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"projectMutations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"create"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProjectListProjectItem"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProjectListProjectItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Project"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"workspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"workspace"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"Field","name":{"kind":"Name","value":"models"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"totalCount"}}]}},{"kind":"Field","name":{"kind":"Name","value":"permissions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"canLoad"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"authorized"}},{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"message"}}]}},{"kind":"Field","name":{"kind":"Name","value":"canPublish"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"authorized"}},{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"message"}}]}}]}}]}}]} as unknown as DocumentNode; +export const CreateProjectInWorkspaceDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateProjectInWorkspace"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"WorkspaceProjectCreateInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"workspaceMutations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"projects"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"create"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProjectListProjectItem"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProjectListProjectItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Project"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"workspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"workspace"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"Field","name":{"kind":"Name","value":"models"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"totalCount"}}]}},{"kind":"Field","name":{"kind":"Name","value":"permissions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"canLoad"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"authorized"}},{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"message"}}]}},{"kind":"Field","name":{"kind":"Name","value":"canPublish"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"authorized"}},{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"message"}}]}}]}}]}}]} as unknown as DocumentNode; +export const StreamAccessRequestCreateDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"StreamAccessRequestCreate"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"streamAccessRequestCreate"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"streamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}}]} as unknown as DocumentNode; +export const CreateAutomationDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateAutomation"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ProjectAutomationCreateInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"projectMutations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"automationMutations"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"projectId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"create"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}}]}}]}}]} as unknown as DocumentNode; +export const AutomationStatusDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"AutomationStatus"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"modelId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"project"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"model"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"modelId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"automationsStatus"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"automationRuns"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"AutomationRunItem"}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"AutomateFunctionRunItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"AutomateFunctionRun"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"statusMessage"}},{"kind":"Field","name":{"kind":"Name","value":"results"}},{"kind":"Field","name":{"kind":"Name","value":"contextView"}},{"kind":"Field","name":{"kind":"Name","value":"function"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"logo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"AutomationRunItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"AutomateRun"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"automation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"functionRuns"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"AutomateFunctionRunItem"}}]}}]}}]} as unknown as DocumentNode; +export const WorkspaceListQueryDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"WorkspaceListQuery"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"limit"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"filter"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"UserWorkspacesFilter"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"cursor"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"activeUser"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"workspaces"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"limit"},"value":{"kind":"Variable","name":{"kind":"Name","value":"limit"}}},{"kind":"Argument","name":{"kind":"Name","value":"filter"},"value":{"kind":"Variable","name":{"kind":"Name","value":"filter"}}},{"kind":"Argument","name":{"kind":"Name","value":"cursor"},"value":{"kind":"Variable","name":{"kind":"Name","value":"cursor"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"totalCount"}},{"kind":"Field","name":{"kind":"Name","value":"cursor"}},{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"WorkspaceListWorkspaceItem"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"WorkspaceListWorkspaceItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Workspace"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"logo"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"readOnly"}}]}}]} as unknown as DocumentNode; +export const CanCreatePersonalProjectDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"CanCreatePersonalProject"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"activeUser"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"permissions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"canCreatePersonalProject"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"authorized"}},{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"message"}},{"kind":"Field","name":{"kind":"Name","value":"payload"}}]}}]}}]}}]}}]} as unknown as DocumentNode; +export const CanCreateProjectInWorkspaceDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"CanCreateProjectInWorkspace"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"workspaceId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"workspace"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"workspaceId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"permissions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"canCreateProject"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"authorized"}},{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"message"}},{"kind":"Field","name":{"kind":"Name","value":"payload"}}]}}]}}]}}]}}]} as unknown as DocumentNode; +export const CanCreateModelInProjectDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"CanCreateModelInProject"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"project"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"permissions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"canCreateModel"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"authorized"}},{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"message"}}]}}]}}]}}]}}]} as unknown as DocumentNode; +export const ActiveWorkspaceDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ActiveWorkspace"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"activeUser"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"activeWorkspace"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"WorkspaceListWorkspaceItem"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"WorkspaceListWorkspaceItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Workspace"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"logo"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"readOnly"}}]}}]} as unknown as DocumentNode; +export const ProjectListQueryDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ProjectListQuery"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"limit"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"filter"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"UserProjectsFilter"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"cursor"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"activeUser"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"projects"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"limit"},"value":{"kind":"Variable","name":{"kind":"Name","value":"limit"}}},{"kind":"Argument","name":{"kind":"Name","value":"filter"},"value":{"kind":"Variable","name":{"kind":"Name","value":"filter"}}},{"kind":"Argument","name":{"kind":"Name","value":"cursor"},"value":{"kind":"Variable","name":{"kind":"Name","value":"cursor"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"totalCount"}},{"kind":"Field","name":{"kind":"Name","value":"cursor"}},{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProjectListProjectItem"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProjectListProjectItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Project"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"workspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"workspace"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"Field","name":{"kind":"Name","value":"models"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"totalCount"}}]}},{"kind":"Field","name":{"kind":"Name","value":"permissions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"canLoad"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"authorized"}},{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"message"}}]}},{"kind":"Field","name":{"kind":"Name","value":"canPublish"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"authorized"}},{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"message"}}]}}]}}]}}]} as unknown as DocumentNode; +export const ProjectModelsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ProjectModels"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"cursor"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"limit"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"filter"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"ProjectModelsFilter"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"project"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"models"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"cursor"},"value":{"kind":"Variable","name":{"kind":"Name","value":"cursor"}}},{"kind":"Argument","name":{"kind":"Name","value":"limit"},"value":{"kind":"Variable","name":{"kind":"Name","value":"limit"}}},{"kind":"Argument","name":{"kind":"Name","value":"filter"},"value":{"kind":"Variable","name":{"kind":"Name","value":"filter"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"totalCount"}},{"kind":"Field","name":{"kind":"Name","value":"cursor"}},{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ModelListModelItem"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"VersionListItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Version"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"referencedObject"}},{"kind":"Field","name":{"kind":"Name","value":"message"}},{"kind":"Field","name":{"kind":"Name","value":"sourceApplication"}},{"kind":"Field","name":{"kind":"Name","value":"authorUser"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"avatar"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"previewUrl"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ModelListModelItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Model"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"displayName"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"previewUrl"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"versions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"limit"},"value":{"kind":"IntValue","value":"1"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"totalCount"}},{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"VersionListItem"}}]}}]}}]}}]} as unknown as DocumentNode; +export const ModelVersionsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ModelVersions"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"modelId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"limit"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"cursor"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"filter"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"ModelVersionsFilter"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"project"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"model"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"modelId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"versions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"limit"},"value":{"kind":"Variable","name":{"kind":"Name","value":"limit"}}},{"kind":"Argument","name":{"kind":"Name","value":"cursor"},"value":{"kind":"Variable","name":{"kind":"Name","value":"cursor"}}},{"kind":"Argument","name":{"kind":"Name","value":"filter"},"value":{"kind":"Variable","name":{"kind":"Name","value":"filter"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"totalCount"}},{"kind":"Field","name":{"kind":"Name","value":"cursor"}},{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"VersionListItem"}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"VersionListItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Version"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"referencedObject"}},{"kind":"Field","name":{"kind":"Name","value":"message"}},{"kind":"Field","name":{"kind":"Name","value":"sourceApplication"}},{"kind":"Field","name":{"kind":"Name","value":"authorUser"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"avatar"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"previewUrl"}}]}}]} as unknown as DocumentNode; +export const ObjectQueryDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ObjectQuery"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"objectId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"project"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"object"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"objectId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"data"}}]}}]}}]}}]} as unknown as DocumentNode; +export const ProjectAddByUrlQueryWithVersionDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ProjectAddByUrlQueryWithVersion"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"modelId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"versionId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"project"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProjectListProjectItem"}},{"kind":"Field","name":{"kind":"Name","value":"model"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"modelId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ModelListModelItem"}},{"kind":"Field","name":{"kind":"Name","value":"version"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"versionId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"VersionListItem"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"VersionListItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Version"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"referencedObject"}},{"kind":"Field","name":{"kind":"Name","value":"message"}},{"kind":"Field","name":{"kind":"Name","value":"sourceApplication"}},{"kind":"Field","name":{"kind":"Name","value":"authorUser"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"avatar"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"previewUrl"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProjectListProjectItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Project"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"workspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"workspace"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"Field","name":{"kind":"Name","value":"models"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"totalCount"}}]}},{"kind":"Field","name":{"kind":"Name","value":"permissions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"canLoad"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"authorized"}},{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"message"}}]}},{"kind":"Field","name":{"kind":"Name","value":"canPublish"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"authorized"}},{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"message"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ModelListModelItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Model"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"displayName"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"previewUrl"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"versions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"limit"},"value":{"kind":"IntValue","value":"1"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"totalCount"}},{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"VersionListItem"}}]}}]}}]}}]} as unknown as DocumentNode; +export const ProjectAddByUrlQueryWithoutVersionDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ProjectAddByUrlQueryWithoutVersion"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"modelId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"project"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProjectListProjectItem"}},{"kind":"Field","name":{"kind":"Name","value":"model"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"modelId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ModelListModelItem"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"VersionListItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Version"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"referencedObject"}},{"kind":"Field","name":{"kind":"Name","value":"message"}},{"kind":"Field","name":{"kind":"Name","value":"sourceApplication"}},{"kind":"Field","name":{"kind":"Name","value":"authorUser"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"avatar"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"previewUrl"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProjectListProjectItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Project"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"workspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"workspace"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"Field","name":{"kind":"Name","value":"models"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"totalCount"}}]}},{"kind":"Field","name":{"kind":"Name","value":"permissions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"canLoad"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"authorized"}},{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"message"}}]}},{"kind":"Field","name":{"kind":"Name","value":"canPublish"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"authorized"}},{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"message"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ModelListModelItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Model"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"displayName"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"previewUrl"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"versions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"limit"},"value":{"kind":"IntValue","value":"1"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"totalCount"}},{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"VersionListItem"}}]}}]}}]}}]} as unknown as DocumentNode; +export const ProjectDetailsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ProjectDetails"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"project"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"workspace"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"readOnly"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"user"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"avatar"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"visibility"}},{"kind":"Field","name":{"kind":"Name","value":"permissions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"canLoad"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"authorized"}},{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"message"}}]}},{"kind":"Field","name":{"kind":"Name","value":"canPublish"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"authorized"}},{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"message"}}]}}]}}]}}]}}]} as unknown as DocumentNode; +export const AutomateFunctionsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"AutomateFunctions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"automateFunctions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"AutomateFunctionItem"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"AutomateFunctionItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"AutomateFunction"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"isFeatured"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"creator"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"releases"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"inputSchema"}}]}}]}}]}}]} as unknown as DocumentNode; +export const ModelDetailsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ModelDetails"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"modelId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"project"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"model"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"modelId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"displayName"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"versions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"totalCount"}},{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"author"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"avatar"}}]}}]}}]}}]}}]} as unknown as DocumentNode; +export const VersionDetailsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"VersionDetails"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"versionId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"modelId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"project"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"model"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"modelId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"versions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"limit"},"value":{"kind":"IntValue","value":"1"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"sourceApplication"}},{"kind":"Field","name":{"kind":"Name","value":"authorUser"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"version"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"versionId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"referencedObject"}},{"kind":"Field","name":{"kind":"Name","value":"message"}},{"kind":"Field","name":{"kind":"Name","value":"sourceApplication"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"previewUrl"}}]}}]}}]}}]}}]} as unknown as DocumentNode; +export const ServerInfoDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ServerInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"serverInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"workspaces"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"workspacesEnabled"}}]}}]}}]}}]} as unknown as DocumentNode; +export const OnProjectVersionsUpdateDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"subscription","name":{"kind":"Name","value":"OnProjectVersionsUpdate"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"projectVersionsUpdated"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"version"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"message"}},{"kind":"Field","name":{"kind":"Name","value":"sourceApplication"}},{"kind":"Field","name":{"kind":"Name","value":"authorUser"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"avatar"}}]}},{"kind":"Field","name":{"kind":"Name","value":"model"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"displayName"}}]}}]}}]}}]}}]} as unknown as DocumentNode; +export const ProjectTriggeredAutomationsStatusUpdatedDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"subscription","name":{"kind":"Name","value":"ProjectTriggeredAutomationsStatusUpdated"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"projectTriggeredAutomationsStatusUpdated"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"projectId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"version"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"model"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"project"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"run"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"AutomationRunItem"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"AutomateFunctionRunItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"AutomateFunctionRun"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"statusMessage"}},{"kind":"Field","name":{"kind":"Name","value":"results"}},{"kind":"Field","name":{"kind":"Name","value":"contextView"}},{"kind":"Field","name":{"kind":"Name","value":"function"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"logo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"AutomationRunItem"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"AutomateRun"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"automation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"functionRuns"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"AutomateFunctionRunItem"}}]}}]}}]} as unknown as DocumentNode; +export const OnUserProjectsUpdatedDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"subscription","name":{"kind":"Name","value":"OnUserProjectsUpdated"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"userProjectsUpdated"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"project"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"visibility"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}}]}}]}}]}}]} as unknown as DocumentNode; +export const ProjectUpdatedDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"subscription","name":{"kind":"Name","value":"ProjectUpdated"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"projectUpdated"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"project"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"visibility"}}]}}]}}]}}]} as unknown as DocumentNode; +export const SubscriptionDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"subscription","name":{"kind":"Name","value":"Subscription"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"target"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ViewerUpdateTrackingTarget"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"viewerUserActivityBroadcasted"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"target"},"value":{"kind":"Variable","name":{"kind":"Name","value":"target"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"userName"}},{"kind":"Field","name":{"kind":"Name","value":"userId"}},{"kind":"Field","name":{"kind":"Name","value":"sessionId"}},{"kind":"Field","name":{"kind":"Name","value":"user"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"avatar"}}]}},{"kind":"Field","name":{"kind":"Name","value":"status"}}]}}]}}]} as unknown as DocumentNode; +export const ProjectCommentsUpdatedDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"subscription","name":{"kind":"Name","value":"ProjectCommentsUpdated"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"target"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ViewerUpdateTrackingTarget"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"projectCommentsUpdated"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"target"},"value":{"kind":"Variable","name":{"kind":"Name","value":"target"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"comment"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"author"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"avatar"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"hasParent"}},{"kind":"Field","name":{"kind":"Name","value":"parent"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"type"}}]}}]}}]} as unknown as DocumentNode; \ No newline at end of file diff --git a/lib/common/generated/gql/index.ts b/lib/common/generated/gql/index.ts new file mode 100644 index 0000000..af78399 --- /dev/null +++ b/lib/common/generated/gql/index.ts @@ -0,0 +1 @@ +export * from "./gql"; \ No newline at end of file diff --git a/lib/common/helpers/hostAppSlug.ts b/lib/common/helpers/hostAppSlug.ts new file mode 100644 index 0000000..016f889 --- /dev/null +++ b/lib/common/helpers/hostAppSlug.ts @@ -0,0 +1,55 @@ +/** + * @param appname application name with its version, i.e. `Rhino 7`, `Revit 2024` + * @returns slug + */ +export function getSlugFromHostAppNameAndVersion(appname: string) { + if (!appname) { + return 'other' + } + + // delete space if any + appname = appname.toLowerCase().replace(/\s/g, '') + + // `NEW CONNECTOR CHECK` + const keywords = [ + 'dynamo', + 'revit', + 'autocad', + 'civil', + 'rhino', + 'grasshopper', + 'unity', + 'gsa', + 'microstation', + 'openroads', + 'openrail', + 'openbuildings', + 'etabs', + 'sap', + 'csibridge', + 'safe', + 'teklastructures', + 'dxf', + 'excel', + 'unreal', + 'powerbi', + 'blender', + 'qgis', + 'arcgis', + 'sketchup', + 'archicad', + 'topsolid', + 'python', + 'net', + 'navisworks', + 'advancesteel' + ] + + for (const keyword of keywords) { + if (appname.includes(keyword)) { + return keyword + } + } + + return appname +} diff --git a/lib/common/helpers/jsonSchema.ts b/lib/common/helpers/jsonSchema.ts new file mode 100644 index 0000000..e476256 --- /dev/null +++ b/lib/common/helpers/jsonSchema.ts @@ -0,0 +1,57 @@ +import type { JsonSchema } from '@jsonforms/core' +import type { MaybeNullOrUndefined, Optional } from '@speckle/shared' +import { cloneDeep, get, isObjectLike, omit } from 'lodash-es' + +export const formattedJsonFormSchema = ( + schema: MaybeNullOrUndefined> +): Optional => { + if (!isObjectLike(schema)) return undefined + if (!schema || !Object.values(schema).length) return undefined + + const finalizeSchema = (schema: Record) => + omit(schema, ['$schema', '$id']) as JsonSchema + + const isTypeObject = get(schema, 'type') === 'object' + if (isTypeObject) return finalizeSchema(schema) + + if (!('properties' in schema) || !isObjectLike(schema['properties'])) { + return undefined + } + + const finalSchema = finalizeSchema(schema) + if (!Object.values(finalSchema.properties || {}).length) return undefined + + return finalSchema +} + +export const formatJsonFormSchemaInputs = ( + inputs: MaybeNullOrUndefined>, + schema: MaybeNullOrUndefined, + options?: Partial<{ cleanRedacted: boolean }> +) => { + const { cleanRedacted } = options || {} + + if (!inputs || !isObjectLike(inputs) || !Object.keys(inputs).length) { + return schema?.type === 'object' ? {} : undefined + } + + const finalInputs = cloneDeep(inputs) + if (cleanRedacted && schema?.properties) { + Object.keys(inputs).forEach((key) => { + const def = schema.properties?.[key] + const isWriteOnly = !!get(def, 'writeOnly', false) + + if (isWriteOnly) { + delete finalInputs[key] + } + }) + } + + return finalInputs +} + +export function formatVersionParams( + params: MaybeNullOrUndefined> +) { + return formattedJsonFormSchema(params) || null +} diff --git a/lib/common/helpers/md5.ts b/lib/common/helpers/md5.ts new file mode 100644 index 0000000..10727f9 --- /dev/null +++ b/lib/common/helpers/md5.ts @@ -0,0 +1,4 @@ +import { md5 } from '@speckle/shared' + +export default md5 +export { md5 } diff --git a/lib/conversions/conversionResult.ts b/lib/conversions/conversionResult.ts new file mode 100644 index 0000000..230832f --- /dev/null +++ b/lib/conversions/conversionResult.ts @@ -0,0 +1,33 @@ +export interface ConversionResult { + /** + * 1 = success, 2 = info, 3 = warning, 4 = error + */ + status: 1 | 2 | 3 | 4 + /** + * For receive conversion reports, this is the id of the speckle object. For send, it's the host app object id. + */ + sourceId: string + /** + *For receive conversion reports, this is the type of the speckle object. For send, it's the host app object type. + */ + sourceType: string + /** + *For receive conversion reports, this is the id of the host app object. For send, it's the speckle object id. + */ + resultId: string + /** + *For receive conversion reports, this is the type of the host app object. For send, it's the speckle object type. + */ + resultType: string + /** + *The exception, if any. + */ + error?: { + message: string + stackTrace: string + } + /** + * This currently inherits from base + */ + speckle_type: string +} diff --git a/lib/core/composables/addByUrl.ts b/lib/core/composables/addByUrl.ts new file mode 100644 index 0000000..c9a6a35 --- /dev/null +++ b/lib/core/composables/addByUrl.ts @@ -0,0 +1,153 @@ +import type { DUIAccount } from '~/store/accounts' +import { useAccountStore } from '~/store/accounts' +import type { + ModelListModelItemFragment, + ProjectListProjectItemFragment, + VersionListItemFragment +} from '~/lib/common/generated/gql/graphql' +import { + projectAddByUrlQueryWithoutVersion, + projectAddByUrlQueryWithVersion +} from '~/lib/graphql/mutationsAndQueries' +import { omit } from 'lodash-es' +import { useDebounceFn } from '@vueuse/core' + +export function useAddByUrl() { + const accountStore = useAccountStore() + + /** + * Will store any ok results from an url parsing attempt. + */ + const urlParsedData = ref<{ + project: ProjectListProjectItemFragment + model: ModelListModelItemFragment + version?: VersionListItemFragment + account: DUIAccount + }>() + + /** + * Will only hold an error if the provided string is: + * - an invalid url + * - there is no account found for that server + * - there are no permissions to send to that stream + */ + const urlParseError = ref() + + const tryParseUrlInternal = async (url: string, type: 'sender' | 'receiver') => { + urlParsedData.value = undefined + + // try to parse url first, as if it fails we should return early. + try { + new URL(url) + } catch { + urlParseError.value = '' // we do not care random strings + return + } + + const parsedUrl = new URL(url) + const params = extractIds(parsedUrl.pathname) + + if (!params) { + urlParseError.value = 'Invalid url.' + return + } + + const acc = accountStore.accountByServerUrl(parsedUrl.origin) + if (!acc) { + urlParseError.value = 'No account found.' + return + } + + const { projectId, modelId, versionId } = params + const apollo = (acc as DUIAccount).client + + let project: ProjectListProjectItemFragment | undefined = undefined, + model: ModelListModelItemFragment | undefined = undefined, + version: VersionListItemFragment | undefined = undefined + try { + if (versionId) { + const res = await apollo.query({ + query: projectAddByUrlQueryWithVersion, + variables: { + projectId, + modelId, + versionId + } + }) + + project = omit(res.data.project, [ + 'model', + '' + ]) as ProjectListProjectItemFragment + model = omit(res.data.project.model, ['version']) as ModelListModelItemFragment + version = res.data.project.model.version as VersionListItemFragment + } else { + const res = await apollo.query({ + query: projectAddByUrlQueryWithoutVersion, + variables: { + projectId, + modelId + } + }) + + project = omit(res.data.project, [ + 'model', + '' + ]) as ProjectListProjectItemFragment + model = omit(res.data.project.model, ['version']) as ModelListModelItemFragment + //version = res.data.project.model.versions.items[0] as VersionListItemFragment + } + } catch { + urlParseError.value = 'Failed to retrieve project info.' + return + } + + if (project && model && acc) { + const errorMessage = + type === 'sender' + ? project.permissions.canPublish.message + : project.permissions.canLoad.message + + const hasAccess = + type === 'sender' + ? project.permissions.canPublish.authorized + : project.permissions.canLoad.authorized + + if (!hasAccess) { + urlParseError.value = errorMessage + return + } + + urlParsedData.value = { + project, + model, + version, + account: acc as DUIAccount + } + } + } + + /** + * Debounced function, call as much as you want. Will store any valid results in urlParsedData. + */ + const tryParseUrl = useDebounceFn(tryParseUrlInternal, 1000) + + const extractIds = (pathname: string) => { + // Regex to match the pattern in the pathname + const regex = /\/projects\/([^/]+)\/models\/([^@]+)(?:@([^/]+))?/ + const match = pathname.match(regex) + if (match) { + // Extract the projectId and modelId + const projectId = match[1] + const modelId = match[2] + // If versionId is not defined, default to 'latest' + const versionId = match[3] || undefined + return { projectId, modelId, versionId } + } else { + // Return null if the URL does not match the expected pattern + return undefined + } + } + + return { tryParseUrl, urlParsedData, urlParseError } +} diff --git a/lib/core/composables/desktopService.ts b/lib/core/composables/desktopService.ts new file mode 100644 index 0000000..4394768 --- /dev/null +++ b/lib/core/composables/desktopService.ts @@ -0,0 +1,16 @@ +export function useDesktopService() { + const pingDesktopService = async () => { + try { + const response = await fetch('http://localhost:29364/ping', { method: 'GET' }) + if (response.ok) { + return true + } + return false + } catch (error) { + console.warn('Failed to reach background service:', error) + return false + } + } + + return { pingDesktopService } +} diff --git a/lib/core/composables/jsonSchema.ts b/lib/core/composables/jsonSchema.ts new file mode 100644 index 0000000..3dce019 --- /dev/null +++ b/lib/core/composables/jsonSchema.ts @@ -0,0 +1,37 @@ +import type { JsonSchema } from '@jsonforms/core' +import type { JsonFormsChangeEvent } from '@jsonforms/vue' +import type { MaybeNullOrUndefined } from '@speckle/shared' +import { formatJsonFormSchemaInputs } from '~/lib/common/helpers/jsonSchema' + +export const hasJsonFormErrors = (event?: JsonFormsChangeEvent) => + (event?.errors?.length || 0) > 0 + +export const useJsonFormsChangeHandler = (params: { + schema: MaybeRef> +}) => { + const { schema } = params + const event = ref() + + const value = computed(() => + // eslint-disable-next-line @typescript-eslint/no-unsafe-argument + formatJsonFormSchemaInputs(event.value?.data, unref(schema)) + ) + const hasErrors = computed(() => + event.value ? hasJsonFormErrors(event.value) : false + ) + + const handler = (e: JsonFormsChangeEvent) => { + event.value = e + } + + const reset = () => { + event.value = undefined + } + + return { + value, + hasErrors, + handler, + reset + } +} diff --git a/lib/core/composables/mixpanel.ts b/lib/core/composables/mixpanel.ts new file mode 100644 index 0000000..33f180d --- /dev/null +++ b/lib/core/composables/mixpanel.ts @@ -0,0 +1,192 @@ +import md5 from '~/lib/common/helpers/md5' +import { useHostAppStore } from '~/store/hostApp' +import { useAccountStore } from '~/store/accounts' + +interface CustomProperties { + [key: string]: object | string | boolean | number | undefined | null +} + +// Cached email and server +const lastEmail: Ref = ref(undefined) +const lastServer: Ref = ref(undefined) + +/** + * Get Mixpanel functions + * In DUI3, quite likely to change distinct id of the track operation since we can trigger repetitive calls that belongs to different account. + * Also we have some operations that explicitly not belong to any account, i.e. first "Send" or "Load" click, + * with this case we use default account on manager to get "email" and "server" and cache them for later anonymous track. + * In each call we update "lastEmail" and "lastServer" for the following potential anonymous tracks. + */ +export function useMixpanel() { + const hostApp = useHostAppStore() + const { + public: { mixpanelApiHost, mixpanelTokenId } + } = useRuntimeConfig() + + /** + * Track event for mixpanel which do HTTP request to end point. + * @param eventName Event name. + * @param customProperties custom properties that will be attached to the properties of track event. + * @param accountId account id to track with id. It will populate hashed "distinct_id" from email and "server_id" from url. + * @param isAction whether event is action or not. + */ + async function trackEvent( + eventName: string, + customProperties: CustomProperties = {}, + accountId?: string, + isAction: boolean = true + ) { + const { activeAccount, accounts } = useAccountStore() + + if (accountId) { + const account = accounts.find((a) => a.accountInfo.id === accountId) + lastEmail.value = account?.accountInfo.userInfo.email + lastServer.value = account?.accountInfo.serverInfo.url + } else { + // do not set if they cached already + if (lastEmail.value === undefined || lastServer.value === undefined) { + lastEmail.value = activeAccount.accountInfo.userInfo.email + lastServer.value = activeAccount.accountInfo.serverInfo.url + } + } + + // TODO: enable it later somehow + // if (process.dev) { + // // Only track in production + // return + // } + + try { + if (!lastEmail.value || !lastServer.value) { + throw new Error('Email or server not found to track event.') + } + const hashedEmail = + '@' + md5(lastEmail.value.toLowerCase() as string).toUpperCase() + const hashedServer = md5( + new URL(lastServer.value).hostname.toLowerCase() as string + ).toUpperCase() + + // Get os info from userAgent text + // taken from original mixpanel implementation + // https://github.com/mixpanel/mixpanel-js/blob/master/examples/commonjs-browserify/bundle.js#L1576 + const userAgent = navigator.userAgent + let os = 'unknown' + if (/Windows/i.test(userAgent)) { + os = 'Windows' + } else if (/Mac/i.test(userAgent)) { + os = 'Mac OS X' + } + + // Merge base properties with custom ones + const properties = { + $os: os, + // eslint-disable-next-line camelcase + distinct_id: hashedEmail, + // eslint-disable-next-line camelcase + server_id: hashedServer, + token: mixpanelTokenId as string, + type: isAction ? 'action' : undefined, + hostApp: hostApp.hostAppName, + hostAppVersion: hostApp.hostAppVersion as string, + ui: 'dui3', // Not sure about this but we need to put something to distiguish some events, like "Send", "Receive", alternatively we can have "SendDUI3" not sure! + // eslint-disable-next-line camelcase + core_version: hostApp.connectorVersion, + email: lastEmail, + ...customProperties + } + + const eventData = { + event: eventName.toString(), + properties + } + + if (import.meta.dev) { + console.info('Mixpanel event', eventData) + } + + const response = await fetch( + `${mixpanelApiHost as string}/track?ip=1&_=${Date.now()}`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + }, + body: `data=${btoa(JSON.stringify(eventData))}` + } + ) + + if (!response.ok) { + throw new Error(`Analytics event failed: ${response.statusText}`) + } + } catch (error) { + // Handle error or logging + console.warn('Failed to track event in MixPanel:', error) + } + } + + async function addConnectorToProfile(email: string) { + try { + const hashedEmail = '@' + md5(email.toLowerCase() as string).toUpperCase() + + const eventData = { + // eslint-disable-next-line camelcase + $distinct_id: hashedEmail, + $token: mixpanelTokenId as string, + $union: { + Connectors: [hostApp.hostAppName] + } + } + + const response = await fetch( + `${mixpanelApiHost as string}/engage#profile-union`, + { + method: 'POST', + headers: { + accept: 'text/plain', + 'Content-Type': 'application/x-www-form-urlencoded' + }, + body: `data=${btoa(JSON.stringify(eventData))}` + } + ) + if (!response.ok) { + throw new Error(`Analytics event failed: ${response.statusText}`) + } + } catch (error) { + // Handle error or logging + console.warn('Failed to track event in MixPanel:', error) + } + } + + async function identifyProfile(email: string) { + try { + const hashedEmail = '@' + md5(email.toLowerCase() as string).toUpperCase() + + const eventData = { + // eslint-disable-next-line camelcase + $distinct_id: hashedEmail, + $token: mixpanelTokenId as string, + $set: { + Identified: true, + email + } + } + + const response = await fetch(`${mixpanelApiHost as string}/engage#profile-set`, { + method: 'POST', + headers: { + accept: 'text/plain', + 'Content-Type': 'application/x-www-form-urlencoded' + }, + body: `data=${btoa(JSON.stringify(eventData))}` + }) + if (!response.ok) { + throw new Error(`Analytics event failed: ${response.statusText}`) + } + } catch (error) { + // Handle error or logging + console.warn('Failed to track event in MixPanel:', error) + } + } + + return { trackEvent, addConnectorToProfile, identifyProfile } +} diff --git a/lib/core/composables/updateConnector.ts b/lib/core/composables/updateConnector.ts new file mode 100644 index 0000000..767b9b7 --- /dev/null +++ b/lib/core/composables/updateConnector.ts @@ -0,0 +1,82 @@ +import type { ToastNotification } from '@speckle/ui-components' +import { ToastNotificationType } from '@speckle/ui-components' +import { useConfigStore } from '~/store/config' +import { useHostAppStore } from '~/store/hostApp' + +type Versions = { + Versions: Version[] +} + +export type Version = { + Number: string + Url: string + Os: number + Architecture: number + Date: string + Prerelease: boolean +} + +export function useUpdateConnector() { + const hostApp = useHostAppStore() + const config = useConfigStore() + const { $openUrl } = useNuxtApp() + + const versions = ref([]) + const latestAvailableVersion = ref(null) + + const isUpToDate = computed( + () => hostApp.connectorVersion === latestAvailableVersion.value?.Number + ) + + async function checkUpdate() { + try { + await getVersions() + if (!isUpToDate.value && !config.isDevMode) { + const notification: ToastNotification = { + type: ToastNotificationType.Success, + title: `New connector update available`, + description: latestAvailableVersion.value?.Number.replace('+0', ''), // TODO: currently versions end with "+0" Alan will have a look + cta: { + title: `Update`, + onClick: () => downloadLatestVersion() + } + } + hostApp.setNotification(notification) + } + } catch (e) { + console.error(e) + const notification: ToastNotification = { + type: ToastNotificationType.Danger, + title: `No version found to check update!` + } + hostApp.setNotification(notification) + } + } + + async function getVersions() { + const response = await fetch( + `https://releases.speckle.dev/manager2/feeds/${hostApp.hostAppName?.toLowerCase()}-v3.json`, + { + method: 'GET' + } + ) + + if (!response.ok) { + throw new Error('Failed to fetch versions') + } + + const data = (await response.json()) as unknown as Versions + const sortedVersions = data.Versions.sort(function (a: Version, b: Version) { + return new Date(b.Date).getTime() - new Date(a.Date).getTime() + }) + versions.value = sortedVersions + latestAvailableVersion.value = sortedVersions[0] + hostApp.setLatestAvailableVersion(sortedVersions[0]) + } + + function downloadLatestVersion() { + $openUrl(latestAvailableVersion.value?.Url as string) + } + + return { checkUpdate } +} diff --git a/lib/core/composables/zapier.ts b/lib/core/composables/zapier.ts new file mode 100644 index 0000000..5e3a68c --- /dev/null +++ b/lib/core/composables/zapier.ts @@ -0,0 +1,21 @@ +export function useZapier() { + const sendWebhook = async ( + webhookUrl: string, + data: Record + ) => { + const response = await fetch(webhookUrl, { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + mode: 'no-cors', + body: JSON.stringify(data) + }) + + return response + } + + return { + sendWebhook + } +} diff --git a/lib/form/composables/jsonRenderers.ts b/lib/form/composables/jsonRenderers.ts new file mode 100644 index 0000000..09eb8bc --- /dev/null +++ b/lib/form/composables/jsonRenderers.ts @@ -0,0 +1,48 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import type { useJsonFormsControl } from '@jsonforms/vue' +import { cloneDeep, merge } from 'lodash-es' +import type { RuleExpression } from 'vee-validate' + +export function useJsonRendererBaseSetup< + I extends ReturnType +>( + input: I, + options?: { + onChangeValueConverter?: (val: any) => any + } +) { + const control = input.control as I['control'] + const fieldName = computed(() => `/${control.value.path}`) + const { onChangeValueConverter } = options || {} + + const validator: RuleExpression = () => { + if (control.value.errors) { + return `Value ${control.value.errors}` + } + + return true + } + + const appliedOptions = computed( + () => + merge( + {}, + cloneDeep(control.value.config), + cloneDeep(control.value.uischema.options) + ) as Record + ) + + return { + control, + handleChange: (value: any) => { + input.handleChange( + control.value.path, + onChangeValueConverter ? onChangeValueConverter(value) : value + ) + }, + validator, + appliedOptions, + fieldName, + validateOnValueUpdate: false + } +} diff --git a/lib/form/jsonRenderers.ts b/lib/form/jsonRenderers.ts new file mode 100644 index 0000000..4783d60 --- /dev/null +++ b/lib/form/jsonRenderers.ts @@ -0,0 +1,91 @@ +import type { JsonFormsRendererRegistryEntry } from '@jsonforms/core' +import { + and, + isBooleanControl, + isDateControl, + isDateTimeControl, + isEnumControl, + isIntegerControl, + isMultiLineControl, + isNumberControl, + isOneOfEnumControl, + isStringControl, + isTimeControl, + rankWith +} from '@jsonforms/core' +import { vanillaRenderers } from '@jsonforms/vue-vanilla' +import BooleanControlRenderer from '~/components/form/json/BooleanControlRenderer.vue' +import DateControlRenderer from '~/components/form/json/DateControlRenderer.vue' +import DateTimeControlRenderer from '~/components/form/json/DateTimeControlRenderer.vue' +import EnumControlRenderer from '~/components/form/json/EnumControlRenderer.vue' +import EnumOneOfControlRenderer from '~/components/form/json/EnumOneOfControlRenderer.vue' +import IntegerControlRenderer from '~/components/form/json/IntegerControlRenderer.vue' +import MultiStringControlRenderer from '~/components/form/json/MultiStringControlRenderer.vue' +import NumberControlRenderer from '~/components/form/json/NumberControlRenderer.vue' +import StringControlRenderer from '~/components/form/json/StringControlRenderer.vue' +import TimeControlRenderer from '~/components/form/json/TimeControlRenderer.vue' + +export const stringControlRenderer: JsonFormsRendererRegistryEntry = { + renderer: StringControlRenderer as unknown, + tester: rankWith(3, isStringControl) +} + +export const booleanControlRenderer: JsonFormsRendererRegistryEntry = { + renderer: BooleanControlRenderer as unknown, + tester: rankWith(3, isBooleanControl) +} + +export const enumControlRenderer: JsonFormsRendererRegistryEntry = { + renderer: EnumControlRenderer as unknown, + tester: rankWith(4, isEnumControl) +} + +export const enumOneOfControlRenderer: JsonFormsRendererRegistryEntry = { + renderer: EnumOneOfControlRenderer as unknown, + tester: rankWith(4, isOneOfEnumControl) +} + +export const integerControlRenderer: JsonFormsRendererRegistryEntry = { + renderer: IntegerControlRenderer as unknown, + tester: rankWith(3, isIntegerControl) +} + +export const multiStringControlRenderer: JsonFormsRendererRegistryEntry = { + renderer: MultiStringControlRenderer as unknown, + tester: rankWith(4, and(isStringControl, isMultiLineControl)) +} + +export const numberControlRenderer: JsonFormsRendererRegistryEntry = { + renderer: NumberControlRenderer as unknown, + tester: rankWith(3, isNumberControl) +} + +export const dateControlRenderer: JsonFormsRendererRegistryEntry = { + renderer: DateControlRenderer as unknown, + tester: rankWith(4, isDateControl) +} + +export const dateTimeControlRenderer: JsonFormsRendererRegistryEntry = { + renderer: DateTimeControlRenderer as unknown, + tester: rankWith(4, isDateTimeControl) +} + +export const timeControlRenderer: JsonFormsRendererRegistryEntry = { + renderer: TimeControlRenderer as unknown, + tester: rankWith(4, isTimeControl) +} + +export const renderers: JsonFormsRendererRegistryEntry[] = markRaw([ + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + ...vanillaRenderers, + stringControlRenderer, + booleanControlRenderer, + enumControlRenderer, + enumOneOfControlRenderer, + integerControlRenderer, + multiStringControlRenderer, + numberControlRenderer, + dateControlRenderer, + dateTimeControlRenderer, + timeControlRenderer +]) diff --git a/lib/form/select/types.ts b/lib/form/select/types.ts new file mode 100644 index 0000000..593868c --- /dev/null +++ b/lib/form/select/types.ts @@ -0,0 +1,9 @@ +export type ProjectsSelectItemType = { id?: string; name: string } +export type ModelsSelectItemType = { id?: string; name: string } +export type VersionsSelectItemType = { + id: string + message: string + createdAt: Date + referencedObject: string + sourceApplication: string +} diff --git a/lib/graphql/mutationsAndQueries.ts b/lib/graphql/mutationsAndQueries.ts new file mode 100644 index 0000000..17530a3 --- /dev/null +++ b/lib/graphql/mutationsAndQueries.ts @@ -0,0 +1,610 @@ +import { graphql } from '~~/lib/common/generated/gql' + +export const setActiveWorkspaceMutation = graphql(` + mutation SetActiveWorkspaceMutation($slug: String) { + activeUserMutations { + setActiveWorkspace(slug: $slug) + } + } +`) + +export const createVersionMutation = graphql(` + mutation VersionMutations($input: CreateVersionInput!) { + versionMutations { + create(input: $input) { + id + } + } + } +`) + +export const markReceivedVersionMutation = graphql(` + mutation MarkReceivedVersion($input: MarkReceivedVersionInput!) { + versionMutations { + markReceived(input: $input) + } + } +`) + +export const createModelMutation = graphql(` + mutation CreateModel($input: CreateModelInput!) { + modelMutations { + create(input: $input) { + ...ModelListModelItem + } + } + } +`) + +export const createProjectMutation = graphql(` + mutation CreateProject($input: ProjectCreateInput) { + projectMutations { + create(input: $input) { + ...ProjectListProjectItem + } + } + } +`) + +export const createProjectInWorkspaceMutation = graphql(` + mutation CreateProjectInWorkspace($input: WorkspaceProjectCreateInput!) { + workspaceMutations { + projects { + create(input: $input) { + ...ProjectListProjectItem + } + } + } + } +`) + +export const requestProjectAccess = graphql(` + mutation StreamAccessRequestCreate($input: String!) { + streamAccessRequestCreate(streamId: $input) { + id + } + } +`) + +export const workspaceListFragment = graphql(` + fragment WorkspaceListWorkspaceItem on Workspace { + id + slug + name + description + createdAt + updatedAt + logo + role + readOnly + } +`) + +export const automateFunctionsListFragment = graphql(` + fragment AutomateFunctionItem on AutomateFunction { + name + isFeatured + id + creator { + name + } + releases { + items { + inputSchema + } + } + } +`) + +export const createAutomationMutation = graphql(` + mutation CreateAutomation($projectId: ID!, $input: ProjectAutomationCreateInput!) { + projectMutations { + automationMutations(projectId: $projectId) { + create(input: $input) { + id + name + } + } + } + } +`) + +export const automateFunctionRunItemFragment = graphql(` + fragment AutomateFunctionRunItem on AutomateFunctionRun { + id + status + statusMessage + results + contextView + function { + id + name + logo + } + } +`) + +export const automationRunItemFragment = graphql(` + fragment AutomationRunItem on AutomateRun { + id + status + automation { + id + name + } + functionRuns { + ...AutomateFunctionRunItem + } + } +`) + +export const automateStatusQuery = graphql(` + query AutomationStatus($projectId: String!, $modelId: String!) { + project(id: $projectId) { + model(id: $modelId) { + automationsStatus { + id + status + automationRuns { + ...AutomationRunItem + } + } + } + } + } +`) + +export const workspacesListQuery = graphql(` + query WorkspaceListQuery( + $limit: Int! + $filter: UserWorkspacesFilter + $cursor: String + ) { + activeUser { + id + workspaces(limit: $limit, filter: $filter, cursor: $cursor) { + totalCount + cursor + items { + ...WorkspaceListWorkspaceItem + } + } + } + } +`) + +export const canCreatePersonalProjectQuery = graphql(` + query CanCreatePersonalProject { + activeUser { + permissions { + canCreatePersonalProject { + authorized + code + message + payload + } + } + } + } +`) + +export const canCreateProjectInWorkspaceQuery = graphql(` + query CanCreateProjectInWorkspace($workspaceId: String!) { + workspace(id: $workspaceId) { + permissions { + canCreateProject { + authorized + code + message + payload + } + } + } + } +`) + +export const canCreateModelInProjectQuery = graphql(` + query CanCreateModelInProject($projectId: String!) { + project(id: $projectId) { + permissions { + canCreateModel { + authorized + code + message + } + } + } + } +`) + +export const activeWorkspaceQuery = graphql(` + query ActiveWorkspace { + activeUser { + activeWorkspace { + ...WorkspaceListWorkspaceItem + } + } + } +`) + +export const projectListFragment = graphql(` + fragment ProjectListProjectItem on Project { + id + name + role + updatedAt + workspaceId + workspace { + id + name + slug + role + } + models { + totalCount + } + permissions { + canLoad { + authorized + code + message + } + canPublish { + authorized + code + message + } + } + } +`) + +export const projectsListQuery = graphql(` + query ProjectListQuery($limit: Int!, $filter: UserProjectsFilter, $cursor: String) { + activeUser { + id + projects(limit: $limit, filter: $filter, cursor: $cursor) { + totalCount + cursor + items { + ...ProjectListProjectItem + } + } + } + } +`) + +export const modelListFragment = graphql(` + fragment ModelListModelItem on Model { + displayName + name + id + previewUrl + updatedAt + versions(limit: 1) { + totalCount + items { + ...VersionListItem + } + } + } +`) + +export const projectModelsQuery = graphql(` + query ProjectModels( + $projectId: String! + $cursor: String + $limit: Int! + $filter: ProjectModelsFilter + ) { + project(id: $projectId) { + id + models(cursor: $cursor, limit: $limit, filter: $filter) { + totalCount + cursor + items { + ...ModelListModelItem + } + } + } + } +`) + +export const versionListFragment = graphql(` + fragment VersionListItem on Version { + id + referencedObject + message + sourceApplication + authorUser { + avatar + id + name + } + createdAt + previewUrl + } +`) + +export const modelVersionsQuery = graphql(` + query ModelVersions( + $modelId: String! + $projectId: String! + $limit: Int! + $cursor: String + $filter: ModelVersionsFilter + ) { + project(id: $projectId) { + id + model(id: $modelId) { + id + versions(limit: $limit, cursor: $cursor, filter: $filter) { + totalCount + cursor + items { + ...VersionListItem + } + } + } + } + } +`) + +export const objectQuery = graphql(` + query ObjectQuery($projectId: String!, $objectId: String!) { + project(id: $projectId) { + object(id: $objectId) { + id + data + } + } + } +`) + +export const projectAddByUrlQueryWithVersion = graphql(` + query ProjectAddByUrlQueryWithVersion( + $projectId: String! + $modelId: String! + $versionId: String! + ) { + project(id: $projectId) { + ...ProjectListProjectItem + model(id: $modelId) { + ...ModelListModelItem + version(id: $versionId) { + ...VersionListItem + } + } + } + } +`) + +export const projectAddByUrlQueryWithoutVersion = graphql(` + query ProjectAddByUrlQueryWithoutVersion($projectId: String!, $modelId: String!) { + project(id: $projectId) { + ...ProjectListProjectItem + model(id: $modelId) { + ...ModelListModelItem + } + } + } +`) + +export const projectDetailsQuery = graphql(` + query ProjectDetails($projectId: String!) { + project(id: $projectId) { + id + role + name + workspace { + name + slug + readOnly + role + } + team { + user { + avatar + id + name + } + } + visibility + permissions { + canLoad { + authorized + code + message + } + canPublish { + authorized + code + message + } + } + } + } +`) + +export const automateFunctionsQuery = graphql(` + query AutomateFunctions { + automateFunctions { + items { + ...AutomateFunctionItem + } + } + } +`) + +export const modelDetailsQuery = graphql(` + query ModelDetails($modelId: String!, $projectId: String!) { + project(id: $projectId) { + id + name + model(id: $modelId) { + id + displayName + name + versions { + totalCount + items { + id + } + } + author { + id + name + avatar + } + } + } + } +`) + +export const versionDetailsQuery = graphql(` + query VersionDetails($projectId: String!, $versionId: String!, $modelId: String!) { + project(id: $projectId) { + id + name + model(id: $modelId) { + id + name + versions(limit: 1) { + items { + id + createdAt + sourceApplication + authorUser { + id + } + } + } + version(id: $versionId) { + id + referencedObject + message + sourceApplication + createdAt + previewUrl + } + } + } + } +`) + +export const serverInfoQuery = graphql(` + query ServerInfo { + serverInfo { + workspaces { + workspacesEnabled + } + } + } +`) + +export const versionCreatedSubscription = graphql(` + subscription OnProjectVersionsUpdate($projectId: String!) { + projectVersionsUpdated(id: $projectId) { + id + type + version { + id + createdAt + message + sourceApplication + authorUser { + id + name + avatar + } + model { + id + name + displayName + } + } + } + } +`) + +export const automateRunsSubscription = graphql(` + subscription ProjectTriggeredAutomationsStatusUpdated($projectId: String!) { + projectTriggeredAutomationsStatusUpdated(projectId: $projectId) { + type + version { + id + } + model { + id + } + project { + id + } + run { + ...AutomationRunItem + } + } + } +`) + +export const userProjectsUpdatedSubscription = graphql(` + subscription OnUserProjectsUpdated { + userProjectsUpdated { + id + project { + id + visibility + team { + id + role + } + } + } + } +`) + +export const projectUpdatedSubscription = graphql(` + subscription ProjectUpdated($projectId: String!) { + projectUpdated(id: $projectId) { + id + project { + visibility + } + } + } +`) + +export const modelViewingSubscription = graphql(` + subscription Subscription($target: ViewerUpdateTrackingTarget!) { + viewerUserActivityBroadcasted(target: $target) { + userName + userId + sessionId + user { + name + id + avatar + } + status + } + } +`) + +export const modelCommentCreatedSubscription = graphql(` + subscription ProjectCommentsUpdated($target: ViewerUpdateTrackingTarget!) { + projectCommentsUpdated(target: $target) { + comment { + author { + avatar + id + name + } + id + hasParent + parent { + id + } + } + type + } + } +`) diff --git a/lib/models/card.ts b/lib/models/card.ts new file mode 100644 index 0000000..66c22b9 --- /dev/null +++ b/lib/models/card.ts @@ -0,0 +1,54 @@ +import crs from 'crypto-random-string' +import type { AutomationRunItemFragment } from 'lib/common/generated/gql/graphql' +import type { ConversionResult } from 'lib/conversions/conversionResult' +import type { CardSetting } from 'lib/models/card/setting' +import type { IDiscriminatedObject } from '~~/lib/bindings/definitions/common' +import { DiscriminatedObject } from '~~/lib/bindings/definitions/common' + +export interface IModelCard extends IDiscriminatedObject { + modelCardId: string + modelId: string + projectId: string + workspaceId?: string + workspaceSlug?: string + accountId: string + serverUrl: string + expired: boolean + progress?: ModelCardProgress + settings?: CardSetting[] + error?: { errorMessage: string; dismissible: boolean } + report?: ConversionResult[] + automationRuns?: AutomationRunItemFragment[] +} + +export class ModelCard extends DiscriminatedObject implements IModelCard { + modelCardId: string + modelId!: string + projectId!: string + workspaceId?: string + workspaceSlug?: string + accountId!: string + serverUrl!: string + expired: boolean + progress: ModelCardProgress | undefined + settings: CardSetting[] | undefined + + constructor(typeDiscriminator: string) { + super(typeDiscriminator) + this.modelCardId = crs({ length: 20 }) + this.expired = false + } +} + +export interface IModelCardSharedEvents { + setModelError: (args: { modelCardId: string; error: string }) => void + setModelProgress: (args: { + modelCardId: string + progress?: ModelCardProgress + }) => void +} + +export type ModelCardProgress = { + status: string + progress?: number +} diff --git a/lib/models/card/notification.ts b/lib/models/card/notification.ts new file mode 100644 index 0000000..2d716b4 --- /dev/null +++ b/lib/models/card/notification.ts @@ -0,0 +1,18 @@ +import type { ConversionResult } from 'lib/conversions/conversionResult' + +export type ModelCardNotification = { + modelCardId: string + text: string + level: 'info' | 'danger' | 'warning' | 'success' + cta?: { + name: string + action: () => void + } + /** + * If set, will display a view report button next to cta + */ + report?: ConversionResult[] + // TODO figure out re report button + dismissible: boolean + timeout?: number +} diff --git a/lib/models/card/receiver.ts b/lib/models/card/receiver.ts new file mode 100644 index 0000000..2df09d6 --- /dev/null +++ b/lib/models/card/receiver.ts @@ -0,0 +1,37 @@ +import type { IModelCard } from '~~/lib/models/card' +import { ModelCard } from '~~/lib/models/card' + +export interface IReceiverModelCard extends IModelCard { + projectName: string + modelName: string + selectedVersionId: string + selectedVersionSourceApp: string + selectedVersionUserId: string + latestVersionId?: string + latestVersionSourceApp?: string + latestVersionUserId?: string + latestVersionCreatedAt?: string + hasDismissedUpdateWarning: boolean + /** Keeps track whether the user intentionally selected an older version to receive when creating the model card. */ + hasSelectedOldVersion: boolean + bakedObjectIds?: string[] + displayReceiveComplete: boolean +} + +export class ReceiverModelCard extends ModelCard implements IReceiverModelCard { + projectName!: string + modelName!: string + selectedVersionId!: string + selectedVersionSourceApp!: string + selectedVersionUserId!: string + latestVersionId!: string + latestVersionSourceApp!: string + latestVersionUserId!: string + hasDismissedUpdateWarning!: boolean + hasSelectedOldVersion!: boolean + displayReceiveComplete!: boolean + constructor() { + super('ReceiverModelCard') + this.displayReceiveComplete = false + } +} diff --git a/lib/models/card/send.ts b/lib/models/card/send.ts new file mode 100644 index 0000000..4ebfe3f --- /dev/null +++ b/lib/models/card/send.ts @@ -0,0 +1,63 @@ +import type { IDiscriminatedObject } from '~~/lib/bindings/definitions/common' +import type { IModelCard } from '~~/lib/models/card' +import { ModelCard } from '~~/lib/models/card' + +export interface ISenderModelCard extends IModelCard { + sendFilter?: ISendFilter + sending?: boolean + latestCreatedVersionId?: string +} + +export interface SendFilterObjectIdentifier { + uniqueId: string + elementId: string + categoryId: string +} + +export interface ISendFilter extends IDiscriminatedObject { + id: string + type: string + name: string + summary: string + isDefault: boolean + expired?: boolean + idMap?: Record + selectedObjectIds: string[] +} + +export interface IDirectSelectionSendFilter extends ISendFilter {} + +export interface RevitViewsSendFilter extends ISendFilter { + selectedView: string + availableViews: string[] +} + +export type ISendFilterSelectItem = { + name: string + id: string +} + +export type CategoriesData = { + name: string + id: string +} + +export interface RevitCategoriesSendFilter extends ISendFilter { + selectedCategories: string[] + availableCategories: CategoriesData[] +} + +export interface SendFilterSelect extends ISendFilter { + isMultiSelectable: boolean + selectedItems: ISendFilterSelectItem[] + items: ISendFilterSelectItem[] +} + +export class SenderModelCard extends ModelCard implements ISenderModelCard { + sendFilter?: ISendFilter | undefined + sending?: boolean | undefined + + constructor() { + super('SenderModelCard') + } +} diff --git a/lib/models/card/setting.ts b/lib/models/card/setting.ts new file mode 100644 index 0000000..d90853c --- /dev/null +++ b/lib/models/card/setting.ts @@ -0,0 +1,11 @@ +import type { IDiscriminatedObject } from '~/lib/bindings/definitions/common' + +export interface CardSetting extends IDiscriminatedObject { + id: string + type: string + title: string + value: CardSettingValue + enum?: string[] +} + +export type CardSettingValue = string | number | boolean diff --git a/lib/validation.ts b/lib/validation.ts new file mode 100644 index 0000000..491b4d4 --- /dev/null +++ b/lib/validation.ts @@ -0,0 +1,44 @@ +import { ValidationHelpers } from '@speckle/ui-components' +import type { GenericValidateFunction } from 'vee-validate' + +export const isEmail = ValidationHelpers.isEmail + +export const isOneOrMultipleEmails = ValidationHelpers.isOneOrMultipleEmails + +export const isRequired = ValidationHelpers.isRequired + +export const isSameAs = ValidationHelpers.isSameAs + +export const isStringOfLength = ValidationHelpers.isStringOfLength + +export const stringContains = ValidationHelpers.stringContains + +export const isUrl = ValidationHelpers.isUrl + +export const isItemSelected = ValidationHelpers.isItemSelected + +const isValidModelName: GenericValidateFunction = (name) => { + name = name.trim() + if ( + name.startsWith('/') || + name.endsWith('/') || + name.startsWith('#') || + name.startsWith('$') || + name.indexOf('//') !== -1 || + name.indexOf(',') !== -1 + ) + return 'Value should not start with "#", "$", start or end with "/", have multiple slashes next to each other or contain commas' + + if (['globals', 'main'].includes(name)) + return `'main' and 'globals' are reserved names` + + return true +} + +export function useModelNameValidationRules() { + return computed(() => [ + isRequired, + isStringOfLength({ maxLength: 512 }), + isValidModelName + ]) +} diff --git a/nuxt.config.ts b/nuxt.config.ts new file mode 100644 index 0000000..6a45ba3 --- /dev/null +++ b/nuxt.config.ts @@ -0,0 +1,91 @@ +import legacy from '@vitejs/plugin-legacy' + +// https://nuxt.com/docs/api/configuration/nuxt-config +export default defineNuxtConfig({ + typescript: { + shim: false, + strict: true + }, + modules: [ + '@nuxt/eslint', + '@nuxtjs/tailwindcss', + '@speckle/ui-components-nuxt', + '@pinia/nuxt' + ], + alias: { + // Rewriting all lodash calls to lodash-es for proper tree-shaking & chunk splitting + // lodash: 'lodash-es' + }, + + // pinia: { + // autoImports: ['defineStore', 'storeToRefs'] + // }, + runtimeConfig: { + public: { + mixpanelApiHost: 'UNDEFINED', + mixpanelTokenId: 'UNDEFINED', + speckleAccountId: process.env.SPECKLE_ACCOUNT_ID, + speckleToken: process.env.SPECKLE_TOKEN, + speckleUserId: process.env.SPECKLE_USER_ID, + speckleUrl: process.env.SPECKLE_URL, + speckleSampleProjectId: process.env.SPECKLE_SAMPLE_PROJECT_ID, + speckleSampleModelId: process.env.SPECKLE_SAMPLE_MODEL_ID + } + }, + vite: { + resolve: { + alias: [{ find: /^lodash(?!(-es|\/fp|\.))/, replacement: 'lodash-es' }] + }, + + build: { + // older chrome version for CEF 65 support. all identifiers except the chrome one are default ones. + target: ['es2020', 'edge88', 'firefox78', 'chrome65', 'safari14'], + // optionally disable minification for debugging + minify: false + }, + plugins: [ + // again - only for CEF 65 + legacy({ + renderLegacyChunks: false, + // only adding the specific polyfills we need to reduce bundle size + modernPolyfills: ['es.global-this', 'es/object', 'es/array'] + }) + ] + }, + ssr: false, + build: { + transpile: [ + /^@apollo\/client/, + 'ts-invariant/process', + '@vue/apollo-composable', + '@headlessui/vue', + /^@heroicons\/vue/, + '@vueuse/core', + '@vueuse/shared', + '@speckle/ui-components' + ] + }, + hooks: { + 'build:manifest': (manifest) => { + // kinda hacky, vite polyfills are incorrectly being loaded last so we have to move them to appear first in the object. + // we can't replace `manifest` entirely, cause then we're only mutating a local variable, not the actual manifest + // which is why we have to mutate the reference. + // since ES2015 object string property order is more or less guaranteed - the order is chronological + const polyfillKey = 'vite/legacy-polyfills' + const polyfillEntry = manifest[polyfillKey] + if (!polyfillEntry) return + + const oldManifest = { ...manifest } + delete oldManifest[polyfillKey] + + for (const key in manifest) { + delete manifest[key] + } + + manifest[polyfillKey] = polyfillEntry + for (const key in oldManifest) { + manifest[key] = oldManifest[key] + } + } + } +}) diff --git a/package.json b/package.json new file mode 100644 index 0000000..ac8ce57 --- /dev/null +++ b/package.json @@ -0,0 +1,95 @@ +{ + "name": "speckle-connectors-dui", + "description": "Speckle desktop UI embedded in connectors. Built w/ Vue 3 & Nuxt 3", + "version": "0.0.1", + "private": true, + "engines": { + "node": "^22.14.0" + }, + "scripts": { + "build": "nuxt build", + "dev:nuxt": "nuxt dev", + "dev": "concurrently \"nuxt dev\" \"yarn gqlgen:watch\"", + "generate": "nuxt generate", + "preview": "nuxt preview", + "postinstall": "nuxt prepare", + "lint:js": "eslint .", + "lint:tsc": "vue-tsc --noEmit", + "lint:prettier": "prettier --config ../../.prettierrc --ignore-path ../../.prettierignore --check .", + "lint:css": "stylelint \"**/*.{css,vue}\"", + "lint": "yarn lint:js && yarn lint:tsc && yarn lint:prettier && yarn lint:css", + "lint:ci": "yarn lint:tsc && yarn lint:css", + "gqlgen": "graphql-codegen", + "gqlgen:watch": "graphql-codegen --watch" + }, + "dependencies": { + "@apollo/client": "^3.7.14", + "@headlessui/vue": "^1.7.13", + "@heroicons/vue": "^2.0.12", + "@jsonforms/core": "3.1.0", + "@jsonforms/vue": "3.1.0", + "@jsonforms/vue-vanilla": "3.1.0", + "@pinia/nuxt": "^0.4.11", + "@speckle/objectloader": "^2.24.0", + "@speckle/objectsender": "^2.24.0", + "@speckle/shared": "^2.24.0", + "@speckle/tailwind-theme": "2.24.1-alpha.0", + "@speckle/ui-components": "^2.24.0", + "@speckle/ui-components-nuxt": "^2.24.0", + "@vue/apollo-composable": "^4.0.0-beta.5", + "@vueuse/core": "^9.13.0", + "apollo-upload-client": "^17.0.0", + "crypto-random-string": "^5.0.0", + "dayjs": "^1.11.10", + "dotenv": "^16.3.1", + "graphql": "^16.6.0", + "graphql-tag": "^2.12.6", + "lodash-es": "^4.17.21", + "nanoevents": "^8.0.0", + "pinia": "^2.1.4", + "portal-vue": "^3.0.0", + "subscriptions-transport-ws": "^0.11.0", + "vee-validate": "4.7.0", + "vue-tippy": "^6.2.0" + }, + "devDependencies": { + "@graphql-codegen/cli": "^5.0.5", + "@graphql-codegen/client-preset": "^4.3.0", + "@nuxt/eslint": "^0.3.13", + "@nuxtjs/tailwindcss": "^6.14.0", + "@parcel/watcher": "^2.5.1", + "@types/apollo-upload-client": "^17.0.1", + "@types/eslint": "^8.56.10", + "@types/lodash-es": "^4.17.6", + "@types/node": "^18", + "@typescript-eslint/eslint-plugin": "^8.20.0", + "@typescript-eslint/parser": "^8.20.0", + "@vitejs/plugin-legacy": "^4.0.3", + "@vue/devtools": "^6.5.0", + "autoprefixer": "^10.4.14", + "concurrently": "^7.5.0", + "eslint": "^9.20.1", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-vuejs-accessibility": "^2.3.0", + "nuxt": "^3.17.3", + "postcss": "^8.5.3", + "postcss-custom-properties": "^14.0.4", + "postcss-html": "^1.8.0", + "postcss-nesting": "^13.0.1", + "prettier": "^2.8.7", + "stylelint": "^15.10.1", + "stylelint-config-prettier": "^9.0.3", + "stylelint-config-recommended-vue": "^1.4.0", + "stylelint-config-standard": "^26.0.0", + "tailwindcss": "^3.4.17", + "type-fest": "^3.5.1", + "typescript": "^5.7.3", + "typescript-eslint": "^8.20.0", + "vue-tsc": "^2.2.2" + }, + "resolutions": { + "core-js": "3.22.4", + "core-js-compat/semver": "^7.5.4" + }, + "packageManager": "yarn@4.9.1" +} diff --git a/pages/index.vue b/pages/index.vue new file mode 100644 index 0000000..b7db1fc --- /dev/null +++ b/pages/index.vue @@ -0,0 +1,211 @@ + + diff --git a/pages/test.vue b/pages/test.vue new file mode 100644 index 0000000..0a913c2 --- /dev/null +++ b/pages/test.vue @@ -0,0 +1,245 @@ + + + diff --git a/plugins/00.bindings.ts b/plugins/00.bindings.ts new file mode 100644 index 0000000..b8b61b3 --- /dev/null +++ b/plugins/00.bindings.ts @@ -0,0 +1,147 @@ +import type { IRawBridge } from '~/lib/bridge/definitions' +import { GenericBridge } from '~/lib/bridge/generic-v2' +import { SketchupBridge } from '~/lib/bridge/sketchup' + +import type { IBasicConnectorBinding } from '~/lib/bindings/definitions/IBasicConnectorBinding' +import type { IAccountBinding } from '~/lib/bindings/definitions/IAccountBinding' +import { IAccountBindingKey } from '~/lib/bindings/definitions/IAccountBinding' + +import type { ITestBinding } from '~/lib/bindings/definitions/ITestBinding' +import { ITestBindingKey } from '~/lib/bindings/definitions/ITestBinding' + +import type { IConfigBinding } from '~/lib/bindings/definitions/IConfigBinding' +import { IConfigBindingKey } from '~/lib/bindings/definitions/IConfigBinding' + +import { IBasicConnectorBindingKey } from '~/lib/bindings/definitions/IBasicConnectorBinding' + +import type { ISendBinding } from '~/lib/bindings/definitions/ISendBinding' +import { ISendBindingKey } from '~/lib/bindings/definitions/ISendBinding' +import type { IReceiveBinding } from '~/lib/bindings/definitions/IReceiveBinding' +import { IReceiveBindingKey } from '~/lib/bindings/definitions/IReceiveBinding' + +import type { ISelectionBinding } from '~/lib/bindings/definitions/ISelectionBinding' +import { ISelectionBindingKey } from '~/lib/bindings/definitions/ISelectionBinding' +import type { ITopLevelExpectionHandlerBinding } from '~/lib/bindings/definitions/ITopLevelExceptionHandlerBinding' +import { ITopLevelExpectionHandlerBindingKey } from '~/lib/bindings/definitions/ITopLevelExceptionHandlerBinding' + +// Makes TS happy +declare let globalThis: Record & { + CefSharp?: { BindObjectAsync: (name: string) => Promise } + chrome?: { webview: { hostObjects: Record } } + sketchup?: Record + DG?: { LoadObject: (name: string) => Promise } +} + +/** + * Here we are loading any bindings that we expect to have from all + * connectors. If some are not present, that's okay - we're going to + * strip or customize functionality from the ui itself. + */ +export default defineNuxtPlugin(async () => { + // Registers a set of non existent bindings as a test. + const nonExistantBindings = await tryHoistBinding('nonExistantBindings') + + // Registers some default test bindings. + const testBindings = await tryHoistBinding(ITestBindingKey) + + // Actual bindings follow below. + const configBinding = await tryHoistBinding(IConfigBindingKey) + + const accountBinding = await tryHoistBinding(IAccountBindingKey) + + const baseBinding = await tryHoistBinding( + IBasicConnectorBindingKey + ) + + const sendBinding = await tryHoistBinding(ISendBindingKey) + + const receiveBinding = await tryHoistBinding(IReceiveBindingKey) + + const selectionBinding = await tryHoistBinding( + ISelectionBindingKey + ) + + const topLevelExceptionHandlerBinding = + await tryHoistBinding( + ITopLevelExpectionHandlerBindingKey + ) + + // Any binding implments these two methods below, we just choose one to + // expose globally to the app. + const showDevTools = () => { + configBinding.showDevTools() + } + + const openUrl = (url: string) => { + configBinding.openUrl(url) + } + + return { + provide: { + nonExistantBindings, + testBindings, + configBinding, + accountBinding, + baseBinding, + sendBinding, + receiveBinding, + selectionBinding, + topLevelExceptionHandlerBinding, + showDevTools, + openUrl + } + } +}) + +/** + * Checks possible browser window targets for a given binding, and, if it finds it, + * creates a bridge for it and registers it in the global scope. + * @param name binding name + * @returns null if the binding was not found, or the binding. + */ +const tryHoistBinding = async (name: string) => { + let bridge: GenericBridge | SketchupBridge | null = null + let tempBridge: GenericBridge | SketchupBridge | null = null + + if (globalThis.chrome && globalThis.chrome.webview && !tempBridge) { + tempBridge = new GenericBridge(globalThis.chrome.webview.hostObjects[name]) + } + + if (globalThis.sketchup && !tempBridge) { + tempBridge = new SketchupBridge(name) + } + + if (globalThis.CefSharp && globalThis.DG && !tempBridge) { + await globalThis.CefSharp.BindObjectAsync(name) + tempBridge = new GenericBridge(globalThis[name] as unknown as IRawBridge, true) + } + + if (globalThis.CefSharp && !tempBridge) { + await globalThis.CefSharp.BindObjectAsync(name) + tempBridge = new GenericBridge(globalThis[name] as unknown as IRawBridge) + } + + const res = await tempBridge?.create() + if (res) bridge = tempBridge + + if (!bridge) { + console.warn(`Failed to bind ${name} binding.`) + return bridge as unknown as T + } + + globalThis[name] = bridge + console.log( + `%c✔ ${name} connector binding added succesfully.`, + 'color: green; font-weight: bold; font-size: small' + ) + return bridge as unknown as T +} + +// const hoistMockBinding = (mockBinding: BaseBridge, name: string) => { +// globalThis[name] = mockBinding +// console.log( +// `%c✔ Mocked ${name} binding added succesfully.`, +// 'color: green; font-weight: bold; font-size: small' +// ) +// return mockBinding +// } diff --git a/plugins/dayjs.ts b/plugins/dayjs.ts new file mode 100644 index 0000000..f25575f --- /dev/null +++ b/plugins/dayjs.ts @@ -0,0 +1,8 @@ +import dayjs from 'dayjs' +import relativeTime from 'dayjs/plugin/relativeTime' +import localizedFormat from 'dayjs/plugin/localizedFormat' + +export default defineNuxtPlugin(() => { + dayjs.extend(relativeTime) + dayjs.extend(localizedFormat) +}) diff --git a/plugins/dev.ts b/plugins/dev.ts new file mode 100644 index 0000000..ab09bed --- /dev/null +++ b/plugins/dev.ts @@ -0,0 +1,6 @@ +export default defineNuxtPlugin(async () => { + // if (!process.dev) return + // if (process.server) return + // const devtools = await import('@vue/devtools') + // devtools.connect() +}) diff --git a/plugins/portal.ts b/plugins/portal.ts new file mode 100644 index 0000000..2670aa8 --- /dev/null +++ b/plugins/portal.ts @@ -0,0 +1,5 @@ +import PortalVue from 'portal-vue' + +export default defineNuxtPlugin((nuxtApp) => { + nuxtApp.vueApp.use(PortalVue) +}) diff --git a/plugins/tippy.ts b/plugins/tippy.ts new file mode 100644 index 0000000..a3a674e --- /dev/null +++ b/plugins/tippy.ts @@ -0,0 +1,11 @@ +import VueTippy from 'vue-tippy' +import 'tippy.js/dist/tippy.css' + +export default defineNuxtPlugin((nuxtApp) => { + nuxtApp.vueApp.use(VueTippy, { + defaultProps: { + arrow: true + }, + flipDuration: 0 + }) +}) diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..2cc9b88 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,7 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + 'postcss-nesting': {} + } +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000..18993ad Binary files /dev/null and b/public/favicon.ico differ diff --git a/server/tsconfig.json b/server/tsconfig.json new file mode 100644 index 0000000..b9ed69c --- /dev/null +++ b/server/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../.nuxt/tsconfig.server.json" +} diff --git a/store/accounts.ts b/store/accounts.ts new file mode 100644 index 0000000..a410e41 --- /dev/null +++ b/store/accounts.ts @@ -0,0 +1,308 @@ +import { defineStore } from 'pinia' +import type { ApolloLink } from '@apollo/client/core' +import { + ApolloClient, + InMemoryCache, + gql, + HttpLink, + split, + from +} from '@apollo/client/core' +import { ApolloClients, provideApolloClients } from '@vue/apollo-composable' +import type { Account } from '~/lib/bindings/definitions/IAccountBinding' +import { WebSocketLink } from '@apollo/client/link/ws' +import { onError, type ErrorResponse } from '@apollo/client/link/error' +import { getMainDefinition } from '@apollo/client/utilities' +import { setContext } from '@apollo/client/link/context' +import { useHostAppStore } from '~/store/hostApp' +import type { ToastNotification } from '@speckle/ui-components' +import { ToastNotificationType } from '@speckle/ui-components' + +export type DUIAccount = { + /** account info coming from the host app */ + accountInfo: Account + /** the graphql client; a bit superflous */ + client: ApolloClient + /** whether an intial serverinfo query succeeded. */ + isValid: boolean +} + +const accountTestQuery = gql` + query AcccountTestQuery { + serverInfo { + version + name + company + } + } +` + +export const useAccountStore = defineStore('accountStore', () => { + const app = useNuxtApp() + const { $accountBinding, $configBinding } = app + + const hostAppStore = useHostAppStore() + + const apolloClients = {} as Record> + const accounts = ref([]) + const isLoading = ref(false) + + const defaultAccount = computed( + () => accounts.value.find((acc) => acc.accountInfo.isDefault) as DUIAccount + ) + + const userSelectedAccount = ref() + + /** + * Returns either the default account or the last account the user has selected. + */ + const activeAccount = computed(() => { + return userSelectedAccount.value || accounts.value[0] + }) + + const removeAccount = async (acc: DUIAccount) => { + await $accountBinding.removeAccount(acc.accountInfo.id) + await hostAppStore.removeAccountModels(acc.accountInfo.id) + // TODO: post clean up for model cards that belongs to that account + await refreshAccounts() + } + + const setUserSelectedAccount = (acc: DUIAccount) => { + userSelectedAccount.value = acc + try { + // NOTE: for the safe merge! + $configBinding.setUserSelectedAccountId(acc.accountInfo.id) // not need to await, fire and forget? + } catch (error) { + console.warn(error) + } + } + + const testAccounts = async () => { + isLoading.value = true + + for (const acc of accounts.value) { + if (!acc.client) continue + if (!acc.accountInfo.serverInfo.frontend2) continue + try { + await acc.client.query({ query: accountTestQuery }) + acc.isValid = true + } catch (error) { + // TODO: properly dispose and kill this client. It's unclear how to do it. + acc.isValid = false + // NOTE: we do not want to delete the client, as we might want to "refresh" in + // case the user was not connected to the interweb. + // acc.client.disableNetworkFetches = true + // acc.client.stop() + // delete acc.client + } + } + isLoading.value = false + } + + const refreshAccounts = async () => { + isLoading.value = true + const accs = await $accountBinding.getAccounts() + const newAccs: DUIAccount[] = [] + + for (const acc of accs) { + const existing = accounts.value.find((a) => a.accountInfo.id === acc.id) + if (existing) { + newAccs.push(existing as DUIAccount) + continue + } + + // Handle apollo client errors as top level + const errorLink = onError((res: ErrorResponse) => { + if (res.graphQLErrors) { + if ( + res.graphQLErrors?.some( + (err) => err.extensions.code === 'SSO_SESSION_MISSING_OR_EXPIRED_ERROR' + ) + ) { + hostAppStore.setNotification({ + type: ToastNotificationType.Warning, + title: 'SSO Required', + description: + 'Your workspace requires SSO authentication. Please sign in and try again.' + }) + } + + // const messages: string[] = [] + // res.graphQLErrors.forEach(({ message, path }) => { + // messages.push(`${message},\n Path: ${path}`) + // }) + + // const notification: ToastNotification = { + // type: ToastNotificationType.Danger, + // title: 'Graphql Error', + // description: messages.join('\n') + // } + // hostAppStore.setNotification(notification) + } + + // if (res.networkError) { + // const notification: ToastNotification = { + // type: ToastNotificationType.Danger, + // title: 'Network Error', + // description: res.networkError.message + // } + // hostAppStore.setNotification(notification) + // } + }) + + const link = splitLink( + getLinks(new URL('/graphql', acc.serverInfo.url).href, 'Bearer ' + acc.token) + ) + const client = new ApolloClient({ + cache: new InMemoryCache(), + link: from([errorLink, link]), + headers: { + Authorization: 'Bearer ' + acc.token + }, + defaultOptions: { + query: { + errorPolicy: 'all' + }, + mutate: { + errorPolicy: 'all' + }, + watchQuery: { + errorPolicy: 'all' + } + } + }) + + // const workspacesEnabled = false + // try { + // // get workspace enabled flag and store it in account + // const res = await client.query({ query: serverInfoQuery }) + // workspacesEnabled = !!res.data.serverInfo.workspaces.workspacesEnabled + // } catch (err) { + // // probably having some local account or client could not established well for some reason! + // console.log(err) + // } + + apolloClients[acc.id] = client + newAccs.push({ + accountInfo: acc, + client, + isValid: true + }) + } + + accounts.value = newAccs + isLoading.value = false + } + + const getLinks = (serverUrl: string, token: string) => { + const authHeaderValue = token + const httpLink = new HttpLink({ + uri: serverUrl + }) + + const authLink = setContext((_, { headers }) => { + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + return { headers: { ...headers, Authorization: authHeaderValue } } + }) + + const link = authLink.concat(httpLink as unknown as ApolloLink) + + const wsLink = new WebSocketLink({ + uri: serverUrl.replace('http', 'ws'), + options: { + reconnect: true, + connectionParams: { + Authorization: authHeaderValue + } + } + }) + return { httpLink: link, wsLink } + } + + const splitLink = ({ + httpLink, + wsLink + }: { + httpLink: ApolloLink + wsLink: WebSocketLink + }) => + split( + ({ query }) => { + const definition = getMainDefinition(query) + return ( + definition.kind === 'OperationDefinition' && + definition.operation === 'subscription' + ) + }, + wsLink, + httpLink + ) + + const isAccountExistsById = (accountId: string) => { + return !!accounts.value.find((acc) => acc.accountInfo.id === accountId) + } + + const isAccountExistsByServer = (serverUrl: string) => { + return !!accounts.value.find((acc) => acc.accountInfo.serverInfo.url === serverUrl) + } + + const accountWithFallback = (accountId: string, serverUrl: string) => { + const accountMatchWithId = accounts.value.find( + (acc) => acc.accountInfo.id === accountId + ) + if (accountMatchWithId) return accountMatchWithId + // NOTE: we do assumption here by having first matched url. + const accountMatchWithServerUrl = accounts.value.find( + (acc) => acc.accountInfo.serverInfo.url === serverUrl + ) + if (accountMatchWithServerUrl) return accountMatchWithServerUrl + + return activeAccount.value + } + + const accountByServerUrl = (serverUrl: string) => { + const accountMatchWithServerUrl = accounts.value.find( + (acc) => acc.accountInfo.serverInfo.url === serverUrl + ) + if (accountMatchWithServerUrl) return accountMatchWithServerUrl + } + + const provideClients = () => { + provideApolloClients(apolloClients) + } + + watch(accounts, () => { + void testAccounts() + }) + + const init = async () => { + await refreshAccounts() + try { + const accountsConfig = await $configBinding.getUserSelectedAccountId() + userSelectedAccount.value = accounts.value.find( + (a) => a.accountInfo.id === accountsConfig.userSelectedAccountId + ) as DUIAccount + } catch (error) { + console.warn(error) + } + } + + init() + + app.vueApp.provide(ApolloClients, apolloClients) + return { + isLoading, + accounts, + defaultAccount, + activeAccount, + userSelectedAccount, + setUserSelectedAccount, + removeAccount, + accountByServerUrl, + isAccountExistsById, + isAccountExistsByServer, + refreshAccounts, + accountWithFallback, + provideClients + } +}) diff --git a/store/config.ts b/store/config.ts new file mode 100644 index 0000000..4d642c9 --- /dev/null +++ b/store/config.ts @@ -0,0 +1,59 @@ +import type { ConnectorConfig } from 'lib/bindings/definitions/IConfigBinding' +import { defineStore } from 'pinia' + +export const useConfigStore = defineStore('configStore', () => { + const { $configBinding } = useNuxtApp() + + const hasConfigBindings = ref(!!$configBinding) + + const userSelectedWorkspaceId = ref() + + const config = ref({ darkTheme: true }) + + const isDarkTheme = computed(() => { + return config.value?.darkTheme + }) + const isDevMode = ref(false) + + const toggleTheme = () => { + config.value.darkTheme = !config.value.darkTheme + $configBinding.updateConfig(config.value) + } + + const setUserSelectedWorkspace = (workspaceId: string) => { + userSelectedWorkspaceId.value = workspaceId + try { + $configBinding.setUserSelectedWorkspaceId(workspaceId) + } catch (error) { + console.warn(error) // for the users who do not have latest version with workspace config handling + } + } + + const isInitialized = ref(false) + + const init = async () => { + if (!$configBinding) return + config.value = await $configBinding.getConfig() + const workspacesConfig = await $configBinding.getWorkspacesConfig() + if (workspacesConfig && workspacesConfig.userSelectedWorkspaceId) { + userSelectedWorkspaceId.value = workspacesConfig.userSelectedWorkspaceId + } + } + init() + + const getIsDevMode = async () => + (isDevMode.value = await $configBinding.getIsDevMode()) + + void getIsDevMode() + + return { + isInitialized, + config, + hasConfigBindings, + isDarkTheme, + isDevMode, + userSelectedWorkspaceId, + toggleTheme, + setUserSelectedWorkspace + } +}) diff --git a/store/hostApp.ts b/store/hostApp.ts new file mode 100644 index 0000000..232fbe2 --- /dev/null +++ b/store/hostApp.ts @@ -0,0 +1,738 @@ +import type { + DocumentInfo, + DocumentModelStore +} from '~/lib/bindings/definitions/IBasicConnectorBinding' +import type { IModelCard, ModelCardProgress } from 'lib/models/card' +import { useMixpanel } from '~/lib/core/composables/mixpanel' +import type { IReceiverModelCard } from '~/lib/models/card/receiver' +import type { + IDirectSelectionSendFilter, + ISendFilter, + ISendFilterSelectItem, + ISenderModelCard, + RevitViewsSendFilter, + SendFilterSelect +} from 'lib/models/card/send' +import type { ToastNotification } from '@speckle/ui-components' +import type { Nullable } from '@speckle/shared' +import type { HostAppError } from '~/lib/bridge/errorHandler' +import type { ConversionResult } from 'lib/conversions/conversionResult' +import { defineStore } from 'pinia' +import type { CardSetting } from '~/lib/models/card/setting' +import type { DUIAccount } from '~/store/accounts' +import { useAccountStore } from '~/store/accounts' +import { + useUpdateConnector, + type Version +} from '~/lib/core/composables/updateConnector' +import { provideApolloClient, useMutation } from '@vue/apollo-composable' +import { createVersionMutation } from '~/lib/graphql/mutationsAndQueries' + +export type ProjectModelGroup = { + projectId: string + accountId: string + serverUrl: string + senders: ISenderModelCard[] + receivers: IReceiverModelCard[] +} + +export const useHostAppStore = defineStore('hostAppStore', () => { + const app = useNuxtApp() + const { trackEvent } = useMixpanel() + const { $openUrl } = useNuxtApp() + const accountsStore = useAccountStore() + const { checkUpdate } = useUpdateConnector() + + const latestAvailableVersion = ref(null) + + const currentNotification = ref>(null) + const showErrorDialog = ref(false) + const hostAppError = ref>(null) + + const hostAppName = ref() + const hostAppVersion = ref() + const connectorVersion = ref() + const documentInfo = ref() + const documentModelStore = ref({ models: [] }) + + const availableViews = ref() // TODO: later we can align views with -> const revitAvailableViews = ref() + const navisworksAvailableSavedSets = ref() + + // Different host apps can have different kind of ISendFilterSelect send filters, and we collect them here to generalize the component we use in `ListSelect` + const availableSelectSendFilters = ref>({}) + + const dismissNotification = () => { + currentNotification.value = null + } + + const setNotification = (notification: Nullable) => { + currentNotification.value = notification + } + + const setLatestAvailableVersion = (version: Nullable) => { + latestAvailableVersion.value = version + } + + function downloadLatestVersion() { + $openUrl(latestAvailableVersion.value?.Url as string) + } + + const isConnectorUpToDate = computed( + () => connectorVersion.value === latestAvailableVersion.value?.Number + ) + + const setHostAppError = (error: Nullable) => { + hostAppError.value = error + } + + /** + * Model Card Operations + */ + + /** + * A list of all models currently in the file, grouped by the project they are part of. + */ + const projectModelGroups = computed(() => { + const projectModelGroups: ProjectModelGroup[] = [] + for (const model of documentModelStore.value.models) { + let project = projectModelGroups.find((p) => p.projectId === model.projectId) + if (!project) { + project = { + projectId: model.projectId, + accountId: model.accountId, + serverUrl: model.serverUrl, + senders: [], + receivers: [] + } + projectModelGroups.push(project) + } + if (model.typeDiscriminator.toLowerCase().includes('sender')) + project.senders.push(model as ISenderModelCard) + if (model.typeDiscriminator.toLowerCase().includes('receiver')) + project.receivers.push(model as IReceiverModelCard) + } + return projectModelGroups + }) + + const models = computed(() => { + return documentModelStore.value.models + }) + + /** + * Adds a new model and persists it to the host app file. + * @param model + */ + const addModel = async (model: IModelCard) => { + await app.$baseBinding.addModel(model) + documentModelStore.value.models.push(model) + } + + /** + * Updates a model's provided properties and persists the changes in the host application. + * @param modelCardId The model card id (NOT the model id). + * @param properties Properties to update. + * @param updateInHostApp Whether to sync the state to the host app. Defaults to true. + */ + const patchModel = async ( + modelCardId: string, + properties: Record, + updateInHostApp: boolean = true + ) => { + const modelIndex = documentModelStore.value.models.findIndex( + (m) => m.modelCardId === modelCardId + ) + + documentModelStore.value.models[modelIndex] = { + ...documentModelStore.value.models[modelIndex], + ...properties + } + + if (!updateInHostApp) return + await app.$baseBinding.updateModel(documentModelStore.value.models[modelIndex]) + } + + /** + * Removes a model from the store and the host app file. + * @param model + */ + const removeModel = async (model: IModelCard) => { + await app.$baseBinding.removeModel(model) + documentModelStore.value.models = documentModelStore.value.models.filter( + (item) => item.modelCardId !== model.modelCardId + ) + + void trackEvent( + 'DUI3 Action', + { name: 'Remove Model Card', type: model.typeDiscriminator }, + model.accountId + ) + } + + const removeAccountModels = async (accountId: string) => { + const modelsToRemove = documentModelStore.value.models.filter( + (item) => item.accountId === accountId + ) + documentModelStore.value.models = documentModelStore.value.models.filter( + (item) => item.accountId !== accountId + ) + + if (modelsToRemove.length !== 0) { + await app.$baseBinding.removeModels(modelsToRemove) + } + } + + const removeProjectModels = async (projectId: string) => { + const modelsToRemove = documentModelStore.value.models.filter( + (item) => item.projectId === projectId + ) + if (modelsToRemove.length !== 0) { + await app.$baseBinding.removeModels(modelsToRemove) + } + } + + const sendSettings = ref() + + /** + * Send filters + */ + + /** + * The host app's available send filters. + */ + const sendFilters = ref() + + /** + * Selection filter shortcut - use it as a default if possible. + */ + const selectionFilter = computed( + () => sendFilters.value?.find((f) => f.name === 'Selection') as ISendFilter + ) + + // Used on Archicad so far since send operation blocks the UI thread. + app.$sendBinding?.on('triggerCancel', (modelCardId: string) => { + const model = documentModelStore.value.models.find( + (m) => m.modelCardId === modelCardId + ) as ISenderModelCard + model.progress = undefined + model.error = undefined + void trackEvent('DUI3 Action', { name: 'Send Cancel' }, model.accountId) + model.latestCreatedVersionId = undefined + }) + + app.$sendBinding?.on( + 'setIdMap', + async ({ modelCardId, idMap, newSelectedObjectIds }) => { + const modelCard = models.value.find( + (card) => card.modelCardId === modelCardId + ) as ISenderModelCard + if (!modelCard) return + + const newFilter = { + ...modelCard.sendFilter, + selectedObjectIds: newSelectedObjectIds, + idMap + } + + // https://linear.app/speckle/issue/CNX-1213/revit-when-moving-between-documents-cards-can-get-lost-between-them + await patchModel(modelCardId, { sendFilter: newFilter }) // we do not necessarily need to updateModel in revit bc we already do it on .NET - otherwise it is leading cleanup on document store bc of deferred action when we switched to the another doc + } + ) + + app.$selectionBinding?.on('setSelection', (selInfo) => { + const modelCards = models.value.filter( + (m) => + m.typeDiscriminator.toLowerCase().includes('sender') && + (m as ISenderModelCard).sendFilter?.name === 'Selection' + ) as ISenderModelCard[] + + for (const model of modelCards) { + const filter = model.sendFilter as IDirectSelectionSendFilter + if (selInfo.selectedObjectIds.length === 0) { + filter.expired = false + continue + } + const a1 = filter.selectedObjectIds.sort().join() + const a2 = selInfo.selectedObjectIds.sort().join() + + filter.expired = a1 !== a2 + // filter.expired = + // filter.selectedObjectIds.filter((id) => !selInfo.selectedObjectIds.includes(id)) + // .length !== 0 + } + }) + + /** + * It is needed for connectors that send data with REST API on host app side but do not have graphql logic to create version. + * Currently it is the case with Vectorworks only which asked by a extarnal collaborator. + */ + app.$sendBinding?.on('triggerCreateVersion', async (args) => { + const accountStore = useAccountStore() + const account = accountStore.accounts.find( + (acc) => acc.accountInfo.id === args.accountId + ) + try { + const createVersion = provideApolloClient((account as DUIAccount).client)(() => + useMutation(createVersionMutation) + ) + await createVersion.mutate({ + input: { + modelId: args.modelId, + objectId: args.referencedObjectId, + sourceApplication: args.sourceApplication, + projectId: args.projectId + } + }) + } catch (err) { + console.error(`triggerCreateVersion is failed: ${err}`) + } + }) + + /** + * Everything filter shortcut - do not use it as a default. + */ + const everythingFilter = computed( + () => sendFilters.value?.find((f) => f.name === 'Everything') as ISendFilter + ) + + /** + * Subscribe to notifications about send filters. + */ + app.$sendBinding?.on('refreshSendFilters', () => void refreshSendFilters()) + + /** + * Send functionality + */ + + /** + * Tells the host app to start sending a specific model card. This will reach inside the host application. + * @param modelId + */ + const sendModel = (modelCardId: string, actionSource: string) => { + const model = documentModelStore.value.models.find( + (m) => m.modelCardId === modelCardId + ) as ISenderModelCard + if (model.expired) { + // user sends via "Update" button + void trackEvent( + 'Send', + { + expired: true, + actionSource: actionSource.toLowerCase(), + // eslint-disable-next-line camelcase + workspace_id: model.workspaceId + }, + model.accountId + ) + } else { + void trackEvent( + 'Send', + { + expired: false, + actionSource: actionSource.toLowerCase(), + // eslint-disable-next-line camelcase + workspace_id: model.workspaceId + }, + model.accountId + ) + } + model.latestCreatedVersionId = undefined + model.error = undefined + model.progress = { status: 'Starting to send...' } + model.expired = false + model.report = undefined + // You should stop asking why if you saw anything related autocad.. + // It solves the press "escape" issue. + // Because probably we don't give enough time to acad complete it's previos task and it stucks. + const shittyHostApps = ['autocad'] + if (shittyHostApps.includes(hostAppName.value as string)) { + setTimeout(() => { + void app.$sendBinding.send(modelCardId) + }, 500) // I prefer to sacrifice 500ms + } else { + void app.$sendBinding.send(modelCardId) + } + } + + /** + * Cancels a model card's ongoing send operation. This will reach inside the host application. + * @param modelId + */ + const sendModelCancel = async (modelCardId: string) => { + const model = documentModelStore.value.models.find( + (m) => m.modelCardId === modelCardId + ) as ISenderModelCard + await app.$sendBinding.cancelSend(modelCardId) + model.progress = undefined + model.error = undefined + void trackEvent('DUI3 Action', { name: 'Send Cancel' }, model.accountId) + model.latestCreatedVersionId = undefined + } + + app.$sendBinding?.on('setModelsExpired', (modelCardIds) => { + documentModelStore.value.models + .filter((m) => modelCardIds.includes(m.modelCardId)) + .forEach((model: ISenderModelCard) => { + model.latestCreatedVersionId = undefined + model.error = undefined + model.expired = true + }) + }) + + const setModelSendResult = (args: { + modelCardId: string + versionId: string + sendConversionResults: ConversionResult[] + }) => { + const model = documentModelStore.value.models.find( + (m) => m.modelCardId === args.modelCardId + ) as ISenderModelCard + model.latestCreatedVersionId = args.versionId + model.report = args.sendConversionResults + model.progress = undefined + } + + app.$sendBinding?.on('setModelSendResult', setModelSendResult) + + /// RECEIVE STUFF + const receiveModel = async (modelCardId: string, actionSource: string) => { + const model = documentModelStore.value.models.find( + (m) => m.modelCardId === modelCardId + ) as IReceiverModelCard + + const account = accountsStore.accounts.find( + (a) => a.accountInfo.id === model.accountId + ) + + void trackEvent( + 'Receive', + { + expired: model.expired, + sourceHostApp: model.selectedVersionSourceApp, + isMultiplayer: model.selectedVersionUserId !== account?.accountInfo.userInfo.id, + actionSource: actionSource.toLowerCase(), + // eslint-disable-next-line camelcase + workspace_id: model.workspaceId + }, + model.accountId + ) + + model.report = undefined + model.error = undefined + model.displayReceiveComplete = false + model.hasDismissedUpdateWarning = true + model.progress = { status: 'Starting to receive...' } + + // You should stop asking why if you saw anything related autocad.. + // It solves the press "escape" issue. + // Because probably we don't give enough time to acad complete it's previos task and it stucks. + const shittyHostApps = ['autocad'] + if (shittyHostApps.includes(hostAppName.value as string)) { + setTimeout(async () => { + await app.$receiveBinding.receive(modelCardId) + }, 500) // I prefer to sacrifice 500ms + } else { + await app.$receiveBinding.receive(modelCardId) + } + } + + const receiveModelCancel = async (modelCardId: string) => { + const model = documentModelStore.value.models.find( + (m) => m.modelCardId === modelCardId + ) as IReceiverModelCard + await app.$receiveBinding.cancelReceive(modelCardId) + void trackEvent('DUI3 Action', { name: 'Receive Cancel' }, model.accountId) + model.progress = undefined + } + + const setModelReceiveResult = async (args: { + modelCardId: string + bakedObjectIds: string[] + conversionResults: ConversionResult[] + }) => { + const model = documentModelStore.value.models.find( + (m) => m.modelCardId === args.modelCardId + ) as IReceiverModelCard + + model.progress = undefined + model.displayReceiveComplete = true + model.bakedObjectIds = args.bakedObjectIds + model.report = args.conversionResults + + // NOTE: going through this method to ensure state sync between FE and BE. It's because of a very weird rhino bug on first receives, ask dim and he will cry + // TODO: check if it's still needed - we can store the bakedobject ids straigth into the receive ops in .net. Is the above reproducible? + await patchModel(model.modelCardId, { + bakedObjectIds: args.bakedObjectIds + }) + } + + app.$receiveBinding?.on('setModelReceiveResult', setModelReceiveResult) + + // GENERIC STUFF + const handleModelProgressEvents = (args: { + modelCardId: string + progress?: ModelCardProgress + }) => { + const model = documentModelStore.value.models.find( + (m) => m.modelCardId === args.modelCardId + ) as IModelCard + model.progress = args.progress + } + + const setModelError = (args: { + modelCardId: string + error: string | { errorMessage: string; dismissible?: boolean } + }) => { + const model = documentModelStore.value.models.find( + (m) => m.modelCardId === args.modelCardId + ) as IModelCard + model.progress = undefined + if (typeof args.error === 'string') { + model.error = { errorMessage: args.error as string, dismissible: true } + } else { + model.error = args.error as { errorMessage: string; dismissible: boolean } + } + } + + // NOTE: all bindings that need to send these model events should register. + // EG, new binding "mapper binding" wants to send errors to the model card should + // be registed here. Why? Each binding gets its own "bridge" parent in .NET, which + // is hoisted as a separate global js object. + app.$sendBinding?.on('setModelProgress', handleModelProgressEvents) + app.$receiveBinding?.on('setModelProgress', handleModelProgressEvents) + + app.$baseBinding?.on('setGlobalNotification', setNotification) + app.$sendBinding?.on('setGlobalNotification', setNotification) + app.$receiveBinding?.on('setGlobalNotification', setNotification) + app.$configBinding?.on('setGlobalNotification', setNotification) + app.$accountBinding?.on('setGlobalNotification', setNotification) + app.$selectionBinding?.on('setGlobalNotification', setNotification) + app.$testBindings?.on('setGlobalNotification', setNotification) + + // Dummy binding to communicate with proper bridge for top level exceptions + app.$topLevelExceptionHandlerBinding?.on('setGlobalNotification', setNotification) + + app.$sendBinding?.on('setModelError', setModelError) + app.$receiveBinding?.on('setModelError', setModelError) + app.$baseBinding.on('setModelError', setModelError) + + /** + * Used internally in this store store only for initialisation. + */ + const getHostAppName = async () => + (hostAppName.value = await app.$baseBinding.getSourceApplicationName()) + + const getHostAppVersion = async () => + (hostAppVersion.value = await app.$baseBinding.getSourceApplicationVersion()) + + const getConnectorVersion = async () => { + connectorVersion.value = await app.$baseBinding.getConnectorVersion() + // Checks whether new version available for the connector or not and throws a toast notification if any. + await checkUpdate() + } + + /** + * Used internally in this store store only for initialisation. Refreshed the document info from the host app. Should be called on document changed events. + */ + const refreshDocumentInfo = async () => + (documentInfo.value = await app.$baseBinding.getDocumentInfo()) + + /** + * Used internally in this store store only for initialisation. Refreshes available model cards from the host app. Should be called on document changed events. + */ + const refreshDocumentModelStore = async () => + (documentModelStore.value = await app.$baseBinding.getDocumentState()) + + /** + * Sources the available send filters from the app. This is useful in case of host app layer changes, etc. + */ + const refreshSendFilters = async () => { + sendFilters.value = await app.$sendBinding?.getSendFilters() + const revitViews = sendFilters.value.find( + (f) => f.id === 'revitViews' + ) as RevitViewsSendFilter + if (revitViews) { + availableViews.value = revitViews.availableViews + } + + const selectSendFilters = sendFilters.value.filter( + (f) => f.type === 'Select' + ) as SendFilterSelect[] + if (selectSendFilters.length !== 0) { + selectSendFilters.forEach((selectSendFilter) => { + const id = selectSendFilter.id + availableSelectSendFilters.value[id] = selectSendFilter + }) + } + + const navisworksSavedSetsFromSendFilters = sendFilters.value.find( + (f) => f.id === 'navisworksSavedSets' + ) as SendFilterSelect + if (navisworksSavedSetsFromSendFilters) { + navisworksAvailableSavedSets.value = navisworksSavedSetsFromSendFilters.items + } + + tryToUpgradeSelectSendFilters() // in rhino we trigger refresh send filters whenever layer name has changed, this should be done for navis too! + } + + const tryToUpgradeSelectSendFilters = async () => { + for (const model of documentModelStore.value.models) { + const isSender = model.typeDiscriminator.toLowerCase().includes('sender') + if (!isSender) continue // we do not care about receivers + + if ((model as ISenderModelCard).sendFilter?.type !== 'Select') continue // we do not care about filters other than Select type + + const existingSelectFilter = (model as ISenderModelCard) + .sendFilter as SendFilterSelect + const newSelectFilter = availableSelectSendFilters.value[existingSelectFilter.id] + if (!newSelectFilter) { + continue + } + // here we do the upgrade by checking available select filter items and existing select filter items against ids + const updatedSelectedItems = existingSelectFilter.selectedItems.map( + (selected) => { + const upgraded = newSelectFilter.items.find((item) => item.id === selected.id) + return upgraded ?? selected + } + ) + + existingSelectFilter.items = newSelectFilter.items + existingSelectFilter.selectedItems = updatedSelectedItems + existingSelectFilter.summary = existingSelectFilter.isMultiSelectable + ? existingSelectFilter.selectedItems.map((v) => v.name).join(', ') + : existingSelectFilter.selectedItems[0].name + + // update the state in host app + await patchModel(model.modelCardId, { + sendFilters: existingSelectFilter + }) + } + } + + const getSendSettings = async () => { + sendSettings.value = await app.$sendBinding.getSendSettings() + } + + const tryToUpgradeModelCardSettings = ( + settings: CardSetting[], + typeDiscriminator: string + ) => { + if (documentModelStore.value.models.length === 0) return + const modelCards = documentModelStore.value.models.filter((m) => + m.typeDiscriminator.includes(typeDiscriminator) + ) + if (modelCards.length === 0) return + + const settingIds = settings?.map((s) => s.id) || [] + modelCards.forEach(async (modelCard) => { + const idsToUpgrade = [] as string[] + const idsToDrop = [] as string[] + + settingIds?.forEach((id) => { + const existingSetting = modelCard.settings?.find((s) => s.id === id) + + if (!existingSetting) { + // If the setting does not exist, it's a new one to upgrade + idsToUpgrade.push(id) + } else if (existingSetting.type === 'string' && existingSetting.enum) { + // Check if existing setting's enum needs upgrading + const currentEnum = sendSettings.value?.find((s) => s.id === id)?.enum + if (currentEnum && existingSetting.enum.length !== currentEnum.length) { + idsToUpgrade.push(id) + } + } + }) + + // Identify settings to drop (if they no longer exist in sendSettingIds) + modelCard.settings?.forEach((setting) => { + if (!settingIds.includes(setting.id)) { + idsToDrop.push(setting.id) + } + }) + + if (idsToUpgrade.length !== 0 || idsToDrop.length !== 0) { + // Prepare new settings by filtering the old ones and adding upgraded ones + const newSettings = modelCard.settings?.filter( + (setting) => !idsToDrop.includes(setting.id) + ) + + idsToUpgrade.forEach((id) => { + const upgradedSetting = sendSettings.value?.find((s) => s.id === id) + if (upgradedSetting) { + newSettings?.push(upgradedSetting) + } + }) + + // Patch the model with the new settings + await patchModel(modelCard.modelCardId, { + settings: newSettings + }) + } + }) + } + + app.$baseBinding.on( + 'documentChanged', + () => + setTimeout(async () => { + void trackEvent('DUI3 Action', { name: 'Document changed' }) + void refreshDocumentInfo() + await refreshDocumentModelStore() // need to awaited since upgrading the card settings need documentModelStore in place + void refreshSendFilters() + void tryToUpgradeModelCardSettings(sendSettings.value || [], 'SenderModelCard') + }, 500) // timeout exists because of rhino + ) + + const initializeApp = async () => { + await getHostAppName() + await getHostAppVersion() + await getConnectorVersion() + await refreshDocumentInfo() + await refreshDocumentModelStore() + await refreshSendFilters() + await getSendSettings() + tryToUpgradeModelCardSettings(sendSettings.value || [], 'SenderModelCard') + } + + initializeApp() + + return { + hostAppName, + hostAppVersion, + connectorVersion, + isConnectorUpToDate, + latestAvailableVersion, + documentInfo, + projectModelGroups, + models, + sendFilters, + sendSettings, + selectionFilter, + everythingFilter, + currentNotification, + showErrorDialog, + hostAppError, + availableViews, + navisworksAvailableSavedSets, + availableSelectSendFilters, + setNotification, + setModelError, + setLatestAvailableVersion, + downloadLatestVersion, + dismissNotification, + setHostAppError, + addModel, + patchModel, + removeModel, + removeAccountModels, + removeProjectModels, + sendModel, + receiveModel, + sendModelCancel, + receiveModelCancel, + refreshSendFilters, + getSendSettings, + setModelSendResult, + setModelReceiveResult, + handleModelProgressEvents + } +}) diff --git a/store/selection.ts b/store/selection.ts new file mode 100644 index 0000000..e4589ec --- /dev/null +++ b/store/selection.ts @@ -0,0 +1,27 @@ +import { defineStore } from 'pinia' +import type { SelectionInfo } from '~/lib/bindings/definitions/ISelectionBinding' + +export const useSelectionStore = defineStore('selectionStore', () => { + const { $selectionBinding } = useNuxtApp() + const hasBinding = ref(!!$selectionBinding) + + const selectionInfo = ref({ + summary: 'Nothing selected', + selectedObjectIds: [] as string[] + }) + + $selectionBinding?.on('setSelection', (selInfo) => { + selectionInfo.value = selInfo + }) + + const refreshSelectionFromHostApp = async () => { + if (!hasBinding.value) { + console.warn('No selection bidings present. This will do nothing!') + return + } + const selInfo = await $selectionBinding.getSelection() + selectionInfo.value = selInfo + } + + return { hasBinding, selectionInfo, refreshSelectionFromHostApp } +}) diff --git a/stylelint.config.js b/stylelint.config.js new file mode 100644 index 0000000..6c7552c --- /dev/null +++ b/stylelint.config.js @@ -0,0 +1,28 @@ +module.exports = { + extends: [ + 'stylelint-config-standard', + 'stylelint-config-recommended-vue', + 'stylelint-config-prettier' + ], + // add your custom config here + // https://stylelint.io/user-guide/configuration + rules: { + // Rules to make stylelint happy with tailwind syntax + 'at-rule-no-unknown': [ + true, + { + ignoreAtRules: ['tailwind', 'apply', 'variants', 'responsive', 'screen'] + } + ], + 'declaration-block-trailing-semicolon': null, + 'no-descending-specificity': null + }, + overrides: [ + { + files: '**/*.vue', + rules: { + 'value-keyword-case': null + } + } + ] +} diff --git a/tailwind.config.mjs b/tailwind.config.mjs new file mode 100644 index 0000000..b3ac34c --- /dev/null +++ b/tailwind.config.mjs @@ -0,0 +1,26 @@ +import {plugin as speckleThemePlugin} from '@speckle/tailwind-theme' +import { tailwindContentEntries as themeEntries } from '@speckle/tailwind-theme/tailwind-configure' +import { tailwindContentEntries as uiLibEntries } from '@speckle/ui-components/tailwind-configure' +import formsPlugin from '@tailwindcss/forms' + +/** @type {import('tailwindcss').Config} */ +const config = { + darkMode: 'class', + content: [ + `./components/**/*.{vue,js,ts}`, + `./layouts/**/*.vue`, + `./pages/**/*.vue`, + `./composables/**/*.{js,ts}`, + `./plugins/**/*.{js,ts}`, + './stories/**/*.{js,ts,vue,mdx}', + './app.vue', + './.storybook/**/*.{js,ts,vue}', + './lib/**/composables/*.{js,ts}', + ...themeEntries(), + ...uiLibEntries() + // `./lib/**/*.{js,ts,vue}`, // TODO: Wait for fix https://github.com/nuxt/framework/issues/2886#issuecomment-1108312903 + ], + plugins: [speckleThemePlugin, formsPlugin] +} + +export default config diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json new file mode 100644 index 0000000..9e09200 --- /dev/null +++ b/tsconfig.eslint.json @@ -0,0 +1,5 @@ +{ + // https://v3.nuxtjs.org/concepts/typescript + "extends": "./tsconfig.json", + "include": ["./.nuxt/nuxt.d.ts", "**/*", ".*.js"] +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..a746f2a --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,4 @@ +{ + // https://nuxt.com/docs/guide/concepts/typescript + "extends": "./.nuxt/tsconfig.json" +} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..1cfa2f6 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,17463 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10c0 + +"@adobe/css-tools@npm:^4.4.0": + version: 4.4.2 + resolution: "@adobe/css-tools@npm:4.4.2" + checksum: 10c0/19433666ad18536b0ed05d4b53fbb3dd6ede266996796462023ec77a90b484890ad28a3e528cdf3ab8a65cb2fcdff5d8feb04db6bc6eed6ca307c40974239c94 + languageName: node + linkType: hard + +"@alloc/quick-lru@npm:^5.2.0": + version: 5.2.0 + resolution: "@alloc/quick-lru@npm:5.2.0" + checksum: 10c0/7b878c48b9d25277d0e1a9b8b2f2312a314af806b4129dc902f2bc29ab09b58236e53964689feec187b28c80d2203aff03829754773a707a8a5987f1b7682d92 + languageName: node + linkType: hard + +"@ampproject/remapping@npm:^2.2.0": + version: 2.3.0 + resolution: "@ampproject/remapping@npm:2.3.0" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/81d63cca5443e0f0c72ae18b544cc28c7c0ec2cea46e7cb888bb0e0f411a1191d0d6b7af798d54e30777d8d1488b2ec0732aac2be342d3d7d3ffd271c6f489ed + languageName: node + linkType: hard + +"@apidevtools/json-schema-ref-parser@npm:^11.7.0": + version: 11.9.3 + resolution: "@apidevtools/json-schema-ref-parser@npm:11.9.3" + dependencies: + "@jsdevtools/ono": "npm:^7.1.3" + "@types/json-schema": "npm:^7.0.15" + js-yaml: "npm:^4.1.0" + checksum: 10c0/5745813b3d964279f387677b7a903ba6634cdeaf879ff3a331a694392cbc923763f398506df190be114f2574b8b570baab3e367c2194bb35f50147ff6cf27d7a + languageName: node + linkType: hard + +"@apollo/client@npm:^3.7.0, @apollo/client@npm:^3.7.14": + version: 3.13.8 + resolution: "@apollo/client@npm:3.13.8" + dependencies: + "@graphql-typed-document-node/core": "npm:^3.1.1" + "@wry/caches": "npm:^1.0.0" + "@wry/equality": "npm:^0.5.6" + "@wry/trie": "npm:^0.5.0" + graphql-tag: "npm:^2.12.6" + hoist-non-react-statics: "npm:^3.3.2" + optimism: "npm:^0.18.0" + prop-types: "npm:^15.7.2" + rehackt: "npm:^0.1.0" + symbol-observable: "npm:^4.0.0" + ts-invariant: "npm:^0.10.3" + tslib: "npm:^2.3.0" + zen-observable-ts: "npm:^1.2.5" + peerDependencies: + graphql: ^15.0.0 || ^16.0.0 + graphql-ws: ^5.5.5 || ^6.0.3 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc + subscriptions-transport-ws: ^0.9.0 || ^0.11.0 + peerDependenciesMeta: + graphql-ws: + optional: true + react: + optional: true + react-dom: + optional: true + subscriptions-transport-ws: + optional: true + checksum: 10c0/0e5032c1ae1dbef72a01f87af06b84bf505d60e71eba7cb9f20f8284778d8ead65fc1b7eacc570eccb8d045577d7194e38401fbfbdf56c197e159ca91ef11755 + languageName: node + linkType: hard + +"@ardatan/relay-compiler@npm:^12.0.3": + version: 12.0.3 + resolution: "@ardatan/relay-compiler@npm:12.0.3" + dependencies: + "@babel/generator": "npm:^7.26.10" + "@babel/parser": "npm:^7.26.10" + "@babel/runtime": "npm:^7.26.10" + chalk: "npm:^4.0.0" + fb-watchman: "npm:^2.0.0" + immutable: "npm:~3.7.6" + invariant: "npm:^2.2.4" + nullthrows: "npm:^1.1.1" + relay-runtime: "npm:12.0.0" + signedsource: "npm:^1.0.0" + peerDependencies: + graphql: "*" + bin: + relay-compiler: bin/relay-compiler + checksum: 10c0/f0a69bc448733c594af896d8d51eefec7afde470d67093d419d58ec93270e22781571a7d621edeba18fd61d44fe68bfa72dc0a9bc95c54fe845817adf0883eca + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.26.2, @babel/code-frame@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/code-frame@npm:7.27.1" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.27.1" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.1.1" + checksum: 10c0/5dd9a18baa5fce4741ba729acc3a3272c49c25cb8736c4b18e113099520e7ef7b545a4096a26d600e4416157e63e87d66db46aa3fbf0a5f2286da2705c12da00 + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/compat-data@npm:7.27.2" + checksum: 10c0/077c9e01af3b90decee384a6a44dcf353898e980cee22ec7941f9074655dbbe97ec317345536cdc7ef7391521e1497930c522a3816af473076dd524be7fccd32 + languageName: node + linkType: hard + +"@babel/core@npm:^7.17.9, @babel/core@npm:^7.22.9, @babel/core@npm:^7.26.10, @babel/core@npm:^7.26.7": + version: 7.27.1 + resolution: "@babel/core@npm:7.27.1" + dependencies: + "@ampproject/remapping": "npm:^2.2.0" + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.27.1" + "@babel/helper-compilation-targets": "npm:^7.27.1" + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helpers": "npm:^7.27.1" + "@babel/parser": "npm:^7.27.1" + "@babel/template": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/0fc31f87f5401ac5d375528cb009f4ea5527fc8c5bb5b64b5b22c033b60fd0ad723388933a5f3f5db14e1edd13c958e9dd7e5c68f9b68c767aeb496199c8a4bb + languageName: node + linkType: hard + +"@babel/generator@npm:^7.18.13, @babel/generator@npm:^7.26.10, @babel/generator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/generator@npm:7.27.1" + dependencies: + "@babel/parser": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + jsesc: "npm:^3.0.2" + checksum: 10c0/c4156434b21818f558ebd93ce45f027c53ee570ce55a84fd2d9ba45a79ad204c17e0bff753c886fb6c07df3385445a9e34dc7ccb070d0ac7e80bb91c8b57f423 + languageName: node + linkType: hard + +"@babel/helper-annotate-as-pure@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-annotate-as-pure@npm:7.27.1" + dependencies: + "@babel/types": "npm:^7.27.1" + checksum: 10c0/fc4751b59c8f5417e1acb0455d6ffce53fa5e79b3aca690299fbbf73b1b65bfaef3d4a18abceb190024c5836bb6cfbc3711e83888648df93df54e18152a1196c + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.27.1, @babel/helper-compilation-targets@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/helper-compilation-targets@npm:7.27.2" + dependencies: + "@babel/compat-data": "npm:^7.27.2" + "@babel/helper-validator-option": "npm:^7.27.1" + browserslist: "npm:^4.24.0" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10c0/f338fa00dcfea931804a7c55d1a1c81b6f0a09787e528ec580d5c21b3ecb3913f6cb0f361368973ce953b824d910d3ac3e8a8ee15192710d3563826447193ad1 + languageName: node + linkType: hard + +"@babel/helper-create-class-features-plugin@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-create-class-features-plugin@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-member-expression-to-functions": "npm:^7.27.1" + "@babel/helper-optimise-call-expression": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/4ee199671d6b9bdd4988aa2eea4bdced9a73abfc831d81b00c7634f49a8fc271b3ceda01c067af58018eb720c6151322015d463abea7072a368ee13f35adbb4c + languageName: node + linkType: hard + +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + regexpu-core: "npm:^6.2.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/591fe8bd3bb39679cc49588889b83bd628d8c4b99c55bafa81e80b1e605a348b64da955e3fd891c4ba3f36fd015367ba2eadea22af6a7de1610fbb5bcc2d3df0 + languageName: node + linkType: hard + +"@babel/helper-define-polyfill-provider@npm:^0.6.3, @babel/helper-define-polyfill-provider@npm:^0.6.4": + version: 0.6.4 + resolution: "@babel/helper-define-polyfill-provider@npm:0.6.4" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.22.6" + "@babel/helper-plugin-utils": "npm:^7.22.5" + debug: "npm:^4.1.1" + lodash.debounce: "npm:^4.0.8" + resolve: "npm:^1.14.2" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/b74f2b46e233a178618d19432bdae16e0137d0a603497ee901155e083c4a61f26fe01d79fb95d5f4c22131ade9d958d8f587088d412cca1302633587f070919d + languageName: node + linkType: hard + +"@babel/helper-member-expression-to-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-member-expression-to-functions@npm:7.27.1" + dependencies: + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/5762ad009b6a3d8b0e6e79ff6011b3b8fdda0fefad56cfa8bfbe6aa02d5a8a8a9680a45748fe3ac47e735a03d2d88c0a676e3f9f59f20ae9fadcc8d51ccd5a53 + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.25.9, @babel/helper-module-imports@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-module-imports@npm:7.27.1" + dependencies: + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/e00aace096e4e29290ff8648455c2bc4ed982f0d61dbf2db1b5e750b9b98f318bf5788d75a4f974c151bd318fd549e81dbcab595f46b14b81c12eda3023f51e8 + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-module-transforms@npm:7.27.1" + dependencies: + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/196ab29635fe6eb5ba6ead2972d41b1c0d40f400f99bd8fc109cef21440de24c26c972fabf932585e618694d590379ab8d22def8da65a54459d38ec46112ead7 + languageName: node + linkType: hard + +"@babel/helper-optimise-call-expression@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-optimise-call-expression@npm:7.27.1" + dependencies: + "@babel/types": "npm:^7.27.1" + checksum: 10c0/6b861e7fcf6031b9c9fc2de3cd6c005e94a459d6caf3621d93346b52774925800ca29d4f64595a5ceacf4d161eb0d27649ae385110ed69491d9776686fa488e6 + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.26.5, @babel/helper-plugin-utils@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-plugin-utils@npm:7.27.1" + checksum: 10c0/94cf22c81a0c11a09b197b41ab488d416ff62254ce13c57e62912c85700dc2e99e555225787a4099ff6bae7a1812d622c80fbaeda824b79baa10a6c5ac4cf69b + languageName: node + linkType: hard + +"@babel/helper-remap-async-to-generator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-remap-async-to-generator@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-wrap-function": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/5ba6258f4bb57c7c9fa76b55f416b2d18c867b48c1af4f9f2f7cd7cc933fe6da7514811d08ceb4972f1493be46f4b69c40282b811d1397403febae13c2ec57b5 + languageName: node + linkType: hard + +"@babel/helper-replace-supers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-replace-supers@npm:7.27.1" + dependencies: + "@babel/helper-member-expression-to-functions": "npm:^7.27.1" + "@babel/helper-optimise-call-expression": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/4f2eaaf5fcc196580221a7ccd0f8873447b5d52745ad4096418f6101a1d2e712e9f93722c9a32bc9769a1dc197e001f60d6f5438d4dfde4b9c6a9e4df719354c + languageName: node + linkType: hard + +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.27.1" + dependencies: + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/f625013bcdea422c470223a2614e90d2c1cc9d832e97f32ca1b4f82b34bb4aa67c3904cb4b116375d3b5b753acfb3951ed50835a1e832e7225295c7b0c24dff7 + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-string-parser@npm:7.27.1" + checksum: 10c0/8bda3448e07b5583727c103560bcf9c4c24b3c1051a4c516d4050ef69df37bb9a4734a585fe12725b8c2763de0a265aa1e909b485a4e3270b7cfd3e4dbe4b602 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.24.5, @babel/helper-validator-identifier@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-identifier@npm:7.27.1" + checksum: 10c0/c558f11c4871d526498e49d07a84752d1800bf72ac0d3dad100309a2eaba24efbf56ea59af5137ff15e3a00280ebe588560534b0e894a4750f8b1411d8f78b84 + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-option@npm:7.27.1" + checksum: 10c0/6fec5f006eba40001a20f26b1ef5dbbda377b7b68c8ad518c05baa9af3f396e780bdfded24c4eef95d14bb7b8fd56192a6ed38d5d439b97d10efc5f1a191d148 + languageName: node + linkType: hard + +"@babel/helper-wrap-function@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-wrap-function@npm:7.27.1" + dependencies: + "@babel/template": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/c472f75c0951bc657ab0a117538c7c116566ae7579ed47ac3f572c42dc78bd6f1e18f52ebe80d38300c991c3fcaa06979e2f8864ee919369dabd59072288de30 + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helpers@npm:7.27.1" + dependencies: + "@babel/template": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/e078257b9342dae2c041ac050276c5a28701434ad09478e6dc6976abd99f721a5a92e4bebddcbca6b1c3a7e8acace56a946340c701aad5e7507d2c87446459ba + languageName: node + linkType: hard + +"@babel/parser@npm:^7.21.8, @babel/parser@npm:^7.22.5, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.26.10, @babel/parser@npm:^7.26.9, @babel/parser@npm:^7.27.0, @babel/parser@npm:^7.27.1, @babel/parser@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/parser@npm:7.27.2" + dependencies: + "@babel/types": "npm:^7.27.1" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/3c06692768885c2f58207fc8c2cbdb4a44df46b7d93135a083f6eaa49310f7ced490ce76043a2a7606cdcc13f27e3d835e141b692f2f6337a2e7f43c1dbb04b4 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/7dfffa978ae1cd179641a7c4b4ad688c6828c2c58ec96b118c2fb10bc3715223de6b88bff1ebff67056bb5fccc568ae773e3b83c592a1b843423319f80c99ebd + languageName: node + linkType: hard + +"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/2cd7a55a856e5e59bbd9484247c092a41e0d9f966778e7019da324d9e0928892d26afc4fbb2ac3d76a3c5a631cd3cf0d72dd2653b44f634f6c663b9e6f80aacd + languageName: node + linkType: hard + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/cf29835498c4a25bd470908528919729a0799b2ec94e89004929a5532c94a5e4b1a49bc5d6673a22e5afe05d08465873e14ee3b28c42eb3db489cdf5ca47c680 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/plugin-transform-optional-chaining": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.13.0 + checksum: 10c0/eddcd056f76e198868cbff883eb148acfade8f0890973ab545295df0c08e39573a72e65372bcc0b0bfadba1b043fe1aea6b0907d0b4889453ac154c404194ebc + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/b94e6c3fc019e988b1499490829c327a1067b4ddea8ad402f6d0554793c9124148c2125338c723661b6dff040951abc1f092afbf3f2d234319cd580b68e52445 + languageName: node + linkType: hard + +"@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2": + version: 7.21.0-placeholder-for-preset-env.2 + resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e605e0070da087f6c35579499e65801179a521b6842c15181a1e305c04fded2393f11c1efd09b087be7f8b083d1b75e8f3efcbc1292b4f60d3369e14812cff63 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-assertions@npm:^7.26.0, @babel/plugin-syntax-import-assertions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/06a954ee672f7a7c44d52b6e55598da43a7064e80df219765c51c37a0692641277e90411028f7cae4f4d1dedeed084f0c453576fa421c35a81f1603c5e3e0146 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-attributes@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e66f7a761b8360419bbb93ab67d87c8a97465ef4637a985ff682ce7ba6918b34b29d81190204cf908d0933058ee7b42737423cd8a999546c21b3aabad4affa9a + languageName: node + linkType: hard + +"@babel/plugin-syntax-jsx@npm:^7.25.9": + version: 7.27.1 + resolution: "@babel/plugin-syntax-jsx@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/bc5afe6a458d5f0492c02a54ad98c5756a0c13bd6d20609aae65acd560a9e141b0876da5f358dce34ea136f271c1016df58b461184d7ae9c4321e0f98588bc84 + languageName: node + linkType: hard + +"@babel/plugin-syntax-typescript@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-typescript@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/11589b4c89c66ef02d57bf56c6246267851ec0c361f58929327dc3e070b0dab644be625bbe7fb4c4df30c3634bfdfe31244e1f517be397d2def1487dbbe3c37d + languageName: node + linkType: hard + +"@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.18.6" + "@babel/helper-plugin-utils": "npm:^7.18.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/9144e5b02a211a4fb9a0ce91063f94fbe1004e80bde3485a0910c9f14897cf83fabd8c21267907cff25db8e224858178df0517f14333cfcf3380ad9a4139cb50 + languageName: node + linkType: hard + +"@babel/plugin-transform-arrow-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/19abd7a7d11eef58c9340408a4c2594503f6c4eaea1baa7b0e5fbdda89df097e50663edb3448ad2300170b39efca98a75e5767af05cad3b0facb4944326896a3 + languageName: node + linkType: hard + +"@babel/plugin-transform-async-generator-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-remap-async-to-generator": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/772e449c69ee42a466443acefb07083bd89efb1a1d95679a4dc99ea3be9d8a3c43a2b74d2da95d7c818e9dd9e0b72bfa7c03217a1feaf108f21b7e542f0943c0 + languageName: node + linkType: hard + +"@babel/plugin-transform-async-to-generator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.27.1" + dependencies: + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-remap-async-to-generator": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e76b1f6f9c3bbf72e17d7639406d47f09481806de4db99a8de375a0bb40957ea309b20aa705f0c25ab1d7c845e3f365af67eafa368034521151a0e352a03ef2f + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoped-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/3313130ba3bf0699baad0e60da1c8c3c2f0c2c0a7039cd0063e54e72e739c33f1baadfc9d8c73b3fea8c85dd7250c3964fb09c8e1fa62ba0b24a9fefe0a8dbde + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoping@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-block-scoping@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d3f357beeb92fbdf3045aea2ba286a60dafc9c2d2a9f89065bb3c4bea9cc48934ee6689df3db0439d9ec518eda5e684f3156cab792b7c38c33ece2f8204ddee8 + languageName: node + linkType: hard + +"@babel/plugin-transform-class-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-class-properties@npm:7.27.1" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/cc0662633c0fe6df95819fef223506ddf26c369c8d64ab21a728d9007ec866bf9436a253909819216c24a82186b6ccbc1ec94d7aaf3f82df227c7c02fa6a704b + languageName: node + linkType: hard + +"@babel/plugin-transform-class-static-block@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-class-static-block@npm:7.27.1" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.12.0 + checksum: 10c0/396997dd81fc1cf242b921e337d25089d6b9dc3596e81322ff11a6359326dc44f2f8b82dcc279c2e514cafaf8964dc7ed39e9fab4b8af1308b57387d111f6a20 + languageName: node + linkType: hard + +"@babel/plugin-transform-classes@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-classes@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-compilation-targets": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + globals: "npm:^11.1.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/1071f4cb1ed5deb5e6f8d0442f2293a540cac5caa5ab3c25ad0571aadcbf961f61e26d367a67894976165a543e02f3a19e40b63b909afbed6e710801a590635c + languageName: node + linkType: hard + +"@babel/plugin-transform-computed-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-computed-properties@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/template": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e09a12f8c8ae0e6a6144c102956947b4ec05f6c844169121d0ec4529c2d30ad1dc59fee67736193b87a402f44552c888a519a680a31853bdb4d34788c28af3b0 + languageName: node + linkType: hard + +"@babel/plugin-transform-destructuring@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-destructuring@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/56afda7a0b205f8d1af727daef4c529fc2e756887408affd39033ae4476e54d586d3d9dc1e72cfb15c74a2a5ca0653ab13dbaa8cbf79fbb2a3a746d0f107cb86 + languageName: node + linkType: hard + +"@babel/plugin-transform-dotall-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f9caddfad9a551b4dabe0dcb7c040f458fbaaa7bbb44200c20198b32c8259be8e050e58d2c853fdac901a4cfe490b86aa857036d8d461b192dd010d0e242dedb + languageName: node + linkType: hard + +"@babel/plugin-transform-duplicate-keys@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/22a822e5342b7066f83eaedc4fd9bb044ac6bc68725484690b33ba04a7104980e43ea3229de439286cb8db8e7db4a865733a3f05123ab58a10f189f03553746f + languageName: node + linkType: hard + +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/121502a252b3206913e1e990a47fea34397b4cbf7804d4cd872d45961bc45b603423f60ca87f3a3023a62528f5feb475ac1c9ec76096899ec182fcb135eba375 + languageName: node + linkType: hard + +"@babel/plugin-transform-dynamic-import@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/8dcd3087aca134b064fc361d2cc34eec1f900f6be039b6368104afcef10bb75dea726bb18cabd046716b89b0edaa771f50189fa16bc5c5914a38cbcf166350f7 + languageName: node + linkType: hard + +"@babel/plugin-transform-exponentiation-operator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/953d21e01fed76da8e08fb5094cade7bf8927c1bb79301916bec2db0593b41dbcfbca1024ad5db886b72208a93ada8f57a219525aad048cf15814eeb65cf760d + languageName: node + linkType: hard + +"@babel/plugin-transform-export-namespace-from@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d7165cad11f571a54c8d9263d6c6bf2b817aff4874f747cb51e6e49efb32f2c9b37a6850cdb5e3b81e0b638141bb77dc782a6ec1a94128859fbdf7767581e07c + languageName: node + linkType: hard + +"@babel/plugin-transform-for-of@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-for-of@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4635763173a23aae24480681f2b0996b4f54a0cb2368880301a1801638242e263132d1e8adbe112ab272913d1d900ee0d6f7dea79443aef9d3325168cd88b3fb + languageName: node + linkType: hard + +"@babel/plugin-transform-function-name@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-function-name@npm:7.27.1" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5abdc7b5945fbd807269dcc6e76e52b69235056023b0b35d311e8f5dfd6c09d9f225839798998fc3b663f50cf701457ddb76517025a0d7a5474f3fe56e567a4c + languageName: node + linkType: hard + +"@babel/plugin-transform-json-strings@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-json-strings@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/2379714aca025516452a7c1afa1ca42a22b9b51a5050a653cc6198a51665ab82bdecf36106d32d731512706a1e373c5637f5ff635737319aa42f3827da2326d6 + languageName: node + linkType: hard + +"@babel/plugin-transform-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-literals@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c40dc3eb2f45a92ee476412314a40e471af51a0f51a24e91b85cef5fc59f4fe06758088f541643f07f949d2c67ee7bdce10e11c5ec56791ae09b15c3b451eeca + languageName: node + linkType: hard + +"@babel/plugin-transform-logical-assignment-operators@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5b0abc7c0d09d562bf555c646dce63a30288e5db46fd2ce809a61d064415da6efc3b2b3c59b8e4fe98accd072c89a2f7c3765b400e4bf488651735d314d9feeb + languageName: node + linkType: hard + +"@babel/plugin-transform-member-expression-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/0874ccebbd1c6a155e5f6b3b29729fade1221b73152567c1af1e1a7c12848004dffecbd7eded6dc463955120040ae57c17cb586b53fb5a7a27fcd88177034c30 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-amd@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-amd@npm:7.27.1" + dependencies: + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/76e86cd278b6a3c5b8cca8dfb3428e9cd0c81a5df7096e04c783c506696b916a9561386d610a9d846ef64804640e0bd818ea47455fed0ee89b7f66c555b29537 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-commonjs@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.27.1" + dependencies: + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4def972dcd23375a266ea1189115a4ff61744b2c9366fc1de648b3fab2c650faf1a94092de93a33ff18858d2e6c4dddeeee5384cb42ba0129baeab01a5cdf1e2 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-systemjs@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.27.1" + dependencies: + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f16fca62d144d9cbf558e7b5f83e13bb6d0f21fdeff3024b0cecd42ffdec0b4151461da42bd0963512783ece31aafa5ffe03446b4869220ddd095b24d414e2b5 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-umd@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-umd@npm:7.27.1" + dependencies: + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e5962a8874889da2ab1aa32eb93ec21d419c7423c766e4befb39b4bb512b9ad44b47837b6cd1c8f1065445cbbcc6dc2be10298ac6e734e5ca1059fc23698daed + languageName: node + linkType: hard + +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/8eaa8c9aee00a00f3bd8bd8b561d3f569644d98cb2cfe3026d7398aabf9b29afd62f24f142b4112fa1f572d9b0e1928291b099cde59f56d6b59f4d565e58abf2 + languageName: node + linkType: hard + +"@babel/plugin-transform-new-target@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-new-target@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/9b0581412fcc5ab1b9a2d86a0c5407bd959391f0a1e77a46953fef9f7a57f3f4020d75f71098c5f9e5dcc680a87f9fd99b3205ab12e25ef8c19eed038c1e4b28 + languageName: node + linkType: hard + +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a435fc03aaa65c6ef8e99b2d61af0994eb5cdd4a28562d78c3b0b0228ca7e501aa255e1dff091a6996d7d3ea808eb5a65fd50ecd28dfb10687a8a1095dcadc7a + languageName: node + linkType: hard + +"@babel/plugin-transform-numeric-separator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/b72cbebbfe46fcf319504edc1cf59f3f41c992dd6840db766367f6a1d232cd2c52143c5eaf57e0316710bee251cae94be97c6d646b5022fcd9274ccb131b470c + languageName: node + linkType: hard + +"@babel/plugin-transform-object-rest-spread@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.27.2" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/plugin-transform-destructuring": "npm:^7.27.1" + "@babel/plugin-transform-parameters": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5e255b262dd65c8700078d9f6ed87bd45f951a905dda6b3414be28d7b2781b18e6b812e9d71421e61360c9cf51e1e619c1d48348593bb7399496f61f5f221446 + languageName: node + linkType: hard + +"@babel/plugin-transform-object-super@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-object-super@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/efa2d092ef55105deb06d30aff4e460c57779b94861188128489b72378bf1f0ab0f06a4a4d68b9ae2a59a79719fbb2d148b9a3dca19ceff9c73b1f1a95e0527c + languageName: node + linkType: hard + +"@babel/plugin-transform-optional-catch-binding@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/807a4330f1fac08e2682d57bc82e714868fc651c8876f9a8b3a3fd8f53c129e87371f8243e712ac7dae11e090b737a2219a02fe1b6459a29e664fa073c3277bb + languageName: node + linkType: hard + +"@babel/plugin-transform-optional-chaining@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5b18ff5124e503f0a25d6b195be7351a028b3992d6f2a91fb4037e2a2c386400d66bc1df8f6df0a94c708524f318729e81a95c41906e5a7919a06a43e573a525 + languageName: node + linkType: hard + +"@babel/plugin-transform-parameters@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-parameters@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/453a9618735eeff5551d4c7f02c250606586fe1dd210ec9f69a4f15629ace180cd944339ebff2b0f11e1a40567d83a229ba1c567620e70b2ebedea576e12196a + languageName: node + linkType: hard + +"@babel/plugin-transform-private-methods@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-private-methods@npm:7.27.1" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/232bedfe9d28df215fb03cc7623bdde468b1246bdd6dc24465ff4bf9cc5f5a256ae33daea1fafa6cc59705e4d29da9024bb79baccaa5cd92811ac5db9b9244f2 + languageName: node + linkType: hard + +"@babel/plugin-transform-private-property-in-object@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a8c4536273ca716dcc98e74ea25ca76431528554922f184392be3ddaf1761d4aa0e06f1311577755bd1613f7054fb51d29de2ada1130f743d329170a1aa1fe56 + languageName: node + linkType: hard + +"@babel/plugin-transform-property-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-property-literals@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/15713a87edd6db620d6e66eb551b4fbfff5b8232c460c7c76cedf98efdc5cd21080c97040231e19e06594c6d7dfa66e1ab3d0951e29d5814fb25e813f6d6209c + languageName: node + linkType: hard + +"@babel/plugin-transform-regenerator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-regenerator@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/42395908899310bb107d9ca31ebd4c302e14c582e3ad3ebfe1498fabafc43155c8f10850265c1e686a2afcf50d1f402cc5c5218fba72e167852607a4d8d6492e + languageName: node + linkType: hard + +"@babel/plugin-transform-regexp-modifiers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/31ae596ab56751cf43468a6c0a9d6bc3521d306d2bee9c6957cdb64bea53812ce24bd13a32f766150d62b737bca5b0650b2c62db379382fff0dccbf076055c33 + languageName: node + linkType: hard + +"@babel/plugin-transform-reserved-words@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-reserved-words@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e1a87691cce21a644a474d7c9a8107d4486c062957be32042d40f0a3d0cc66e00a3150989655019c255ff020d2640ac16aaf544792717d586f219f3bad295567 + languageName: node + linkType: hard + +"@babel/plugin-transform-shorthand-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/bd5544b89520a22c41a6df5ddac9039821d3334c0ef364d18b0ba9674c5071c223bcc98be5867dc3865cb10796882b7594e2c40dedaff38e1b1273913fe353e1 + languageName: node + linkType: hard + +"@babel/plugin-transform-spread@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-spread@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/b34fc58b33bd35b47d67416655c2cbc8578fbb3948b4592bc15eb6d8b4046986e25c06e3b9929460fa4ab08e9653582415e7ef8b87d265e1239251bdf5a4c162 + languageName: node + linkType: hard + +"@babel/plugin-transform-sticky-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5698df2d924f0b1b7bdb7ef370e83f99ed3f0964eb3b9c27d774d021bee7f6d45f9a73e2be369d90b4aff1603ce29827f8743f091789960e7669daf9c3cda850 + languageName: node + linkType: hard + +"@babel/plugin-transform-template-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-template-literals@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c90f403e42ef062b60654d1c122c70f3ec6f00c2f304b0931ebe6d0b432498ef8a5ef9266ddf00debc535f8390842207e44d3900eff1d2bab0cc1a700f03e083 + languageName: node + linkType: hard + +"@babel/plugin-transform-typeof-symbol@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a13c68015311fefa06a51830bc69d5badd06c881b13d5cf9ba04bf7c73e3fc6311cc889e18d9645ce2a64a79456dc9c7be88476c0b6802f62a686cb6f662ecd6 + languageName: node + linkType: hard + +"@babel/plugin-transform-typescript@npm:^7.26.7": + version: 7.27.1 + resolution: "@babel/plugin-transform-typescript@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/plugin-syntax-typescript": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/48f1db5de17a0f9fc365ff4fb046010aedc7aad813a7aa42fb73fcdab6442f9e700dde2cc0481086e01b0dae662ae4d3e965a52cde154f0f146d243a8ac68e93 + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-escapes@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a6809e0ca69d77ee9804e0c1164e8a2dea5e40718f6dcf234aeddf7292e7414f7ee331d87f17eb6f160823a329d1d6751bd49b35b392ac4a6efc032e4d3038d8 + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-property-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a332bc3cb3eeea67c47502bc52d13a0f8abae5a7bfcb08b93a8300ddaff8d9e1238f912969494c1b494c1898c6f19687054440706700b6d12cb0b90d88beb4d0 + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/6abda1bcffb79feba6f5c691859cdbe984cc96481ea65d5af5ba97c2e843154005f0886e25006a37a2d213c0243506a06eaeafd93a040dbe1f79539016a0d17a + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-sets-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/236645f4d0a1fba7c18dc8ffe3975933af93e478f2665650c2d91cf528cfa1587cde5cfe277e0e501fc03b5bf57638369575d6539cef478632fb93bd7d7d7178 + languageName: node + linkType: hard + +"@babel/preset-env@npm:^7.22.9": + version: 7.27.2 + resolution: "@babel/preset-env@npm:7.27.2" + dependencies: + "@babel/compat-data": "npm:^7.27.2" + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.27.1" + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.27.1" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.27.1" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.27.1" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.27.1" + "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-import-assertions": "npm:^7.27.1" + "@babel/plugin-syntax-import-attributes": "npm:^7.27.1" + "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" + "@babel/plugin-transform-arrow-functions": "npm:^7.27.1" + "@babel/plugin-transform-async-generator-functions": "npm:^7.27.1" + "@babel/plugin-transform-async-to-generator": "npm:^7.27.1" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.27.1" + "@babel/plugin-transform-block-scoping": "npm:^7.27.1" + "@babel/plugin-transform-class-properties": "npm:^7.27.1" + "@babel/plugin-transform-class-static-block": "npm:^7.27.1" + "@babel/plugin-transform-classes": "npm:^7.27.1" + "@babel/plugin-transform-computed-properties": "npm:^7.27.1" + "@babel/plugin-transform-destructuring": "npm:^7.27.1" + "@babel/plugin-transform-dotall-regex": "npm:^7.27.1" + "@babel/plugin-transform-duplicate-keys": "npm:^7.27.1" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.27.1" + "@babel/plugin-transform-dynamic-import": "npm:^7.27.1" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.27.1" + "@babel/plugin-transform-export-namespace-from": "npm:^7.27.1" + "@babel/plugin-transform-for-of": "npm:^7.27.1" + "@babel/plugin-transform-function-name": "npm:^7.27.1" + "@babel/plugin-transform-json-strings": "npm:^7.27.1" + "@babel/plugin-transform-literals": "npm:^7.27.1" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.27.1" + "@babel/plugin-transform-member-expression-literals": "npm:^7.27.1" + "@babel/plugin-transform-modules-amd": "npm:^7.27.1" + "@babel/plugin-transform-modules-commonjs": "npm:^7.27.1" + "@babel/plugin-transform-modules-systemjs": "npm:^7.27.1" + "@babel/plugin-transform-modules-umd": "npm:^7.27.1" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.27.1" + "@babel/plugin-transform-new-target": "npm:^7.27.1" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.27.1" + "@babel/plugin-transform-numeric-separator": "npm:^7.27.1" + "@babel/plugin-transform-object-rest-spread": "npm:^7.27.2" + "@babel/plugin-transform-object-super": "npm:^7.27.1" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.27.1" + "@babel/plugin-transform-optional-chaining": "npm:^7.27.1" + "@babel/plugin-transform-parameters": "npm:^7.27.1" + "@babel/plugin-transform-private-methods": "npm:^7.27.1" + "@babel/plugin-transform-private-property-in-object": "npm:^7.27.1" + "@babel/plugin-transform-property-literals": "npm:^7.27.1" + "@babel/plugin-transform-regenerator": "npm:^7.27.1" + "@babel/plugin-transform-regexp-modifiers": "npm:^7.27.1" + "@babel/plugin-transform-reserved-words": "npm:^7.27.1" + "@babel/plugin-transform-shorthand-properties": "npm:^7.27.1" + "@babel/plugin-transform-spread": "npm:^7.27.1" + "@babel/plugin-transform-sticky-regex": "npm:^7.27.1" + "@babel/plugin-transform-template-literals": "npm:^7.27.1" + "@babel/plugin-transform-typeof-symbol": "npm:^7.27.1" + "@babel/plugin-transform-unicode-escapes": "npm:^7.27.1" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.27.1" + "@babel/plugin-transform-unicode-regex": "npm:^7.27.1" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.27.1" + "@babel/preset-modules": "npm:0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2: "npm:^0.4.10" + babel-plugin-polyfill-corejs3: "npm:^0.11.0" + babel-plugin-polyfill-regenerator: "npm:^0.6.1" + core-js-compat: "npm:^3.40.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/fd7ec310832a9ff26ed8d56bc0832cdbdb3a188e022050b74790796650649fb8373568af05b320b58b3ff922507979bad50ff95a4d504ab0081134480103504e + languageName: node + linkType: hard + +"@babel/preset-modules@npm:0.1.6-no-external-plugins": + version: 0.1.6-no-external-plugins + resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/types": "npm:^7.4.4" + esutils: "npm:^2.0.2" + peerDependencies: + "@babel/core": ^7.0.0-0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/9d02f70d7052446c5f3a4fb39e6b632695fb6801e46d31d7f7c5001f7c18d31d1ea8369212331ca7ad4e7877b73231f470b0d559162624128f1b80fe591409e6 + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.26.10": + version: 7.27.1 + resolution: "@babel/runtime@npm:7.27.1" + checksum: 10c0/530a7332f86ac5a7442250456823a930906911d895c0b743bf1852efc88a20a016ed4cd26d442d0ca40ae6d5448111e02a08dd638a4f1064b47d080e2875dc05 + languageName: node + linkType: hard + +"@babel/template@npm:^7.18.10, @babel/template@npm:^7.20.7, @babel/template@npm:^7.26.9, @babel/template@npm:^7.27.1": + version: 7.27.2 + resolution: "@babel/template@npm:7.27.2" + dependencies: + "@babel/code-frame": "npm:^7.27.1" + "@babel/parser": "npm:^7.27.2" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/ed9e9022651e463cc5f2cc21942f0e74544f1754d231add6348ff1b472985a3b3502041c0be62dc99ed2d12cfae0c51394bf827452b98a2f8769c03b87aadc81 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.26.10, @babel/traverse@npm:^7.26.9, @babel/traverse@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/traverse@npm:7.27.1" + dependencies: + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.27.1" + "@babel/parser": "npm:^7.27.1" + "@babel/template": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10c0/d912110037b03b1d70a2436cfd51316d930366a5f54252da2bced1ba38642f644f848240a951e5caf12f1ef6c40d3d96baa92ea6e84800f2e891c15e97b25d50 + languageName: node + linkType: hard + +"@babel/types@npm:7.27.1, @babel/types@npm:^7.18.13, @babel/types@npm:^7.25.4, @babel/types@npm:^7.26.10, @babel/types@npm:^7.26.8, @babel/types@npm:^7.26.9, @babel/types@npm:^7.27.1, @babel/types@npm:^7.4.4": + version: 7.27.1 + resolution: "@babel/types@npm:7.27.1" + dependencies: + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + checksum: 10c0/ed736f14db2fdf0d36c539c8e06b6bb5e8f9649a12b5c0e1c516fed827f27ef35085abe08bf4d1302a4e20c9a254e762eed453bce659786d4a6e01ba26a91377 + languageName: node + linkType: hard + +"@cloudflare/kv-asset-handler@npm:^0.4.0": + version: 0.4.0 + resolution: "@cloudflare/kv-asset-handler@npm:0.4.0" + dependencies: + mime: "npm:^3.0.0" + checksum: 10c0/54273c796d9815294599d7958a1a4e342f5519a03cc24c9501cf24d8721de9dbb8c53262941acb0e058bd9e952f807e3e1caa3ae242a0eabc26b1d2caa9a26f6 + languageName: node + linkType: hard + +"@colors/colors@npm:1.6.0, @colors/colors@npm:^1.6.0": + version: 1.6.0 + resolution: "@colors/colors@npm:1.6.0" + checksum: 10c0/9328a0778a5b0db243af54455b79a69e3fb21122d6c15ef9e9fcc94881d8d17352d8b2b2590f9bdd46fac5c2d6c1636dcfc14358a20c70e22daf89e1a759b629 + languageName: node + linkType: hard + +"@csstools/cascade-layer-name-parser@npm:^2.0.4": + version: 2.0.4 + resolution: "@csstools/cascade-layer-name-parser@npm:2.0.4" + peerDependencies: + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/774f2bcc96a576183853191bdfd31df15e22c51901ee01678ee47f1d1afcb4ab0e6d9a78e08f7383ac089c7e0b390013633f45ff1f1d577c9aefd252589bcced + languageName: node + linkType: hard + +"@csstools/css-parser-algorithms@npm:^2.3.1": + version: 2.7.1 + resolution: "@csstools/css-parser-algorithms@npm:2.7.1" + peerDependencies: + "@csstools/css-tokenizer": ^2.4.1 + checksum: 10c0/7d29bef6f5790ddb67d922ad232253bf910e4fa5293f5e4a5ed8b920ae9bd4e8171942df7d8943af23b42fd4e9fb460181394d20c97da9562e6ce98a875e8c47 + languageName: node + linkType: hard + +"@csstools/css-parser-algorithms@npm:^3.0.4": + version: 3.0.4 + resolution: "@csstools/css-parser-algorithms@npm:3.0.4" + peerDependencies: + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/d411f07765e14eede17bccc6bd4f90ff303694df09aabfede3fd104b2dfacfd4fe3697cd25ddad14684c850328f3f9420ebfa9f78380892492974db24ae47dbd + languageName: node + linkType: hard + +"@csstools/css-tokenizer@npm:^2.2.0": + version: 2.4.1 + resolution: "@csstools/css-tokenizer@npm:2.4.1" + checksum: 10c0/fe71cee85ec7372da07083d088b6a704f43e5d3d2d8071c4b8a86fae60408b559a218a43f8625bf2f0be5c7f90c8f3ad20a1aae1921119a1c02b51c310cc2b6b + languageName: node + linkType: hard + +"@csstools/css-tokenizer@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/css-tokenizer@npm:3.0.3" + checksum: 10c0/c31bf410e1244b942e71798e37c54639d040cb59e0121b21712b40015fced2b0fb1ffe588434c5f8923c9cd0017cfc1c1c8f3921abc94c96edf471aac2eba5e5 + languageName: node + linkType: hard + +"@csstools/media-query-list-parser@npm:^2.1.4": + version: 2.1.13 + resolution: "@csstools/media-query-list-parser@npm:2.1.13" + peerDependencies: + "@csstools/css-parser-algorithms": ^2.7.1 + "@csstools/css-tokenizer": ^2.4.1 + checksum: 10c0/8bf72342c15581b8f658633436d83c26a214056f6b960ff121b940271f4b1b5b07e9cc3990a73e684fb72319592f0c392408b4f0e08bbe242b2065aa456e2733 + languageName: node + linkType: hard + +"@csstools/selector-resolve-nested@npm:^3.0.0": + version: 3.0.0 + resolution: "@csstools/selector-resolve-nested@npm:3.0.0" + peerDependencies: + postcss-selector-parser: ^7.0.0 + checksum: 10c0/2b01c36b3fa81388d5bddd8db962766465d76b021a815c8bb5a48c3a42c530154cc155fc496707ade627dbba6745eb8ecd9fa840c1972133c0f7d8811e0a959d + languageName: node + linkType: hard + +"@csstools/selector-specificity@npm:^3.0.0": + version: 3.1.1 + resolution: "@csstools/selector-specificity@npm:3.1.1" + peerDependencies: + postcss-selector-parser: ^6.0.13 + checksum: 10c0/1d4a3f8015904d6aeb3203afe0e1f6db09b191d9c1557520e3e960c9204ad852df9db4cbde848643f78a26f6ea09101b4e528dbb9193052db28258dbcc8a6e1d + languageName: node + linkType: hard + +"@csstools/selector-specificity@npm:^5.0.0": + version: 5.0.0 + resolution: "@csstools/selector-specificity@npm:5.0.0" + peerDependencies: + postcss-selector-parser: ^7.0.0 + checksum: 10c0/186b444cabcdcdeb553bfe021f80c58bfe9ef38dcc444f2b1f34a5aab9be063ab4e753022b2d5792049c041c28cfbb78e4b707ec398459300e402030d35c07eb + languageName: node + linkType: hard + +"@csstools/utilities@npm:^2.0.0": + version: 2.0.0 + resolution: "@csstools/utilities@npm:2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/be5c31437b726928f64cd4bb3e47f5b90bfd2e2a69a8eaabd8e89cc6c0977e4f0f7ee48de50c8ed8b07e04e3956a02293247e0da3236d521fb2e836f88f65822 + languageName: node + linkType: hard + +"@dabh/diagnostics@npm:^2.0.2": + version: 2.0.3 + resolution: "@dabh/diagnostics@npm:2.0.3" + dependencies: + colorspace: "npm:1.1.x" + enabled: "npm:2.0.x" + kuler: "npm:^2.0.0" + checksum: 10c0/a5133df8492802465ed01f2f0a5784585241a1030c362d54a602ed1839816d6c93d71dde05cf2ddb4fd0796238c19774406bd62fa2564b637907b495f52425fe + languageName: node + linkType: hard + +"@dependents/detective-less@npm:^4.1.0": + version: 4.1.0 + resolution: "@dependents/detective-less@npm:4.1.0" + dependencies: + gonzales-pe: "npm:^4.3.0" + node-source-walk: "npm:^6.0.1" + checksum: 10c0/8a930cbcb2a288c9782854bbdb7e4d3fbbcc11b154d6a3296b0a4aed2d05c97c1ffb872e692b28f967ced85fa739afce68d3c4b8f2dc56015df0a2b2eda9d835 + languageName: node + linkType: hard + +"@electron/get@npm:^1.14.1": + version: 1.14.1 + resolution: "@electron/get@npm:1.14.1" + dependencies: + debug: "npm:^4.1.1" + env-paths: "npm:^2.2.0" + fs-extra: "npm:^8.1.0" + global-agent: "npm:^3.0.0" + global-tunnel-ng: "npm:^2.7.1" + got: "npm:^9.6.0" + progress: "npm:^2.0.3" + semver: "npm:^6.2.0" + sumchecker: "npm:^3.0.1" + dependenciesMeta: + global-agent: + optional: true + global-tunnel-ng: + optional: true + checksum: 10c0/42b03f6e8134985d5d441f1a3d9e0c984ad120775ced3bbc258a9d9e2740a54a06aab35ad6280658109db456cffeb859c378c0ab28160b41e3d34d3cdfd9e9a6 + languageName: node + linkType: hard + +"@emnapi/core@npm:^1.4.0": + version: 1.4.3 + resolution: "@emnapi/core@npm:1.4.3" + dependencies: + "@emnapi/wasi-threads": "npm:1.0.2" + tslib: "npm:^2.4.0" + checksum: 10c0/e30101d16d37ef3283538a35cad60e22095aff2403fb9226a35330b932eb6740b81364d525537a94eb4fb51355e48ae9b10d779c0dd1cdcd55d71461fe4b45c7 + languageName: node + linkType: hard + +"@emnapi/runtime@npm:^1.4.0": + version: 1.4.3 + resolution: "@emnapi/runtime@npm:1.4.3" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/3b7ab72d21cb4e034f07df80165265f85f445ef3f581d1bc87b67e5239428baa00200b68a7d5e37a0425c3a78320b541b07f76c5530f6f6f95336a6294ebf30b + languageName: node + linkType: hard + +"@emnapi/wasi-threads@npm:1.0.2": + version: 1.0.2 + resolution: "@emnapi/wasi-threads@npm:1.0.2" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/f0621b1fc715221bd2d8332c0ca922617bcd77cdb3050eae50a124eb8923c54fa425d23982dc8f29d505c8798a62d1049bace8b0686098ff9dd82270e06d772e + languageName: node + linkType: hard + +"@envelop/core@npm:^5.2.3": + version: 5.2.3 + resolution: "@envelop/core@npm:5.2.3" + dependencies: + "@envelop/instrumentation": "npm:^1.0.0" + "@envelop/types": "npm:^5.2.1" + "@whatwg-node/promise-helpers": "npm:^1.2.4" + tslib: "npm:^2.5.0" + checksum: 10c0/77ba5807ddee5d08d6a4f47b2787735f0ad5aef71dcd809d51f5004f937de4c6a0b9a32651f2c6b81a0b9ef0510a917af408813c485e93da151c91d33b453061 + languageName: node + linkType: hard + +"@envelop/instrumentation@npm:^1.0.0": + version: 1.0.0 + resolution: "@envelop/instrumentation@npm:1.0.0" + dependencies: + "@whatwg-node/promise-helpers": "npm:^1.2.1" + tslib: "npm:^2.5.0" + checksum: 10c0/134df1ac481fb392aafc4522a22bcdc6ef0701f2d15d51b16207f3c9a4c7d3760adfa5f5bcc84f0c0ec7b011d84bcd40fff671eb471bed54bd928c165994b4e3 + languageName: node + linkType: hard + +"@envelop/types@npm:^5.2.1": + version: 5.2.1 + resolution: "@envelop/types@npm:5.2.1" + dependencies: + "@whatwg-node/promise-helpers": "npm:^1.0.0" + tslib: "npm:^2.5.0" + checksum: 10c0/2cdbb29d98350d957e18aff38ddf95670c249df894afab7fc888e2a02b43ca029fde96ca2829e5350bf83b982bc0267a5c8f7ee3ed9d353d4f145ebc0dc0b1e0 + languageName: node + linkType: hard + +"@es-joy/jsdoccomment@npm:~0.46.0": + version: 0.46.0 + resolution: "@es-joy/jsdoccomment@npm:0.46.0" + dependencies: + comment-parser: "npm:1.4.1" + esquery: "npm:^1.6.0" + jsdoc-type-pratt-parser: "npm:~4.0.0" + checksum: 10c0/a7a67936ebf6d9aaf74af018c3ac744769af3552b05ad9b88fca96b2ffdca16e724b0ff497f53634ec4cca81e98d8c471b6b6bde0fa5b725af4222ad9a0707f0 + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/aix-ppc64@npm:0.21.5" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/aix-ppc64@npm:0.25.4" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/android-arm64@npm:0.21.5" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/android-arm64@npm:0.25.4" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/android-arm@npm:0.21.5" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/android-arm@npm:0.25.4" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/android-x64@npm:0.21.5" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/android-x64@npm:0.25.4" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/darwin-arm64@npm:0.21.5" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/darwin-arm64@npm:0.25.4" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/darwin-x64@npm:0.21.5" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/darwin-x64@npm:0.25.4" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/freebsd-arm64@npm:0.21.5" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/freebsd-arm64@npm:0.25.4" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/freebsd-x64@npm:0.21.5" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/freebsd-x64@npm:0.25.4" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-arm64@npm:0.21.5" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-arm64@npm:0.25.4" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-arm@npm:0.21.5" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-arm@npm:0.25.4" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-ia32@npm:0.21.5" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-ia32@npm:0.25.4" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-loong64@npm:0.21.5" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-loong64@npm:0.25.4" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-mips64el@npm:0.21.5" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-mips64el@npm:0.25.4" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-ppc64@npm:0.21.5" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-ppc64@npm:0.25.4" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-riscv64@npm:0.21.5" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-riscv64@npm:0.25.4" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-s390x@npm:0.21.5" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-s390x@npm:0.25.4" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-x64@npm:0.21.5" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-x64@npm:0.25.4" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/netbsd-arm64@npm:0.25.4" + conditions: os=netbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/netbsd-x64@npm:0.21.5" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/netbsd-x64@npm:0.25.4" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/openbsd-arm64@npm:0.25.4" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/openbsd-x64@npm:0.21.5" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/openbsd-x64@npm:0.25.4" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/sunos-x64@npm:0.21.5" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/sunos-x64@npm:0.25.4" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/win32-arm64@npm:0.21.5" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/win32-arm64@npm:0.25.4" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/win32-ia32@npm:0.21.5" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/win32-ia32@npm:0.25.4" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/win32-x64@npm:0.21.5" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/win32-x64@npm:0.25.4" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0, @eslint-community/eslint-utils@npm:^4.7.0": + version: 4.7.0 + resolution: "@eslint-community/eslint-utils@npm:4.7.0" + dependencies: + eslint-visitor-keys: "npm:^3.4.3" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + checksum: 10c0/c0f4f2bd73b7b7a9de74b716a664873d08ab71ab439e51befe77d61915af41a81ecec93b408778b3a7856185244c34c2c8ee28912072ec14def84ba2dec70adf + languageName: node + linkType: hard + +"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.11.0, @eslint-community/regexpp@npm:^4.12.1, @eslint-community/regexpp@npm:^4.8.0": + version: 4.12.1 + resolution: "@eslint-community/regexpp@npm:4.12.1" + checksum: 10c0/a03d98c246bcb9109aec2c08e4d10c8d010256538dcb3f56610191607214523d4fb1b00aa81df830b6dffb74c5fa0be03642513a289c567949d3e550ca11cdf6 + languageName: node + linkType: hard + +"@eslint/config-array@npm:^0.20.0": + version: 0.20.0 + resolution: "@eslint/config-array@npm:0.20.0" + dependencies: + "@eslint/object-schema": "npm:^2.1.6" + debug: "npm:^4.3.1" + minimatch: "npm:^3.1.2" + checksum: 10c0/94bc5d0abb96dc5295ff559925242ff75a54eacfb3576677e95917e42f7175e1c4b87bf039aa2a872f949b4852ad9724bf2f7529aaea6b98f28bb3fca7f1d659 + languageName: node + linkType: hard + +"@eslint/config-helpers@npm:^0.2.1": + version: 0.2.2 + resolution: "@eslint/config-helpers@npm:0.2.2" + checksum: 10c0/98f7cefe484bb754674585d9e73cf1414a3ab4fd0783c385465288d13eb1a8d8e7d7b0611259fc52b76b396c11a13517be5036d1f48eeb877f6f0a6b9c4f03ad + languageName: node + linkType: hard + +"@eslint/config-inspector@npm:^0.4.8": + version: 0.4.12 + resolution: "@eslint/config-inspector@npm:0.4.12" + dependencies: + bundle-require: "npm:^5.0.0" + cac: "npm:^6.7.14" + chokidar: "npm:^3.6.0" + esbuild: "npm:^0.21.5" + fast-glob: "npm:^3.3.2" + find-up: "npm:^7.0.0" + get-port-please: "npm:^3.1.2" + h3: "npm:^1.12.0" + minimatch: "npm:^9.0.4" + mlly: "npm:^1.7.1" + mrmime: "npm:^2.0.0" + open: "npm:^10.1.0" + picocolors: "npm:^1.0.1" + ws: "npm:^8.17.1" + peerDependencies: + eslint: ^8.50.0 || ^9.0.0 + bin: + config-inspector: bin.mjs + eslint-config-inspector: bin.mjs + checksum: 10c0/343a9cb54a1b1d67773a2146b854d2841afc7da2d1db60385a5c014ec084a51facb8ddbd9fd2b00cb55d28ae6b3862b949610cfa4bdd74f5d595c7987e9edaef + languageName: node + linkType: hard + +"@eslint/core@npm:^0.13.0": + version: 0.13.0 + resolution: "@eslint/core@npm:0.13.0" + dependencies: + "@types/json-schema": "npm:^7.0.15" + checksum: 10c0/ba724a7df7ed9dab387481f11d0d0f708180f40be93acce2c21dacca625c5867de3528760c42f1c457ccefe6a669d525ff87b779017eabc0d33479a36300797b + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^3.0.2, @eslint/eslintrc@npm:^3.3.1": + version: 3.3.1 + resolution: "@eslint/eslintrc@npm:3.3.1" + dependencies: + ajv: "npm:^6.12.4" + debug: "npm:^4.3.2" + espree: "npm:^10.0.1" + globals: "npm:^14.0.0" + ignore: "npm:^5.2.0" + import-fresh: "npm:^3.2.1" + js-yaml: "npm:^4.1.0" + minimatch: "npm:^3.1.2" + strip-json-comments: "npm:^3.1.1" + checksum: 10c0/b0e63f3bc5cce4555f791a4e487bf999173fcf27c65e1ab6e7d63634d8a43b33c3693e79f192cbff486d7df1be8ebb2bd2edc6e70ddd486cbfa84a359a3e3b41 + languageName: node + linkType: hard + +"@eslint/js@npm:9.26.0, @eslint/js@npm:^9.2.0": + version: 9.26.0 + resolution: "@eslint/js@npm:9.26.0" + checksum: 10c0/89fa45b7ff7f3c2589ea1f04a31b4f6d41ad85ecac98e519195e8b3a908b103c892ac19c4aec0629cfeccefd9e5b63c2f1269183d63016e7de722b97a085dcf4 + languageName: node + linkType: hard + +"@eslint/object-schema@npm:^2.1.6": + version: 2.1.6 + resolution: "@eslint/object-schema@npm:2.1.6" + checksum: 10c0/b8cdb7edea5bc5f6a96173f8d768d3554a628327af536da2fc6967a93b040f2557114d98dbcdbf389d5a7b290985ad6a9ce5babc547f36fc1fde42e674d11a56 + languageName: node + linkType: hard + +"@eslint/plugin-kit@npm:^0.2.8": + version: 0.2.8 + resolution: "@eslint/plugin-kit@npm:0.2.8" + dependencies: + "@eslint/core": "npm:^0.13.0" + levn: "npm:^0.4.1" + checksum: 10c0/554847c8f2b6bfe0e634f317fc43d0b54771eea0015c4f844f75915fdb9e6170c830c004291bad57db949d61771732e459f36ed059f45cf750af223f77357c5c + languageName: node + linkType: hard + +"@fastify/busboy@npm:^3.1.1": + version: 3.1.1 + resolution: "@fastify/busboy@npm:3.1.1" + checksum: 10c0/d34b3640bc331f9951e27426769bdf90b1a5c238a22e4df39f9b18ec4cf793100a929ac0339f6643a4086f780f49177a528936d918dfd6c9dfe5a12566303215 + languageName: node + linkType: hard + +"@graphql-codegen/add@npm:^5.0.3": + version: 5.0.3 + resolution: "@graphql-codegen/add@npm:5.0.3" + dependencies: + "@graphql-codegen/plugin-helpers": "npm:^5.0.3" + tslib: "npm:~2.6.0" + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + checksum: 10c0/2ddb8b57a0b445f109b1d8e5611e838ff590dc3c6c210ba1c31e3967e6a58097bceaef79b501eace700cd6210dca0d1ef3d28519ed7b5a4f3ce6cfc8f1508c90 + languageName: node + linkType: hard + +"@graphql-codegen/cli@npm:^5.0.5": + version: 5.0.6 + resolution: "@graphql-codegen/cli@npm:5.0.6" + dependencies: + "@babel/generator": "npm:^7.18.13" + "@babel/template": "npm:^7.18.10" + "@babel/types": "npm:^7.18.13" + "@graphql-codegen/client-preset": "npm:^4.8.1" + "@graphql-codegen/core": "npm:^4.0.2" + "@graphql-codegen/plugin-helpers": "npm:^5.0.3" + "@graphql-tools/apollo-engine-loader": "npm:^8.0.0" + "@graphql-tools/code-file-loader": "npm:^8.0.0" + "@graphql-tools/git-loader": "npm:^8.0.0" + "@graphql-tools/github-loader": "npm:^8.0.0" + "@graphql-tools/graphql-file-loader": "npm:^8.0.0" + "@graphql-tools/json-file-loader": "npm:^8.0.0" + "@graphql-tools/load": "npm:^8.1.0" + "@graphql-tools/prisma-loader": "npm:^8.0.0" + "@graphql-tools/url-loader": "npm:^8.0.0" + "@graphql-tools/utils": "npm:^10.0.0" + "@whatwg-node/fetch": "npm:^0.10.0" + chalk: "npm:^4.1.0" + cosmiconfig: "npm:^8.1.3" + debounce: "npm:^1.2.0" + detect-indent: "npm:^6.0.0" + graphql-config: "npm:^5.1.1" + inquirer: "npm:^8.0.0" + is-glob: "npm:^4.0.1" + jiti: "npm:^1.17.1" + json-to-pretty-yaml: "npm:^1.2.2" + listr2: "npm:^4.0.5" + log-symbols: "npm:^4.0.0" + micromatch: "npm:^4.0.5" + shell-quote: "npm:^1.7.3" + string-env-interpolation: "npm:^1.0.1" + ts-log: "npm:^2.2.3" + tslib: "npm:^2.4.0" + yaml: "npm:^2.3.1" + yargs: "npm:^17.0.0" + peerDependencies: + "@parcel/watcher": ^2.1.0 + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + peerDependenciesMeta: + "@parcel/watcher": + optional: true + bin: + gql-gen: cjs/bin.js + graphql-code-generator: cjs/bin.js + graphql-codegen: cjs/bin.js + graphql-codegen-esm: esm/bin.js + checksum: 10c0/6ff54da1cbfcbe255b120c7ed3abe9a3b7878abb209785a157861f77789df075a6bd7f8b5ada8490e8091ba4e1347ef066b1c6192a4ecc86fa255308f42ef22f + languageName: node + linkType: hard + +"@graphql-codegen/client-preset@npm:^4.3.0, @graphql-codegen/client-preset@npm:^4.8.1": + version: 4.8.1 + resolution: "@graphql-codegen/client-preset@npm:4.8.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.20.2" + "@babel/template": "npm:^7.20.7" + "@graphql-codegen/add": "npm:^5.0.3" + "@graphql-codegen/gql-tag-operations": "npm:4.0.17" + "@graphql-codegen/plugin-helpers": "npm:^5.1.0" + "@graphql-codegen/typed-document-node": "npm:^5.1.1" + "@graphql-codegen/typescript": "npm:^4.1.6" + "@graphql-codegen/typescript-operations": "npm:^4.6.1" + "@graphql-codegen/visitor-plugin-common": "npm:^5.8.0" + "@graphql-tools/documents": "npm:^1.0.0" + "@graphql-tools/utils": "npm:^10.0.0" + "@graphql-typed-document-node/core": "npm:3.2.0" + tslib: "npm:~2.6.0" + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + graphql-sock: ^1.0.0 + peerDependenciesMeta: + graphql-sock: + optional: true + checksum: 10c0/57712bedaf17234ee9e71e013b2ffb82573cc30abc86679e47c273727a0d384add80a5ae43208ebd99d8d8e0a7be6b18fdc85b3806c49cc8e55990303b562b7a + languageName: node + linkType: hard + +"@graphql-codegen/core@npm:^4.0.2": + version: 4.0.2 + resolution: "@graphql-codegen/core@npm:4.0.2" + dependencies: + "@graphql-codegen/plugin-helpers": "npm:^5.0.3" + "@graphql-tools/schema": "npm:^10.0.0" + "@graphql-tools/utils": "npm:^10.0.0" + tslib: "npm:~2.6.0" + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + checksum: 10c0/8387a91dd852e8c45e76843453fc50dba4e63079f1ecfe2242f3c49561d229d55d1083905f46049ddd7f9f94b8e55a96e6deeac8a0c1db34a7312f5f216ca229 + languageName: node + linkType: hard + +"@graphql-codegen/gql-tag-operations@npm:4.0.17": + version: 4.0.17 + resolution: "@graphql-codegen/gql-tag-operations@npm:4.0.17" + dependencies: + "@graphql-codegen/plugin-helpers": "npm:^5.1.0" + "@graphql-codegen/visitor-plugin-common": "npm:5.8.0" + "@graphql-tools/utils": "npm:^10.0.0" + auto-bind: "npm:~4.0.0" + tslib: "npm:~2.6.0" + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + checksum: 10c0/15f65a0449f167a5b3176e71cdb6b1c1b48528deac9da379ece6b84f1a112d00b3b0e3bd5cc48b52927bbe4fc7fdd6832532a3475bc4e214077f546704494b92 + languageName: node + linkType: hard + +"@graphql-codegen/plugin-helpers@npm:^5.0.3, @graphql-codegen/plugin-helpers@npm:^5.1.0": + version: 5.1.0 + resolution: "@graphql-codegen/plugin-helpers@npm:5.1.0" + dependencies: + "@graphql-tools/utils": "npm:^10.0.0" + change-case-all: "npm:1.0.15" + common-tags: "npm:1.8.2" + import-from: "npm:4.0.0" + lodash: "npm:~4.17.0" + tslib: "npm:~2.6.0" + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + checksum: 10c0/9fe308f1db889bc2783cf2c2d95446c56f8c38332da1c126e3320d02d33c79c6f249e14770590bacaadc908daa75bf60afbd464fcd256bf8e1809e7d25b77ac1 + languageName: node + linkType: hard + +"@graphql-codegen/schema-ast@npm:^4.0.2": + version: 4.1.0 + resolution: "@graphql-codegen/schema-ast@npm:4.1.0" + dependencies: + "@graphql-codegen/plugin-helpers": "npm:^5.0.3" + "@graphql-tools/utils": "npm:^10.0.0" + tslib: "npm:~2.6.0" + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + checksum: 10c0/ff7ab73f46f1ae4882eda0af8c3f78d37e904108aba37d52288028ee34e9bc56236b6a032a1e2fe1283030ba5f6a5f75224285af12b3f56a76e90843e1eff0e0 + languageName: node + linkType: hard + +"@graphql-codegen/typed-document-node@npm:^5.1.1": + version: 5.1.1 + resolution: "@graphql-codegen/typed-document-node@npm:5.1.1" + dependencies: + "@graphql-codegen/plugin-helpers": "npm:^5.1.0" + "@graphql-codegen/visitor-plugin-common": "npm:5.8.0" + auto-bind: "npm:~4.0.0" + change-case-all: "npm:1.0.15" + tslib: "npm:~2.6.0" + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + checksum: 10c0/c86a92ec89760b848911e0e353bd4357b7b16da732bae9d0b195cc06278d620420cb0880caf1b43e4ddbb9290cfa230d7796a7a0ba63d54b7024c0564f1dd129 + languageName: node + linkType: hard + +"@graphql-codegen/typescript-operations@npm:^4.6.1": + version: 4.6.1 + resolution: "@graphql-codegen/typescript-operations@npm:4.6.1" + dependencies: + "@graphql-codegen/plugin-helpers": "npm:^5.1.0" + "@graphql-codegen/typescript": "npm:^4.1.6" + "@graphql-codegen/visitor-plugin-common": "npm:5.8.0" + auto-bind: "npm:~4.0.0" + tslib: "npm:~2.6.0" + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + graphql-sock: ^1.0.0 + peerDependenciesMeta: + graphql-sock: + optional: true + checksum: 10c0/3bfba383ba7c10e4612047559524d754d82ebe86a5c82f998e9236d5396e9172658902748243e112349392c5f2104ae7ea85185199c2c7800df55a66ff481b29 + languageName: node + linkType: hard + +"@graphql-codegen/typescript@npm:^4.1.6": + version: 4.1.6 + resolution: "@graphql-codegen/typescript@npm:4.1.6" + dependencies: + "@graphql-codegen/plugin-helpers": "npm:^5.1.0" + "@graphql-codegen/schema-ast": "npm:^4.0.2" + "@graphql-codegen/visitor-plugin-common": "npm:5.8.0" + auto-bind: "npm:~4.0.0" + tslib: "npm:~2.6.0" + peerDependencies: + graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + checksum: 10c0/5cc56b795d1c65b676251f07534296246a2de2936df6db83effd1e18a1150f739fe67d5b3ad19b75804cad2925e9957cfcd32cb6469e48c6544c498974acf351 + languageName: node + linkType: hard + +"@graphql-codegen/visitor-plugin-common@npm:5.8.0, @graphql-codegen/visitor-plugin-common@npm:^5.8.0": + version: 5.8.0 + resolution: "@graphql-codegen/visitor-plugin-common@npm:5.8.0" + dependencies: + "@graphql-codegen/plugin-helpers": "npm:^5.1.0" + "@graphql-tools/optimize": "npm:^2.0.0" + "@graphql-tools/relay-operation-optimizer": "npm:^7.0.0" + "@graphql-tools/utils": "npm:^10.0.0" + auto-bind: "npm:~4.0.0" + change-case-all: "npm:1.0.15" + dependency-graph: "npm:^0.11.0" + graphql-tag: "npm:^2.11.0" + parse-filepath: "npm:^1.0.2" + tslib: "npm:~2.6.0" + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + checksum: 10c0/7f3284f5b4c6a9bac873081c308c3386f3cfcb3ebcd5ba296506b1cce4c142ef7699336047dc0ef3b82d6db9a66eb449ddacd89732b3c08de683e496696d7fbb + languageName: node + linkType: hard + +"@graphql-hive/signal@npm:^1.0.0": + version: 1.0.0 + resolution: "@graphql-hive/signal@npm:1.0.0" + checksum: 10c0/5c771417b29fa793b93d5060753ff9470425dbafe186d2a652b464e9a2a58e5e885a0cdf84d8316acc30bd6c05608b778686bb482bfe311ca410349dcaa7731f + languageName: node + linkType: hard + +"@graphql-tools/apollo-engine-loader@npm:^8.0.0": + version: 8.0.20 + resolution: "@graphql-tools/apollo-engine-loader@npm:8.0.20" + dependencies: + "@graphql-tools/utils": "npm:^10.8.6" + "@whatwg-node/fetch": "npm:^0.10.0" + sync-fetch: "npm:0.6.0-2" + tslib: "npm:^2.4.0" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/6dacfd618d187a9823f72b39644c9a3e6f03166d7c7be12c81688b57bd1d2984cfba53877f1dd090943f0d973377cde2610fa9cea316f071093464989cef2c84 + languageName: node + linkType: hard + +"@graphql-tools/batch-execute@npm:^9.0.15": + version: 9.0.15 + resolution: "@graphql-tools/batch-execute@npm:9.0.15" + dependencies: + "@graphql-tools/utils": "npm:^10.8.1" + "@whatwg-node/promise-helpers": "npm:^1.3.0" + dataloader: "npm:^2.2.3" + tslib: "npm:^2.8.1" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/25a9a56271de326ce229a09c191ceb5792a8909095dd2d342128d58eb18bca462571c02e60e7800f74a421517ca21147de3199d119710b8f1c96b4ff4fcd1c45 + languageName: node + linkType: hard + +"@graphql-tools/code-file-loader@npm:^8.0.0": + version: 8.1.20 + resolution: "@graphql-tools/code-file-loader@npm:8.1.20" + dependencies: + "@graphql-tools/graphql-tag-pluck": "npm:8.3.19" + "@graphql-tools/utils": "npm:^10.8.6" + globby: "npm:^11.0.3" + tslib: "npm:^2.4.0" + unixify: "npm:^1.0.0" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/e4a05b10934abb96fd4fbc51bbd057d8bd045f42f11d8a2fc6573cef923d1377d474c493a8e78c2b10edfad193c1b0f87386d2aa6f8492b0611c911c5db65c34 + languageName: node + linkType: hard + +"@graphql-tools/delegate@npm:^10.2.17": + version: 10.2.17 + resolution: "@graphql-tools/delegate@npm:10.2.17" + dependencies: + "@graphql-tools/batch-execute": "npm:^9.0.15" + "@graphql-tools/executor": "npm:^1.4.7" + "@graphql-tools/schema": "npm:^10.0.11" + "@graphql-tools/utils": "npm:^10.8.1" + "@repeaterjs/repeater": "npm:^3.0.6" + "@whatwg-node/promise-helpers": "npm:^1.3.0" + dataloader: "npm:^2.2.3" + dset: "npm:^3.1.2" + tslib: "npm:^2.8.1" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/909489964c337deb821e21b10ed42971d6aff5187a31a6be918041703d89797175382c857f67495001a1a0ccf47c5fe61285dd57b6cedb237ff01fea6950c362 + languageName: node + linkType: hard + +"@graphql-tools/documents@npm:^1.0.0": + version: 1.0.1 + resolution: "@graphql-tools/documents@npm:1.0.1" + dependencies: + lodash.sortby: "npm:^4.7.0" + tslib: "npm:^2.4.0" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/df24738f8ffd844a4727884f7825d7009456d7dcb24fa91169efdc061bb72a29527abeb2e23ccf9effed195104485fa286919c33452d8744cb659ad721f17586 + languageName: node + linkType: hard + +"@graphql-tools/executor-common@npm:^0.0.4": + version: 0.0.4 + resolution: "@graphql-tools/executor-common@npm:0.0.4" + dependencies: + "@envelop/core": "npm:^5.2.3" + "@graphql-tools/utils": "npm:^10.8.1" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/4cda40687e3c42f0fefc9950f5e3d89021007101c3d6aa5dba2a07e6a0ef14cc0d04424aa8777e74476d5165fb22219de175dff8a4826e520fdbee8be0d4a81d + languageName: node + linkType: hard + +"@graphql-tools/executor-graphql-ws@npm:^2.0.1": + version: 2.0.5 + resolution: "@graphql-tools/executor-graphql-ws@npm:2.0.5" + dependencies: + "@graphql-tools/executor-common": "npm:^0.0.4" + "@graphql-tools/utils": "npm:^10.8.1" + "@whatwg-node/disposablestack": "npm:^0.0.6" + graphql-ws: "npm:^6.0.3" + isomorphic-ws: "npm:^5.0.0" + tslib: "npm:^2.8.1" + ws: "npm:^8.17.1" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/7cd829080f0bcc7e1deae69b952b7f7431bb731f737549ab5edad8270bb701756d99744a55312b723c9d84f55ca70e3a615ab1b541050d3a06021bb6cfd45f05 + languageName: node + linkType: hard + +"@graphql-tools/executor-http@npm:^1.1.9": + version: 1.3.3 + resolution: "@graphql-tools/executor-http@npm:1.3.3" + dependencies: + "@graphql-hive/signal": "npm:^1.0.0" + "@graphql-tools/executor-common": "npm:^0.0.4" + "@graphql-tools/utils": "npm:^10.8.1" + "@repeaterjs/repeater": "npm:^3.0.4" + "@whatwg-node/disposablestack": "npm:^0.0.6" + "@whatwg-node/fetch": "npm:^0.10.4" + "@whatwg-node/promise-helpers": "npm:^1.3.0" + meros: "npm:^1.2.1" + tslib: "npm:^2.8.1" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/317259d5e4e08baea728aecdfcce56cac77fd4f68b34975befca94d74d9d989d168230a735e51426a94740335ece9a93ab6fce280196ecf993a4ea1c0097c083 + languageName: node + linkType: hard + +"@graphql-tools/executor-legacy-ws@npm:^1.1.17": + version: 1.1.17 + resolution: "@graphql-tools/executor-legacy-ws@npm:1.1.17" + dependencies: + "@graphql-tools/utils": "npm:^10.8.6" + "@types/ws": "npm:^8.0.0" + isomorphic-ws: "npm:^5.0.0" + tslib: "npm:^2.4.0" + ws: "npm:^8.17.1" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/5f132442d16e5fe3cb411eedbbd366974a6e7cacb9124d1ec7485ea9da9914bb1d714db1804ff0edaaca13c0a5bea497c766e2835525ac7fc799f5c721e95759 + languageName: node + linkType: hard + +"@graphql-tools/executor@npm:^1.4.7": + version: 1.4.7 + resolution: "@graphql-tools/executor@npm:1.4.7" + dependencies: + "@graphql-tools/utils": "npm:^10.8.6" + "@graphql-typed-document-node/core": "npm:^3.2.0" + "@repeaterjs/repeater": "npm:^3.0.4" + "@whatwg-node/disposablestack": "npm:^0.0.6" + "@whatwg-node/promise-helpers": "npm:^1.0.0" + tslib: "npm:^2.4.0" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/aea551a5e7e926078e9ff78fb2a3e6660367e5d12e0cb9971f69881ff40ad423e634b2f511b790766e7c58eaad27e6016af41caaf392e5c14a3662c8637b0b97 + languageName: node + linkType: hard + +"@graphql-tools/git-loader@npm:^8.0.0": + version: 8.0.24 + resolution: "@graphql-tools/git-loader@npm:8.0.24" + dependencies: + "@graphql-tools/graphql-tag-pluck": "npm:8.3.19" + "@graphql-tools/utils": "npm:^10.8.6" + is-glob: "npm:4.0.3" + micromatch: "npm:^4.0.8" + tslib: "npm:^2.4.0" + unixify: "npm:^1.0.0" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/eff8311eb09c0cd1703a7b286816baba6a5b527507d34a074af53fabc5517864d82d7cc984dc53128ed36ba02430b158db069bb01eb196ceb97f8d022e425875 + languageName: node + linkType: hard + +"@graphql-tools/github-loader@npm:^8.0.0": + version: 8.0.20 + resolution: "@graphql-tools/github-loader@npm:8.0.20" + dependencies: + "@graphql-tools/executor-http": "npm:^1.1.9" + "@graphql-tools/graphql-tag-pluck": "npm:^8.3.19" + "@graphql-tools/utils": "npm:^10.8.6" + "@whatwg-node/fetch": "npm:^0.10.0" + "@whatwg-node/promise-helpers": "npm:^1.0.0" + sync-fetch: "npm:0.6.0-2" + tslib: "npm:^2.4.0" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/d7ff62ce54320ee8e14d9443058f3a96aff521520a494bb1b46a2163fdfb5ecc89f4364ac9c79e8934315fa12051622678a29a3852affaac910b5f4e3538806f + languageName: node + linkType: hard + +"@graphql-tools/graphql-file-loader@npm:^8.0.0": + version: 8.0.19 + resolution: "@graphql-tools/graphql-file-loader@npm:8.0.19" + dependencies: + "@graphql-tools/import": "npm:7.0.18" + "@graphql-tools/utils": "npm:^10.8.6" + globby: "npm:^11.0.3" + tslib: "npm:^2.4.0" + unixify: "npm:^1.0.0" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/4357dfea9b424ba44d7c8398809fbca9f4f07d4e3026bf5cdef3867ba32857f0ccd4a5378981eb3bba7c9e5f00d33108b0d51bde60a98b4e3395e02e05666e87 + languageName: node + linkType: hard + +"@graphql-tools/graphql-tag-pluck@npm:8.3.19, @graphql-tools/graphql-tag-pluck@npm:^8.3.19": + version: 8.3.19 + resolution: "@graphql-tools/graphql-tag-pluck@npm:8.3.19" + dependencies: + "@babel/core": "npm:^7.26.10" + "@babel/parser": "npm:^7.26.10" + "@babel/plugin-syntax-import-assertions": "npm:^7.26.0" + "@babel/traverse": "npm:^7.26.10" + "@babel/types": "npm:^7.26.10" + "@graphql-tools/utils": "npm:^10.8.6" + tslib: "npm:^2.4.0" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/98c3f2aaf4c3d4cf6e2206c05a6dc71ab02a6810991387747bc3066330f888e587ba6433769fea572004110e8b7a8d0983687ea95959b46aa1d67f3d04272f9d + languageName: node + linkType: hard + +"@graphql-tools/import@npm:7.0.18": + version: 7.0.18 + resolution: "@graphql-tools/import@npm:7.0.18" + dependencies: + "@graphql-tools/utils": "npm:^10.8.6" + resolve-from: "npm:5.0.0" + tslib: "npm:^2.4.0" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/60c83ba5850d61f81f33ec4aa83a53538b3ce3aecd2d16d6a3304e99a02177af36e011d5aefd33d8463809fbb211d7bfc8037fdbee50cd6b9d66465635f67aeb + languageName: node + linkType: hard + +"@graphql-tools/json-file-loader@npm:^8.0.0": + version: 8.0.18 + resolution: "@graphql-tools/json-file-loader@npm:8.0.18" + dependencies: + "@graphql-tools/utils": "npm:^10.8.6" + globby: "npm:^11.0.3" + tslib: "npm:^2.4.0" + unixify: "npm:^1.0.0" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/0433129e3d8c68193c7ec70db1322ec42ab2c5caabc98833a6e9024527a4085bd19abd515d992f445f122f5f70a1f46841519b59448bf298c6790e9c20a84ad4 + languageName: node + linkType: hard + +"@graphql-tools/load@npm:^8.1.0": + version: 8.1.0 + resolution: "@graphql-tools/load@npm:8.1.0" + dependencies: + "@graphql-tools/schema": "npm:^10.0.23" + "@graphql-tools/utils": "npm:^10.8.6" + p-limit: "npm:3.1.0" + tslib: "npm:^2.4.0" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/4653e50ba45cc940400853fcff7bb77f63b133018f114ebc355e4f3033d28c788579277d9be45223de89fe8a25509fe9f99bfcc74508439065577be65fa34eac + languageName: node + linkType: hard + +"@graphql-tools/merge@npm:^9.0.0, @graphql-tools/merge@npm:^9.0.24": + version: 9.0.24 + resolution: "@graphql-tools/merge@npm:9.0.24" + dependencies: + "@graphql-tools/utils": "npm:^10.8.6" + tslib: "npm:^2.4.0" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/04e2b402bfc05f844a66bd2c687b7aac1c61e321dceb655e698b11044247bd5940ba9d684ff518924b697b943c1f0785ac8d1ac864397dd8f59e8c823efa5376 + languageName: node + linkType: hard + +"@graphql-tools/optimize@npm:^2.0.0": + version: 2.0.0 + resolution: "@graphql-tools/optimize@npm:2.0.0" + dependencies: + tslib: "npm:^2.4.0" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/db4ac0a2b0c89126ee7746e5615ae003d8665b684b17fb35956a7633fefb0e329a047f32a975cfbdf83f0f5ac4ae09fe469834fd71fdd49d8ed932fda79012fd + languageName: node + linkType: hard + +"@graphql-tools/prisma-loader@npm:^8.0.0": + version: 8.0.17 + resolution: "@graphql-tools/prisma-loader@npm:8.0.17" + dependencies: + "@graphql-tools/url-loader": "npm:^8.0.15" + "@graphql-tools/utils": "npm:^10.5.6" + "@types/js-yaml": "npm:^4.0.0" + "@whatwg-node/fetch": "npm:^0.10.0" + chalk: "npm:^4.1.0" + debug: "npm:^4.3.1" + dotenv: "npm:^16.0.0" + graphql-request: "npm:^6.0.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.0" + jose: "npm:^5.0.0" + js-yaml: "npm:^4.0.0" + lodash: "npm:^4.17.20" + scuid: "npm:^1.1.0" + tslib: "npm:^2.4.0" + yaml-ast-parser: "npm:^0.0.43" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/3943be980624e3b34e0609ad1d29f9f4ce3803adf42a5eaeaf4191ecc859643fd5af8e493858e120b6641f89e28f4cd22e166afe6456e6d42f9f2e55d99490e8 + languageName: node + linkType: hard + +"@graphql-tools/relay-operation-optimizer@npm:^7.0.0": + version: 7.0.19 + resolution: "@graphql-tools/relay-operation-optimizer@npm:7.0.19" + dependencies: + "@ardatan/relay-compiler": "npm:^12.0.3" + "@graphql-tools/utils": "npm:^10.8.6" + tslib: "npm:^2.4.0" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/3e910d8e7f2575759df7c1858134d114d31d1f7640e0f0de017259417417cf407e21c6a5fbae7eec05dcf58eab2754fe27df3a02d35dd2efdf431177003f6036 + languageName: node + linkType: hard + +"@graphql-tools/schema@npm:^10.0.0, @graphql-tools/schema@npm:^10.0.11, @graphql-tools/schema@npm:^10.0.23": + version: 10.0.23 + resolution: "@graphql-tools/schema@npm:10.0.23" + dependencies: + "@graphql-tools/merge": "npm:^9.0.24" + "@graphql-tools/utils": "npm:^10.8.6" + tslib: "npm:^2.4.0" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/f8b4dcc4751bde2e41e2fd7cafc0b01c6d69e0eee7022918fbb372695358138a95582fd6cf83dff13f98665b19f9ad234d88ffcd4e6969cb70ec2884eb4c805c + languageName: node + linkType: hard + +"@graphql-tools/url-loader@npm:^8.0.0, @graphql-tools/url-loader@npm:^8.0.15": + version: 8.0.31 + resolution: "@graphql-tools/url-loader@npm:8.0.31" + dependencies: + "@graphql-tools/executor-graphql-ws": "npm:^2.0.1" + "@graphql-tools/executor-http": "npm:^1.1.9" + "@graphql-tools/executor-legacy-ws": "npm:^1.1.17" + "@graphql-tools/utils": "npm:^10.8.6" + "@graphql-tools/wrap": "npm:^10.0.16" + "@types/ws": "npm:^8.0.0" + "@whatwg-node/fetch": "npm:^0.10.0" + "@whatwg-node/promise-helpers": "npm:^1.0.0" + isomorphic-ws: "npm:^5.0.0" + sync-fetch: "npm:0.6.0-2" + tslib: "npm:^2.4.0" + ws: "npm:^8.17.1" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/508dbf26bdfb3eed73ff5eb52fdc717dcb4a4afd4aacde9a601201affca1d72076f43847bbb632def72f88a4b38cd2537802ad48090a7ae98e0776abc06ed0c7 + languageName: node + linkType: hard + +"@graphql-tools/utils@npm:^10.0.0, @graphql-tools/utils@npm:^10.5.6, @graphql-tools/utils@npm:^10.8.1, @graphql-tools/utils@npm:^10.8.6": + version: 10.8.6 + resolution: "@graphql-tools/utils@npm:10.8.6" + dependencies: + "@graphql-typed-document-node/core": "npm:^3.1.1" + "@whatwg-node/promise-helpers": "npm:^1.0.0" + cross-inspect: "npm:1.0.1" + dset: "npm:^3.1.4" + tslib: "npm:^2.4.0" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/17f727eb85415c15c5920ab9ef4648e0d205e1ca8b7d8539ac84f55da04ed60464313792456ebbde30bb883c0abde8df81919fd22f2ed5096b873920e84bef4b + languageName: node + linkType: hard + +"@graphql-tools/wrap@npm:^10.0.16": + version: 10.0.35 + resolution: "@graphql-tools/wrap@npm:10.0.35" + dependencies: + "@graphql-tools/delegate": "npm:^10.2.17" + "@graphql-tools/schema": "npm:^10.0.11" + "@graphql-tools/utils": "npm:^10.8.1" + "@whatwg-node/promise-helpers": "npm:^1.3.0" + tslib: "npm:^2.8.1" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/2b0cace7949102558497928cca8139ceb0fccd86ec510b505f21c9b6cd073ffff7df0bf900e411db717a53d36b0368ea09697490e00f2d3c926e7b74fd90ec25 + languageName: node + linkType: hard + +"@graphql-typed-document-node/core@npm:3.2.0, @graphql-typed-document-node/core@npm:^3.1.1, @graphql-typed-document-node/core@npm:^3.2.0": + version: 3.2.0 + resolution: "@graphql-typed-document-node/core@npm:3.2.0" + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/94e9d75c1f178bbae8d874f5a9361708a3350c8def7eaeb6920f2c820e82403b7d4f55b3735856d68e145e86c85cbfe2adc444fdc25519cd51f108697e99346c + languageName: node + linkType: hard + +"@headlessui/vue@npm:^1.7.13, @headlessui/vue@npm:^1.7.18": + version: 1.7.23 + resolution: "@headlessui/vue@npm:1.7.23" + dependencies: + "@tanstack/vue-virtual": "npm:^3.0.0-beta.60" + peerDependencies: + vue: ^3.2.0 + checksum: 10c0/6c570ab66ff7b0c2f115ab062dd8a08ce769263f5236422ecb298bfcb3d19d15fc83272d009f3c4159b8da3777ad048bf0ef49e258368096ae3b71085417fe13 + languageName: node + linkType: hard + +"@heroicons/vue@npm:^2.0.12": + version: 2.2.0 + resolution: "@heroicons/vue@npm:2.2.0" + peerDependencies: + vue: ">= 3" + checksum: 10c0/8872f89cd033ce21363b5457adb7ea6cb9631cfbe85006b4131f9078c75c1c9701fd6d9d727d49c739b8716f4a46ccdd2ffae8c6635fc2528efaf0982759edb3 + languageName: node + linkType: hard + +"@humanfs/core@npm:^0.19.1": + version: 0.19.1 + resolution: "@humanfs/core@npm:0.19.1" + checksum: 10c0/aa4e0152171c07879b458d0e8a704b8c3a89a8c0541726c6b65b81e84fd8b7564b5d6c633feadc6598307d34564bd53294b533491424e8e313d7ab6c7bc5dc67 + languageName: node + linkType: hard + +"@humanfs/node@npm:^0.16.6": + version: 0.16.6 + resolution: "@humanfs/node@npm:0.16.6" + dependencies: + "@humanfs/core": "npm:^0.19.1" + "@humanwhocodes/retry": "npm:^0.3.0" + checksum: 10c0/8356359c9f60108ec204cbd249ecd0356667359b2524886b357617c4a7c3b6aace0fd5a369f63747b926a762a88f8a25bc066fa1778508d110195ce7686243e1 + languageName: node + linkType: hard + +"@humanwhocodes/module-importer@npm:^1.0.1": + version: 1.0.1 + resolution: "@humanwhocodes/module-importer@npm:1.0.1" + checksum: 10c0/909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529 + languageName: node + linkType: hard + +"@humanwhocodes/retry@npm:^0.3.0": + version: 0.3.1 + resolution: "@humanwhocodes/retry@npm:0.3.1" + checksum: 10c0/f0da1282dfb45e8120480b9e2e275e2ac9bbe1cf016d046fdad8e27cc1285c45bb9e711681237944445157b430093412b4446c1ab3fc4bb037861b5904101d3b + languageName: node + linkType: hard + +"@humanwhocodes/retry@npm:^0.4.2": + version: 0.4.3 + resolution: "@humanwhocodes/retry@npm:0.4.3" + checksum: 10c0/3775bb30087d4440b3f7406d5a057777d90e4b9f435af488a4923ef249e93615fb78565a85f173a186a076c7706a81d0d57d563a2624e4de2c5c9c66c486ce42 + languageName: node + linkType: hard + +"@ioredis/commands@npm:^1.1.1": + version: 1.2.0 + resolution: "@ioredis/commands@npm:1.2.0" + checksum: 10c0/a5d3c29dd84d8a28b7c67a441ac1715cbd7337a7b88649c0f17c345d89aa218578d2b360760017c48149ef8a70f44b051af9ac0921a0622c2b479614c4f65b36 + languageName: node + linkType: hard + +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" + dependencies: + string-width: "npm:^5.1.2" + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: "npm:^7.0.1" + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: "npm:^8.1.0" + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + languageName: node + linkType: hard + +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.8 + resolution: "@jridgewell/gen-mapping@npm:0.3.8" + dependencies: + "@jridgewell/set-array": "npm:^1.2.1" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/c668feaf86c501d7c804904a61c23c67447b2137b813b9ce03eca82cb9d65ac7006d766c218685d76e3d72828279b6ee26c347aa1119dab23fbaf36aed51585a + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e + languageName: node + linkType: hard + +"@jridgewell/set-array@npm:^1.2.1": + version: 1.2.1 + resolution: "@jridgewell/set-array@npm:1.2.1" + checksum: 10c0/2a5aa7b4b5c3464c895c802d8ae3f3d2b92fcbe84ad12f8d0bfbb1f5ad006717e7577ee1fd2eac00c088abe486c7adb27976f45d2941ff6b0b92b2c3302c60f4 + languageName: node + linkType: hard + +"@jridgewell/source-map@npm:^0.3.3": + version: 0.3.6 + resolution: "@jridgewell/source-map@npm:0.3.6" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + checksum: 10c0/6a4ecc713ed246ff8e5bdcc1ef7c49aaa93f7463d948ba5054dda18b02dcc6a055e2828c577bcceee058f302ce1fc95595713d44f5c45e43d459f88d267f2f04 + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0": + version: 1.5.0 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" + checksum: 10c0/2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": + version: 0.3.25 + resolution: "@jridgewell/trace-mapping@npm:0.3.25" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/3d1ce6ebc69df9682a5a8896b414c6537e428a1d68b02fcc8363b04284a8ca0df04d0ee3013132252ab14f2527bc13bea6526a912ecb5658f0e39fd2860b4df4 + languageName: node + linkType: hard + +"@jsdevtools/ono@npm:^7.1.3": + version: 7.1.3 + resolution: "@jsdevtools/ono@npm:7.1.3" + checksum: 10c0/a9f7e3e8e3bc315a34959934a5e2f874c423cf4eae64377d3fc9de0400ed9f36cb5fd5ebce3300d2e8f4085f557c4a8b591427a583729a87841fda46e6c216b9 + languageName: node + linkType: hard + +"@jsonforms/core@npm:3.1.0": + version: 3.1.0 + resolution: "@jsonforms/core@npm:3.1.0" + dependencies: + "@types/json-schema": "npm:^7.0.3" + ajv: "npm:^8.6.1" + ajv-formats: "npm:^2.1.0" + lodash: "npm:^4.17.15" + checksum: 10c0/82b02ee9d7891798ef3ea9b7b291e4fdb328ce1d54e05454ea673e77aeb009f9b3b4c76e94a4d64e8019e351f344903a7ef2b7f142670834dae4353159adcc69 + languageName: node + linkType: hard + +"@jsonforms/vue-vanilla@npm:3.1.0": + version: 3.1.0 + resolution: "@jsonforms/vue-vanilla@npm:3.1.0" + dependencies: + lodash: "npm:^4.17.15" + peerDependencies: + "@jsonforms/core": 3.1.0 + "@jsonforms/vue": 3.1.0 + vue: ^3.2.26 + checksum: 10c0/6b2584d98f712301bedd55e583ae195bc01116c31cd68f93aaf9ab2e1b86e6589d629d170964ab6339d2833d0028d206e1c1b99d0b1261acf74ecba70c6b1db7 + languageName: node + linkType: hard + +"@jsonforms/vue@npm:3.1.0": + version: 3.1.0 + resolution: "@jsonforms/vue@npm:3.1.0" + dependencies: + lodash: "npm:^4.17.15" + peerDependencies: + "@jsonforms/core": 3.1.0 + vue: ^3.2.26 + checksum: 10c0/842d64d8ecf0a56d0d5f145214c2101a4dfdd5fef83bebfd84110ef20ae46f61cc4ec642d9bf14347cac01833609025f45ce220bbc8d22f4257bb61d47b42962 + languageName: node + linkType: hard + +"@koa/router@npm:^12.0.1": + version: 12.0.2 + resolution: "@koa/router@npm:12.0.2" + dependencies: + debug: "npm:^4.3.4" + http-errors: "npm:^2.0.0" + koa-compose: "npm:^4.1.0" + methods: "npm:^1.1.2" + path-to-regexp: "npm:^6.3.0" + checksum: 10c0/9d33af8b5cb7e80cf2a17e156fe1821ad31ad672ff8e9df62a3af2d2e4a6f49abbbb7038edaea45ef078cabdd8a1ce595ad7da810e96b17c5b954ee46f7e554d + languageName: node + linkType: hard + +"@kwsites/file-exists@npm:^1.1.1": + version: 1.1.1 + resolution: "@kwsites/file-exists@npm:1.1.1" + dependencies: + debug: "npm:^4.1.1" + checksum: 10c0/39e693239a72ccd8408bb618a0200e4a8d61682057ca7ae2c87668d7e69196e8d7e2c9cde73db6b23b3b0230169a15e5f1bfe086539f4be43e767b2db68e8ee4 + languageName: node + linkType: hard + +"@kwsites/promise-deferred@npm:^1.1.1": + version: 1.1.1 + resolution: "@kwsites/promise-deferred@npm:1.1.1" + checksum: 10c0/ef1ad3f1f50991e3bed352b175986d8b4bc684521698514a2ed63c1d1fc9848843da4f2bc2df961c9b148c94e1c34bf33f0da8a90ba2234e452481f2cc9937b1 + languageName: node + linkType: hard + +"@mapbox/node-pre-gyp@npm:^1.0.11": + version: 1.0.11 + resolution: "@mapbox/node-pre-gyp@npm:1.0.11" + dependencies: + detect-libc: "npm:^2.0.0" + https-proxy-agent: "npm:^5.0.0" + make-dir: "npm:^3.1.0" + node-fetch: "npm:^2.6.7" + nopt: "npm:^5.0.0" + npmlog: "npm:^5.0.1" + rimraf: "npm:^3.0.2" + semver: "npm:^7.3.5" + tar: "npm:^6.1.11" + bin: + node-pre-gyp: bin/node-pre-gyp + checksum: 10c0/2b24b93c31beca1c91336fa3b3769fda98e202fb7f9771f0f4062588d36dcc30fcf8118c36aa747fa7f7610d8cf601872bdaaf62ce7822bb08b545d1bbe086cc + languageName: node + linkType: hard + +"@mapbox/node-pre-gyp@npm:^2.0.0": + version: 2.0.0 + resolution: "@mapbox/node-pre-gyp@npm:2.0.0" + dependencies: + consola: "npm:^3.2.3" + detect-libc: "npm:^2.0.0" + https-proxy-agent: "npm:^7.0.5" + node-fetch: "npm:^2.6.7" + nopt: "npm:^8.0.0" + semver: "npm:^7.5.3" + tar: "npm:^7.4.0" + bin: + node-pre-gyp: bin/node-pre-gyp + checksum: 10c0/7d874c7f6f5560a87be7207f28d9a4e53b750085a82167608fd573aab8073645e95b3608f69e244df0e1d24e90a66525aeae708aba82ca73ff668ed0ab6abda6 + languageName: node + linkType: hard + +"@modelcontextprotocol/sdk@npm:^1.8.0": + version: 1.11.2 + resolution: "@modelcontextprotocol/sdk@npm:1.11.2" + dependencies: + content-type: "npm:^1.0.5" + cors: "npm:^2.8.5" + cross-spawn: "npm:^7.0.3" + eventsource: "npm:^3.0.2" + express: "npm:^5.0.1" + express-rate-limit: "npm:^7.5.0" + pkce-challenge: "npm:^5.0.0" + raw-body: "npm:^3.0.0" + zod: "npm:^3.23.8" + zod-to-json-schema: "npm:^3.24.1" + checksum: 10c0/18e49f42138303075e710b744e8ee958033b29e9a75852def3a320788bfe79128743a439189fad71ed4fd8fcc6c291ae7e38d41a22ed82585569cc6f5965e938 + languageName: node + linkType: hard + +"@napi-rs/wasm-runtime@npm:^0.2.9": + version: 0.2.9 + resolution: "@napi-rs/wasm-runtime@npm:0.2.9" + dependencies: + "@emnapi/core": "npm:^1.4.0" + "@emnapi/runtime": "npm:^1.4.0" + "@tybys/wasm-util": "npm:^0.9.0" + checksum: 10c0/1cc40b854b255f84e12ade634456ba489f6bf90659ef8164a16823c515c294024c96ee2bb81ab51f35493ba9496f62842b960f915dbdcdc1791f221f989e9e59 + languageName: node + linkType: hard + +"@netlify/binary-info@npm:^1.0.0": + version: 1.0.0 + resolution: "@netlify/binary-info@npm:1.0.0" + checksum: 10c0/5ece1c6308b052f3967666cfe394cb1a0d9824f2dca0b873cc97b7e803cb3fbe282638b6ab9c0e659dae5a97c05bb32562333ce13faf283dfd9983007ed54a00 + languageName: node + linkType: hard + +"@netlify/blobs@npm:^9.1.1": + version: 9.1.1 + resolution: "@netlify/blobs@npm:9.1.1" + dependencies: + "@netlify/dev-utils": "npm:2.1.1" + "@netlify/runtime-utils": "npm:1.3.1" + checksum: 10c0/84add8925e1507067718184fef3f61c125af2aaca17fd468f0979cd247839e2c624560cb0e9f8f2d2b2c1838b4f4cd2193fbe8444fbc177e248c93a20a9808d6 + languageName: node + linkType: hard + +"@netlify/dev-utils@npm:2.1.1": + version: 2.1.1 + resolution: "@netlify/dev-utils@npm:2.1.1" + dependencies: + "@whatwg-node/server": "npm:^0.9.60" + chokidar: "npm:^4.0.1" + decache: "npm:^4.6.2" + dot-prop: "npm:9.0.0" + env-paths: "npm:^3.0.0" + find-up: "npm:7.0.0" + lodash.debounce: "npm:^4.0.8" + netlify: "npm:^13.3.5" + parse-gitignore: "npm:^2.0.0" + uuid: "npm:^11.1.0" + write-file-atomic: "npm:^6.0.0" + checksum: 10c0/f2435fd68abc946197e2e56a849d09a1624b451c0a7e86ed3b33f1d2ae57b23204193844e502b91b92a83e2027a8da40d7563623b257add2bb8dfcbe71ed5886 + languageName: node + linkType: hard + +"@netlify/functions@npm:^3.1.8": + version: 3.1.8 + resolution: "@netlify/functions@npm:3.1.8" + dependencies: + "@netlify/blobs": "npm:^9.1.1" + "@netlify/dev-utils": "npm:2.1.1" + "@netlify/serverless-functions-api": "npm:1.41.1" + "@netlify/zip-it-and-ship-it": "npm:^10.1.1" + cron-parser: "npm:^4.9.0" + decache: "npm:^4.6.2" + extract-zip: "npm:^2.0.1" + is-stream: "npm:^4.0.1" + jwt-decode: "npm:^4.0.0" + lambda-local: "npm:^2.2.0" + read-package-up: "npm:^11.0.0" + source-map-support: "npm:^0.5.21" + checksum: 10c0/20ecde7357a244df6691a2a21f627c628a69972db883dd205558b3ae39c29564045afc9a327eca383af4edcde786d5aa572d9f330a34850b8021b0e9019d7ffc + languageName: node + linkType: hard + +"@netlify/open-api@npm:^2.37.0": + version: 2.37.0 + resolution: "@netlify/open-api@npm:2.37.0" + checksum: 10c0/a004214b38669dd612ec1eeed10998e0323bd5ba1d0dc24ee4e04e5310db169f4100b03e7504214e400747eb4355fa1aae056303a7406d72b78c0bb40c6b1f82 + languageName: node + linkType: hard + +"@netlify/runtime-utils@npm:1.3.1": + version: 1.3.1 + resolution: "@netlify/runtime-utils@npm:1.3.1" + checksum: 10c0/95a9a3fb81c35d01a9f6e3466c82a7270dcdc4bbac8fda56e71454347ba8989a8aa833551c9897ed15773e63a10b9019d5f061478e83060654fcc90b01406717 + languageName: node + linkType: hard + +"@netlify/serverless-functions-api@npm:1.41.1, @netlify/serverless-functions-api@npm:^1.41.1": + version: 1.41.1 + resolution: "@netlify/serverless-functions-api@npm:1.41.1" + checksum: 10c0/7a285c34015743c436491103d978ba3e920e5e1c5560ffde83d0580e59d10fbf1999a69eefa5c787f4372f87f19ab0363bd92895bae98fdf6f2e2e818a9097e1 + languageName: node + linkType: hard + +"@netlify/zip-it-and-ship-it@npm:^10.1.1": + version: 10.1.1 + resolution: "@netlify/zip-it-and-ship-it@npm:10.1.1" + dependencies: + "@babel/parser": "npm:^7.22.5" + "@babel/types": "npm:7.27.1" + "@netlify/binary-info": "npm:^1.0.0" + "@netlify/serverless-functions-api": "npm:^1.41.1" + "@vercel/nft": "npm:0.27.7" + archiver: "npm:^5.3.1" + common-path-prefix: "npm:^3.0.0" + cp-file: "npm:^10.0.0" + es-module-lexer: "npm:^1.0.0" + esbuild: "npm:0.25.4" + execa: "npm:^7.0.0" + fast-glob: "npm:^3.3.2" + filter-obj: "npm:^5.0.0" + find-up: "npm:^6.0.0" + glob: "npm:^8.0.3" + is-builtin-module: "npm:^3.1.0" + is-path-inside: "npm:^4.0.0" + junk: "npm:^4.0.0" + locate-path: "npm:^7.0.0" + merge-options: "npm:^3.0.4" + minimatch: "npm:^9.0.0" + normalize-path: "npm:^3.0.0" + p-map: "npm:^7.0.0" + path-exists: "npm:^5.0.0" + precinct: "npm:^11.0.0" + require-package-name: "npm:^2.0.1" + resolve: "npm:^2.0.0-next.1" + semver: "npm:^7.3.8" + tmp-promise: "npm:^3.0.2" + toml: "npm:^3.0.0" + unixify: "npm:^1.0.0" + urlpattern-polyfill: "npm:8.0.2" + yargs: "npm:^17.0.0" + zod: "npm:^3.23.8" + bin: + zip-it-and-ship-it: bin.js + checksum: 10c0/db472f9ae1f1dc04600242eff19de11d0bbcd9e459c3e2e717989cbb88a57749a9b31bfaa25c0387a6b11e795dcc10732f6024406b0b5b1de831687468128ff8 + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + languageName: node + linkType: hard + +"@npmcli/agent@npm:^3.0.0": + version: 3.0.0 + resolution: "@npmcli/agent@npm:3.0.0" + dependencies: + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^10.0.1" + socks-proxy-agent: "npm:^8.0.3" + checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/fs@npm:4.0.0" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5 + languageName: node + linkType: hard + +"@nuxt/cli@npm:^3.25.1": + version: 3.25.1 + resolution: "@nuxt/cli@npm:3.25.1" + dependencies: + c12: "npm:^3.0.3" + chokidar: "npm:^4.0.3" + citty: "npm:^0.1.6" + clipboardy: "npm:^4.0.0" + consola: "npm:^3.4.2" + defu: "npm:^6.1.4" + fuse.js: "npm:^7.1.0" + giget: "npm:^2.0.0" + h3: "npm:^1.15.3" + httpxy: "npm:^0.1.7" + jiti: "npm:^2.4.2" + listhen: "npm:^1.9.0" + nypm: "npm:^0.6.0" + ofetch: "npm:^1.4.1" + ohash: "npm:^2.0.11" + pathe: "npm:^2.0.3" + perfect-debounce: "npm:^1.0.0" + pkg-types: "npm:^2.1.0" + scule: "npm:^1.3.0" + semver: "npm:^7.7.1" + std-env: "npm:^3.9.0" + tinyexec: "npm:^1.0.1" + ufo: "npm:^1.6.1" + youch: "npm:^4.1.0-beta.7" + bin: + nuxi: bin/nuxi.mjs + nuxi-ng: bin/nuxi.mjs + nuxt: bin/nuxi.mjs + nuxt-cli: bin/nuxi.mjs + checksum: 10c0/7533298702cbdc1e2943d73707f972b047ceede648d6ccc2ea18ea8fdcb11b87245685fbe9c7eed0fcec4243fde0da9f15776c24ab50a895f73bab9ef5e6da6c + languageName: node + linkType: hard + +"@nuxt/devalue@npm:^2.0.2": + version: 2.0.2 + resolution: "@nuxt/devalue@npm:2.0.2" + checksum: 10c0/a032b8c85540ad37f9f9196ef12684fbe16bf32bdef49abce0fef1dd268ee887c035766a5f8465c0701e51a3a9201c16d7c45726f4f70dada14d72b717eefca1 + languageName: node + linkType: hard + +"@nuxt/devtools-kit@npm:2.4.0": + version: 2.4.0 + resolution: "@nuxt/devtools-kit@npm:2.4.0" + dependencies: + "@nuxt/kit": "npm:^3.16.2" + "@nuxt/schema": "npm:^3.16.2" + execa: "npm:^8.0.1" + peerDependencies: + vite: ">=6.0" + checksum: 10c0/2f0c080d98a3044738af57d3735fa3bb02c0e45a371a4c907a15413c902a891e6596de64d4d99b156f9c7d15cb376a12438f30652f2b4243f84048901cf1e33b + languageName: node + linkType: hard + +"@nuxt/devtools-kit@npm:^1.3.1": + version: 1.7.0 + resolution: "@nuxt/devtools-kit@npm:1.7.0" + dependencies: + "@nuxt/kit": "npm:^3.15.0" + "@nuxt/schema": "npm:^3.15.0" + execa: "npm:^7.2.0" + peerDependencies: + vite: "*" + checksum: 10c0/9e868d3c147e373f522e5621135e876b8ae4af61cda9224256f8c7ca2822b40d7154ed0b423c89d360016fb1d4fe7cbcba56c2b6b05cdd2ad031b7ad8bafbe14 + languageName: node + linkType: hard + +"@nuxt/devtools-wizard@npm:2.4.0": + version: 2.4.0 + resolution: "@nuxt/devtools-wizard@npm:2.4.0" + dependencies: + consola: "npm:^3.4.2" + diff: "npm:^7.0.0" + execa: "npm:^8.0.1" + magicast: "npm:^0.3.5" + pathe: "npm:^2.0.3" + pkg-types: "npm:^2.1.0" + prompts: "npm:^2.4.2" + semver: "npm:^7.7.1" + bin: + devtools-wizard: cli.mjs + checksum: 10c0/079450a9f104c1bd6ac92efea02cb42cb8e44ca64f499418b06bae53ff0122a96456306a54b5d05951aabc8da4827710da555e97a31800cc8a516f4abd6e770a + languageName: node + linkType: hard + +"@nuxt/devtools@npm:^2.4.0": + version: 2.4.0 + resolution: "@nuxt/devtools@npm:2.4.0" + dependencies: + "@nuxt/devtools-kit": "npm:2.4.0" + "@nuxt/devtools-wizard": "npm:2.4.0" + "@nuxt/kit": "npm:^3.16.2" + "@vue/devtools-core": "npm:^7.7.2" + "@vue/devtools-kit": "npm:^7.7.2" + birpc: "npm:^2.3.0" + consola: "npm:^3.4.2" + destr: "npm:^2.0.5" + error-stack-parser-es: "npm:^1.0.5" + execa: "npm:^8.0.1" + fast-npm-meta: "npm:^0.4.2" + get-port-please: "npm:^3.1.2" + hookable: "npm:^5.5.3" + image-meta: "npm:^0.2.1" + is-installed-globally: "npm:^1.0.0" + launch-editor: "npm:^2.10.0" + local-pkg: "npm:^1.1.1" + magicast: "npm:^0.3.5" + nypm: "npm:^0.6.0" + ohash: "npm:^2.0.11" + pathe: "npm:^2.0.3" + perfect-debounce: "npm:^1.0.0" + pkg-types: "npm:^2.1.0" + semver: "npm:^7.7.1" + simple-git: "npm:^3.27.0" + sirv: "npm:^3.0.1" + structured-clone-es: "npm:^1.0.0" + tinyglobby: "npm:^0.2.12" + vite-plugin-inspect: "npm:^11.0.0" + vite-plugin-vue-tracer: "npm:^0.1.3" + which: "npm:^5.0.0" + ws: "npm:^8.18.1" + peerDependencies: + vite: ">=6.0" + bin: + devtools: cli.mjs + checksum: 10c0/7d63ffca61b7cfe0d4d248214cbbc451d9822a208d98c54bd3171ef460e14b1de619ee0fa509289aa8d59784d616a72dd36930453179078722ab2312e914bc06 + languageName: node + linkType: hard + +"@nuxt/eslint-config@npm:0.3.13": + version: 0.3.13 + resolution: "@nuxt/eslint-config@npm:0.3.13" + dependencies: + "@eslint/js": "npm:^9.2.0" + "@nuxt/eslint-plugin": "npm:0.3.13" + "@rushstack/eslint-patch": "npm:^1.10.3" + "@stylistic/eslint-plugin": "npm:^2.1.0" + "@typescript-eslint/eslint-plugin": "npm:^7.9.0" + "@typescript-eslint/parser": "npm:^7.9.0" + eslint-config-flat-gitignore: "npm:^0.1.5" + eslint-flat-config-utils: "npm:^0.2.5" + eslint-plugin-import-x: "npm:^0.5.0" + eslint-plugin-jsdoc: "npm:^48.2.5" + eslint-plugin-regexp: "npm:^2.5.0" + eslint-plugin-unicorn: "npm:^53.0.0" + eslint-plugin-vue: "npm:^9.26.0" + globals: "npm:^15.2.0" + pathe: "npm:^1.1.2" + tslib: "npm:^2.6.2" + vue-eslint-parser: "npm:^9.4.2" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + checksum: 10c0/e25660282c1f467e0e1c1dd2fd36f8ce4c5b636ed67d506ea456bf110c3467bf8c53e0dc3bda1a62fbf133ddd0e9da87fdbad239b35e8a3f3a9c2eac673a21a7 + languageName: node + linkType: hard + +"@nuxt/eslint-plugin@npm:0.3.13": + version: 0.3.13 + resolution: "@nuxt/eslint-plugin@npm:0.3.13" + dependencies: + "@typescript-eslint/types": "npm:^7.9.0" + "@typescript-eslint/utils": "npm:^7.9.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + checksum: 10c0/7023cd745309e961afbcb2c463c98770196e8b2b8ebd117ab45e5fc90e7b3d8b1d0a64ce653d5087da0f943d6133ebea5afafd8287f58ad8733f0f598ff6332d + languageName: node + linkType: hard + +"@nuxt/eslint@npm:^0.3.13": + version: 0.3.13 + resolution: "@nuxt/eslint@npm:0.3.13" + dependencies: + "@eslint/config-inspector": "npm:^0.4.8" + "@nuxt/devtools-kit": "npm:^1.3.1" + "@nuxt/eslint-config": "npm:0.3.13" + "@nuxt/eslint-plugin": "npm:0.3.13" + "@nuxt/kit": "npm:^3.11.2" + chokidar: "npm:^3.6.0" + eslint-flat-config-utils: "npm:^0.2.4" + eslint-typegen: "npm:^0.2.4" + find-up: "npm:^7.0.0" + get-port-please: "npm:^3.1.2" + mlly: "npm:^1.7.0" + pathe: "npm:^1.1.2" + unimport: "npm:^3.7.1" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + eslint-webpack-plugin: ^4.1.0 + vite-plugin-eslint2: ^4.4.0 + peerDependenciesMeta: + eslint-webpack-plugin: + optional: true + vite-plugin-eslint2: + optional: true + checksum: 10c0/89a42262ae51d37304a3656153a1b55c4389e2e6f83f158ab1f91021cef4c1c606d6798bc82e0c9b748d419b5de0472f1a51303f30a940ab68abc79b06bbaa83 + languageName: node + linkType: hard + +"@nuxt/kit@npm:3.17.3, @nuxt/kit@npm:^3.11.2, @nuxt/kit@npm:^3.15.0, @nuxt/kit@npm:^3.15.4, @nuxt/kit@npm:^3.16.0, @nuxt/kit@npm:^3.16.2, @nuxt/kit@npm:^3.5.0": + version: 3.17.3 + resolution: "@nuxt/kit@npm:3.17.3" + dependencies: + c12: "npm:^3.0.3" + consola: "npm:^3.4.2" + defu: "npm:^6.1.4" + destr: "npm:^2.0.5" + errx: "npm:^0.1.0" + exsolve: "npm:^1.0.5" + ignore: "npm:^7.0.4" + jiti: "npm:^2.4.2" + klona: "npm:^2.0.6" + knitwork: "npm:^1.2.0" + mlly: "npm:^1.7.4" + ohash: "npm:^2.0.11" + pathe: "npm:^2.0.3" + pkg-types: "npm:^2.1.0" + scule: "npm:^1.3.0" + semver: "npm:^7.7.1" + std-env: "npm:^3.9.0" + tinyglobby: "npm:^0.2.13" + ufo: "npm:^1.6.1" + unctx: "npm:^2.4.1" + unimport: "npm:^5.0.1" + untyped: "npm:^2.0.0" + checksum: 10c0/0bb305f6669a51e5fe7b1fbd02c506ca9010c15a979088adb5397641293635b14495a399ccfa66c3d5ae18ab9e890f8daed147b559342f3fa3561a737bda7f3d + languageName: node + linkType: hard + +"@nuxt/schema@npm:3.17.3, @nuxt/schema@npm:^3.15.0, @nuxt/schema@npm:^3.16.2": + version: 3.17.3 + resolution: "@nuxt/schema@npm:3.17.3" + dependencies: + "@vue/shared": "npm:^3.5.13" + consola: "npm:^3.4.2" + defu: "npm:^6.1.4" + pathe: "npm:^2.0.3" + std-env: "npm:^3.9.0" + checksum: 10c0/48f60c881503b147b8c3411b766976c01dde7f4647c4590490a7b4b1bbe043729f64bf6218300055c443ea10b6661b37eb4a04de71b97b1eed27c1d508ac2a15 + languageName: node + linkType: hard + +"@nuxt/telemetry@npm:^2.6.6": + version: 2.6.6 + resolution: "@nuxt/telemetry@npm:2.6.6" + dependencies: + "@nuxt/kit": "npm:^3.15.4" + citty: "npm:^0.1.6" + consola: "npm:^3.4.2" + destr: "npm:^2.0.3" + dotenv: "npm:^16.4.7" + git-url-parse: "npm:^16.0.1" + is-docker: "npm:^3.0.0" + ofetch: "npm:^1.4.1" + package-manager-detector: "npm:^1.1.0" + pathe: "npm:^2.0.3" + rc9: "npm:^2.1.2" + std-env: "npm:^3.8.1" + bin: + nuxt-telemetry: bin/nuxt-telemetry.mjs + checksum: 10c0/33b68970fca5993bb1e7abd8d7a64c7d2f22857d44e4fa07ae4daa5a8889ae723fa346b2f54b1a9450f59b238a34aaa3ea0238cdef648b513b9efaa0df040787 + languageName: node + linkType: hard + +"@nuxt/vite-builder@npm:3.17.3": + version: 3.17.3 + resolution: "@nuxt/vite-builder@npm:3.17.3" + dependencies: + "@nuxt/kit": "npm:3.17.3" + "@rollup/plugin-replace": "npm:^6.0.2" + "@vitejs/plugin-vue": "npm:^5.2.4" + "@vitejs/plugin-vue-jsx": "npm:^4.1.2" + autoprefixer: "npm:^10.4.21" + consola: "npm:^3.4.2" + cssnano: "npm:^7.0.7" + defu: "npm:^6.1.4" + esbuild: "npm:^0.25.4" + escape-string-regexp: "npm:^5.0.0" + exsolve: "npm:^1.0.5" + externality: "npm:^1.0.2" + get-port-please: "npm:^3.1.2" + h3: "npm:^1.15.3" + jiti: "npm:^2.4.2" + knitwork: "npm:^1.2.0" + magic-string: "npm:^0.30.17" + mlly: "npm:^1.7.4" + mocked-exports: "npm:^0.1.1" + ohash: "npm:^2.0.11" + pathe: "npm:^2.0.3" + perfect-debounce: "npm:^1.0.0" + pkg-types: "npm:^2.1.0" + postcss: "npm:^8.5.3" + rollup-plugin-visualizer: "npm:^5.14.0" + std-env: "npm:^3.9.0" + ufo: "npm:^1.6.1" + unenv: "npm:^2.0.0-rc.15" + unplugin: "npm:^2.3.3" + vite: "npm:^6.3.5" + vite-node: "npm:^3.1.3" + vite-plugin-checker: "npm:^0.9.3" + vue-bundle-renderer: "npm:^2.1.1" + peerDependencies: + vue: ^3.3.4 + checksum: 10c0/bec5c749d8a338274403020c89e5d226c7370f972ffd4669f81a55f2d4608fd549c22d83bf77c1c224e524aad91412b51aaadadafffbf3f8141cc460a1c56111 + languageName: node + linkType: hard + +"@nuxtjs/tailwindcss@npm:^6.14.0": + version: 6.14.0 + resolution: "@nuxtjs/tailwindcss@npm:6.14.0" + dependencies: + "@nuxt/kit": "npm:^3.16.0" + autoprefixer: "npm:^10.4.20" + c12: "npm:^3.0.2" + consola: "npm:^3.4.0" + defu: "npm:^6.1.4" + h3: "npm:^1.15.1" + klona: "npm:^2.0.6" + ohash: "npm:^2.0.11" + pathe: "npm:^2.0.3" + pkg-types: "npm:^2.1.0" + postcss: "npm:^8.5.3" + postcss-nesting: "npm:^13.0.1" + tailwind-config-viewer: "npm:^2.0.4" + tailwindcss: "npm:~3.4.17" + ufo: "npm:^1.5.4" + unctx: "npm:^2.4.1" + checksum: 10c0/7acf1234daba0770b843ac7cc83a5cf266a083592aed065f14526a258375c21e81587f3790f132957abdb0c0ea92174efd386d2ea7a6dac821df5b91eeb4c2d4 + languageName: node + linkType: hard + +"@oxc-parser/binding-darwin-arm64@npm:0.69.0": + version: 0.69.0 + resolution: "@oxc-parser/binding-darwin-arm64@npm:0.69.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-parser/binding-darwin-x64@npm:0.69.0": + version: 0.69.0 + resolution: "@oxc-parser/binding-darwin-x64@npm:0.69.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@oxc-parser/binding-freebsd-x64@npm:0.69.0": + version: 0.69.0 + resolution: "@oxc-parser/binding-freebsd-x64@npm:0.69.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-arm-gnueabihf@npm:0.69.0": + version: 0.69.0 + resolution: "@oxc-parser/binding-linux-arm-gnueabihf@npm:0.69.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-arm64-gnu@npm:0.69.0": + version: 0.69.0 + resolution: "@oxc-parser/binding-linux-arm64-gnu@npm:0.69.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-arm64-musl@npm:0.69.0": + version: 0.69.0 + resolution: "@oxc-parser/binding-linux-arm64-musl@npm:0.69.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-riscv64-gnu@npm:0.69.0": + version: 0.69.0 + resolution: "@oxc-parser/binding-linux-riscv64-gnu@npm:0.69.0" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-s390x-gnu@npm:0.69.0": + version: 0.69.0 + resolution: "@oxc-parser/binding-linux-s390x-gnu@npm:0.69.0" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-x64-gnu@npm:0.69.0": + version: 0.69.0 + resolution: "@oxc-parser/binding-linux-x64-gnu@npm:0.69.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-x64-musl@npm:0.69.0": + version: 0.69.0 + resolution: "@oxc-parser/binding-linux-x64-musl@npm:0.69.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@oxc-parser/binding-wasm32-wasi@npm:0.69.0": + version: 0.69.0 + resolution: "@oxc-parser/binding-wasm32-wasi@npm:0.69.0" + dependencies: + "@napi-rs/wasm-runtime": "npm:^0.2.9" + conditions: cpu=wasm32 + languageName: node + linkType: hard + +"@oxc-parser/binding-win32-arm64-msvc@npm:0.69.0": + version: 0.69.0 + resolution: "@oxc-parser/binding-win32-arm64-msvc@npm:0.69.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-parser/binding-win32-x64-msvc@npm:0.69.0": + version: 0.69.0 + resolution: "@oxc-parser/binding-win32-x64-msvc@npm:0.69.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@oxc-project/types@npm:^0.69.0": + version: 0.69.0 + resolution: "@oxc-project/types@npm:0.69.0" + checksum: 10c0/30e676b11c1ede3886618397f345338b7fc24923e8eed150464736b74f03b2d91e602739d17bb0b1f5282fce4f630129c411a7f906066192eb8892b9a204806f + languageName: node + linkType: hard + +"@parcel/watcher-android-arm64@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-android-arm64@npm:2.5.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/watcher-darwin-arm64@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-darwin-arm64@npm:2.5.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/watcher-darwin-x64@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-darwin-x64@npm:2.5.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@parcel/watcher-freebsd-x64@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-freebsd-x64@npm:2.5.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm-glibc@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-linux-arm-glibc@npm:2.5.1" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm-musl@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-linux-arm-musl@npm:2.5.1" + conditions: os=linux & cpu=arm & libc=musl + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm64-glibc@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-linux-arm64-glibc@npm:2.5.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm64-musl@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-linux-arm64-musl@npm:2.5.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@parcel/watcher-linux-x64-glibc@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-linux-x64-glibc@npm:2.5.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@parcel/watcher-linux-x64-musl@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-linux-x64-musl@npm:2.5.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@parcel/watcher-wasm@npm:^2.4.1": + version: 2.5.1 + resolution: "@parcel/watcher-wasm@npm:2.5.1" + dependencies: + is-glob: "npm:^4.0.3" + micromatch: "npm:^4.0.5" + napi-wasm: "npm:^1.1.0" + checksum: 10c0/c5340ef1017e4c2f9a45b40b59f0a2a9db3edf7a7a2446e16cbce0d099cffc90febd06afa34912c4baf8f08111565a1ac65e4d33c192d5dc2829811293d94de6 + languageName: node + linkType: hard + +"@parcel/watcher-win32-arm64@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-win32-arm64@npm:2.5.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/watcher-win32-ia32@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-win32-ia32@npm:2.5.1" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@parcel/watcher-win32-x64@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-win32-x64@npm:2.5.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@parcel/watcher@npm:^2.4.1, @parcel/watcher@npm:^2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher@npm:2.5.1" + dependencies: + "@parcel/watcher-android-arm64": "npm:2.5.1" + "@parcel/watcher-darwin-arm64": "npm:2.5.1" + "@parcel/watcher-darwin-x64": "npm:2.5.1" + "@parcel/watcher-freebsd-x64": "npm:2.5.1" + "@parcel/watcher-linux-arm-glibc": "npm:2.5.1" + "@parcel/watcher-linux-arm-musl": "npm:2.5.1" + "@parcel/watcher-linux-arm64-glibc": "npm:2.5.1" + "@parcel/watcher-linux-arm64-musl": "npm:2.5.1" + "@parcel/watcher-linux-x64-glibc": "npm:2.5.1" + "@parcel/watcher-linux-x64-musl": "npm:2.5.1" + "@parcel/watcher-win32-arm64": "npm:2.5.1" + "@parcel/watcher-win32-ia32": "npm:2.5.1" + "@parcel/watcher-win32-x64": "npm:2.5.1" + detect-libc: "npm:^1.0.3" + is-glob: "npm:^4.0.3" + micromatch: "npm:^4.0.5" + node-addon-api: "npm:^7.0.0" + node-gyp: "npm:latest" + dependenciesMeta: + "@parcel/watcher-android-arm64": + optional: true + "@parcel/watcher-darwin-arm64": + optional: true + "@parcel/watcher-darwin-x64": + optional: true + "@parcel/watcher-freebsd-x64": + optional: true + "@parcel/watcher-linux-arm-glibc": + optional: true + "@parcel/watcher-linux-arm-musl": + optional: true + "@parcel/watcher-linux-arm64-glibc": + optional: true + "@parcel/watcher-linux-arm64-musl": + optional: true + "@parcel/watcher-linux-x64-glibc": + optional: true + "@parcel/watcher-linux-x64-musl": + optional: true + "@parcel/watcher-win32-arm64": + optional: true + "@parcel/watcher-win32-ia32": + optional: true + "@parcel/watcher-win32-x64": + optional: true + checksum: 10c0/8f35073d0c0b34a63d4c8d2213482f0ebc6a25de7b2cdd415d19cb929964a793cb285b68d1d50bfb732b070b3c82a2fdb4eb9c250eab709a1cd9d63345455a82 + languageName: node + linkType: hard + +"@pinia/nuxt@npm:^0.4.11": + version: 0.4.11 + resolution: "@pinia/nuxt@npm:0.4.11" + dependencies: + "@nuxt/kit": "npm:^3.5.0" + pinia: "npm:>=2.1.0" + checksum: 10c0/e4fbde57e97705ba933b46afd0f508293657484f58465dbbefd98c5b6a292bbb1ca1e47ede0c0b9e79052d5077f52aba7e652a25b247d78329db4fd071d9fd28 + languageName: node + linkType: hard + +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd + languageName: node + linkType: hard + +"@pkgr/core@npm:^0.1.0": + version: 0.1.2 + resolution: "@pkgr/core@npm:0.1.2" + checksum: 10c0/fd4acc154c8f1b5c544b6dd152b7ce68f6cbb8b92e9abf2e5d756d6e95052d08d0d693a668dea67af1386d62635b50adfe463cce03c5620402b468498cc7592f + languageName: node + linkType: hard + +"@polka/url@npm:^1.0.0-next.24": + version: 1.0.0-next.29 + resolution: "@polka/url@npm:1.0.0-next.29" + checksum: 10c0/0d58e081844095cb029d3c19a659bfefd09d5d51a2f791bc61eba7ea826f13d6ee204a8a448c2f5a855c17df07b37517373ff916dd05801063c0568ae9937684 + languageName: node + linkType: hard + +"@popperjs/core@npm:^2.9.0": + version: 2.11.8 + resolution: "@popperjs/core@npm:2.11.8" + checksum: 10c0/4681e682abc006d25eb380d0cf3efc7557043f53b6aea7a5057d0d1e7df849a00e281cd8ea79c902a35a414d7919621fc2ba293ecec05f413598e0b23d5a1e63 + languageName: node + linkType: hard + +"@poppinss/colors@npm:^4.1.4": + version: 4.1.4 + resolution: "@poppinss/colors@npm:4.1.4" + dependencies: + kleur: "npm:^4.1.5" + checksum: 10c0/31d358a53cc2ecc138646365fc8e7df8596f74f8bd9f4d2fe03013e5adafaca38f701383d1b8f035a6f14f60492a05b9acbc2694b363785fe22e3caaa3e7e5fc + languageName: node + linkType: hard + +"@poppinss/dumper@npm:^0.6.3": + version: 0.6.3 + resolution: "@poppinss/dumper@npm:0.6.3" + dependencies: + "@poppinss/colors": "npm:^4.1.4" + "@sindresorhus/is": "npm:^7.0.1" + supports-color: "npm:^10.0.0" + checksum: 10c0/26c0addeb39ba0b6ccb0ffd34cdc1214c5a6ea43e8ff2e96d13d8952a0adb1b321d5265855e8cb650a1963f74d398cc5faa0620d1835adac8398d1ff7ec06afc + languageName: node + linkType: hard + +"@poppinss/exception@npm:^1.2.0": + version: 1.2.1 + resolution: "@poppinss/exception@npm:1.2.1" + checksum: 10c0/53022f852607a7ff2294b28375990e66e22379118d32bf6743e5d74c32e046e7b7cd19f3ddd747c2fca120759d5e4800365ba5a831d733d9c516b54919ab4116 + languageName: node + linkType: hard + +"@repeaterjs/repeater@npm:^3.0.4, @repeaterjs/repeater@npm:^3.0.6": + version: 3.0.6 + resolution: "@repeaterjs/repeater@npm:3.0.6" + checksum: 10c0/c3915e2603927c7d6a9eb09673bc28fc49ab3a86947ec191a74663b33deebee2fcc4b03c31cc663ff27bd6db9e6c9487639b6935e265d601ce71b8c497f5f4a8 + languageName: node + linkType: hard + +"@rollup/plugin-alias@npm:^5.1.1": + version: 5.1.1 + resolution: "@rollup/plugin-alias@npm:5.1.1" + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: 10c0/00592400563b65689631e820bd72ff440f5cd21021bbd2f21b8558582ab58fd109067da77000091e40fcb8c20cabcd3a09b239a30e012bb47f6bc1a15b68ca59 + languageName: node + linkType: hard + +"@rollup/plugin-commonjs@npm:^28.0.3": + version: 28.0.3 + resolution: "@rollup/plugin-commonjs@npm:28.0.3" + dependencies: + "@rollup/pluginutils": "npm:^5.0.1" + commondir: "npm:^1.0.1" + estree-walker: "npm:^2.0.2" + fdir: "npm:^6.2.0" + is-reference: "npm:1.2.1" + magic-string: "npm:^0.30.3" + picomatch: "npm:^4.0.2" + peerDependencies: + rollup: ^2.68.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: 10c0/0dbc61a5a894cdf526c3f0a738243cf1b3f634d592db0f2b9cad8c5d8e4c3e645d9b7ac19761c07a8a475118cafa6cdef4746111019388dd6e962f7373878ea4 + languageName: node + linkType: hard + +"@rollup/plugin-inject@npm:^5.0.5": + version: 5.0.5 + resolution: "@rollup/plugin-inject@npm:5.0.5" + dependencies: + "@rollup/pluginutils": "npm:^5.0.1" + estree-walker: "npm:^2.0.2" + magic-string: "npm:^0.30.3" + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: 10c0/22d10cf44fa56a6683d5ac4df24a9003379b3dcaae9897f5c30c844afc2ebca83cfaa5557f13a1399b1c8a0d312c3217bcacd508b7ebc4b2cbee401bd1ec8be2 + languageName: node + linkType: hard + +"@rollup/plugin-json@npm:^6.1.0": + version: 6.1.0 + resolution: "@rollup/plugin-json@npm:6.1.0" + dependencies: + "@rollup/pluginutils": "npm:^5.1.0" + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: 10c0/9400c431b5e0cf3088ba2eb2d038809a2b0fb2a84ed004997da85582f48cd64958ed3168893c4f2c8109e38652400ed68282d0c92bf8ec07a3b2ef2e1ceab0b7 + languageName: node + linkType: hard + +"@rollup/plugin-node-resolve@npm:^16.0.1": + version: 16.0.1 + resolution: "@rollup/plugin-node-resolve@npm:16.0.1" + dependencies: + "@rollup/pluginutils": "npm:^5.0.1" + "@types/resolve": "npm:1.20.2" + deepmerge: "npm:^4.2.2" + is-module: "npm:^1.0.0" + resolve: "npm:^1.22.1" + peerDependencies: + rollup: ^2.78.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: 10c0/54d33282321492fafec29b49c66dd1efd90c72a24f9d1569dcb57a72ab8de8a782810f39fdb917b96ec6a598c18f3416588b419bf7af331793a010de1fe28c60 + languageName: node + linkType: hard + +"@rollup/plugin-replace@npm:^6.0.2": + version: 6.0.2 + resolution: "@rollup/plugin-replace@npm:6.0.2" + dependencies: + "@rollup/pluginutils": "npm:^5.0.1" + magic-string: "npm:^0.30.3" + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: 10c0/71c0dea46f560c8dff59853446d43fa0e8258139a74d2af09fce5790d0540ff3d874c8fd9962cb049577d25327262bfc97485ef90b2a0a21bf28a9d3bd8c6d44 + languageName: node + linkType: hard + +"@rollup/plugin-terser@npm:^0.4.4": + version: 0.4.4 + resolution: "@rollup/plugin-terser@npm:0.4.4" + dependencies: + serialize-javascript: "npm:^6.0.1" + smob: "npm:^1.0.0" + terser: "npm:^5.17.4" + peerDependencies: + rollup: ^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: 10c0/b9cb6c8f02ac1c1344019e9fb854321b74f880efebc41b6bdd84f18331fce0f4a2aadcdb481042245cd3f409b429ac363af71f9efec4a2024731d67d32af36ee + languageName: node + linkType: hard + +"@rollup/pluginutils@npm:^5.0.1, @rollup/pluginutils@npm:^5.1.0, @rollup/pluginutils@npm:^5.1.3, @rollup/pluginutils@npm:^5.1.4": + version: 5.1.4 + resolution: "@rollup/pluginutils@npm:5.1.4" + dependencies: + "@types/estree": "npm:^1.0.0" + estree-walker: "npm:^2.0.2" + picomatch: "npm:^4.0.2" + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: 10c0/6d58fbc6f1024eb4b087bc9bf59a1d655a8056a60c0b4021d3beaeec3f0743503f52467fd89d2cf0e7eccf2831feb40a05ad541a17637ea21ba10b21c2004deb + languageName: node + linkType: hard + +"@rollup/rollup-android-arm-eabi@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.40.2" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-android-arm64@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-android-arm64@npm:4.40.2" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-arm64@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-darwin-arm64@npm:4.40.2" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-x64@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-darwin-x64@npm:4.40.2" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-freebsd-arm64@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.40.2" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-freebsd-x64@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-freebsd-x64@npm:4.40.2" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.40.2" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-musleabihf@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.40.2" + conditions: os=linux & cpu=arm & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.40.2" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.40.2" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-loongarch64-gnu@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.40.2" + conditions: os=linux & cpu=loong64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.40.2" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.40.2" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-musl@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.40.2" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-s390x-gnu@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.40.2" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.40.2" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.40.2" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.40.2" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-ia32-msvc@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.40.2" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.40.2" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@rushstack/eslint-patch@npm:^1.10.3": + version: 1.11.0 + resolution: "@rushstack/eslint-patch@npm:1.11.0" + checksum: 10c0/abea8d8cf2f4f50343f74abd6a8173c521ddd09b102021f5aa379ef373c40af5948b23db0e87eca1682e559e09d97d3f0c48ea71edad682c6bf72b840c8675b3 + languageName: node + linkType: hard + +"@sindresorhus/is@npm:^0.14.0": + version: 0.14.0 + resolution: "@sindresorhus/is@npm:0.14.0" + checksum: 10c0/7247aa9314d4fc3df9b3f63d8b5b962a89c7600a5db1f268546882bfc4d31a975a899f5f42a09dd41a11e58636e6402f7c40f92df853aee417247bb11faee9a0 + languageName: node + linkType: hard + +"@sindresorhus/is@npm:^7.0.1": + version: 7.0.1 + resolution: "@sindresorhus/is@npm:7.0.1" + checksum: 10c0/6d43a916d70d9b64066394c272883869b22faf21f4748aaf399c1b691ea704ea607d1668ff2eb5704e5be8809c4a7faafe16be048ce5e1a2ba6e8928b8e3461c + languageName: node + linkType: hard + +"@sindresorhus/merge-streams@npm:^2.1.0": + version: 2.3.0 + resolution: "@sindresorhus/merge-streams@npm:2.3.0" + checksum: 10c0/69ee906f3125fb2c6bb6ec5cdd84e8827d93b49b3892bce8b62267116cc7e197b5cccf20c160a1d32c26014ecd14470a72a5e3ee37a58f1d6dadc0db1ccf3894 + languageName: node + linkType: hard + +"@socket.io/component-emitter@npm:~3.1.0": + version: 3.1.2 + resolution: "@socket.io/component-emitter@npm:3.1.2" + checksum: 10c0/c4242bad66f67e6f7b712733d25b43cbb9e19a595c8701c3ad99cbeb5901555f78b095e24852f862fffb43e96f1d8552e62def885ca82ae1bb05da3668fd87d7 + languageName: node + linkType: hard + +"@speckle/objectloader@npm:^2.24.0": + version: 2.24.0 + resolution: "@speckle/objectloader@npm:2.24.0" + dependencies: + "@babel/core": "npm:^7.17.9" + "@speckle/shared": "npm:^2.24.0" + core-js: "npm:^3.21.1" + lodash: "npm:^4.17.21" + lodash-es: "npm:^4.17.21" + regenerator-runtime: "npm:^0.13.7" + checksum: 10c0/d4352caa1162b07ac71575dfbc7080e811428482203ce8e8b4ab0c23826cd67824470dd52a33a42c81032d42bbd825277dbba2b920ab172018d208cede8dd805 + languageName: node + linkType: hard + +"@speckle/objectsender@npm:^2.24.0": + version: 2.24.0 + resolution: "@speckle/objectsender@npm:2.24.0" + dependencies: + "@speckle/shared": "npm:^2.24.0" + lodash: "npm:^4.17.21" + lodash-es: "npm:^4.17.21" + reflect-metadata: "npm:^0.2.2" + checksum: 10c0/5d463e696858cf5b1baaf327a09181bbcbc64f852b403fecc87b0565ddb055909779e5780ca4f818a44a694b7c74de493cd26ec728531b1dfb7b31a0044730c0 + languageName: node + linkType: hard + +"@speckle/shared@npm:^2.24.0": + version: 2.24.0 + resolution: "@speckle/shared@npm:2.24.0" + dependencies: + dayjs: "npm:^1.11.13" + lodash: "npm:^4.17.21" + lodash-es: "npm:^4.17.21" + nanoid: "npm:^5.1.5" + true-myth: "npm:^8.5.0" + type-fest: "npm:^3.11.1" + peerDependencies: + "@tiptap/core": ^2.0.0-beta.176 + knex: "*" + mixpanel: ^0.17.0 + pino: ^8.7.0 + pino-http: ^8.0.0 + pino-pretty: ">=8.0.0" + ua-parser-js: ^1.0.38 + znv: ^0.4.0 + zod: ^3.22.4 + checksum: 10c0/5e9be7e83a74a6de2094999dfbe3f41356790886381e44648250a4bc883764d47799157e526a89285e40d029332d5487b3c013d91fee084b2fb1b74537e831e8 + languageName: node + linkType: hard + +"@speckle/tailwind-theme@npm:2.24.1-alpha.0": + version: 2.24.1-alpha.0 + resolution: "@speckle/tailwind-theme@npm:2.24.1-alpha.0" + dependencies: + "@tailwindcss/forms": "npm:^0.5.3" + peerDependencies: + postcss: ^8.4.18 + postcss-nesting: ^10.2.0 + tailwindcss: ^3.3.2 + checksum: 10c0/ece3ecfa80162f0a4dc0f6bcb28839331e2c4208bf922c478d00c859248f6e77b8267e06f4c505f98fd625682006b22f8c5f63c2749c7b4efa277dcab75c2d0f + languageName: node + linkType: hard + +"@speckle/ui-components-nuxt@npm:^2.24.0": + version: 2.24.0 + resolution: "@speckle/ui-components-nuxt@npm:2.24.0" + dependencies: + lodash-es: "npm:^4.0.0" + peerDependencies: + "@nuxt/kit": ^3.2.0 + "@speckle/ui-components": "*" + checksum: 10c0/dbd89f3511a586c63104d787220e24aeeb8fbf40c3c11a21c107633eecf0a6fddf2730a23070d4ed4f6822863cce008b421b228498a4ad764fc81c3b4cd541c1 + languageName: node + linkType: hard + +"@speckle/ui-components@npm:^2.24.0": + version: 2.24.0 + resolution: "@speckle/ui-components@npm:2.24.0" + dependencies: + "@headlessui/vue": "npm:^1.7.18" + "@heroicons/vue": "npm:^2.0.12" + "@speckle/shared": "npm:^2.24.0" + "@storybook/test": "npm:^8.1.10" + "@vueuse/core": "npm:^9.13.0" + lodash: "npm:^4.0.0" + lodash-es: "npm:^4.0.0" + nanoid: "npm:^3.0.0" + v3-infinite-loading: "npm:^1.2.2" + vue-advanced-cropper: "npm:^2.8.8" + vue-tippy: "npm:^6.0.0" + peerDependencies: + vee-validate: ^4.7.0 + vue: ^3.3.0 + checksum: 10c0/e1632132cb6635423e7aec1c8c9b671012db98d3b71f21a080f1a6d7b1b86013ad901593ab67d915c2f817168d8bf9c66df7c837eea45e6f7d90b3b5c0032d39 + languageName: node + linkType: hard + +"@speed-highlight/core@npm:^1.2.7": + version: 1.2.7 + resolution: "@speed-highlight/core@npm:1.2.7" + checksum: 10c0/33905da58b7e0f0857f3ec7c60a4d2e7bd7e25573dd8676de2dab555057e9873084fd2bb1d97c4629131a990f7e230cb7068045370a15c77c4412527776791d4 + languageName: node + linkType: hard + +"@storybook/global@npm:^5.0.0": + version: 5.0.0 + resolution: "@storybook/global@npm:5.0.0" + checksum: 10c0/8f1b61dcdd3a89584540896e659af2ecc700bc740c16909a7be24ac19127ea213324de144a141f7caf8affaed017d064fea0618d453afbe027cf60f54b4a6d0b + languageName: node + linkType: hard + +"@storybook/instrumenter@npm:8.6.12": + version: 8.6.12 + resolution: "@storybook/instrumenter@npm:8.6.12" + dependencies: + "@storybook/global": "npm:^5.0.0" + "@vitest/utils": "npm:^2.1.1" + peerDependencies: + storybook: ^8.6.12 + checksum: 10c0/4cf02774bd5fb9dbc095a78eb4ee6848928fc7d17bdec7c656bb5ab21382533c8e0c219c1e253d48b652707d10d2566f1d6fc8bd37196acd21ee342522c007d1 + languageName: node + linkType: hard + +"@storybook/test@npm:^8.1.10": + version: 8.6.12 + resolution: "@storybook/test@npm:8.6.12" + dependencies: + "@storybook/global": "npm:^5.0.0" + "@storybook/instrumenter": "npm:8.6.12" + "@testing-library/dom": "npm:10.4.0" + "@testing-library/jest-dom": "npm:6.5.0" + "@testing-library/user-event": "npm:14.5.2" + "@vitest/expect": "npm:2.0.5" + "@vitest/spy": "npm:2.0.5" + peerDependencies: + storybook: ^8.6.12 + checksum: 10c0/3717cc21d840e5900458debe3414b179d088b4973054933d355d6916344cb1857dd02ab8d1ff168f48fb8038f14da99e0a62a7f678e557bdbe3a2c225ce162f3 + languageName: node + linkType: hard + +"@stylistic/eslint-plugin@npm:^2.1.0": + version: 2.13.0 + resolution: "@stylistic/eslint-plugin@npm:2.13.0" + dependencies: + "@typescript-eslint/utils": "npm:^8.13.0" + eslint-visitor-keys: "npm:^4.2.0" + espree: "npm:^10.3.0" + estraverse: "npm:^5.3.0" + picomatch: "npm:^4.0.2" + peerDependencies: + eslint: ">=8.40.0" + checksum: 10c0/8a2bf15b4a29399d4a55f65385e380f30ba5ab029005f5ff119b71456d4df301d5b4bb30c635904d69dc19c50a337c7b2d991cd86092a94fe202655725659576 + languageName: node + linkType: hard + +"@szmarczak/http-timer@npm:^1.1.2": + version: 1.1.2 + resolution: "@szmarczak/http-timer@npm:1.1.2" + dependencies: + defer-to-connect: "npm:^1.0.1" + checksum: 10c0/0594140e027ce4e98970c6d176457fcbff80900b1b3101ac0d08628ca6d21d70e0b94c6aaada94d4f76c1423fcc7195af83da145ce0fd556fc0595ca74a17b8b + languageName: node + linkType: hard + +"@tailwindcss/forms@npm:^0.5.3": + version: 0.5.10 + resolution: "@tailwindcss/forms@npm:0.5.10" + dependencies: + mini-svg-data-uri: "npm:^1.2.3" + peerDependencies: + tailwindcss: ">=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1" + checksum: 10c0/235cbf08edf09362418808ebddcc767c9e151fba55f3d7d2d5c47862c715b6169204b9277461036707b4c30f3fb1e217933278f80525840e198f8e7dd9168e0d + languageName: node + linkType: hard + +"@tanstack/virtual-core@npm:3.13.8": + version: 3.13.8 + resolution: "@tanstack/virtual-core@npm:3.13.8" + checksum: 10c0/4b76b5d87fb26c928939a58d3887b9191574f029f60f9146eb05fd591f8b96a69bd3c7a1d64dd9d6cbfbfc85a0bd22b49a79fa4d3abab64eee595db9ad94f3ea + languageName: node + linkType: hard + +"@tanstack/vue-virtual@npm:^3.0.0-beta.60": + version: 3.13.8 + resolution: "@tanstack/vue-virtual@npm:3.13.8" + dependencies: + "@tanstack/virtual-core": "npm:3.13.8" + peerDependencies: + vue: ^2.7.0 || ^3.0.0 + checksum: 10c0/0f1e1f3561dc1d5c62d3ba29b4ec4de2ef43dcfd96a577d33729b36a5f5bc81be561600a454c0ee98dfbb9397a47efe57ab9cea9bbaafeb2aa91cdd9ed5f7268 + languageName: node + linkType: hard + +"@testing-library/dom@npm:10.4.0": + version: 10.4.0 + resolution: "@testing-library/dom@npm:10.4.0" + dependencies: + "@babel/code-frame": "npm:^7.10.4" + "@babel/runtime": "npm:^7.12.5" + "@types/aria-query": "npm:^5.0.1" + aria-query: "npm:5.3.0" + chalk: "npm:^4.1.0" + dom-accessibility-api: "npm:^0.5.9" + lz-string: "npm:^1.5.0" + pretty-format: "npm:^27.0.2" + checksum: 10c0/0352487720ecd433400671e773df0b84b8268fb3fe8e527cdfd7c11b1365b398b4e0eddba6e7e0c85e8d615f48257753283fccec41f6b986fd6c85f15eb5f84f + languageName: node + linkType: hard + +"@testing-library/jest-dom@npm:6.5.0": + version: 6.5.0 + resolution: "@testing-library/jest-dom@npm:6.5.0" + dependencies: + "@adobe/css-tools": "npm:^4.4.0" + aria-query: "npm:^5.0.0" + chalk: "npm:^3.0.0" + css.escape: "npm:^1.5.1" + dom-accessibility-api: "npm:^0.6.3" + lodash: "npm:^4.17.21" + redent: "npm:^3.0.0" + checksum: 10c0/fd5936a547f04608d8de15a7de3ae26516f21023f8f45169b10c8c8847015fd20ec259b7309f08aa1031bcbc37c6e5e6f532d1bb85ef8f91bad654193ec66a4c + languageName: node + linkType: hard + +"@testing-library/user-event@npm:14.5.2": + version: 14.5.2 + resolution: "@testing-library/user-event@npm:14.5.2" + peerDependencies: + "@testing-library/dom": ">=7.21.4" + checksum: 10c0/68a0c2aa28a3c8e6eb05cafee29705438d7d8a9427423ce5064d44f19c29e89b5636de46dd2f28620fb10abba75c67130185bbc3aa23ac1163a227a5f36641e1 + languageName: node + linkType: hard + +"@trysound/sax@npm:0.2.0": + version: 0.2.0 + resolution: "@trysound/sax@npm:0.2.0" + checksum: 10c0/44907308549ce775a41c38a815f747009ac45929a45d642b836aa6b0a536e4978d30b8d7d680bbd116e9dd73b7dbe2ef0d1369dcfc2d09e83ba381e485ecbe12 + languageName: node + linkType: hard + +"@tybys/wasm-util@npm:^0.9.0": + version: 0.9.0 + resolution: "@tybys/wasm-util@npm:0.9.0" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/f9fde5c554455019f33af6c8215f1a1435028803dc2a2825b077d812bed4209a1a64444a4ca0ce2ea7e1175c8d88e2f9173a36a33c199e8a5c671aa31de8242d + languageName: node + linkType: hard + +"@types/apollo-upload-client@npm:^17.0.1": + version: 17.0.5 + resolution: "@types/apollo-upload-client@npm:17.0.5" + dependencies: + "@apollo/client": "npm:^3.7.0" + "@types/extract-files": "npm:*" + graphql: "npm:14 - 16" + checksum: 10c0/ce3ea0bb1579867b7a8da16edab7c4ba56a174e820238a087f748f1d8be5d65fbd6ba796961023722f86e78425e459e5fb51d05414ecf4acd59880e0f4b8b1ac + languageName: node + linkType: hard + +"@types/aria-query@npm:^5.0.1": + version: 5.0.4 + resolution: "@types/aria-query@npm:5.0.4" + checksum: 10c0/dc667bc6a3acc7bba2bccf8c23d56cb1f2f4defaa704cfef595437107efaa972d3b3db9ec1d66bc2711bfc35086821edd32c302bffab36f2e79b97f312069f08 + languageName: node + linkType: hard + +"@types/cors@npm:^2.8.12": + version: 2.8.18 + resolution: "@types/cors@npm:2.8.18" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/9dd1075de0e3a40c304826668960c797e67e597a734fb8e8ab404561f31ef2bd553ef5500eb86da7e91a344bee038a59931d2fbf182fbce09f13816f51fdd80e + languageName: node + linkType: hard + +"@types/eslint@npm:^8.56.10": + version: 8.56.12 + resolution: "@types/eslint@npm:8.56.12" + dependencies: + "@types/estree": "npm:*" + "@types/json-schema": "npm:*" + checksum: 10c0/e4ca426abe9d55f82b69a3250bec78b6d340ad1e567f91c97ecc59d3b2d6a1d8494955ac62ad0ea14b97519db580611c02be8277cbea370bdfb0f96aa2910504 + languageName: node + linkType: hard + +"@types/estree@npm:*, @types/estree@npm:1.0.7, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6": + version: 1.0.7 + resolution: "@types/estree@npm:1.0.7" + checksum: 10c0/be815254316882f7c40847336cd484c3bc1c3e34f710d197160d455dc9d6d050ffbf4c3bc76585dba86f737f020ab20bdb137ebe0e9116b0c86c7c0342221b8c + languageName: node + linkType: hard + +"@types/extract-files@npm:*": + version: 13.0.1 + resolution: "@types/extract-files@npm:13.0.1" + checksum: 10c0/4732f875db36498a4bf3deb6965267d515cc7a82be6a3b0346a6b9a6c9eec173ebae774301070de6c7f9b879121d81bc106498cce9cc7bc521b2e75b84710ed2 + languageName: node + linkType: hard + +"@types/js-yaml@npm:^4.0.0": + version: 4.0.9 + resolution: "@types/js-yaml@npm:4.0.9" + checksum: 10c0/24de857aa8d61526bbfbbaa383aa538283ad17363fcd5bb5148e2c7f604547db36646440e739d78241ed008702a8920665d1add5618687b6743858fae00da211 + languageName: node + linkType: hard + +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.3": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db + languageName: node + linkType: hard + +"@types/keyv@npm:^3.1.1": + version: 3.1.4 + resolution: "@types/keyv@npm:3.1.4" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/ff8f54fc49621210291f815fe5b15d809fd7d032941b3180743440bd507ecdf08b9e844625fa346af568c84bf34114eb378dcdc3e921a08ba1e2a08d7e3c809c + languageName: node + linkType: hard + +"@types/lodash-es@npm:^4.17.6": + version: 4.17.12 + resolution: "@types/lodash-es@npm:4.17.12" + dependencies: + "@types/lodash": "npm:*" + checksum: 10c0/5d12d2cede07f07ab067541371ed1b838a33edb3c35cb81b73284e93c6fd0c4bbeaefee984e69294bffb53f62d7272c5d679fdba8e595ff71e11d00f2601dde0 + languageName: node + linkType: hard + +"@types/lodash@npm:*": + version: 4.17.16 + resolution: "@types/lodash@npm:4.17.16" + checksum: 10c0/cf017901b8ab1d7aabc86d5189d9288f4f99f19a75caf020c0e2c77b8d4cead4db0d0b842d009b029339f92399f49f34377dd7c2721053388f251778b4c23534 + languageName: node + linkType: hard + +"@types/minimist@npm:^1.2.2": + version: 1.2.5 + resolution: "@types/minimist@npm:1.2.5" + checksum: 10c0/3f791258d8e99a1d7d0ca2bda1ca6ea5a94e5e7b8fc6cde84dd79b0552da6fb68ade750f0e17718f6587783c24254bbca0357648dd59dc3812c150305cabdc46 + languageName: node + linkType: hard + +"@types/node@npm:*, @types/node@npm:>=10.0.0": + version: 22.15.17 + resolution: "@types/node@npm:22.15.17" + dependencies: + undici-types: "npm:~6.21.0" + checksum: 10c0/fb92aa10b628683c5b965749f955bc2322485ecb0ea6c2f4cae5f2c7537a16834607e67083a9e9281faaae8d7dee9ada8d6a5c0de9a52c17d82912ef00c0fdd4 + languageName: node + linkType: hard + +"@types/node@npm:^16.11.26": + version: 16.18.126 + resolution: "@types/node@npm:16.18.126" + checksum: 10c0/5c137eb141d33de32b16ff26047ff6d449432b58d0d25f7cced2040c97727d81fe1099a7581eb336d14a6840f5b09e363bdd43d7a6995e8e81eb47aa51e413fc + languageName: node + linkType: hard + +"@types/node@npm:^18": + version: 18.19.100 + resolution: "@types/node@npm:18.19.100" + dependencies: + undici-types: "npm:~5.26.4" + checksum: 10c0/5524303171eee6788df45d736f5783b5bea27803a596b9cd5669f45487a619e5d8d41d56dd55b8c85c677ffd7c045edd8daea8c4b37e70290bee2a482fc605f6 + languageName: node + linkType: hard + +"@types/normalize-package-data@npm:^2.4.0, @types/normalize-package-data@npm:^2.4.3": + version: 2.4.4 + resolution: "@types/normalize-package-data@npm:2.4.4" + checksum: 10c0/aef7bb9b015883d6f4119c423dd28c4bdc17b0e8a0ccf112c78b4fe0e91fbc4af7c6204b04bba0e199a57d2f3fbbd5b4a14bf8739bf9d2a39b2a0aad545e0f86 + languageName: node + linkType: hard + +"@types/parse-path@npm:^7.0.0": + version: 7.0.3 + resolution: "@types/parse-path@npm:7.0.3" + checksum: 10c0/8344b6c7acba4e4e5a8d542f56f53c297685fa92f9b0c085d7532cc7e1b661432cecfc1c75c76cdb0d161c95679b6ecfe0573d9fef7c836962aacf604150a984 + languageName: node + linkType: hard + +"@types/resolve@npm:1.20.2": + version: 1.20.2 + resolution: "@types/resolve@npm:1.20.2" + checksum: 10c0/c5b7e1770feb5ccfb6802f6ad82a7b0d50874c99331e0c9b259e415e55a38d7a86ad0901c57665d93f75938be2a6a0bc9aa06c9749192cadb2e4512800bbc6e6 + languageName: node + linkType: hard + +"@types/responselike@npm:^1.0.0": + version: 1.0.3 + resolution: "@types/responselike@npm:1.0.3" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/a58ba341cb9e7d74f71810a88862da7b2a6fa42e2a1fc0ce40498f6ea1d44382f0640117057da779f74c47039f7166bf48fad02dc876f94e005c7afa50f5e129 + languageName: node + linkType: hard + +"@types/triple-beam@npm:^1.3.2": + version: 1.3.5 + resolution: "@types/triple-beam@npm:1.3.5" + checksum: 10c0/d5d7f25da612f6d79266f4f1bb9c1ef8f1684e9f60abab251e1261170631062b656ba26ff22631f2760caeafd372abc41e64867cde27fba54fafb73a35b9056a + languageName: node + linkType: hard + +"@types/web-bluetooth@npm:^0.0.16": + version: 0.0.16 + resolution: "@types/web-bluetooth@npm:0.0.16" + checksum: 10c0/9a265fdd048319e174f9a0ae2dfb748d0b3e07f888d9797f89dd78b96d680fd304fbfa9fd0e11ccf283bd6a441641333ec8c3184e61a50c7ee61507add63f0a2 + languageName: node + linkType: hard + +"@types/ws@npm:^8.0.0": + version: 8.18.1 + resolution: "@types/ws@npm:8.18.1" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/61aff1129143fcc4312f083bc9e9e168aa3026b7dd6e70796276dcfb2c8211c4292603f9c4864fae702f2ed86e4abd4d38aa421831c2fd7f856c931a481afbab + languageName: node + linkType: hard + +"@types/yauzl@npm:^2.9.1": + version: 2.10.3 + resolution: "@types/yauzl@npm:2.10.3" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/f1b7c1b99fef9f2fe7f1985ef7426d0cebe48cd031f1780fcdc7451eec7e31ac97028f16f50121a59bcf53086a1fc8c856fd5b7d3e00970e43d92ae27d6b43dc + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:8.32.1, @typescript-eslint/eslint-plugin@npm:^8.20.0": + version: 8.32.1 + resolution: "@typescript-eslint/eslint-plugin@npm:8.32.1" + dependencies: + "@eslint-community/regexpp": "npm:^4.10.0" + "@typescript-eslint/scope-manager": "npm:8.32.1" + "@typescript-eslint/type-utils": "npm:8.32.1" + "@typescript-eslint/utils": "npm:8.32.1" + "@typescript-eslint/visitor-keys": "npm:8.32.1" + graphemer: "npm:^1.4.0" + ignore: "npm:^7.0.0" + natural-compare: "npm:^1.4.0" + ts-api-utils: "npm:^2.1.0" + peerDependencies: + "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/29dbafc1f02e1167e6d1e92908de6bf7df1cc1fc9ae1de3f4d4abf5d2b537be16b173bcd05770270529eb2fd17a3ac63c2f40d308f7fbbf6d6f286ba564afd64 + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:^7.9.0": + version: 7.18.0 + resolution: "@typescript-eslint/eslint-plugin@npm:7.18.0" + dependencies: + "@eslint-community/regexpp": "npm:^4.10.0" + "@typescript-eslint/scope-manager": "npm:7.18.0" + "@typescript-eslint/type-utils": "npm:7.18.0" + "@typescript-eslint/utils": "npm:7.18.0" + "@typescript-eslint/visitor-keys": "npm:7.18.0" + graphemer: "npm:^1.4.0" + ignore: "npm:^5.3.1" + natural-compare: "npm:^1.4.0" + ts-api-utils: "npm:^1.3.0" + peerDependencies: + "@typescript-eslint/parser": ^7.0.0 + eslint: ^8.56.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/2b37948fa1b0dab77138909dabef242a4d49ab93e4019d4ef930626f0a7d96b03e696cd027fa0087881c20e73be7be77c942606b4a76fa599e6b37f6985304c3 + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:8.32.1, @typescript-eslint/parser@npm:^8.20.0": + version: 8.32.1 + resolution: "@typescript-eslint/parser@npm:8.32.1" + dependencies: + "@typescript-eslint/scope-manager": "npm:8.32.1" + "@typescript-eslint/types": "npm:8.32.1" + "@typescript-eslint/typescript-estree": "npm:8.32.1" + "@typescript-eslint/visitor-keys": "npm:8.32.1" + debug: "npm:^4.3.4" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/01095f5b6e0a2e0631623be3f44be0f2960ceb24de33b64cb790e24a1468018d2b4d6874d1fa08a4928c2a02f208dd66cbc49735c7e8b54d564e420daabf84d1 + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:^7.9.0": + version: 7.18.0 + resolution: "@typescript-eslint/parser@npm:7.18.0" + dependencies: + "@typescript-eslint/scope-manager": "npm:7.18.0" + "@typescript-eslint/types": "npm:7.18.0" + "@typescript-eslint/typescript-estree": "npm:7.18.0" + "@typescript-eslint/visitor-keys": "npm:7.18.0" + debug: "npm:^4.3.4" + peerDependencies: + eslint: ^8.56.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/370e73fca4278091bc1b657f85e7d74cd52b24257ea20c927a8e17546107ce04fbf313fec99aed0cc2a145ddbae1d3b12e9cc2c1320117636dc1281bcfd08059 + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/scope-manager@npm:7.18.0" + dependencies: + "@typescript-eslint/types": "npm:7.18.0" + "@typescript-eslint/visitor-keys": "npm:7.18.0" + checksum: 10c0/038cd58c2271de146b3a594afe2c99290034033326d57ff1f902976022c8b0138ffd3cb893ae439ae41003b5e4bcc00cabf6b244ce40e8668f9412cc96d97b8e + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:8.32.1": + version: 8.32.1 + resolution: "@typescript-eslint/scope-manager@npm:8.32.1" + dependencies: + "@typescript-eslint/types": "npm:8.32.1" + "@typescript-eslint/visitor-keys": "npm:8.32.1" + checksum: 10c0/d2cb1f7736388972137d6e510b2beae4bac033fcab274e04de90ebba3ce466c71fe47f1795357e032e4a6c8b2162016b51b58210916c37212242c82d35352e9f + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/type-utils@npm:7.18.0" + dependencies: + "@typescript-eslint/typescript-estree": "npm:7.18.0" + "@typescript-eslint/utils": "npm:7.18.0" + debug: "npm:^4.3.4" + ts-api-utils: "npm:^1.3.0" + peerDependencies: + eslint: ^8.56.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/ad92a38007be620f3f7036f10e234abdc2fdc518787b5a7227e55fd12896dacf56e8b34578723fbf9bea8128df2510ba8eb6739439a3879eda9519476d5783fd + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:8.32.1": + version: 8.32.1 + resolution: "@typescript-eslint/type-utils@npm:8.32.1" + dependencies: + "@typescript-eslint/typescript-estree": "npm:8.32.1" + "@typescript-eslint/utils": "npm:8.32.1" + debug: "npm:^4.3.4" + ts-api-utils: "npm:^2.1.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/f10186340ce194681804d9a57feb6d8d6c3adbd059c70df58f4656b0d9efd412fb0c2d80c182f9db83bad1a301754e0c24fe26f3354bef3a1795ab9c835cb763 + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/types@npm:5.62.0" + checksum: 10c0/7febd3a7f0701c0b927e094f02e82d8ee2cada2b186fcb938bc2b94ff6fbad88237afc304cbaf33e82797078bbbb1baf91475f6400912f8b64c89be79bfa4ddf + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:7.18.0, @typescript-eslint/types@npm:^7.9.0": + version: 7.18.0 + resolution: "@typescript-eslint/types@npm:7.18.0" + checksum: 10c0/eb7371ac55ca77db8e59ba0310b41a74523f17e06f485a0ef819491bc3dd8909bb930120ff7d30aaf54e888167e0005aa1337011f3663dc90fb19203ce478054 + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:8.32.1": + version: 8.32.1 + resolution: "@typescript-eslint/types@npm:8.32.1" + checksum: 10c0/86f59b29c12e7e8abe45a1659b6fae5e7b0cfaf09ab86dd596ed9d468aa61082bbccd509d25f769b197fbfdf872bbef0b323a2ded6ceaca351f7c679f1ba3bd3 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/typescript-estree@npm:7.18.0" + dependencies: + "@typescript-eslint/types": "npm:7.18.0" + "@typescript-eslint/visitor-keys": "npm:7.18.0" + debug: "npm:^4.3.4" + globby: "npm:^11.1.0" + is-glob: "npm:^4.0.3" + minimatch: "npm:^9.0.4" + semver: "npm:^7.6.0" + ts-api-utils: "npm:^1.3.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/0c7f109a2e460ec8a1524339479cf78ff17814d23c83aa5112c77fb345e87b3642616291908dcddea1e671da63686403dfb712e4a4435104f92abdfddf9aba81 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:8.32.1": + version: 8.32.1 + resolution: "@typescript-eslint/typescript-estree@npm:8.32.1" + dependencies: + "@typescript-eslint/types": "npm:8.32.1" + "@typescript-eslint/visitor-keys": "npm:8.32.1" + debug: "npm:^4.3.4" + fast-glob: "npm:^3.3.2" + is-glob: "npm:^4.0.3" + minimatch: "npm:^9.0.4" + semver: "npm:^7.6.0" + ts-api-utils: "npm:^2.1.0" + peerDependencies: + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/b5ae0d91ef1b46c9f3852741e26b7a14c28bb58ee8a283b9530ac484332ca58a7216b9d22eda23c5449b5fd69c6e4601ef3ebbd68e746816ae78269036c08cda + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:^5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/typescript-estree@npm:5.62.0" + dependencies: + "@typescript-eslint/types": "npm:5.62.0" + "@typescript-eslint/visitor-keys": "npm:5.62.0" + debug: "npm:^4.3.4" + globby: "npm:^11.1.0" + is-glob: "npm:^4.0.3" + semver: "npm:^7.3.7" + tsutils: "npm:^3.21.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/d7984a3e9d56897b2481940ec803cb8e7ead03df8d9cfd9797350be82ff765dfcf3cfec04e7355e1779e948da8f02bc5e11719d07a596eb1cb995c48a95e38cf + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:7.18.0, @typescript-eslint/utils@npm:^7.4.0, @typescript-eslint/utils@npm:^7.9.0": + version: 7.18.0 + resolution: "@typescript-eslint/utils@npm:7.18.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@typescript-eslint/scope-manager": "npm:7.18.0" + "@typescript-eslint/types": "npm:7.18.0" + "@typescript-eslint/typescript-estree": "npm:7.18.0" + peerDependencies: + eslint: ^8.56.0 + checksum: 10c0/a25a6d50eb45c514469a01ff01f215115a4725fb18401055a847ddf20d1b681409c4027f349033a95c4ff7138d28c3b0a70253dfe8262eb732df4b87c547bd1e + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:8.32.1, @typescript-eslint/utils@npm:^8.13.0": + version: 8.32.1 + resolution: "@typescript-eslint/utils@npm:8.32.1" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.7.0" + "@typescript-eslint/scope-manager": "npm:8.32.1" + "@typescript-eslint/types": "npm:8.32.1" + "@typescript-eslint/typescript-estree": "npm:8.32.1" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/a2b90c0417cd3a33c6e22f9cc28c356f251bb8928ef1d25e057feda007d522d281bdc37a9a0d05b70312f00a7b3f350ca06e724867025ea85bba5a4c766732e7 + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" + dependencies: + "@typescript-eslint/types": "npm:5.62.0" + eslint-visitor-keys: "npm:^3.3.0" + checksum: 10c0/7c3b8e4148e9b94d9b7162a596a1260d7a3efc4e65199693b8025c71c4652b8042501c0bc9f57654c1e2943c26da98c0f77884a746c6ae81389fcb0b513d995d + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/visitor-keys@npm:7.18.0" + dependencies: + "@typescript-eslint/types": "npm:7.18.0" + eslint-visitor-keys: "npm:^3.4.3" + checksum: 10c0/538b645f8ff1d9debf264865c69a317074eaff0255e63d7407046176b0f6a6beba34a6c51d511f12444bae12a98c69891eb6f403c9f54c6c2e2849d1c1cb73c0 + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:8.32.1": + version: 8.32.1 + resolution: "@typescript-eslint/visitor-keys@npm:8.32.1" + dependencies: + "@typescript-eslint/types": "npm:8.32.1" + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10c0/9c05053dfd048f681eb96e09ceefa8841a617b8b5950eea05e0844b38fe3510a284eb936324caa899c3ceb4bc23efe56ac01437fab378ac1beeb1c6c00404978 + languageName: node + linkType: hard + +"@unhead/vue@npm:^2.0.8": + version: 2.0.8 + resolution: "@unhead/vue@npm:2.0.8" + dependencies: + hookable: "npm:^5.5.3" + unhead: "npm:2.0.8" + peerDependencies: + vue: ">=3.5.13" + checksum: 10c0/523401e7046a1bba012c7cbd7b020992779ce178f3f87fbdbdc77e89de9d9e7ba79532d56051ffeb7841159e2bb53bcb40d6d16a153b1736e5e8342b3d27086d + languageName: node + linkType: hard + +"@vercel/nft@npm:0.27.7": + version: 0.27.7 + resolution: "@vercel/nft@npm:0.27.7" + dependencies: + "@mapbox/node-pre-gyp": "npm:^1.0.11" + "@rollup/pluginutils": "npm:^5.1.3" + acorn: "npm:^8.6.0" + acorn-import-attributes: "npm:^1.9.5" + async-sema: "npm:^3.1.1" + bindings: "npm:^1.4.0" + estree-walker: "npm:2.0.2" + glob: "npm:^7.1.3" + graceful-fs: "npm:^4.2.9" + micromatch: "npm:^4.0.8" + node-gyp-build: "npm:^4.2.2" + resolve-from: "npm:^5.0.0" + bin: + nft: out/cli.js + checksum: 10c0/bf6c1572e436e46e83d38c837fd715603b816fdfc5109f55f9898ed25011dfaba6c1cc979457db81238021854db5ba60c3b5bb263b843e24c4ebedb02b6ec2fe + languageName: node + linkType: hard + +"@vercel/nft@npm:^0.29.2": + version: 0.29.2 + resolution: "@vercel/nft@npm:0.29.2" + dependencies: + "@mapbox/node-pre-gyp": "npm:^2.0.0" + "@rollup/pluginutils": "npm:^5.1.3" + acorn: "npm:^8.6.0" + acorn-import-attributes: "npm:^1.9.5" + async-sema: "npm:^3.1.1" + bindings: "npm:^1.4.0" + estree-walker: "npm:2.0.2" + glob: "npm:^10.4.5" + graceful-fs: "npm:^4.2.9" + node-gyp-build: "npm:^4.2.2" + picomatch: "npm:^4.0.2" + resolve-from: "npm:^5.0.0" + bin: + nft: out/cli.js + checksum: 10c0/3f1e3d3d2565e6e4ac191fc4f9b9b9676959de82165d6ae789410c5c0df058802f2ff9221ac325857ddc1f11f30509c73e01c43f0a91b56371d595a2eab5205f + languageName: node + linkType: hard + +"@vitejs/plugin-legacy@npm:^4.0.3": + version: 4.1.1 + resolution: "@vitejs/plugin-legacy@npm:4.1.1" + dependencies: + "@babel/core": "npm:^7.22.9" + "@babel/preset-env": "npm:^7.22.9" + browserslist: "npm:^4.21.9" + core-js: "npm:^3.31.1" + magic-string: "npm:^0.30.1" + regenerator-runtime: "npm:^0.13.11" + systemjs: "npm:^6.14.1" + peerDependencies: + terser: ^5.4.0 + vite: ^4.0.0 + checksum: 10c0/d21066c7aeb0b3ac0c257053adb80402334f2af9ebf5e45c89d29e19d264806e062b6f6912bf2ba9e4bdf8f7f65707346e11294204bcec7f138468f789ff9355 + languageName: node + linkType: hard + +"@vitejs/plugin-vue-jsx@npm:^4.1.2": + version: 4.1.2 + resolution: "@vitejs/plugin-vue-jsx@npm:4.1.2" + dependencies: + "@babel/core": "npm:^7.26.7" + "@babel/plugin-transform-typescript": "npm:^7.26.7" + "@vue/babel-plugin-jsx": "npm:^1.2.5" + peerDependencies: + vite: ^5.0.0 || ^6.0.0 + vue: ^3.0.0 + checksum: 10c0/a1b8bf971696c0f733aee9692f19d0504953e3c7644e2a3d648d3fd5b2aa95ce06cf2f91aa4caa96cca861b94b86683e1b456f3b2a668ad6d12013b58ebb4916 + languageName: node + linkType: hard + +"@vitejs/plugin-vue@npm:^5.2.4": + version: 5.2.4 + resolution: "@vitejs/plugin-vue@npm:5.2.4" + peerDependencies: + vite: ^5.0.0 || ^6.0.0 + vue: ^3.2.25 + checksum: 10c0/9559224f178daf35e3a665410d09089b0ce7c0402981f8757481c24c22f29df377f96cc6161d92f74d16c37c6e32ac19fea99086f75338ad6ceb9b5ee8375509 + languageName: node + linkType: hard + +"@vitest/expect@npm:2.0.5": + version: 2.0.5 + resolution: "@vitest/expect@npm:2.0.5" + dependencies: + "@vitest/spy": "npm:2.0.5" + "@vitest/utils": "npm:2.0.5" + chai: "npm:^5.1.1" + tinyrainbow: "npm:^1.2.0" + checksum: 10c0/08cb1b0f106d16a5b60db733e3d436fa5eefc68571488eb570dfe4f599f214ab52e4342273b03dbe12331cc6c0cdc325ac6c94f651ad254cd62f3aa0e3d185aa + languageName: node + linkType: hard + +"@vitest/pretty-format@npm:2.0.5": + version: 2.0.5 + resolution: "@vitest/pretty-format@npm:2.0.5" + dependencies: + tinyrainbow: "npm:^1.2.0" + checksum: 10c0/236c0798c5170a0b5ad5d4bd06118533738e820b4dd30079d8fbcb15baee949d41c60f42a9f769906c4a5ce366d7ef11279546070646c0efc03128c220c31f37 + languageName: node + linkType: hard + +"@vitest/pretty-format@npm:2.1.9": + version: 2.1.9 + resolution: "@vitest/pretty-format@npm:2.1.9" + dependencies: + tinyrainbow: "npm:^1.2.0" + checksum: 10c0/155f9ede5090eabed2a73361094bb35ed4ec6769ae3546d2a2af139166569aec41bb80e031c25ff2da22b71dd4ed51e5468e66a05e6aeda5f14b32e30bc18f00 + languageName: node + linkType: hard + +"@vitest/spy@npm:2.0.5": + version: 2.0.5 + resolution: "@vitest/spy@npm:2.0.5" + dependencies: + tinyspy: "npm:^3.0.0" + checksum: 10c0/70634c21921eb271b54d2986c21d7ab6896a31c0f4f1d266940c9bafb8ac36237846d6736638cbf18b958bd98e5261b158a6944352742accfde50b7818ff655e + languageName: node + linkType: hard + +"@vitest/utils@npm:2.0.5": + version: 2.0.5 + resolution: "@vitest/utils@npm:2.0.5" + dependencies: + "@vitest/pretty-format": "npm:2.0.5" + estree-walker: "npm:^3.0.3" + loupe: "npm:^3.1.1" + tinyrainbow: "npm:^1.2.0" + checksum: 10c0/0d1de748298f07a50281e1ba058b05dcd58da3280c14e6f016265e950bd79adab6b97822de8f0ea82d3070f585654801a9b1bcf26db4372e51cf7746bf86d73b + languageName: node + linkType: hard + +"@vitest/utils@npm:^2.1.1": + version: 2.1.9 + resolution: "@vitest/utils@npm:2.1.9" + dependencies: + "@vitest/pretty-format": "npm:2.1.9" + loupe: "npm:^3.1.2" + tinyrainbow: "npm:^1.2.0" + checksum: 10c0/81a346cd72b47941f55411f5df4cc230e5f740d1e97e0d3f771b27f007266fc1f28d0438582f6409ea571bc0030ed37f684c64c58d1947d6298d770c21026fdf + languageName: node + linkType: hard + +"@volar/language-core@npm:2.4.13, @volar/language-core@npm:~2.4.11": + version: 2.4.13 + resolution: "@volar/language-core@npm:2.4.13" + dependencies: + "@volar/source-map": "npm:2.4.13" + checksum: 10c0/a89f53adc86ee4564c67d82f14e98febc6dff1a1a18c32b415dcbfceb1edb51a65e502552ad26ebc23a96df5e9e8a2fc5814a8881cc232ddaa7f5c0eeec3cb20 + languageName: node + linkType: hard + +"@volar/source-map@npm:2.4.13": + version: 2.4.13 + resolution: "@volar/source-map@npm:2.4.13" + checksum: 10c0/fd234beb7bd8dd96c2117954ecb2e00c5d97ece3f1179fcf43c24fdb709088d55c2836c57d4b962e615f1f8aa86bde6b06951f193a6a16bb93fb6ab324f6b2cf + languageName: node + linkType: hard + +"@volar/typescript@npm:~2.4.11": + version: 2.4.13 + resolution: "@volar/typescript@npm:2.4.13" + dependencies: + "@volar/language-core": "npm:2.4.13" + path-browserify: "npm:^1.0.1" + vscode-uri: "npm:^3.0.8" + checksum: 10c0/63d8c7a01ae83e3206dfdd4574710848580b880475450d0f9d9df774fb05fec5b77d4ca8c04b54126ae7011b362a78fc6094470fe6281e83b67ad6dd9bf55c61 + languageName: node + linkType: hard + +"@vue-macros/common@npm:^1.16.1": + version: 1.16.1 + resolution: "@vue-macros/common@npm:1.16.1" + dependencies: + "@vue/compiler-sfc": "npm:^3.5.13" + ast-kit: "npm:^1.4.0" + local-pkg: "npm:^1.0.0" + magic-string-ast: "npm:^0.7.0" + pathe: "npm:^2.0.2" + picomatch: "npm:^4.0.2" + peerDependencies: + vue: ^2.7.0 || ^3.2.25 + peerDependenciesMeta: + vue: + optional: true + checksum: 10c0/a6e3eb2169ee038f78c53a94570f1d5b572b40357253e2d5fe4adfac5a9796e7521e3473326fdb8433f7f2199efba3741f758378318822529d18fbdc81a69ce7 + languageName: node + linkType: hard + +"@vue/apollo-composable@npm:^4.0.0-beta.5": + version: 4.2.2 + resolution: "@vue/apollo-composable@npm:4.2.2" + dependencies: + throttle-debounce: "npm:^5.0.0" + ts-essentials: "npm:^9.4.0" + vue-demi: "npm:^0.14.6" + peerDependencies: + "@apollo/client": ^3.4.13 + "@vue/composition-api": ^1.0.0 + graphql: ">=15" + vue: ^2.6.0 || ^3.1.0 + peerDependenciesMeta: + "@vue/composition-api": + optional: true + checksum: 10c0/1def308a88853ff2f6c8f43da11da1d5cfa4cd5e538ba3a554d1197f5936178fcf4647aca5501a51cccdfa6d044772a9810e6b308f034ff07f5dc7643dcd1c3d + languageName: node + linkType: hard + +"@vue/babel-helper-vue-transform-on@npm:1.4.0": + version: 1.4.0 + resolution: "@vue/babel-helper-vue-transform-on@npm:1.4.0" + checksum: 10c0/9ab3ece9ec79f957e5d4c1eb4b2879120ae54ad359c52fc9c66c3ca36db0da925785d6191317bba90e3cc9fae437cde5d9c6f3c375f7d9225eba8a20c1d03235 + languageName: node + linkType: hard + +"@vue/babel-plugin-jsx@npm:^1.2.5": + version: 1.4.0 + resolution: "@vue/babel-plugin-jsx@npm:1.4.0" + dependencies: + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/plugin-syntax-jsx": "npm:^7.25.9" + "@babel/template": "npm:^7.26.9" + "@babel/traverse": "npm:^7.26.9" + "@babel/types": "npm:^7.26.9" + "@vue/babel-helper-vue-transform-on": "npm:1.4.0" + "@vue/babel-plugin-resolve-type": "npm:1.4.0" + "@vue/shared": "npm:^3.5.13" + peerDependencies: + "@babel/core": ^7.0.0-0 + peerDependenciesMeta: + "@babel/core": + optional: true + checksum: 10c0/c3c2373ff140c29a2292aa56d57bc8b2d26f962b71c324b773d6fb77b5eec145326199a43497fe39993309ea1d571d8c400dc3d6804fce8597151c48ed3cb3e1 + languageName: node + linkType: hard + +"@vue/babel-plugin-resolve-type@npm:1.4.0": + version: 1.4.0 + resolution: "@vue/babel-plugin-resolve-type@npm:1.4.0" + dependencies: + "@babel/code-frame": "npm:^7.26.2" + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/parser": "npm:^7.26.9" + "@vue/compiler-sfc": "npm:^3.5.13" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/289c8893e3477dbfa95d0b777ed00ad7bace77605090a5858a9b2d4294f93bc3d81b6091e3c2ffd98aa92fb676643dec9d7a9428c87a0a67de1d7dc546a32c83 + languageName: node + linkType: hard + +"@vue/compiler-core@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/compiler-core@npm:3.5.13" + dependencies: + "@babel/parser": "npm:^7.25.3" + "@vue/shared": "npm:3.5.13" + entities: "npm:^4.5.0" + estree-walker: "npm:^2.0.2" + source-map-js: "npm:^1.2.0" + checksum: 10c0/b89f3e3ca92c3177ae449ada1480df13d99b5b3b2cdcf3202fd37dc30f294a1db1f473209f8bae9233e2d338632219d39b2bfa6941d158cea55255e4b0b30f90 + languageName: node + linkType: hard + +"@vue/compiler-dom@npm:3.5.13, @vue/compiler-dom@npm:^3.5.0": + version: 3.5.13 + resolution: "@vue/compiler-dom@npm:3.5.13" + dependencies: + "@vue/compiler-core": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + checksum: 10c0/8f424a71883c9ef4abdd125d2be8d12dd8cf94ba56089245c88734b1f87c65e10597816070ba2ea0a297a2f66dc579f39275a9a53ef5664c143a12409612cd72 + languageName: node + linkType: hard + +"@vue/compiler-sfc@npm:3.5.13, @vue/compiler-sfc@npm:^3.5.13": + version: 3.5.13 + resolution: "@vue/compiler-sfc@npm:3.5.13" + dependencies: + "@babel/parser": "npm:^7.25.3" + "@vue/compiler-core": "npm:3.5.13" + "@vue/compiler-dom": "npm:3.5.13" + "@vue/compiler-ssr": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + estree-walker: "npm:^2.0.2" + magic-string: "npm:^0.30.11" + postcss: "npm:^8.4.48" + source-map-js: "npm:^1.2.0" + checksum: 10c0/5fd57895ce2801e480c08f31f91f0d1746ed08a9c1973895fd7269615f5bcdf75497978fb358bda738938d9844dea2404064c53b2cdda991014225297acce19e + languageName: node + linkType: hard + +"@vue/compiler-ssr@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/compiler-ssr@npm:3.5.13" + dependencies: + "@vue/compiler-dom": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + checksum: 10c0/67621337b12fc414fcf9f16578961850724713a9fb64501136e432c2dfe95de99932c46fa24be9820f8bcdf8e7281f815f585b519a95ea979753bafd637dde1b + languageName: node + linkType: hard + +"@vue/compiler-vue2@npm:^2.7.16": + version: 2.7.16 + resolution: "@vue/compiler-vue2@npm:2.7.16" + dependencies: + de-indent: "npm:^1.0.2" + he: "npm:^1.2.0" + checksum: 10c0/c76c3fad770b9a7da40b314116cc9da173da20e5fd68785c8ed8dd8a87d02f239545fa296e16552e040ec86b47bfb18283b39447b250c2e76e479bd6ae475bb3 + languageName: node + linkType: hard + +"@vue/devtools-api@npm:^6.1.4, @vue/devtools-api@npm:^6.6.3, @vue/devtools-api@npm:^6.6.4": + version: 6.6.4 + resolution: "@vue/devtools-api@npm:6.6.4" + checksum: 10c0/0a993ae23618166e1bee5a7c14cebd8312752b93c143cbdd48fb2d0f7ade070d0e6baf757cd920d4681fef8f9acf29515162160f38cc7410f9a684d2df21b6de + languageName: node + linkType: hard + +"@vue/devtools-api@npm:^7.7.2": + version: 7.7.6 + resolution: "@vue/devtools-api@npm:7.7.6" + dependencies: + "@vue/devtools-kit": "npm:^7.7.6" + checksum: 10c0/2f616292f63fa20dab412ccddebfbd794af73a3eee0942ac39f1c72092bfc35c288b26a9ea058041e7ce5781159bf47df004e415a03473aa85223835c9b5d072 + languageName: node + linkType: hard + +"@vue/devtools-core@npm:^7.7.2": + version: 7.7.6 + resolution: "@vue/devtools-core@npm:7.7.6" + dependencies: + "@vue/devtools-kit": "npm:^7.7.6" + "@vue/devtools-shared": "npm:^7.7.6" + mitt: "npm:^3.0.1" + nanoid: "npm:^5.1.0" + pathe: "npm:^2.0.3" + vite-hot-client: "npm:^2.0.4" + peerDependencies: + vue: ^3.0.0 + checksum: 10c0/7d36f8a179b80c55fe25baf8924edd464000d0bdb55a50405b639588b47a6a8c1ccca503346cc23d6d51241c5fbbb792fe07a5a9b3deec90e7f294f55dacdca5 + languageName: node + linkType: hard + +"@vue/devtools-kit@npm:^7.7.2, @vue/devtools-kit@npm:^7.7.6": + version: 7.7.6 + resolution: "@vue/devtools-kit@npm:7.7.6" + dependencies: + "@vue/devtools-shared": "npm:^7.7.6" + birpc: "npm:^2.3.0" + hookable: "npm:^5.5.3" + mitt: "npm:^3.0.1" + perfect-debounce: "npm:^1.0.0" + speakingurl: "npm:^14.0.1" + superjson: "npm:^2.2.2" + checksum: 10c0/8025e894207ae0d8a4e82965a9a0ca7c5a3e98b3540616dc7f5de19af7fbfedc2398913786cf129f89509a7be2b0a18f8913682fa9a15669e748834ea2843546 + languageName: node + linkType: hard + +"@vue/devtools-shared@npm:^7.7.6": + version: 7.7.6 + resolution: "@vue/devtools-shared@npm:7.7.6" + dependencies: + rfdc: "npm:^1.4.1" + checksum: 10c0/4087bb9fbdb265c489e73452238062815a98f3cdc1c8816ed7a7a3a0c8f904802906a84fc9c6deccec3cec3a2f577ee871d24c2496b7b7e950fec6f5650e9117 + languageName: node + linkType: hard + +"@vue/devtools@npm:^6.5.0": + version: 6.6.4 + resolution: "@vue/devtools@npm:6.6.4" + dependencies: + cross-spawn: "npm:^7.0.3" + electron: "npm:^21.0.1" + express: "npm:^4.17.1" + ip: "npm:^1.1.5" + socket.io: "npm:^4.4.0" + socket.io-client: "npm:^4.4.1" + utf-8-validate: "npm:^5.0.9" + bin: + vue-devtools: bin.js + checksum: 10c0/7bd8928e47a272b19356eaabb997918cbab91f985dac7c4cc0ca1b8ac38ab76f67557cc8bc614d21544bf8ec8caf4fd1bc80afc25a38d532b89cdd9d56b9cdb7 + languageName: node + linkType: hard + +"@vue/language-core@npm:2.2.10": + version: 2.2.10 + resolution: "@vue/language-core@npm:2.2.10" + dependencies: + "@volar/language-core": "npm:~2.4.11" + "@vue/compiler-dom": "npm:^3.5.0" + "@vue/compiler-vue2": "npm:^2.7.16" + "@vue/shared": "npm:^3.5.0" + alien-signals: "npm:^1.0.3" + minimatch: "npm:^9.0.3" + muggle-string: "npm:^0.4.1" + path-browserify: "npm:^1.0.1" + peerDependencies: + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/77a97c8a5f806b7461e0f2d11a1b4013ca9efca1cac4b1f193d907c00d286e22856ad2465045a2e855ceb724f2e38fdcf05890df071cd9031a82267bf3a77f4f + languageName: node + linkType: hard + +"@vue/reactivity@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/reactivity@npm:3.5.13" + dependencies: + "@vue/shared": "npm:3.5.13" + checksum: 10c0/4bf2754a4b8cc31afc8da5bdfd12bba6be67b2963a65f7c9e2b59810883c58128dfc58cce6d1e479c4f666190bc0794f17208d9efd3fc909a2e4843d2cc0e69e + languageName: node + linkType: hard + +"@vue/runtime-core@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/runtime-core@npm:3.5.13" + dependencies: + "@vue/reactivity": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + checksum: 10c0/b6be854bf082a224222614a334fbeac0e7b6445f3cf4ea45cbd49ae4bb1551200c461c14c7a452d748f2459f7402ad4dee5522d51be5a28ea4ae1f699a7c016f + languageName: node + linkType: hard + +"@vue/runtime-dom@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/runtime-dom@npm:3.5.13" + dependencies: + "@vue/reactivity": "npm:3.5.13" + "@vue/runtime-core": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + csstype: "npm:^3.1.3" + checksum: 10c0/8ee7f3980d19f77f8e7ae854e3ff1f7ee9a9b8b4e214c8d0492e1180ae818e33c04803b3d094503524d557431a30728b78cf15c3683d8abbbbd1b263a299d62a + languageName: node + linkType: hard + +"@vue/server-renderer@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/server-renderer@npm:3.5.13" + dependencies: + "@vue/compiler-ssr": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + peerDependencies: + vue: 3.5.13 + checksum: 10c0/f500bdabc199abf41f1d84defd2a365a47afce1f2223a34c32fada84f6193b39ec2ce50636483409eec81b788b8ef0fa1ff59c63ca0c74764d738c24409eef8f + languageName: node + linkType: hard + +"@vue/shared@npm:3.5.13, @vue/shared@npm:^3.5.0, @vue/shared@npm:^3.5.13": + version: 3.5.13 + resolution: "@vue/shared@npm:3.5.13" + checksum: 10c0/2c940ef907116f1c2583ca1d7733984e5705983ab07054c4e72f1d95eb0f7bdf4d01efbdaee1776c2008f79595963f44e98fced057f5957d86d57b70028f5025 + languageName: node + linkType: hard + +"@vueuse/core@npm:^9.13.0": + version: 9.13.0 + resolution: "@vueuse/core@npm:9.13.0" + dependencies: + "@types/web-bluetooth": "npm:^0.0.16" + "@vueuse/metadata": "npm:9.13.0" + "@vueuse/shared": "npm:9.13.0" + vue-demi: "npm:*" + checksum: 10c0/59791dbfad5725810139c22adb4d8266ca9de419a4b252cb99f1b2a0bdb2f500988a7aabd42583c255fa45499ebb43dafc9d6ddc45fdf09ef15fdadd02958f42 + languageName: node + linkType: hard + +"@vueuse/metadata@npm:9.13.0": + version: 9.13.0 + resolution: "@vueuse/metadata@npm:9.13.0" + checksum: 10c0/c2a8a85946f382b9b51b4e96f17f0913091e7c271fbde565b59d3c4fd8f67f2f34778e002d65dd78c420700781e725c05d72cb65acec9c773a423116e8d49cd4 + languageName: node + linkType: hard + +"@vueuse/shared@npm:9.13.0": + version: 9.13.0 + resolution: "@vueuse/shared@npm:9.13.0" + dependencies: + vue-demi: "npm:*" + checksum: 10c0/22c453dc3c9ccd389e32d4dcfb6e6facfbb29860376c0b1c4d40d2745edd733857d1a1f82835c1d698dedf0c9f697bd9d1265e4e70a6702c85b61cc295bd7352 + languageName: node + linkType: hard + +"@whatwg-node/disposablestack@npm:^0.0.6": + version: 0.0.6 + resolution: "@whatwg-node/disposablestack@npm:0.0.6" + dependencies: + "@whatwg-node/promise-helpers": "npm:^1.0.0" + tslib: "npm:^2.6.3" + checksum: 10c0/e751da9f8552728f28a140fd78c1da88be167ee8a5688371da88e024a2bf151298d194a61c9750b44bbbb4cf5c687959d495d41b1388e4cfcfe9dbe3584c79b3 + languageName: node + linkType: hard + +"@whatwg-node/fetch@npm:^0.10.0, @whatwg-node/fetch@npm:^0.10.4, @whatwg-node/fetch@npm:^0.10.5": + version: 0.10.7 + resolution: "@whatwg-node/fetch@npm:0.10.7" + dependencies: + "@whatwg-node/node-fetch": "npm:^0.7.19" + urlpattern-polyfill: "npm:^10.0.0" + checksum: 10c0/ac8caed1ca23339babb370c24d0c3566aaee6cad534cd94570476bf3348248caaeb9c753c8da7ff579b9b22f7c8444b67013f4c5b79c6741caf216c4f39c9ed1 + languageName: node + linkType: hard + +"@whatwg-node/node-fetch@npm:^0.7.19": + version: 0.7.19 + resolution: "@whatwg-node/node-fetch@npm:0.7.19" + dependencies: + "@fastify/busboy": "npm:^3.1.1" + "@whatwg-node/disposablestack": "npm:^0.0.6" + "@whatwg-node/promise-helpers": "npm:^1.3.2" + tslib: "npm:^2.6.3" + checksum: 10c0/6a9cdefa144add1b1519c9c6b9813032d48b076e621c08fbe3b2249c64cd8c6beb17a085891cb2f036a9b05179fe81e965b906556542e95f2e03fcde0203877e + languageName: node + linkType: hard + +"@whatwg-node/promise-helpers@npm:^1.0.0, @whatwg-node/promise-helpers@npm:^1.2.1, @whatwg-node/promise-helpers@npm:^1.2.2, @whatwg-node/promise-helpers@npm:^1.2.4, @whatwg-node/promise-helpers@npm:^1.3.0, @whatwg-node/promise-helpers@npm:^1.3.2": + version: 1.3.2 + resolution: "@whatwg-node/promise-helpers@npm:1.3.2" + dependencies: + tslib: "npm:^2.6.3" + checksum: 10c0/d20e8d740cfa1f0eac7dce11e8a7a84f1567513a8ff0bd1772724b581a8ca77df3f9600a95047c0d2628335626113fa98367517abd01c1ff49817fccf225a29a + languageName: node + linkType: hard + +"@whatwg-node/server@npm:^0.9.60": + version: 0.9.71 + resolution: "@whatwg-node/server@npm:0.9.71" + dependencies: + "@whatwg-node/disposablestack": "npm:^0.0.6" + "@whatwg-node/fetch": "npm:^0.10.5" + "@whatwg-node/promise-helpers": "npm:^1.2.2" + tslib: "npm:^2.6.3" + checksum: 10c0/b5af4d596abf4baa94c84b7eb809fda975fdce649f67bcb1b208e54354a6e3582c6709b5d52122552b2b66cacfad54aa31307fa3b621411080b5f5e48aa0727f + languageName: node + linkType: hard + +"@wry/caches@npm:^1.0.0": + version: 1.0.1 + resolution: "@wry/caches@npm:1.0.1" + dependencies: + tslib: "npm:^2.3.0" + checksum: 10c0/a7bca3377f1131d3f1080f2e39d0692c9d1ca86bfd55734786f167f46aad28a4c8e772107324e8319843fb8068fdf98abcdea376d8a589316b1f0cdadf81f8b1 + languageName: node + linkType: hard + +"@wry/context@npm:^0.7.0": + version: 0.7.4 + resolution: "@wry/context@npm:0.7.4" + dependencies: + tslib: "npm:^2.3.0" + checksum: 10c0/6cc8249b8ba195cda7643bffb30969e33d54a99f118a29dd12f1c34064ee0adf04253cfa0ba5b9893afde0a9588745828962877b9585106f7488e8299757638b + languageName: node + linkType: hard + +"@wry/equality@npm:^0.5.6": + version: 0.5.7 + resolution: "@wry/equality@npm:0.5.7" + dependencies: + tslib: "npm:^2.3.0" + checksum: 10c0/8503ff6d4eb80f303d1387e71e51da59ccfc2160fa6d464618be80946fe43a654ea73f0c5b90d659fc4dfc3e38cbbdd6650d595fe5865be476636e444470853e + languageName: node + linkType: hard + +"@wry/trie@npm:^0.5.0": + version: 0.5.0 + resolution: "@wry/trie@npm:0.5.0" + dependencies: + tslib: "npm:^2.3.0" + checksum: 10c0/8c8cfcac96ba4bc69dabf02740e19e613f501b398e80bacc32cd95e87228f75ecb41cd1a76a65abae9756c0f61ab3536e0da52de28857456f9381ffdf5995d3e + languageName: node + linkType: hard + +"abbrev@npm:1": + version: 1.1.1 + resolution: "abbrev@npm:1.1.1" + checksum: 10c0/3f762677702acb24f65e813070e306c61fafe25d4b2583f9dfc935131f774863f3addd5741572ed576bd69cabe473c5af18e1e108b829cb7b6b4747884f726e6 + languageName: node + linkType: hard + +"abbrev@npm:^3.0.0": + version: 3.0.1 + resolution: "abbrev@npm:3.0.1" + checksum: 10c0/21ba8f574ea57a3106d6d35623f2c4a9111d9ee3e9a5be47baed46ec2457d2eac46e07a5c4a60186f88cb98abbe3e24f2d4cca70bc2b12f1692523e2209a9ccf + languageName: node + linkType: hard + +"abort-controller@npm:^3.0.0": + version: 3.0.0 + resolution: "abort-controller@npm:3.0.0" + dependencies: + event-target-shim: "npm:^5.0.0" + checksum: 10c0/90ccc50f010250152509a344eb2e71977fbf8db0ab8f1061197e3275ddf6c61a41a6edfd7b9409c664513131dd96e962065415325ef23efa5db931b382d24ca5 + languageName: node + linkType: hard + +"accepts@npm:^1.3.5, accepts@npm:~1.3.4, accepts@npm:~1.3.8": + version: 1.3.8 + resolution: "accepts@npm:1.3.8" + dependencies: + mime-types: "npm:~2.1.34" + negotiator: "npm:0.6.3" + checksum: 10c0/3a35c5f5586cfb9a21163ca47a5f77ac34fa8ceb5d17d2fa2c0d81f41cbd7f8c6fa52c77e2c039acc0f4d09e71abdc51144246900f6bef5e3c4b333f77d89362 + languageName: node + linkType: hard + +"accepts@npm:^2.0.0": + version: 2.0.0 + resolution: "accepts@npm:2.0.0" + dependencies: + mime-types: "npm:^3.0.0" + negotiator: "npm:^1.0.0" + checksum: 10c0/98374742097e140891546076215f90c32644feacf652db48412329de4c2a529178a81aa500fbb13dd3e6cbf6e68d829037b123ac037fc9a08bcec4b87b358eef + languageName: node + linkType: hard + +"acorn-import-attributes@npm:^1.9.5": + version: 1.9.5 + resolution: "acorn-import-attributes@npm:1.9.5" + peerDependencies: + acorn: ^8 + checksum: 10c0/5926eaaead2326d5a86f322ff1b617b0f698aa61dc719a5baa0e9d955c9885cc71febac3fb5bacff71bbf2c4f9c12db2056883c68c53eb962c048b952e1e013d + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.3.2": + version: 5.3.2 + resolution: "acorn-jsx@npm:5.3.2" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 + languageName: node + linkType: hard + +"acorn@npm:^8.14.0, acorn@npm:^8.14.1, acorn@npm:^8.6.0, acorn@npm:^8.8.2, acorn@npm:^8.9.0": + version: 8.14.1 + resolution: "acorn@npm:8.14.1" + bin: + acorn: bin/acorn + checksum: 10c0/dbd36c1ed1d2fa3550140000371fcf721578095b18777b85a79df231ca093b08edc6858d75d6e48c73e431c174dcf9214edbd7e6fa5911b93bd8abfa54e47123 + languageName: node + linkType: hard + +"agent-base@npm:6": + version: 6.0.2 + resolution: "agent-base@npm:6.0.2" + dependencies: + debug: "npm:4" + checksum: 10c0/dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261 + languageName: node + linkType: hard + +"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": + version: 7.1.3 + resolution: "agent-base@npm:7.1.3" + checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11 + languageName: node + linkType: hard + +"aggregate-error@npm:^3.0.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" + dependencies: + clean-stack: "npm:^2.0.0" + indent-string: "npm:^4.0.0" + checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 + languageName: node + linkType: hard + +"ajv-formats@npm:^2.1.0": + version: 2.1.1 + resolution: "ajv-formats@npm:2.1.1" + dependencies: + ajv: "npm:^8.0.0" + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + checksum: 10c0/e43ba22e91b6a48d96224b83d260d3a3a561b42d391f8d3c6d2c1559f9aa5b253bfb306bc94bbeca1d967c014e15a6efe9a207309e95b3eaae07fcbcdc2af662 + languageName: node + linkType: hard + +"ajv@npm:^6.12.4": + version: 6.12.6 + resolution: "ajv@npm:6.12.6" + dependencies: + fast-deep-equal: "npm:^3.1.1" + fast-json-stable-stringify: "npm:^2.0.0" + json-schema-traverse: "npm:^0.4.1" + uri-js: "npm:^4.2.2" + checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71 + languageName: node + linkType: hard + +"ajv@npm:^8.0.0, ajv@npm:^8.0.1, ajv@npm:^8.6.1": + version: 8.17.1 + resolution: "ajv@npm:8.17.1" + dependencies: + fast-deep-equal: "npm:^3.1.3" + fast-uri: "npm:^3.0.1" + json-schema-traverse: "npm:^1.0.0" + require-from-string: "npm:^2.0.2" + checksum: 10c0/ec3ba10a573c6b60f94639ffc53526275917a2df6810e4ab5a6b959d87459f9ef3f00d5e7865b82677cb7d21590355b34da14d1d0b9c32d75f95a187e76fff35 + languageName: node + linkType: hard + +"alien-signals@npm:^1.0.3": + version: 1.0.13 + resolution: "alien-signals@npm:1.0.13" + checksum: 10c0/7b0ec8305eaacf810ab3fa7e2045c343e695dca510befc148ccef26cb59b8f159d9d56772fbd8767f85cbccc6fadcc09b9f90a4e1e1206d5f726b8995f24dbe4 + languageName: node + linkType: hard + +"ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.0": + version: 4.3.2 + resolution: "ansi-escapes@npm:4.3.2" + dependencies: + type-fest: "npm:^0.21.3" + checksum: 10c0/da917be01871525a3dfcf925ae2977bc59e8c513d4423368645634bf5d4ceba5401574eb705c1e92b79f7292af5a656f78c5725a4b0e1cec97c4b413705c1d50 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 + languageName: node + linkType: hard + +"ansi-regex@npm:^6.0.1": + version: 6.1.0 + resolution: "ansi-regex@npm:6.1.0" + checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: "npm:^2.0.1" + checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 + languageName: node + linkType: hard + +"ansi-styles@npm:^5.0.0": + version: 5.2.0 + resolution: "ansi-styles@npm:5.2.0" + checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df + languageName: node + linkType: hard + +"ansi-styles@npm:^6.1.0": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c + languageName: node + linkType: hard + +"ansis@npm:^3.17.0": + version: 3.17.0 + resolution: "ansis@npm:3.17.0" + checksum: 10c0/d8fa94ca7bb91e7e5f8a7d323756aa075facce07c5d02ca883673e128b2873d16f93e0dec782f98f1eeb1f2b3b4b7b60dcf0ad98fb442e75054fe857988cc5cb + languageName: node + linkType: hard + +"any-promise@npm:^1.0.0": + version: 1.3.0 + resolution: "any-promise@npm:1.3.0" + checksum: 10c0/60f0298ed34c74fef50daab88e8dab786036ed5a7fad02e012ab57e376e0a0b4b29e83b95ea9b5e7d89df762f5f25119b83e00706ecaccb22cfbacee98d74889 + languageName: node + linkType: hard + +"anymatch@npm:^3.1.3, anymatch@npm:~3.1.2": + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" + dependencies: + normalize-path: "npm:^3.0.0" + picomatch: "npm:^2.0.4" + checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac + languageName: node + linkType: hard + +"apollo-upload-client@npm:^17.0.0": + version: 17.0.0 + resolution: "apollo-upload-client@npm:17.0.0" + dependencies: + extract-files: "npm:^11.0.0" + peerDependencies: + "@apollo/client": ^3.0.0 + graphql: 14 - 16 + checksum: 10c0/bddc4c26b7e81ec0b01885d969e007d1d0f44466d126594b91e0a3e375813b81f0e0b76ffedb4c78414ceddb126cb13428ca9715783ce5b6c4e299f482150bd7 + languageName: node + linkType: hard + +"aproba@npm:^1.0.3 || ^2.0.0": + version: 2.0.0 + resolution: "aproba@npm:2.0.0" + checksum: 10c0/d06e26384a8f6245d8c8896e138c0388824e259a329e0c9f196b4fa533c82502a6fd449586e3604950a0c42921832a458bb3aa0aa9f0ba449cfd4f50fd0d09b5 + languageName: node + linkType: hard + +"archiver-utils@npm:^2.1.0": + version: 2.1.0 + resolution: "archiver-utils@npm:2.1.0" + dependencies: + glob: "npm:^7.1.4" + graceful-fs: "npm:^4.2.0" + lazystream: "npm:^1.0.0" + lodash.defaults: "npm:^4.2.0" + lodash.difference: "npm:^4.5.0" + lodash.flatten: "npm:^4.4.0" + lodash.isplainobject: "npm:^4.0.6" + lodash.union: "npm:^4.6.0" + normalize-path: "npm:^3.0.0" + readable-stream: "npm:^2.0.0" + checksum: 10c0/6ea5b02e440f3099aff58b18dd384f84ecfe18632e81d26c1011fe7dfdb80ade43d7a06cbf048ef0e9ee0f2c87a80cb24c0f0ac5e3a2c4d67641d6f0d6e36ece + languageName: node + linkType: hard + +"archiver-utils@npm:^3.0.4": + version: 3.0.4 + resolution: "archiver-utils@npm:3.0.4" + dependencies: + glob: "npm:^7.2.3" + graceful-fs: "npm:^4.2.0" + lazystream: "npm:^1.0.0" + lodash.defaults: "npm:^4.2.0" + lodash.difference: "npm:^4.5.0" + lodash.flatten: "npm:^4.4.0" + lodash.isplainobject: "npm:^4.0.6" + lodash.union: "npm:^4.6.0" + normalize-path: "npm:^3.0.0" + readable-stream: "npm:^3.6.0" + checksum: 10c0/9bb7e271e95ff33bdbdcd6f69f8860e0aeed3fcba352a74f51a626d1c32b404f20e3185d5214f171b24a692471d01702f43874d1a4f0d2e5f57bd0834bc54c14 + languageName: node + linkType: hard + +"archiver-utils@npm:^5.0.0, archiver-utils@npm:^5.0.2": + version: 5.0.2 + resolution: "archiver-utils@npm:5.0.2" + dependencies: + glob: "npm:^10.0.0" + graceful-fs: "npm:^4.2.0" + is-stream: "npm:^2.0.1" + lazystream: "npm:^1.0.0" + lodash: "npm:^4.17.15" + normalize-path: "npm:^3.0.0" + readable-stream: "npm:^4.0.0" + checksum: 10c0/3782c5fa9922186aa1a8e41ed0c2867569faa5f15c8e5e6418ea4c1b730b476e21bd68270b3ea457daf459ae23aaea070b2b9f90cf90a59def8dc79b9e4ef538 + languageName: node + linkType: hard + +"archiver@npm:^5.3.1": + version: 5.3.2 + resolution: "archiver@npm:5.3.2" + dependencies: + archiver-utils: "npm:^2.1.0" + async: "npm:^3.2.4" + buffer-crc32: "npm:^0.2.1" + readable-stream: "npm:^3.6.0" + readdir-glob: "npm:^1.1.2" + tar-stream: "npm:^2.2.0" + zip-stream: "npm:^4.1.0" + checksum: 10c0/973384d749b3fa96f44ceda1603a65aaa3f24a267230d69a4df9d7b607d38d3ebc6c18c358af76eb06345b6b331ccb9eca07bd079430226b5afce95de22dfade + languageName: node + linkType: hard + +"archiver@npm:^7.0.1": + version: 7.0.1 + resolution: "archiver@npm:7.0.1" + dependencies: + archiver-utils: "npm:^5.0.2" + async: "npm:^3.2.4" + buffer-crc32: "npm:^1.0.0" + readable-stream: "npm:^4.0.0" + readdir-glob: "npm:^1.1.2" + tar-stream: "npm:^3.0.0" + zip-stream: "npm:^6.0.1" + checksum: 10c0/02afd87ca16f6184f752db8e26884e6eff911c476812a0e7f7b26c4beb09f06119807f388a8e26ed2558aa8ba9db28646ebd147a4f99e46813b8b43158e1438e + languageName: node + linkType: hard + +"are-docs-informative@npm:^0.0.2": + version: 0.0.2 + resolution: "are-docs-informative@npm:0.0.2" + checksum: 10c0/f0326981bd699c372d268b526b170a28f2e1aec2cf99d7de0686083528427ecdf6ae41fef5d9988e224a5616298af747ad8a76e7306b0a7c97cc085a99636d60 + languageName: node + linkType: hard + +"are-we-there-yet@npm:^2.0.0": + version: 2.0.0 + resolution: "are-we-there-yet@npm:2.0.0" + dependencies: + delegates: "npm:^1.0.0" + readable-stream: "npm:^3.6.0" + checksum: 10c0/375f753c10329153c8d66dc95e8f8b6c7cc2aa66e05cb0960bd69092b10dae22900cacc7d653ad11d26b3ecbdbfe1e8bfb6ccf0265ba8077a7d979970f16b99c + languageName: node + linkType: hard + +"arg@npm:^5.0.2": + version: 5.0.2 + resolution: "arg@npm:5.0.2" + checksum: 10c0/ccaf86f4e05d342af6666c569f844bec426595c567d32a8289715087825c2ca7edd8a3d204e4d2fb2aa4602e09a57d0c13ea8c9eea75aac3dbb4af5514e6800e + languageName: node + linkType: hard + +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e + languageName: node + linkType: hard + +"aria-query@npm:5.3.0": + version: 5.3.0 + resolution: "aria-query@npm:5.3.0" + dependencies: + dequal: "npm:^2.0.3" + checksum: 10c0/2bff0d4eba5852a9dd578ecf47eaef0e82cc52569b48469b0aac2db5145db0b17b7a58d9e01237706d1e14b7a1b0ac9b78e9c97027ad97679dd8f91b85da1469 + languageName: node + linkType: hard + +"aria-query@npm:^5.0.0, aria-query@npm:^5.3.0": + version: 5.3.2 + resolution: "aria-query@npm:5.3.2" + checksum: 10c0/003c7e3e2cff5540bf7a7893775fc614de82b0c5dde8ae823d47b7a28a9d4da1f7ed85f340bdb93d5649caa927755f0e31ecc7ab63edfdfc00c8ef07e505e03e + languageName: node + linkType: hard + +"array-flatten@npm:1.1.1": + version: 1.1.1 + resolution: "array-flatten@npm:1.1.1" + checksum: 10c0/806966c8abb2f858b08f5324d9d18d7737480610f3bd5d3498aaae6eb5efdc501a884ba019c9b4a8f02ff67002058749d05548fd42fa8643f02c9c7f22198b91 + languageName: node + linkType: hard + +"array-union@npm:^2.1.0": + version: 2.1.0 + resolution: "array-union@npm:2.1.0" + checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 + languageName: node + linkType: hard + +"arrify@npm:^1.0.1": + version: 1.0.1 + resolution: "arrify@npm:1.0.1" + checksum: 10c0/c35c8d1a81bcd5474c0c57fe3f4bad1a4d46a5fa353cedcff7a54da315df60db71829e69104b859dff96c5d68af46bd2be259fe5e50dc6aa9df3b36bea0383ab + languageName: node + linkType: hard + +"asap@npm:~2.0.3": + version: 2.0.6 + resolution: "asap@npm:2.0.6" + checksum: 10c0/c6d5e39fe1f15e4b87677460bd66b66050cd14c772269cee6688824c1410a08ab20254bb6784f9afb75af9144a9f9a7692d49547f4d19d715aeb7c0318f3136d + languageName: node + linkType: hard + +"assertion-error@npm:^2.0.1": + version: 2.0.1 + resolution: "assertion-error@npm:2.0.1" + checksum: 10c0/bbbcb117ac6480138f8c93cf7f535614282dea9dc828f540cdece85e3c665e8f78958b96afac52f29ff883c72638e6a87d469ecc9fe5bc902df03ed24a55dba8 + languageName: node + linkType: hard + +"ast-kit@npm:^1.0.1, ast-kit@npm:^1.4.0": + version: 1.4.3 + resolution: "ast-kit@npm:1.4.3" + dependencies: + "@babel/parser": "npm:^7.27.0" + pathe: "npm:^2.0.3" + checksum: 10c0/8e121154e14231c51f9b14efc1dfbc678ad6309ba7e2b80b77fcc39350aa4f31360761122145b6a8559a7eccb8560a1de93cf71125a56835c77efdc42932ccf9 + languageName: node + linkType: hard + +"ast-module-types@npm:^5.0.0": + version: 5.0.0 + resolution: "ast-module-types@npm:5.0.0" + checksum: 10c0/023eb05658e7c4be9a2e661df8713d74fd04a45091ac9be399ff638265638a88752df2e26be49afdeefcacdcdf8e3160a86f0703c46844c5bc96d908bb5e23f0 + languageName: node + linkType: hard + +"ast-walker-scope@npm:^0.6.2": + version: 0.6.2 + resolution: "ast-walker-scope@npm:0.6.2" + dependencies: + "@babel/parser": "npm:^7.25.3" + ast-kit: "npm:^1.0.1" + checksum: 10c0/5e3516d200286dd21d4fc2bd7be69d2b9ab20e1e11279998e2a9fb327970e232a64d6d2e8a17a322662069e6f6f6e79dc057a6837f7aa4da99bd729cefc80530 + languageName: node + linkType: hard + +"astral-regex@npm:^2.0.0": + version: 2.0.0 + resolution: "astral-regex@npm:2.0.0" + checksum: 10c0/f63d439cc383db1b9c5c6080d1e240bd14dae745f15d11ec5da863e182bbeca70df6c8191cffef5deba0b566ef98834610a68be79ac6379c95eeb26e1b310e25 + languageName: node + linkType: hard + +"async-sema@npm:^3.1.1": + version: 3.1.1 + resolution: "async-sema@npm:3.1.1" + checksum: 10c0/a16da9f7f2dbdd00a969bf264b7ad331b59df3eac2b38f529b881c5cc8662594e68ed096d927ec2aabdc13454379cdc6d677bcdb0a3d2db338fb4be17957832b + languageName: node + linkType: hard + +"async@npm:^3.2.3, async@npm:^3.2.4, async@npm:^3.2.6": + version: 3.2.6 + resolution: "async@npm:3.2.6" + checksum: 10c0/36484bb15ceddf07078688d95e27076379cc2f87b10c03b6dd8a83e89475a3c8df5848859dd06a4c95af1e4c16fc973de0171a77f18ea00be899aca2a4f85e70 + languageName: node + linkType: hard + +"at-least-node@npm:^1.0.0": + version: 1.0.0 + resolution: "at-least-node@npm:1.0.0" + checksum: 10c0/4c058baf6df1bc5a1697cf182e2029c58cd99975288a13f9e70068ef5d6f4e1f1fd7c4d2c3c4912eae44797d1725be9700995736deca441b39f3e66d8dee97ef + languageName: node + linkType: hard + +"auto-bind@npm:~4.0.0": + version: 4.0.0 + resolution: "auto-bind@npm:4.0.0" + checksum: 10c0/12f70745d081ba990dca028ecfa70de25d4baa9a8b74a5bef3ab293da56cba32ff8276c3ff8e5fe6d9f370547bf3fa71486befbfefe272af7e722c21d0c25530 + languageName: node + linkType: hard + +"autoprefixer@npm:^10.4.14, autoprefixer@npm:^10.4.20, autoprefixer@npm:^10.4.21": + version: 10.4.21 + resolution: "autoprefixer@npm:10.4.21" + dependencies: + browserslist: "npm:^4.24.4" + caniuse-lite: "npm:^1.0.30001702" + fraction.js: "npm:^4.3.7" + normalize-range: "npm:^0.1.2" + picocolors: "npm:^1.1.1" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.1.0 + bin: + autoprefixer: bin/autoprefixer + checksum: 10c0/de5b71d26d0baff4bbfb3d59f7cf7114a6030c9eeb66167acf49a32c5b61c68e308f1e0f869d92334436a221035d08b51cd1b2f2c4689b8d955149423c16d4d4 + languageName: node + linkType: hard + +"b4a@npm:^1.6.4": + version: 1.6.7 + resolution: "b4a@npm:1.6.7" + checksum: 10c0/ec2f004d1daae04be8c5a1f8aeb7fea213c34025e279db4958eb0b82c1729ee25f7c6e89f92a5f65c8a9cf2d017ce27e3dda912403341d1781bd74528a4849d4 + languageName: node + linkType: hard + +"babel-plugin-polyfill-corejs2@npm:^0.4.10": + version: 0.4.13 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.13" + dependencies: + "@babel/compat-data": "npm:^7.22.6" + "@babel/helper-define-polyfill-provider": "npm:^0.6.4" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/b4a54561606d388e6f9499f39f03171af4be7f9ce2355e737135e40afa7086cf6790fdd706c2e59f488c8fa1f76123d28783708e07ddc84647dca8ed8fb98e06 + languageName: node + linkType: hard + +"babel-plugin-polyfill-corejs3@npm:^0.11.0": + version: 0.11.1 + resolution: "babel-plugin-polyfill-corejs3@npm:0.11.1" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.6.3" + core-js-compat: "npm:^3.40.0" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/025f754b6296d84b20200aff63a3c1acdd85e8c621781f2bd27fe2512d0060526192d02329326947c6b29c27cf475fbcfaaff8c51eab1d2bfc7b79086bb64229 + languageName: node + linkType: hard + +"babel-plugin-polyfill-regenerator@npm:^0.6.1": + version: 0.6.4 + resolution: "babel-plugin-polyfill-regenerator@npm:0.6.4" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.6.4" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/ebaaf9e4e53201c02f496d3f686d815e94177b3e55b35f11223b99c60d197a29f907a2e87bbcccced8b7aff22a807fccc1adaf04722864a8e1862c8845ab830a + languageName: node + linkType: hard + +"backo2@npm:^1.0.2": + version: 1.0.2 + resolution: "backo2@npm:1.0.2" + checksum: 10c0/a9e825a6a38a6d1c4a94476eabc13d6127dfaafb0967baf104affbb67806ae26abbb58dab8d572d2cd21ef06634ff57c3ad48dff14b904e18de1474cc2f22bf3 + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee + languageName: node + linkType: hard + +"balanced-match@npm:^2.0.0": + version: 2.0.0 + resolution: "balanced-match@npm:2.0.0" + checksum: 10c0/60a54e0b75a61674e16a7a336b805f06c72d6f8fc457639c24efc512ba2bf9cb5744b9f6f5225afcefb99da39714440c83c737208cc65c5d9ecd1f3093331ca3 + languageName: node + linkType: hard + +"bare-events@npm:^2.2.0": + version: 2.5.4 + resolution: "bare-events@npm:2.5.4" + checksum: 10c0/877a9cea73d545e2588cdbd6fd01653e27dac48ad6b44985cdbae73e1f57f292d4ba52e25d1fba53674c1053c463d159f3d5c7bc36a2e6e192e389b499ddd627 + languageName: node + linkType: hard + +"base64-js@npm:^1.3.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf + languageName: node + linkType: hard + +"base64id@npm:2.0.0, base64id@npm:~2.0.0": + version: 2.0.0 + resolution: "base64id@npm:2.0.0" + checksum: 10c0/6919efd237ed44b9988cbfc33eca6f173a10e810ce50292b271a1a421aac7748ef232a64d1e6032b08f19aae48dce6ee8f66c5ae2c9e5066c82b884861d4d453 + languageName: node + linkType: hard + +"binary-extensions@npm:^2.0.0": + version: 2.3.0 + resolution: "binary-extensions@npm:2.3.0" + checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 + languageName: node + linkType: hard + +"bindings@npm:^1.4.0": + version: 1.5.0 + resolution: "bindings@npm:1.5.0" + dependencies: + file-uri-to-path: "npm:1.0.0" + checksum: 10c0/3dab2491b4bb24124252a91e656803eac24292473e56554e35bbfe3cc1875332cfa77600c3bac7564049dc95075bf6fcc63a4609920ff2d64d0fe405fcf0d4ba + languageName: node + linkType: hard + +"birpc@npm:^2.0.19, birpc@npm:^2.3.0": + version: 2.3.0 + resolution: "birpc@npm:2.3.0" + checksum: 10c0/82489bcfa1c0a669bf4e5a15fa72691e8bda35abeac8860044eeffdcbc05da200b4349711a4beccdb2d0b90c40d752b0c7fcf01462bcfcb38ae9bd2b034ed339 + languageName: node + linkType: hard + +"bl@npm:^4.0.3, bl@npm:^4.1.0": + version: 4.1.0 + resolution: "bl@npm:4.1.0" + dependencies: + buffer: "npm:^5.5.0" + inherits: "npm:^2.0.4" + readable-stream: "npm:^3.4.0" + checksum: 10c0/02847e1d2cb089c9dc6958add42e3cdeaf07d13f575973963335ac0fdece563a50ac770ac4c8fa06492d2dd276f6cc3b7f08c7cd9c7a7ad0f8d388b2a28def5f + languageName: node + linkType: hard + +"body-parser@npm:1.20.3": + version: 1.20.3 + resolution: "body-parser@npm:1.20.3" + dependencies: + bytes: "npm:3.1.2" + content-type: "npm:~1.0.5" + debug: "npm:2.6.9" + depd: "npm:2.0.0" + destroy: "npm:1.2.0" + http-errors: "npm:2.0.0" + iconv-lite: "npm:0.4.24" + on-finished: "npm:2.4.1" + qs: "npm:6.13.0" + raw-body: "npm:2.5.2" + type-is: "npm:~1.6.18" + unpipe: "npm:1.0.0" + checksum: 10c0/0a9a93b7518f222885498dcecaad528cf010dd109b071bf471c93def4bfe30958b83e03496eb9c1ad4896db543d999bb62be1a3087294162a88cfa1b42c16310 + languageName: node + linkType: hard + +"body-parser@npm:^2.2.0": + version: 2.2.0 + resolution: "body-parser@npm:2.2.0" + dependencies: + bytes: "npm:^3.1.2" + content-type: "npm:^1.0.5" + debug: "npm:^4.4.0" + http-errors: "npm:^2.0.0" + iconv-lite: "npm:^0.6.3" + on-finished: "npm:^2.4.1" + qs: "npm:^6.14.0" + raw-body: "npm:^3.0.0" + type-is: "npm:^2.0.0" + checksum: 10c0/a9ded39e71ac9668e2211afa72e82ff86cc5ef94de1250b7d1ba9cc299e4150408aaa5f1e8b03dd4578472a3ce6d1caa2a23b27a6c18e526e48b4595174c116c + languageName: node + linkType: hard + +"boolbase@npm:^1.0.0": + version: 1.0.0 + resolution: "boolbase@npm:1.0.0" + checksum: 10c0/e4b53deb4f2b85c52be0e21a273f2045c7b6a6ea002b0e139c744cb6f95e9ec044439a52883b0d74dedd1ff3da55ed140cfdddfed7fb0cccbed373de5dce1bcf + languageName: node + linkType: hard + +"boolean@npm:^3.0.1": + version: 3.2.0 + resolution: "boolean@npm:3.2.0" + checksum: 10c0/6a0dc9668f6f3dda42a53c181fcbdad223169c8d87b6c4011b87a8b14a21770efb2934a778f063d7ece17280f8c06d313c87f7b834bb1dd526a867ffcd00febf + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: "npm:^1.0.0" + concat-map: "npm:0.0.1" + checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: "npm:^1.0.0" + checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f + languageName: node + linkType: hard + +"braces@npm:^3.0.3, braces@npm:~3.0.2": + version: 3.0.3 + resolution: "braces@npm:3.0.3" + dependencies: + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 + languageName: node + linkType: hard + +"browserslist@npm:^4.0.0, browserslist@npm:^4.21.9, browserslist@npm:^4.24.0, browserslist@npm:^4.24.4, browserslist@npm:^4.24.5": + version: 4.24.5 + resolution: "browserslist@npm:4.24.5" + dependencies: + caniuse-lite: "npm:^1.0.30001716" + electron-to-chromium: "npm:^1.5.149" + node-releases: "npm:^2.0.19" + update-browserslist-db: "npm:^1.1.3" + bin: + browserslist: cli.js + checksum: 10c0/f4c1ce1a7d8fdfab5e5b88bb6e93d09e8a883c393f86801537a252da0362dbdcde4dbd97b318246c5d84c6607b2f6b47af732c1b000d6a8a881ee024bad29204 + languageName: node + linkType: hard + +"bser@npm:2.1.1": + version: 2.1.1 + resolution: "bser@npm:2.1.1" + dependencies: + node-int64: "npm:^0.4.0" + checksum: 10c0/24d8dfb7b6d457d73f32744e678a60cc553e4ec0e9e1a01cf614b44d85c3c87e188d3cc78ef0442ce5032ee6818de20a0162ba1074725c0d08908f62ea979227 + languageName: node + linkType: hard + +"buffer-crc32@npm:^0.2.1, buffer-crc32@npm:^0.2.13, buffer-crc32@npm:~0.2.3": + version: 0.2.13 + resolution: "buffer-crc32@npm:0.2.13" + checksum: 10c0/cb0a8ddf5cf4f766466db63279e47761eb825693eeba6a5a95ee4ec8cb8f81ede70aa7f9d8aeec083e781d47154290eb5d4d26b3f7a465ec57fb9e7d59c47150 + languageName: node + linkType: hard + +"buffer-crc32@npm:^1.0.0": + version: 1.0.0 + resolution: "buffer-crc32@npm:1.0.0" + checksum: 10c0/8b86e161cee4bb48d5fa622cbae4c18f25e4857e5203b89e23de59e627ab26beb82d9d7999f2b8de02580165f61f83f997beaf02980cdf06affd175b651921ab + languageName: node + linkType: hard + +"buffer-from@npm:^1.0.0": + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 + languageName: node + linkType: hard + +"buffer@npm:^5.5.0": + version: 5.7.1 + resolution: "buffer@npm:5.7.1" + dependencies: + base64-js: "npm:^1.3.1" + ieee754: "npm:^1.1.13" + checksum: 10c0/27cac81cff434ed2876058d72e7c4789d11ff1120ef32c9de48f59eab58179b66710c488987d295ae89a228f835fc66d088652dffeb8e3ba8659f80eb091d55e + languageName: node + linkType: hard + +"buffer@npm:^6.0.3": + version: 6.0.3 + resolution: "buffer@npm:6.0.3" + dependencies: + base64-js: "npm:^1.3.1" + ieee754: "npm:^1.2.1" + checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 + languageName: node + linkType: hard + +"builtin-modules@npm:^3.3.0": + version: 3.3.0 + resolution: "builtin-modules@npm:3.3.0" + checksum: 10c0/2cb3448b4f7306dc853632a4fcddc95e8d4e4b9868c139400027b71938fc6806d4ff44007deffb362ac85724bd40c2c6452fb6a0aa4531650eeddb98d8e5ee8a + languageName: node + linkType: hard + +"bundle-name@npm:^4.1.0": + version: 4.1.0 + resolution: "bundle-name@npm:4.1.0" + dependencies: + run-applescript: "npm:^7.0.0" + checksum: 10c0/8e575981e79c2bcf14d8b1c027a3775c095d362d1382312f444a7c861b0e21513c0bd8db5bd2b16e50ba0709fa622d4eab6b53192d222120305e68359daece29 + languageName: node + linkType: hard + +"bundle-require@npm:^5.0.0": + version: 5.1.0 + resolution: "bundle-require@npm:5.1.0" + dependencies: + load-tsconfig: "npm:^0.2.3" + peerDependencies: + esbuild: ">=0.18" + checksum: 10c0/8bff9df68eb686f05af952003c78e70ffed2817968f92aebb2af620cc0b7428c8154df761d28f1b38508532204278950624ef86ce63644013dc57660a9d1810f + languageName: node + linkType: hard + +"bytes@npm:3.1.2, bytes@npm:^3.1.2": + version: 3.1.2 + resolution: "bytes@npm:3.1.2" + checksum: 10c0/76d1c43cbd602794ad8ad2ae94095cddeb1de78c5dddaa7005c51af10b0176c69971a6d88e805a90c2b6550d76636e43c40d8427a808b8645ede885de4a0358e + languageName: node + linkType: hard + +"c12@npm:^3.0.2, c12@npm:^3.0.3": + version: 3.0.3 + resolution: "c12@npm:3.0.3" + dependencies: + chokidar: "npm:^4.0.3" + confbox: "npm:^0.2.2" + defu: "npm:^6.1.4" + dotenv: "npm:^16.4.7" + exsolve: "npm:^1.0.4" + giget: "npm:^2.0.0" + jiti: "npm:^2.4.2" + ohash: "npm:^2.0.11" + pathe: "npm:^2.0.3" + perfect-debounce: "npm:^1.0.0" + pkg-types: "npm:^2.1.0" + rc9: "npm:^2.1.2" + peerDependencies: + magicast: ^0.3.5 + peerDependenciesMeta: + magicast: + optional: true + checksum: 10c0/bacf4aa499db90e7198dc4927c7385e721320b71db1073390c291a2e45b8ca2e7beb8b7c2d725e212eeb19df8c52ac5fefba1300a94a29830d585cb002d85c4e + languageName: node + linkType: hard + +"cac@npm:^6.7.14": + version: 6.7.14 + resolution: "cac@npm:6.7.14" + checksum: 10c0/4ee06aaa7bab8981f0d54e5f5f9d4adcd64058e9697563ce336d8a3878ed018ee18ebe5359b2430eceae87e0758e62ea2019c3f52ae6e211b1bd2e133856cd10 + languageName: node + linkType: hard + +"cacache@npm:^19.0.1": + version: 19.0.1 + resolution: "cacache@npm:19.0.1" + dependencies: + "@npmcli/fs": "npm:^4.0.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^10.2.2" + lru-cache: "npm:^10.0.1" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^2.0.1" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^7.0.2" + ssri: "npm:^12.0.0" + tar: "npm:^7.4.3" + unique-filename: "npm:^4.0.0" + checksum: 10c0/01f2134e1bd7d3ab68be851df96c8d63b492b1853b67f2eecb2c37bb682d37cb70bb858a16f2f0554d3c0071be6dfe21456a1ff6fa4b7eed996570d6a25ffe9c + languageName: node + linkType: hard + +"cache-content-type@npm:^1.0.0": + version: 1.0.1 + resolution: "cache-content-type@npm:1.0.1" + dependencies: + mime-types: "npm:^2.1.18" + ylru: "npm:^1.2.0" + checksum: 10c0/59b50e29e64a24bb52a16e5d35b69ad27ef14313701acc5e462b0aeebf2f09ff87fb6538eb0c0f0de4de05c8a1eecaef47f455f5b4928079e68f607f816a0843 + languageName: node + linkType: hard + +"cacheable-request@npm:^6.0.0": + version: 6.1.0 + resolution: "cacheable-request@npm:6.1.0" + dependencies: + clone-response: "npm:^1.0.2" + get-stream: "npm:^5.1.0" + http-cache-semantics: "npm:^4.0.0" + keyv: "npm:^3.0.0" + lowercase-keys: "npm:^2.0.0" + normalize-url: "npm:^4.1.0" + responselike: "npm:^1.0.2" + checksum: 10c0/e92f2b2078c014ba097647ab4ff6a6149dc2974a65670ee97ec593ec9f4148ecc988e86b9fcd8ebf7fe255774a53d5dc3db6b01065d44f09a7452c7a7d8e4844 + languageName: node + linkType: hard + +"call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": + version: 1.0.2 + resolution: "call-bind-apply-helpers@npm:1.0.2" + dependencies: + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 + languageName: node + linkType: hard + +"call-bound@npm:^1.0.2, call-bound@npm:^1.0.3": + version: 1.0.4 + resolution: "call-bound@npm:1.0.4" + dependencies: + call-bind-apply-helpers: "npm:^1.0.2" + get-intrinsic: "npm:^1.3.0" + checksum: 10c0/f4796a6a0941e71c766aea672f63b72bc61234c4f4964dc6d7606e3664c307e7d77845328a8f3359ce39ddb377fed67318f9ee203dea1d47e46165dcf2917644 + languageName: node + linkType: hard + +"callsite@npm:^1.0.0": + version: 1.0.0 + resolution: "callsite@npm:1.0.0" + checksum: 10c0/8b23d5ed879984b66fe3da381994d6c4b741e561226abc48b40c99c4896f7125db395ea4aa989071a7eb0712c3f83bc32fb1e798fdf54967acdf4af176e48572 + languageName: node + linkType: hard + +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 + languageName: node + linkType: hard + +"camel-case@npm:^4.1.2": + version: 4.1.2 + resolution: "camel-case@npm:4.1.2" + dependencies: + pascal-case: "npm:^3.1.2" + tslib: "npm:^2.0.3" + checksum: 10c0/bf9eefaee1f20edbed2e9a442a226793bc72336e2b99e5e48c6b7252b6f70b080fc46d8246ab91939e2af91c36cdd422e0af35161e58dd089590f302f8f64c8a + languageName: node + linkType: hard + +"camelcase-css@npm:^2.0.1": + version: 2.0.1 + resolution: "camelcase-css@npm:2.0.1" + checksum: 10c0/1a1a3137e8a781e6cbeaeab75634c60ffd8e27850de410c162cce222ea331cd1ba5364e8fb21c95e5ca76f52ac34b81a090925ca00a87221355746d049c6e273 + languageName: node + linkType: hard + +"camelcase-keys@npm:^7.0.0": + version: 7.0.2 + resolution: "camelcase-keys@npm:7.0.2" + dependencies: + camelcase: "npm:^6.3.0" + map-obj: "npm:^4.1.0" + quick-lru: "npm:^5.1.1" + type-fest: "npm:^1.2.1" + checksum: 10c0/ae86a51168643e9e8a2f2c7bfa17850729979ec3dafc5253056a7d97931cbb0e3ef5b4185e59d54b7a56c54405dee2874b0c82033498d8626e512ff9034cb05c + languageName: node + linkType: hard + +"camelcase@npm:^6.3.0": + version: 6.3.0 + resolution: "camelcase@npm:6.3.0" + checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 + languageName: node + linkType: hard + +"caniuse-api@npm:^3.0.0": + version: 3.0.0 + resolution: "caniuse-api@npm:3.0.0" + dependencies: + browserslist: "npm:^4.0.0" + caniuse-lite: "npm:^1.0.0" + lodash.memoize: "npm:^4.1.2" + lodash.uniq: "npm:^4.5.0" + checksum: 10c0/60f9e85a3331e6d761b1b03eec71ca38ef7d74146bece34694853033292156b815696573ed734b65583acf493e88163618eda915c6c826d46a024c71a9572b4c + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001702, caniuse-lite@npm:^1.0.30001716": + version: 1.0.30001718 + resolution: "caniuse-lite@npm:1.0.30001718" + checksum: 10c0/67f9ad09bc16443e28d14f265d6e468480cd8dc1900d0d8b982222de80c699c4f2306599c3da8a3fa7139f110d4b30d49dbac78f215470f479abb6ffe141d5d3 + languageName: node + linkType: hard + +"capital-case@npm:^1.0.4": + version: 1.0.4 + resolution: "capital-case@npm:1.0.4" + dependencies: + no-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + upper-case-first: "npm:^2.0.2" + checksum: 10c0/6a034af73401f6e55d91ea35c190bbf8bda21714d4ea8bb8f1799311d123410a80f0875db4e3236dc3f97d74231ff4bf1c8783f2be13d7733c7d990c57387281 + languageName: node + linkType: hard + +"chai@npm:^5.1.1": + version: 5.2.0 + resolution: "chai@npm:5.2.0" + dependencies: + assertion-error: "npm:^2.0.1" + check-error: "npm:^2.1.1" + deep-eql: "npm:^5.0.1" + loupe: "npm:^3.1.0" + pathval: "npm:^2.0.0" + checksum: 10c0/dfd1cb719c7cebb051b727672d382a35338af1470065cb12adb01f4ee451bbf528e0e0f9ab2016af5fc1eea4df6e7f4504dc8443f8f00bd8fb87ad32dc516f7d + languageName: node + linkType: hard + +"chalk@npm:^3.0.0": + version: 3.0.0 + resolution: "chalk@npm:3.0.0" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/ee650b0a065b3d7a6fda258e75d3a86fc8e4effa55871da730a9e42ccb035bf5fd203525e5a1ef45ec2582ecc4f65b47eb11357c526b84dd29a14fb162c414d2 + languageName: node + linkType: hard + +"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.1, chalk@npm:^4.1.2": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + languageName: node + linkType: hard + +"change-case-all@npm:1.0.15": + version: 1.0.15 + resolution: "change-case-all@npm:1.0.15" + dependencies: + change-case: "npm:^4.1.2" + is-lower-case: "npm:^2.0.2" + is-upper-case: "npm:^2.0.2" + lower-case: "npm:^2.0.2" + lower-case-first: "npm:^2.0.2" + sponge-case: "npm:^1.0.1" + swap-case: "npm:^2.0.2" + title-case: "npm:^3.0.3" + upper-case: "npm:^2.0.2" + upper-case-first: "npm:^2.0.2" + checksum: 10c0/0de81690de866aa8c477f8b5b08c6f9dbce4a078cffa5f014858f49fda548a9a6524b61f62f2940acce9f1fdcfeef3a7124090684e86e731f55d26c22713e2d7 + languageName: node + linkType: hard + +"change-case@npm:^4.1.2": + version: 4.1.2 + resolution: "change-case@npm:4.1.2" + dependencies: + camel-case: "npm:^4.1.2" + capital-case: "npm:^1.0.4" + constant-case: "npm:^3.0.4" + dot-case: "npm:^3.0.4" + header-case: "npm:^2.0.4" + no-case: "npm:^3.0.4" + param-case: "npm:^3.0.4" + pascal-case: "npm:^3.1.2" + path-case: "npm:^3.0.4" + sentence-case: "npm:^3.0.4" + snake-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/95a6e48563cd393241ce18470c7310a8a050304a64b63addac487560ab039ce42b099673d1d293cc10652324d92060de11b5d918179fe3b5af2ee521fb03ca58 + languageName: node + linkType: hard + +"chardet@npm:^0.7.0": + version: 0.7.0 + resolution: "chardet@npm:0.7.0" + checksum: 10c0/96e4731b9ec8050cbb56ab684e8c48d6c33f7826b755802d14e3ebfdc51c57afeece3ea39bc6b09acc359e4363525388b915e16640c1378053820f5e70d0f27d + languageName: node + linkType: hard + +"check-error@npm:^2.1.1": + version: 2.1.1 + resolution: "check-error@npm:2.1.1" + checksum: 10c0/979f13eccab306cf1785fa10941a590b4e7ea9916ea2a4f8c87f0316fc3eab07eabefb6e587424ef0f88cbcd3805791f172ea739863ca3d7ce2afc54641c7f0e + languageName: node + linkType: hard + +"chokidar@npm:^3.6.0": + version: 3.6.0 + resolution: "chokidar@npm:3.6.0" + dependencies: + anymatch: "npm:~3.1.2" + braces: "npm:~3.0.2" + fsevents: "npm:~2.3.2" + glob-parent: "npm:~5.1.2" + is-binary-path: "npm:~2.1.0" + is-glob: "npm:~4.0.1" + normalize-path: "npm:~3.0.0" + readdirp: "npm:~3.6.0" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 + languageName: node + linkType: hard + +"chokidar@npm:^4.0.1, chokidar@npm:^4.0.3": + version: 4.0.3 + resolution: "chokidar@npm:4.0.3" + dependencies: + readdirp: "npm:^4.0.1" + checksum: 10c0/a58b9df05bb452f7d105d9e7229ac82fa873741c0c40ddcc7bb82f8a909fbe3f7814c9ebe9bc9a2bef9b737c0ec6e2d699d179048ef06ad3ec46315df0ebe6ad + languageName: node + linkType: hard + +"chownr@npm:^2.0.0": + version: 2.0.0 + resolution: "chownr@npm:2.0.0" + checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 + languageName: node + linkType: hard + +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 + languageName: node + linkType: hard + +"ci-info@npm:^4.0.0": + version: 4.2.0 + resolution: "ci-info@npm:4.2.0" + checksum: 10c0/37a2f4b6a213a5cf835890eb0241f0d5b022f6cfefde58a69e9af8e3a0e71e06d6ad7754b0d4efb9cd2613e58a7a33996d71b56b0d04242722e86666f3f3d058 + languageName: node + linkType: hard + +"citty@npm:^0.1.5, citty@npm:^0.1.6": + version: 0.1.6 + resolution: "citty@npm:0.1.6" + dependencies: + consola: "npm:^3.2.3" + checksum: 10c0/d26ad82a9a4a8858c7e149d90b878a3eceecd4cfd3e2ed3cd5f9a06212e451fb4f8cbe0fa39a3acb1b3e8f18e22db8ee5def5829384bad50e823d4b301609b48 + languageName: node + linkType: hard + +"classnames@npm:^2.2.6": + version: 2.5.1 + resolution: "classnames@npm:2.5.1" + checksum: 10c0/afff4f77e62cea2d79c39962980bf316bacb0d7c49e13a21adaadb9221e1c6b9d3cdb829d8bb1b23c406f4e740507f37e1dcf506f7e3b7113d17c5bab787aa69 + languageName: node + linkType: hard + +"clean-regexp@npm:^1.0.0": + version: 1.0.0 + resolution: "clean-regexp@npm:1.0.0" + dependencies: + escape-string-regexp: "npm:^1.0.5" + checksum: 10c0/fd9c7446551b8fc536f95e8a286d431017cd4ba1ec2e53997ec9159385e9c317672f6dfc4d49fdb97449fdb53b0bacd0a8bab9343b8fdd2e46c7ddf6173d0db7 + languageName: node + linkType: hard + +"clean-stack@npm:^2.0.0": + version: 2.2.0 + resolution: "clean-stack@npm:2.2.0" + checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 + languageName: node + linkType: hard + +"cli-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "cli-cursor@npm:3.1.0" + dependencies: + restore-cursor: "npm:^3.1.0" + checksum: 10c0/92a2f98ff9037d09be3dfe1f0d749664797fb674bf388375a2207a1203b69d41847abf16434203e0089212479e47a358b13a0222ab9fccfe8e2644a7ccebd111 + languageName: node + linkType: hard + +"cli-spinners@npm:^2.5.0": + version: 2.9.2 + resolution: "cli-spinners@npm:2.9.2" + checksum: 10c0/907a1c227ddf0d7a101e7ab8b300affc742ead4b4ebe920a5bf1bc6d45dce2958fcd195eb28fa25275062fe6fa9b109b93b63bc8033396ed3bcb50297008b3a3 + languageName: node + linkType: hard + +"cli-truncate@npm:^2.1.0": + version: 2.1.0 + resolution: "cli-truncate@npm:2.1.0" + dependencies: + slice-ansi: "npm:^3.0.0" + string-width: "npm:^4.2.0" + checksum: 10c0/dfaa3df675bcef7a3254773de768712b590250420345a4c7ac151f041a4bacb4c25864b1377bee54a39b5925a030c00eabf014e312e3a4ac130952ed3b3879e9 + languageName: node + linkType: hard + +"cli-width@npm:^3.0.0": + version: 3.0.0 + resolution: "cli-width@npm:3.0.0" + checksum: 10c0/125a62810e59a2564268c80fdff56c23159a7690c003e34aeb2e68497dccff26911998ff49c33916fcfdf71e824322cc3953e3f7b48b27267c7a062c81348a9a + languageName: node + linkType: hard + +"clipboardy@npm:^4.0.0": + version: 4.0.0 + resolution: "clipboardy@npm:4.0.0" + dependencies: + execa: "npm:^8.0.1" + is-wsl: "npm:^3.1.0" + is64bit: "npm:^2.0.0" + checksum: 10c0/02bb5f3d0a772bd84ec26a3566c72c2319a9f3b4cb8338370c3bffcf0073c80b834abe1a6945bea4f2cbea28e1627a975aaac577e3f61a868d924ce79138b041 + languageName: node + linkType: hard + +"cliui@npm:^8.0.1": + version: 8.0.1 + resolution: "cliui@npm:8.0.1" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.1" + wrap-ansi: "npm:^7.0.0" + checksum: 10c0/4bda0f09c340cbb6dfdc1ed508b3ca080f12992c18d68c6be4d9cf51756033d5266e61ec57529e610dacbf4da1c634423b0c1b11037709cc6b09045cbd815df5 + languageName: node + linkType: hard + +"clone-response@npm:^1.0.2": + version: 1.0.3 + resolution: "clone-response@npm:1.0.3" + dependencies: + mimic-response: "npm:^1.0.0" + checksum: 10c0/06a2b611824efb128810708baee3bd169ec9a1bf5976a5258cd7eb3f7db25f00166c6eee5961f075c7e38e194f373d4fdf86b8166ad5b9c7e82bbd2e333a6087 + languageName: node + linkType: hard + +"clone@npm:^1.0.2": + version: 1.0.4 + resolution: "clone@npm:1.0.4" + checksum: 10c0/2176952b3649293473999a95d7bebfc9dc96410f6cbd3d2595cf12fd401f63a4bf41a7adbfd3ab2ff09ed60cb9870c58c6acdd18b87767366fabfc163700f13b + languageName: node + linkType: hard + +"cluster-key-slot@npm:^1.1.0": + version: 1.1.2 + resolution: "cluster-key-slot@npm:1.1.2" + checksum: 10c0/d7d39ca28a8786e9e801eeb8c770e3c3236a566625d7299a47bb71113fb2298ce1039596acb82590e598c52dbc9b1f088c8f587803e697cb58e1867a95ff94d3 + languageName: node + linkType: hard + +"co@npm:^4.6.0": + version: 4.6.0 + resolution: "co@npm:4.6.0" + checksum: 10c0/c0e85ea0ca8bf0a50cbdca82efc5af0301240ca88ebe3644a6ffb8ffe911f34d40f8fbcf8f1d52c5ddd66706abd4d3bfcd64259f1e8e2371d4f47573b0dc8c28 + languageName: node + linkType: hard + +"color-convert@npm:^1.9.3": + version: 1.9.3 + resolution: "color-convert@npm:1.9.3" + dependencies: + color-name: "npm:1.1.3" + checksum: 10c0/5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: "npm:~1.1.4" + checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 + languageName: node + linkType: hard + +"color-name@npm:1.1.3": + version: 1.1.3 + resolution: "color-name@npm:1.1.3" + checksum: 10c0/566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 + languageName: node + linkType: hard + +"color-name@npm:^1.0.0, color-name@npm:^1.1.4, color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 + languageName: node + linkType: hard + +"color-string@npm:^1.6.0": + version: 1.9.1 + resolution: "color-string@npm:1.9.1" + dependencies: + color-name: "npm:^1.0.0" + simple-swizzle: "npm:^0.2.2" + checksum: 10c0/b0bfd74c03b1f837f543898b512f5ea353f71630ccdd0d66f83028d1f0924a7d4272deb278b9aef376cacf1289b522ac3fb175e99895283645a2dc3a33af2404 + languageName: node + linkType: hard + +"color-support@npm:^1.1.2": + version: 1.1.3 + resolution: "color-support@npm:1.1.3" + bin: + color-support: bin.js + checksum: 10c0/8ffeaa270a784dc382f62d9be0a98581db43e11eee301af14734a6d089bd456478b1a8b3e7db7ca7dc5b18a75f828f775c44074020b51c05fc00e6d0992b1cc6 + languageName: node + linkType: hard + +"color@npm:^3.1.3": + version: 3.2.1 + resolution: "color@npm:3.2.1" + dependencies: + color-convert: "npm:^1.9.3" + color-string: "npm:^1.6.0" + checksum: 10c0/39345d55825884c32a88b95127d417a2c24681d8b57069413596d9fcbb721459ef9d9ec24ce3e65527b5373ce171b73e38dbcd9c830a52a6487e7f37bf00e83c + languageName: node + linkType: hard + +"colord@npm:^2.9.3": + version: 2.9.3 + resolution: "colord@npm:2.9.3" + checksum: 10c0/9699e956894d8996b28c686afe8988720785f476f59335c80ce852ded76ab3ebe252703aec53d9bef54f6219aea6b960fb3d9a8300058a1d0c0d4026460cd110 + languageName: node + linkType: hard + +"colorette@npm:^2.0.16": + version: 2.0.20 + resolution: "colorette@npm:2.0.20" + checksum: 10c0/e94116ff33b0ff56f3b83b9ace895e5bf87c2a7a47b3401b8c3f3226e050d5ef76cf4072fb3325f9dc24d1698f9b730baf4e05eeaf861d74a1883073f4c98a40 + languageName: node + linkType: hard + +"colorspace@npm:1.1.x": + version: 1.1.4 + resolution: "colorspace@npm:1.1.4" + dependencies: + color: "npm:^3.1.3" + text-hex: "npm:1.0.x" + checksum: 10c0/af5f91ff7f8e146b96e439ac20ed79b197210193bde721b47380a75b21751d90fa56390c773bb67c0aedd34ff85091883a437ab56861c779bd507d639ba7e123 + languageName: node + linkType: hard + +"commander@npm:^10.0.1": + version: 10.0.1 + resolution: "commander@npm:10.0.1" + checksum: 10c0/53f33d8927758a911094adadda4b2cbac111a5b377d8706700587650fd8f45b0bbe336de4b5c3fe47fd61f420a3d9bd452b6e0e6e5600a7e74d7bf0174f6efe3 + languageName: node + linkType: hard + +"commander@npm:^2.20.0": + version: 2.20.3 + resolution: "commander@npm:2.20.3" + checksum: 10c0/74c781a5248c2402a0a3e966a0a2bba3c054aad144f5c023364be83265e796b20565aa9feff624132ff629aa64e16999fa40a743c10c12f7c61e96a794b99288 + languageName: node + linkType: hard + +"commander@npm:^4.0.0": + version: 4.1.1 + resolution: "commander@npm:4.1.1" + checksum: 10c0/84a76c08fe6cc08c9c93f62ac573d2907d8e79138999312c92d4155bc2325d487d64d13f669b2000c9f8caf70493c1be2dac74fec3c51d5a04f8bc3ae1830bab + languageName: node + linkType: hard + +"commander@npm:^6.0.0": + version: 6.2.1 + resolution: "commander@npm:6.2.1" + checksum: 10c0/85748abd9d18c8bc88febed58b98f66b7c591d9b5017cad459565761d7b29ca13b7783ea2ee5ce84bf235897333706c4ce29adf1ce15c8252780e7000e2ce9ea + languageName: node + linkType: hard + +"commander@npm:^7.2.0": + version: 7.2.0 + resolution: "commander@npm:7.2.0" + checksum: 10c0/8d690ff13b0356df7e0ebbe6c59b4712f754f4b724d4f473d3cc5b3fdcf978e3a5dc3078717858a2ceb50b0f84d0660a7f22a96cdc50fb877d0c9bb31593d23a + languageName: node + linkType: hard + +"comment-parser@npm:1.4.1, comment-parser@npm:^1.4.0": + version: 1.4.1 + resolution: "comment-parser@npm:1.4.1" + checksum: 10c0/d6c4be3f5be058f98b24f2d557f745d8fe1cc9eb75bebbdccabd404a0e1ed41563171b16285f593011f8b6a5ec81f564fb1f2121418ac5cbf0f49255bf0840dd + languageName: node + linkType: hard + +"common-path-prefix@npm:^3.0.0": + version: 3.0.0 + resolution: "common-path-prefix@npm:3.0.0" + checksum: 10c0/c4a74294e1b1570f4a8ab435285d185a03976c323caa16359053e749db4fde44e3e6586c29cd051100335e11895767cbbd27ea389108e327d62f38daf4548fdb + languageName: node + linkType: hard + +"common-tags@npm:1.8.2": + version: 1.8.2 + resolution: "common-tags@npm:1.8.2" + checksum: 10c0/23efe47ff0a1a7c91489271b3a1e1d2a171c12ec7f9b35b29b2fce51270124aff0ec890087e2bc2182c1cb746e232ab7561aaafe05f1e7452aea733d2bfe3f63 + languageName: node + linkType: hard + +"commondir@npm:^1.0.1": + version: 1.0.1 + resolution: "commondir@npm:1.0.1" + checksum: 10c0/33a124960e471c25ee19280c9ce31ccc19574b566dc514fe4f4ca4c34fa8b0b57cf437671f5de380e11353ea9426213fca17687dd2ef03134fea2dbc53809fd6 + languageName: node + linkType: hard + +"compatx@npm:^0.2.0": + version: 0.2.0 + resolution: "compatx@npm:0.2.0" + checksum: 10c0/8fafaf27600eb426120222b1d4975ce4cff9679d3dfa0604abdd76d3c848f9869715cbda0cc95c6639d31f4af9651dc67b3da092c8f56502171e382aceb279f6 + languageName: node + linkType: hard + +"compress-commons@npm:^4.1.2": + version: 4.1.2 + resolution: "compress-commons@npm:4.1.2" + dependencies: + buffer-crc32: "npm:^0.2.13" + crc32-stream: "npm:^4.0.2" + normalize-path: "npm:^3.0.0" + readable-stream: "npm:^3.6.0" + checksum: 10c0/e5fa03cb374ed89028e20226c70481e87286240392d5c6856f4e7fef40605c1892748648e20ed56597d390d76513b1b9bb4dbd658a1bbff41c9fa60107c74d3f + languageName: node + linkType: hard + +"compress-commons@npm:^6.0.2": + version: 6.0.2 + resolution: "compress-commons@npm:6.0.2" + dependencies: + crc-32: "npm:^1.2.0" + crc32-stream: "npm:^6.0.0" + is-stream: "npm:^2.0.1" + normalize-path: "npm:^3.0.0" + readable-stream: "npm:^4.0.0" + checksum: 10c0/2347031b7c92c8ed5011b07b93ec53b298fa2cd1800897532ac4d4d1aeae06567883f481b6e35f13b65fc31b190c751df6635434d525562f0203fde76f1f0814 + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f + languageName: node + linkType: hard + +"concurrently@npm:^7.5.0": + version: 7.6.0 + resolution: "concurrently@npm:7.6.0" + dependencies: + chalk: "npm:^4.1.0" + date-fns: "npm:^2.29.1" + lodash: "npm:^4.17.21" + rxjs: "npm:^7.0.0" + shell-quote: "npm:^1.7.3" + spawn-command: "npm:^0.0.2-1" + supports-color: "npm:^8.1.0" + tree-kill: "npm:^1.2.2" + yargs: "npm:^17.3.1" + bin: + conc: dist/bin/concurrently.js + concurrently: dist/bin/concurrently.js + checksum: 10c0/c5b59f9ce726775272b8e61db0798594bdeb1ac53c78e1cfaffa26f46cf2c09e04a26742265b3eb8ec655ea1a9851eeaa47ae50766a7e5c6b4e1de7b8c8a9b3f + languageName: node + linkType: hard + +"confbox@npm:^0.1.8": + version: 0.1.8 + resolution: "confbox@npm:0.1.8" + checksum: 10c0/fc2c68d97cb54d885b10b63e45bd8da83a8a71459d3ecf1825143dd4c7f9f1b696b3283e07d9d12a144c1301c2ebc7842380bdf0014e55acc4ae1c9550102418 + languageName: node + linkType: hard + +"confbox@npm:^0.2.1, confbox@npm:^0.2.2": + version: 0.2.2 + resolution: "confbox@npm:0.2.2" + checksum: 10c0/7c246588d533d31e8cdf66cb4701dff6de60f9be77ab54c0d0338e7988750ac56863cc0aca1b3f2046f45ff223a765d3e5d4977a7674485afcd37b6edf3fd129 + languageName: node + linkType: hard + +"config-chain@npm:^1.1.11": + version: 1.1.13 + resolution: "config-chain@npm:1.1.13" + dependencies: + ini: "npm:^1.3.4" + proto-list: "npm:~1.2.1" + checksum: 10c0/39d1df18739d7088736cc75695e98d7087aea43646351b028dfabd5508d79cf6ef4c5bcd90471f52cd87ae470d1c5490c0a8c1a292fbe6ee9ff688061ea0963e + languageName: node + linkType: hard + +"consola@npm:^3.2.3, consola@npm:^3.4.0, consola@npm:^3.4.2": + version: 3.4.2 + resolution: "consola@npm:3.4.2" + checksum: 10c0/7cebe57ecf646ba74b300bcce23bff43034ed6fbec9f7e39c27cee1dc00df8a21cd336b466ad32e304ea70fba04ec9e890c200270de9a526ce021ba8a7e4c11a + languageName: node + linkType: hard + +"console-control-strings@npm:^1.0.0, console-control-strings@npm:^1.1.0": + version: 1.1.0 + resolution: "console-control-strings@npm:1.1.0" + checksum: 10c0/7ab51d30b52d461412cd467721bb82afe695da78fff8f29fe6f6b9cbaac9a2328e27a22a966014df9532100f6dd85370460be8130b9c677891ba36d96a343f50 + languageName: node + linkType: hard + +"constant-case@npm:^3.0.4": + version: 3.0.4 + resolution: "constant-case@npm:3.0.4" + dependencies: + no-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + upper-case: "npm:^2.0.2" + checksum: 10c0/91d54f18341fcc491ae66d1086642b0cc564be3e08984d7b7042f8b0a721c8115922f7f11d6a09f13ed96ff326eabae11f9d1eb0335fa9d8b6e39e4df096010e + languageName: node + linkType: hard + +"content-disposition@npm:0.5.4, content-disposition@npm:~0.5.2": + version: 0.5.4 + resolution: "content-disposition@npm:0.5.4" + dependencies: + safe-buffer: "npm:5.2.1" + checksum: 10c0/bac0316ebfeacb8f381b38285dc691c9939bf0a78b0b7c2d5758acadad242d04783cee5337ba7d12a565a19075af1b3c11c728e1e4946de73c6ff7ce45f3f1bb + languageName: node + linkType: hard + +"content-disposition@npm:^1.0.0": + version: 1.0.0 + resolution: "content-disposition@npm:1.0.0" + dependencies: + safe-buffer: "npm:5.2.1" + checksum: 10c0/c7b1ba0cea2829da0352ebc1b7f14787c73884bc707c8bc2271d9e3bf447b372270d09f5d3980dc5037c749ceef56b9a13fccd0b0001c87c3f12579967e4dd27 + languageName: node + linkType: hard + +"content-type@npm:^1.0.4, content-type@npm:^1.0.5, content-type@npm:~1.0.4, content-type@npm:~1.0.5": + version: 1.0.5 + resolution: "content-type@npm:1.0.5" + checksum: 10c0/b76ebed15c000aee4678c3707e0860cb6abd4e680a598c0a26e17f0bfae723ec9cc2802f0ff1bc6e4d80603719010431d2231018373d4dde10f9ccff9dadf5af + languageName: node + linkType: hard + +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b + languageName: node + linkType: hard + +"cookie-es@npm:^1.2.2": + version: 1.2.2 + resolution: "cookie-es@npm:1.2.2" + checksum: 10c0/210eb67cd40a53986fda99d6f47118cfc45a69c4abc03490d15ab1b83ac978d5518356aecdd7a7a4969292445e3063c2302deda4c73706a67edc008127608638 + languageName: node + linkType: hard + +"cookie-es@npm:^2.0.0": + version: 2.0.0 + resolution: "cookie-es@npm:2.0.0" + checksum: 10c0/3b2459030a5ad2bc715aeb27a32f274340670bfc5031ac29e1fba804212517411bb617880d3fe66ace2b64dfb28f3049e2d1ff40d4bec342154ccdd124deaeaa + languageName: node + linkType: hard + +"cookie-signature@npm:1.0.6": + version: 1.0.6 + resolution: "cookie-signature@npm:1.0.6" + checksum: 10c0/b36fd0d4e3fef8456915fcf7742e58fbfcc12a17a018e0eb9501c9d5ef6893b596466f03b0564b81af29ff2538fd0aa4b9d54fe5ccbfb4c90ea50ad29fe2d221 + languageName: node + linkType: hard + +"cookie-signature@npm:^1.2.1": + version: 1.2.2 + resolution: "cookie-signature@npm:1.2.2" + checksum: 10c0/54e05df1a293b3ce81589b27dddc445f462f6fa6812147c033350cd3561a42bc14481674e05ed14c7bd0ce1e8bb3dc0e40851bad75415733711294ddce0b7bc6 + languageName: node + linkType: hard + +"cookie@npm:0.7.1": + version: 0.7.1 + resolution: "cookie@npm:0.7.1" + checksum: 10c0/5de60c67a410e7c8dc8a46a4b72eb0fe925871d057c9a5d2c0e8145c4270a4f81076de83410c4d397179744b478e33cd80ccbcc457abf40a9409ad27dcd21dde + languageName: node + linkType: hard + +"cookie@npm:^0.7.1, cookie@npm:~0.7.2": + version: 0.7.2 + resolution: "cookie@npm:0.7.2" + checksum: 10c0/9596e8ccdbf1a3a88ae02cf5ee80c1c50959423e1022e4e60b91dd87c622af1da309253d8abdb258fb5e3eacb4f08e579dc58b4897b8087574eee0fd35dfa5d2 + languageName: node + linkType: hard + +"cookie@npm:^1.0.2": + version: 1.0.2 + resolution: "cookie@npm:1.0.2" + checksum: 10c0/fd25fe79e8fbcfcaf6aa61cd081c55d144eeeba755206c058682257cb38c4bd6795c6620de3f064c740695bb65b7949ebb1db7a95e4636efb8357a335ad3f54b + languageName: node + linkType: hard + +"cookies@npm:~0.9.0": + version: 0.9.1 + resolution: "cookies@npm:0.9.1" + dependencies: + depd: "npm:~2.0.0" + keygrip: "npm:~1.1.0" + checksum: 10c0/3ffa1c0e992b62ee119adae4dd2ddd4a89166fa5434cd9bd9ff84ec4d2f14dfe2318a601280abfe32a4f64f884ec9345fb1912e488b002d188d2efa0d3919ba3 + languageName: node + linkType: hard + +"copy-anything@npm:^3.0.2": + version: 3.0.5 + resolution: "copy-anything@npm:3.0.5" + dependencies: + is-what: "npm:^4.1.8" + checksum: 10c0/01eadd500c7e1db71d32d95a3bfaaedcb839ef891c741f6305ab0461398056133de08f2d1bf4c392b364e7bdb7ce498513896e137a7a183ac2516b065c28a4fe + languageName: node + linkType: hard + +"core-js-compat@npm:^3.37.0, core-js-compat@npm:^3.40.0": + version: 3.42.0 + resolution: "core-js-compat@npm:3.42.0" + dependencies: + browserslist: "npm:^4.24.4" + checksum: 10c0/0138ce005c13ce642fc38e18e54a52a1c78ca8315ee6e4faad748d2a1b0ad2462ea615285ad4e6cf77afe48e47a868d898e64c70606c1eb1c9e6a9f19ee2b186 + languageName: node + linkType: hard + +"core-js@npm:3.22.4": + version: 3.22.4 + resolution: "core-js@npm:3.22.4" + checksum: 10c0/2f4bcce914fb0798e68fe8f6a2122398fd2f7a6d7085924b6b05795d8eead1c1a759c2cde92c4868c9800d682c22d3fc6348bc06017b46100ac6567922d8125d + languageName: node + linkType: hard + +"core-util-is@npm:~1.0.0": + version: 1.0.3 + resolution: "core-util-is@npm:1.0.3" + checksum: 10c0/90a0e40abbddfd7618f8ccd63a74d88deea94e77d0e8dbbea059fa7ebebb8fbb4e2909667fe26f3a467073de1a542ebe6ae4c73a73745ac5833786759cd906c9 + languageName: node + linkType: hard + +"cors@npm:^2.8.5, cors@npm:~2.8.5": + version: 2.8.5 + resolution: "cors@npm:2.8.5" + dependencies: + object-assign: "npm:^4" + vary: "npm:^1" + checksum: 10c0/373702b7999409922da80de4a61938aabba6929aea5b6fd9096fefb9e8342f626c0ebd7507b0e8b0b311380744cc985f27edebc0a26e0ddb784b54e1085de761 + languageName: node + linkType: hard + +"cosmiconfig@npm:^8.1.0, cosmiconfig@npm:^8.1.3, cosmiconfig@npm:^8.2.0": + version: 8.3.6 + resolution: "cosmiconfig@npm:8.3.6" + dependencies: + import-fresh: "npm:^3.3.0" + js-yaml: "npm:^4.1.0" + parse-json: "npm:^5.2.0" + path-type: "npm:^4.0.0" + peerDependencies: + typescript: ">=4.9.5" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/0382a9ed13208f8bfc22ca2f62b364855207dffdb73dc26e150ade78c3093f1cf56172df2dd460c8caf2afa91c0ed4ec8a88c62f8f9cd1cf423d26506aa8797a + languageName: node + linkType: hard + +"cp-file@npm:^10.0.0": + version: 10.0.0 + resolution: "cp-file@npm:10.0.0" + dependencies: + graceful-fs: "npm:^4.2.10" + nested-error-stacks: "npm:^2.1.1" + p-event: "npm:^5.0.1" + checksum: 10c0/acff14b4d267c4179daa4fb913b974d9e6a3d9de9a55283712eaf7c8e05488cd50214d58173d38e0cb5b8111773afbd7755fe912d4147862009d695a51db7393 + languageName: node + linkType: hard + +"crc-32@npm:^1.2.0": + version: 1.2.2 + resolution: "crc-32@npm:1.2.2" + bin: + crc32: bin/crc32.njs + checksum: 10c0/11dcf4a2e77ee793835d49f2c028838eae58b44f50d1ff08394a610bfd817523f105d6ae4d9b5bef0aad45510f633eb23c903e9902e4409bed1ce70cb82b9bf0 + languageName: node + linkType: hard + +"crc32-stream@npm:^4.0.2": + version: 4.0.3 + resolution: "crc32-stream@npm:4.0.3" + dependencies: + crc-32: "npm:^1.2.0" + readable-stream: "npm:^3.4.0" + checksum: 10c0/127b0c66a947c54db37054fca86085722140644d3a75ebc61d4477bad19304d2936386b0461e8ee9e1c24b00e804cd7c2e205180e5bcb4632d20eccd60533bc4 + languageName: node + linkType: hard + +"crc32-stream@npm:^6.0.0": + version: 6.0.0 + resolution: "crc32-stream@npm:6.0.0" + dependencies: + crc-32: "npm:^1.2.0" + readable-stream: "npm:^4.0.0" + checksum: 10c0/bf9c84571ede2d119c2b4f3a9ef5eeb9ff94b588493c0d3862259af86d3679dcce1c8569dd2b0a6eff2f35f5e2081cc1263b846d2538d4054da78cf34f262a3d + languageName: node + linkType: hard + +"cron-parser@npm:^4.9.0": + version: 4.9.0 + resolution: "cron-parser@npm:4.9.0" + dependencies: + luxon: "npm:^3.2.1" + checksum: 10c0/348622bdcd1a15695b61fc33af8a60133e5913a85cf99f6344367579e7002896514ba3b0a9d6bb569b02667d6b06836722bf2295fcd101b3de378f71d37bed0b + languageName: node + linkType: hard + +"croner@npm:^9.0.0": + version: 9.0.0 + resolution: "croner@npm:9.0.0" + checksum: 10c0/c530c80f580d4d8638ac114c97467806d7e016d9ff28033bbf29f21fad160467cbeeff7247f4a2cc68b4e5be2350f28cf3f5329a9a6a901acb0de4dd0caeef08 + languageName: node + linkType: hard + +"cross-fetch@npm:^3.1.5": + version: 3.2.0 + resolution: "cross-fetch@npm:3.2.0" + dependencies: + node-fetch: "npm:^2.7.0" + checksum: 10c0/d8596adf0269130098a676f6739a0922f3cc7b71cc89729925411ebe851a87026171c82ea89154c4811c9867c01c44793205a52e618ce2684650218c7fbeeb9f + languageName: node + linkType: hard + +"cross-inspect@npm:1.0.1": + version: 1.0.1 + resolution: "cross-inspect@npm:1.0.1" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/2493ee47a801b46ede1c42ca6242b8d2059f7319b5baf23887bbaf46a6ea8e536d2e271d0990176c05092f67b32d084ffd8c93e7c1227eff4a06cceadb49af47 + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 + languageName: node + linkType: hard + +"crossws@npm:>=0.2.0 <0.4.0, crossws@npm:^0.3.4, crossws@npm:^0.3.5": + version: 0.3.5 + resolution: "crossws@npm:0.3.5" + dependencies: + uncrypto: "npm:^0.1.3" + checksum: 10c0/9e873546f0806606c4f775219f6811768fc3b3b0765ca8230722e849058ad098318af006e1faa39a8008c03009c37c519f6bccad41b0d78586237585c75fb38b + languageName: node + linkType: hard + +"crypto-random-string@npm:^5.0.0": + version: 5.0.0 + resolution: "crypto-random-string@npm:5.0.0" + dependencies: + type-fest: "npm:^2.12.2" + checksum: 10c0/cac9860697fdf49a22c222c2daa515103c9798474bbe30fca53fbf73d88448bedd200eafaaaf7823ab83b01b9082b840f530d0e146d25f588945a79442e61cd4 + languageName: node + linkType: hard + +"css-declaration-sorter@npm:^7.2.0": + version: 7.2.0 + resolution: "css-declaration-sorter@npm:7.2.0" + peerDependencies: + postcss: ^8.0.9 + checksum: 10c0/d8516be94f8f2daa233ef021688b965c08161624cbf830a4d7ee1099429437c0ee124d35c91b1c659cfd891a68e8888aa941726dab12279bc114aaed60a94606 + languageName: node + linkType: hard + +"css-functions-list@npm:^3.2.1": + version: 3.2.3 + resolution: "css-functions-list@npm:3.2.3" + checksum: 10c0/03f9ed34eeed310d2b1cf0e524eea02bc5f87854a4de85f8957ea432ab1036841a3fb00879590519f7bb8fda40d992ce7a72fa9b61696ca1dc53b90064858f96 + languageName: node + linkType: hard + +"css-select@npm:^5.1.0": + version: 5.1.0 + resolution: "css-select@npm:5.1.0" + dependencies: + boolbase: "npm:^1.0.0" + css-what: "npm:^6.1.0" + domhandler: "npm:^5.0.2" + domutils: "npm:^3.0.1" + nth-check: "npm:^2.0.1" + checksum: 10c0/551c60dba5b54054741032c1793b5734f6ba45e23ae9e82761a3c0ed1acbb8cfedfa443aaba3a3c1a54cac12b456d2012a09d2cd5f0e82e430454c1b9d84d500 + languageName: node + linkType: hard + +"css-tree@npm:^2.3.1": + version: 2.3.1 + resolution: "css-tree@npm:2.3.1" + dependencies: + mdn-data: "npm:2.0.30" + source-map-js: "npm:^1.0.1" + checksum: 10c0/6f8c1a11d5e9b14bf02d10717fc0351b66ba12594166f65abfbd8eb8b5b490dd367f5c7721db241a3c792d935fc6751fbc09f7e1598d421477ad9fadc30f4f24 + languageName: node + linkType: hard + +"css-tree@npm:~2.2.0": + version: 2.2.1 + resolution: "css-tree@npm:2.2.1" + dependencies: + mdn-data: "npm:2.0.28" + source-map-js: "npm:^1.0.1" + checksum: 10c0/47e87b0f02f8ac22f57eceb65c58011dd142d2158128882a0bf963cf2eabb81a4ebbc2e3790c8289be7919fa8b83750c7b69272bd66772c708143b772ba3c186 + languageName: node + linkType: hard + +"css-what@npm:^6.1.0": + version: 6.1.0 + resolution: "css-what@npm:6.1.0" + checksum: 10c0/a09f5a6b14ba8dcf57ae9a59474722e80f20406c53a61e9aedb0eedc693b135113ffe2983f4efc4b5065ae639442e9ae88df24941ef159c218b231011d733746 + languageName: node + linkType: hard + +"css.escape@npm:^1.5.1": + version: 1.5.1 + resolution: "css.escape@npm:1.5.1" + checksum: 10c0/5e09035e5bf6c2c422b40c6df2eb1529657a17df37fda5d0433d722609527ab98090baf25b13970ca754079a0f3161dd3dfc0e743563ded8cfa0749d861c1525 + languageName: node + linkType: hard + +"cssesc@npm:^3.0.0": + version: 3.0.0 + resolution: "cssesc@npm:3.0.0" + bin: + cssesc: bin/cssesc + checksum: 10c0/6bcfd898662671be15ae7827120472c5667afb3d7429f1f917737f3bf84c4176003228131b643ae74543f17a394446247df090c597bb9a728cce298606ed0aa7 + languageName: node + linkType: hard + +"cssnano-preset-default@npm:^7.0.7": + version: 7.0.7 + resolution: "cssnano-preset-default@npm:7.0.7" + dependencies: + browserslist: "npm:^4.24.5" + css-declaration-sorter: "npm:^7.2.0" + cssnano-utils: "npm:^5.0.1" + postcss-calc: "npm:^10.1.1" + postcss-colormin: "npm:^7.0.3" + postcss-convert-values: "npm:^7.0.5" + postcss-discard-comments: "npm:^7.0.4" + postcss-discard-duplicates: "npm:^7.0.2" + postcss-discard-empty: "npm:^7.0.1" + postcss-discard-overridden: "npm:^7.0.1" + postcss-merge-longhand: "npm:^7.0.5" + postcss-merge-rules: "npm:^7.0.5" + postcss-minify-font-values: "npm:^7.0.1" + postcss-minify-gradients: "npm:^7.0.1" + postcss-minify-params: "npm:^7.0.3" + postcss-minify-selectors: "npm:^7.0.5" + postcss-normalize-charset: "npm:^7.0.1" + postcss-normalize-display-values: "npm:^7.0.1" + postcss-normalize-positions: "npm:^7.0.1" + postcss-normalize-repeat-style: "npm:^7.0.1" + postcss-normalize-string: "npm:^7.0.1" + postcss-normalize-timing-functions: "npm:^7.0.1" + postcss-normalize-unicode: "npm:^7.0.3" + postcss-normalize-url: "npm:^7.0.1" + postcss-normalize-whitespace: "npm:^7.0.1" + postcss-ordered-values: "npm:^7.0.2" + postcss-reduce-initial: "npm:^7.0.3" + postcss-reduce-transforms: "npm:^7.0.1" + postcss-svgo: "npm:^7.0.2" + postcss-unique-selectors: "npm:^7.0.4" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/4c200f1a3a876242be6f6c9d93da1384d61f16ef0f5b36d474600a3dfa323aab7aa04877a96973947b80cfc0781bd6d949216cee6b790a1d71c5cc8fc2ad98a7 + languageName: node + linkType: hard + +"cssnano-utils@npm:^5.0.1": + version: 5.0.1 + resolution: "cssnano-utils@npm:5.0.1" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/e416e58587ccec4d904093a2834c66c44651578a58960019884add376d4f151c5b809674108088140dd57b0787cb7132a083d40ae33a72bf986d03c4b7b7c5f4 + languageName: node + linkType: hard + +"cssnano@npm:^7.0.7": + version: 7.0.7 + resolution: "cssnano@npm:7.0.7" + dependencies: + cssnano-preset-default: "npm:^7.0.7" + lilconfig: "npm:^3.1.3" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/4455a0a7a889eb129b8291788815b136dc0dc756b2dc9c1788bb3f5bfbc956e16f131220ea53e5ce824e5642f1843d937ae4ec6d3693259463c8e24a87f0b104 + languageName: node + linkType: hard + +"csso@npm:^5.0.5": + version: 5.0.5 + resolution: "csso@npm:5.0.5" + dependencies: + css-tree: "npm:~2.2.0" + checksum: 10c0/ab4beb1e97dd7e207c10e9925405b45f15a6cd1b4880a8686ad573aa6d476aed28b4121a666cffd26c37a26179f7b54741f7c257543003bfb244d06a62ad569b + languageName: node + linkType: hard + +"csstype@npm:^3.1.3": + version: 3.1.3 + resolution: "csstype@npm:3.1.3" + checksum: 10c0/80c089d6f7e0c5b2bd83cf0539ab41474198579584fa10d86d0cafe0642202343cbc119e076a0b1aece191989477081415d66c9fefbf3c957fc2fc4b7009f248 + languageName: node + linkType: hard + +"data-uri-to-buffer@npm:^4.0.0": + version: 4.0.1 + resolution: "data-uri-to-buffer@npm:4.0.1" + checksum: 10c0/20a6b93107597530d71d4cb285acee17f66bcdfc03fd81040921a81252f19db27588d87fc8fc69e1950c55cfb0bf8ae40d0e5e21d907230813eb5d5a7f9eb45b + languageName: node + linkType: hard + +"dataloader@npm:^2.2.3": + version: 2.2.3 + resolution: "dataloader@npm:2.2.3" + checksum: 10c0/9b9a056fbc863ca86da87d59e053e871e263b4966aa4d55e40d61a65e96815fae5530ca220629064ca5f8e3000c0c4ec93292e170c38ff393fb34256b4d7c1aa + languageName: node + linkType: hard + +"date-fns@npm:^2.29.1": + version: 2.30.0 + resolution: "date-fns@npm:2.30.0" + dependencies: + "@babel/runtime": "npm:^7.21.0" + checksum: 10c0/e4b521fbf22bc8c3db332bbfb7b094fd3e7627de0259a9d17c7551e2d2702608a7307a449206065916538e384f37b181565447ce2637ae09828427aed9cb5581 + languageName: node + linkType: hard + +"dayjs@npm:^1.11.10, dayjs@npm:^1.11.13": + version: 1.11.13 + resolution: "dayjs@npm:1.11.13" + checksum: 10c0/a3caf6ac8363c7dade9d1ee797848ddcf25c1ace68d9fe8678ecf8ba0675825430de5d793672ec87b24a69bf04a1544b176547b2539982275d5542a7955f35b7 + languageName: node + linkType: hard + +"db0@npm:^0.3.2": + version: 0.3.2 + resolution: "db0@npm:0.3.2" + peerDependencies: + "@electric-sql/pglite": "*" + "@libsql/client": "*" + better-sqlite3: "*" + drizzle-orm: "*" + mysql2: "*" + sqlite3: "*" + peerDependenciesMeta: + "@electric-sql/pglite": + optional: true + "@libsql/client": + optional: true + better-sqlite3: + optional: true + drizzle-orm: + optional: true + mysql2: + optional: true + sqlite3: + optional: true + checksum: 10c0/6d49955b5098dd9e8251907a3cc4c88bd575c4baf99201ed0a17ae78332bd856dd52a708b80dc89c55afddded035c7408d389ec9f5ddd3ea559dc7feae6b6dce + languageName: node + linkType: hard + +"de-indent@npm:^1.0.2": + version: 1.0.2 + resolution: "de-indent@npm:1.0.2" + checksum: 10c0/7058ce58abd6dfc123dd204e36be3797abd419b59482a634605420f47ae97639d0c183ec5d1b904f308a01033f473673897afc2bd59bc620ebf1658763ef4291 + languageName: node + linkType: hard + +"debounce@npm:^1.2.0": + version: 1.2.1 + resolution: "debounce@npm:1.2.1" + checksum: 10c0/6c9320aa0973fc42050814621a7a8a78146c1975799b5b3cc1becf1f77ba9a5aa583987884230da0842a03f385def452fad5d60db97c3d1c8b824e38a8edf500 + languageName: node + linkType: hard + +"debug@npm:2.6.9": + version: 2.6.9 + resolution: "debug@npm:2.6.9" + dependencies: + ms: "npm:2.0.0" + checksum: 10c0/121908fb839f7801180b69a7e218a40b5a0b718813b886b7d6bdb82001b931c938e2941d1e4450f33a1b1df1da653f5f7a0440c197f29fbf8a6e9d45ff6ef589 + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.3.6, debug@npm:^4.4.0": + version: 4.4.0 + resolution: "debug@npm:4.4.0" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/db94f1a182bf886f57b4755f85b3a74c39b5114b9377b7ab375dc2cfa3454f09490cc6c30f829df3fc8042bc8b8995f6567ce5cd96f3bc3688bd24027197d9de + languageName: node + linkType: hard + +"debug@npm:^3.1.0, debug@npm:^3.2.7": + version: 3.2.7 + resolution: "debug@npm:3.2.7" + dependencies: + ms: "npm:^2.1.1" + checksum: 10c0/37d96ae42cbc71c14844d2ae3ba55adf462ec89fd3a999459dec3833944cd999af6007ff29c780f1c61153bcaaf2c842d1e4ce1ec621e4fc4923244942e4a02a + languageName: node + linkType: hard + +"debug@npm:~4.3.1, debug@npm:~4.3.2, debug@npm:~4.3.4": + version: 4.3.7 + resolution: "debug@npm:4.3.7" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/1471db19c3b06d485a622d62f65947a19a23fbd0dd73f7fd3eafb697eec5360cde447fb075919987899b1a2096e85d35d4eb5a4de09a57600ac9cf7e6c8e768b + languageName: node + linkType: hard + +"decache@npm:^4.6.2": + version: 4.6.2 + resolution: "decache@npm:4.6.2" + dependencies: + callsite: "npm:^1.0.0" + checksum: 10c0/7a27260a0bfc51b913db4956e8fe596d72151c0d4cb437daa30787950c274b3fa5c81235a334742b1e32f87ee55d7eb2a0d960ecdadf3583ef23b8f796aebad3 + languageName: node + linkType: hard + +"decamelize-keys@npm:^1.1.0": + version: 1.1.1 + resolution: "decamelize-keys@npm:1.1.1" + dependencies: + decamelize: "npm:^1.1.0" + map-obj: "npm:^1.0.0" + checksum: 10c0/4ca385933127437658338c65fb9aead5f21b28d3dd3ccd7956eb29aab0953b5d3c047fbc207111672220c71ecf7a4d34f36c92851b7bbde6fca1a02c541bdd7d + languageName: node + linkType: hard + +"decamelize@npm:^1.1.0": + version: 1.2.0 + resolution: "decamelize@npm:1.2.0" + checksum: 10c0/85c39fe8fbf0482d4a1e224ef0119db5c1897f8503bcef8b826adff7a1b11414972f6fef2d7dec2ee0b4be3863cf64ac1439137ae9e6af23a3d8dcbe26a5b4b2 + languageName: node + linkType: hard + +"decamelize@npm:^5.0.0": + version: 5.0.1 + resolution: "decamelize@npm:5.0.1" + checksum: 10c0/3da71022bc1e85487810fa0833138effb599fa331ca21e179650e93a765d0c4dabeb1ecdd6ad1474fa0bacd2457953c63ea335afb6e53b35f2b4bf779514e2a3 + languageName: node + linkType: hard + +"decompress-response@npm:^3.3.0": + version: 3.3.0 + resolution: "decompress-response@npm:3.3.0" + dependencies: + mimic-response: "npm:^1.0.0" + checksum: 10c0/5ffaf1d744277fd51c68c94ddc3081cd011b10b7de06637cccc6ecba137d45304a09ba1a776dee1c47fccc60b4a056c4bc74468eeea798ff1f1fca0024b45c9d + languageName: node + linkType: hard + +"deep-eql@npm:^5.0.1": + version: 5.0.2 + resolution: "deep-eql@npm:5.0.2" + checksum: 10c0/7102cf3b7bb719c6b9c0db2e19bf0aa9318d141581befe8c7ce8ccd39af9eaa4346e5e05adef7f9bd7015da0f13a3a25dcfe306ef79dc8668aedbecb658dd247 + languageName: node + linkType: hard + +"deep-equal@npm:~1.0.1": + version: 1.0.1 + resolution: "deep-equal@npm:1.0.1" + checksum: 10c0/bef838ef9824e124d10335deb9c7540bfc9f2f0eab17ad1bb870d0eee83ee4e7e6f6f892e5eebc2bd82759a76676926ad5246180097e28e57752176ff7dae888 + languageName: node + linkType: hard + +"deep-is@npm:^0.1.3": + version: 0.1.4 + resolution: "deep-is@npm:0.1.4" + checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c + languageName: node + linkType: hard + +"deepmerge@npm:^4.2.2": + version: 4.3.1 + resolution: "deepmerge@npm:4.3.1" + checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 + languageName: node + linkType: hard + +"default-browser-id@npm:^5.0.0": + version: 5.0.0 + resolution: "default-browser-id@npm:5.0.0" + checksum: 10c0/957fb886502594c8e645e812dfe93dba30ed82e8460d20ce39c53c5b0f3e2afb6ceaec2249083b90bdfbb4cb0f34e1f73fde3d68cac00becdbcfd894156b5ead + languageName: node + linkType: hard + +"default-browser@npm:^5.2.1": + version: 5.2.1 + resolution: "default-browser@npm:5.2.1" + dependencies: + bundle-name: "npm:^4.1.0" + default-browser-id: "npm:^5.0.0" + checksum: 10c0/73f17dc3c58026c55bb5538749597db31f9561c0193cd98604144b704a981c95a466f8ecc3c2db63d8bfd04fb0d426904834cfc91ae510c6aeb97e13c5167c4d + languageName: node + linkType: hard + +"defaults@npm:^1.0.3": + version: 1.0.4 + resolution: "defaults@npm:1.0.4" + dependencies: + clone: "npm:^1.0.2" + checksum: 10c0/9cfbe498f5c8ed733775db62dfd585780387d93c17477949e1670bfcfb9346e0281ce8c4bf9f4ac1fc0f9b851113bd6dc9e41182ea1644ccd97de639fa13c35a + languageName: node + linkType: hard + +"defer-to-connect@npm:^1.0.1": + version: 1.1.3 + resolution: "defer-to-connect@npm:1.1.3" + checksum: 10c0/9feb161bd7d21836fdff31eba79c2b11b7aaf844be58faf727121f8b0d9c2e82b494560df0903f41b52dd75027dc7c9455c11b3739f3202b28ca92b56c8f960e + languageName: node + linkType: hard + +"define-data-property@npm:^1.0.1": + version: 1.1.4 + resolution: "define-data-property@npm:1.1.4" + dependencies: + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.0.1" + checksum: 10c0/dea0606d1483eb9db8d930d4eac62ca0fa16738b0b3e07046cddfacf7d8c868bbe13fa0cb263eb91c7d0d527960dc3f2f2471a69ed7816210307f6744fe62e37 + languageName: node + linkType: hard + +"define-lazy-prop@npm:^2.0.0": + version: 2.0.0 + resolution: "define-lazy-prop@npm:2.0.0" + checksum: 10c0/db6c63864a9d3b7dc9def55d52764968a5af296de87c1b2cc71d8be8142e445208071953649e0386a8cc37cfcf9a2067a47207f1eb9ff250c2a269658fdae422 + languageName: node + linkType: hard + +"define-lazy-prop@npm:^3.0.0": + version: 3.0.0 + resolution: "define-lazy-prop@npm:3.0.0" + checksum: 10c0/5ab0b2bf3fa58b3a443140bbd4cd3db1f91b985cc8a246d330b9ac3fc0b6a325a6d82bddc0b055123d745b3f9931afeea74a5ec545439a1630b9c8512b0eeb49 + languageName: node + linkType: hard + +"define-properties@npm:^1.2.1": + version: 1.2.1 + resolution: "define-properties@npm:1.2.1" + dependencies: + define-data-property: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.0" + object-keys: "npm:^1.1.1" + checksum: 10c0/88a152319ffe1396ccc6ded510a3896e77efac7a1bfbaa174a7b00414a1747377e0bb525d303794a47cf30e805c2ec84e575758512c6e44a993076d29fd4e6c3 + languageName: node + linkType: hard + +"defu@npm:^6.1.4": + version: 6.1.4 + resolution: "defu@npm:6.1.4" + checksum: 10c0/2d6cc366262dc0cb8096e429368e44052fdf43ed48e53ad84cc7c9407f890301aa5fcb80d0995abaaf842b3949f154d060be4160f7a46cb2bc2f7726c81526f5 + languageName: node + linkType: hard + +"delegates@npm:^1.0.0": + version: 1.0.0 + resolution: "delegates@npm:1.0.0" + checksum: 10c0/ba05874b91148e1db4bf254750c042bf2215febd23a6d3cda2e64896aef79745fbd4b9996488bd3cafb39ce19dbce0fd6e3b6665275638befffe1c9b312b91b5 + languageName: node + linkType: hard + +"denque@npm:^2.1.0": + version: 2.1.0 + resolution: "denque@npm:2.1.0" + checksum: 10c0/f9ef81aa0af9c6c614a727cb3bd13c5d7db2af1abf9e6352045b86e85873e629690f6222f4edd49d10e4ccf8f078bbeec0794fafaf61b659c0589d0c511ec363 + languageName: node + linkType: hard + +"depd@npm:2.0.0, depd@npm:^2.0.0, depd@npm:~2.0.0": + version: 2.0.0 + resolution: "depd@npm:2.0.0" + checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c + languageName: node + linkType: hard + +"depd@npm:~1.1.2": + version: 1.1.2 + resolution: "depd@npm:1.1.2" + checksum: 10c0/acb24aaf936ef9a227b6be6d495f0d2eb20108a9a6ad40585c5bda1a897031512fef6484e4fdbb80bd249fdaa82841fa1039f416ece03188e677ba11bcfda249 + languageName: node + linkType: hard + +"dependency-graph@npm:^0.11.0": + version: 0.11.0 + resolution: "dependency-graph@npm:0.11.0" + checksum: 10c0/9e6968d1534fdb502f7f3a25a3819b499f9d60f8389193950ed0b4d1618f1341b36b5d039f2cee256cfe10c9e8198ace16b271e370df06a93fac206e81602e7c + languageName: node + linkType: hard + +"dequal@npm:^2.0.3": + version: 2.0.3 + resolution: "dequal@npm:2.0.3" + checksum: 10c0/f98860cdf58b64991ae10205137c0e97d384c3a4edc7f807603887b7c4b850af1224a33d88012009f150861cbee4fa2d322c4cc04b9313bee312e47f6ecaa888 + languageName: node + linkType: hard + +"destr@npm:^2.0.3, destr@npm:^2.0.5": + version: 2.0.5 + resolution: "destr@npm:2.0.5" + checksum: 10c0/efabffe7312a45ad90d79975376be958c50069f1156b94c181199763a7f971e113bd92227c26b94a169c71ca7dbc13583b7e96e5164743969fc79e1ff153e646 + languageName: node + linkType: hard + +"destroy@npm:1.2.0, destroy@npm:^1.0.4": + version: 1.2.0 + resolution: "destroy@npm:1.2.0" + checksum: 10c0/bd7633942f57418f5a3b80d5cb53898127bcf53e24cdf5d5f4396be471417671f0fee48a4ebe9a1e9defbde2a31280011af58a57e090ff822f589b443ed4e643 + languageName: node + linkType: hard + +"detect-indent@npm:^6.0.0": + version: 6.1.0 + resolution: "detect-indent@npm:6.1.0" + checksum: 10c0/dd83cdeda9af219cf77f5e9a0dc31d828c045337386cfb55ce04fad94ba872ee7957336834154f7647b89b899c3c7acc977c57a79b7c776b506240993f97acc7 + languageName: node + linkType: hard + +"detect-libc@npm:^1.0.3": + version: 1.0.3 + resolution: "detect-libc@npm:1.0.3" + bin: + detect-libc: ./bin/detect-libc.js + checksum: 10c0/4da0deae9f69e13bc37a0902d78bf7169480004b1fed3c19722d56cff578d16f0e11633b7fbf5fb6249181236c72e90024cbd68f0b9558ae06e281f47326d50d + languageName: node + linkType: hard + +"detect-libc@npm:^2.0.0": + version: 2.0.4 + resolution: "detect-libc@npm:2.0.4" + checksum: 10c0/c15541f836eba4b1f521e4eecc28eefefdbc10a94d3b8cb4c507689f332cc111babb95deda66f2de050b22122113189986d5190be97d51b5a2b23b938415e67c + languageName: node + linkType: hard + +"detect-node@npm:^2.0.4": + version: 2.1.0 + resolution: "detect-node@npm:2.1.0" + checksum: 10c0/f039f601790f2e9d4654e499913259a798b1f5246ae24f86ab5e8bd4aaf3bce50484234c494f11fb00aecb0c6e2733aa7b1cf3f530865640b65fbbd65b2c4e09 + languageName: node + linkType: hard + +"detective-amd@npm:^5.0.2": + version: 5.0.2 + resolution: "detective-amd@npm:5.0.2" + dependencies: + ast-module-types: "npm:^5.0.0" + escodegen: "npm:^2.0.0" + get-amd-module-type: "npm:^5.0.1" + node-source-walk: "npm:^6.0.1" + bin: + detective-amd: bin/cli.js + checksum: 10c0/ed191b5279dc2d5b58fe29fd97c1574e2959e6999e2c178c9bcafa5ff1ff607bd70624674df78a5c13dea6467bca15d46782762e2c5ade460b97fa3206252b7e + languageName: node + linkType: hard + +"detective-cjs@npm:^5.0.1": + version: 5.0.1 + resolution: "detective-cjs@npm:5.0.1" + dependencies: + ast-module-types: "npm:^5.0.0" + node-source-walk: "npm:^6.0.0" + checksum: 10c0/623364008b27fe059fc68db1aa1812e737f764867671720bf477514ae1918fa36a32c6b3ac0e9f42f2ee3f3eadec1f69879a2a6a5cfb01393b9934b90c1f4b9c + languageName: node + linkType: hard + +"detective-es6@npm:^4.0.1": + version: 4.0.1 + resolution: "detective-es6@npm:4.0.1" + dependencies: + node-source-walk: "npm:^6.0.1" + checksum: 10c0/63e7f1c43949965b0f755aaeb45f2f1b0505cb5f2dc99f0ecb2ba99bdd48ccacd1b58cf0e553aeeafe9cb2b432aaec7fb9749ae578e46e97cf07e987ee82fca9 + languageName: node + linkType: hard + +"detective-postcss@npm:^6.1.3": + version: 6.1.3 + resolution: "detective-postcss@npm:6.1.3" + dependencies: + is-url: "npm:^1.2.4" + postcss: "npm:^8.4.23" + postcss-values-parser: "npm:^6.0.2" + checksum: 10c0/7ad2eb7113927930f5d17d97bc3dcfa2d38ea62f65263ecefc4b2289138dd6f7b07e561a23fb05b8befa56d521a49f601caf45794f1a17c3dfc3bf1c1199affe + languageName: node + linkType: hard + +"detective-sass@npm:^5.0.3": + version: 5.0.3 + resolution: "detective-sass@npm:5.0.3" + dependencies: + gonzales-pe: "npm:^4.3.0" + node-source-walk: "npm:^6.0.1" + checksum: 10c0/e3ea590911977be139825744a0b32161d7430b8cfcf0862407b224dc2f0312a2f10a2d715f455241abb5accdcaa75868d3e6b74324c2c845d9f723f03ca3465b + languageName: node + linkType: hard + +"detective-scss@npm:^4.0.3": + version: 4.0.3 + resolution: "detective-scss@npm:4.0.3" + dependencies: + gonzales-pe: "npm:^4.3.0" + node-source-walk: "npm:^6.0.1" + checksum: 10c0/bddd7bd6a91dc58167c106b29af828798044ea817a9354727a2e70ef48f37c06852f89f0073d804a0394e8e3221a77e0e4ff27e3376c9f7c1bd1babc17b82f8f + languageName: node + linkType: hard + +"detective-stylus@npm:^4.0.0": + version: 4.0.0 + resolution: "detective-stylus@npm:4.0.0" + checksum: 10c0/dd98712a7cbc417d8c69f01bedbb94c0708d29b28c5e183679f6abc26fa99f94bebfda1e1773d6dbeba642e7275b106e25ea7e0c61774e7f3573b58a2a1e774a + languageName: node + linkType: hard + +"detective-typescript@npm:^11.1.0": + version: 11.2.0 + resolution: "detective-typescript@npm:11.2.0" + dependencies: + "@typescript-eslint/typescript-estree": "npm:^5.62.0" + ast-module-types: "npm:^5.0.0" + node-source-walk: "npm:^6.0.2" + typescript: "npm:^5.4.4" + checksum: 10c0/f8bf60bc1312ff2dd39f15cf656793f76398e541ac88d9d4d15a01530b0119c9ea2dde3c7f830dbcfede0cad6747f7f0eb65e62419bd497e418b22f30a5ab47e + languageName: node + linkType: hard + +"devalue@npm:^5.1.1": + version: 5.1.1 + resolution: "devalue@npm:5.1.1" + checksum: 10c0/f6717a856fd54216959abd341cb189e47a9b37d72d8419e055ae77567ff4ed0fb683b1ffb6a71067f645adae5991bffabe6468a3e2385937bff49273e71c1f51 + languageName: node + linkType: hard + +"didyoumean@npm:^1.2.2": + version: 1.2.2 + resolution: "didyoumean@npm:1.2.2" + checksum: 10c0/95d0b53d23b851aacff56dfadb7ecfedce49da4232233baecfeecb7710248c4aa03f0aa8995062f0acafaf925adf8536bd7044a2e68316fd7d411477599bc27b + languageName: node + linkType: hard + +"diff@npm:^7.0.0": + version: 7.0.0 + resolution: "diff@npm:7.0.0" + checksum: 10c0/251fd15f85ffdf814cfc35a728d526b8d2ad3de338dcbd011ac6e57c461417090766b28995f8ff733135b5fbc3699c392db1d5e27711ac4e00244768cd1d577b + languageName: node + linkType: hard + +"dir-glob@npm:^3.0.1": + version: 3.0.1 + resolution: "dir-glob@npm:3.0.1" + dependencies: + path-type: "npm:^4.0.0" + checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c + languageName: node + linkType: hard + +"dlv@npm:^1.1.3": + version: 1.1.3 + resolution: "dlv@npm:1.1.3" + checksum: 10c0/03eb4e769f19a027fd5b43b59e8a05e3fd2100ac239ebb0bf9a745de35d449e2f25cfaf3aa3934664551d72856f4ae8b7822016ce5c42c2d27c18ae79429ec42 + languageName: node + linkType: hard + +"doctrine@npm:^3.0.0": + version: 3.0.0 + resolution: "doctrine@npm:3.0.0" + dependencies: + esutils: "npm:^2.0.2" + checksum: 10c0/c96bdccabe9d62ab6fea9399fdff04a66e6563c1d6fb3a3a063e8d53c3bb136ba63e84250bbf63d00086a769ad53aef92d2bd483f03f837fc97b71cbee6b2520 + languageName: node + linkType: hard + +"dom-accessibility-api@npm:^0.5.9": + version: 0.5.16 + resolution: "dom-accessibility-api@npm:0.5.16" + checksum: 10c0/b2c2eda4fae568977cdac27a9f0c001edf4f95a6a6191dfa611e3721db2478d1badc01db5bb4fa8a848aeee13e442a6c2a4386d65ec65a1436f24715a2f8d053 + languageName: node + linkType: hard + +"dom-accessibility-api@npm:^0.6.3": + version: 0.6.3 + resolution: "dom-accessibility-api@npm:0.6.3" + checksum: 10c0/10bee5aa514b2a9a37c87cd81268db607a2e933a050074abc2f6fa3da9080ebed206a320cbc123567f2c3087d22292853bdfdceaffdd4334ffe2af9510b29360 + languageName: node + linkType: hard + +"dom-serializer@npm:^2.0.0": + version: 2.0.0 + resolution: "dom-serializer@npm:2.0.0" + dependencies: + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.2" + entities: "npm:^4.2.0" + checksum: 10c0/d5ae2b7110ca3746b3643d3ef60ef823f5f078667baf530cec096433f1627ec4b6fa8c072f09d079d7cda915fd2c7bc1b7b935681e9b09e591e1e15f4040b8e2 + languageName: node + linkType: hard + +"domelementtype@npm:^2.3.0": + version: 2.3.0 + resolution: "domelementtype@npm:2.3.0" + checksum: 10c0/686f5a9ef0fff078c1412c05db73a0dce096190036f33e400a07e2a4518e9f56b1e324f5c576a0a747ef0e75b5d985c040b0d51945ce780c0dd3c625a18cd8c9 + languageName: node + linkType: hard + +"domhandler@npm:^5.0.2, domhandler@npm:^5.0.3": + version: 5.0.3 + resolution: "domhandler@npm:5.0.3" + dependencies: + domelementtype: "npm:^2.3.0" + checksum: 10c0/bba1e5932b3e196ad6862286d76adc89a0dbf0c773e5ced1eb01f9af930c50093a084eff14b8de5ea60b895c56a04d5de8bbc4930c5543d029091916770b2d2a + languageName: node + linkType: hard + +"domutils@npm:^3.0.1": + version: 3.2.2 + resolution: "domutils@npm:3.2.2" + dependencies: + dom-serializer: "npm:^2.0.0" + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.3" + checksum: 10c0/47938f473b987ea71cd59e59626eb8666d3aa8feba5266e45527f3b636c7883cca7e582d901531961f742c519d7514636b7973353b648762b2e3bedbf235fada + languageName: node + linkType: hard + +"dot-case@npm:^3.0.4": + version: 3.0.4 + resolution: "dot-case@npm:3.0.4" + dependencies: + no-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/5b859ea65097a7ea870e2c91b5768b72ddf7fa947223fd29e167bcdff58fe731d941c48e47a38ec8aa8e43044c8fbd15cd8fa21689a526bc34b6548197cd5b05 + languageName: node + linkType: hard + +"dot-prop@npm:9.0.0, dot-prop@npm:^9.0.0": + version: 9.0.0 + resolution: "dot-prop@npm:9.0.0" + dependencies: + type-fest: "npm:^4.18.2" + checksum: 10c0/4bac49a2f559156811862ac92813906f70529c50da918eaab81b38dd869743c667d578e183607f5ae11e8ae2a02e43e98e32c8a37bc4cae76b04d5b576e3112f + languageName: node + linkType: hard + +"dotenv@npm:^16.0.0, dotenv@npm:^16.3.1, dotenv@npm:^16.4.7": + version: 16.5.0 + resolution: "dotenv@npm:16.5.0" + checksum: 10c0/5bc94c919fbd955bf0ba44d33922a1e93d1078e64a1db5c30faeded1d996e7a83c55332cb8ea4fae5a9ca4d0be44cbceb95c5811e70f9f095298df09d1997dd9 + languageName: node + linkType: hard + +"dset@npm:^3.1.2, dset@npm:^3.1.4": + version: 3.1.4 + resolution: "dset@npm:3.1.4" + checksum: 10c0/b67bbd28dd8a539e90c15ffb61100eb64ef995c5270a124d4f99bbb53f4d82f55a051b731ba81f3215dd9dce2b4c8d69927dc20b3be1c5fc88bab159467aa438 + languageName: node + linkType: hard + +"dunder-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "dunder-proto@npm:1.0.1" + dependencies: + call-bind-apply-helpers: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.2.0" + checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031 + languageName: node + linkType: hard + +"duplexer3@npm:^0.1.4": + version: 0.1.5 + resolution: "duplexer3@npm:0.1.5" + checksum: 10c0/02195030d61c4d6a2a34eca71639f2ea5e05cb963490e5bd9527623c2ac7f50c33842a34d14777ea9cbfd9bc2be5a84065560b897d9fabb99346058a5b86ca98 + languageName: node + linkType: hard + +"duplexer@npm:^0.1.2": + version: 0.1.2 + resolution: "duplexer@npm:0.1.2" + checksum: 10c0/c57bcd4bdf7e623abab2df43a7b5b23d18152154529d166c1e0da6bee341d84c432d157d7e97b32fecb1bf3a8b8857dd85ed81a915789f550637ed25b8e64fc2 + languageName: node + linkType: hard + +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 + languageName: node + linkType: hard + +"easy-bem@npm:^1.0.2": + version: 1.1.1 + resolution: "easy-bem@npm:1.1.1" + checksum: 10c0/83b54e5c854795612a245fba9bc48053da3593205ff19d8aad38ef9bc0cbf56d2df7af73d90b533602696ead1ffe6beef55d756e2356e981f50156e044a1463e + languageName: node + linkType: hard + +"ee-first@npm:1.1.1": + version: 1.1.1 + resolution: "ee-first@npm:1.1.1" + checksum: 10c0/b5bb125ee93161bc16bfe6e56c6b04de5ad2aa44234d8f644813cc95d861a6910903132b05093706de2b706599367c4130eb6d170f6b46895686b95f87d017b7 + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.5.149": + version: 1.5.152 + resolution: "electron-to-chromium@npm:1.5.152" + checksum: 10c0/99c58dc8fc6b22ea64f118599663a0d336aa28693fbd275d06f3e2c1d1a6c954fcb88f5b2390223267bb3487940d3e587b6acac8b1b2ebc4dc65c44cd7739c7c + languageName: node + linkType: hard + +"electron@npm:^21.0.1": + version: 21.4.4 + resolution: "electron@npm:21.4.4" + dependencies: + "@electron/get": "npm:^1.14.1" + "@types/node": "npm:^16.11.26" + extract-zip: "npm:^2.0.1" + bin: + electron: cli.js + checksum: 10c0/1e3ae67767142cda2547b7c1fc2cfb610e294d9f40ace2170f32f183338a7d95c436abacd5b5b07328cb59360f28e89f368f23d13acbafbd505d9aacc3e718b7 + languageName: node + linkType: hard + +"emoji-regex@npm:^10.0.0": + version: 10.4.0 + resolution: "emoji-regex@npm:10.4.0" + checksum: 10c0/a3fcedfc58bfcce21a05a5f36a529d81e88d602100145fcca3dc6f795e3c8acc4fc18fe773fbf9b6d6e9371205edb3afa2668ec3473fa2aa7fd47d2a9d46482d + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 + languageName: node + linkType: hard + +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 + languageName: node + linkType: hard + +"enabled@npm:2.0.x": + version: 2.0.0 + resolution: "enabled@npm:2.0.0" + checksum: 10c0/3b2c2af9bc7f8b9e291610f2dde4a75cf6ee52a68f4dd585482fbdf9a55d65388940e024e56d40bb03e05ef6671f5f53021fa8b72a20e954d7066ec28166713f + languageName: node + linkType: hard + +"encodeurl@npm:^1.0.2, encodeurl@npm:~1.0.2": + version: 1.0.2 + resolution: "encodeurl@npm:1.0.2" + checksum: 10c0/f6c2387379a9e7c1156c1c3d4f9cb7bb11cf16dd4c1682e1f6746512564b053df5781029b6061296832b59fb22f459dbe250386d217c2f6e203601abb2ee0bec + languageName: node + linkType: hard + +"encodeurl@npm:^2.0.0, encodeurl@npm:~2.0.0": + version: 2.0.0 + resolution: "encodeurl@npm:2.0.0" + checksum: 10c0/5d317306acb13e6590e28e27924c754163946a2480de11865c991a3a7eed4315cd3fba378b543ca145829569eefe9b899f3d84bb09870f675ae60bc924b01ceb + languageName: node + linkType: hard + +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: "npm:^0.6.2" + checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 + languageName: node + linkType: hard + +"end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1": + version: 1.4.4 + resolution: "end-of-stream@npm:1.4.4" + dependencies: + once: "npm:^1.4.0" + checksum: 10c0/870b423afb2d54bb8d243c63e07c170409d41e20b47eeef0727547aea5740bd6717aca45597a9f2745525667a6b804c1e7bede41f856818faee5806dd9ff3975 + languageName: node + linkType: hard + +"engine.io-client@npm:~6.6.1": + version: 6.6.3 + resolution: "engine.io-client@npm:6.6.3" + dependencies: + "@socket.io/component-emitter": "npm:~3.1.0" + debug: "npm:~4.3.1" + engine.io-parser: "npm:~5.2.1" + ws: "npm:~8.17.1" + xmlhttprequest-ssl: "npm:~2.1.1" + checksum: 10c0/ebe0b1da6831d5a68564f9ffb80efe682da4f0538488eaffadf0bcf5177a8b4472cdb01d18a9f20dece2f8de30e2df951eb4635bef2f1b492e9f08a523db91a0 + languageName: node + linkType: hard + +"engine.io-parser@npm:~5.2.1": + version: 5.2.3 + resolution: "engine.io-parser@npm:5.2.3" + checksum: 10c0/ed4900d8dbef470ab3839ccf3bfa79ee518ea8277c7f1f2759e8c22a48f64e687ea5e474291394d0c94f84054749fd93f3ef0acb51fa2f5f234cc9d9d8e7c536 + languageName: node + linkType: hard + +"engine.io@npm:~6.6.0": + version: 6.6.4 + resolution: "engine.io@npm:6.6.4" + dependencies: + "@types/cors": "npm:^2.8.12" + "@types/node": "npm:>=10.0.0" + accepts: "npm:~1.3.4" + base64id: "npm:2.0.0" + cookie: "npm:~0.7.2" + cors: "npm:~2.8.5" + debug: "npm:~4.3.1" + engine.io-parser: "npm:~5.2.1" + ws: "npm:~8.17.1" + checksum: 10c0/845761163f8ea7962c049df653b75dafb6b3693ad6f59809d4474751d7b0392cbf3dc2730b8a902ff93677a91fd28711d34ab29efd348a8a4b49c6b0724021ab + languageName: node + linkType: hard + +"enhanced-resolve@npm:^5.14.1": + version: 5.18.1 + resolution: "enhanced-resolve@npm:5.18.1" + dependencies: + graceful-fs: "npm:^4.2.4" + tapable: "npm:^2.2.0" + checksum: 10c0/4cffd9b125225184e2abed9fdf0ed3dbd2224c873b165d0838fd066cde32e0918626cba2f1f4bf6860762f13a7e2364fd89a82b99566be2873d813573ac71846 + languageName: node + linkType: hard + +"entities@npm:^4.2.0, entities@npm:^4.4.0, entities@npm:^4.5.0": + version: 4.5.0 + resolution: "entities@npm:4.5.0" + checksum: 10c0/5b039739f7621f5d1ad996715e53d964035f75ad3b9a4d38c6b3804bb226e282ffeae2443624d8fdd9c47d8e926ae9ac009c54671243f0c3294c26af7cc85250 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"env-paths@npm:^3.0.0": + version: 3.0.0 + resolution: "env-paths@npm:3.0.0" + checksum: 10c0/76dec878cee47f841103bacd7fae03283af16f0702dad65102ef0a556f310b98a377885e0f32943831eb08b5ab37842a323d02529f3dfd5d0a40ca71b01b435f + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 + languageName: node + linkType: hard + +"error-ex@npm:^1.3.1": + version: 1.3.2 + resolution: "error-ex@npm:1.3.2" + dependencies: + is-arrayish: "npm:^0.2.1" + checksum: 10c0/ba827f89369b4c93382cfca5a264d059dfefdaa56ecc5e338ffa58a6471f5ed93b71a20add1d52290a4873d92381174382658c885ac1a2305f7baca363ce9cce + languageName: node + linkType: hard + +"error-stack-parser-es@npm:^1.0.5": + version: 1.0.5 + resolution: "error-stack-parser-es@npm:1.0.5" + checksum: 10c0/040665eb87a42fe068c0da501bc258f3d15d3a03963c0723d7a2741e251d400c9776a52d2803afdc5709def99554cdb5a5d99c203c7eaf4885d3fbc217e2e8f7 + languageName: node + linkType: hard + +"errx@npm:^0.1.0": + version: 0.1.0 + resolution: "errx@npm:0.1.0" + checksum: 10c0/11f293dd737c3a0d9594065507e70b48333bcf340e33f324b2674ea7861a7e8f29f155d17070f85bb76f5da6e4f21b108c3ec8818b10f9fb78a467b36b63d3c4 + languageName: node + linkType: hard + +"es-define-property@npm:^1.0.0, es-define-property@npm:^1.0.1": + version: 1.0.1 + resolution: "es-define-property@npm:1.0.1" + checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 + languageName: node + linkType: hard + +"es-module-lexer@npm:^1.0.0, es-module-lexer@npm:^1.5.3, es-module-lexer@npm:^1.7.0": + version: 1.7.0 + resolution: "es-module-lexer@npm:1.7.0" + checksum: 10c0/4c935affcbfeba7fb4533e1da10fa8568043df1e3574b869385980de9e2d475ddc36769891936dbb07036edb3c3786a8b78ccf44964cd130dedc1f2c984b6c7b + languageName: node + linkType: hard + +"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": + version: 1.1.1 + resolution: "es-object-atoms@npm:1.1.1" + dependencies: + es-errors: "npm:^1.3.0" + checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c + languageName: node + linkType: hard + +"es6-error@npm:^4.1.1": + version: 4.1.1 + resolution: "es6-error@npm:4.1.1" + checksum: 10c0/357663fb1e845c047d548c3d30f86e005db71e122678f4184ced0693f634688c3f3ef2d7de7d4af732f734de01f528b05954e270f06aa7d133679fb9fe6600ef + languageName: node + linkType: hard + +"esbuild@npm:0.25.4, esbuild@npm:^0.25.0, esbuild@npm:^0.25.4": + version: 0.25.4 + resolution: "esbuild@npm:0.25.4" + dependencies: + "@esbuild/aix-ppc64": "npm:0.25.4" + "@esbuild/android-arm": "npm:0.25.4" + "@esbuild/android-arm64": "npm:0.25.4" + "@esbuild/android-x64": "npm:0.25.4" + "@esbuild/darwin-arm64": "npm:0.25.4" + "@esbuild/darwin-x64": "npm:0.25.4" + "@esbuild/freebsd-arm64": "npm:0.25.4" + "@esbuild/freebsd-x64": "npm:0.25.4" + "@esbuild/linux-arm": "npm:0.25.4" + "@esbuild/linux-arm64": "npm:0.25.4" + "@esbuild/linux-ia32": "npm:0.25.4" + "@esbuild/linux-loong64": "npm:0.25.4" + "@esbuild/linux-mips64el": "npm:0.25.4" + "@esbuild/linux-ppc64": "npm:0.25.4" + "@esbuild/linux-riscv64": "npm:0.25.4" + "@esbuild/linux-s390x": "npm:0.25.4" + "@esbuild/linux-x64": "npm:0.25.4" + "@esbuild/netbsd-arm64": "npm:0.25.4" + "@esbuild/netbsd-x64": "npm:0.25.4" + "@esbuild/openbsd-arm64": "npm:0.25.4" + "@esbuild/openbsd-x64": "npm:0.25.4" + "@esbuild/sunos-x64": "npm:0.25.4" + "@esbuild/win32-arm64": "npm:0.25.4" + "@esbuild/win32-ia32": "npm:0.25.4" + "@esbuild/win32-x64": "npm:0.25.4" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-arm64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-arm64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/db9f51248f0560bc46ab219461d338047617f6caf373c95f643b204760bdfa10c95b48cfde948949f7e509599ae4ab61c3f112092a3534936c6abfb800c565b0 + languageName: node + linkType: hard + +"esbuild@npm:^0.21.5": + version: 0.21.5 + resolution: "esbuild@npm:0.21.5" + dependencies: + "@esbuild/aix-ppc64": "npm:0.21.5" + "@esbuild/android-arm": "npm:0.21.5" + "@esbuild/android-arm64": "npm:0.21.5" + "@esbuild/android-x64": "npm:0.21.5" + "@esbuild/darwin-arm64": "npm:0.21.5" + "@esbuild/darwin-x64": "npm:0.21.5" + "@esbuild/freebsd-arm64": "npm:0.21.5" + "@esbuild/freebsd-x64": "npm:0.21.5" + "@esbuild/linux-arm": "npm:0.21.5" + "@esbuild/linux-arm64": "npm:0.21.5" + "@esbuild/linux-ia32": "npm:0.21.5" + "@esbuild/linux-loong64": "npm:0.21.5" + "@esbuild/linux-mips64el": "npm:0.21.5" + "@esbuild/linux-ppc64": "npm:0.21.5" + "@esbuild/linux-riscv64": "npm:0.21.5" + "@esbuild/linux-s390x": "npm:0.21.5" + "@esbuild/linux-x64": "npm:0.21.5" + "@esbuild/netbsd-x64": "npm:0.21.5" + "@esbuild/openbsd-x64": "npm:0.21.5" + "@esbuild/sunos-x64": "npm:0.21.5" + "@esbuild/win32-arm64": "npm:0.21.5" + "@esbuild/win32-ia32": "npm:0.21.5" + "@esbuild/win32-x64": "npm:0.21.5" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/fa08508adf683c3f399e8a014a6382a6b65542213431e26206c0720e536b31c09b50798747c2a105a4bbba1d9767b8d3615a74c2f7bf1ddf6d836cd11eb672de + languageName: node + linkType: hard + +"escalade@npm:^3.1.1, escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 + languageName: node + linkType: hard + +"escape-html@npm:^1.0.3, escape-html@npm:~1.0.3": + version: 1.0.3 + resolution: "escape-html@npm:1.0.3" + checksum: 10c0/524c739d776b36c3d29fa08a22e03e8824e3b2fd57500e5e44ecf3cc4707c34c60f9ca0781c0e33d191f2991161504c295e98f68c78fe7baa6e57081ec6ac0a3 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^5.0.0": + version: 5.0.0 + resolution: "escape-string-regexp@npm:5.0.0" + checksum: 10c0/6366f474c6f37a802800a435232395e04e9885919873e382b157ab7e8f0feb8fed71497f84a6f6a81a49aab41815522f5839112bd38026d203aea0c91622df95 + languageName: node + linkType: hard + +"escodegen@npm:^2.0.0": + version: 2.1.0 + resolution: "escodegen@npm:2.1.0" + dependencies: + esprima: "npm:^4.0.1" + estraverse: "npm:^5.2.0" + esutils: "npm:^2.0.2" + source-map: "npm:~0.6.1" + dependenciesMeta: + source-map: + optional: true + bin: + escodegen: bin/escodegen.js + esgenerate: bin/esgenerate.js + checksum: 10c0/e1450a1f75f67d35c061bf0d60888b15f62ab63aef9df1901cffc81cffbbb9e8b3de237c5502cf8613a017c1df3a3003881307c78835a1ab54d8c8d2206e01d3 + languageName: node + linkType: hard + +"eslint-config-flat-gitignore@npm:^0.1.5": + version: 0.1.8 + resolution: "eslint-config-flat-gitignore@npm:0.1.8" + dependencies: + find-up-simple: "npm:^1.0.0" + parse-gitignore: "npm:^2.0.0" + checksum: 10c0/ac09bc44d874066348164a9e182a864c6bd0f22b59e529de181c0f9d08583555f54d33a6bb458cc00f4e4ea7045304db599f687d8e550a1342ff37bd6a3a757a + languageName: node + linkType: hard + +"eslint-config-prettier@npm:^9.1.0": + version: 9.1.0 + resolution: "eslint-config-prettier@npm:9.1.0" + peerDependencies: + eslint: ">=7.0.0" + bin: + eslint-config-prettier: bin/cli.js + checksum: 10c0/6d332694b36bc9ac6fdb18d3ca2f6ac42afa2ad61f0493e89226950a7091e38981b66bac2b47ba39d15b73fff2cd32c78b850a9cf9eed9ca9a96bfb2f3a2f10d + languageName: node + linkType: hard + +"eslint-flat-config-utils@npm:^0.2.4, eslint-flat-config-utils@npm:^0.2.5": + version: 0.2.5 + resolution: "eslint-flat-config-utils@npm:0.2.5" + dependencies: + "@types/eslint": "npm:^8.56.10" + pathe: "npm:^1.1.2" + checksum: 10c0/70ed015c956337abb70ce16e1cf9945f37debd997800fec48616ff910e1e466c51e4c4c115ba23318ed1ca7ce02311772cfb0981e8b87876622d3d12159e261c + languageName: node + linkType: hard + +"eslint-import-resolver-node@npm:^0.3.9": + version: 0.3.9 + resolution: "eslint-import-resolver-node@npm:0.3.9" + dependencies: + debug: "npm:^3.2.7" + is-core-module: "npm:^2.13.0" + resolve: "npm:^1.22.4" + checksum: 10c0/0ea8a24a72328a51fd95aa8f660dcca74c1429806737cf10261ab90cfcaaf62fd1eff664b76a44270868e0a932711a81b250053942595bcd00a93b1c1575dd61 + languageName: node + linkType: hard + +"eslint-plugin-import-x@npm:^0.5.0": + version: 0.5.3 + resolution: "eslint-plugin-import-x@npm:0.5.3" + dependencies: + "@typescript-eslint/utils": "npm:^7.4.0" + debug: "npm:^4.3.4" + doctrine: "npm:^3.0.0" + eslint-import-resolver-node: "npm:^0.3.9" + get-tsconfig: "npm:^4.7.3" + is-glob: "npm:^4.0.3" + minimatch: "npm:^9.0.3" + semver: "npm:^7.6.0" + stable-hash: "npm:^0.0.4" + tslib: "npm:^2.6.2" + peerDependencies: + eslint: ^8.56.0 || ^9.0.0-0 + checksum: 10c0/d1e971f92bba5a09117b0f948b786338a02e33c138a713f62f1ad9ec51b8ecd0531e99dfd78cab96bdc8d158bd413fc708de3162208c728650c760569037d09b + languageName: node + linkType: hard + +"eslint-plugin-jsdoc@npm:^48.2.5": + version: 48.11.0 + resolution: "eslint-plugin-jsdoc@npm:48.11.0" + dependencies: + "@es-joy/jsdoccomment": "npm:~0.46.0" + are-docs-informative: "npm:^0.0.2" + comment-parser: "npm:1.4.1" + debug: "npm:^4.3.5" + escape-string-regexp: "npm:^4.0.0" + espree: "npm:^10.1.0" + esquery: "npm:^1.6.0" + parse-imports: "npm:^2.1.1" + semver: "npm:^7.6.3" + spdx-expression-parse: "npm:^4.0.0" + synckit: "npm:^0.9.1" + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + checksum: 10c0/f78bac109e62f838c14f90ebd572a06a865f2896a16201c9324cb92be25b5ba8deb54ee1d8ea36232ee53a41c177d5d5ac80662c0fe2479d1e1e1e7633385659 + languageName: node + linkType: hard + +"eslint-plugin-regexp@npm:^2.5.0": + version: 2.7.0 + resolution: "eslint-plugin-regexp@npm:2.7.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.2.0" + "@eslint-community/regexpp": "npm:^4.11.0" + comment-parser: "npm:^1.4.0" + jsdoc-type-pratt-parser: "npm:^4.0.0" + refa: "npm:^0.12.1" + regexp-ast-analysis: "npm:^0.7.1" + scslre: "npm:^0.3.0" + peerDependencies: + eslint: ">=8.44.0" + checksum: 10c0/c4882b441bab92e89c82cb27d6650540ad318750df5e99b42989f0fdf9ea381a9156de8470f1221483f98b5dc9cd6c493da73ccc18d94dee8d4a0f0ce78bd122 + languageName: node + linkType: hard + +"eslint-plugin-unicorn@npm:^53.0.0": + version: 53.0.0 + resolution: "eslint-plugin-unicorn@npm:53.0.0" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.24.5" + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@eslint/eslintrc": "npm:^3.0.2" + ci-info: "npm:^4.0.0" + clean-regexp: "npm:^1.0.0" + core-js-compat: "npm:^3.37.0" + esquery: "npm:^1.5.0" + indent-string: "npm:^4.0.0" + is-builtin-module: "npm:^3.2.1" + jsesc: "npm:^3.0.2" + pluralize: "npm:^8.0.0" + read-pkg-up: "npm:^7.0.1" + regexp-tree: "npm:^0.1.27" + regjsparser: "npm:^0.10.0" + semver: "npm:^7.6.1" + strip-indent: "npm:^3.0.0" + peerDependencies: + eslint: ">=8.56.0" + checksum: 10c0/da48048c21a68dd5410ed1f8abb1a80a7dabb5cf751e690dae435cb5359b3150f92682722bdb2e07258689ad1fdceaa9bd2dd08f211aaeb7ed19c62b98a32db5 + languageName: node + linkType: hard + +"eslint-plugin-vue@npm:^9.26.0": + version: 9.33.0 + resolution: "eslint-plugin-vue@npm:9.33.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + globals: "npm:^13.24.0" + natural-compare: "npm:^1.4.0" + nth-check: "npm:^2.1.1" + postcss-selector-parser: "npm:^6.0.15" + semver: "npm:^7.6.3" + vue-eslint-parser: "npm:^9.4.3" + xml-name-validator: "npm:^4.0.0" + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + checksum: 10c0/2f5ee967158fc345ec3f2076835e6a9d706c4bbb7dc4c3806ad8db81133d73128fbd402f71b3adf8ae53e5e4a0a1aba32e44eb757544901a6a62021a1ccad92e + languageName: node + linkType: hard + +"eslint-plugin-vuejs-accessibility@npm:^2.3.0": + version: 2.4.1 + resolution: "eslint-plugin-vuejs-accessibility@npm:2.4.1" + dependencies: + aria-query: "npm:^5.3.0" + emoji-regex: "npm:^10.0.0" + vue-eslint-parser: "npm:^9.0.1" + peerDependencies: + eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + checksum: 10c0/70c121ab0871bf3facaab96b98611d0276dcf68cc535946b1871d7a2b68f49a7bcd3791a690f4964fefae1d7782b5f64416f2db02c085f15c40ca1e71768dd55 + languageName: node + linkType: hard + +"eslint-scope@npm:^7.1.1": + version: 7.2.2 + resolution: "eslint-scope@npm:7.2.2" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^5.2.0" + checksum: 10c0/613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116 + languageName: node + linkType: hard + +"eslint-scope@npm:^8.3.0": + version: 8.3.0 + resolution: "eslint-scope@npm:8.3.0" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^5.2.0" + checksum: 10c0/23bf54345573201fdf06d29efa345ab508b355492f6c6cc9e2b9f6d02b896f369b6dd5315205be94b8853809776c4d13353b85c6b531997b164ff6c3328ecf5b + languageName: node + linkType: hard + +"eslint-typegen@npm:^0.2.4": + version: 0.2.4 + resolution: "eslint-typegen@npm:0.2.4" + dependencies: + "@types/eslint": "npm:^8.56.10" + json-schema-to-typescript-lite: "npm:^14.0.1" + ohash: "npm:^1.1.3" + peerDependencies: + eslint: ^8.45.0 || ^9.0.0 + checksum: 10c0/b4f2256f65355b53674e964983ed50fa6fddd18a13e6e79d90036d8af19ff31b6ecab42c833259494a7317074f6f5e5ec9e39fb7340e4bcd99dd66a34bcfe2a2 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^4.2.0": + version: 4.2.0 + resolution: "eslint-visitor-keys@npm:4.2.0" + checksum: 10c0/2ed81c663b147ca6f578312919483eb040295bbab759e5a371953456c636c5b49a559883e2677112453728d66293c0a4c90ab11cab3428cf02a0236d2e738269 + languageName: node + linkType: hard + +"eslint@npm:^9.20.1": + version: 9.26.0 + resolution: "eslint@npm:9.26.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.2.0" + "@eslint-community/regexpp": "npm:^4.12.1" + "@eslint/config-array": "npm:^0.20.0" + "@eslint/config-helpers": "npm:^0.2.1" + "@eslint/core": "npm:^0.13.0" + "@eslint/eslintrc": "npm:^3.3.1" + "@eslint/js": "npm:9.26.0" + "@eslint/plugin-kit": "npm:^0.2.8" + "@humanfs/node": "npm:^0.16.6" + "@humanwhocodes/module-importer": "npm:^1.0.1" + "@humanwhocodes/retry": "npm:^0.4.2" + "@modelcontextprotocol/sdk": "npm:^1.8.0" + "@types/estree": "npm:^1.0.6" + "@types/json-schema": "npm:^7.0.15" + ajv: "npm:^6.12.4" + chalk: "npm:^4.0.0" + cross-spawn: "npm:^7.0.6" + debug: "npm:^4.3.2" + escape-string-regexp: "npm:^4.0.0" + eslint-scope: "npm:^8.3.0" + eslint-visitor-keys: "npm:^4.2.0" + espree: "npm:^10.3.0" + esquery: "npm:^1.5.0" + esutils: "npm:^2.0.2" + fast-deep-equal: "npm:^3.1.3" + file-entry-cache: "npm:^8.0.0" + find-up: "npm:^5.0.0" + glob-parent: "npm:^6.0.2" + ignore: "npm:^5.2.0" + imurmurhash: "npm:^0.1.4" + is-glob: "npm:^4.0.0" + json-stable-stringify-without-jsonify: "npm:^1.0.1" + lodash.merge: "npm:^4.6.2" + minimatch: "npm:^3.1.2" + natural-compare: "npm:^1.4.0" + optionator: "npm:^0.9.3" + zod: "npm:^3.24.2" + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true + bin: + eslint: bin/eslint.js + checksum: 10c0/fb5ba6ce2b85a6c26c89bc1ca9b34f0ffa2166ba85d3d007a06bb2350151fb665e9a5f99d7f24051a00dc713203b50ece6e724a29fed7b297e432cdc79482fec + languageName: node + linkType: hard + +"espree@npm:^10.0.1, espree@npm:^10.1.0, espree@npm:^10.3.0": + version: 10.3.0 + resolution: "espree@npm:10.3.0" + dependencies: + acorn: "npm:^8.14.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10c0/272beeaca70d0a1a047d61baff64db04664a33d7cfb5d144f84bc8a5c6194c6c8ebe9cc594093ca53add88baa23e59b01e69e8a0160ab32eac570482e165c462 + languageName: node + linkType: hard + +"espree@npm:^9.3.1": + version: 9.6.1 + resolution: "espree@npm:9.6.1" + dependencies: + acorn: "npm:^8.9.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^3.4.1" + checksum: 10c0/1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 + languageName: node + linkType: hard + +"esprima@npm:^4.0.1": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 + languageName: node + linkType: hard + +"esquery@npm:^1.4.0, esquery@npm:^1.5.0, esquery@npm:^1.6.0": + version: 1.6.0 + resolution: "esquery@npm:1.6.0" + dependencies: + estraverse: "npm:^5.1.0" + checksum: 10c0/cb9065ec605f9da7a76ca6dadb0619dfb611e37a81e318732977d90fab50a256b95fee2d925fba7c2f3f0523aa16f91587246693bc09bc34d5a59575fe6e93d2 + languageName: node + linkType: hard + +"esrecurse@npm:^4.3.0": + version: 4.3.0 + resolution: "esrecurse@npm:4.3.0" + dependencies: + estraverse: "npm:^5.2.0" + checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 + languageName: node + linkType: hard + +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0, estraverse@npm:^5.3.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 + languageName: node + linkType: hard + +"estree-walker@npm:2.0.2, estree-walker@npm:^2.0.2": + version: 2.0.2 + resolution: "estree-walker@npm:2.0.2" + checksum: 10c0/53a6c54e2019b8c914dc395890153ffdc2322781acf4bd7d1a32d7aedc1710807bdcd866ac133903d5629ec601fbb50abe8c2e5553c7f5a0afdd9b6af6c945af + languageName: node + linkType: hard + +"estree-walker@npm:^3.0.3": + version: 3.0.3 + resolution: "estree-walker@npm:3.0.3" + dependencies: + "@types/estree": "npm:^1.0.0" + checksum: 10c0/c12e3c2b2642d2bcae7d5aa495c60fa2f299160946535763969a1c83fc74518ffa9c2cd3a8b69ac56aea547df6a8aac25f729a342992ef0bbac5f1c73e78995d + languageName: node + linkType: hard + +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 + languageName: node + linkType: hard + +"etag@npm:^1.8.1, etag@npm:~1.8.1": + version: 1.8.1 + resolution: "etag@npm:1.8.1" + checksum: 10c0/12be11ef62fb9817314d790089a0a49fae4e1b50594135dcb8076312b7d7e470884b5100d249b28c18581b7fd52f8b485689ffae22a11ed9ec17377a33a08f84 + languageName: node + linkType: hard + +"event-target-shim@npm:^5.0.0": + version: 5.0.1 + resolution: "event-target-shim@npm:5.0.1" + checksum: 10c0/0255d9f936215fd206156fd4caa9e8d35e62075d720dc7d847e89b417e5e62cf1ce6c9b4e0a1633a9256de0efefaf9f8d26924b1f3c8620cffb9db78e7d3076b + languageName: node + linkType: hard + +"eventemitter3@npm:^3.1.0": + version: 3.1.2 + resolution: "eventemitter3@npm:3.1.2" + checksum: 10c0/c67262eccbf85848b7cc6d4abb6c6e34155e15686db2a01c57669fd0d44441a574a19d44d25948b442929e065774cbe5003d8e77eed47674fbf876ac77887793 + languageName: node + linkType: hard + +"events@npm:^3.3.0": + version: 3.3.0 + resolution: "events@npm:3.3.0" + checksum: 10c0/d6b6f2adbccbcda74ddbab52ed07db727ef52e31a61ed26db9feb7dc62af7fc8e060defa65e5f8af9449b86b52cc1a1f6a79f2eafcf4e62add2b7a1fa4a432f6 + languageName: node + linkType: hard + +"eventsource-parser@npm:^3.0.1": + version: 3.0.1 + resolution: "eventsource-parser@npm:3.0.1" + checksum: 10c0/146ce5ae8325d07645a49bbc54d7ac3aef42f5138bfbbe83d5cf96293b50eab2219926d6cf41eed0a0f90132578089652ba9286a19297662900133a9da6c2fd0 + languageName: node + linkType: hard + +"eventsource@npm:^3.0.2": + version: 3.0.7 + resolution: "eventsource@npm:3.0.7" + dependencies: + eventsource-parser: "npm:^3.0.1" + checksum: 10c0/c48a73c38f300e33e9f11375d4ee969f25cbb0519608a12378a38068055ae8b55b6e0e8a49c3f91c784068434efe1d9f01eb49b6315b04b0da9157879ce2f67d + languageName: node + linkType: hard + +"execa@npm:^7.0.0, execa@npm:^7.2.0": + version: 7.2.0 + resolution: "execa@npm:7.2.0" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^6.0.1" + human-signals: "npm:^4.3.0" + is-stream: "npm:^3.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^5.1.0" + onetime: "npm:^6.0.0" + signal-exit: "npm:^3.0.7" + strip-final-newline: "npm:^3.0.0" + checksum: 10c0/098cd6a1bc26d509e5402c43f4971736450b84d058391820c6f237aeec6436963e006fd8423c9722f148c53da86aa50045929c7278b5522197dff802d10f9885 + languageName: node + linkType: hard + +"execa@npm:^8.0.1": + version: 8.0.1 + resolution: "execa@npm:8.0.1" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^8.0.1" + human-signals: "npm:^5.0.0" + is-stream: "npm:^3.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^5.1.0" + onetime: "npm:^6.0.0" + signal-exit: "npm:^4.1.0" + strip-final-newline: "npm:^3.0.0" + checksum: 10c0/2c52d8775f5bf103ce8eec9c7ab3059909ba350a5164744e9947ed14a53f51687c040a250bda833f906d1283aa8803975b84e6c8f7a7c42f99dc8ef80250d1af + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.2 + resolution: "exponential-backoff@npm:3.1.2" + checksum: 10c0/d9d3e1eafa21b78464297df91f1776f7fbaa3d5e3f7f0995648ca5b89c069d17055033817348d9f4a43d1c20b0eab84f75af6991751e839df53e4dfd6f22e844 + languageName: node + linkType: hard + +"express-rate-limit@npm:^7.5.0": + version: 7.5.0 + resolution: "express-rate-limit@npm:7.5.0" + peerDependencies: + express: ^4.11 || 5 || ^5.0.0-beta.1 + checksum: 10c0/3e96afa05b4f577395688ede37e0cb19901f20c350b32575fb076f3d25176209fb88d3648151755c232aaf304147c58531f070757978f376e2f08326449299fd + languageName: node + linkType: hard + +"express@npm:^4.17.1": + version: 4.21.2 + resolution: "express@npm:4.21.2" + dependencies: + accepts: "npm:~1.3.8" + array-flatten: "npm:1.1.1" + body-parser: "npm:1.20.3" + content-disposition: "npm:0.5.4" + content-type: "npm:~1.0.4" + cookie: "npm:0.7.1" + cookie-signature: "npm:1.0.6" + debug: "npm:2.6.9" + depd: "npm:2.0.0" + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + etag: "npm:~1.8.1" + finalhandler: "npm:1.3.1" + fresh: "npm:0.5.2" + http-errors: "npm:2.0.0" + merge-descriptors: "npm:1.0.3" + methods: "npm:~1.1.2" + on-finished: "npm:2.4.1" + parseurl: "npm:~1.3.3" + path-to-regexp: "npm:0.1.12" + proxy-addr: "npm:~2.0.7" + qs: "npm:6.13.0" + range-parser: "npm:~1.2.1" + safe-buffer: "npm:5.2.1" + send: "npm:0.19.0" + serve-static: "npm:1.16.2" + setprototypeof: "npm:1.2.0" + statuses: "npm:2.0.1" + type-is: "npm:~1.6.18" + utils-merge: "npm:1.0.1" + vary: "npm:~1.1.2" + checksum: 10c0/38168fd0a32756600b56e6214afecf4fc79ec28eca7f7a91c2ab8d50df4f47562ca3f9dee412da7f5cea6b1a1544b33b40f9f8586dbacfbdada0fe90dbb10a1f + languageName: node + linkType: hard + +"express@npm:^5.0.1": + version: 5.1.0 + resolution: "express@npm:5.1.0" + dependencies: + accepts: "npm:^2.0.0" + body-parser: "npm:^2.2.0" + content-disposition: "npm:^1.0.0" + content-type: "npm:^1.0.5" + cookie: "npm:^0.7.1" + cookie-signature: "npm:^1.2.1" + debug: "npm:^4.4.0" + encodeurl: "npm:^2.0.0" + escape-html: "npm:^1.0.3" + etag: "npm:^1.8.1" + finalhandler: "npm:^2.1.0" + fresh: "npm:^2.0.0" + http-errors: "npm:^2.0.0" + merge-descriptors: "npm:^2.0.0" + mime-types: "npm:^3.0.0" + on-finished: "npm:^2.4.1" + once: "npm:^1.4.0" + parseurl: "npm:^1.3.3" + proxy-addr: "npm:^2.0.7" + qs: "npm:^6.14.0" + range-parser: "npm:^1.2.1" + router: "npm:^2.2.0" + send: "npm:^1.1.0" + serve-static: "npm:^2.2.0" + statuses: "npm:^2.0.1" + type-is: "npm:^2.0.1" + vary: "npm:^1.1.2" + checksum: 10c0/80ce7c53c5f56887d759b94c3f2283e2e51066c98d4b72a4cc1338e832b77f1e54f30d0239cc10815a0f849bdb753e6a284d2fa48d4ab56faf9c501f55d751d6 + languageName: node + linkType: hard + +"exsolve@npm:^1.0.1, exsolve@npm:^1.0.4, exsolve@npm:^1.0.5": + version: 1.0.5 + resolution: "exsolve@npm:1.0.5" + checksum: 10c0/0e845843951e8e7f190d26648259b3d584990933ea68a3c8ec984e826d4fb3731681f7f2569252b4fe619db1d67b0859abe0ef694cb2edb454343bd44bcdce59 + languageName: node + linkType: hard + +"external-editor@npm:^3.0.3": + version: 3.1.0 + resolution: "external-editor@npm:3.1.0" + dependencies: + chardet: "npm:^0.7.0" + iconv-lite: "npm:^0.4.24" + tmp: "npm:^0.0.33" + checksum: 10c0/c98f1ba3efdfa3c561db4447ff366a6adb5c1e2581462522c56a18bf90dfe4da382f9cd1feee3e330108c3595a854b218272539f311ba1b3298f841eb0fbf339 + languageName: node + linkType: hard + +"externality@npm:^1.0.2": + version: 1.0.2 + resolution: "externality@npm:1.0.2" + dependencies: + enhanced-resolve: "npm:^5.14.1" + mlly: "npm:^1.3.0" + pathe: "npm:^1.1.1" + ufo: "npm:^1.1.2" + checksum: 10c0/b80db8c1cc0c5b94d6688ace53f4793badd9b9c0f97c6857ffa767085df0fb283da45a47f20e72f544e7aebf980075cc54d50b2119c753bc0ba776cb0a12da40 + languageName: node + linkType: hard + +"extract-files@npm:^11.0.0": + version: 11.0.0 + resolution: "extract-files@npm:11.0.0" + checksum: 10c0/7ac1cd693d081099d7c29f2b36aad199f92c5ea234c2016eb37ba213dddaefe74d54566f0675de5917d35cf98670183c2c9a0d96094727eb2c6dae02be7fc308 + languageName: node + linkType: hard + +"extract-zip@npm:^2.0.1": + version: 2.0.1 + resolution: "extract-zip@npm:2.0.1" + dependencies: + "@types/yauzl": "npm:^2.9.1" + debug: "npm:^4.1.1" + get-stream: "npm:^5.1.0" + yauzl: "npm:^2.10.0" + dependenciesMeta: + "@types/yauzl": + optional: true + bin: + extract-zip: cli.js + checksum: 10c0/9afbd46854aa15a857ae0341a63a92743a7b89c8779102c3b4ffc207516b2019337353962309f85c66ee3d9092202a83cdc26dbf449a11981272038443974aee + languageName: node + linkType: hard + +"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": + version: 3.1.3 + resolution: "fast-deep-equal@npm:3.1.3" + checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 + languageName: node + linkType: hard + +"fast-fifo@npm:^1.2.0, fast-fifo@npm:^1.3.2": + version: 1.3.2 + resolution: "fast-fifo@npm:1.3.2" + checksum: 10c0/d53f6f786875e8b0529f784b59b4b05d4b5c31c651710496440006a398389a579c8dbcd2081311478b5bf77f4b0b21de69109c5a4eabea9d8e8783d1eb864e4c + languageName: node + linkType: hard + +"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.1, fast-glob@npm:^3.3.2, fast-glob@npm:^3.3.3": + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.8" + checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:^2.0.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b + languageName: node + linkType: hard + +"fast-levenshtein@npm:^2.0.6": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 + languageName: node + linkType: hard + +"fast-npm-meta@npm:^0.4.2": + version: 0.4.2 + resolution: "fast-npm-meta@npm:0.4.2" + checksum: 10c0/fc5bf25ee810c47724b45d575dab741376ca539d8cc6a72a31d641a35fb12feab200b0ffdb96e65c8db4dc14aed70b6f435687de666a49b73abef955fd81ac67 + languageName: node + linkType: hard + +"fast-uri@npm:^3.0.1": + version: 3.0.6 + resolution: "fast-uri@npm:3.0.6" + checksum: 10c0/74a513c2af0584448aee71ce56005185f81239eab7a2343110e5bad50c39ad4fb19c5a6f99783ead1cac7ccaf3461a6034fda89fffa2b30b6d99b9f21c2f9d29 + languageName: node + linkType: hard + +"fastest-levenshtein@npm:^1.0.16": + version: 1.0.16 + resolution: "fastest-levenshtein@npm:1.0.16" + checksum: 10c0/7e3d8ae812a7f4fdf8cad18e9cde436a39addf266a5986f653ea0d81e0de0900f50c0f27c6d5aff3f686bcb48acbd45be115ae2216f36a6a13a7dbbf5cad878b + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.19.1 + resolution: "fastq@npm:1.19.1" + dependencies: + reusify: "npm:^1.0.4" + checksum: 10c0/ebc6e50ac7048daaeb8e64522a1ea7a26e92b3cee5cd1c7f2316cdca81ba543aa40a136b53891446ea5c3a67ec215fbaca87ad405f102dd97012f62916905630 + languageName: node + linkType: hard + +"fb-watchman@npm:^2.0.0": + version: 2.0.2 + resolution: "fb-watchman@npm:2.0.2" + dependencies: + bser: "npm:2.1.1" + checksum: 10c0/feae89ac148adb8f6ae8ccd87632e62b13563e6fb114cacb5265c51f585b17e2e268084519fb2edd133872f1d47a18e6bfd7e5e08625c0d41b93149694187581 + languageName: node + linkType: hard + +"fbjs-css-vars@npm:^1.0.0": + version: 1.0.2 + resolution: "fbjs-css-vars@npm:1.0.2" + checksum: 10c0/dfb64116b125a64abecca9e31477b5edb9a2332c5ffe74326fe36e0a72eef7fc8a49b86adf36c2c293078d79f4524f35e80f5e62546395f53fb7c9e69821f54f + languageName: node + linkType: hard + +"fbjs@npm:^3.0.0": + version: 3.0.5 + resolution: "fbjs@npm:3.0.5" + dependencies: + cross-fetch: "npm:^3.1.5" + fbjs-css-vars: "npm:^1.0.0" + loose-envify: "npm:^1.0.0" + object-assign: "npm:^4.1.0" + promise: "npm:^7.1.1" + setimmediate: "npm:^1.0.5" + ua-parser-js: "npm:^1.0.35" + checksum: 10c0/66d0a2fc9a774f9066e35ac2ac4bf1245931d27f3ac287c7d47e6aa1fc152b243c2109743eb8f65341e025621fb51a12038fadb9fd8fda2e3ddae04ebab06f91 + languageName: node + linkType: hard + +"fd-slicer@npm:~1.1.0": + version: 1.1.0 + resolution: "fd-slicer@npm:1.1.0" + dependencies: + pend: "npm:~1.2.0" + checksum: 10c0/304dd70270298e3ffe3bcc05e6f7ade2511acc278bc52d025f8918b48b6aa3b77f10361bddfadfe2a28163f7af7adbdce96f4d22c31b2f648ba2901f0c5fc20e + languageName: node + linkType: hard + +"fdir@npm:^6.2.0, fdir@npm:^6.4.4": + version: 6.4.4 + resolution: "fdir@npm:6.4.4" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10c0/6ccc33be16945ee7bc841e1b4178c0b4cf18d3804894cb482aa514651c962a162f96da7ffc6ebfaf0df311689fb70091b04dd6caffe28d56b9ebdc0e7ccadfdd + languageName: node + linkType: hard + +"fecha@npm:^4.2.0": + version: 4.2.3 + resolution: "fecha@npm:4.2.3" + checksum: 10c0/0e895965959cf6a22bb7b00f0bf546f2783836310f510ddf63f463e1518d4c96dec61ab33fdfd8e79a71b4856a7c865478ce2ee8498d560fe125947703c9b1cf + languageName: node + linkType: hard + +"fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4": + version: 3.2.0 + resolution: "fetch-blob@npm:3.2.0" + dependencies: + node-domexception: "npm:^1.0.0" + web-streams-polyfill: "npm:^3.0.3" + checksum: 10c0/60054bf47bfa10fb0ba6cb7742acec2f37c1f56344f79a70bb8b1c48d77675927c720ff3191fa546410a0442c998d27ab05e9144c32d530d8a52fbe68f843b69 + languageName: node + linkType: hard + +"figures@npm:^3.0.0": + version: 3.2.0 + resolution: "figures@npm:3.2.0" + dependencies: + escape-string-regexp: "npm:^1.0.5" + checksum: 10c0/9c421646ede432829a50bc4e55c7a4eb4bcb7cc07b5bab2f471ef1ab9a344595bbebb6c5c21470093fbb730cd81bbca119624c40473a125293f656f49cb47629 + languageName: node + linkType: hard + +"file-entry-cache@npm:^7.0.0": + version: 7.0.2 + resolution: "file-entry-cache@npm:7.0.2" + dependencies: + flat-cache: "npm:^3.2.0" + checksum: 10c0/822664e35c3e295e6a8ca7ec490d8d8077017607f41f94b29922f1f49c6dd07025048e3ed528e2909a1439eba66d60f802c0774aa612cf6ee053ee4ecc16c8c5 + languageName: node + linkType: hard + +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" + dependencies: + flat-cache: "npm:^4.0.0" + checksum: 10c0/9e2b5938b1cd9b6d7e3612bdc533afd4ac17b2fc646569e9a8abbf2eb48e5eb8e316bc38815a3ef6a1b456f4107f0d0f055a614ca613e75db6bf9ff4d72c1638 + languageName: node + linkType: hard + +"file-uri-to-path@npm:1.0.0": + version: 1.0.0 + resolution: "file-uri-to-path@npm:1.0.0" + checksum: 10c0/3b545e3a341d322d368e880e1c204ef55f1d45cdea65f7efc6c6ce9e0c4d22d802d5629320eb779d006fe59624ac17b0e848d83cc5af7cd101f206cb704f5519 + languageName: node + linkType: hard + +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 + languageName: node + linkType: hard + +"filter-obj@npm:^5.0.0": + version: 5.1.0 + resolution: "filter-obj@npm:5.1.0" + checksum: 10c0/716e8ad2bc352e206556b3e5695b3cdff8aab80c53ea4b00c96315bbf467b987df3640575100aef8b84e812cf5ea4251db4cd672bbe33b1e78afea88400c67dd + languageName: node + linkType: hard + +"finalhandler@npm:1.3.1": + version: 1.3.1 + resolution: "finalhandler@npm:1.3.1" + dependencies: + debug: "npm:2.6.9" + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + on-finished: "npm:2.4.1" + parseurl: "npm:~1.3.3" + statuses: "npm:2.0.1" + unpipe: "npm:~1.0.0" + checksum: 10c0/d38035831865a49b5610206a3a9a9aae4e8523cbbcd01175d0480ffbf1278c47f11d89be3ca7f617ae6d94f29cf797546a4619cd84dd109009ef33f12f69019f + languageName: node + linkType: hard + +"finalhandler@npm:^2.1.0": + version: 2.1.0 + resolution: "finalhandler@npm:2.1.0" + dependencies: + debug: "npm:^4.4.0" + encodeurl: "npm:^2.0.0" + escape-html: "npm:^1.0.3" + on-finished: "npm:^2.4.1" + parseurl: "npm:^1.3.3" + statuses: "npm:^2.0.1" + checksum: 10c0/da0bbca6d03873472ee890564eb2183f4ed377f25f3628a0fc9d16dac40bed7b150a0d82ebb77356e4c6d97d2796ad2dba22948b951dddee2c8768b0d1b9fb1f + languageName: node + linkType: hard + +"find-up-simple@npm:^1.0.0": + version: 1.0.1 + resolution: "find-up-simple@npm:1.0.1" + checksum: 10c0/ad34de157b7db925d50ff78302fefb28e309f3bc947c93ffca0f9b0bccf9cf1a2dc57d805d5c94ec9fc60f4838f5dbdfd2a48ecd77c23015fa44c6dd5f60bc40 + languageName: node + linkType: hard + +"find-up@npm:7.0.0, find-up@npm:^7.0.0": + version: 7.0.0 + resolution: "find-up@npm:7.0.0" + dependencies: + locate-path: "npm:^7.2.0" + path-exists: "npm:^5.0.0" + unicorn-magic: "npm:^0.1.0" + checksum: 10c0/e6ee3e6154560bc0ab3bc3b7d1348b31513f9bdf49a5dd2e952495427d559fa48cdf33953e85a309a323898b43fa1bfbc8b80c880dfc16068384783034030008 + languageName: node + linkType: hard + +"find-up@npm:^4.1.0": + version: 4.1.0 + resolution: "find-up@npm:4.1.0" + dependencies: + locate-path: "npm:^5.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/0406ee89ebeefa2d507feb07ec366bebd8a6167ae74aa4e34fb4c4abd06cf782a3ce26ae4194d70706f72182841733f00551c209fe575cb00bd92104056e78c1 + languageName: node + linkType: hard + +"find-up@npm:^5.0.0": + version: 5.0.0 + resolution: "find-up@npm:5.0.0" + dependencies: + locate-path: "npm:^6.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a + languageName: node + linkType: hard + +"find-up@npm:^6.0.0": + version: 6.3.0 + resolution: "find-up@npm:6.3.0" + dependencies: + locate-path: "npm:^7.1.0" + path-exists: "npm:^5.0.0" + checksum: 10c0/07e0314362d316b2b13f7f11ea4692d5191e718ca3f7264110127520f3347996349bf9e16805abae3e196805814bc66ef4bff2b8904dc4a6476085fc9b0eba07 + languageName: node + linkType: hard + +"flat-cache@npm:^3.2.0": + version: 3.2.0 + resolution: "flat-cache@npm:3.2.0" + dependencies: + flatted: "npm:^3.2.9" + keyv: "npm:^4.5.3" + rimraf: "npm:^3.0.2" + checksum: 10c0/b76f611bd5f5d68f7ae632e3ae503e678d205cf97a17c6ab5b12f6ca61188b5f1f7464503efae6dc18683ed8f0b41460beb48ac4b9ac63fe6201296a91ba2f75 + languageName: node + linkType: hard + +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" + dependencies: + flatted: "npm:^3.2.9" + keyv: "npm:^4.5.4" + checksum: 10c0/2c59d93e9faa2523e4fda6b4ada749bed432cfa28c8e251f33b25795e426a1c6dbada777afb1f74fcfff33934fdbdea921ee738fcc33e71adc9d6eca984a1cfc + languageName: node + linkType: hard + +"flatted@npm:^3.2.9": + version: 3.3.3 + resolution: "flatted@npm:3.3.3" + checksum: 10c0/e957a1c6b0254aa15b8cce8533e24165abd98fadc98575db082b786b5da1b7d72062b81bfdcd1da2f4d46b6ed93bec2434e62333e9b4261d79ef2e75a10dd538 + languageName: node + linkType: hard + +"fn.name@npm:1.x.x": + version: 1.1.0 + resolution: "fn.name@npm:1.1.0" + checksum: 10c0/8ad62aa2d4f0b2a76d09dba36cfec61c540c13a0fd72e5d94164e430f987a7ce6a743112bbeb14877c810ef500d1f73d7f56e76d029d2e3413f20d79e3460a9a + languageName: node + linkType: hard + +"foreground-child@npm:^3.1.0": + version: 3.3.1 + resolution: "foreground-child@npm:3.3.1" + dependencies: + cross-spawn: "npm:^7.0.6" + signal-exit: "npm:^4.0.1" + checksum: 10c0/8986e4af2430896e65bc2788d6679067294d6aee9545daefc84923a0a4b399ad9c7a3ea7bd8c0b2b80fdf4a92de4c69df3f628233ff3224260e9c1541a9e9ed3 + languageName: node + linkType: hard + +"formdata-polyfill@npm:^4.0.10": + version: 4.0.10 + resolution: "formdata-polyfill@npm:4.0.10" + dependencies: + fetch-blob: "npm:^3.1.2" + checksum: 10c0/5392ec484f9ce0d5e0d52fb5a78e7486637d516179b0eb84d81389d7eccf9ca2f663079da56f761355c0a65792810e3b345dc24db9a8bbbcf24ef3c8c88570c6 + languageName: node + linkType: hard + +"forwarded@npm:0.2.0": + version: 0.2.0 + resolution: "forwarded@npm:0.2.0" + checksum: 10c0/9b67c3fac86acdbc9ae47ba1ddd5f2f81526fa4c8226863ede5600a3f7c7416ef451f6f1e240a3cc32d0fd79fcfe6beb08fd0da454f360032bde70bf80afbb33 + languageName: node + linkType: hard + +"fraction.js@npm:^4.3.7": + version: 4.3.7 + resolution: "fraction.js@npm:4.3.7" + checksum: 10c0/df291391beea9ab4c263487ffd9d17fed162dbb736982dee1379b2a8cc94e4e24e46ed508c6d278aded9080ba51872f1bc5f3a5fd8d7c74e5f105b508ac28711 + languageName: node + linkType: hard + +"fresh@npm:0.5.2, fresh@npm:~0.5.2": + version: 0.5.2 + resolution: "fresh@npm:0.5.2" + checksum: 10c0/c6d27f3ed86cc5b601404822f31c900dd165ba63fff8152a3ef714e2012e7535027063bc67ded4cb5b3a49fa596495d46cacd9f47d6328459cf570f08b7d9e5a + languageName: node + linkType: hard + +"fresh@npm:^2.0.0": + version: 2.0.0 + resolution: "fresh@npm:2.0.0" + checksum: 10c0/0557548194cb9a809a435bf92bcfbc20c89e8b5eb38861b73ced36750437251e39a111fc3a18b98531be9dd91fe1411e4969f229dc579ec0251ce6c5d4900bbc + languageName: node + linkType: hard + +"fs-constants@npm:^1.0.0": + version: 1.0.0 + resolution: "fs-constants@npm:1.0.0" + checksum: 10c0/a0cde99085f0872f4d244e83e03a46aa387b74f5a5af750896c6b05e9077fac00e9932fdf5aef84f2f16634cd473c63037d7a512576da7d5c2b9163d1909f3a8 + languageName: node + linkType: hard + +"fs-extra@npm:^8.1.0": + version: 8.1.0 + resolution: "fs-extra@npm:8.1.0" + dependencies: + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^4.0.0" + universalify: "npm:^0.1.0" + checksum: 10c0/259f7b814d9e50d686899550c4f9ded85c46c643f7fe19be69504888e007fcbc08f306fae8ec495b8b998635e997c9e3e175ff2eeed230524ef1c1684cc96423 + languageName: node + linkType: hard + +"fs-extra@npm:^9.0.1": + version: 9.1.0 + resolution: "fs-extra@npm:9.1.0" + dependencies: + at-least-node: "npm:^1.0.0" + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10c0/9b808bd884beff5cb940773018179a6b94a966381d005479f00adda6b44e5e3d4abf765135773d849cc27efe68c349e4a7b86acd7d3306d5932c14f3a4b17a92 + languageName: node + linkType: hard + +"fs-minipass@npm:^2.0.0": + version: 2.1.0 + resolution: "fs-minipass@npm:2.1.0" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 + languageName: node + linkType: hard + +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 + languageName: node + linkType: hard + +"fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 + languageName: node + linkType: hard + +"fuse.js@npm:^7.1.0": + version: 7.1.0 + resolution: "fuse.js@npm:7.1.0" + checksum: 10c0/c0d1b1d192a4bdf3eade897453ddd28aff96b70bf3e49161a45880f9845ebaee97265595db633776700a5bcf8942223c752754a848d70c508c3c9fd997faad1e + languageName: node + linkType: hard + +"gauge@npm:^3.0.0": + version: 3.0.2 + resolution: "gauge@npm:3.0.2" + dependencies: + aproba: "npm:^1.0.3 || ^2.0.0" + color-support: "npm:^1.1.2" + console-control-strings: "npm:^1.0.0" + has-unicode: "npm:^2.0.1" + object-assign: "npm:^4.1.1" + signal-exit: "npm:^3.0.0" + string-width: "npm:^4.2.3" + strip-ansi: "npm:^6.0.1" + wide-align: "npm:^1.1.2" + checksum: 10c0/75230ccaf216471e31025c7d5fcea1629596ca20792de50c596eb18ffb14d8404f927cd55535aab2eeecd18d1e11bd6f23ec3c2e9878d2dda1dc74bccc34b913 + languageName: node + linkType: hard + +"gensync@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: 10c0/782aba6cba65b1bb5af3b095d96249d20edbe8df32dbf4696fd49be2583faf676173bf4809386588828e4dd76a3354fcbeb577bab1c833ccd9fc4577f26103f8 + languageName: node + linkType: hard + +"get-amd-module-type@npm:^5.0.1": + version: 5.0.1 + resolution: "get-amd-module-type@npm:5.0.1" + dependencies: + ast-module-types: "npm:^5.0.0" + node-source-walk: "npm:^6.0.1" + checksum: 10c0/28828eeaee6e75ca2746d9d23ebbb2be5500f57ad7dca696dae15ab6085fe053a756c9b58871103fe6e2888c25d0a31d80f57087dd34a175ab7c579923db762c + languageName: node + linkType: hard + +"get-caller-file@npm:^2.0.5": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde + languageName: node + linkType: hard + +"get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.3.0": + version: 1.3.0 + resolution: "get-intrinsic@npm:1.3.0" + dependencies: + call-bind-apply-helpers: "npm:^1.0.2" + es-define-property: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" + function-bind: "npm:^1.1.2" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + math-intrinsics: "npm:^1.1.0" + checksum: 10c0/52c81808af9a8130f581e6a6a83e1ba4a9f703359e7a438d1369a5267a25412322f03dcbd7c549edaef0b6214a0630a28511d7df0130c93cfd380f4fa0b5b66a + languageName: node + linkType: hard + +"get-port-please@npm:^3.1.2": + version: 3.1.2 + resolution: "get-port-please@npm:3.1.2" + checksum: 10c0/61237342fe035967e5ad1b67a2dee347a64de093bf1222b7cd50072568d73c48dad5cc5cd4fa44635b7cfdcd14d6c47554edb9891c2ec70ab33ecb831683e257 + languageName: node + linkType: hard + +"get-proto@npm:^1.0.0, get-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "get-proto@npm:1.0.1" + dependencies: + dunder-proto: "npm:^1.0.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c + languageName: node + linkType: hard + +"get-stream@npm:^4.1.0": + version: 4.1.0 + resolution: "get-stream@npm:4.1.0" + dependencies: + pump: "npm:^3.0.0" + checksum: 10c0/294d876f667694a5ca23f0ca2156de67da950433b6fb53024833733975d32582896dbc7f257842d331809979efccf04d5e0b6b75ad4d45744c45f193fd497539 + languageName: node + linkType: hard + +"get-stream@npm:^5.1.0": + version: 5.2.0 + resolution: "get-stream@npm:5.2.0" + dependencies: + pump: "npm:^3.0.0" + checksum: 10c0/43797ffd815fbb26685bf188c8cfebecb8af87b3925091dd7b9a9c915993293d78e3c9e1bce125928ff92f2d0796f3889b92b5ec6d58d1041b574682132e0a80 + languageName: node + linkType: hard + +"get-stream@npm:^6.0.1": + version: 6.0.1 + resolution: "get-stream@npm:6.0.1" + checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 + languageName: node + linkType: hard + +"get-stream@npm:^8.0.1": + version: 8.0.1 + resolution: "get-stream@npm:8.0.1" + checksum: 10c0/5c2181e98202b9dae0bb4a849979291043e5892eb40312b47f0c22b9414fc9b28a3b6063d2375705eb24abc41ecf97894d9a51f64ff021511b504477b27b4290 + languageName: node + linkType: hard + +"get-tsconfig@npm:^4.7.3": + version: 4.10.0 + resolution: "get-tsconfig@npm:4.10.0" + dependencies: + resolve-pkg-maps: "npm:^1.0.0" + checksum: 10c0/c9b5572c5118923c491c04285c73bd55b19e214992af957c502a3be0fc0043bb421386ffd45ca3433c0a7fba81221ca300479e8393960acf15d0ed4563f38a86 + languageName: node + linkType: hard + +"giget@npm:^2.0.0": + version: 2.0.0 + resolution: "giget@npm:2.0.0" + dependencies: + citty: "npm:^0.1.6" + consola: "npm:^3.4.0" + defu: "npm:^6.1.4" + node-fetch-native: "npm:^1.6.6" + nypm: "npm:^0.6.0" + pathe: "npm:^2.0.3" + bin: + giget: dist/cli.mjs + checksum: 10c0/606d81652643936ee7f76653b4dcebc09703524ff7fd19692634ce69e3fc6775a377760d7508162379451c03bf43cc6f46716aeadeb803f7cef3fc53d0671396 + languageName: node + linkType: hard + +"git-up@npm:^8.1.0": + version: 8.1.1 + resolution: "git-up@npm:8.1.1" + dependencies: + is-ssh: "npm:^1.4.0" + parse-url: "npm:^9.2.0" + checksum: 10c0/2cc4461d8565a3f7a1ecd3d262a58ddb8df0a67f7f7d4915df2913c460b2e88ae570a6ea810700a6d22fb3b9e4bea8dd10a8eb469900ddc12e35c62208608c03 + languageName: node + linkType: hard + +"git-url-parse@npm:^16.0.1": + version: 16.1.0 + resolution: "git-url-parse@npm:16.1.0" + dependencies: + git-up: "npm:^8.1.0" + checksum: 10c0/b8f5ebcbd5b2baf9f1bb77a217376f0247c47fe1d42811ccaac3015768eebb0759a59051f758e50e70adf5c67ae059d1975bf6b750164f36bfd39138d11b940b + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: "npm:^4.0.1" + checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee + languageName: node + linkType: hard + +"glob-parent@npm:^6.0.2": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" + dependencies: + is-glob: "npm:^4.0.3" + checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 + languageName: node + linkType: hard + +"glob@npm:^10.0.0, glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.4.5": + version: 10.4.5 + resolution: "glob@npm:10.4.5" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^3.1.2" + minimatch: "npm:^9.0.4" + minipass: "npm:^7.1.2" + package-json-from-dist: "npm:^1.0.0" + path-scurry: "npm:^1.11.1" + bin: + glob: dist/esm/bin.mjs + checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e + languageName: node + linkType: hard + +"glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.2.0, glob@npm:^7.2.3": + version: 7.2.3 + resolution: "glob@npm:7.2.3" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^3.1.1" + once: "npm:^1.3.0" + path-is-absolute: "npm:^1.0.0" + checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe + languageName: node + linkType: hard + +"glob@npm:^8.0.3": + version: 8.1.0 + resolution: "glob@npm:8.1.0" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^5.0.1" + once: "npm:^1.3.0" + checksum: 10c0/cb0b5cab17a59c57299376abe5646c7070f8acb89df5595b492dba3bfb43d301a46c01e5695f01154e6553168207cb60d4eaf07d3be4bc3eb9b0457c5c561d0f + languageName: node + linkType: hard + +"global-agent@npm:^3.0.0": + version: 3.0.0 + resolution: "global-agent@npm:3.0.0" + dependencies: + boolean: "npm:^3.0.1" + es6-error: "npm:^4.1.1" + matcher: "npm:^3.0.0" + roarr: "npm:^2.15.3" + semver: "npm:^7.3.2" + serialize-error: "npm:^7.0.1" + checksum: 10c0/bb8750d026b25da437072762fd739098bad92ff72f66483c3929db4579e072f5523960f7e7fd70ee0d75db48898067b5dc1c9c1d17888128cff008fcc34d1bd3 + languageName: node + linkType: hard + +"global-directory@npm:^4.0.1": + version: 4.0.1 + resolution: "global-directory@npm:4.0.1" + dependencies: + ini: "npm:4.1.1" + checksum: 10c0/f9cbeef41db4876f94dd0bac1c1b4282a7de9c16350ecaaf83e7b2dd777b32704cc25beeb1170b5a63c42a2c9abfade74d46357fe0133e933218bc89e613d4b2 + languageName: node + linkType: hard + +"global-modules@npm:^2.0.0": + version: 2.0.0 + resolution: "global-modules@npm:2.0.0" + dependencies: + global-prefix: "npm:^3.0.0" + checksum: 10c0/43b770fe24aa6028f4b9770ea583a47f39750be15cf6e2578f851e4ccc9e4fa674b8541928c0b09c21461ca0763f0d36e4068cec86c914b07fd6e388e66ba5b9 + languageName: node + linkType: hard + +"global-prefix@npm:^3.0.0": + version: 3.0.0 + resolution: "global-prefix@npm:3.0.0" + dependencies: + ini: "npm:^1.3.5" + kind-of: "npm:^6.0.2" + which: "npm:^1.3.1" + checksum: 10c0/510f489fb68d1cc7060f276541709a0ee6d41356ef852de48f7906c648ac223082a1cc8fce86725ca6c0e032bcdc1189ae77b4744a624b29c34a9d0ece498269 + languageName: node + linkType: hard + +"global-tunnel-ng@npm:^2.7.1": + version: 2.7.1 + resolution: "global-tunnel-ng@npm:2.7.1" + dependencies: + encodeurl: "npm:^1.0.2" + lodash: "npm:^4.17.10" + npm-conf: "npm:^1.1.3" + tunnel: "npm:^0.0.6" + checksum: 10c0/273205f6d6204bdb64ff1d7f1574f392feeb62b2f45263c780d0605510e9756bbdbb5063d45e28476d8cd7656ca7846721caa3421503c7c7803e5d0f3729c532 + languageName: node + linkType: hard + +"globals@npm:^11.1.0": + version: 11.12.0 + resolution: "globals@npm:11.12.0" + checksum: 10c0/758f9f258e7b19226bd8d4af5d3b0dcf7038780fb23d82e6f98932c44e239f884847f1766e8fa9cc5635ccb3204f7fa7314d4408dd4002a5e8ea827b4018f0a1 + languageName: node + linkType: hard + +"globals@npm:^13.24.0": + version: 13.24.0 + resolution: "globals@npm:13.24.0" + dependencies: + type-fest: "npm:^0.20.2" + checksum: 10c0/d3c11aeea898eb83d5ec7a99508600fbe8f83d2cf00cbb77f873dbf2bcb39428eff1b538e4915c993d8a3b3473fa71eeebfe22c9bb3a3003d1e26b1f2c8a42cd + languageName: node + linkType: hard + +"globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 10c0/b96ff42620c9231ad468d4c58ff42afee7777ee1c963013ff8aabe095a451d0ceeb8dcd8ef4cbd64d2538cef45f787a78ba3a9574f4a634438963e334471302d + languageName: node + linkType: hard + +"globals@npm:^15.2.0": + version: 15.15.0 + resolution: "globals@npm:15.15.0" + checksum: 10c0/f9ae80996392ca71316495a39bec88ac43ae3525a438b5626cd9d5ce9d5500d0a98a266409605f8cd7241c7acf57c354a48111ea02a767ba4f374b806d6861fe + languageName: node + linkType: hard + +"globalthis@npm:^1.0.1": + version: 1.0.4 + resolution: "globalthis@npm:1.0.4" + dependencies: + define-properties: "npm:^1.2.1" + gopd: "npm:^1.0.1" + checksum: 10c0/9d156f313af79d80b1566b93e19285f481c591ad6d0d319b4be5e03750d004dde40a39a0f26f7e635f9007a3600802f53ecd85a759b86f109e80a5f705e01846 + languageName: node + linkType: hard + +"globby@npm:^11.0.3, globby@npm:^11.1.0": + version: 11.1.0 + resolution: "globby@npm:11.1.0" + dependencies: + array-union: "npm:^2.1.0" + dir-glob: "npm:^3.0.1" + fast-glob: "npm:^3.2.9" + ignore: "npm:^5.2.0" + merge2: "npm:^1.4.1" + slash: "npm:^3.0.0" + checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 + languageName: node + linkType: hard + +"globby@npm:^14.1.0": + version: 14.1.0 + resolution: "globby@npm:14.1.0" + dependencies: + "@sindresorhus/merge-streams": "npm:^2.1.0" + fast-glob: "npm:^3.3.3" + ignore: "npm:^7.0.3" + path-type: "npm:^6.0.0" + slash: "npm:^5.1.0" + unicorn-magic: "npm:^0.3.0" + checksum: 10c0/527a1063c5958255969620c6fa4444a2b2e9278caddd571d46dfbfa307cb15977afb746e84d682ba5b6c94fc081e8997f80ff05dd235441ba1cb16f86153e58e + languageName: node + linkType: hard + +"globjoin@npm:^0.1.4": + version: 0.1.4 + resolution: "globjoin@npm:0.1.4" + checksum: 10c0/236e991b48f1a9869fe2aa7bb5141fb1f32973940567a3c012f8ccb58c3c85ab78ce594d374fa819410fff3b48cfd24584d7ef726939f8a3c3772890e62ea16b + languageName: node + linkType: hard + +"gonzales-pe@npm:^4.3.0": + version: 4.3.0 + resolution: "gonzales-pe@npm:4.3.0" + dependencies: + minimist: "npm:^1.2.5" + bin: + gonzales: bin/gonzales.js + checksum: 10c0/b99a6ef4bf28ca0b0adcc0b42fd0179676ee8bfe1d3e3c0025d7d38ba35a3f2d5b1d4beb16101a7fc7cb2dbda1ec045bbce0932697095df41d729bac1703476f + languageName: node + linkType: hard + +"gopd@npm:^1.0.1, gopd@npm:^1.2.0": + version: 1.2.0 + resolution: "gopd@npm:1.2.0" + checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead + languageName: node + linkType: hard + +"got@npm:^9.6.0": + version: 9.6.0 + resolution: "got@npm:9.6.0" + dependencies: + "@sindresorhus/is": "npm:^0.14.0" + "@szmarczak/http-timer": "npm:^1.1.2" + cacheable-request: "npm:^6.0.0" + decompress-response: "npm:^3.3.0" + duplexer3: "npm:^0.1.4" + get-stream: "npm:^4.1.0" + lowercase-keys: "npm:^1.0.1" + mimic-response: "npm:^1.0.1" + p-cancelable: "npm:^1.0.0" + to-readable-stream: "npm:^1.0.0" + url-parse-lax: "npm:^3.0.0" + checksum: 10c0/5cb3111e14b48bf4fb8b414627be481ebfb14151ec867e80a74b6d1472489965b9c4f4ac5cf4f3b1f9b90c60a2ce63584d9072b16efd9a3171553e00afc5abc8 + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.10, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"graphemer@npm:^1.4.0": + version: 1.4.0 + resolution: "graphemer@npm:1.4.0" + checksum: 10c0/e951259d8cd2e0d196c72ec711add7115d42eb9a8146c8eeda5b8d3ac91e5dd816b9cd68920726d9fd4490368e7ed86e9c423f40db87e2d8dfafa00fa17c3a31 + languageName: node + linkType: hard + +"graphql-config@npm:^5.1.1": + version: 5.1.5 + resolution: "graphql-config@npm:5.1.5" + dependencies: + "@graphql-tools/graphql-file-loader": "npm:^8.0.0" + "@graphql-tools/json-file-loader": "npm:^8.0.0" + "@graphql-tools/load": "npm:^8.1.0" + "@graphql-tools/merge": "npm:^9.0.0" + "@graphql-tools/url-loader": "npm:^8.0.0" + "@graphql-tools/utils": "npm:^10.0.0" + cosmiconfig: "npm:^8.1.0" + jiti: "npm:^2.0.0" + minimatch: "npm:^9.0.5" + string-env-interpolation: "npm:^1.0.1" + tslib: "npm:^2.4.0" + peerDependencies: + cosmiconfig-toml-loader: ^1.0.0 + graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + peerDependenciesMeta: + cosmiconfig-toml-loader: + optional: true + checksum: 10c0/05e2a895dd899709da0a6f24c0248d858c23767c4848f27f68935a6fe44d00dfd804c38ef59157193ad30e54d4e0773d9ec562842fe00ce7aaa0330bca5053cd + languageName: node + linkType: hard + +"graphql-request@npm:^6.0.0": + version: 6.1.0 + resolution: "graphql-request@npm:6.1.0" + dependencies: + "@graphql-typed-document-node/core": "npm:^3.2.0" + cross-fetch: "npm:^3.1.5" + peerDependencies: + graphql: 14 - 16 + checksum: 10c0/f8167925a110e8e1de93d56c14245e7e64391dc8dce5002dd01bf24a3059f345d4ca1bb6ce2040e2ec78264211b0704e75da3e63984f0f74d2042f697a4e8cc6 + languageName: node + linkType: hard + +"graphql-tag@npm:^2.11.0, graphql-tag@npm:^2.12.6": + version: 2.12.6 + resolution: "graphql-tag@npm:2.12.6" + dependencies: + tslib: "npm:^2.1.0" + peerDependencies: + graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + checksum: 10c0/7763a72011bda454ed8ff1a0d82325f43ca6478e4ce4ab8b7910c4c651dd00db553132171c04d80af5d5aebf1ef6a8a9fd53ccfa33b90ddc00aa3d4be6114419 + languageName: node + linkType: hard + +"graphql-ws@npm:^6.0.3": + version: 6.0.4 + resolution: "graphql-ws@npm:6.0.4" + peerDependencies: + "@fastify/websocket": ^10 || ^11 + graphql: ^15.10.1 || ^16 + uWebSockets.js: ^20 + ws: ^8 + peerDependenciesMeta: + "@fastify/websocket": + optional: true + uWebSockets.js: + optional: true + ws: + optional: true + checksum: 10c0/ed17502300c702d42820ca2acc593d82acbcbec91fa93e588dc008d07d7b6914b4b22062f1ee181cff6ac62f69ea0052555ee75f270601311b943a6b7ef709dc + languageName: node + linkType: hard + +"graphql@npm:14 - 16, graphql@npm:^16.6.0": + version: 16.11.0 + resolution: "graphql@npm:16.11.0" + checksum: 10c0/124da7860a2292e9acf2fed0c71fc0f6a9b9ca865d390d112bdd563c1f474357141501c12891f4164fe984315764736ad67f705219c62f7580681d431a85db88 + languageName: node + linkType: hard + +"gzip-size@npm:^7.0.0": + version: 7.0.0 + resolution: "gzip-size@npm:7.0.0" + dependencies: + duplexer: "npm:^0.1.2" + checksum: 10c0/0bf63084d5fea0880f3607ecd361d4663aab26b9cb0d3e97ba77373a0246c8f8de57d8613ac4e57e1e6c28522dcee6f8682aae55c275b9262b66d2ffd698f72b + languageName: node + linkType: hard + +"h3@npm:^1.12.0, h3@npm:^1.15.1, h3@npm:^1.15.2, h3@npm:^1.15.3": + version: 1.15.3 + resolution: "h3@npm:1.15.3" + dependencies: + cookie-es: "npm:^1.2.2" + crossws: "npm:^0.3.4" + defu: "npm:^6.1.4" + destr: "npm:^2.0.5" + iron-webcrypto: "npm:^1.2.1" + node-mock-http: "npm:^1.0.0" + radix3: "npm:^1.1.2" + ufo: "npm:^1.6.1" + uncrypto: "npm:^0.1.3" + checksum: 10c0/4b83daceda6f39cd508d56382dc3a83ef14453d0119ada290c7fda3c69d907ccaf2547fd233f3e001a9ffae2cde4e2543e4361d714c29fb6ec664f604d5b84a3 + languageName: node + linkType: hard + +"hard-rejection@npm:^2.1.0": + version: 2.1.0 + resolution: "hard-rejection@npm:2.1.0" + checksum: 10c0/febc3343a1ad575aedcc112580835b44a89a89e01f400b4eda6e8110869edfdab0b00cd1bd4c3bfec9475a57e79e0b355aecd5be46454b6a62b9a359af60e564 + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 + languageName: node + linkType: hard + +"has-property-descriptors@npm:^1.0.0": + version: 1.0.2 + resolution: "has-property-descriptors@npm:1.0.2" + dependencies: + es-define-property: "npm:^1.0.0" + checksum: 10c0/253c1f59e80bb476cf0dde8ff5284505d90c3bdb762983c3514d36414290475fe3fd6f574929d84de2a8eec00d35cf07cb6776205ff32efd7c50719125f00236 + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": + version: 1.1.0 + resolution: "has-symbols@npm:1.1.0" + checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e + languageName: node + linkType: hard + +"has-tostringtag@npm:^1.0.2": + version: 1.0.2 + resolution: "has-tostringtag@npm:1.0.2" + dependencies: + has-symbols: "npm:^1.0.3" + checksum: 10c0/a8b166462192bafe3d9b6e420a1d581d93dd867adb61be223a17a8d6dad147aa77a8be32c961bb2f27b3ef893cae8d36f564ab651f5e9b7938ae86f74027c48c + languageName: node + linkType: hard + +"has-unicode@npm:^2.0.1": + version: 2.0.1 + resolution: "has-unicode@npm:2.0.1" + checksum: 10c0/ebdb2f4895c26bb08a8a100b62d362e49b2190bcfd84b76bc4be1a3bd4d254ec52d0dd9f2fbcc093fc5eb878b20c52146f9dfd33e2686ed28982187be593b47c + languageName: node + linkType: hard + +"hasown@npm:^2.0.2": + version: 2.0.2 + resolution: "hasown@npm:2.0.2" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 10c0/3769d434703b8ac66b209a4cca0737519925bbdb61dd887f93a16372b14694c63ff4e797686d87c90f08168e81082248b9b028bad60d4da9e0d1148766f56eb9 + languageName: node + linkType: hard + +"he@npm:^1.2.0": + version: 1.2.0 + resolution: "he@npm:1.2.0" + bin: + he: bin/he + checksum: 10c0/a27d478befe3c8192f006cdd0639a66798979dfa6e2125c6ac582a19a5ebfec62ad83e8382e6036170d873f46e4536a7e795bf8b95bf7c247f4cc0825ccc8c17 + languageName: node + linkType: hard + +"header-case@npm:^2.0.4": + version: 2.0.4 + resolution: "header-case@npm:2.0.4" + dependencies: + capital-case: "npm:^1.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/c9f295d9d8e38fa50679281fd70d80726962256e888a76c8e72e526453da7a1832dcb427caa716c1ad5d79841d4537301b90156fa30298fefd3d68f4ea2181bb + languageName: node + linkType: hard + +"hoist-non-react-statics@npm:^3.3.2": + version: 3.3.2 + resolution: "hoist-non-react-statics@npm:3.3.2" + dependencies: + react-is: "npm:^16.7.0" + checksum: 10c0/fe0889169e845d738b59b64badf5e55fa3cf20454f9203d1eb088df322d49d4318df774828e789898dcb280e8a5521bb59b3203385662ca5e9218a6ca5820e74 + languageName: node + linkType: hard + +"hookable@npm:^5.5.3": + version: 5.5.3 + resolution: "hookable@npm:5.5.3" + checksum: 10c0/275f4cc84d27f8d48c5a5cd5685b6c0fea9291be9deea5bff0cfa72856ed566abde1dcd8cb1da0f9a70b4da3d7ec0d60dc3554c4edbba647058cc38816eced3d + languageName: node + linkType: hard + +"hosted-git-info@npm:^2.1.4": + version: 2.8.9 + resolution: "hosted-git-info@npm:2.8.9" + checksum: 10c0/317cbc6b1bbbe23c2a40ae23f3dafe9fa349ce42a89a36f930e3f9c0530c179a3882d2ef1e4141a4c3674d6faaea862138ec55b43ad6f75e387fda2483a13c70 + languageName: node + linkType: hard + +"hosted-git-info@npm:^4.0.1": + version: 4.1.0 + resolution: "hosted-git-info@npm:4.1.0" + dependencies: + lru-cache: "npm:^6.0.0" + checksum: 10c0/150fbcb001600336d17fdbae803264abed013548eea7946c2264c49ebe2ebd8c4441ba71dd23dd8e18c65de79d637f98b22d4760ba5fb2e0b15d62543d0fff07 + languageName: node + linkType: hard + +"hosted-git-info@npm:^7.0.0": + version: 7.0.2 + resolution: "hosted-git-info@npm:7.0.2" + dependencies: + lru-cache: "npm:^10.0.1" + checksum: 10c0/b19dbd92d3c0b4b0f1513cf79b0fc189f54d6af2129eeb201de2e9baaa711f1936929c848b866d9c8667a0f956f34bf4f07418c12be1ee9ca74fd9246335ca1f + languageName: node + linkType: hard + +"html-tags@npm:^3.3.1": + version: 3.3.1 + resolution: "html-tags@npm:3.3.1" + checksum: 10c0/680165e12baa51bad7397452d247dbcc5a5c29dac0e6754b1187eee3bf26f514bc1907a431dd2f7eb56207611ae595ee76a0acc8eaa0d931e72c791dd6463d79 + languageName: node + linkType: hard + +"htmlparser2@npm:^8.0.0": + version: 8.0.2 + resolution: "htmlparser2@npm:8.0.2" + dependencies: + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.3" + domutils: "npm:^3.0.1" + entities: "npm:^4.4.0" + checksum: 10c0/609cca85886d0bf2c9a5db8c6926a89f3764596877492e2caa7a25a789af4065bc6ee2cdc81807fe6b1d03a87bf8a373b5a754528a4cc05146b713c20575aab4 + languageName: node + linkType: hard + +"http-assert@npm:^1.3.0": + version: 1.5.0 + resolution: "http-assert@npm:1.5.0" + dependencies: + deep-equal: "npm:~1.0.1" + http-errors: "npm:~1.8.0" + checksum: 10c0/7b4e631114a1a77654f9ba3feb96da305ddbdeb42112fe384b7b3249c7141e460d7177970155bea6e54e655a04850415b744b452c1fe5052eba6f4186d16b095 + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.0.0, http-cache-semantics@npm:^4.1.1": + version: 4.2.0 + resolution: "http-cache-semantics@npm:4.2.0" + checksum: 10c0/45b66a945cf13ec2d1f29432277201313babf4a01d9e52f44b31ca923434083afeca03f18417f599c9ab3d0e7b618ceb21257542338b57c54b710463b4a53e37 + languageName: node + linkType: hard + +"http-errors@npm:2.0.0, http-errors@npm:^2.0.0": + version: 2.0.0 + resolution: "http-errors@npm:2.0.0" + dependencies: + depd: "npm:2.0.0" + inherits: "npm:2.0.4" + setprototypeof: "npm:1.2.0" + statuses: "npm:2.0.1" + toidentifier: "npm:1.0.1" + checksum: 10c0/fc6f2715fe188d091274b5ffc8b3657bd85c63e969daa68ccb77afb05b071a4b62841acb7a21e417b5539014dff2ebf9550f0b14a9ff126f2734a7c1387f8e19 + languageName: node + linkType: hard + +"http-errors@npm:^1.6.3, http-errors@npm:^1.7.3, http-errors@npm:~1.8.0": + version: 1.8.1 + resolution: "http-errors@npm:1.8.1" + dependencies: + depd: "npm:~1.1.2" + inherits: "npm:2.0.4" + setprototypeof: "npm:1.2.0" + statuses: "npm:>= 1.5.0 < 2" + toidentifier: "npm:1.0.1" + checksum: 10c0/f01aeecd76260a6fe7f08e192fcbe9b2f39ed20fc717b852669a69930167053b01790998275c6297d44f435cf0e30edd50c05223d1bec9bc484e6cf35b2d6f43 + languageName: node + linkType: hard + +"http-errors@npm:~1.6.2": + version: 1.6.3 + resolution: "http-errors@npm:1.6.3" + dependencies: + depd: "npm:~1.1.2" + inherits: "npm:2.0.3" + setprototypeof: "npm:1.1.0" + statuses: "npm:>= 1.4.0 < 2" + checksum: 10c0/17ec4046ee974477778bfdd525936c254b872054703ec2caa4d6f099566b8adade636ae6aeeacb39302c5cd6e28fb407ebd937f500f5010d0b6850750414ff78 + languageName: node + linkType: hard + +"http-proxy-agent@npm:^7.0.0": + version: 7.0.2 + resolution: "http-proxy-agent@npm:7.0.2" + dependencies: + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 + languageName: node + linkType: hard + +"http-shutdown@npm:^1.2.2": + version: 1.2.2 + resolution: "http-shutdown@npm:1.2.2" + checksum: 10c0/1ea04d50d9a84ad6e7d9ee621160ce9515936e32e7f5ba445db48a5d72681858002c934c7f3ae5f474b301c1cd6b418aee3f6a2f109822109e606cc1a6c17c03 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^5.0.0": + version: 5.0.1 + resolution: "https-proxy-agent@npm:5.0.1" + dependencies: + agent-base: "npm:6" + debug: "npm:4" + checksum: 10c0/6dd639f03434003577c62b27cafdb864784ef19b2de430d8ae2a1d45e31c4fd60719e5637b44db1a88a046934307da7089e03d6089ec3ddacc1189d8de8897d1 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.0, https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.5": + version: 7.0.6 + resolution: "https-proxy-agent@npm:7.0.6" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:4" + checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac + languageName: node + linkType: hard + +"httpxy@npm:^0.1.7": + version: 0.1.7 + resolution: "httpxy@npm:0.1.7" + checksum: 10c0/ff199aa4f8ef2061abc5d57a93dac97a0796fedf4ef9194d4990acefbca2e4466c8ba78ac49e271241683cadf992606a9a2ff86cb345954c357822e8b1b86b4c + languageName: node + linkType: hard + +"human-signals@npm:^4.3.0": + version: 4.3.1 + resolution: "human-signals@npm:4.3.1" + checksum: 10c0/40498b33fe139f5cc4ef5d2f95eb1803d6318ac1b1c63eaf14eeed5484d26332c828de4a5a05676b6c83d7b9e57727c59addb4b1dea19cb8d71e83689e5b336c + languageName: node + linkType: hard + +"human-signals@npm:^5.0.0": + version: 5.0.0 + resolution: "human-signals@npm:5.0.0" + checksum: 10c0/5a9359073fe17a8b58e5a085e9a39a950366d9f00217c4ff5878bd312e09d80f460536ea6a3f260b5943a01fe55c158d1cea3fc7bee3d0520aeef04f6d915c82 + languageName: node + linkType: hard + +"iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3" + checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 + languageName: node + linkType: hard + +"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2, iconv-lite@npm:^0.6.3": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3.0.0" + checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 + languageName: node + linkType: hard + +"ieee754@npm:^1.1.13, ieee754@npm:^1.2.1": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb + languageName: node + linkType: hard + +"ignore@npm:^5.2.0, ignore@npm:^5.2.4, ignore@npm:^5.3.1": + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 + languageName: node + linkType: hard + +"ignore@npm:^7.0.0, ignore@npm:^7.0.3, ignore@npm:^7.0.4": + version: 7.0.4 + resolution: "ignore@npm:7.0.4" + checksum: 10c0/90e1f69ce352b9555caecd9cbfd07abe7626d312a6f90efbbb52c7edca6ea8df065d66303863b30154ab1502afb2da8bc59d5b04e1719a52ef75bbf675c488eb + languageName: node + linkType: hard + +"image-meta@npm:^0.2.1": + version: 0.2.1 + resolution: "image-meta@npm:0.2.1" + checksum: 10c0/c8a100b666663ad53ffe95c22647e79802d6eac6dfa3e1a00e4cf034129b4a13e7861b5c5a7cee46604a45a9e0c8ed91e73233c7bf9f48fbece5f0300ef6912c + languageName: node + linkType: hard + +"immutable@npm:~3.7.6": + version: 3.7.6 + resolution: "immutable@npm:3.7.6" + checksum: 10c0/efe2bbb2620aa897afbb79545b9eda4dd3dc072e05ae7004895a7efb43187e4265612a88f8723f391eb1c87c46c52fd11e2d1968e42404450c63e49558d7ca4e + languageName: node + linkType: hard + +"import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": + version: 3.3.1 + resolution: "import-fresh@npm:3.3.1" + dependencies: + parent-module: "npm:^1.0.0" + resolve-from: "npm:^4.0.0" + checksum: 10c0/bf8cc494872fef783249709385ae883b447e3eb09db0ebd15dcead7d9afe7224dad7bd7591c6b73b0b19b3c0f9640eb8ee884f01cfaf2887ab995b0b36a0cbec + languageName: node + linkType: hard + +"import-from@npm:4.0.0": + version: 4.0.0 + resolution: "import-from@npm:4.0.0" + checksum: 10c0/7fd98650d555e418c18341fef49ae11afc833f5ae70b7043e99684187cba6ac6b52e4118a491bd9f856045495bef5bdda7321095e65bcb2ef70ce2adf9f0d8d1 + languageName: node + linkType: hard + +"import-lazy@npm:^4.0.0": + version: 4.0.0 + resolution: "import-lazy@npm:4.0.0" + checksum: 10c0/a3520313e2c31f25c0b06aa66d167f329832b68a4f957d7c9daf6e0fa41822b6e84948191648b9b9d8ca82f94740cdf15eecf2401a5b42cd1c33fd84f2225cca + languageName: node + linkType: hard + +"impound@npm:^1.0.0": + version: 1.0.0 + resolution: "impound@npm:1.0.0" + dependencies: + exsolve: "npm:^1.0.5" + mocked-exports: "npm:^0.1.1" + pathe: "npm:^2.0.3" + unplugin: "npm:^2.3.2" + unplugin-utils: "npm:^0.2.4" + checksum: 10c0/686218b76eca2fe3eb5d73eeb1af4051b695c3c2a97613b07c64fccfd66ac8fe948086c697597124316e2b48745d8cc4862ad48f46de85f411ea13a6bce25c15 + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + languageName: node + linkType: hard + +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f + languageName: node + linkType: hard + +"indent-string@npm:^5.0.0": + version: 5.0.0 + resolution: "indent-string@npm:5.0.0" + checksum: 10c0/8ee77b57d92e71745e133f6f444d6fa3ed503ad0e1bcd7e80c8da08b42375c07117128d670589725ed07b1978065803fa86318c309ba45415b7fe13e7f170220 + languageName: node + linkType: hard + +"index-to-position@npm:^1.1.0": + version: 1.1.0 + resolution: "index-to-position@npm:1.1.0" + checksum: 10c0/77ef140f0218df0486a08cff204de4d382e8c43892039aaa441ac5b87f0c8d8a72af633c8a1c49f1b1ec4177bd809e4e045958a9aebe65545f203342b95886b3 + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: "npm:^1.3.0" + wrappy: "npm:1" + checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 + languageName: node + linkType: hard + +"inherits@npm:2.0.3": + version: 2.0.3 + resolution: "inherits@npm:2.0.3" + checksum: 10c0/6e56402373149ea076a434072671f9982f5fad030c7662be0332122fe6c0fa490acb3cc1010d90b6eff8d640b1167d77674add52dfd1bb85d545cf29e80e73e7 + languageName: node + linkType: hard + +"ini@npm:4.1.1": + version: 4.1.1 + resolution: "ini@npm:4.1.1" + checksum: 10c0/7fddc8dfd3e63567d4fdd5d999d1bf8a8487f1479d0b34a1d01f28d391a9228d261e19abc38e1a6a1ceb3400c727204fce05725d5eb598dfcf2077a1e3afe211 + languageName: node + linkType: hard + +"ini@npm:^1.3.4, ini@npm:^1.3.5": + version: 1.3.8 + resolution: "ini@npm:1.3.8" + checksum: 10c0/ec93838d2328b619532e4f1ff05df7909760b6f66d9c9e2ded11e5c1897d6f2f9980c54dd638f88654b00919ce31e827040631eab0a3969e4d1abefa0719516a + languageName: node + linkType: hard + +"inquirer@npm:^8.0.0": + version: 8.2.6 + resolution: "inquirer@npm:8.2.6" + dependencies: + ansi-escapes: "npm:^4.2.1" + chalk: "npm:^4.1.1" + cli-cursor: "npm:^3.1.0" + cli-width: "npm:^3.0.0" + external-editor: "npm:^3.0.3" + figures: "npm:^3.0.0" + lodash: "npm:^4.17.21" + mute-stream: "npm:0.0.8" + ora: "npm:^5.4.1" + run-async: "npm:^2.4.0" + rxjs: "npm:^7.5.5" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + through: "npm:^2.3.6" + wrap-ansi: "npm:^6.0.1" + checksum: 10c0/eb5724de1778265323f3a68c80acfa899378cb43c24cdcb58661386500e5696b6b0b6c700e046b7aa767fe7b4823c6f04e6ddc268173e3f84116112529016296 + languageName: node + linkType: hard + +"invariant@npm:^2.2.4": + version: 2.2.4 + resolution: "invariant@npm:2.2.4" + dependencies: + loose-envify: "npm:^1.0.0" + checksum: 10c0/5af133a917c0bcf65e84e7f23e779e7abc1cd49cb7fdc62d00d1de74b0d8c1b5ee74ac7766099fb3be1b05b26dfc67bab76a17030d2fe7ea2eef867434362dfc + languageName: node + linkType: hard + +"ioredis@npm:^5.6.1": + version: 5.6.1 + resolution: "ioredis@npm:5.6.1" + dependencies: + "@ioredis/commands": "npm:^1.1.1" + cluster-key-slot: "npm:^1.1.0" + debug: "npm:^4.3.4" + denque: "npm:^2.1.0" + lodash.defaults: "npm:^4.2.0" + lodash.isarguments: "npm:^3.1.0" + redis-errors: "npm:^1.2.0" + redis-parser: "npm:^3.0.0" + standard-as-callback: "npm:^2.1.0" + checksum: 10c0/26ae49cf448e807e454a9bdea5a9dfdcf669e2fdbf2df341900a0fb693c5662fea7e39db3227ce8972d1bda0ba7da9b7410e5163b12d8878a579548d847220ac + languageName: node + linkType: hard + +"ip-address@npm:^9.0.5": + version: 9.0.5 + resolution: "ip-address@npm:9.0.5" + dependencies: + jsbn: "npm:1.1.0" + sprintf-js: "npm:^1.1.3" + checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc + languageName: node + linkType: hard + +"ip@npm:^1.1.5": + version: 1.1.9 + resolution: "ip@npm:1.1.9" + checksum: 10c0/5af58bfe2110c9978acfd77a2ffcdf9d33a6ce1c72f49edbaf16958f7a8eb979b5163e43bb18938caf3aaa55cdacde4e470874c58ca3b4b112ea7a30461a0c27 + languageName: node + linkType: hard + +"ipaddr.js@npm:1.9.1": + version: 1.9.1 + resolution: "ipaddr.js@npm:1.9.1" + checksum: 10c0/0486e775047971d3fdb5fb4f063829bac45af299ae0b82dcf3afa2145338e08290563a2a70f34b732d795ecc8311902e541a8530eeb30d75860a78ff4e94ce2a + languageName: node + linkType: hard + +"iron-webcrypto@npm:^1.2.1": + version: 1.2.1 + resolution: "iron-webcrypto@npm:1.2.1" + checksum: 10c0/5cf27c6e2bd3ef3b4970e486235fd82491ab8229e2ed0ac23307c28d6c80d721772a86ed4e9fe2a5cabadd710c2f024b706843b40561fb83f15afee58f809f66 + languageName: node + linkType: hard + +"is-absolute@npm:^1.0.0": + version: 1.0.0 + resolution: "is-absolute@npm:1.0.0" + dependencies: + is-relative: "npm:^1.0.0" + is-windows: "npm:^1.0.1" + checksum: 10c0/422302ce879d4f3ca6848499b6f3ddcc8fd2dc9f3e9cad3f6bcedff58cdfbbbd7f4c28600fffa7c59a858f1b15c27fb6cfe1d5275e58a36d2bf098a44ef5abc4 + languageName: node + linkType: hard + +"is-arrayish@npm:^0.2.1": + version: 0.2.1 + resolution: "is-arrayish@npm:0.2.1" + checksum: 10c0/e7fb686a739068bb70f860b39b67afc62acc62e36bb61c5f965768abce1873b379c563e61dd2adad96ebb7edf6651111b385e490cf508378959b0ed4cac4e729 + languageName: node + linkType: hard + +"is-arrayish@npm:^0.3.1": + version: 0.3.2 + resolution: "is-arrayish@npm:0.3.2" + checksum: 10c0/f59b43dc1d129edb6f0e282595e56477f98c40278a2acdc8b0a5c57097c9eff8fe55470493df5775478cf32a4dc8eaf6d3a749f07ceee5bc263a78b2434f6a54 + languageName: node + linkType: hard + +"is-binary-path@npm:~2.1.0": + version: 2.1.0 + resolution: "is-binary-path@npm:2.1.0" + dependencies: + binary-extensions: "npm:^2.0.0" + checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 + languageName: node + linkType: hard + +"is-builtin-module@npm:^3.1.0, is-builtin-module@npm:^3.2.1": + version: 3.2.1 + resolution: "is-builtin-module@npm:3.2.1" + dependencies: + builtin-modules: "npm:^3.3.0" + checksum: 10c0/5a66937a03f3b18803381518f0ef679752ac18cdb7dd53b5e23ee8df8d440558737bd8dcc04d2aae555909d2ecb4a81b5c0d334d119402584b61e6a003e31af1 + languageName: node + linkType: hard + +"is-core-module@npm:^2.13.0, is-core-module@npm:^2.16.0, is-core-module@npm:^2.5.0": + version: 2.16.1 + resolution: "is-core-module@npm:2.16.1" + dependencies: + hasown: "npm:^2.0.2" + checksum: 10c0/898443c14780a577e807618aaae2b6f745c8538eca5c7bc11388a3f2dc6de82b9902bcc7eb74f07be672b11bbe82dd6a6edded44a00cb3d8f933d0459905eedd + languageName: node + linkType: hard + +"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": + version: 2.2.1 + resolution: "is-docker@npm:2.2.1" + bin: + is-docker: cli.js + checksum: 10c0/e828365958d155f90c409cdbe958f64051d99e8aedc2c8c4cd7c89dcf35329daed42f7b99346f7828df013e27deb8f721cf9408ba878c76eb9e8290235fbcdcc + languageName: node + linkType: hard + +"is-docker@npm:^3.0.0": + version: 3.0.0 + resolution: "is-docker@npm:3.0.0" + bin: + is-docker: cli.js + checksum: 10c0/d2c4f8e6d3e34df75a5defd44991b6068afad4835bb783b902fa12d13ebdb8f41b2a199dcb0b5ed2cb78bfee9e4c0bbdb69c2d9646f4106464674d3e697a5856 + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc + languageName: node + linkType: hard + +"is-generator-function@npm:^1.0.7": + version: 1.1.0 + resolution: "is-generator-function@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.3" + get-proto: "npm:^1.0.0" + has-tostringtag: "npm:^1.0.2" + safe-regex-test: "npm:^1.1.0" + checksum: 10c0/fdfa96c8087bf36fc4cd514b474ba2ff404219a4dd4cfa6cf5426404a1eed259bdcdb98f082a71029a48d01f27733e3436ecc6690129a7ec09cb0434bee03a2a + languageName: node + linkType: hard + +"is-glob@npm:4.0.3, is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-inside-container@npm:^1.0.0": + version: 1.0.0 + resolution: "is-inside-container@npm:1.0.0" + dependencies: + is-docker: "npm:^3.0.0" + bin: + is-inside-container: cli.js + checksum: 10c0/a8efb0e84f6197e6ff5c64c52890fa9acb49b7b74fed4da7c95383965da6f0fa592b4dbd5e38a79f87fc108196937acdbcd758fcefc9b140e479b39ce1fcd1cd + languageName: node + linkType: hard + +"is-installed-globally@npm:^1.0.0": + version: 1.0.0 + resolution: "is-installed-globally@npm:1.0.0" + dependencies: + global-directory: "npm:^4.0.1" + is-path-inside: "npm:^4.0.0" + checksum: 10c0/5f57745b6e75b2e9e707a26470d0cb74291d9be33c0fe0dc06c6955fe086bc2ca0a8960631b1ecb9677100eac90af33e911aec7a2c0b88097d702bfa3b76486d + languageName: node + linkType: hard + +"is-interactive@npm:^1.0.0": + version: 1.0.0 + resolution: "is-interactive@npm:1.0.0" + checksum: 10c0/dd47904dbf286cd20aa58c5192161be1a67138485b9836d5a70433b21a45442e9611b8498b8ab1f839fc962c7620667a50535fdfb4a6bc7989b8858645c06b4d + languageName: node + linkType: hard + +"is-lower-case@npm:^2.0.2": + version: 2.0.2 + resolution: "is-lower-case@npm:2.0.2" + dependencies: + tslib: "npm:^2.0.3" + checksum: 10c0/c045e6a52dcc7c3857e2f8c850ded604cdc5269ff94625b03881cefc73bfc02f5099a1bc9bafa67793656711a40d4ab3e26e285a848e728506df20ead0ce8e2f + languageName: node + linkType: hard + +"is-module@npm:^1.0.0": + version: 1.0.0 + resolution: "is-module@npm:1.0.0" + checksum: 10c0/795a3914bcae7c26a1c23a1e5574c42eac13429625045737bf3e324ce865c0601d61aee7a5afbca1bee8cb300c7d9647e7dc98860c9bdbc3b7fdc51d8ac0bffc + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"is-path-inside@npm:^4.0.0": + version: 4.0.0 + resolution: "is-path-inside@npm:4.0.0" + checksum: 10c0/51188d7e2b1d907a9a5f7c18d99a90b60870b951ed87cf97595d9aaa429d4c010652c3350bcbf31182e7f4b0eab9a1860b43e16729b13cb1a44baaa6cdb64c46 + languageName: node + linkType: hard + +"is-plain-obj@npm:^1.1.0": + version: 1.1.0 + resolution: "is-plain-obj@npm:1.1.0" + checksum: 10c0/daaee1805add26f781b413fdf192fc91d52409583be30ace35c82607d440da63cc4cac0ac55136716688d6c0a2c6ef3edb2254fecbd1fe06056d6bd15975ee8c + languageName: node + linkType: hard + +"is-plain-obj@npm:^2.1.0": + version: 2.1.0 + resolution: "is-plain-obj@npm:2.1.0" + checksum: 10c0/e5c9814cdaa627a9ad0a0964ded0e0491bfd9ace405c49a5d63c88b30a162f1512c069d5b80997893c4d0181eadc3fed02b4ab4b81059aba5620bfcdfdeb9c53 + languageName: node + linkType: hard + +"is-plain-object@npm:^5.0.0": + version: 5.0.0 + resolution: "is-plain-object@npm:5.0.0" + checksum: 10c0/893e42bad832aae3511c71fd61c0bf61aa3a6d853061c62a307261842727d0d25f761ce9379f7ba7226d6179db2a3157efa918e7fe26360f3bf0842d9f28942c + languageName: node + linkType: hard + +"is-promise@npm:^4.0.0": + version: 4.0.0 + resolution: "is-promise@npm:4.0.0" + checksum: 10c0/ebd5c672d73db781ab33ccb155fb9969d6028e37414d609b115cc534654c91ccd061821d5b987eefaa97cf4c62f0b909bb2f04db88306de26e91bfe8ddc01503 + languageName: node + linkType: hard + +"is-reference@npm:1.2.1": + version: 1.2.1 + resolution: "is-reference@npm:1.2.1" + dependencies: + "@types/estree": "npm:*" + checksum: 10c0/7dc819fc8de7790264a0a5d531164f9f5b9ef5aa1cd05f35322d14db39c8a2ec78fd5d4bf57f9789f3ddd2b3abeea7728432b759636157a42db12a9e8c3b549b + languageName: node + linkType: hard + +"is-regex@npm:^1.2.1": + version: 1.2.1 + resolution: "is-regex@npm:1.2.1" + dependencies: + call-bound: "npm:^1.0.2" + gopd: "npm:^1.2.0" + has-tostringtag: "npm:^1.0.2" + hasown: "npm:^2.0.2" + checksum: 10c0/1d3715d2b7889932349241680032e85d0b492cfcb045acb75ffc2c3085e8d561184f1f7e84b6f8321935b4aea39bc9c6ba74ed595b57ce4881a51dfdbc214e04 + languageName: node + linkType: hard + +"is-relative@npm:^1.0.0": + version: 1.0.0 + resolution: "is-relative@npm:1.0.0" + dependencies: + is-unc-path: "npm:^1.0.0" + checksum: 10c0/61157c4be8594dd25ac6f0ef29b1218c36667259ea26698367a4d9f39ff9018368bc365c490b3c79be92dfb1e389e43c4b865c95709e7b3bc72c5932f751fb60 + languageName: node + linkType: hard + +"is-ssh@npm:^1.4.0": + version: 1.4.1 + resolution: "is-ssh@npm:1.4.1" + dependencies: + protocols: "npm:^2.0.1" + checksum: 10c0/021a7355cb032625d58db3cc8266ad9aa698cbabf460b71376a0307405577fd7d3aa0826c0bf1951d7809f134c0ee80403306f6d7633db94a5a3600a0106b398 + languageName: node + linkType: hard + +"is-stream@npm:^2.0.0, is-stream@npm:^2.0.1": + version: 2.0.1 + resolution: "is-stream@npm:2.0.1" + checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 + languageName: node + linkType: hard + +"is-stream@npm:^3.0.0": + version: 3.0.0 + resolution: "is-stream@npm:3.0.0" + checksum: 10c0/eb2f7127af02ee9aa2a0237b730e47ac2de0d4e76a4a905a50a11557f2339df5765eaea4ceb8029f1efa978586abe776908720bfcb1900c20c6ec5145f6f29d8 + languageName: node + linkType: hard + +"is-stream@npm:^4.0.1": + version: 4.0.1 + resolution: "is-stream@npm:4.0.1" + checksum: 10c0/2706c7f19b851327ba374687bc4a3940805e14ca496dc672b9629e744d143b1ad9c6f1b162dece81c7bfbc0f83b32b61ccc19ad2e05aad2dd7af347408f60c7f + languageName: node + linkType: hard + +"is-unc-path@npm:^1.0.0": + version: 1.0.0 + resolution: "is-unc-path@npm:1.0.0" + dependencies: + unc-path-regex: "npm:^0.1.2" + checksum: 10c0/ac1b78f9b748196e3be3d0e722cd4b0f98639247a130a8f2473a58b29baf63fdb1b1c5a12c830660c5ee6ef0279c5418ca8e346f98cbe1a29e433d7ae531d42e + languageName: node + linkType: hard + +"is-unicode-supported@npm:^0.1.0": + version: 0.1.0 + resolution: "is-unicode-supported@npm:0.1.0" + checksum: 10c0/00cbe3455c3756be68d2542c416cab888aebd5012781d6819749fefb15162ff23e38501fe681b3d751c73e8ff561ac09a5293eba6f58fdf0178462ce6dcb3453 + languageName: node + linkType: hard + +"is-upper-case@npm:^2.0.2": + version: 2.0.2 + resolution: "is-upper-case@npm:2.0.2" + dependencies: + tslib: "npm:^2.0.3" + checksum: 10c0/2236f416484a2643d55a07cc95443cecf96cbc5fb0de7f24c506a8bc5cc4c4de885ab56c5ec946eadd95b3b7960bff7ed51cc88511fa8e8a9d92f2f8969622d9 + languageName: node + linkType: hard + +"is-url-superb@npm:^4.0.0": + version: 4.0.0 + resolution: "is-url-superb@npm:4.0.0" + checksum: 10c0/354ea8246d5b5a828e41bb4ed66c539a7b74dc878ee4fa84b148df312b14b08118579d64f0893b56a0094e3b4b1e6082d2fbe2e3792998d7edffde1c0f3dfdd9 + languageName: node + linkType: hard + +"is-url@npm:^1.2.4": + version: 1.2.4 + resolution: "is-url@npm:1.2.4" + checksum: 10c0/0157a79874f8f95fdd63540e3f38c8583c2ef572661cd0693cda80ae3e42dfe8e9a4a972ec1b827f861d9a9acf75b37f7d58a37f94a8a053259642912c252bc3 + languageName: node + linkType: hard + +"is-what@npm:^4.1.8": + version: 4.1.16 + resolution: "is-what@npm:4.1.16" + checksum: 10c0/611f1947776826dcf85b57cfb7bd3b3ea6f4b94a9c2f551d4a53f653cf0cb9d1e6518846648256d46ee6c91d114b6d09d2ac8a07306f7430c5900f87466aae5b + languageName: node + linkType: hard + +"is-windows@npm:^1.0.1": + version: 1.0.2 + resolution: "is-windows@npm:1.0.2" + checksum: 10c0/b32f418ab3385604a66f1b7a3ce39d25e8881dee0bd30816dc8344ef6ff9df473a732bcc1ec4e84fe99b2f229ae474f7133e8e93f9241686cfcf7eebe53ba7a5 + languageName: node + linkType: hard + +"is-wsl@npm:^2.1.1, is-wsl@npm:^2.2.0": + version: 2.2.0 + resolution: "is-wsl@npm:2.2.0" + dependencies: + is-docker: "npm:^2.0.0" + checksum: 10c0/a6fa2d370d21be487c0165c7a440d567274fbba1a817f2f0bfa41cc5e3af25041d84267baa22df66696956038a43973e72fca117918c91431920bdef490fa25e + languageName: node + linkType: hard + +"is-wsl@npm:^3.1.0": + version: 3.1.0 + resolution: "is-wsl@npm:3.1.0" + dependencies: + is-inside-container: "npm:^1.0.0" + checksum: 10c0/d3317c11995690a32c362100225e22ba793678fe8732660c6de511ae71a0ff05b06980cf21f98a6bf40d7be0e9e9506f859abe00a1118287d63e53d0a3d06947 + languageName: node + linkType: hard + +"is64bit@npm:^2.0.0": + version: 2.0.0 + resolution: "is64bit@npm:2.0.0" + dependencies: + system-architecture: "npm:^0.1.0" + checksum: 10c0/9f3741d4b7560e2a30b9ce0c79bb30c7bdcc5df77c897bd59bb68f0fd882ae698015e8da81d48331def66c778d430c1ae3cb8c1fcc34e96c576b66198395faa7 + languageName: node + linkType: hard + +"isarray@npm:~1.0.0": + version: 1.0.0 + resolution: "isarray@npm:1.0.0" + checksum: 10c0/18b5be6669be53425f0b84098732670ed4e727e3af33bc7f948aac01782110eb9a18b3b329c5323bcdd3acdaae547ee077d3951317e7f133bff7105264b3003d + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 + languageName: node + linkType: hard + +"isomorphic-ws@npm:^5.0.0": + version: 5.0.0 + resolution: "isomorphic-ws@npm:5.0.0" + peerDependencies: + ws: "*" + checksum: 10c0/a058ac8b5e6efe9e46252cb0bc67fd325005d7216451d1a51238bc62d7da8486f828ef017df54ddf742e0fffcbe4b1bcc2a66cc115b027ed0180334cd18df252 + languageName: node + linkType: hard + +"iterall@npm:^1.2.1": + version: 1.3.0 + resolution: "iterall@npm:1.3.0" + checksum: 10c0/40de624e5fe937c4c0e511981b91caea9ff2142bfc0316cccc8506eaa03aa253820cc17c5bc5f0a98706c7268a373e5ebee9af9a0c8a359730cf7c05938b57b5 + languageName: node + linkType: hard + +"jackspeak@npm:^3.1.2": + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 + languageName: node + linkType: hard + +"jiti@npm:^1.17.1, jiti@npm:^1.21.6": + version: 1.21.7 + resolution: "jiti@npm:1.21.7" + bin: + jiti: bin/jiti.js + checksum: 10c0/77b61989c758ff32407cdae8ddc77f85e18e1a13fc4977110dbd2e05fc761842f5f71bce684d9a01316e1c4263971315a111385759951080bbfe17cbb5de8f7a + languageName: node + linkType: hard + +"jiti@npm:^2.0.0, jiti@npm:^2.1.2, jiti@npm:^2.4.2": + version: 2.4.2 + resolution: "jiti@npm:2.4.2" + bin: + jiti: lib/jiti-cli.mjs + checksum: 10c0/4ceac133a08c8faff7eac84aabb917e85e8257f5ad659e843004ce76e981c457c390a220881748ac67ba1b940b9b729b30fb85cbaf6e7989f04b6002c94da331 + languageName: node + linkType: hard + +"jose@npm:^5.0.0": + version: 5.10.0 + resolution: "jose@npm:5.10.0" + checksum: 10c0/e20d9fc58d7e402f2e5f04e824b8897d5579aae60e64cb88ebdea1395311c24537bf4892f7de413fab1acf11e922797fb1b42269bc8fc65089a3749265ccb7b0 + languageName: node + linkType: hard + +"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed + languageName: node + linkType: hard + +"js-tokens@npm:^9.0.0, js-tokens@npm:^9.0.1": + version: 9.0.1 + resolution: "js-tokens@npm:9.0.1" + checksum: 10c0/68dcab8f233dde211a6b5fd98079783cbcd04b53617c1250e3553ee16ab3e6134f5e65478e41d82f6d351a052a63d71024553933808570f04dbf828d7921e80e + languageName: node + linkType: hard + +"js-yaml@npm:^4.0.0, js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f + languageName: node + linkType: hard + +"jsbn@npm:1.1.0": + version: 1.1.0 + resolution: "jsbn@npm:1.1.0" + checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 + languageName: node + linkType: hard + +"jsdoc-type-pratt-parser@npm:^4.0.0": + version: 4.1.0 + resolution: "jsdoc-type-pratt-parser@npm:4.1.0" + checksum: 10c0/7700372d2e733a32f7ea0a1df9cec6752321a5345c11a91b2ab478a031a426e934f16d5c1f15c8566c7b2c10af9f27892a29c2c789039f595470e929a4aa60ea + languageName: node + linkType: hard + +"jsdoc-type-pratt-parser@npm:~4.0.0": + version: 4.0.0 + resolution: "jsdoc-type-pratt-parser@npm:4.0.0" + checksum: 10c0/b23ef7bbbe2f56d72630d1c5a233dc9fecaff399063d373c57bef136908c1b05e723dac107177303c03ccf8d75aa51507510b282aa567600477479c5ea0c36d1 + languageName: node + linkType: hard + +"jsesc@npm:^3.0.2": + version: 3.1.0 + resolution: "jsesc@npm:3.1.0" + bin: + jsesc: bin/jsesc + checksum: 10c0/531779df5ec94f47e462da26b4cbf05eb88a83d9f08aac2ba04206508fc598527a153d08bd462bae82fc78b3eaa1a908e1a4a79f886e9238641c4cdefaf118b1 + languageName: node + linkType: hard + +"jsesc@npm:~0.5.0": + version: 0.5.0 + resolution: "jsesc@npm:0.5.0" + bin: + jsesc: bin/jsesc + checksum: 10c0/f93792440ae1d80f091b65f8ceddf8e55c4bb7f1a09dee5dcbdb0db5612c55c0f6045625aa6b7e8edb2e0a4feabd80ee48616dbe2d37055573a84db3d24f96d9 + languageName: node + linkType: hard + +"jsesc@npm:~3.0.2": + version: 3.0.2 + resolution: "jsesc@npm:3.0.2" + bin: + jsesc: bin/jsesc + checksum: 10c0/ef22148f9e793180b14d8a145ee6f9f60f301abf443288117b4b6c53d0ecd58354898dc506ccbb553a5f7827965cd38bc5fb726575aae93c5e8915e2de8290e1 + languageName: node + linkType: hard + +"json-buffer@npm:3.0.0": + version: 3.0.0 + resolution: "json-buffer@npm:3.0.0" + checksum: 10c0/118c060d84430a8ad8376d0c60250830f350a6381bd56541a1ef257ce7ba82d109d1f71a4c4e92e0be0e7ab7da568fad8f7bf02905910a76e8e0aa338621b944 + languageName: node + linkType: hard + +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 + languageName: node + linkType: hard + +"json-parse-even-better-errors@npm:^2.3.0": + version: 2.3.1 + resolution: "json-parse-even-better-errors@npm:2.3.1" + checksum: 10c0/140932564c8f0b88455432e0f33c4cb4086b8868e37524e07e723f4eaedb9425bdc2bafd71bd1d9765bd15fd1e2d126972bc83990f55c467168c228c24d665f3 + languageName: node + linkType: hard + +"json-schema-to-typescript-lite@npm:^14.0.1": + version: 14.1.0 + resolution: "json-schema-to-typescript-lite@npm:14.1.0" + dependencies: + "@apidevtools/json-schema-ref-parser": "npm:^11.7.0" + "@types/json-schema": "npm:^7.0.15" + checksum: 10c0/4d770f95bf58ce1bc889d1bd64b564d14f0b86ed43f8100192ef2675eab8c3c2d3fd2203600f31ed938de2b5d295f6a9c5e1d815ccf4847c2f5bbb6d8f35f357 + languageName: node + linkType: hard + +"json-schema-traverse@npm:^0.4.1": + version: 0.4.1 + resolution: "json-schema-traverse@npm:0.4.1" + checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce + languageName: node + linkType: hard + +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 10c0/71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6 + languageName: node + linkType: hard + +"json-stable-stringify-without-jsonify@npm:^1.0.1": + version: 1.0.1 + resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" + checksum: 10c0/cb168b61fd4de83e58d09aaa6425ef71001bae30d260e2c57e7d09a5fd82223e2f22a042dedaab8db23b7d9ae46854b08bb1f91675a8be11c5cffebef5fb66a5 + languageName: node + linkType: hard + +"json-stringify-safe@npm:^5.0.1": + version: 5.0.1 + resolution: "json-stringify-safe@npm:5.0.1" + checksum: 10c0/7dbf35cd0411d1d648dceb6d59ce5857ec939e52e4afc37601aa3da611f0987d5cee5b38d58329ceddf3ed48bd7215229c8d52059ab01f2444a338bf24ed0f37 + languageName: node + linkType: hard + +"json-to-pretty-yaml@npm:^1.2.2": + version: 1.2.2 + resolution: "json-to-pretty-yaml@npm:1.2.2" + dependencies: + remedial: "npm:^1.0.7" + remove-trailing-spaces: "npm:^1.0.6" + checksum: 10c0/d28891860a7ae034873ac8ec5f69f5493106afed9a86295f1642a40b27a48df717c63966439a1dec5b8a4b30e99b86cd1b4ca7d979bb8048ffd7f7c67bfd88a3 + languageName: node + linkType: hard + +"json5@npm:^2.2.3": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c + languageName: node + linkType: hard + +"jsonfile@npm:^4.0.0": + version: 4.0.0 + resolution: "jsonfile@npm:4.0.0" + dependencies: + graceful-fs: "npm:^4.1.6" + dependenciesMeta: + graceful-fs: + optional: true + checksum: 10c0/7dc94b628d57a66b71fb1b79510d460d662eb975b5f876d723f81549c2e9cd316d58a2ddf742b2b93a4fa6b17b2accaf1a738a0e2ea114bdfb13a32e5377e480 + languageName: node + linkType: hard + +"jsonfile@npm:^6.0.1": + version: 6.1.0 + resolution: "jsonfile@npm:6.1.0" + dependencies: + graceful-fs: "npm:^4.1.6" + universalify: "npm:^2.0.0" + dependenciesMeta: + graceful-fs: + optional: true + checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865 + languageName: node + linkType: hard + +"junk@npm:^4.0.0": + version: 4.0.1 + resolution: "junk@npm:4.0.1" + checksum: 10c0/091117a5dcf65b19a3e4b8506d95d6ab152b5b5fe6f10e8998de950b0f9d689f14d9b63bb07863b8c86c18511fd1b9a21e9a16e686246436558338ed2e8a4548 + languageName: node + linkType: hard + +"jwt-decode@npm:^4.0.0": + version: 4.0.0 + resolution: "jwt-decode@npm:4.0.0" + checksum: 10c0/de75bbf89220746c388cf6a7b71e56080437b77d2edb29bae1c2155048b02c6b8c59a3e5e8d6ccdfd54f0b8bda25226e491a4f1b55ac5f8da04cfbadec4e546c + languageName: node + linkType: hard + +"keygrip@npm:~1.1.0": + version: 1.1.0 + resolution: "keygrip@npm:1.1.0" + dependencies: + tsscmp: "npm:1.0.6" + checksum: 10c0/2aceec1a1e642a0caf938044056ed67b1909cfe67a93a59b32aae2863e0f35a1a53782ecc8f9cd0e3bdb60863fa0f401ccbd257cd7dfae61915f78445139edea + languageName: node + linkType: hard + +"keyv@npm:^3.0.0": + version: 3.1.0 + resolution: "keyv@npm:3.1.0" + dependencies: + json-buffer: "npm:3.0.0" + checksum: 10c0/6ad784361b4c0213333a8c5bc0bcc59cf46cb7cbbe21fb2f1539ffcc8fe18b8f1562ff913b40552278fdea5f152a15996dfa61ce24ce1a22222560c650be4a1b + languageName: node + linkType: hard + +"keyv@npm:^4.5.3, keyv@npm:^4.5.4": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" + dependencies: + json-buffer: "npm:3.0.1" + checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e + languageName: node + linkType: hard + +"kind-of@npm:^6.0.2, kind-of@npm:^6.0.3": + version: 6.0.3 + resolution: "kind-of@npm:6.0.3" + checksum: 10c0/61cdff9623dabf3568b6445e93e31376bee1cdb93f8ba7033d86022c2a9b1791a1d9510e026e6465ebd701a6dd2f7b0808483ad8838341ac52f003f512e0b4c4 + languageName: node + linkType: hard + +"kleur@npm:^3.0.3": + version: 3.0.3 + resolution: "kleur@npm:3.0.3" + checksum: 10c0/cd3a0b8878e7d6d3799e54340efe3591ca787d9f95f109f28129bdd2915e37807bf8918bb295ab86afb8c82196beec5a1adcaf29042ce3f2bd932b038fe3aa4b + languageName: node + linkType: hard + +"kleur@npm:^4.1.5": + version: 4.1.5 + resolution: "kleur@npm:4.1.5" + checksum: 10c0/e9de6cb49657b6fa70ba2d1448fd3d691a5c4370d8f7bbf1c2f64c24d461270f2117e1b0afe8cb3114f13bbd8e51de158c2a224953960331904e636a5e4c0f2a + languageName: node + linkType: hard + +"klona@npm:^2.0.6": + version: 2.0.6 + resolution: "klona@npm:2.0.6" + checksum: 10c0/94eed2c6c2ce99f409df9186a96340558897b3e62a85afdc1ee39103954d2ebe1c1c4e9fe2b0952771771fa96d70055ede8b27962a7021406374fdb695fd4d01 + languageName: node + linkType: hard + +"knitwork@npm:^1.0.0, knitwork@npm:^1.2.0": + version: 1.2.0 + resolution: "knitwork@npm:1.2.0" + checksum: 10c0/26113ce2909595054a78b36a79a7cdddf1336438b111688c91a74620148d15182e073c9504d2261ff4cad888d7ef330df91abc0b03d2b52ff3cff7c5b469bfb5 + languageName: node + linkType: hard + +"known-css-properties@npm:^0.29.0": + version: 0.29.0 + resolution: "known-css-properties@npm:0.29.0" + checksum: 10c0/f66e9992097b8f54e97dbe729943d4a11b8d3ba15f68dbb3deb8bb0122cb89c22c90c9221ecb1e3f2e236838fe3c0faae319b43908c81b6e254ac43cafde2906 + languageName: node + linkType: hard + +"koa-compose@npm:^4.1.0": + version: 4.1.0 + resolution: "koa-compose@npm:4.1.0" + checksum: 10c0/f1f786f994a691931148e7f38f443865bf2702af4a61610d1eea04dab79c04b1232285b59d82a0cf61c830516dd92f10ab0d009b024fcecd4098e7d296ab771a + languageName: node + linkType: hard + +"koa-convert@npm:^2.0.0": + version: 2.0.0 + resolution: "koa-convert@npm:2.0.0" + dependencies: + co: "npm:^4.6.0" + koa-compose: "npm:^4.1.0" + checksum: 10c0/d3e243ceccd11524d5f4942f6ccd828a9b18a1a967c4375192aa9eedf844f790563632839f006732ce8ca720275737c65a3bab344e13b25f41fb2be451ea102c + languageName: node + linkType: hard + +"koa-send@npm:^5.0.0": + version: 5.0.1 + resolution: "koa-send@npm:5.0.1" + dependencies: + debug: "npm:^4.1.1" + http-errors: "npm:^1.7.3" + resolve-path: "npm:^1.4.0" + checksum: 10c0/787a8abaf3690a86cf2e6021f1d870daba5f8393f4b4da4da74c26e7d1f7a89636fa2f251a0ec1ea75364fc81a9ef20d3c52e8e2dc7ad9f1d5053357a0db204f + languageName: node + linkType: hard + +"koa-static@npm:^5.0.0": + version: 5.0.0 + resolution: "koa-static@npm:5.0.0" + dependencies: + debug: "npm:^3.1.0" + koa-send: "npm:^5.0.0" + checksum: 10c0/4cb7a4e98506d54274658eb3565b24fcbe606bbb6916cb5ef226b2613d3ffd417dec3404000baa171f2206f2a6d29117bbe881fd26b27d54ef746d9de6de3e91 + languageName: node + linkType: hard + +"koa@npm:^2.14.2": + version: 2.16.1 + resolution: "koa@npm:2.16.1" + dependencies: + accepts: "npm:^1.3.5" + cache-content-type: "npm:^1.0.0" + content-disposition: "npm:~0.5.2" + content-type: "npm:^1.0.4" + cookies: "npm:~0.9.0" + debug: "npm:^4.3.2" + delegates: "npm:^1.0.0" + depd: "npm:^2.0.0" + destroy: "npm:^1.0.4" + encodeurl: "npm:^1.0.2" + escape-html: "npm:^1.0.3" + fresh: "npm:~0.5.2" + http-assert: "npm:^1.3.0" + http-errors: "npm:^1.6.3" + is-generator-function: "npm:^1.0.7" + koa-compose: "npm:^4.1.0" + koa-convert: "npm:^2.0.0" + on-finished: "npm:^2.3.0" + only: "npm:~0.0.2" + parseurl: "npm:^1.3.2" + statuses: "npm:^1.5.0" + type-is: "npm:^1.6.16" + vary: "npm:^1.1.2" + checksum: 10c0/66beb2e4d7968e1081341ea9a9c1f7f3fad4aaa0475c813f1be79ed84c345d9d45de9e34eeee3cdd790fc81ee5efbde2223d49fd5da571e29b0b3bed6baafb8e + languageName: node + linkType: hard + +"kuler@npm:^2.0.0": + version: 2.0.0 + resolution: "kuler@npm:2.0.0" + checksum: 10c0/0a4e99d92ca373f8f74d1dc37931909c4d0d82aebc94cf2ba265771160fc12c8df34eaaac80805efbda367e2795cb1f1dd4c3d404b6b1cf38aec94035b503d2d + languageName: node + linkType: hard + +"lambda-local@npm:^2.2.0": + version: 2.2.0 + resolution: "lambda-local@npm:2.2.0" + dependencies: + commander: "npm:^10.0.1" + dotenv: "npm:^16.3.1" + winston: "npm:^3.10.0" + bin: + lambda-local: build/cli.js + checksum: 10c0/0f268139d2253feb1bc7493a7308138c012429a033fa8d8c301aa26e21ff54286a949ce75b1385da6c49e3f49c2df7b7a1b466275b4d92807c8f507edbe99407 + languageName: node + linkType: hard + +"launch-editor@npm:^2.10.0": + version: 2.10.0 + resolution: "launch-editor@npm:2.10.0" + dependencies: + picocolors: "npm:^1.0.0" + shell-quote: "npm:^1.8.1" + checksum: 10c0/8b5a26be6b0da1da039ed2254b837dea0651a6406ea4dc4c9a5b28ea72862f1b12880135c495baf9d8a08997473b44034172506781744cf82e155451a40b7d51 + languageName: node + linkType: hard + +"lazystream@npm:^1.0.0": + version: 1.0.1 + resolution: "lazystream@npm:1.0.1" + dependencies: + readable-stream: "npm:^2.0.5" + checksum: 10c0/ea4e509a5226ecfcc303ba6782cc269be8867d372b9bcbd625c88955df1987ea1a20da4643bf9270336415a398d33531ebf0d5f0d393b9283dc7c98bfcbd7b69 + languageName: node + linkType: hard + +"levn@npm:^0.4.1": + version: 0.4.1 + resolution: "levn@npm:0.4.1" + dependencies: + prelude-ls: "npm:^1.2.1" + type-check: "npm:~0.4.0" + checksum: 10c0/effb03cad7c89dfa5bd4f6989364bfc79994c2042ec5966cb9b95990e2edee5cd8969ddf42616a0373ac49fac1403437deaf6e9050fbbaa3546093a59b9ac94e + languageName: node + linkType: hard + +"lilconfig@npm:^3.0.0, lilconfig@npm:^3.1.3": + version: 3.1.3 + resolution: "lilconfig@npm:3.1.3" + checksum: 10c0/f5604e7240c5c275743561442fbc5abf2a84ad94da0f5adc71d25e31fa8483048de3dcedcb7a44112a942fed305fd75841cdf6c9681c7f640c63f1049e9a5dcc + languageName: node + linkType: hard + +"lines-and-columns@npm:^1.1.6": + version: 1.2.4 + resolution: "lines-and-columns@npm:1.2.4" + checksum: 10c0/3da6ee62d4cd9f03f5dc90b4df2540fb85b352081bee77fe4bbcd12c9000ead7f35e0a38b8d09a9bb99b13223446dd8689ff3c4959807620726d788701a83d2d + languageName: node + linkType: hard + +"listhen@npm:^1.9.0": + version: 1.9.0 + resolution: "listhen@npm:1.9.0" + dependencies: + "@parcel/watcher": "npm:^2.4.1" + "@parcel/watcher-wasm": "npm:^2.4.1" + citty: "npm:^0.1.6" + clipboardy: "npm:^4.0.0" + consola: "npm:^3.2.3" + crossws: "npm:>=0.2.0 <0.4.0" + defu: "npm:^6.1.4" + get-port-please: "npm:^3.1.2" + h3: "npm:^1.12.0" + http-shutdown: "npm:^1.2.2" + jiti: "npm:^2.1.2" + mlly: "npm:^1.7.1" + node-forge: "npm:^1.3.1" + pathe: "npm:^1.1.2" + std-env: "npm:^3.7.0" + ufo: "npm:^1.5.4" + untun: "npm:^0.1.3" + uqr: "npm:^0.1.2" + bin: + listen: bin/listhen.mjs + listhen: bin/listhen.mjs + checksum: 10c0/b13e732eec48a49017121013853bb0f184c6f40dc9839a8ccad03b57a50a29186a57edafe5807e892cf65b49cb710026ba95d064bdcf294e135b95c6553fe36b + languageName: node + linkType: hard + +"listr2@npm:^4.0.5": + version: 4.0.5 + resolution: "listr2@npm:4.0.5" + dependencies: + cli-truncate: "npm:^2.1.0" + colorette: "npm:^2.0.16" + log-update: "npm:^4.0.0" + p-map: "npm:^4.0.0" + rfdc: "npm:^1.3.0" + rxjs: "npm:^7.5.5" + through: "npm:^2.3.8" + wrap-ansi: "npm:^7.0.0" + peerDependencies: + enquirer: ">= 2.3.0 < 3" + peerDependenciesMeta: + enquirer: + optional: true + checksum: 10c0/0e64dc5e66fbd4361f6b35c49489ed842a1d7de30cf2b5c06bf4569669449288698b8ea93f7842aaf3c510963a1e554bca31376b9054d1521445d1ce4c917ea1 + languageName: node + linkType: hard + +"load-tsconfig@npm:^0.2.3": + version: 0.2.5 + resolution: "load-tsconfig@npm:0.2.5" + checksum: 10c0/bf2823dd26389d3497b6567f07435c5a7a58d9df82e879b0b3892f87d8db26900f84c85bc329ef41c0540c0d6a448d1c23ddc64a80f3ff6838b940f3915a3fcb + languageName: node + linkType: hard + +"local-pkg@npm:^1.0.0, local-pkg@npm:^1.1.1": + version: 1.1.1 + resolution: "local-pkg@npm:1.1.1" + dependencies: + mlly: "npm:^1.7.4" + pkg-types: "npm:^2.0.1" + quansync: "npm:^0.2.8" + checksum: 10c0/fe8f9d0443fb066c3f28a4c89d587dd7cba3ab02645cd16598f8d5f30968acf60af1b0ec2d6ad768475ec9f52baad124f31a93d2fbc034f645bcc02bf3a84882 + languageName: node + linkType: hard + +"locate-path@npm:^5.0.0": + version: 5.0.0 + resolution: "locate-path@npm:5.0.0" + dependencies: + p-locate: "npm:^4.1.0" + checksum: 10c0/33a1c5247e87e022f9713e6213a744557a3e9ec32c5d0b5efb10aa3a38177615bf90221a5592674857039c1a0fd2063b82f285702d37b792d973e9e72ace6c59 + languageName: node + linkType: hard + +"locate-path@npm:^6.0.0": + version: 6.0.0 + resolution: "locate-path@npm:6.0.0" + dependencies: + p-locate: "npm:^5.0.0" + checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 + languageName: node + linkType: hard + +"locate-path@npm:^7.0.0, locate-path@npm:^7.1.0, locate-path@npm:^7.2.0": + version: 7.2.0 + resolution: "locate-path@npm:7.2.0" + dependencies: + p-locate: "npm:^6.0.0" + checksum: 10c0/139e8a7fe11cfbd7f20db03923cacfa5db9e14fa14887ea121345597472b4a63c1a42a8a5187defeeff6acf98fd568da7382aa39682d38f0af27433953a97751 + languageName: node + linkType: hard + +"lodash-es@npm:^4.0.0, lodash-es@npm:^4.17.21": + version: 4.17.21 + resolution: "lodash-es@npm:4.17.21" + checksum: 10c0/fb407355f7e6cd523a9383e76e6b455321f0f153a6c9625e21a8827d10c54c2a2341bd2ae8d034358b60e07325e1330c14c224ff582d04612a46a4f0479ff2f2 + languageName: node + linkType: hard + +"lodash.debounce@npm:^4.0.8": + version: 4.0.8 + resolution: "lodash.debounce@npm:4.0.8" + checksum: 10c0/762998a63e095412b6099b8290903e0a8ddcb353ac6e2e0f2d7e7d03abd4275fe3c689d88960eb90b0dde4f177554d51a690f22a343932ecbc50a5d111849987 + languageName: node + linkType: hard + +"lodash.defaults@npm:^4.2.0": + version: 4.2.0 + resolution: "lodash.defaults@npm:4.2.0" + checksum: 10c0/d5b77aeb702caa69b17be1358faece33a84497bcca814897383c58b28a2f8dfc381b1d9edbec239f8b425126a3bbe4916223da2a576bb0411c2cefd67df80707 + languageName: node + linkType: hard + +"lodash.difference@npm:^4.5.0": + version: 4.5.0 + resolution: "lodash.difference@npm:4.5.0" + checksum: 10c0/5d52859218a7df427547ff1fadbc397879709fe6c788b037df7d6d92b676122c92bd35ec85d364edb596b65dfc6573132f420c9b4ee22bb6b9600cd454c90637 + languageName: node + linkType: hard + +"lodash.flatten@npm:^4.4.0": + version: 4.4.0 + resolution: "lodash.flatten@npm:4.4.0" + checksum: 10c0/97e8f0d6b61fe4723c02ad0c6e67e51784c4a2c48f56ef283483e556ad01594cf9cec9c773e177bbbdbdb5d19e99b09d2487cb6b6e5dc405c2693e93b125bd3a + languageName: node + linkType: hard + +"lodash.isarguments@npm:^3.1.0": + version: 3.1.0 + resolution: "lodash.isarguments@npm:3.1.0" + checksum: 10c0/5e8f95ba10975900a3920fb039a3f89a5a79359a1b5565e4e5b4310ed6ebe64011e31d402e34f577eca983a1fc01ff86c926e3cbe602e1ddfc858fdd353e62d8 + languageName: node + linkType: hard + +"lodash.isplainobject@npm:^4.0.6": + version: 4.0.6 + resolution: "lodash.isplainobject@npm:4.0.6" + checksum: 10c0/afd70b5c450d1e09f32a737bed06ff85b873ecd3d3d3400458725283e3f2e0bb6bf48e67dbe7a309eb371a822b16a26cca4a63c8c52db3fc7dc9d5f9dd324cbb + languageName: node + linkType: hard + +"lodash.memoize@npm:^4.1.2": + version: 4.1.2 + resolution: "lodash.memoize@npm:4.1.2" + checksum: 10c0/c8713e51eccc650422716a14cece1809cfe34bc5ab5e242b7f8b4e2241c2483697b971a604252807689b9dd69bfe3a98852e19a5b89d506b000b4187a1285df8 + languageName: node + linkType: hard + +"lodash.merge@npm:^4.6.2": + version: 4.6.2 + resolution: "lodash.merge@npm:4.6.2" + checksum: 10c0/402fa16a1edd7538de5b5903a90228aa48eb5533986ba7fa26606a49db2572bf414ff73a2c9f5d5fd36b31c46a5d5c7e1527749c07cbcf965ccff5fbdf32c506 + languageName: node + linkType: hard + +"lodash.sortby@npm:^4.7.0": + version: 4.7.0 + resolution: "lodash.sortby@npm:4.7.0" + checksum: 10c0/fc48fb54ff7669f33bb32997cab9460757ee99fafaf72400b261c3e10fde21538e47d8cfcbe6a25a31bcb5b7b727c27d52626386fc2de24eb059a6d64a89cdf5 + languageName: node + linkType: hard + +"lodash.truncate@npm:^4.4.2": + version: 4.4.2 + resolution: "lodash.truncate@npm:4.4.2" + checksum: 10c0/4e870d54e8a6c86c8687e057cec4069d2e941446ccab7f40b4d9555fa5872d917d0b6aa73bece7765500a3123f1723bcdba9ae881b679ef120bba9e1a0b0ed70 + languageName: node + linkType: hard + +"lodash.union@npm:^4.6.0": + version: 4.6.0 + resolution: "lodash.union@npm:4.6.0" + checksum: 10c0/6da7f72d1facd472f6090b49eefff984c9f9179e13172039c0debca6851d21d37d83c7ad5c43af23bd220f184cd80e6897e8e3206509fae491f9068b02ae6319 + languageName: node + linkType: hard + +"lodash.uniq@npm:^4.5.0": + version: 4.5.0 + resolution: "lodash.uniq@npm:4.5.0" + checksum: 10c0/262d400bb0952f112162a320cc4a75dea4f66078b9e7e3075ffbc9c6aa30b3e9df3cf20e7da7d566105e1ccf7804e4fbd7d804eee0b53de05d83f16ffbf41c5e + languageName: node + linkType: hard + +"lodash@npm:^4.0.0, lodash@npm:^4.17.10, lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:~4.17.0": + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c + languageName: node + linkType: hard + +"log-symbols@npm:^4.0.0, log-symbols@npm:^4.1.0": + version: 4.1.0 + resolution: "log-symbols@npm:4.1.0" + dependencies: + chalk: "npm:^4.1.0" + is-unicode-supported: "npm:^0.1.0" + checksum: 10c0/67f445a9ffa76db1989d0fa98586e5bc2fd5247260dafb8ad93d9f0ccd5896d53fb830b0e54dade5ad838b9de2006c826831a3c528913093af20dff8bd24aca6 + languageName: node + linkType: hard + +"log-update@npm:^4.0.0": + version: 4.0.0 + resolution: "log-update@npm:4.0.0" + dependencies: + ansi-escapes: "npm:^4.3.0" + cli-cursor: "npm:^3.1.0" + slice-ansi: "npm:^4.0.0" + wrap-ansi: "npm:^6.2.0" + checksum: 10c0/18b299e230432a156f2535660776406d15ba8bb7817dd3eaadd58004b363756d4ecaabcd658f9949f90b62ea7d3354423be3fdeb7a201ab951ec0e8d6139af86 + languageName: node + linkType: hard + +"logform@npm:^2.7.0": + version: 2.7.0 + resolution: "logform@npm:2.7.0" + dependencies: + "@colors/colors": "npm:1.6.0" + "@types/triple-beam": "npm:^1.3.2" + fecha: "npm:^4.2.0" + ms: "npm:^2.1.1" + safe-stable-stringify: "npm:^2.3.1" + triple-beam: "npm:^1.3.0" + checksum: 10c0/4789b4b37413c731d1835734cb799240d31b865afde6b7b3e06051d6a4127bfda9e88c99cfbf296d084a315ccbed2647796e6a56b66e725bcb268c586f57558f + languageName: node + linkType: hard + +"loose-envify@npm:^1.0.0, loose-envify@npm:^1.4.0": + version: 1.4.0 + resolution: "loose-envify@npm:1.4.0" + dependencies: + js-tokens: "npm:^3.0.0 || ^4.0.0" + bin: + loose-envify: cli.js + checksum: 10c0/655d110220983c1a4b9c0c679a2e8016d4b67f6e9c7b5435ff5979ecdb20d0813f4dec0a08674fcbdd4846a3f07edbb50a36811fd37930b94aaa0d9daceb017e + languageName: node + linkType: hard + +"loupe@npm:^3.1.0, loupe@npm:^3.1.1, loupe@npm:^3.1.2": + version: 3.1.3 + resolution: "loupe@npm:3.1.3" + checksum: 10c0/f5dab4144254677de83a35285be1b8aba58b3861439ce4ba65875d0d5f3445a4a496daef63100ccf02b2dbc25bf58c6db84c9cb0b96d6435331e9d0a33b48541 + languageName: node + linkType: hard + +"lower-case-first@npm:^2.0.2": + version: 2.0.2 + resolution: "lower-case-first@npm:2.0.2" + dependencies: + tslib: "npm:^2.0.3" + checksum: 10c0/22253389fa0693ec1ba09b9394be3a8228304bf21d074703db2eef97c16cda9c66462d88f9b91d4ad0186493d23cad99c63d38ebc13f9a808bc83aad539ff404 + languageName: node + linkType: hard + +"lower-case@npm:^2.0.2": + version: 2.0.2 + resolution: "lower-case@npm:2.0.2" + dependencies: + tslib: "npm:^2.0.3" + checksum: 10c0/3d925e090315cf7dc1caa358e0477e186ffa23947740e4314a7429b6e62d72742e0bbe7536a5ae56d19d7618ce998aba05caca53c2902bd5742fdca5fc57fd7b + languageName: node + linkType: hard + +"lowercase-keys@npm:^1.0.0, lowercase-keys@npm:^1.0.1": + version: 1.0.1 + resolution: "lowercase-keys@npm:1.0.1" + checksum: 10c0/56776a8e1ef1aca98ecf6c19b30352ae1cf257b65b8ac858b7d8a0e8b348774d12a9b41aa7f59bfea51bff44bc7a198ab63ba4406bfba60dba008799618bef66 + languageName: node + linkType: hard + +"lowercase-keys@npm:^2.0.0": + version: 2.0.0 + resolution: "lowercase-keys@npm:2.0.0" + checksum: 10c0/f82a2b3568910509da4b7906362efa40f5b54ea14c2584778ddb313226f9cbf21020a5db35f9b9a0e95847a9b781d548601f31793d736b22a2b8ae8eb9ab1082 + languageName: node + linkType: hard + +"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0, lru-cache@npm:^10.4.3": + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb + languageName: node + linkType: hard + +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: "npm:^3.0.2" + checksum: 10c0/89b2ef2ef45f543011e38737b8a8622a2f8998cddf0e5437174ef8f1f70a8b9d14a918ab3e232cb3ba343b7abddffa667f0b59075b2b80e6b4d63c3de6127482 + languageName: node + linkType: hard + +"lru-cache@npm:^6.0.0": + version: 6.0.0 + resolution: "lru-cache@npm:6.0.0" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/cb53e582785c48187d7a188d3379c181b5ca2a9c78d2bce3e7dee36f32761d1c42983da3fe12b55cb74e1779fa94cdc2e5367c028a9b35317184ede0c07a30a9 + languageName: node + linkType: hard + +"luxon@npm:^3.2.1": + version: 3.6.1 + resolution: "luxon@npm:3.6.1" + checksum: 10c0/906d57a9dc4d1de9383f2e9223e378c298607c1b4d17b6657b836a3cd120feb1c1de3b5d06d846a3417e1ca764de8476e8c23b3cd4083b5cdb870adcb06a99d5 + languageName: node + linkType: hard + +"lz-string@npm:^1.5.0": + version: 1.5.0 + resolution: "lz-string@npm:1.5.0" + bin: + lz-string: bin/bin.js + checksum: 10c0/36128e4de34791838abe979b19927c26e67201ca5acf00880377af7d765b38d1c60847e01c5ec61b1a260c48029084ab3893a3925fd6e48a04011364b089991b + languageName: node + linkType: hard + +"magic-string-ast@npm:^0.7.0": + version: 0.7.1 + resolution: "magic-string-ast@npm:0.7.1" + dependencies: + magic-string: "npm:^0.30.17" + checksum: 10c0/f859cd5272e3d909c605e56c6339de26248f347eab4c6b290066b6252f0b07c7f14334067d6ee31cb8dcbb45eb953c8cf41b4db4a63c6499ab6fa8428af1a2fe + languageName: node + linkType: hard + +"magic-string@npm:^0.30.1, magic-string@npm:^0.30.11, magic-string@npm:^0.30.17, magic-string@npm:^0.30.3, magic-string@npm:^0.30.8": + version: 0.30.17 + resolution: "magic-string@npm:0.30.17" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.0" + checksum: 10c0/16826e415d04b88378f200fe022b53e638e3838b9e496edda6c0e086d7753a44a6ed187adc72d19f3623810589bf139af1a315541cd6a26ae0771a0193eaf7b8 + languageName: node + linkType: hard + +"magicast@npm:^0.3.5": + version: 0.3.5 + resolution: "magicast@npm:0.3.5" + dependencies: + "@babel/parser": "npm:^7.25.4" + "@babel/types": "npm:^7.25.4" + source-map-js: "npm:^1.2.0" + checksum: 10c0/a6cacc0a848af84f03e3f5bda7b0de75e4d0aa9ddce5517fd23ed0f31b5ddd51b2d0ff0b7e09b51f7de0f4053c7a1107117edda6b0732dca3e9e39e6c5a68c64 + languageName: node + linkType: hard + +"make-dir@npm:^3.1.0": + version: 3.1.0 + resolution: "make-dir@npm:3.1.0" + dependencies: + semver: "npm:^6.0.0" + checksum: 10c0/56aaafefc49c2dfef02c5c95f9b196c4eb6988040cf2c712185c7fe5c99b4091591a7fc4d4eafaaefa70ff763a26f6ab8c3ff60b9e75ea19876f49b18667ecaa + languageName: node + linkType: hard + +"make-fetch-happen@npm:^14.0.3": + version: 14.0.3 + resolution: "make-fetch-happen@npm:14.0.3" + dependencies: + "@npmcli/agent": "npm:^3.0.0" + cacache: "npm:^19.0.1" + http-cache-semantics: "npm:^4.1.1" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^4.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^1.0.0" + proc-log: "npm:^5.0.0" + promise-retry: "npm:^2.0.1" + ssri: "npm:^12.0.0" + checksum: 10c0/c40efb5e5296e7feb8e37155bde8eb70bc57d731b1f7d90e35a092fde403d7697c56fb49334d92d330d6f1ca29a98142036d6480a12681133a0a1453164cb2f0 + languageName: node + linkType: hard + +"map-cache@npm:^0.2.0": + version: 0.2.2 + resolution: "map-cache@npm:0.2.2" + checksum: 10c0/05e3eb005c1b80b9f949ca007687640e8c5d0fc88dc45c3c3ab4902a3bec79d66a58f3e3b04d6985d90cd267c629c7b46c977e9c34433e8c11ecfcbb9f0fa290 + languageName: node + linkType: hard + +"map-obj@npm:^1.0.0": + version: 1.0.1 + resolution: "map-obj@npm:1.0.1" + checksum: 10c0/ccca88395e7d38671ed9f5652ecf471ecd546924be2fb900836b9da35e068a96687d96a5f93dcdfa94d9a27d649d2f10a84595590f89a347fb4dda47629dcc52 + languageName: node + linkType: hard + +"map-obj@npm:^4.1.0": + version: 4.3.0 + resolution: "map-obj@npm:4.3.0" + checksum: 10c0/1c19e1c88513c8abdab25c316367154c6a0a6a0f77e3e8c391bb7c0e093aefed293f539d026dc013d86219e5e4c25f23b0003ea588be2101ccd757bacc12d43b + languageName: node + linkType: hard + +"matcher@npm:^3.0.0": + version: 3.0.0 + resolution: "matcher@npm:3.0.0" + dependencies: + escape-string-regexp: "npm:^4.0.0" + checksum: 10c0/2edf24194a2879690bcdb29985fc6bc0d003df44e04df21ebcac721fa6ce2f6201c579866bb92f9380bffe946f11ecd8cd31f34117fb67ebf8aca604918e127e + languageName: node + linkType: hard + +"math-intrinsics@npm:^1.1.0": + version: 1.1.0 + resolution: "math-intrinsics@npm:1.1.0" + checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f + languageName: node + linkType: hard + +"mathml-tag-names@npm:^2.1.3": + version: 2.1.3 + resolution: "mathml-tag-names@npm:2.1.3" + checksum: 10c0/e2b094658a2618433efd2678a5a3e551645e09ba17c7c777783cd8dfa0178b0195fda0a5c46a6be5e778923662cf8dde891c894c869ff14fbb4ea3208c31bc4d + languageName: node + linkType: hard + +"mdn-data@npm:2.0.28": + version: 2.0.28 + resolution: "mdn-data@npm:2.0.28" + checksum: 10c0/20000932bc4cd1cde9cba4e23f08cc4f816398af4c15ec81040ed25421d6bf07b5cf6b17095972577fb498988f40f4cb589e3169b9357bb436a12d8e07e5ea7b + languageName: node + linkType: hard + +"mdn-data@npm:2.0.30": + version: 2.0.30 + resolution: "mdn-data@npm:2.0.30" + checksum: 10c0/a2c472ea16cee3911ae742593715aa4c634eb3d4b9f1e6ada0902aa90df13dcbb7285d19435f3ff213ebaa3b2e0c0265c1eb0e3fb278fda7f8919f046a410cd9 + languageName: node + linkType: hard + +"media-typer@npm:0.3.0": + version: 0.3.0 + resolution: "media-typer@npm:0.3.0" + checksum: 10c0/d160f31246907e79fed398470285f21bafb45a62869dc469b1c8877f3f064f5eabc4bcc122f9479b8b605bc5c76187d7871cf84c4ee3ecd3e487da1993279928 + languageName: node + linkType: hard + +"media-typer@npm:^1.1.0": + version: 1.1.0 + resolution: "media-typer@npm:1.1.0" + checksum: 10c0/7b4baa40b25964bb90e2121ee489ec38642127e48d0cc2b6baa442688d3fde6262bfdca86d6bbf6ba708784afcac168c06840c71facac70e390f5f759ac121b9 + languageName: node + linkType: hard + +"meow@npm:^10.1.5": + version: 10.1.5 + resolution: "meow@npm:10.1.5" + dependencies: + "@types/minimist": "npm:^1.2.2" + camelcase-keys: "npm:^7.0.0" + decamelize: "npm:^5.0.0" + decamelize-keys: "npm:^1.1.0" + hard-rejection: "npm:^2.1.0" + minimist-options: "npm:4.1.0" + normalize-package-data: "npm:^3.0.2" + read-pkg-up: "npm:^8.0.0" + redent: "npm:^4.0.0" + trim-newlines: "npm:^4.0.2" + type-fest: "npm:^1.2.2" + yargs-parser: "npm:^20.2.9" + checksum: 10c0/a513849022edd5ddcc41d28c679d31978abe414d9db5bc457e95e537a4327b2910fd2f699cdd883293f9a5da8951a50939bf60fbd62f7fe12b9ddf96a84b1b27 + languageName: node + linkType: hard + +"merge-descriptors@npm:1.0.3": + version: 1.0.3 + resolution: "merge-descriptors@npm:1.0.3" + checksum: 10c0/866b7094afd9293b5ea5dcd82d71f80e51514bed33b4c4e9f516795dc366612a4cbb4dc94356e943a8a6914889a914530badff27f397191b9b75cda20b6bae93 + languageName: node + linkType: hard + +"merge-descriptors@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-descriptors@npm:2.0.0" + checksum: 10c0/95389b7ced3f9b36fbdcf32eb946dc3dd1774c2fdf164609e55b18d03aa499b12bd3aae3a76c1c7185b96279e9803525550d3eb292b5224866060a288f335cb3 + languageName: node + linkType: hard + +"merge-options@npm:^3.0.4": + version: 3.0.4 + resolution: "merge-options@npm:3.0.4" + dependencies: + is-plain-obj: "npm:^2.1.0" + checksum: 10c0/02b5891ceef09b0b497b5a0154c37a71784e68ed71b14748f6fd4258ffd3fe4ecd5cb0fd6f7cae3954fd11e7686c5cb64486daffa63c2793bbe8b614b61c7055 + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 + languageName: node + linkType: hard + +"merge2@npm:^1.3.0, merge2@npm:^1.4.1": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb + languageName: node + linkType: hard + +"meros@npm:^1.2.1": + version: 1.3.0 + resolution: "meros@npm:1.3.0" + peerDependencies: + "@types/node": ">=13" + peerDependenciesMeta: + "@types/node": + optional: true + checksum: 10c0/2cf9a31228ae6441428a750b67beafec062cc0d693942045336dbe6bfb44507e0ca42854a46f483ebd97e4d78cbc31322b3b85f9648b60fa7a4b28fc0f858f51 + languageName: node + linkType: hard + +"methods@npm:^1.1.2, methods@npm:~1.1.2": + version: 1.1.2 + resolution: "methods@npm:1.1.2" + checksum: 10c0/bdf7cc72ff0a33e3eede03708c08983c4d7a173f91348b4b1e4f47d4cdbf734433ad971e7d1e8c77247d9e5cd8adb81ea4c67b0a2db526b758b2233d7814b8b2 + languageName: node + linkType: hard + +"micro-api-client@npm:^3.3.0": + version: 3.3.0 + resolution: "micro-api-client@npm:3.3.0" + checksum: 10c0/a9e3a37c6c8fde3d3125c1dd8ea015e52420fb116969bcc53ce969af0707e06ab32bd9815692bcdc05e44f7bd4584fffb7f073efbfecd4b4c7c48eb8c8f726ff + languageName: node + linkType: hard + +"micromatch@npm:^4.0.5, micromatch@npm:^4.0.8": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" + dependencies: + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 + languageName: node + linkType: hard + +"mime-db@npm:1.52.0": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa + languageName: node + linkType: hard + +"mime-db@npm:^1.54.0": + version: 1.54.0 + resolution: "mime-db@npm:1.54.0" + checksum: 10c0/8d907917bc2a90fa2df842cdf5dfeaf509adc15fe0531e07bb2f6ab15992416479015828d6a74200041c492e42cce3ebf78e5ce714388a0a538ea9c53eece284 + languageName: node + linkType: hard + +"mime-types@npm:^2.1.18, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: "npm:1.52.0" + checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 + languageName: node + linkType: hard + +"mime-types@npm:^3.0.0, mime-types@npm:^3.0.1": + version: 3.0.1 + resolution: "mime-types@npm:3.0.1" + dependencies: + mime-db: "npm:^1.54.0" + checksum: 10c0/bd8c20d3694548089cf229016124f8f40e6a60bbb600161ae13e45f793a2d5bb40f96bbc61f275836696179c77c1d6bf4967b2a75e0a8ad40fe31f4ed5be4da5 + languageName: node + linkType: hard + +"mime@npm:1.6.0": + version: 1.6.0 + resolution: "mime@npm:1.6.0" + bin: + mime: cli.js + checksum: 10c0/b92cd0adc44888c7135a185bfd0dddc42c32606401c72896a842ae15da71eb88858f17669af41e498b463cd7eb998f7b48939a25b08374c7924a9c8a6f8a81b0 + languageName: node + linkType: hard + +"mime@npm:^3.0.0": + version: 3.0.0 + resolution: "mime@npm:3.0.0" + bin: + mime: cli.js + checksum: 10c0/402e792a8df1b2cc41cb77f0dcc46472b7944b7ec29cb5bbcd398624b6b97096728f1239766d3fdeb20551dd8d94738344c195a6ea10c4f906eb0356323b0531 + languageName: node + linkType: hard + +"mime@npm:^4.0.7": + version: 4.0.7 + resolution: "mime@npm:4.0.7" + bin: + mime: bin/cli.js + checksum: 10c0/2fd22ee2012a3f1dcac7dd06b7dc314dd677ebcefb14355b7c9453f0092af6eabbe9d754d9849d2a1f346ddd53d716a851379be05386f7a6ccb40af4bd61f32b + languageName: node + linkType: hard + +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 + languageName: node + linkType: hard + +"mimic-fn@npm:^4.0.0": + version: 4.0.0 + resolution: "mimic-fn@npm:4.0.0" + checksum: 10c0/de9cc32be9996fd941e512248338e43407f63f6d497abe8441fa33447d922e927de54d4cc3c1a3c6d652857acd770389d5a3823f311a744132760ce2be15ccbf + languageName: node + linkType: hard + +"mimic-response@npm:^1.0.0, mimic-response@npm:^1.0.1": + version: 1.0.1 + resolution: "mimic-response@npm:1.0.1" + checksum: 10c0/c5381a5eae997f1c3b5e90ca7f209ed58c3615caeee850e85329c598f0c000ae7bec40196580eef1781c60c709f47258131dab237cad8786f8f56750594f27fa + languageName: node + linkType: hard + +"min-indent@npm:^1.0.0, min-indent@npm:^1.0.1": + version: 1.0.1 + resolution: "min-indent@npm:1.0.1" + checksum: 10c0/7e207bd5c20401b292de291f02913230cb1163abca162044f7db1d951fa245b174dc00869d40dd9a9f32a885ad6a5f3e767ee104cf278f399cb4e92d3f582d5c + languageName: node + linkType: hard + +"mini-svg-data-uri@npm:^1.2.3": + version: 1.4.4 + resolution: "mini-svg-data-uri@npm:1.4.4" + bin: + mini-svg-data-uri: cli.js + checksum: 10c0/24545fa30b5a45449241bf19c25b8bc37594b63ec06401b3d563bd1c2e8a6abb7c18741f8b354e0064baa63c291be214154bf3a66f201ae71dfab3cc1a5e3191 + languageName: node + linkType: hard + +"minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 + languageName: node + linkType: hard + +"minimatch@npm:^5.0.1, minimatch@npm:^5.1.0": + version: 5.1.6 + resolution: "minimatch@npm:5.1.6" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/3defdfd230914f22a8da203747c42ee3c405c39d4d37ffda284dac5e45b7e1f6c49aa8be606509002898e73091ff2a3bbfc59c2c6c71d4660609f63aa92f98e3 + languageName: node + linkType: hard + +"minimatch@npm:^9.0.0, minimatch@npm:^9.0.3, minimatch@npm:^9.0.4, minimatch@npm:^9.0.5": + version: 9.0.5 + resolution: "minimatch@npm:9.0.5" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed + languageName: node + linkType: hard + +"minimist-options@npm:4.1.0": + version: 4.1.0 + resolution: "minimist-options@npm:4.1.0" + dependencies: + arrify: "npm:^1.0.1" + is-plain-obj: "npm:^1.1.0" + kind-of: "npm:^6.0.3" + checksum: 10c0/7871f9cdd15d1e7374e5b013e2ceda3d327a06a8c7b38ae16d9ef941e07d985e952c589e57213f7aa90a8744c60aed9524c0d85e501f5478382d9181f2763f54 + languageName: node + linkType: hard + +"minimist@npm:^1.2.5": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 + languageName: node + linkType: hard + +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e + languageName: node + linkType: hard + +"minipass-fetch@npm:^4.0.0": + version: 4.0.1 + resolution: "minipass-fetch@npm:4.0.1" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^3.0.1" + dependenciesMeta: + encoding: + optional: true + checksum: 10c0/a3147b2efe8e078c9bf9d024a0059339c5a09c5b1dded6900a219c218cc8b1b78510b62dae556b507304af226b18c3f1aeb1d48660283602d5b6586c399eed5c + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c + languageName: node + linkType: hard + +"minipass@npm:^5.0.0": + version: 5.0.0 + resolution: "minipass@npm:5.0.0" + checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 + languageName: node + linkType: hard + +"minizlib@npm:^2.1.1": + version: 2.1.2 + resolution: "minizlib@npm:2.1.2" + dependencies: + minipass: "npm:^3.0.0" + yallist: "npm:^4.0.0" + checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 + languageName: node + linkType: hard + +"minizlib@npm:^3.0.1": + version: 3.0.2 + resolution: "minizlib@npm:3.0.2" + dependencies: + minipass: "npm:^7.1.2" + checksum: 10c0/9f3bd35e41d40d02469cb30470c55ccc21cae0db40e08d1d0b1dff01cc8cc89a6f78e9c5d2b7c844e485ec0a8abc2238111213fdc5b2038e6d1012eacf316f78 + languageName: node + linkType: hard + +"mitt@npm:^3.0.1": + version: 3.0.1 + resolution: "mitt@npm:3.0.1" + checksum: 10c0/3ab4fdecf3be8c5255536faa07064d05caa3dd332bd318ff02e04621f7b3069ca1de9106cfe8e7ced675abfc2bec2ce4c4ef321c4a1bb1fb29df8ae090741913 + languageName: node + linkType: hard + +"mkdirp@npm:^1.0.3": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf + languageName: node + linkType: hard + +"mkdirp@npm:^3.0.1": + version: 3.0.1 + resolution: "mkdirp@npm:3.0.1" + bin: + mkdirp: dist/cjs/src/bin.js + checksum: 10c0/9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d + languageName: node + linkType: hard + +"mlly@npm:^1.3.0, mlly@npm:^1.6.1, mlly@npm:^1.7.0, mlly@npm:^1.7.1, mlly@npm:^1.7.4": + version: 1.7.4 + resolution: "mlly@npm:1.7.4" + dependencies: + acorn: "npm:^8.14.0" + pathe: "npm:^2.0.1" + pkg-types: "npm:^1.3.0" + ufo: "npm:^1.5.4" + checksum: 10c0/69e738218a13d6365caf930e0ab4e2b848b84eec261597df9788cefb9930f3e40667be9cb58a4718834ba5f97a6efeef31d3b5a95f4388143fd4e0d0deff72ff + languageName: node + linkType: hard + +"mocked-exports@npm:^0.1.1": + version: 0.1.1 + resolution: "mocked-exports@npm:0.1.1" + checksum: 10c0/14b0a424f20ad64f49bb36f3068640fb2dbe2f702e9d775ab278636381c09db62bc7ba88ff3874edb8eefb4c1b40c38a6aade5afe80bd34009cc563a0a573c60 + languageName: node + linkType: hard + +"module-definition@npm:^5.0.1": + version: 5.0.1 + resolution: "module-definition@npm:5.0.1" + dependencies: + ast-module-types: "npm:^5.0.0" + node-source-walk: "npm:^6.0.1" + bin: + module-definition: bin/cli.js + checksum: 10c0/7fdaca717c523dbba6dbe8f8b2e53e18038c0fbbef8deedd497af05a19f8fa069939dec90df2d3c027ea942b28c1f7cc088911cc212859c192c247b470e0d1a9 + languageName: node + linkType: hard + +"mrmime@npm:^2.0.0": + version: 2.0.1 + resolution: "mrmime@npm:2.0.1" + checksum: 10c0/af05afd95af202fdd620422f976ad67dc18e6ee29beb03dd1ce950ea6ef664de378e44197246df4c7cdd73d47f2e7143a6e26e473084b9e4aa2095c0ad1e1761 + languageName: node + linkType: hard + +"ms@npm:2.0.0": + version: 2.0.0 + resolution: "ms@npm:2.0.0" + checksum: 10c0/f8fda810b39fd7255bbdc451c46286e549794fcc700dc9cd1d25658bbc4dc2563a5de6fe7c60f798a16a60c6ceb53f033cb353f493f0cf63e5199b702943159d + languageName: node + linkType: hard + +"ms@npm:2.1.3, ms@npm:^2.1.1, ms@npm:^2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 + languageName: node + linkType: hard + +"muggle-string@npm:^0.4.1": + version: 0.4.1 + resolution: "muggle-string@npm:0.4.1" + checksum: 10c0/e914b63e24cd23f97e18376ec47e4ba3aa24365e4776212b666add2e47bb158003212980d732c49abf3719568900af7861873844a6e2d3a7ca7e86952c0e99e9 + languageName: node + linkType: hard + +"mute-stream@npm:0.0.8": + version: 0.0.8 + resolution: "mute-stream@npm:0.0.8" + checksum: 10c0/18d06d92e5d6d45e2b63c0e1b8f25376af71748ac36f53c059baa8b76ffac31c5ab225480494e7d35d30215ecdb18fed26ec23cafcd2f7733f2f14406bcd19e2 + languageName: node + linkType: hard + +"mz@npm:^2.7.0": + version: 2.7.0 + resolution: "mz@npm:2.7.0" + dependencies: + any-promise: "npm:^1.0.0" + object-assign: "npm:^4.0.1" + thenify-all: "npm:^1.0.0" + checksum: 10c0/103114e93f87362f0b56ab5b2e7245051ad0276b646e3902c98397d18bb8f4a77f2ea4a2c9d3ad516034ea3a56553b60d3f5f78220001ca4c404bd711bd0af39 + languageName: node + linkType: hard + +"nanoevents@npm:^8.0.0": + version: 8.0.0 + resolution: "nanoevents@npm:8.0.0" + checksum: 10c0/c840b610ce21132cc6881fc5a522008984b6ca63641a2e1ca8e30c25d476eebad57f3652e6de63dcaaa001ed50c307a5a4c58ed01b4217ba20936a42993c7f0e + languageName: node + linkType: hard + +"nanoid@npm:^3.0.0, nanoid@npm:^3.3.8": + version: 3.3.11 + resolution: "nanoid@npm:3.3.11" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/40e7f70b3d15f725ca072dfc4f74e81fcf1fbb02e491cf58ac0c79093adc9b0a73b152bcde57df4b79cd097e13023d7504acb38404a4da7bc1cd8e887b82fe0b + languageName: node + linkType: hard + +"nanoid@npm:^5.1.0, nanoid@npm:^5.1.5": + version: 5.1.5 + resolution: "nanoid@npm:5.1.5" + bin: + nanoid: bin/nanoid.js + checksum: 10c0/e6004f1ad6c7123eeb037062c4441d44982037dc043aabb162457ef6986e99964ba98c63c975f96c547403beb0bf95bc537bd7bf9a09baf381656acdc2975c3c + languageName: node + linkType: hard + +"nanotar@npm:^0.2.0": + version: 0.2.0 + resolution: "nanotar@npm:0.2.0" + checksum: 10c0/4a917e38b09ffddee19fa5f4762605ebb3c8eb3cb4d5d5c83a76d29789194e7b2a29d2f0a603be4d52acdad60f721570ba7e48285487e98f182efe1c9617694a + languageName: node + linkType: hard + +"napi-wasm@npm:^1.1.0": + version: 1.1.3 + resolution: "napi-wasm@npm:1.1.3" + checksum: 10c0/7c365ab9dc59e6f20d7b7886279ecc03ffc7c3d502ed66d32652e3681c3a56c372f00f29b110aefd9b074a6bab6a997e9b602968c18622e2586818f417e41a5d + languageName: node + linkType: hard + +"natural-compare@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare@npm:1.4.0" + checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447 + languageName: node + linkType: hard + +"negotiator@npm:0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 + languageName: node + linkType: hard + +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b + languageName: node + linkType: hard + +"nested-error-stacks@npm:^2.1.1": + version: 2.1.1 + resolution: "nested-error-stacks@npm:2.1.1" + checksum: 10c0/feec00417e4778661cfbbe657e6add6ca9918dcc026cd697ac330b4a56a79e4882b36dde8abc138167566b1ce4c5baa17d2d4df727a96f8b96aebace1c3ffca7 + languageName: node + linkType: hard + +"netlify@npm:^13.3.5": + version: 13.3.5 + resolution: "netlify@npm:13.3.5" + dependencies: + "@netlify/open-api": "npm:^2.37.0" + lodash-es: "npm:^4.17.21" + micro-api-client: "npm:^3.3.0" + node-fetch: "npm:^3.0.0" + p-wait-for: "npm:^5.0.0" + qs: "npm:^6.9.6" + checksum: 10c0/ea8a942c7dc8c2d46f94f1f158a899428ad148de01ec8c3be17a35755de24157c59883ee45d8ee1d1244331c011158a9c6654e56fa9d3b7592fff82ab01fe2a1 + languageName: node + linkType: hard + +"nitropack@npm:^2.11.11": + version: 2.11.12 + resolution: "nitropack@npm:2.11.12" + dependencies: + "@cloudflare/kv-asset-handler": "npm:^0.4.0" + "@netlify/functions": "npm:^3.1.8" + "@rollup/plugin-alias": "npm:^5.1.1" + "@rollup/plugin-commonjs": "npm:^28.0.3" + "@rollup/plugin-inject": "npm:^5.0.5" + "@rollup/plugin-json": "npm:^6.1.0" + "@rollup/plugin-node-resolve": "npm:^16.0.1" + "@rollup/plugin-replace": "npm:^6.0.2" + "@rollup/plugin-terser": "npm:^0.4.4" + "@vercel/nft": "npm:^0.29.2" + archiver: "npm:^7.0.1" + c12: "npm:^3.0.3" + chokidar: "npm:^4.0.3" + citty: "npm:^0.1.6" + compatx: "npm:^0.2.0" + confbox: "npm:^0.2.2" + consola: "npm:^3.4.2" + cookie-es: "npm:^2.0.0" + croner: "npm:^9.0.0" + crossws: "npm:^0.3.5" + db0: "npm:^0.3.2" + defu: "npm:^6.1.4" + destr: "npm:^2.0.5" + dot-prop: "npm:^9.0.0" + esbuild: "npm:^0.25.4" + escape-string-regexp: "npm:^5.0.0" + etag: "npm:^1.8.1" + exsolve: "npm:^1.0.5" + globby: "npm:^14.1.0" + gzip-size: "npm:^7.0.0" + h3: "npm:^1.15.3" + hookable: "npm:^5.5.3" + httpxy: "npm:^0.1.7" + ioredis: "npm:^5.6.1" + jiti: "npm:^2.4.2" + klona: "npm:^2.0.6" + knitwork: "npm:^1.2.0" + listhen: "npm:^1.9.0" + magic-string: "npm:^0.30.17" + magicast: "npm:^0.3.5" + mime: "npm:^4.0.7" + mlly: "npm:^1.7.4" + node-fetch-native: "npm:^1.6.6" + node-mock-http: "npm:^1.0.0" + ofetch: "npm:^1.4.1" + ohash: "npm:^2.0.11" + pathe: "npm:^2.0.3" + perfect-debounce: "npm:^1.0.0" + pkg-types: "npm:^2.1.0" + pretty-bytes: "npm:^6.1.1" + radix3: "npm:^1.1.2" + rollup: "npm:^4.40.2" + rollup-plugin-visualizer: "npm:^5.14.0" + scule: "npm:^1.3.0" + semver: "npm:^7.7.2" + serve-placeholder: "npm:^2.0.2" + serve-static: "npm:^2.2.0" + source-map: "npm:^0.7.4" + std-env: "npm:^3.9.0" + ufo: "npm:^1.6.1" + ultrahtml: "npm:^1.6.0" + uncrypto: "npm:^0.1.3" + unctx: "npm:^2.4.1" + unenv: "npm:^2.0.0-rc.17" + unimport: "npm:^5.0.1" + unplugin-utils: "npm:^0.2.4" + unstorage: "npm:^1.16.0" + untyped: "npm:^2.0.0" + unwasm: "npm:^0.3.9" + youch: "npm:^4.1.0-beta.7" + youch-core: "npm:^0.3.2" + peerDependencies: + xml2js: ^0.6.2 + peerDependenciesMeta: + xml2js: + optional: true + bin: + nitro: dist/cli/index.mjs + nitropack: dist/cli/index.mjs + checksum: 10c0/7ba46d599a6abcf2c535159afc01c3afbd2b019b697e280659ff59bbb28414c2939437cef21bc02719db54e2f2bb4f43cde0026cee7e4c8f44d0913c2d819a81 + languageName: node + linkType: hard + +"no-case@npm:^3.0.4": + version: 3.0.4 + resolution: "no-case@npm:3.0.4" + dependencies: + lower-case: "npm:^2.0.2" + tslib: "npm:^2.0.3" + checksum: 10c0/8ef545f0b3f8677c848f86ecbd42ca0ff3cd9dd71c158527b344c69ba14710d816d8489c746b6ca225e7b615108938a0bda0a54706f8c255933703ac1cf8e703 + languageName: node + linkType: hard + +"node-addon-api@npm:^7.0.0": + version: 7.1.1 + resolution: "node-addon-api@npm:7.1.1" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/fb32a206276d608037fa1bcd7e9921e177fe992fc610d098aa3128baca3c0050fc1e014fa007e9b3874cf865ddb4f5bd9f43ccb7cbbbe4efaff6a83e920b17e9 + languageName: node + linkType: hard + +"node-domexception@npm:^1.0.0": + version: 1.0.0 + resolution: "node-domexception@npm:1.0.0" + checksum: 10c0/5e5d63cda29856402df9472335af4bb13875e1927ad3be861dc5ebde38917aecbf9ae337923777af52a48c426b70148815e890a5d72760f1b4d758cc671b1a2b + languageName: node + linkType: hard + +"node-fetch-native@npm:^1.6.4, node-fetch-native@npm:^1.6.6": + version: 1.6.6 + resolution: "node-fetch-native@npm:1.6.6" + checksum: 10c0/8c12dab0e640d8bc126a03d604af9cf3fc1b87f2cda5af0c71601079d5ed835c1dc149c7042b61c83f252a382e1cf1e541788f4c9e8e6c089af77497190f5dc3 + languageName: node + linkType: hard + +"node-fetch@npm:^2.6.7, node-fetch@npm:^2.7.0": + version: 2.7.0 + resolution: "node-fetch@npm:2.7.0" + dependencies: + whatwg-url: "npm:^5.0.0" + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + checksum: 10c0/b55786b6028208e6fbe594ccccc213cab67a72899c9234eb59dba51062a299ea853210fcf526998eaa2867b0963ad72338824450905679ff0fa304b8c5093ae8 + languageName: node + linkType: hard + +"node-fetch@npm:^3.0.0, node-fetch@npm:^3.3.2": + version: 3.3.2 + resolution: "node-fetch@npm:3.3.2" + dependencies: + data-uri-to-buffer: "npm:^4.0.0" + fetch-blob: "npm:^3.1.4" + formdata-polyfill: "npm:^4.0.10" + checksum: 10c0/f3d5e56190562221398c9f5750198b34cf6113aa304e34ee97c94fd300ec578b25b2c2906edba922050fce983338fde0d5d34fcb0fc3336ade5bd0e429ad7538 + languageName: node + linkType: hard + +"node-forge@npm:^1.3.1": + version: 1.3.1 + resolution: "node-forge@npm:1.3.1" + checksum: 10c0/e882819b251a4321f9fc1d67c85d1501d3004b4ee889af822fd07f64de3d1a8e272ff00b689570af0465d65d6bf5074df9c76e900e0aff23e60b847f2a46fbe8 + languageName: node + linkType: hard + +"node-gyp-build@npm:^4.2.2, node-gyp-build@npm:^4.3.0": + version: 4.8.4 + resolution: "node-gyp-build@npm:4.8.4" + bin: + node-gyp-build: bin.js + node-gyp-build-optional: optional.js + node-gyp-build-test: build-test.js + checksum: 10c0/444e189907ece2081fe60e75368784f7782cfddb554b60123743dfb89509df89f1f29c03bbfa16b3a3e0be3f48799a4783f487da6203245fa5bed239ba7407e1 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 11.2.0 + resolution: "node-gyp@npm:11.2.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^14.0.3" + nopt: "npm:^8.0.0" + proc-log: "npm:^5.0.0" + semver: "npm:^7.3.5" + tar: "npm:^7.4.3" + tinyglobby: "npm:^0.2.12" + which: "npm:^5.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/bd8d8c76b06be761239b0c8680f655f6a6e90b48e44d43415b11c16f7e8c15be346fba0cbf71588c7cdfb52c419d928a7d3db353afc1d952d19756237d8f10b9 + languageName: node + linkType: hard + +"node-int64@npm:^0.4.0": + version: 0.4.0 + resolution: "node-int64@npm:0.4.0" + checksum: 10c0/a6a4d8369e2f2720e9c645255ffde909c0fbd41c92ea92a5607fc17055955daac99c1ff589d421eee12a0d24e99f7bfc2aabfeb1a4c14742f6c099a51863f31a + languageName: node + linkType: hard + +"node-mock-http@npm:^1.0.0": + version: 1.0.0 + resolution: "node-mock-http@npm:1.0.0" + checksum: 10c0/cb3fd7c17e7043b87a8d7a9ef1dcd4e2cde312cd224716c5fb3a4b56b48607c257a2e7356e73262db60ebf9e17e23b7a9c5230785f630c6a437090bfd26dd242 + languageName: node + linkType: hard + +"node-releases@npm:^2.0.19": + version: 2.0.19 + resolution: "node-releases@npm:2.0.19" + checksum: 10c0/52a0dbd25ccf545892670d1551690fe0facb6a471e15f2cfa1b20142a5b255b3aa254af5f59d6ecb69c2bec7390bc643c43aa63b13bf5e64b6075952e716b1aa + languageName: node + linkType: hard + +"node-source-walk@npm:^6.0.0, node-source-walk@npm:^6.0.1, node-source-walk@npm:^6.0.2": + version: 6.0.2 + resolution: "node-source-walk@npm:6.0.2" + dependencies: + "@babel/parser": "npm:^7.21.8" + checksum: 10c0/199875bf108750693c55c30b13085ab2956059593c7a5c10c3a30ea3c16b7448e7514d63767dbd825c71ab40be76f66c4d98f17794e3232a645867a99a82fb19 + languageName: node + linkType: hard + +"nopt@npm:^5.0.0": + version: 5.0.0 + resolution: "nopt@npm:5.0.0" + dependencies: + abbrev: "npm:1" + bin: + nopt: bin/nopt.js + checksum: 10c0/fc5c4f07155cb455bf5fc3dd149fac421c1a40fd83c6bfe83aa82b52f02c17c5e88301321318adaa27611c8a6811423d51d29deaceab5fa158b585a61a551061 + languageName: node + linkType: hard + +"nopt@npm:^8.0.0": + version: 8.1.0 + resolution: "nopt@npm:8.1.0" + dependencies: + abbrev: "npm:^3.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/62e9ea70c7a3eb91d162d2c706b6606c041e4e7b547cbbb48f8b3695af457dd6479904d7ace600856bf923dd8d1ed0696f06195c8c20f02ac87c1da0e1d315ef + languageName: node + linkType: hard + +"normalize-package-data@npm:^2.5.0": + version: 2.5.0 + resolution: "normalize-package-data@npm:2.5.0" + dependencies: + hosted-git-info: "npm:^2.1.4" + resolve: "npm:^1.10.0" + semver: "npm:2 || 3 || 4 || 5" + validate-npm-package-license: "npm:^3.0.1" + checksum: 10c0/357cb1646deb42f8eb4c7d42c4edf0eec312f3628c2ef98501963cc4bbe7277021b2b1d977f982b2edce78f5a1014613ce9cf38085c3df2d76730481357ca504 + languageName: node + linkType: hard + +"normalize-package-data@npm:^3.0.2": + version: 3.0.3 + resolution: "normalize-package-data@npm:3.0.3" + dependencies: + hosted-git-info: "npm:^4.0.1" + is-core-module: "npm:^2.5.0" + semver: "npm:^7.3.4" + validate-npm-package-license: "npm:^3.0.1" + checksum: 10c0/e5d0f739ba2c465d41f77c9d950e291ea4af78f8816ddb91c5da62257c40b76d8c83278b0d08ffbcd0f187636ebddad20e181e924873916d03e6e5ea2ef026be + languageName: node + linkType: hard + +"normalize-package-data@npm:^6.0.0": + version: 6.0.2 + resolution: "normalize-package-data@npm:6.0.2" + dependencies: + hosted-git-info: "npm:^7.0.0" + semver: "npm:^7.3.5" + validate-npm-package-license: "npm:^3.0.4" + checksum: 10c0/7e32174e7f5575ede6d3d449593247183880122b4967d4ae6edb28cea5769ca025defda54fc91ec0e3c972fdb5ab11f9284606ba278826171b264cb16a9311ef + languageName: node + linkType: hard + +"normalize-path@npm:^2.1.1": + version: 2.1.1 + resolution: "normalize-path@npm:2.1.1" + dependencies: + remove-trailing-separator: "npm:^1.0.1" + checksum: 10c0/db814326ff88057437233361b4c7e9cac7b54815b051b57f2d341ce89b1d8ec8cbd43e7fa95d7652b3b69ea8fcc294b89b8530d556a84d1bdace94229e1e9a8b + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 + languageName: node + linkType: hard + +"normalize-range@npm:^0.1.2": + version: 0.1.2 + resolution: "normalize-range@npm:0.1.2" + checksum: 10c0/bf39b73a63e0a42ad1a48c2bd1bda5a07ede64a7e2567307a407674e595bcff0fa0d57e8e5f1e7fa5e91000797c7615e13613227aaaa4d6d6e87f5bd5cc95de6 + languageName: node + linkType: hard + +"normalize-url@npm:^4.1.0": + version: 4.5.1 + resolution: "normalize-url@npm:4.5.1" + checksum: 10c0/6362e9274fdcc310f8b17e20de29754c94e1820d864114f03d3bfd6286a0028fc51705fb3fd4e475013357b5cd7421fc17f3aba93f2289056779a9bb23bccf59 + languageName: node + linkType: hard + +"npm-conf@npm:^1.1.3": + version: 1.1.3 + resolution: "npm-conf@npm:1.1.3" + dependencies: + config-chain: "npm:^1.1.11" + pify: "npm:^3.0.0" + checksum: 10c0/4a54540e1e5ade9afe4b3be2e651a1198172015f8c51293c7124c4dfae402f2b67549cdf1d0eb918f3ef66016ba63672520b4bb3afaef815f5e98b52a74f5848 + languageName: node + linkType: hard + +"npm-run-path@npm:^5.1.0": + version: 5.3.0 + resolution: "npm-run-path@npm:5.3.0" + dependencies: + path-key: "npm:^4.0.0" + checksum: 10c0/124df74820c40c2eb9a8612a254ea1d557ddfab1581c3e751f825e3e366d9f00b0d76a3c94ecd8398e7f3eee193018622677e95816e8491f0797b21e30b2deba + languageName: node + linkType: hard + +"npm-run-path@npm:^6.0.0": + version: 6.0.0 + resolution: "npm-run-path@npm:6.0.0" + dependencies: + path-key: "npm:^4.0.0" + unicorn-magic: "npm:^0.3.0" + checksum: 10c0/b223c8a0dcd608abf95363ea5c3c0ccc3cd877daf0102eaf1b0f2390d6858d8337fbb7c443af2403b067a7d2c116d10691ecd22ab3c5273c44da1ff8d07753bd + languageName: node + linkType: hard + +"npmlog@npm:^5.0.1": + version: 5.0.1 + resolution: "npmlog@npm:5.0.1" + dependencies: + are-we-there-yet: "npm:^2.0.0" + console-control-strings: "npm:^1.1.0" + gauge: "npm:^3.0.0" + set-blocking: "npm:^2.0.0" + checksum: 10c0/489ba519031013001135c463406f55491a17fc7da295c18a04937fe3a4d523fd65e88dd418a28b967ab743d913fdeba1e29838ce0ad8c75557057c481f7d49fa + languageName: node + linkType: hard + +"nth-check@npm:^2.0.1, nth-check@npm:^2.1.1": + version: 2.1.1 + resolution: "nth-check@npm:2.1.1" + dependencies: + boolbase: "npm:^1.0.0" + checksum: 10c0/5fee7ff309727763689cfad844d979aedd2204a817fbaaf0e1603794a7c20db28548d7b024692f953557df6ce4a0ee4ae46cd8ebd9b36cfb300b9226b567c479 + languageName: node + linkType: hard + +"nullthrows@npm:^1.1.1": + version: 1.1.1 + resolution: "nullthrows@npm:1.1.1" + checksum: 10c0/56f34bd7c3dcb3bd23481a277fa22918120459d3e9d95ca72976c72e9cac33a97483f0b95fc420e2eb546b9fe6db398273aba9a938650cdb8c98ee8f159dcb30 + languageName: node + linkType: hard + +"nuxt@npm:^3.17.3": + version: 3.17.3 + resolution: "nuxt@npm:3.17.3" + dependencies: + "@nuxt/cli": "npm:^3.25.1" + "@nuxt/devalue": "npm:^2.0.2" + "@nuxt/devtools": "npm:^2.4.0" + "@nuxt/kit": "npm:3.17.3" + "@nuxt/schema": "npm:3.17.3" + "@nuxt/telemetry": "npm:^2.6.6" + "@nuxt/vite-builder": "npm:3.17.3" + "@unhead/vue": "npm:^2.0.8" + "@vue/shared": "npm:^3.5.13" + c12: "npm:^3.0.3" + chokidar: "npm:^4.0.3" + compatx: "npm:^0.2.0" + consola: "npm:^3.4.2" + cookie-es: "npm:^2.0.0" + defu: "npm:^6.1.4" + destr: "npm:^2.0.5" + devalue: "npm:^5.1.1" + errx: "npm:^0.1.0" + esbuild: "npm:^0.25.4" + escape-string-regexp: "npm:^5.0.0" + estree-walker: "npm:^3.0.3" + exsolve: "npm:^1.0.5" + globby: "npm:^14.1.0" + h3: "npm:^1.15.3" + hookable: "npm:^5.5.3" + ignore: "npm:^7.0.4" + impound: "npm:^1.0.0" + jiti: "npm:^2.4.2" + klona: "npm:^2.0.6" + knitwork: "npm:^1.2.0" + magic-string: "npm:^0.30.17" + mlly: "npm:^1.7.4" + mocked-exports: "npm:^0.1.1" + nanotar: "npm:^0.2.0" + nitropack: "npm:^2.11.11" + nypm: "npm:^0.6.0" + ofetch: "npm:^1.4.1" + ohash: "npm:^2.0.11" + on-change: "npm:^5.0.1" + oxc-parser: "npm:^0.69.0" + pathe: "npm:^2.0.3" + perfect-debounce: "npm:^1.0.0" + pkg-types: "npm:^2.1.0" + radix3: "npm:^1.1.2" + scule: "npm:^1.3.0" + semver: "npm:^7.7.1" + std-env: "npm:^3.9.0" + strip-literal: "npm:^3.0.0" + tinyglobby: "npm:0.2.13" + ufo: "npm:^1.6.1" + ultrahtml: "npm:^1.6.0" + uncrypto: "npm:^0.1.3" + unctx: "npm:^2.4.1" + unimport: "npm:^5.0.1" + unplugin: "npm:^2.3.3" + unplugin-vue-router: "npm:^0.12.0" + unstorage: "npm:^1.16.0" + untyped: "npm:^2.0.0" + vue: "npm:^3.5.13" + vue-bundle-renderer: "npm:^2.1.1" + vue-devtools-stub: "npm:^0.1.0" + vue-router: "npm:^4.5.1" + peerDependencies: + "@parcel/watcher": ^2.1.0 + "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 + peerDependenciesMeta: + "@parcel/watcher": + optional: true + "@types/node": + optional: true + bin: + nuxi: bin/nuxt.mjs + nuxt: bin/nuxt.mjs + checksum: 10c0/cc674844d262d843350fbe2d2815b46b00836929113a47e2a73f0301bf98bdc339bdb207956ce6681508e9e3001c9e2de542e03e9c925a9e3e9d09eaef14b4c8 + languageName: node + linkType: hard + +"nypm@npm:^0.6.0": + version: 0.6.0 + resolution: "nypm@npm:0.6.0" + dependencies: + citty: "npm:^0.1.6" + consola: "npm:^3.4.0" + pathe: "npm:^2.0.3" + pkg-types: "npm:^2.0.0" + tinyexec: "npm:^0.3.2" + bin: + nypm: dist/cli.mjs + checksum: 10c0/899f16c2df1bdf3ef4de5f7d4ed5530e2e1ca097cc7dedbaa25abb6b8e44bb470c25cd26639f6e3e4f5734867e61f7f77c4ed5dfbe86b2a1bdef4525a2dc0026 + languageName: node + linkType: hard + +"object-assign@npm:^4, object-assign@npm:^4.0.1, object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 + languageName: node + linkType: hard + +"object-hash@npm:^3.0.0": + version: 3.0.0 + resolution: "object-hash@npm:3.0.0" + checksum: 10c0/a06844537107b960c1c8b96cd2ac8592a265186bfa0f6ccafe0d34eabdb526f6fa81da1f37c43df7ed13b12a4ae3457a16071603bcd39d8beddb5f08c37b0f47 + languageName: node + linkType: hard + +"object-inspect@npm:^1.13.3": + version: 1.13.4 + resolution: "object-inspect@npm:1.13.4" + checksum: 10c0/d7f8711e803b96ea3191c745d6f8056ce1f2496e530e6a19a0e92d89b0fa3c76d910c31f0aa270432db6bd3b2f85500a376a83aaba849a8d518c8845b3211692 + languageName: node + linkType: hard + +"object-keys@npm:^1.1.1": + version: 1.1.1 + resolution: "object-keys@npm:1.1.1" + checksum: 10c0/b11f7ccdbc6d406d1f186cdadb9d54738e347b2692a14439ca5ac70c225fa6db46db809711b78589866d47b25fc3e8dee0b4c722ac751e11180f9380e3d8601d + languageName: node + linkType: hard + +"ofetch@npm:^1.4.1": + version: 1.4.1 + resolution: "ofetch@npm:1.4.1" + dependencies: + destr: "npm:^2.0.3" + node-fetch-native: "npm:^1.6.4" + ufo: "npm:^1.5.4" + checksum: 10c0/fd712e84058ad5058a5880fe805e9bb1c2084fb7f9c54afa99a2c7e84065589b4312fa6e2dcca4432865e44ad1ec13fcd055c1bf7977ced838577a45689a04fa + languageName: node + linkType: hard + +"ohash@npm:^1.1.3": + version: 1.1.6 + resolution: "ohash@npm:1.1.6" + checksum: 10c0/3c25dde77662fffa3fa956b8975d7324311e3df15d9cf8d79b466ac3508f313e02b8ed3041d967810f68e00af344a5a3c4288be0208143c1844ba0f3cc83f777 + languageName: node + linkType: hard + +"ohash@npm:^2.0.11": + version: 2.0.11 + resolution: "ohash@npm:2.0.11" + checksum: 10c0/d07c8d79cc26da082c1a7c8d5b56c399dd4ed3b2bd069fcae6bae78c99a9bcc3ad813b1e1f49ca2f335292846d689c6141a762cf078727d2302a33d414e69c79 + languageName: node + linkType: hard + +"on-change@npm:^5.0.1": + version: 5.0.1 + resolution: "on-change@npm:5.0.1" + checksum: 10c0/3be9929f45af820288ff3c104290e8bf6346889a51f7b0ccb6eb20802e5b84e34917811a5f267c3fa94729061be99c7aeb99036d1ce6099c673551e8beb04d0a + languageName: node + linkType: hard + +"on-finished@npm:2.4.1, on-finished@npm:^2.3.0, on-finished@npm:^2.4.1": + version: 2.4.1 + resolution: "on-finished@npm:2.4.1" + dependencies: + ee-first: "npm:1.1.1" + checksum: 10c0/46fb11b9063782f2d9968863d9cbba33d77aa13c17f895f56129c274318b86500b22af3a160fe9995aa41317efcd22941b6eba747f718ced08d9a73afdb087b4 + languageName: node + linkType: hard + +"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: "npm:1" + checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 + languageName: node + linkType: hard + +"one-time@npm:^1.0.0": + version: 1.0.0 + resolution: "one-time@npm:1.0.0" + dependencies: + fn.name: "npm:1.x.x" + checksum: 10c0/6e4887b331edbb954f4e915831cbec0a7b9956c36f4feb5f6de98c448ac02ff881fd8d9b55a6b1b55030af184c6b648f340a76eb211812f4ad8c9b4b8692fdaa + languageName: node + linkType: hard + +"onetime@npm:^5.1.0": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" + dependencies: + mimic-fn: "npm:^2.1.0" + checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f + languageName: node + linkType: hard + +"onetime@npm:^6.0.0": + version: 6.0.0 + resolution: "onetime@npm:6.0.0" + dependencies: + mimic-fn: "npm:^4.0.0" + checksum: 10c0/4eef7c6abfef697dd4479345a4100c382d73c149d2d56170a54a07418c50816937ad09500e1ed1e79d235989d073a9bade8557122aee24f0576ecde0f392bb6c + languageName: node + linkType: hard + +"only@npm:~0.0.2": + version: 0.0.2 + resolution: "only@npm:0.0.2" + checksum: 10c0/d26b1347835a5a9b17afbd889ed60de3d3ae14cdeca5ba008d86e6bf055466a431adc731b82e1e8ab24a3b8be5b5c2cdbc16e652d231d18cc1a5752320aaf0a0 + languageName: node + linkType: hard + +"open@npm:^10.1.0": + version: 10.1.2 + resolution: "open@npm:10.1.2" + dependencies: + default-browser: "npm:^5.2.1" + define-lazy-prop: "npm:^3.0.0" + is-inside-container: "npm:^1.0.0" + is-wsl: "npm:^3.1.0" + checksum: 10c0/1bee796f06e549ce764f693272100323fbc04da8fa3c5b0402d6c2d11b3d76fa0aac0be7535e710015ff035326638e3b9a563f3b0e7ac3266473ed5663caae6d + languageName: node + linkType: hard + +"open@npm:^7.0.4": + version: 7.4.2 + resolution: "open@npm:7.4.2" + dependencies: + is-docker: "npm:^2.0.0" + is-wsl: "npm:^2.1.1" + checksum: 10c0/77573a6a68f7364f3a19a4c80492712720746b63680ee304555112605ead196afe91052bd3c3d165efdf4e9d04d255e87de0d0a77acec11ef47fd5261251813f + languageName: node + linkType: hard + +"open@npm:^8.4.0": + version: 8.4.2 + resolution: "open@npm:8.4.2" + dependencies: + define-lazy-prop: "npm:^2.0.0" + is-docker: "npm:^2.1.1" + is-wsl: "npm:^2.2.0" + checksum: 10c0/bb6b3a58401dacdb0aad14360626faf3fb7fba4b77816b373495988b724fb48941cad80c1b65d62bb31a17609b2cd91c41a181602caea597ca80dfbcc27e84c9 + languageName: node + linkType: hard + +"optimism@npm:^0.18.0": + version: 0.18.1 + resolution: "optimism@npm:0.18.1" + dependencies: + "@wry/caches": "npm:^1.0.0" + "@wry/context": "npm:^0.7.0" + "@wry/trie": "npm:^0.5.0" + tslib: "npm:^2.3.0" + checksum: 10c0/1c1cd065d306de2220c6a2bdd8701cb7f9aadace36a9f16d6e02db2bee23b0291f15a1219b92cde5c66d816bd33dca876dfdcdbad04b4cf9b2a7fc5a1a221e77 + languageName: node + linkType: hard + +"optionator@npm:^0.9.3": + version: 0.9.4 + resolution: "optionator@npm:0.9.4" + dependencies: + deep-is: "npm:^0.1.3" + fast-levenshtein: "npm:^2.0.6" + levn: "npm:^0.4.1" + prelude-ls: "npm:^1.2.1" + type-check: "npm:^0.4.0" + word-wrap: "npm:^1.2.5" + checksum: 10c0/4afb687a059ee65b61df74dfe87d8d6815cd6883cb8b3d5883a910df72d0f5d029821f37025e4bccf4048873dbdb09acc6d303d27b8f76b1a80dd5a7d5334675 + languageName: node + linkType: hard + +"ora@npm:^5.4.1": + version: 5.4.1 + resolution: "ora@npm:5.4.1" + dependencies: + bl: "npm:^4.1.0" + chalk: "npm:^4.1.0" + cli-cursor: "npm:^3.1.0" + cli-spinners: "npm:^2.5.0" + is-interactive: "npm:^1.0.0" + is-unicode-supported: "npm:^0.1.0" + log-symbols: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + wcwidth: "npm:^1.0.1" + checksum: 10c0/10ff14aace236d0e2f044193362b22edce4784add08b779eccc8f8ef97195cae1248db8ec1ec5f5ff076f91acbe573f5f42a98c19b78dba8c54eefff983cae85 + languageName: node + linkType: hard + +"os-tmpdir@npm:~1.0.2": + version: 1.0.2 + resolution: "os-tmpdir@npm:1.0.2" + checksum: 10c0/f438450224f8e2687605a8dd318f0db694b6293c5d835ae509a69e97c8de38b6994645337e5577f5001115470414638978cc49da1cdcc25106dad8738dc69990 + languageName: node + linkType: hard + +"oxc-parser@npm:^0.69.0": + version: 0.69.0 + resolution: "oxc-parser@npm:0.69.0" + dependencies: + "@oxc-parser/binding-darwin-arm64": "npm:0.69.0" + "@oxc-parser/binding-darwin-x64": "npm:0.69.0" + "@oxc-parser/binding-freebsd-x64": "npm:0.69.0" + "@oxc-parser/binding-linux-arm-gnueabihf": "npm:0.69.0" + "@oxc-parser/binding-linux-arm64-gnu": "npm:0.69.0" + "@oxc-parser/binding-linux-arm64-musl": "npm:0.69.0" + "@oxc-parser/binding-linux-riscv64-gnu": "npm:0.69.0" + "@oxc-parser/binding-linux-s390x-gnu": "npm:0.69.0" + "@oxc-parser/binding-linux-x64-gnu": "npm:0.69.0" + "@oxc-parser/binding-linux-x64-musl": "npm:0.69.0" + "@oxc-parser/binding-wasm32-wasi": "npm:0.69.0" + "@oxc-parser/binding-win32-arm64-msvc": "npm:0.69.0" + "@oxc-parser/binding-win32-x64-msvc": "npm:0.69.0" + "@oxc-project/types": "npm:^0.69.0" + dependenciesMeta: + "@oxc-parser/binding-darwin-arm64": + optional: true + "@oxc-parser/binding-darwin-x64": + optional: true + "@oxc-parser/binding-freebsd-x64": + optional: true + "@oxc-parser/binding-linux-arm-gnueabihf": + optional: true + "@oxc-parser/binding-linux-arm64-gnu": + optional: true + "@oxc-parser/binding-linux-arm64-musl": + optional: true + "@oxc-parser/binding-linux-riscv64-gnu": + optional: true + "@oxc-parser/binding-linux-s390x-gnu": + optional: true + "@oxc-parser/binding-linux-x64-gnu": + optional: true + "@oxc-parser/binding-linux-x64-musl": + optional: true + "@oxc-parser/binding-wasm32-wasi": + optional: true + "@oxc-parser/binding-win32-arm64-msvc": + optional: true + "@oxc-parser/binding-win32-x64-msvc": + optional: true + checksum: 10c0/cdd7828ea36d115e0f6cb7c21435b176733ce8b19ed26bbc357a639a05d51843d1302b46057bb7048efda38454dd4d2821f1b6ee90eefcb883929ffa0656f662 + languageName: node + linkType: hard + +"p-cancelable@npm:^1.0.0": + version: 1.1.0 + resolution: "p-cancelable@npm:1.1.0" + checksum: 10c0/9f16d7d58897edb07b1a9234b2bfce3665c747f0f13886e25e2144ecab4595412017cc8cc3b0042f89864b997d6dba76c130724e1c0923fc41ff3c9399b87449 + languageName: node + linkType: hard + +"p-event@npm:^5.0.1": + version: 5.0.1 + resolution: "p-event@npm:5.0.1" + dependencies: + p-timeout: "npm:^5.0.2" + checksum: 10c0/2317171489537f316661fa863f3bb711b2ceb89182937238422cec10223cbb958c432d6c26a238446a622d788187bdd295b1d8ecedbe2e467e045930d60202b0 + languageName: node + linkType: hard + +"p-limit@npm:3.1.0, p-limit@npm:^3.0.2": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: "npm:^0.1.0" + checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a + languageName: node + linkType: hard + +"p-limit@npm:^2.2.0": + version: 2.3.0 + resolution: "p-limit@npm:2.3.0" + dependencies: + p-try: "npm:^2.0.0" + checksum: 10c0/8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12 + languageName: node + linkType: hard + +"p-limit@npm:^4.0.0": + version: 4.0.0 + resolution: "p-limit@npm:4.0.0" + dependencies: + yocto-queue: "npm:^1.0.0" + checksum: 10c0/a56af34a77f8df2ff61ddfb29431044557fcbcb7642d5a3233143ebba805fc7306ac1d448de724352861cb99de934bc9ab74f0d16fe6a5460bdbdf938de875ad + languageName: node + linkType: hard + +"p-locate@npm:^4.1.0": + version: 4.1.0 + resolution: "p-locate@npm:4.1.0" + dependencies: + p-limit: "npm:^2.2.0" + checksum: 10c0/1b476ad69ad7f6059744f343b26d51ce091508935c1dbb80c4e0a2f397ffce0ca3a1f9f5cd3c7ce19d7929a09719d5c65fe70d8ee289c3f267cd36f2881813e9 + languageName: node + linkType: hard + +"p-locate@npm:^5.0.0": + version: 5.0.0 + resolution: "p-locate@npm:5.0.0" + dependencies: + p-limit: "npm:^3.0.2" + checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a + languageName: node + linkType: hard + +"p-locate@npm:^6.0.0": + version: 6.0.0 + resolution: "p-locate@npm:6.0.0" + dependencies: + p-limit: "npm:^4.0.0" + checksum: 10c0/d72fa2f41adce59c198270aa4d3c832536c87a1806e0f69dffb7c1a7ca998fb053915ca833d90f166a8c082d3859eabfed95f01698a3214c20df6bb8de046312 + languageName: node + linkType: hard + +"p-map@npm:^4.0.0": + version: 4.0.0 + resolution: "p-map@npm:4.0.0" + dependencies: + aggregate-error: "npm:^3.0.0" + checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 + languageName: node + linkType: hard + +"p-map@npm:^7.0.0, p-map@npm:^7.0.2": + version: 7.0.3 + resolution: "p-map@npm:7.0.3" + checksum: 10c0/46091610da2b38ce47bcd1d8b4835a6fa4e832848a6682cf1652bc93915770f4617afc844c10a77d1b3e56d2472bb2d5622353fa3ead01a7f42b04fc8e744a5c + languageName: node + linkType: hard + +"p-timeout@npm:^5.0.2": + version: 5.1.0 + resolution: "p-timeout@npm:5.1.0" + checksum: 10c0/1b026cf9d5878c64bec4341ca9cda8ec6b8b3aea8a57885ca0fe2b35753a20d767fb6f9d3aa41e1252f42bc95432c05ea33b6b18f271fb10bfb0789591850a41 + languageName: node + linkType: hard + +"p-timeout@npm:^6.0.0": + version: 6.1.4 + resolution: "p-timeout@npm:6.1.4" + checksum: 10c0/019edad1c649ab07552aa456e40ce7575c4b8ae863191477f02ac8d283ac8c66cedef0ca93422735130477a051dfe952ba717641673fd3599befdd13f63bcc33 + languageName: node + linkType: hard + +"p-try@npm:^2.0.0": + version: 2.2.0 + resolution: "p-try@npm:2.2.0" + checksum: 10c0/c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f + languageName: node + linkType: hard + +"p-wait-for@npm:^5.0.0": + version: 5.0.2 + resolution: "p-wait-for@npm:5.0.2" + dependencies: + p-timeout: "npm:^6.0.0" + checksum: 10c0/4fe3092f982c592d0dda775ce6186d6f8c57234f722d6f51d1b2d32236643b970b2ea0b59bb63e748b960eb440f627d672fd0ec1492165e3c8f5b1ec0c21cf3e + languageName: node + linkType: hard + +"package-json-from-dist@npm:^1.0.0": + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b + languageName: node + linkType: hard + +"package-manager-detector@npm:^1.1.0": + version: 1.3.0 + resolution: "package-manager-detector@npm:1.3.0" + checksum: 10c0/b4b54a81a3230edd66564a59ff6a2233086961e36ba91a28a0f6d6932a8dec36618ace50e8efec9c4d8c6aa9828e98814557a39fb6b106c161434ccb44a80e1c + languageName: node + linkType: hard + +"param-case@npm:^3.0.4": + version: 3.0.4 + resolution: "param-case@npm:3.0.4" + dependencies: + dot-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/ccc053f3019f878eca10e70ec546d92f51a592f762917dafab11c8b532715dcff58356118a6f350976e4ab109e321756f05739643ed0ca94298e82291e6f9e76 + languageName: node + linkType: hard + +"parent-module@npm:^1.0.0": + version: 1.0.1 + resolution: "parent-module@npm:1.0.1" + dependencies: + callsites: "npm:^3.0.0" + checksum: 10c0/c63d6e80000d4babd11978e0d3fee386ca7752a02b035fd2435960ffaa7219dc42146f07069fb65e6e8bf1caef89daf9af7535a39bddf354d78bf50d8294f556 + languageName: node + linkType: hard + +"parse-filepath@npm:^1.0.2": + version: 1.0.2 + resolution: "parse-filepath@npm:1.0.2" + dependencies: + is-absolute: "npm:^1.0.0" + map-cache: "npm:^0.2.0" + path-root: "npm:^0.1.1" + checksum: 10c0/37bbd225fa864257246777efbdf72a9305c4ae12110bf467d11994e93f8be60dd309dcef68124a2c78c5d3b4e64e1c36fcc2560e2ea93fd97767831e7a446805 + languageName: node + linkType: hard + +"parse-gitignore@npm:^2.0.0": + version: 2.0.0 + resolution: "parse-gitignore@npm:2.0.0" + checksum: 10c0/d42d8512ad1737fbe47bd1ecdd685bb08efb777136cafcf1344eba9fd3104f79c14e9d3d1b313427b900250d99827ef124e0dc06ff6e9883b2d3617e56b2cbbc + languageName: node + linkType: hard + +"parse-imports@npm:^2.1.1": + version: 2.2.1 + resolution: "parse-imports@npm:2.2.1" + dependencies: + es-module-lexer: "npm:^1.5.3" + slashes: "npm:^3.0.12" + checksum: 10c0/bc541ce4ef2ff77d53247de39a956e0ee7a1a4b9b175c3e0f898222fe7994595f011491154db4ed408cbaf5049ede9d0b6624125565be208e973a54420cbe069 + languageName: node + linkType: hard + +"parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": + version: 5.2.0 + resolution: "parse-json@npm:5.2.0" + dependencies: + "@babel/code-frame": "npm:^7.0.0" + error-ex: "npm:^1.3.1" + json-parse-even-better-errors: "npm:^2.3.0" + lines-and-columns: "npm:^1.1.6" + checksum: 10c0/77947f2253005be7a12d858aedbafa09c9ae39eb4863adf330f7b416ca4f4a08132e453e08de2db46459256fb66afaac5ee758b44fe6541b7cdaf9d252e59585 + languageName: node + linkType: hard + +"parse-json@npm:^8.0.0": + version: 8.3.0 + resolution: "parse-json@npm:8.3.0" + dependencies: + "@babel/code-frame": "npm:^7.26.2" + index-to-position: "npm:^1.1.0" + type-fest: "npm:^4.39.1" + checksum: 10c0/0eb5a50f88b8428c8f7a9cf021636c16664f0c62190323652d39e7bdf62953e7c50f9957e55e17dc2d74fc05c89c11f5553f381dbc686735b537ea9b101c7153 + languageName: node + linkType: hard + +"parse-path@npm:^7.0.0": + version: 7.1.0 + resolution: "parse-path@npm:7.1.0" + dependencies: + protocols: "npm:^2.0.0" + checksum: 10c0/8c8c8b3019323d686e7b1cd6fd9653bc233404403ad68827836fbfe59dfe26aaef64ed4e0396d0e20c4a7e1469312ec969a679618960e79d5e7c652dc0da5a0f + languageName: node + linkType: hard + +"parse-url@npm:^9.2.0": + version: 9.2.0 + resolution: "parse-url@npm:9.2.0" + dependencies: + "@types/parse-path": "npm:^7.0.0" + parse-path: "npm:^7.0.0" + checksum: 10c0/b8f56cdb01e76616255dff82544f4b5ab4378f6f4bac8604ed6fde03a75b0f71c547d92688386d8f22f38fad3c928c075abf69458677c6185da76c841bfd7a93 + languageName: node + linkType: hard + +"parseurl@npm:^1.3.2, parseurl@npm:^1.3.3, parseurl@npm:~1.3.3": + version: 1.3.3 + resolution: "parseurl@npm:1.3.3" + checksum: 10c0/90dd4760d6f6174adb9f20cf0965ae12e23879b5f5464f38e92fce8073354341e4b3b76fa3d878351efe7d01e617121955284cfd002ab087fba1a0726ec0b4f5 + languageName: node + linkType: hard + +"pascal-case@npm:^3.1.2": + version: 3.1.2 + resolution: "pascal-case@npm:3.1.2" + dependencies: + no-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/05ff7c344809fd272fc5030ae0ee3da8e4e63f36d47a1e0a4855ca59736254192c5a27b5822ed4bae96e54048eec5f6907713cfcfff7cdf7a464eaf7490786d8 + languageName: node + linkType: hard + +"path-browserify@npm:^1.0.1": + version: 1.0.1 + resolution: "path-browserify@npm:1.0.1" + checksum: 10c0/8b8c3fd5c66bd340272180590ae4ff139769e9ab79522e2eb82e3d571a89b8117c04147f65ad066dccfb42fcad902e5b7d794b3d35e0fd840491a8ddbedf8c66 + languageName: node + linkType: hard + +"path-case@npm:^3.0.4": + version: 3.0.4 + resolution: "path-case@npm:3.0.4" + dependencies: + dot-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/b6b14637228a558793f603aaeb2fcd981e738b8b9319421b713532fba96d75aa94024b9f6b9ae5aa33d86755144a5b36697d28db62ae45527dbd672fcc2cf0b7 + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b + languageName: node + linkType: hard + +"path-exists@npm:^5.0.0": + version: 5.0.0 + resolution: "path-exists@npm:5.0.0" + checksum: 10c0/b170f3060b31604cde93eefdb7392b89d832dfbc1bed717c9718cbe0f230c1669b7e75f87e19901da2250b84d092989a0f9e44d2ef41deb09aa3ad28e691a40a + languageName: node + linkType: hard + +"path-is-absolute@npm:1.0.1, path-is-absolute@npm:^1.0.0": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 + languageName: node + linkType: hard + +"path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"path-key@npm:^4.0.0": + version: 4.0.0 + resolution: "path-key@npm:4.0.0" + checksum: 10c0/794efeef32863a65ac312f3c0b0a99f921f3e827ff63afa5cb09a377e202c262b671f7b3832a4e64731003fa94af0263713962d317b9887bd1e0c48a342efba3 + languageName: node + linkType: hard + +"path-parse@npm:^1.0.7": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 + languageName: node + linkType: hard + +"path-root-regex@npm:^0.1.0": + version: 0.1.2 + resolution: "path-root-regex@npm:0.1.2" + checksum: 10c0/27651a234f280c70d982dd25c35550f74a4284cde6b97237aab618cb4b5745682d18cdde1160617bb4a4b6b8aec4fbc911c4a2ad80d01fa4c7ee74dae7af2337 + languageName: node + linkType: hard + +"path-root@npm:^0.1.1": + version: 0.1.1 + resolution: "path-root@npm:0.1.1" + dependencies: + path-root-regex: "npm:^0.1.0" + checksum: 10c0/aed5cd290df84c46c7730f6a363e95e47a23929b51ab068a3818d69900da3e89dc154cdfd0c45c57b2e02f40c094351bc862db70c2cb00b7e6bd47039a227813 + languageName: node + linkType: hard + +"path-scurry@npm:^1.11.1": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" + dependencies: + lru-cache: "npm:^10.2.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d + languageName: node + linkType: hard + +"path-to-regexp@npm:0.1.12": + version: 0.1.12 + resolution: "path-to-regexp@npm:0.1.12" + checksum: 10c0/1c6ff10ca169b773f3bba943bbc6a07182e332464704572962d277b900aeee81ac6aa5d060ff9e01149636c30b1f63af6e69dd7786ba6e0ddb39d4dee1f0645b + languageName: node + linkType: hard + +"path-to-regexp@npm:^6.3.0": + version: 6.3.0 + resolution: "path-to-regexp@npm:6.3.0" + checksum: 10c0/73b67f4638b41cde56254e6354e46ae3a2ebc08279583f6af3d96fe4664fc75788f74ed0d18ca44fa4a98491b69434f9eee73b97bb5314bd1b5adb700f5c18d6 + languageName: node + linkType: hard + +"path-to-regexp@npm:^8.0.0": + version: 8.2.0 + resolution: "path-to-regexp@npm:8.2.0" + checksum: 10c0/ef7d0a887b603c0a142fad16ccebdcdc42910f0b14830517c724466ad676107476bba2fe9fffd28fd4c141391ccd42ea426f32bb44c2c82ecaefe10c37b90f5a + languageName: node + linkType: hard + +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c + languageName: node + linkType: hard + +"path-type@npm:^6.0.0": + version: 6.0.0 + resolution: "path-type@npm:6.0.0" + checksum: 10c0/55baa8b1187d6dc683d5a9cfcc866168d6adff58e5db91126795376d818eee46391e00b2a4d53e44d844c7524a7d96aa68cc68f4f3e500d3d069a39e6535481c + languageName: node + linkType: hard + +"pathe@npm:^1.1.1, pathe@npm:^1.1.2": + version: 1.1.2 + resolution: "pathe@npm:1.1.2" + checksum: 10c0/64ee0a4e587fb0f208d9777a6c56e4f9050039268faaaaecd50e959ef01bf847b7872785c36483fa5cdcdbdfdb31fef2ff222684d4fc21c330ab60395c681897 + languageName: node + linkType: hard + +"pathe@npm:^2.0.1, pathe@npm:^2.0.2, pathe@npm:^2.0.3": + version: 2.0.3 + resolution: "pathe@npm:2.0.3" + checksum: 10c0/c118dc5a8b5c4166011b2b70608762e260085180bb9e33e80a50dcdb1e78c010b1624f4280c492c92b05fc276715a4c357d1f9edc570f8f1b3d90b6839ebaca1 + languageName: node + linkType: hard + +"pathval@npm:^2.0.0": + version: 2.0.0 + resolution: "pathval@npm:2.0.0" + checksum: 10c0/602e4ee347fba8a599115af2ccd8179836a63c925c23e04bd056d0674a64b39e3a081b643cc7bc0b84390517df2d800a46fcc5598d42c155fe4977095c2f77c5 + languageName: node + linkType: hard + +"pend@npm:~1.2.0": + version: 1.2.0 + resolution: "pend@npm:1.2.0" + checksum: 10c0/8a87e63f7a4afcfb0f9f77b39bb92374afc723418b9cb716ee4257689224171002e07768eeade4ecd0e86f1fa3d8f022994219fb45634f2dbd78c6803e452458 + languageName: node + linkType: hard + +"perfect-debounce@npm:^1.0.0": + version: 1.0.0 + resolution: "perfect-debounce@npm:1.0.0" + checksum: 10c0/e2baac416cae046ef1b270812cf9ccfb0f91c04ea36ac7f5b00bc84cb7f41bdbba087c0ab21b4e02a7ef3a1f1f6db399f137cecec46868bd7d8d88c2a9ee431f + languageName: node + linkType: hard + +"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be + languageName: node + linkType: hard + +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc + languageName: node + linkType: hard + +"pify@npm:^2.3.0": + version: 2.3.0 + resolution: "pify@npm:2.3.0" + checksum: 10c0/551ff8ab830b1052633f59cb8adc9ae8407a436e06b4a9718bcb27dc5844b83d535c3a8512b388b6062af65a98c49bdc0dd523d8b2617b188f7c8fee457158dc + languageName: node + linkType: hard + +"pify@npm:^3.0.0": + version: 3.0.0 + resolution: "pify@npm:3.0.0" + checksum: 10c0/fead19ed9d801f1b1fcd0638a1ac53eabbb0945bf615f2f8806a8b646565a04a1b0e7ef115c951d225f042cca388fdc1cd3add46d10d1ed6951c20bd2998af10 + languageName: node + linkType: hard + +"pinia@npm:>=2.1.0": + version: 3.0.2 + resolution: "pinia@npm:3.0.2" + dependencies: + "@vue/devtools-api": "npm:^7.7.2" + peerDependencies: + typescript: ">=4.4.4" + vue: ^2.7.0 || ^3.5.11 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/4c21412ddb32c48c1d9fb9fb47a2cd40bc4af9198e65392423ab97f6a9da31d0b880bc59b008967058643a988cb574025f885a1d0e4faf47bec25521933bb27f + languageName: node + linkType: hard + +"pinia@npm:^2.1.4": + version: 2.3.1 + resolution: "pinia@npm:2.3.1" + dependencies: + "@vue/devtools-api": "npm:^6.6.3" + vue-demi: "npm:^0.14.10" + peerDependencies: + typescript: ">=4.4.4" + vue: ^2.7.0 || ^3.5.11 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/e005883c26fe782e26803859db8703ead2e7053271d22828175c82d56e925ddab65ca2543a3f3a36686a11e6835f60c031f1eb2ef9159f9da05121495499c5f6 + languageName: node + linkType: hard + +"pirates@npm:^4.0.1": + version: 4.0.7 + resolution: "pirates@npm:4.0.7" + checksum: 10c0/a51f108dd811beb779d58a76864bbd49e239fa40c7984cd11596c75a121a8cc789f1c8971d8bb15f0dbf9d48b76c05bb62fcbce840f89b688c0fa64b37e8478a + languageName: node + linkType: hard + +"pkce-challenge@npm:^5.0.0": + version: 5.0.0 + resolution: "pkce-challenge@npm:5.0.0" + checksum: 10c0/c6706d627fdbb6f22bf8cc5d60d96d6b6a7bb481399b336a3d3f4e9bfba3e167a2c32f8ec0b5e74be686a0ba3bcc9894865d4c2dd1b91cea4c05dba1f28602c3 + languageName: node + linkType: hard + +"pkg-types@npm:^1.0.3, pkg-types@npm:^1.3.0": + version: 1.3.1 + resolution: "pkg-types@npm:1.3.1" + dependencies: + confbox: "npm:^0.1.8" + mlly: "npm:^1.7.4" + pathe: "npm:^2.0.1" + checksum: 10c0/19e6cb8b66dcc66c89f2344aecfa47f2431c988cfa3366bdfdcfb1dd6695f87dcce37fbd90fe9d1605e2f4440b77f391e83c23255347c35cf84e7fd774d7fcea + languageName: node + linkType: hard + +"pkg-types@npm:^2.0.0, pkg-types@npm:^2.0.1, pkg-types@npm:^2.1.0": + version: 2.1.0 + resolution: "pkg-types@npm:2.1.0" + dependencies: + confbox: "npm:^0.2.1" + exsolve: "npm:^1.0.1" + pathe: "npm:^2.0.3" + checksum: 10c0/7729d0a2367ba0aa2caf0f84a6ff0b73b13f4e9a3d62c229ddfa6d45d1f3898f590acdbaa64d779d56737d4ebea2d085961efd59094b8adf8baa34d829599b75 + languageName: node + linkType: hard + +"pluralize@npm:^8.0.0": + version: 8.0.0 + resolution: "pluralize@npm:8.0.0" + checksum: 10c0/2044cfc34b2e8c88b73379ea4a36fc577db04f651c2909041b054c981cd863dd5373ebd030123ab058d194ae615d3a97cfdac653991e499d10caf592e8b3dc33 + languageName: node + linkType: hard + +"portal-vue@npm:^3.0.0": + version: 3.0.0 + resolution: "portal-vue@npm:3.0.0" + peerDependencies: + vue: ^3.0.4 + peerDependenciesMeta: + vue: + optional: true + checksum: 10c0/5d97fe41a2e8ec159dcd7f47802b2c39c62925fd76383909bd577699611539ea92284bfc9afe4c14cf1843091a921b5d2455f1bc17cb41e5e6ba9840c10a34bd + languageName: node + linkType: hard + +"portfinder@npm:^1.0.26": + version: 1.0.37 + resolution: "portfinder@npm:1.0.37" + dependencies: + async: "npm:^3.2.6" + debug: "npm:^4.3.6" + checksum: 10c0/eabd2764ced7bb0e6da7a1382bb77f9531309f7782fb6169021d05eecff0c0a17958bcf87573047a164dd0bb23f294d5d74b08ffe58c47005c28ed92eea9a6a7 + languageName: node + linkType: hard + +"postcss-calc@npm:^10.1.1": + version: 10.1.1 + resolution: "postcss-calc@npm:10.1.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.38 + checksum: 10c0/616d3b7b15a524fa86ff1b2be7d9f2369c7794fd44c946f117380e519b064e9ac8d1414ea29de0238b130f2b2a5eb2fb59758cc5478af40b04a012992fb1075b + languageName: node + linkType: hard + +"postcss-colormin@npm:^7.0.3": + version: 7.0.3 + resolution: "postcss-colormin@npm:7.0.3" + dependencies: + browserslist: "npm:^4.24.5" + caniuse-api: "npm:^3.0.0" + colord: "npm:^2.9.3" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/49d0a7d523f74b455b4e2680cb2e31974871354d9037d6e8dfac00e9ebdced6585533208f43d006946a705ca4e683ba007bcd23fb37df6005c5db37ead0c66a9 + languageName: node + linkType: hard + +"postcss-convert-values@npm:^7.0.5": + version: 7.0.5 + resolution: "postcss-convert-values@npm:7.0.5" + dependencies: + browserslist: "npm:^4.24.5" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/c9ba3ce8a1d3cae775187c57c9234c03135b4abb6d2eb7f094ca59d9ae7dbcb52ed3f8771d35040b60d522bff40caa72d329914bead63577b66e8d4be589a6a7 + languageName: node + linkType: hard + +"postcss-custom-properties@npm:^14.0.4": + version: 14.0.4 + resolution: "postcss-custom-properties@npm:14.0.4" + dependencies: + "@csstools/cascade-layer-name-parser": "npm:^2.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/5b101ee71289657cc2e5a16f4912009c10441052e2c54bd9e4f3d4d72b652bab56adb662ddaa96881413e375cf9852e2159b3c778d953442ce86efb781c3b2bf + languageName: node + linkType: hard + +"postcss-discard-comments@npm:^7.0.4": + version: 7.0.4 + resolution: "postcss-discard-comments@npm:7.0.4" + dependencies: + postcss-selector-parser: "npm:^7.1.0" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/30081465fec33baa8507782d25cd96559cb3487c023d331a517cf94027d065c26227962a40b1806885400d76d3d27d27f9e7b14807866c7d9bb63c3030b5312a + languageName: node + linkType: hard + +"postcss-discard-duplicates@npm:^7.0.2": + version: 7.0.2 + resolution: "postcss-discard-duplicates@npm:7.0.2" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/83035b1158ee0f0c8c6441c9f0fcd3c83027b19c4b1d19802d140ba02535623520edb4d52db40d06881ad2b31a9d859445cf56aeaf0de5183c3edd22eaf7e023 + languageName: node + linkType: hard + +"postcss-discard-empty@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-discard-empty@npm:7.0.1" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/c11c5571f573a147db911d2d82b4102eff2930fa1d5cc63c25c2cbd9f496a91a7364075f322b61e0eb9c217fc86f06680deb0fb858a32e29148abd7cb2617f8f + languageName: node + linkType: hard + +"postcss-discard-overridden@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-discard-overridden@npm:7.0.1" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/413c68411f1f3b9ee2a862eca4599f54e6b35a5556af12518032b4f6b3f47c57a6db1cc4565692fb8633b7a1fd26e096f5cd86e50aaf702375d621efbd819d05 + languageName: node + linkType: hard + +"postcss-html@npm:^1.8.0": + version: 1.8.0 + resolution: "postcss-html@npm:1.8.0" + dependencies: + htmlparser2: "npm:^8.0.0" + js-tokens: "npm:^9.0.0" + postcss: "npm:^8.5.0" + postcss-safe-parser: "npm:^6.0.0" + checksum: 10c0/b018e2bc498019439a84952aae714b8730e1aed3fdb5ca100f8a1695ed4f7b26b178eac7d7e6df278e7fdb855894266308e292a235d020f85de40ac13a3796f8 + languageName: node + linkType: hard + +"postcss-import@npm:^15.1.0": + version: 15.1.0 + resolution: "postcss-import@npm:15.1.0" + dependencies: + postcss-value-parser: "npm:^4.0.0" + read-cache: "npm:^1.0.0" + resolve: "npm:^1.1.7" + peerDependencies: + postcss: ^8.0.0 + checksum: 10c0/518aee5c83ea6940e890b0be675a2588db68b2582319f48c3b4e06535a50ea6ee45f7e63e4309f8754473245c47a0372632378d1d73d901310f295a92f26f17b + languageName: node + linkType: hard + +"postcss-js@npm:^4.0.1": + version: 4.0.1 + resolution: "postcss-js@npm:4.0.1" + dependencies: + camelcase-css: "npm:^2.0.1" + peerDependencies: + postcss: ^8.4.21 + checksum: 10c0/af35d55cb873b0797d3b42529514f5318f447b134541844285c9ac31a17497297eb72296902967911bb737a75163441695737300ce2794e3bd8c70c13a3b106e + languageName: node + linkType: hard + +"postcss-load-config@npm:^4.0.2": + version: 4.0.2 + resolution: "postcss-load-config@npm:4.0.2" + dependencies: + lilconfig: "npm:^3.0.0" + yaml: "npm:^2.3.4" + peerDependencies: + postcss: ">=8.0.9" + ts-node: ">=9.0.0" + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + checksum: 10c0/3d7939acb3570b0e4b4740e483d6e555a3e2de815219cb8a3c8fc03f575a6bde667443aa93369c0be390af845cb84471bf623e24af833260de3a105b78d42519 + languageName: node + linkType: hard + +"postcss-merge-longhand@npm:^7.0.5": + version: 7.0.5 + resolution: "postcss-merge-longhand@npm:7.0.5" + dependencies: + postcss-value-parser: "npm:^4.2.0" + stylehacks: "npm:^7.0.5" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/148fe5fc33f967f6e579a184a4bb82c8e6ffb1d5f720a2c7aa85849a56ee8d23ce3f026d6f6b45a38f63f761fcfafe3b82ac54da7bf080fd58eb743be4c4ce46 + languageName: node + linkType: hard + +"postcss-merge-rules@npm:^7.0.5": + version: 7.0.5 + resolution: "postcss-merge-rules@npm:7.0.5" + dependencies: + browserslist: "npm:^4.24.5" + caniuse-api: "npm:^3.0.0" + cssnano-utils: "npm:^5.0.1" + postcss-selector-parser: "npm:^7.1.0" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/e7225a4606b7dcdabd895c4cafa5fdb97a6588c7a59d8b189725443ad2d3c45603eac8a66929c5470b0b99a56b4daca3e79f7e19d15f9cccfde2a69ba2b66137 + languageName: node + linkType: hard + +"postcss-minify-font-values@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-minify-font-values@npm:7.0.1" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/2327863b0f4c025855ba9bb88951ce92985ce1c64bab24002b5d75f024268c396735af311db7342e8ca5ebc80c18c282d7cb63292c36a457348eda041c5fe197 + languageName: node + linkType: hard + +"postcss-minify-gradients@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-minify-gradients@npm:7.0.1" + dependencies: + colord: "npm:^2.9.3" + cssnano-utils: "npm:^5.0.1" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/19df86ff3d8767f86300ebeac06dba951e26e069590bfb52bc24b0e73fca27c411395870053ffda4272d738b344b478a43a0c92bd23b466e274dd95379c8dc97 + languageName: node + linkType: hard + +"postcss-minify-params@npm:^7.0.3": + version: 7.0.3 + resolution: "postcss-minify-params@npm:7.0.3" + dependencies: + browserslist: "npm:^4.24.5" + cssnano-utils: "npm:^5.0.1" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/e7e7b5faeb85e0fc0d0ebbc388ef3ad402e9d85b5d77da6b38e4b16d32c496e79072a6fc13318e4bcafe761616babec1075d9afbf0e9966451a71945ae058de9 + languageName: node + linkType: hard + +"postcss-minify-selectors@npm:^7.0.5": + version: 7.0.5 + resolution: "postcss-minify-selectors@npm:7.0.5" + dependencies: + cssesc: "npm:^3.0.0" + postcss-selector-parser: "npm:^7.1.0" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/ebc1b5bee2e7d5d57926d7b47c54845531929badd8f445505ab4add4614ce24453977a1cc9ca5667ddcfacfd3f735bf90a3fe6558de7aa4b85bc2e690915abd8 + languageName: node + linkType: hard + +"postcss-nested@npm:^6.2.0": + version: 6.2.0 + resolution: "postcss-nested@npm:6.2.0" + dependencies: + postcss-selector-parser: "npm:^6.1.1" + peerDependencies: + postcss: ^8.2.14 + checksum: 10c0/7f9c3f2d764191a39364cbdcec350f26a312431a569c9ef17408021424726b0d67995ff5288405e3724bb7152a4c92f73c027e580ec91e798800ed3c52e2bc6e + languageName: node + linkType: hard + +"postcss-nesting@npm:^13.0.1": + version: 13.0.1 + resolution: "postcss-nesting@npm:13.0.1" + dependencies: + "@csstools/selector-resolve-nested": "npm:^3.0.0" + "@csstools/selector-specificity": "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/549307c272cdd4cb5105d8fbcd582f15a1cb74e5bba240b05b27f77fe0422730be966699a49a9ad15fd9d1bc551c1edbaefb21a69686a9b131b585dbc9d90ebf + languageName: node + linkType: hard + +"postcss-normalize-charset@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-normalize-charset@npm:7.0.1" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/e879ecbd8a2f40b427ac8800c34ad6670fa820838ad27950c34b628e9248ce763433045bb4254f65c02d74825f41377a9cf278f8cdcf7284acbd6a3b33af83fe + languageName: node + linkType: hard + +"postcss-normalize-display-values@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-normalize-display-values@npm:7.0.1" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/00d77846972e5261aebb38594f8999cfb84fe745ec9d3c2a4d8a91a1b6e703f02b0ccc9342e8fd4fa1f3e5e1f85d4aac2446dae898690ef41bc06de95008b975 + languageName: node + linkType: hard + +"postcss-normalize-positions@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-normalize-positions@npm:7.0.1" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/00f43f9635905ae11ba04cec9272cfa783b7793058ea8e576cb3cf8ea59df6f7bbdc34fdcba82724aaf789ee1f0697266e7ce98818aeca640889d67906f87f9e + languageName: node + linkType: hard + +"postcss-normalize-repeat-style@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-normalize-repeat-style@npm:7.0.1" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/de4f1350ae979e34e29f7f9e1ade23dcdfdccb4c290889ab45d15935c3af8218858e9fe06fc4af3fe5dc0478d719c7ce7d0d995dd9f786c93d5d3eaa7187d6ed + languageName: node + linkType: hard + +"postcss-normalize-string@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-normalize-string@npm:7.0.1" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/da3bc2458529544abad32860cd835d27b010a7fb16b121f0b64f44775a332795de0cd1a0280a380f868e4958997bd13a0275aca8e404c835ce120cf8ab69f4db + languageName: node + linkType: hard + +"postcss-normalize-timing-functions@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-normalize-timing-functions@npm:7.0.1" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/9389555176925bb31428220285b89b8cec2c2669f3ebb8f033463e7356cf1f54d0baaf71ddc097beb7adc418b9d2ea3cc628886fbf8e782c74ddaab4c2290749 + languageName: node + linkType: hard + +"postcss-normalize-unicode@npm:^7.0.3": + version: 7.0.3 + resolution: "postcss-normalize-unicode@npm:7.0.3" + dependencies: + browserslist: "npm:^4.24.5" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/6057b098b777ebe83060bde4278b258b50893d20761621931cbc93a50e3674ab634633e2539ef87c7a70348fc936bb2eeec87c470a296db15218b6bd16b33397 + languageName: node + linkType: hard + +"postcss-normalize-url@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-normalize-url@npm:7.0.1" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/d04ff170efcc77aef221f20f2a1a783c95564898321521a5940c17cf6cbdfd4f44b005efab77feebfae17873b17a30248c14c6f6166b4dfe382e524d6a3a935b + languageName: node + linkType: hard + +"postcss-normalize-whitespace@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-normalize-whitespace@npm:7.0.1" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/efbdbe1d0bc1dfed08168f417968f112996c6985efe0ba48137a4811052a65b46ac702b74afbb3110a51515aff67ffe1e139ce9a723e8d8543977e4cc6269911 + languageName: node + linkType: hard + +"postcss-ordered-values@npm:^7.0.2": + version: 7.0.2 + resolution: "postcss-ordered-values@npm:7.0.2" + dependencies: + cssnano-utils: "npm:^5.0.1" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/77e4daa70e120864aac5a0f5c71cc8b66408829eabe45203d4d86c93229425c26e030cf75d6f328432935c28a50c5294108aa2439fa8da256aa1852cc71c84f3 + languageName: node + linkType: hard + +"postcss-reduce-initial@npm:^7.0.3": + version: 7.0.3 + resolution: "postcss-reduce-initial@npm:7.0.3" + dependencies: + browserslist: "npm:^4.24.5" + caniuse-api: "npm:^3.0.0" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/a8321fe8187ae00e1ee15385a927772149ed7a4d3130b2ee1c55a31055e2e9de550164b5fb615fda9c9c03d3e01e4630c1457f1732ef21704cb3b25a9ade6291 + languageName: node + linkType: hard + +"postcss-reduce-transforms@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-reduce-transforms@npm:7.0.1" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/b379ea1d87ea27f331b472c8a21b4c6bb3c114ea573b66743f6fb4a52cab758c1930cd194df873d347901e347c47035e1353be6cf4250e469ec512f599385957 + languageName: node + linkType: hard + +"postcss-resolve-nested-selector@npm:^0.1.1": + version: 0.1.6 + resolution: "postcss-resolve-nested-selector@npm:0.1.6" + checksum: 10c0/84213a2bccce481b1569c595a3c547b25c6ef1cca839fbd6c82c12ab407559966e968613c7454b573aa54f38cfd7e900c1fd603f0efc9f51939ab9f93f115455 + languageName: node + linkType: hard + +"postcss-safe-parser@npm:^6.0.0": + version: 6.0.0 + resolution: "postcss-safe-parser@npm:6.0.0" + peerDependencies: + postcss: ^8.3.3 + checksum: 10c0/5b0997b63de6ab4afb4b718a52dd7902e465c21d1f2e516762bcb59047787459b4dc5713132f6a19c9c8c483043b20b8a380a55fb61152ee66cbffcddf3b57f0 + languageName: node + linkType: hard + +"postcss-selector-parser@npm:^6.0.13, postcss-selector-parser@npm:^6.0.15, postcss-selector-parser@npm:^6.1.1, postcss-selector-parser@npm:^6.1.2": + version: 6.1.2 + resolution: "postcss-selector-parser@npm:6.1.2" + dependencies: + cssesc: "npm:^3.0.0" + util-deprecate: "npm:^1.0.2" + checksum: 10c0/523196a6bd8cf660bdf537ad95abd79e546d54180f9afb165a4ab3e651ac705d0f8b8ce6b3164fb9e3279ce482c5f751a69eb2d3a1e8eb0fd5e82294fb3ef13e + languageName: node + linkType: hard + +"postcss-selector-parser@npm:^7.0.0, postcss-selector-parser@npm:^7.1.0": + version: 7.1.0 + resolution: "postcss-selector-parser@npm:7.1.0" + dependencies: + cssesc: "npm:^3.0.0" + util-deprecate: "npm:^1.0.2" + checksum: 10c0/0fef257cfd1c0fe93c18a3f8a6e739b4438b527054fd77e9a62730a89b2d0ded1b59314a7e4aaa55bc256204f40830fecd2eb50f20f8cb7ab3a10b52aa06c8aa + languageName: node + linkType: hard + +"postcss-svgo@npm:^7.0.2": + version: 7.0.2 + resolution: "postcss-svgo@npm:7.0.2" + dependencies: + postcss-value-parser: "npm:^4.2.0" + svgo: "npm:^3.3.2" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/03b97c6d572180fbacbae5d75f6ecab00a4185ea450bc2cb7ed4cbe1e6ffe87d49bf2502c5ddd3052deff3de80729b57df8a46e4ed8b78aa6a557d4b7f305a4a + languageName: node + linkType: hard + +"postcss-unique-selectors@npm:^7.0.4": + version: 7.0.4 + resolution: "postcss-unique-selectors@npm:7.0.4" + dependencies: + postcss-selector-parser: "npm:^7.1.0" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/ae47c2abc2dab647e026674a1239c2531236177e39078ef7fb091df9cdeb60f8e453c65909e5dd91efe2f3bb76c67f31035f137a9c71cbc8732d631329c79261 + languageName: node + linkType: hard + +"postcss-value-parser@npm:^4.0.0, postcss-value-parser@npm:^4.2.0": + version: 4.2.0 + resolution: "postcss-value-parser@npm:4.2.0" + checksum: 10c0/f4142a4f56565f77c1831168e04e3effd9ffcc5aebaf0f538eee4b2d465adfd4b85a44257bb48418202a63806a7da7fe9f56c330aebb3cac898e46b4cbf49161 + languageName: node + linkType: hard + +"postcss-values-parser@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-values-parser@npm:6.0.2" + dependencies: + color-name: "npm:^1.1.4" + is-url-superb: "npm:^4.0.0" + quote-unquote: "npm:^1.0.0" + peerDependencies: + postcss: ^8.2.9 + checksum: 10c0/633b8bc7c46f7b6e2b1cb1f33aa0222a5cacb7f485eb41e6f902b5f37ab9884cd8e7e7b0706afb7e3c7766d85096b59e65f59a1eaefac55e2fc952a24f23bcb8 + languageName: node + linkType: hard + +"postcss@npm:^8.4.23, postcss@npm:^8.4.28, postcss@npm:^8.4.47, postcss@npm:^8.4.48, postcss@npm:^8.5.0, postcss@npm:^8.5.3": + version: 8.5.3 + resolution: "postcss@npm:8.5.3" + dependencies: + nanoid: "npm:^3.3.8" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/b75510d7b28c3ab728c8733dd01538314a18c52af426f199a3c9177e63eb08602a3938bfb66b62dc01350b9aed62087eabbf229af97a1659eb8d3513cec823b3 + languageName: node + linkType: hard + +"precinct@npm:^11.0.0": + version: 11.0.5 + resolution: "precinct@npm:11.0.5" + dependencies: + "@dependents/detective-less": "npm:^4.1.0" + commander: "npm:^10.0.1" + detective-amd: "npm:^5.0.2" + detective-cjs: "npm:^5.0.1" + detective-es6: "npm:^4.0.1" + detective-postcss: "npm:^6.1.3" + detective-sass: "npm:^5.0.3" + detective-scss: "npm:^4.0.3" + detective-stylus: "npm:^4.0.0" + detective-typescript: "npm:^11.1.0" + module-definition: "npm:^5.0.1" + node-source-walk: "npm:^6.0.2" + bin: + precinct: bin/cli.js + checksum: 10c0/b11751de9174a10fde45b408c1b7fa69b4af587acc60c4df93dbadf9491393b65ca220bbcacfd9b7b3c00976e4b74affbe6ecf5f989ba92085eca3b57c79e88a + languageName: node + linkType: hard + +"prelude-ls@npm:^1.2.1": + version: 1.2.1 + resolution: "prelude-ls@npm:1.2.1" + checksum: 10c0/b00d617431e7886c520a6f498a2e14c75ec58f6d93ba48c3b639cf241b54232d90daa05d83a9e9b9fef6baa63cb7e1e4602c2372fea5bc169668401eb127d0cd + languageName: node + linkType: hard + +"prepend-http@npm:^2.0.0": + version: 2.0.0 + resolution: "prepend-http@npm:2.0.0" + checksum: 10c0/b023721ffd967728e3a25e3a80dd73827e9444e586800ab90a21b3a8e67f362d28023085406ad53a36db1e4d98cb10e43eb37d45c6b733140a9165ead18a0987 + languageName: node + linkType: hard + +"prettier@npm:^2.8.7": + version: 2.8.8 + resolution: "prettier@npm:2.8.8" + bin: + prettier: bin-prettier.js + checksum: 10c0/463ea8f9a0946cd5b828d8cf27bd8b567345cf02f56562d5ecde198b91f47a76b7ac9eae0facd247ace70e927143af6135e8cf411986b8cb8478784a4d6d724a + languageName: node + linkType: hard + +"pretty-bytes@npm:^6.1.1": + version: 6.1.1 + resolution: "pretty-bytes@npm:6.1.1" + checksum: 10c0/c7a660b933355f3b4587ad3f001c266a8dd6afd17db9f89ebc50812354bb142df4b9600396ba5999bdb1f9717300387dc311df91895c5f0f2a1780e22495b5f8 + languageName: node + linkType: hard + +"pretty-format@npm:^27.0.2": + version: 27.5.1 + resolution: "pretty-format@npm:27.5.1" + dependencies: + ansi-regex: "npm:^5.0.1" + ansi-styles: "npm:^5.0.0" + react-is: "npm:^17.0.1" + checksum: 10c0/0cbda1031aa30c659e10921fa94e0dd3f903ecbbbe7184a729ad66f2b6e7f17891e8c7d7654c458fa4ccb1a411ffb695b4f17bbcd3fe075fabe181027c4040ed + languageName: node + linkType: hard + +"proc-log@npm:^5.0.0": + version: 5.0.0 + resolution: "proc-log@npm:5.0.0" + checksum: 10c0/bbe5edb944b0ad63387a1d5b1911ae93e05ce8d0f60de1035b218cdcceedfe39dbd2c697853355b70f1a090f8f58fe90da487c85216bf9671f9499d1a897e9e3 + languageName: node + linkType: hard + +"process-nextick-args@npm:~2.0.0": + version: 2.0.1 + resolution: "process-nextick-args@npm:2.0.1" + checksum: 10c0/bec089239487833d46b59d80327a1605e1c5287eaad770a291add7f45fda1bb5e28b38e0e061add0a1d0ee0984788ce74fa394d345eed1c420cacf392c554367 + languageName: node + linkType: hard + +"process@npm:^0.11.10": + version: 0.11.10 + resolution: "process@npm:0.11.10" + checksum: 10c0/40c3ce4b7e6d4b8c3355479df77aeed46f81b279818ccdc500124e6a5ab882c0cc81ff7ea16384873a95a74c4570b01b120f287abbdd4c877931460eca6084b3 + languageName: node + linkType: hard + +"progress@npm:^2.0.3": + version: 2.0.3 + resolution: "progress@npm:2.0.3" + checksum: 10c0/1697e07cb1068055dbe9fe858d242368ff5d2073639e652b75a7eb1f2a1a8d4afd404d719de23c7b48481a6aa0040686310e2dac2f53d776daa2176d3f96369c + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: "npm:^2.0.2" + retry: "npm:^0.12.0" + checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 + languageName: node + linkType: hard + +"promise@npm:^7.1.1": + version: 7.3.1 + resolution: "promise@npm:7.3.1" + dependencies: + asap: "npm:~2.0.3" + checksum: 10c0/742e5c0cc646af1f0746963b8776299701ad561ce2c70b49365d62c8db8ea3681b0a1bf0d4e2fe07910bf72f02d39e51e8e73dc8d7503c3501206ac908be107f + languageName: node + linkType: hard + +"prompts@npm:^2.4.2": + version: 2.4.2 + resolution: "prompts@npm:2.4.2" + dependencies: + kleur: "npm:^3.0.3" + sisteransi: "npm:^1.0.5" + checksum: 10c0/16f1ac2977b19fe2cf53f8411cc98db7a3c8b115c479b2ca5c82b5527cd937aa405fa04f9a5960abeb9daef53191b53b4d13e35c1f5d50e8718c76917c5f1ea4 + languageName: node + linkType: hard + +"prop-types@npm:^15.7.2": + version: 15.8.1 + resolution: "prop-types@npm:15.8.1" + dependencies: + loose-envify: "npm:^1.4.0" + object-assign: "npm:^4.1.1" + react-is: "npm:^16.13.1" + checksum: 10c0/59ece7ca2fb9838031d73a48d4becb9a7cc1ed10e610517c7d8f19a1e02fa47f7c27d557d8a5702bec3cfeccddc853579832b43f449e54635803f277b1c78077 + languageName: node + linkType: hard + +"proto-list@npm:~1.2.1": + version: 1.2.4 + resolution: "proto-list@npm:1.2.4" + checksum: 10c0/b9179f99394ec8a68b8afc817690185f3b03933f7b46ce2e22c1930dc84b60d09f5ad222beab4e59e58c6c039c7f7fcf620397235ef441a356f31f9744010e12 + languageName: node + linkType: hard + +"protocols@npm:^2.0.0, protocols@npm:^2.0.1": + version: 2.0.2 + resolution: "protocols@npm:2.0.2" + checksum: 10c0/b87d78c1fcf038d33691da28447ce94011d5c7f0c7fd25bcb5fb4d975991c99117873200c84f4b6a9d7f8b9092713a064356236960d1473a7d6fcd4228897b60 + languageName: node + linkType: hard + +"proxy-addr@npm:^2.0.7, proxy-addr@npm:~2.0.7": + version: 2.0.7 + resolution: "proxy-addr@npm:2.0.7" + dependencies: + forwarded: "npm:0.2.0" + ipaddr.js: "npm:1.9.1" + checksum: 10c0/c3eed999781a35f7fd935f398b6d8920b6fb00bbc14287bc6de78128ccc1a02c89b95b56742bf7cf0362cc333c61d138532049c7dedc7a328ef13343eff81210 + languageName: node + linkType: hard + +"pump@npm:^3.0.0": + version: 3.0.2 + resolution: "pump@npm:3.0.2" + dependencies: + end-of-stream: "npm:^1.1.0" + once: "npm:^1.3.1" + checksum: 10c0/5ad655cb2a7738b4bcf6406b24ad0970d680649d996b55ad20d1be8e0c02394034e4c45ff7cd105d87f1e9b96a0e3d06fd28e11fae8875da26e7f7a8e2c9726f + languageName: node + linkType: hard + +"punycode@npm:^2.1.0": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 + languageName: node + linkType: hard + +"qs@npm:6.13.0": + version: 6.13.0 + resolution: "qs@npm:6.13.0" + dependencies: + side-channel: "npm:^1.0.6" + checksum: 10c0/62372cdeec24dc83a9fb240b7533c0fdcf0c5f7e0b83343edd7310f0ab4c8205a5e7c56406531f2e47e1b4878a3821d652be4192c841de5b032ca83619d8f860 + languageName: node + linkType: hard + +"qs@npm:^6.14.0, qs@npm:^6.9.6": + version: 6.14.0 + resolution: "qs@npm:6.14.0" + dependencies: + side-channel: "npm:^1.1.0" + checksum: 10c0/8ea5d91bf34f440598ee389d4a7d95820e3b837d3fd9f433871f7924801becaa0cd3b3b4628d49a7784d06a8aea9bc4554d2b6d8d584e2d221dc06238a42909c + languageName: node + linkType: hard + +"quansync@npm:^0.2.8": + version: 0.2.10 + resolution: "quansync@npm:0.2.10" + checksum: 10c0/f86f1d644f812a3a7c42de79eb401c47a5a67af82a9adff8a8afb159325e03e00f77cebbf42af6340a0bd47bd0c1fbe999e7caf7e1bbb30d7acb00c8729b7530 + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 + languageName: node + linkType: hard + +"quick-lru@npm:^5.1.1": + version: 5.1.1 + resolution: "quick-lru@npm:5.1.1" + checksum: 10c0/a24cba5da8cec30d70d2484be37622580f64765fb6390a928b17f60cd69e8dbd32a954b3ff9176fa1b86d86ff2ba05252fae55dc4d40d0291c60412b0ad096da + languageName: node + linkType: hard + +"quote-unquote@npm:^1.0.0": + version: 1.0.0 + resolution: "quote-unquote@npm:1.0.0" + checksum: 10c0/eba86bb7f68ada486f5608c5c71cc155235f0408b8a0a180436cdf2457ae86f56a17de6b0bc5a1b7ae5f27735b3b789662cdf7f3b8195ac816cd0289085129ec + languageName: node + linkType: hard + +"radix3@npm:^1.1.2": + version: 1.1.2 + resolution: "radix3@npm:1.1.2" + checksum: 10c0/d4a295547f71af079868d2c2ed3814a9296ee026c5488212d58c106e6b4797c6eaec1259b46c9728913622f2240c9a944bfc8e2b3b5f6e4a5045338b1609f1e4 + languageName: node + linkType: hard + +"randombytes@npm:^2.1.0": + version: 2.1.0 + resolution: "randombytes@npm:2.1.0" + dependencies: + safe-buffer: "npm:^5.1.0" + checksum: 10c0/50395efda7a8c94f5dffab564f9ff89736064d32addf0cc7e8bf5e4166f09f8ded7a0849ca6c2d2a59478f7d90f78f20d8048bca3cdf8be09d8e8a10790388f3 + languageName: node + linkType: hard + +"range-parser@npm:^1.2.1, range-parser@npm:~1.2.1": + version: 1.2.1 + resolution: "range-parser@npm:1.2.1" + checksum: 10c0/96c032ac2475c8027b7a4e9fe22dc0dfe0f6d90b85e496e0f016fbdb99d6d066de0112e680805075bd989905e2123b3b3d002765149294dce0c1f7f01fcc2ea0 + languageName: node + linkType: hard + +"raw-body@npm:2.5.2": + version: 2.5.2 + resolution: "raw-body@npm:2.5.2" + dependencies: + bytes: "npm:3.1.2" + http-errors: "npm:2.0.0" + iconv-lite: "npm:0.4.24" + unpipe: "npm:1.0.0" + checksum: 10c0/b201c4b66049369a60e766318caff5cb3cc5a900efd89bdac431463822d976ad0670912c931fdbdcf5543207daf6f6833bca57aa116e1661d2ea91e12ca692c4 + languageName: node + linkType: hard + +"raw-body@npm:^3.0.0": + version: 3.0.0 + resolution: "raw-body@npm:3.0.0" + dependencies: + bytes: "npm:3.1.2" + http-errors: "npm:2.0.0" + iconv-lite: "npm:0.6.3" + unpipe: "npm:1.0.0" + checksum: 10c0/f8daf4b724064a4811d118745a781ca0fb4676298b8adadfd6591155549cfea0a067523cf7dd3baeb1265fecc9ce5dfb2fc788c12c66b85202a336593ece0f87 + languageName: node + linkType: hard + +"rc9@npm:^2.1.2": + version: 2.1.2 + resolution: "rc9@npm:2.1.2" + dependencies: + defu: "npm:^6.1.4" + destr: "npm:^2.0.3" + checksum: 10c0/a2ead3b94bf033e35e4ea40d70062a09feddb8f589c3f5a8fe4e9342976974296aee9f6e9e72bd5e78e6ae4b7bc16dc244f63699fd7322c16314e3238db982c9 + languageName: node + linkType: hard + +"react-is@npm:^16.13.1, react-is@npm:^16.7.0": + version: 16.13.1 + resolution: "react-is@npm:16.13.1" + checksum: 10c0/33977da7a5f1a287936a0c85639fec6ca74f4f15ef1e59a6bc20338fc73dc69555381e211f7a3529b8150a1f71e4225525b41b60b52965bda53ce7d47377ada1 + languageName: node + linkType: hard + +"react-is@npm:^17.0.1": + version: 17.0.2 + resolution: "react-is@npm:17.0.2" + checksum: 10c0/2bdb6b93fbb1820b024b496042cce405c57e2f85e777c9aabd55f9b26d145408f9f74f5934676ffdc46f3dcff656d78413a6e43968e7b3f92eea35b3052e9053 + languageName: node + linkType: hard + +"read-cache@npm:^1.0.0": + version: 1.0.0 + resolution: "read-cache@npm:1.0.0" + dependencies: + pify: "npm:^2.3.0" + checksum: 10c0/90cb2750213c7dd7c80cb420654344a311fdec12944e81eb912cd82f1bc92aea21885fa6ce442e3336d9fccd663b8a7a19c46d9698e6ca55620848ab932da814 + languageName: node + linkType: hard + +"read-package-up@npm:^11.0.0": + version: 11.0.0 + resolution: "read-package-up@npm:11.0.0" + dependencies: + find-up-simple: "npm:^1.0.0" + read-pkg: "npm:^9.0.0" + type-fest: "npm:^4.6.0" + checksum: 10c0/ffee09613c2b3c3ff7e7b5e838aa01f33cba5c6dfa14f87bf6f64ed27e32678e5550e712fd7e3f3105a05c43aa774d084af04ee86d3044978edb69f30ee4505a + languageName: node + linkType: hard + +"read-pkg-up@npm:^7.0.1": + version: 7.0.1 + resolution: "read-pkg-up@npm:7.0.1" + dependencies: + find-up: "npm:^4.1.0" + read-pkg: "npm:^5.2.0" + type-fest: "npm:^0.8.1" + checksum: 10c0/82b3ac9fd7c6ca1bdc1d7253eb1091a98ff3d195ee0a45386582ce3e69f90266163c34121e6a0a02f1630073a6c0585f7880b3865efcae9c452fa667f02ca385 + languageName: node + linkType: hard + +"read-pkg-up@npm:^8.0.0": + version: 8.0.0 + resolution: "read-pkg-up@npm:8.0.0" + dependencies: + find-up: "npm:^5.0.0" + read-pkg: "npm:^6.0.0" + type-fest: "npm:^1.0.1" + checksum: 10c0/cf3905ccbe5cd602f23192cc7ca65ed17561bab117eadb9aed817441d5bfc6b9a11215c2a3e9505f501d046818f3c4180dbea61fa83c42083e0b4e407d5cc745 + languageName: node + linkType: hard + +"read-pkg@npm:^5.2.0": + version: 5.2.0 + resolution: "read-pkg@npm:5.2.0" + dependencies: + "@types/normalize-package-data": "npm:^2.4.0" + normalize-package-data: "npm:^2.5.0" + parse-json: "npm:^5.0.0" + type-fest: "npm:^0.6.0" + checksum: 10c0/b51a17d4b51418e777029e3a7694c9bd6c578a5ab99db544764a0b0f2c7c0f58f8a6bc101f86a6fceb8ba6d237d67c89acf6170f6b98695d0420ddc86cf109fb + languageName: node + linkType: hard + +"read-pkg@npm:^6.0.0": + version: 6.0.0 + resolution: "read-pkg@npm:6.0.0" + dependencies: + "@types/normalize-package-data": "npm:^2.4.0" + normalize-package-data: "npm:^3.0.2" + parse-json: "npm:^5.2.0" + type-fest: "npm:^1.0.1" + checksum: 10c0/b51ee5eed75324f4fac34c9a40b5e4b403de4c532242be01959c9bbdb1ff9db1c6c2aefaba569622fec49d1ead866e97ba856ab145f6e11039b11f7bec1318ba + languageName: node + linkType: hard + +"read-pkg@npm:^9.0.0": + version: 9.0.1 + resolution: "read-pkg@npm:9.0.1" + dependencies: + "@types/normalize-package-data": "npm:^2.4.3" + normalize-package-data: "npm:^6.0.0" + parse-json: "npm:^8.0.0" + type-fest: "npm:^4.6.0" + unicorn-magic: "npm:^0.1.0" + checksum: 10c0/f3e27549dcdb18335597f4125a3d093a40ab0a18c16a6929a1575360ed5d8679b709b4a672730d9abf6aa8537a7f02bae0b4b38626f99409255acbd8f72f9964 + languageName: node + linkType: hard + +"readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.5": + version: 2.3.8 + resolution: "readable-stream@npm:2.3.8" + dependencies: + core-util-is: "npm:~1.0.0" + inherits: "npm:~2.0.3" + isarray: "npm:~1.0.0" + process-nextick-args: "npm:~2.0.0" + safe-buffer: "npm:~5.1.1" + string_decoder: "npm:~1.1.1" + util-deprecate: "npm:~1.0.1" + checksum: 10c0/7efdb01f3853bc35ac62ea25493567bf588773213f5f4a79f9c365e1ad13bab845ac0dae7bc946270dc40c3929483228415e92a3fc600cc7e4548992f41ee3fa + languageName: node + linkType: hard + +"readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0, readable-stream@npm:^3.6.2": + version: 3.6.2 + resolution: "readable-stream@npm:3.6.2" + dependencies: + inherits: "npm:^2.0.3" + string_decoder: "npm:^1.1.1" + util-deprecate: "npm:^1.0.1" + checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 + languageName: node + linkType: hard + +"readable-stream@npm:^4.0.0": + version: 4.7.0 + resolution: "readable-stream@npm:4.7.0" + dependencies: + abort-controller: "npm:^3.0.0" + buffer: "npm:^6.0.3" + events: "npm:^3.3.0" + process: "npm:^0.11.10" + string_decoder: "npm:^1.3.0" + checksum: 10c0/fd86d068da21cfdb10f7a4479f2e47d9c0a9b0c862fc0c840a7e5360201580a55ac399c764b12a4f6fa291f8cee74d9c4b7562e0d53b3c4b2769f2c98155d957 + languageName: node + linkType: hard + +"readdir-glob@npm:^1.1.2": + version: 1.1.3 + resolution: "readdir-glob@npm:1.1.3" + dependencies: + minimatch: "npm:^5.1.0" + checksum: 10c0/a37e0716726650845d761f1041387acd93aa91b28dd5381950733f994b6c349ddc1e21e266ec7cc1f9b92e205a7a972232f9b89d5424d07361c2c3753d5dbace + languageName: node + linkType: hard + +"readdirp@npm:^4.0.1": + version: 4.1.2 + resolution: "readdirp@npm:4.1.2" + checksum: 10c0/60a14f7619dec48c9c850255cd523e2717001b0e179dc7037cfa0895da7b9e9ab07532d324bfb118d73a710887d1e35f79c495fa91582784493e085d18c72c62 + languageName: node + linkType: hard + +"readdirp@npm:~3.6.0": + version: 3.6.0 + resolution: "readdirp@npm:3.6.0" + dependencies: + picomatch: "npm:^2.2.1" + checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b + languageName: node + linkType: hard + +"redent@npm:^3.0.0": + version: 3.0.0 + resolution: "redent@npm:3.0.0" + dependencies: + indent-string: "npm:^4.0.0" + strip-indent: "npm:^3.0.0" + checksum: 10c0/d64a6b5c0b50eb3ddce3ab770f866658a2b9998c678f797919ceb1b586bab9259b311407280bd80b804e2a7c7539b19238ae6a2a20c843f1a7fcff21d48c2eae + languageName: node + linkType: hard + +"redent@npm:^4.0.0": + version: 4.0.0 + resolution: "redent@npm:4.0.0" + dependencies: + indent-string: "npm:^5.0.0" + strip-indent: "npm:^4.0.0" + checksum: 10c0/a9b640c8f4b2b5b26a1a908706475ff404dd50a97d6f094bc3c59717be922622927cc7d601d4ae2857d897ad243fd979bd76d751a0481cee8be7024e5fb4c662 + languageName: node + linkType: hard + +"redis-errors@npm:^1.0.0, redis-errors@npm:^1.2.0": + version: 1.2.0 + resolution: "redis-errors@npm:1.2.0" + checksum: 10c0/5b316736e9f532d91a35bff631335137a4f974927bb2fb42bf8c2f18879173a211787db8ac4c3fde8f75ed6233eb0888e55d52510b5620e30d69d7d719c8b8a7 + languageName: node + linkType: hard + +"redis-parser@npm:^3.0.0": + version: 3.0.0 + resolution: "redis-parser@npm:3.0.0" + dependencies: + redis-errors: "npm:^1.0.0" + checksum: 10c0/ee16ac4c7b2a60b1f42a2cdaee22b005bd4453eb2d0588b8a4939718997ae269da717434da5d570fe0b05030466eeb3f902a58cf2e8e1ca058bf6c9c596f632f + languageName: node + linkType: hard + +"refa@npm:^0.12.0, refa@npm:^0.12.1": + version: 0.12.1 + resolution: "refa@npm:0.12.1" + dependencies: + "@eslint-community/regexpp": "npm:^4.8.0" + checksum: 10c0/5c2f3dc5421f73aba44ec3d67bad58f36ff921dc13b0a921e1784c0510cf26be6d4e14010955a71607e67ff23a815f3ac30b337d06b5a2e8914417b67626c900 + languageName: node + linkType: hard + +"reflect-metadata@npm:^0.2.2": + version: 0.2.2 + resolution: "reflect-metadata@npm:0.2.2" + checksum: 10c0/1cd93a15ea291e420204955544637c264c216e7aac527470e393d54b4bb075f10a17e60d8168ec96600c7e0b9fcc0cb0bb6e91c3fbf5b0d8c9056f04e6ac1ec2 + languageName: node + linkType: hard + +"regenerate-unicode-properties@npm:^10.2.0": + version: 10.2.0 + resolution: "regenerate-unicode-properties@npm:10.2.0" + dependencies: + regenerate: "npm:^1.4.2" + checksum: 10c0/5510785eeaf56bbfdf4e663d6753f125c08d2a372d4107bc1b756b7bf142e2ed80c2733a8b54e68fb309ba37690e66a0362699b0e21d5c1f0255dea1b00e6460 + languageName: node + linkType: hard + +"regenerate@npm:^1.4.2": + version: 1.4.2 + resolution: "regenerate@npm:1.4.2" + checksum: 10c0/f73c9eba5d398c818edc71d1c6979eaa05af7a808682749dd079f8df2a6d91a9b913db216c2c9b03e0a8ba2bba8701244a93f45211afbff691c32c7b275db1b8 + languageName: node + linkType: hard + +"regenerator-runtime@npm:^0.13.11, regenerator-runtime@npm:^0.13.7": + version: 0.13.11 + resolution: "regenerator-runtime@npm:0.13.11" + checksum: 10c0/12b069dc774001fbb0014f6a28f11c09ebfe3c0d984d88c9bced77fdb6fedbacbca434d24da9ae9371bfbf23f754869307fb51a4c98a8b8b18e5ef748677ca24 + languageName: node + linkType: hard + +"regexp-ast-analysis@npm:^0.7.0, regexp-ast-analysis@npm:^0.7.1": + version: 0.7.1 + resolution: "regexp-ast-analysis@npm:0.7.1" + dependencies: + "@eslint-community/regexpp": "npm:^4.8.0" + refa: "npm:^0.12.1" + checksum: 10c0/1b0e6d66e1e619b42a0e7f62b4c9983d0ce69d94fc759802c02272cbab8abd2e0d5b94186472de4e7c4baaf5826ca674d3c7c083615e39c4be55d1ff9d12c823 + languageName: node + linkType: hard + +"regexp-tree@npm:^0.1.27": + version: 0.1.27 + resolution: "regexp-tree@npm:0.1.27" + bin: + regexp-tree: bin/regexp-tree + checksum: 10c0/f636f44b4a0d93d7d6926585ecd81f63e4ce2ac895bc417b2ead0874cd36b337dcc3d0fedc63f69bf5aaeaa4340f36ca7e750c9687cceaf8087374e5284e843c + languageName: node + linkType: hard + +"regexpu-core@npm:^6.2.0": + version: 6.2.0 + resolution: "regexpu-core@npm:6.2.0" + dependencies: + regenerate: "npm:^1.4.2" + regenerate-unicode-properties: "npm:^10.2.0" + regjsgen: "npm:^0.8.0" + regjsparser: "npm:^0.12.0" + unicode-match-property-ecmascript: "npm:^2.0.0" + unicode-match-property-value-ecmascript: "npm:^2.1.0" + checksum: 10c0/bbcb83a854bf96ce4005ee4e4618b71c889cda72674ce6092432f0039b47890c2d0dfeb9057d08d440999d9ea03879ebbb7f26ca005ccf94390e55c348859b98 + languageName: node + linkType: hard + +"regjsgen@npm:^0.8.0": + version: 0.8.0 + resolution: "regjsgen@npm:0.8.0" + checksum: 10c0/44f526c4fdbf0b29286101a282189e4dbb303f4013cf3fea058668d96d113b9180d3d03d1e13f6d4cbde38b7728bf951aecd9dc199938c080093a9a6f0d7a6bd + languageName: node + linkType: hard + +"regjsparser@npm:^0.10.0": + version: 0.10.0 + resolution: "regjsparser@npm:0.10.0" + dependencies: + jsesc: "npm:~0.5.0" + bin: + regjsparser: bin/parser + checksum: 10c0/0f0508c142eddbceae55dab9715e714305c19e1e130db53168e8fa5f9f7ff9a4901f674cf6f71e04a0973b2f883882ba05808c80778b2d52b053d925050010f4 + languageName: node + linkType: hard + +"regjsparser@npm:^0.12.0": + version: 0.12.0 + resolution: "regjsparser@npm:0.12.0" + dependencies: + jsesc: "npm:~3.0.2" + bin: + regjsparser: bin/parser + checksum: 10c0/99d3e4e10c8c7732eb7aa843b8da2fd8b647fe144d3711b480e4647dc3bff4b1e96691ccf17f3ace24aa866a50b064236177cb25e6e4fbbb18285d99edaed83b + languageName: node + linkType: hard + +"rehackt@npm:^0.1.0": + version: 0.1.0 + resolution: "rehackt@npm:0.1.0" + peerDependencies: + "@types/react": "*" + react: "*" + peerDependenciesMeta: + "@types/react": + optional: true + react: + optional: true + checksum: 10c0/3d838bfee84ec06c976f21027936f3b0fdb7660ab8a2d4d3f19c65e0daa78a268aa81352311352b8576b89a074714b36ae6cd5bdadb6e975eca079f2b342de73 + languageName: node + linkType: hard + +"relay-runtime@npm:12.0.0": + version: 12.0.0 + resolution: "relay-runtime@npm:12.0.0" + dependencies: + "@babel/runtime": "npm:^7.0.0" + fbjs: "npm:^3.0.0" + invariant: "npm:^2.2.4" + checksum: 10c0/f5d29b5c2f3c8a3438d43dcbc3022bd454c4ecbd4f0b10616df08bedc62d8aaa84f155f23e374053cf9f4a8238b93804e37a5b37ed9dc7ad01436d62d1b01d53 + languageName: node + linkType: hard + +"remedial@npm:^1.0.7": + version: 1.0.8 + resolution: "remedial@npm:1.0.8" + checksum: 10c0/ca1e22d2958e3f0f2fdb5f1c23fecadab5d83a0b1e291c67474c806ce07801212f1d2006995bdcfb592803ead7666e2b1fbb9281b3f32d4a87ff2335b3777725 + languageName: node + linkType: hard + +"remove-trailing-separator@npm:^1.0.1": + version: 1.1.0 + resolution: "remove-trailing-separator@npm:1.1.0" + checksum: 10c0/3568f9f8f5af3737b4aee9e6e1e8ec4be65a92da9cb27f989e0893714d50aa95ed2ff02d40d1fa35e1b1a234dc9c2437050ef356704a3999feaca6667d9e9bfc + languageName: node + linkType: hard + +"remove-trailing-spaces@npm:^1.0.6": + version: 1.0.9 + resolution: "remove-trailing-spaces@npm:1.0.9" + checksum: 10c0/56810d5106319e79d9cda7af4e3356e8e52d026ce0777c04031978ce1368c2a4b6b4cbbdf57215986ce18faab305adcf230c1067d1245a9e7fb25aff3ca14721 + languageName: node + linkType: hard + +"replace-in-file@npm:^6.1.0": + version: 6.3.5 + resolution: "replace-in-file@npm:6.3.5" + dependencies: + chalk: "npm:^4.1.2" + glob: "npm:^7.2.0" + yargs: "npm:^17.2.1" + bin: + replace-in-file: bin/cli.js + checksum: 10c0/20fa9bc0e6fb439e4556f65e672db35ad7ceaab6900ab035799c523eaef8bea463ce06cb790280ad56c0e2e5de70fd8b1ed0317eb539352d90b58de951995967 + languageName: node + linkType: hard + +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 + languageName: node + linkType: hard + +"require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: 10c0/aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2 + languageName: node + linkType: hard + +"require-package-name@npm:^2.0.1": + version: 2.0.1 + resolution: "require-package-name@npm:2.0.1" + checksum: 10c0/2da87caecdd2157489deaf8add246696dc9cbcebd89ef49b062ad1183594b979f96f8194d4b0f5447a92ad72d39b9fae2df38ec5b9ecef9c7c0157af38eeecbc + languageName: node + linkType: hard + +"resolve-from@npm:5.0.0, resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 10c0/b21cb7f1fb746de8107b9febab60095187781137fd803e6a59a76d421444b1531b641bba5857f5dc011974d8a5c635d61cec49e6bd3b7fc20e01f0fafc4efbf2 + languageName: node + linkType: hard + +"resolve-from@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-from@npm:4.0.0" + checksum: 10c0/8408eec31a3112ef96e3746c37be7d64020cda07c03a920f5024e77290a218ea758b26ca9529fd7b1ad283947f34b2291c1c0f6aa0ed34acfdda9c6014c8d190 + languageName: node + linkType: hard + +"resolve-path@npm:^1.4.0": + version: 1.4.0 + resolution: "resolve-path@npm:1.4.0" + dependencies: + http-errors: "npm:~1.6.2" + path-is-absolute: "npm:1.0.1" + checksum: 10c0/7405c01e02c7c71c62f89e42eac1b876e5a1bb9c3b85e07ce674646841dd177571bca5639ff6780528bec9ff58be7b44845e69eced1d8c5d519f4c1d72c30907 + languageName: node + linkType: hard + +"resolve-pkg-maps@npm:^1.0.0": + version: 1.0.0 + resolution: "resolve-pkg-maps@npm:1.0.0" + checksum: 10c0/fb8f7bbe2ca281a73b7ef423a1cbc786fb244bd7a95cbe5c3fba25b27d327150beca8ba02f622baea65919a57e061eb5005204daa5f93ed590d9b77463a567ab + languageName: node + linkType: hard + +"resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.22.1, resolve@npm:^1.22.4, resolve@npm:^1.22.8": + version: 1.22.10 + resolution: "resolve@npm:1.22.10" + dependencies: + is-core-module: "npm:^2.16.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/8967e1f4e2cc40f79b7e080b4582b9a8c5ee36ffb46041dccb20e6461161adf69f843b43067b4a375de926a2cd669157e29a29578191def399dd5ef89a1b5203 + languageName: node + linkType: hard + +"resolve@npm:^2.0.0-next.1": + version: 2.0.0-next.5 + resolution: "resolve@npm:2.0.0-next.5" + dependencies: + is-core-module: "npm:^2.13.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/a6c33555e3482ea2ec4c6e3d3bf0d78128abf69dca99ae468e64f1e30acaa318fd267fb66c8836b04d558d3e2d6ed875fe388067e7d8e0de647d3c21af21c43a + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin": + version: 1.22.10 + resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.16.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/52a4e505bbfc7925ac8f4cd91fd8c4e096b6a89728b9f46861d3b405ac9a1ccf4dcbf8befb4e89a2e11370dacd0160918163885cbc669369590f2f31f4c58939 + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^2.0.0-next.1#optional!builtin": + version: 2.0.0-next.5 + resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#optional!builtin::version=2.0.0-next.5&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.13.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/78ad6edb8309a2bfb720c2c1898f7907a37f858866ce11a5974643af1203a6a6e05b2fa9c53d8064a673a447b83d42569260c306d43628bff5bb101969708355 + languageName: node + linkType: hard + +"responselike@npm:^1.0.2": + version: 1.0.2 + resolution: "responselike@npm:1.0.2" + dependencies: + lowercase-keys: "npm:^1.0.0" + checksum: 10c0/1c2861d1950790da96159ca490eda645130eaf9ccc4d76db20f685ba944feaf30f45714b4318f550b8cd72990710ad68355ff15c41da43ed9a93c102c0ffa403 + languageName: node + linkType: hard + +"restore-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "restore-cursor@npm:3.1.0" + dependencies: + onetime: "npm:^5.1.0" + signal-exit: "npm:^3.0.2" + checksum: 10c0/8051a371d6aa67ff21625fa94e2357bd81ffdc96267f3fb0fc4aaf4534028343836548ef34c240ffa8c25b280ca35eb36be00b3cb2133fa4f51896d7e73c6b4f + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.1.0 + resolution: "reusify@npm:1.1.0" + checksum: 10c0/4eff0d4a5f9383566c7d7ec437b671cc51b25963bd61bf127c3f3d3f68e44a026d99b8d2f1ad344afff8d278a8fe70a8ea092650a716d22287e8bef7126bb2fa + languageName: node + linkType: hard + +"rfdc@npm:^1.3.0, rfdc@npm:^1.4.1": + version: 1.4.1 + resolution: "rfdc@npm:1.4.1" + checksum: 10c0/4614e4292356cafade0b6031527eea9bc90f2372a22c012313be1dcc69a3b90c7338158b414539be863fa95bfcb2ddcd0587be696841af4e6679d85e62c060c7 + languageName: node + linkType: hard + +"rimraf@npm:^3.0.2": + version: 3.0.2 + resolution: "rimraf@npm:3.0.2" + dependencies: + glob: "npm:^7.1.3" + bin: + rimraf: bin.js + checksum: 10c0/9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8 + languageName: node + linkType: hard + +"roarr@npm:^2.15.3": + version: 2.15.4 + resolution: "roarr@npm:2.15.4" + dependencies: + boolean: "npm:^3.0.1" + detect-node: "npm:^2.0.4" + globalthis: "npm:^1.0.1" + json-stringify-safe: "npm:^5.0.1" + semver-compare: "npm:^1.0.0" + sprintf-js: "npm:^1.1.2" + checksum: 10c0/7d01d4c14513c461778dd673a8f9e53255221f8d04173aafeb8e11b23d8b659bb83f1c90cfe81af7f9c213b8084b404b918108fd792bda76678f555340cc64ec + languageName: node + linkType: hard + +"rollup-plugin-visualizer@npm:^5.14.0": + version: 5.14.0 + resolution: "rollup-plugin-visualizer@npm:5.14.0" + dependencies: + open: "npm:^8.4.0" + picomatch: "npm:^4.0.2" + source-map: "npm:^0.7.4" + yargs: "npm:^17.5.1" + peerDependencies: + rolldown: 1.x + rollup: 2.x || 3.x || 4.x + peerDependenciesMeta: + rolldown: + optional: true + rollup: + optional: true + bin: + rollup-plugin-visualizer: dist/bin/cli.js + checksum: 10c0/ec6ca9ed125bce9994ba49a340bda730661d8e8dc5c5dc014dc757185182e1eda49c6708f990cb059095e71a3741a5248f1e6ba0ced7056020692888e06b1ddf + languageName: node + linkType: hard + +"rollup@npm:^4.34.9, rollup@npm:^4.40.2": + version: 4.40.2 + resolution: "rollup@npm:4.40.2" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.40.2" + "@rollup/rollup-android-arm64": "npm:4.40.2" + "@rollup/rollup-darwin-arm64": "npm:4.40.2" + "@rollup/rollup-darwin-x64": "npm:4.40.2" + "@rollup/rollup-freebsd-arm64": "npm:4.40.2" + "@rollup/rollup-freebsd-x64": "npm:4.40.2" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.40.2" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.40.2" + "@rollup/rollup-linux-arm64-gnu": "npm:4.40.2" + "@rollup/rollup-linux-arm64-musl": "npm:4.40.2" + "@rollup/rollup-linux-loongarch64-gnu": "npm:4.40.2" + "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.40.2" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.40.2" + "@rollup/rollup-linux-riscv64-musl": "npm:4.40.2" + "@rollup/rollup-linux-s390x-gnu": "npm:4.40.2" + "@rollup/rollup-linux-x64-gnu": "npm:4.40.2" + "@rollup/rollup-linux-x64-musl": "npm:4.40.2" + "@rollup/rollup-win32-arm64-msvc": "npm:4.40.2" + "@rollup/rollup-win32-ia32-msvc": "npm:4.40.2" + "@rollup/rollup-win32-x64-msvc": "npm:4.40.2" + "@types/estree": "npm:1.0.7" + fsevents: "npm:~2.3.2" + dependenciesMeta: + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-freebsd-arm64": + optional: true + "@rollup/rollup-freebsd-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm-musleabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-loongarch64-gnu": + optional: true + "@rollup/rollup-linux-powerpc64le-gnu": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-riscv64-musl": + optional: true + "@rollup/rollup-linux-s390x-gnu": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 10c0/cbe9b766891da74fbf7c3b50420bb75102e5c59afc0ea45751f7e43a581d2cd93367763f521f820b72e341cf1f6b9951fbdcd3be67a1b0aa774b754525a8b9c7 + languageName: node + linkType: hard + +"router@npm:^2.2.0": + version: 2.2.0 + resolution: "router@npm:2.2.0" + dependencies: + debug: "npm:^4.4.0" + depd: "npm:^2.0.0" + is-promise: "npm:^4.0.0" + parseurl: "npm:^1.3.3" + path-to-regexp: "npm:^8.0.0" + checksum: 10c0/3279de7450c8eae2f6e095e9edacbdeec0abb5cb7249c6e719faa0db2dba43574b4fff5892d9220631c9abaff52dd3cad648cfea2aaace845e1a071915ac8867 + languageName: node + linkType: hard + +"run-applescript@npm:^7.0.0": + version: 7.0.0 + resolution: "run-applescript@npm:7.0.0" + checksum: 10c0/bd821bbf154b8e6c8ecffeaf0c33cebbb78eb2987476c3f6b420d67ab4c5301faa905dec99ded76ebb3a7042b4e440189ae6d85bbbd3fc6e8d493347ecda8bfe + languageName: node + linkType: hard + +"run-async@npm:^2.4.0": + version: 2.4.1 + resolution: "run-async@npm:2.4.1" + checksum: 10c0/35a68c8f1d9664f6c7c2e153877ca1d6e4f886e5ca067c25cdd895a6891ff3a1466ee07c63d6a9be306e9619ff7d509494e6d9c129516a36b9fd82263d579ee1 + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: "npm:^1.2.2" + checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + languageName: node + linkType: hard + +"rxjs@npm:^7.0.0, rxjs@npm:^7.5.5": + version: 7.8.2 + resolution: "rxjs@npm:7.8.2" + dependencies: + tslib: "npm:^2.1.0" + checksum: 10c0/1fcd33d2066ada98ba8f21fcbbcaee9f0b271de1d38dc7f4e256bfbc6ffcdde68c8bfb69093de7eeb46f24b1fb820620bf0223706cff26b4ab99a7ff7b2e2c45 + languageName: node + linkType: hard + +"safe-buffer@npm:5.2.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 + languageName: node + linkType: hard + +"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": + version: 5.1.2 + resolution: "safe-buffer@npm:5.1.2" + checksum: 10c0/780ba6b5d99cc9a40f7b951d47152297d0e260f0df01472a1b99d4889679a4b94a13d644f7dbc4f022572f09ae9005fa2fbb93bbbd83643316f365a3e9a45b21 + languageName: node + linkType: hard + +"safe-regex-test@npm:^1.1.0": + version: 1.1.0 + resolution: "safe-regex-test@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + is-regex: "npm:^1.2.1" + checksum: 10c0/f2c25281bbe5d39cddbbce7f86fca5ea9b3ce3354ea6cd7c81c31b006a5a9fff4286acc5450a3b9122c56c33eba69c56b9131ad751457b2b4a585825e6a10665 + languageName: node + linkType: hard + +"safe-stable-stringify@npm:^2.3.1": + version: 2.5.0 + resolution: "safe-stable-stringify@npm:2.5.0" + checksum: 10c0/baea14971858cadd65df23894a40588ed791769db21bafb7fd7608397dbdce9c5aac60748abae9995e0fc37e15f2061980501e012cd48859740796bea2987f49 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + languageName: node + linkType: hard + +"scslre@npm:^0.3.0": + version: 0.3.0 + resolution: "scslre@npm:0.3.0" + dependencies: + "@eslint-community/regexpp": "npm:^4.8.0" + refa: "npm:^0.12.0" + regexp-ast-analysis: "npm:^0.7.0" + checksum: 10c0/47eb72cf913693b453b7622dfee26871b4c408169874b31b8a1f3de8f41698e6dbacd7565fccc8d24cd2fd30f53c21f16995a7f9072e8b25cd938a6c3a750c3c + languageName: node + linkType: hard + +"scuid@npm:^1.1.0": + version: 1.1.0 + resolution: "scuid@npm:1.1.0" + checksum: 10c0/01c6bd2657ceaa148ead0c836df6251f561166142059261022a38dba429b30141e27ab3c0eca1012b88912f51a9e848e475fe1b6259ef1c61a0a7f6eb54fb261 + languageName: node + linkType: hard + +"scule@npm:^1.3.0": + version: 1.3.0 + resolution: "scule@npm:1.3.0" + checksum: 10c0/5d1736daa10622c420f2aa74e60d3c722e756bfb139fa784ae5c66669fdfe92932d30ed5072e4ce3107f9c3053e35ad73b2461cb18de45b867e1d4dea63f8823 + languageName: node + linkType: hard + +"semver-compare@npm:^1.0.0": + version: 1.0.0 + resolution: "semver-compare@npm:1.0.0" + checksum: 10c0/9ef4d8b81847556f0865f46ddc4d276bace118c7cb46811867af82e837b7fc473911981d5a0abc561fa2db487065572217e5b06e18701c4281bcdd2a1affaff1 + languageName: node + linkType: hard + +"semver@npm:2 || 3 || 4 || 5": + version: 5.7.2 + resolution: "semver@npm:5.7.2" + bin: + semver: bin/semver + checksum: 10c0/e4cf10f86f168db772ae95d86ba65b3fd6c5967c94d97c708ccb463b778c2ee53b914cd7167620950fc07faf5a564e6efe903836639e512a1aa15fbc9667fa25 + languageName: node + linkType: hard + +"semver@npm:^6.0.0, semver@npm:^6.2.0, semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d + languageName: node + linkType: hard + +"semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.6, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.6.0, semver@npm:^7.6.1, semver@npm:^7.6.3, semver@npm:^7.7.1, semver@npm:^7.7.2": + version: 7.7.2 + resolution: "semver@npm:7.7.2" + bin: + semver: bin/semver.js + checksum: 10c0/aca305edfbf2383c22571cb7714f48cadc7ac95371b4b52362fb8eeffdfbc0de0669368b82b2b15978f8848f01d7114da65697e56cd8c37b0dab8c58e543f9ea + languageName: node + linkType: hard + +"send@npm:0.19.0": + version: 0.19.0 + resolution: "send@npm:0.19.0" + dependencies: + debug: "npm:2.6.9" + depd: "npm:2.0.0" + destroy: "npm:1.2.0" + encodeurl: "npm:~1.0.2" + escape-html: "npm:~1.0.3" + etag: "npm:~1.8.1" + fresh: "npm:0.5.2" + http-errors: "npm:2.0.0" + mime: "npm:1.6.0" + ms: "npm:2.1.3" + on-finished: "npm:2.4.1" + range-parser: "npm:~1.2.1" + statuses: "npm:2.0.1" + checksum: 10c0/ea3f8a67a8f0be3d6bf9080f0baed6d2c51d11d4f7b4470de96a5029c598a7011c497511ccc28968b70ef05508675cebff27da9151dd2ceadd60be4e6cf845e3 + languageName: node + linkType: hard + +"send@npm:^1.1.0, send@npm:^1.2.0": + version: 1.2.0 + resolution: "send@npm:1.2.0" + dependencies: + debug: "npm:^4.3.5" + encodeurl: "npm:^2.0.0" + escape-html: "npm:^1.0.3" + etag: "npm:^1.8.1" + fresh: "npm:^2.0.0" + http-errors: "npm:^2.0.0" + mime-types: "npm:^3.0.1" + ms: "npm:^2.1.3" + on-finished: "npm:^2.4.1" + range-parser: "npm:^1.2.1" + statuses: "npm:^2.0.1" + checksum: 10c0/531bcfb5616948d3468d95a1fd0adaeb0c20818ba4a500f439b800ca2117971489e02074ce32796fd64a6772ea3e7235fe0583d8241dbd37a053dc3378eff9a5 + languageName: node + linkType: hard + +"sentence-case@npm:^3.0.4": + version: 3.0.4 + resolution: "sentence-case@npm:3.0.4" + dependencies: + no-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + upper-case-first: "npm:^2.0.2" + checksum: 10c0/9a90527a51300cf5faea7fae0c037728f9ddcff23ac083883774c74d180c0a03c31aab43d5c3347512e8c1b31a0d4712512ec82beb71aa79b85149f9abeb5467 + languageName: node + linkType: hard + +"serialize-error@npm:^7.0.1": + version: 7.0.1 + resolution: "serialize-error@npm:7.0.1" + dependencies: + type-fest: "npm:^0.13.1" + checksum: 10c0/7982937d578cd901276c8ab3e2c6ed8a4c174137730f1fb0402d005af209a0e84d04acc874e317c936724c7b5b26c7a96ff7e4b8d11a469f4924a4b0ea814c05 + languageName: node + linkType: hard + +"serialize-javascript@npm:^6.0.1": + version: 6.0.2 + resolution: "serialize-javascript@npm:6.0.2" + dependencies: + randombytes: "npm:^2.1.0" + checksum: 10c0/2dd09ef4b65a1289ba24a788b1423a035581bef60817bea1f01eda8e3bda623f86357665fe7ac1b50f6d4f583f97db9615b3f07b2a2e8cbcb75033965f771dd2 + languageName: node + linkType: hard + +"serve-placeholder@npm:^2.0.2": + version: 2.0.2 + resolution: "serve-placeholder@npm:2.0.2" + dependencies: + defu: "npm:^6.1.4" + checksum: 10c0/6441c16c3d7cd05ed9e30eb665ef27e110be9e5633b7c316b093918789276e9d3b423685b67ca38236c7a5eb3df5590d7b5a1bfdfccaab182691c49aec8320e4 + languageName: node + linkType: hard + +"serve-static@npm:1.16.2": + version: 1.16.2 + resolution: "serve-static@npm:1.16.2" + dependencies: + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + parseurl: "npm:~1.3.3" + send: "npm:0.19.0" + checksum: 10c0/528fff6f5e12d0c5a391229ad893910709bc51b5705962b09404a1d813857578149b8815f35d3ee5752f44cd378d0f31669d4b1d7e2d11f41e08283d5134bd1f + languageName: node + linkType: hard + +"serve-static@npm:^2.2.0": + version: 2.2.0 + resolution: "serve-static@npm:2.2.0" + dependencies: + encodeurl: "npm:^2.0.0" + escape-html: "npm:^1.0.3" + parseurl: "npm:^1.3.3" + send: "npm:^1.2.0" + checksum: 10c0/30e2ed1dbff1984836cfd0c65abf5d3f3f83bcd696c99d2d3c97edbd4e2a3ff4d3f87108a7d713640d290a7b6fe6c15ddcbc61165ab2eaad48ea8d3b52c7f913 + languageName: node + linkType: hard + +"set-blocking@npm:^2.0.0": + version: 2.0.0 + resolution: "set-blocking@npm:2.0.0" + checksum: 10c0/9f8c1b2d800800d0b589de1477c753492de5c1548d4ade52f57f1d1f5e04af5481554d75ce5e5c43d4004b80a3eb714398d6907027dc0534177b7539119f4454 + languageName: node + linkType: hard + +"setimmediate@npm:^1.0.5": + version: 1.0.5 + resolution: "setimmediate@npm:1.0.5" + checksum: 10c0/5bae81bfdbfbd0ce992893286d49c9693c82b1bcc00dcaaf3a09c8f428fdeacf4190c013598b81875dfac2b08a572422db7df779a99332d0fce186d15a3e4d49 + languageName: node + linkType: hard + +"setprototypeof@npm:1.1.0": + version: 1.1.0 + resolution: "setprototypeof@npm:1.1.0" + checksum: 10c0/a77b20876689c6a89c3b42f0c3596a9cae02f90fc902570cbd97198e9e8240382086c9303ad043e88cee10f61eae19f1004e51d885395a1e9bf49f9ebed12872 + languageName: node + linkType: hard + +"setprototypeof@npm:1.2.0": + version: 1.2.0 + resolution: "setprototypeof@npm:1.2.0" + checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"shell-quote@npm:^1.7.3, shell-quote@npm:^1.8.1": + version: 1.8.2 + resolution: "shell-quote@npm:1.8.2" + checksum: 10c0/85fdd44f2ad76e723d34eb72c753f04d847ab64e9f1f10677e3f518d0e5b0752a176fd805297b30bb8c3a1556ebe6e77d2288dbd7b7b0110c7e941e9e9c20ce1 + languageName: node + linkType: hard + +"side-channel-list@npm:^1.0.0": + version: 1.0.0 + resolution: "side-channel-list@npm:1.0.0" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + checksum: 10c0/644f4ac893456c9490ff388bf78aea9d333d5e5bfc64cfb84be8f04bf31ddc111a8d4b83b85d7e7e8a7b845bc185a9ad02c052d20e086983cf59f0be517d9b3d + languageName: node + linkType: hard + +"side-channel-map@npm:^1.0.1": + version: 1.0.1 + resolution: "side-channel-map@npm:1.0.1" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + checksum: 10c0/010584e6444dd8a20b85bc926d934424bd809e1a3af941cace229f7fdcb751aada0fb7164f60c2e22292b7fa3c0ff0bce237081fd4cdbc80de1dc68e95430672 + languageName: node + linkType: hard + +"side-channel-weakmap@npm:^1.0.2": + version: 1.0.2 + resolution: "side-channel-weakmap@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + side-channel-map: "npm:^1.0.1" + checksum: 10c0/71362709ac233e08807ccd980101c3e2d7efe849edc51455030327b059f6c4d292c237f94dc0685031dd11c07dd17a68afde235d6cf2102d949567f98ab58185 + languageName: node + linkType: hard + +"side-channel@npm:^1.0.6, side-channel@npm:^1.1.0": + version: 1.1.0 + resolution: "side-channel@npm:1.1.0" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + side-channel-list: "npm:^1.0.0" + side-channel-map: "npm:^1.0.1" + side-channel-weakmap: "npm:^1.0.2" + checksum: 10c0/cb20dad41eb032e6c24c0982e1e5a24963a28aa6122b4f05b3f3d6bf8ae7fd5474ef382c8f54a6a3ab86e0cac4d41a23bd64ede3970e5bfb50326ba02a7996e6 + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.7": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 + languageName: node + linkType: hard + +"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 + languageName: node + linkType: hard + +"signedsource@npm:^1.0.0": + version: 1.0.0 + resolution: "signedsource@npm:1.0.0" + checksum: 10c0/dbb4ade9c94888e83c16d23ef1a43195799de091d366d130be286415e8aeb97b3f25b14fd26fc5888e1335d703ad561374fddee32e43b7cea04751b93d178a47 + languageName: node + linkType: hard + +"simple-git@npm:^3.27.0": + version: 3.27.0 + resolution: "simple-git@npm:3.27.0" + dependencies: + "@kwsites/file-exists": "npm:^1.1.1" + "@kwsites/promise-deferred": "npm:^1.1.1" + debug: "npm:^4.3.5" + checksum: 10c0/ef56cabea585377d3e0ca30e4e93447f465d91f23eaf751693cc31f366b5f7636facf52ad5bcd598bfdf295fa60732e7a394303d378995b52e2d221d92e5f9f4 + languageName: node + linkType: hard + +"simple-swizzle@npm:^0.2.2": + version: 0.2.2 + resolution: "simple-swizzle@npm:0.2.2" + dependencies: + is-arrayish: "npm:^0.3.1" + checksum: 10c0/df5e4662a8c750bdba69af4e8263c5d96fe4cd0f9fe4bdfa3cbdeb45d2e869dff640beaaeb1ef0e99db4d8d2ec92f85508c269f50c972174851bc1ae5bd64308 + languageName: node + linkType: hard + +"sirv@npm:^3.0.1": + version: 3.0.1 + resolution: "sirv@npm:3.0.1" + dependencies: + "@polka/url": "npm:^1.0.0-next.24" + mrmime: "npm:^2.0.0" + totalist: "npm:^3.0.0" + checksum: 10c0/7cf64b28daa69b15f77b38b0efdd02c007b72bb3ec5f107b208ebf59f01b174ef63a1db3aca16d2df925501831f4c209be6ece3302b98765919ef5088b45bf80 + languageName: node + linkType: hard + +"sisteransi@npm:^1.0.5": + version: 1.0.5 + resolution: "sisteransi@npm:1.0.5" + checksum: 10c0/230ac975cca485b7f6fe2b96a711aa62a6a26ead3e6fb8ba17c5a00d61b8bed0d7adc21f5626b70d7c33c62ff4e63933017a6462942c719d1980bb0b1207ad46 + languageName: node + linkType: hard + +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b + languageName: node + linkType: hard + +"slash@npm:^5.1.0": + version: 5.1.0 + resolution: "slash@npm:5.1.0" + checksum: 10c0/eb48b815caf0bdc390d0519d41b9e0556a14380f6799c72ba35caf03544d501d18befdeeef074bc9c052acf69654bc9e0d79d7f1de0866284137a40805299eb3 + languageName: node + linkType: hard + +"slashes@npm:^3.0.12": + version: 3.0.12 + resolution: "slashes@npm:3.0.12" + checksum: 10c0/71ca2a1fcd1ab6814b0fdb8cf9c33a3d54321deec2aa8d173510f0086880201446021a9b9e6a18561f7c472b69a2145977c6a8fb9c53a8ff7be31778f203d175 + languageName: node + linkType: hard + +"slice-ansi@npm:^3.0.0": + version: 3.0.0 + resolution: "slice-ansi@npm:3.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + astral-regex: "npm:^2.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + checksum: 10c0/88083c9d0ca67d09f8b4c78f68833d69cabbb7236b74df5d741ad572bbf022deaf243fa54009cd434350622a1174ab267710fcc80a214ecc7689797fe00cb27c + languageName: node + linkType: hard + +"slice-ansi@npm:^4.0.0": + version: 4.0.0 + resolution: "slice-ansi@npm:4.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + astral-regex: "npm:^2.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + checksum: 10c0/6c25678db1270d4793e0327620f1e0f9f5bea4630123f51e9e399191bc52c87d6e6de53ed33538609e5eacbd1fab769fae00f3705d08d029f02102a540648918 + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 + languageName: node + linkType: hard + +"smob@npm:^1.0.0": + version: 1.5.0 + resolution: "smob@npm:1.5.0" + checksum: 10c0/a1067f23265812de8357ed27312101af49b89129eb973e3f26ab5856ea774f88cace13342e66e32470f933ccfa916e0e9d0f7ca8bbd4f92dfab2af45c15956c2 + languageName: node + linkType: hard + +"snake-case@npm:^3.0.4": + version: 3.0.4 + resolution: "snake-case@npm:3.0.4" + dependencies: + dot-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/ab19a913969f58f4474fe9f6e8a026c8a2142a01f40b52b79368068343177f818cdfef0b0c6b9558f298782441d5ca8ed5932eb57822439fad791d866e62cecd + languageName: node + linkType: hard + +"socket.io-adapter@npm:~2.5.2": + version: 2.5.5 + resolution: "socket.io-adapter@npm:2.5.5" + dependencies: + debug: "npm:~4.3.4" + ws: "npm:~8.17.1" + checksum: 10c0/04a5a2a9c4399d1b6597c2afc4492ab1e73430cc124ab02b09e948eabf341180b3866e2b61b5084cb899beb68a4db7c328c29bda5efb9207671b5cb0bc6de44e + languageName: node + linkType: hard + +"socket.io-client@npm:^4.4.1": + version: 4.8.1 + resolution: "socket.io-client@npm:4.8.1" + dependencies: + "@socket.io/component-emitter": "npm:~3.1.0" + debug: "npm:~4.3.2" + engine.io-client: "npm:~6.6.1" + socket.io-parser: "npm:~4.2.4" + checksum: 10c0/544c49cc8cc77118ef68b758a8a580c8e680a5909cae05c566d2cc07ec6cd6720a4f5b7e985489bf2a8391749177a5437ac30b8afbdf30b9da6402687ad51c86 + languageName: node + linkType: hard + +"socket.io-parser@npm:~4.2.4": + version: 4.2.4 + resolution: "socket.io-parser@npm:4.2.4" + dependencies: + "@socket.io/component-emitter": "npm:~3.1.0" + debug: "npm:~4.3.1" + checksum: 10c0/9383b30358fde4a801ea4ec5e6860915c0389a091321f1c1f41506618b5cf7cd685d0a31c587467a0c4ee99ef98c2b99fb87911f9dfb329716c43b587f29ca48 + languageName: node + linkType: hard + +"socket.io@npm:^4.4.0": + version: 4.8.1 + resolution: "socket.io@npm:4.8.1" + dependencies: + accepts: "npm:~1.3.4" + base64id: "npm:~2.0.0" + cors: "npm:~2.8.5" + debug: "npm:~4.3.2" + engine.io: "npm:~6.6.0" + socket.io-adapter: "npm:~2.5.2" + socket.io-parser: "npm:~4.2.4" + checksum: 10c0/acf931a2bb235be96433b71da3d8addc63eeeaa8acabd33dc8d64e12287390a45f1e9f389a73cf7dc336961cd491679741b7a016048325c596835abbcc017ca9 + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^8.0.3": + version: 8.0.5 + resolution: "socks-proxy-agent@npm:8.0.5" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:^4.3.4" + socks: "npm:^2.8.3" + checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6 + languageName: node + linkType: hard + +"socks@npm:^2.8.3": + version: 2.8.4 + resolution: "socks@npm:2.8.4" + dependencies: + ip-address: "npm:^9.0.5" + smart-buffer: "npm:^4.2.0" + checksum: 10c0/00c3271e233ccf1fb83a3dd2060b94cc37817e0f797a93c560b9a7a86c4a0ec2961fb31263bdd24a3c28945e24868b5f063cd98744171d9e942c513454b50ae5 + languageName: node + linkType: hard + +"source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.0, source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf + languageName: node + linkType: hard + +"source-map-support@npm:^0.5.21, source-map-support@npm:~0.5.20": + version: 0.5.21 + resolution: "source-map-support@npm:0.5.21" + dependencies: + buffer-from: "npm:^1.0.0" + source-map: "npm:^0.6.0" + checksum: 10c0/9ee09942f415e0f721d6daad3917ec1516af746a8120bba7bb56278707a37f1eb8642bde456e98454b8a885023af81a16e646869975f06afc1a711fb90484e7d + languageName: node + linkType: hard + +"source-map@npm:^0.6.0, source-map@npm:~0.6.1": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 + languageName: node + linkType: hard + +"source-map@npm:^0.7.4": + version: 0.7.4 + resolution: "source-map@npm:0.7.4" + checksum: 10c0/dc0cf3768fe23c345ea8760487f8c97ef6fca8a73c83cd7c9bf2fde8bc2c34adb9c0824d6feb14bc4f9e37fb522e18af621543f1289038a66ac7586da29aa7dc + languageName: node + linkType: hard + +"spawn-command@npm:^0.0.2-1": + version: 0.0.2 + resolution: "spawn-command@npm:0.0.2" + checksum: 10c0/b22f2d71239e6e628a400831861ba747750bbb40c0a53323754cf7b84330b73d81e40ff1f9055e6d1971818679510208a9302e13d9ff3b32feb67e74d7a1b3ef + languageName: node + linkType: hard + +"spdx-correct@npm:^3.0.0": + version: 3.2.0 + resolution: "spdx-correct@npm:3.2.0" + dependencies: + spdx-expression-parse: "npm:^3.0.0" + spdx-license-ids: "npm:^3.0.0" + checksum: 10c0/49208f008618b9119208b0dadc9208a3a55053f4fd6a0ae8116861bd22696fc50f4142a35ebfdb389e05ccf2de8ad142573fefc9e26f670522d899f7b2fe7386 + languageName: node + linkType: hard + +"spdx-exceptions@npm:^2.1.0": + version: 2.5.0 + resolution: "spdx-exceptions@npm:2.5.0" + checksum: 10c0/37217b7762ee0ea0d8b7d0c29fd48b7e4dfb94096b109d6255b589c561f57da93bf4e328c0290046115961b9209a8051ad9f525e48d433082fc79f496a4ea940 + languageName: node + linkType: hard + +"spdx-expression-parse@npm:^3.0.0": + version: 3.0.1 + resolution: "spdx-expression-parse@npm:3.0.1" + dependencies: + spdx-exceptions: "npm:^2.1.0" + spdx-license-ids: "npm:^3.0.0" + checksum: 10c0/6f8a41c87759fa184a58713b86c6a8b028250f158159f1d03ed9d1b6ee4d9eefdc74181c8ddc581a341aa971c3e7b79e30b59c23b05d2436d5de1c30bdef7171 + languageName: node + linkType: hard + +"spdx-expression-parse@npm:^4.0.0": + version: 4.0.0 + resolution: "spdx-expression-parse@npm:4.0.0" + dependencies: + spdx-exceptions: "npm:^2.1.0" + spdx-license-ids: "npm:^3.0.0" + checksum: 10c0/965c487e77f4fb173f1c471f3eef4eb44b9f0321adc7f93d95e7620da31faa67d29356eb02523cd7df8a7fc1ec8238773cdbf9e45bd050329d2b26492771b736 + languageName: node + linkType: hard + +"spdx-license-ids@npm:^3.0.0": + version: 3.0.21 + resolution: "spdx-license-ids@npm:3.0.21" + checksum: 10c0/ecb24c698d8496aa9efe23e0b1f751f8a7a89faedcdfcbfabae772b546c2db46ccde8f3bc447a238eb86bbcd4f73fea88720ef3b8394f7896381bec3d7736411 + languageName: node + linkType: hard + +"speakingurl@npm:^14.0.1": + version: 14.0.1 + resolution: "speakingurl@npm:14.0.1" + checksum: 10c0/1de1d1b938a7c4d9e79593ff7a26d312ec04a7c3234ca40b7f9b8106daf74ea9d2110a077f5db97ecf3762b83069e3ccbf9694431b51d4fcfd863f0b3333c342 + languageName: node + linkType: hard + +"speckle-connectors-dui@workspace:.": + version: 0.0.0-use.local + resolution: "speckle-connectors-dui@workspace:." + dependencies: + "@apollo/client": "npm:^3.7.14" + "@graphql-codegen/cli": "npm:^5.0.5" + "@graphql-codegen/client-preset": "npm:^4.3.0" + "@headlessui/vue": "npm:^1.7.13" + "@heroicons/vue": "npm:^2.0.12" + "@jsonforms/core": "npm:3.1.0" + "@jsonforms/vue": "npm:3.1.0" + "@jsonforms/vue-vanilla": "npm:3.1.0" + "@nuxt/eslint": "npm:^0.3.13" + "@nuxtjs/tailwindcss": "npm:^6.14.0" + "@parcel/watcher": "npm:^2.5.1" + "@pinia/nuxt": "npm:^0.4.11" + "@speckle/objectloader": "npm:^2.24.0" + "@speckle/objectsender": "npm:^2.24.0" + "@speckle/shared": "npm:^2.24.0" + "@speckle/tailwind-theme": "npm:2.24.1-alpha.0" + "@speckle/ui-components": "npm:^2.24.0" + "@speckle/ui-components-nuxt": "npm:^2.24.0" + "@types/apollo-upload-client": "npm:^17.0.1" + "@types/eslint": "npm:^8.56.10" + "@types/lodash-es": "npm:^4.17.6" + "@types/node": "npm:^18" + "@typescript-eslint/eslint-plugin": "npm:^8.20.0" + "@typescript-eslint/parser": "npm:^8.20.0" + "@vitejs/plugin-legacy": "npm:^4.0.3" + "@vue/apollo-composable": "npm:^4.0.0-beta.5" + "@vue/devtools": "npm:^6.5.0" + "@vueuse/core": "npm:^9.13.0" + apollo-upload-client: "npm:^17.0.0" + autoprefixer: "npm:^10.4.14" + concurrently: "npm:^7.5.0" + crypto-random-string: "npm:^5.0.0" + dayjs: "npm:^1.11.10" + dotenv: "npm:^16.3.1" + eslint: "npm:^9.20.1" + eslint-config-prettier: "npm:^9.1.0" + eslint-plugin-vuejs-accessibility: "npm:^2.3.0" + graphql: "npm:^16.6.0" + graphql-tag: "npm:^2.12.6" + lodash-es: "npm:^4.17.21" + nanoevents: "npm:^8.0.0" + nuxt: "npm:^3.17.3" + pinia: "npm:^2.1.4" + portal-vue: "npm:^3.0.0" + postcss: "npm:^8.5.3" + postcss-custom-properties: "npm:^14.0.4" + postcss-html: "npm:^1.8.0" + postcss-nesting: "npm:^13.0.1" + prettier: "npm:^2.8.7" + stylelint: "npm:^15.10.1" + stylelint-config-prettier: "npm:^9.0.3" + stylelint-config-recommended-vue: "npm:^1.4.0" + stylelint-config-standard: "npm:^26.0.0" + subscriptions-transport-ws: "npm:^0.11.0" + tailwindcss: "npm:^3.4.17" + type-fest: "npm:^3.5.1" + typescript: "npm:^5.7.3" + typescript-eslint: "npm:^8.20.0" + vee-validate: "npm:4.7.0" + vue-tippy: "npm:^6.2.0" + vue-tsc: "npm:^2.2.2" + languageName: unknown + linkType: soft + +"sponge-case@npm:^1.0.1": + version: 1.0.1 + resolution: "sponge-case@npm:1.0.1" + dependencies: + tslib: "npm:^2.0.3" + checksum: 10c0/dbe42f300ae9f7fbd83c40f71c2a61ecf9c86b927b5668bae067d1e516e314671cc85166f87017e51b56938409b1fc042719eb46a6d5bb30cc1cf23252a82761 + languageName: node + linkType: hard + +"sprintf-js@npm:^1.1.2, sprintf-js@npm:^1.1.3": + version: 1.1.3 + resolution: "sprintf-js@npm:1.1.3" + checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec + languageName: node + linkType: hard + +"ssri@npm:^12.0.0": + version: 12.0.0 + resolution: "ssri@npm:12.0.0" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d + languageName: node + linkType: hard + +"stable-hash@npm:^0.0.4": + version: 0.0.4 + resolution: "stable-hash@npm:0.0.4" + checksum: 10c0/53d010d2a1b014fb60d398c095f43912c353b7b44774e55222bb26fd428bc75b73d7bdfcae509ce927c23ca9c5aff2dc1bc82f191d30e57a879550bc2952bdb0 + languageName: node + linkType: hard + +"stack-trace@npm:0.0.x": + version: 0.0.10 + resolution: "stack-trace@npm:0.0.10" + checksum: 10c0/9ff3dabfad4049b635a85456f927a075c9d0c210e3ea336412d18220b2a86cbb9b13ec46d6c37b70a302a4ea4d49e30e5d4944dd60ae784073f1cde778ac8f4b + languageName: node + linkType: hard + +"standard-as-callback@npm:^2.1.0": + version: 2.1.0 + resolution: "standard-as-callback@npm:2.1.0" + checksum: 10c0/012677236e3d3fdc5689d29e64ea8a599331c4babe86956bf92fc5e127d53f85411c5536ee0079c52c43beb0026b5ce7aa1d834dd35dd026e82a15d1bcaead1f + languageName: node + linkType: hard + +"statuses@npm:2.0.1, statuses@npm:^2.0.1": + version: 2.0.1 + resolution: "statuses@npm:2.0.1" + checksum: 10c0/34378b207a1620a24804ce8b5d230fea0c279f00b18a7209646d5d47e419d1cc23e7cbf33a25a1e51ac38973dc2ac2e1e9c647a8e481ef365f77668d72becfd0 + languageName: node + linkType: hard + +"statuses@npm:>= 1.4.0 < 2, statuses@npm:>= 1.5.0 < 2, statuses@npm:^1.5.0": + version: 1.5.0 + resolution: "statuses@npm:1.5.0" + checksum: 10c0/e433900956357b3efd79b1c547da4d291799ac836960c016d10a98f6a810b1b5c0dcc13b5a7aa609a58239b5190e1ea176ad9221c2157d2fd1c747393e6b2940 + languageName: node + linkType: hard + +"std-env@npm:^3.7.0, std-env@npm:^3.8.1, std-env@npm:^3.9.0": + version: 3.9.0 + resolution: "std-env@npm:3.9.0" + checksum: 10c0/4a6f9218aef3f41046c3c7ecf1f98df00b30a07f4f35c6d47b28329bc2531eef820828951c7d7b39a1c5eb19ad8a46e3ddfc7deb28f0a2f3ceebee11bab7ba50 + languageName: node + linkType: hard + +"streamx@npm:^2.15.0": + version: 2.22.0 + resolution: "streamx@npm:2.22.0" + dependencies: + bare-events: "npm:^2.2.0" + fast-fifo: "npm:^1.3.2" + text-decoder: "npm:^1.1.0" + dependenciesMeta: + bare-events: + optional: true + checksum: 10c0/f5017998a5b6360ba652599d20ef308c8c8ab0e26c8e5f624f0706f0ea12624e94fdf1ec18318124498529a1b106a1ab1c94a1b1e1ad6c2eec7cb9c8ac1b9198 + languageName: node + linkType: hard + +"string-env-interpolation@npm:^1.0.1": + version: 1.0.1 + resolution: "string-env-interpolation@npm:1.0.1" + checksum: 10c0/410046e621e71678e71816377d799b40ba88d236708c0ad015114137fa3575f1b3cf14bfd63ec5eaa35ea43ac582308e60a8e1a3839a10f475b8db73470105bc + languageName: node + linkType: hard + +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: "npm:^8.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b + languageName: node + linkType: hard + +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^9.2.2" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca + languageName: node + linkType: hard + +"string_decoder@npm:^1.1.1, string_decoder@npm:^1.3.0": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" + dependencies: + safe-buffer: "npm:~5.2.0" + checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d + languageName: node + linkType: hard + +"string_decoder@npm:~1.1.1": + version: 1.1.1 + resolution: "string_decoder@npm:1.1.1" + dependencies: + safe-buffer: "npm:~5.1.0" + checksum: 10c0/b4f89f3a92fd101b5653ca3c99550e07bdf9e13b35037e9e2a1c7b47cec4e55e06ff3fc468e314a0b5e80bfbaf65c1ca5a84978764884ae9413bec1fc6ca924e + languageName: node + linkType: hard + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: "npm:^5.0.1" + checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 + languageName: node + linkType: hard + +"strip-ansi@npm:^7.0.1, strip-ansi@npm:^7.1.0": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" + dependencies: + ansi-regex: "npm:^6.0.1" + checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 + languageName: node + linkType: hard + +"strip-final-newline@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-final-newline@npm:3.0.0" + checksum: 10c0/a771a17901427bac6293fd416db7577e2bc1c34a19d38351e9d5478c3c415f523f391003b42ed475f27e33a78233035df183525395f731d3bfb8cdcbd4da08ce + languageName: node + linkType: hard + +"strip-indent@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-indent@npm:3.0.0" + dependencies: + min-indent: "npm:^1.0.0" + checksum: 10c0/ae0deaf41c8d1001c5d4fbe16cb553865c1863da4fae036683b474fa926af9fc121e155cb3fc57a68262b2ae7d5b8420aa752c97a6428c315d00efe2a3875679 + languageName: node + linkType: hard + +"strip-indent@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-indent@npm:4.0.0" + dependencies: + min-indent: "npm:^1.0.1" + checksum: 10c0/6b1fb4e22056867f5c9e7a6f3f45922d9a2436cac758607d58aeaac0d3b16ec40b1c43317de7900f1b8dd7a4107352fa47fb960f2c23566538c51e8585c8870e + languageName: node + linkType: hard + +"strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd + languageName: node + linkType: hard + +"strip-literal@npm:^2.1.1": + version: 2.1.1 + resolution: "strip-literal@npm:2.1.1" + dependencies: + js-tokens: "npm:^9.0.1" + checksum: 10c0/66a7353f5ba1ae6a4fb2805b4aba228171847200640083117c41512692e6b2c020e18580402984f55c0ae69c30f857f9a55abd672863e4ca8fdb463fdf93ba19 + languageName: node + linkType: hard + +"strip-literal@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-literal@npm:3.0.0" + dependencies: + js-tokens: "npm:^9.0.1" + checksum: 10c0/d81657f84aba42d4bbaf2a677f7e7f34c1f3de5a6726db8bc1797f9c0b303ba54d4660383a74bde43df401cf37cce1dff2c842c55b077a4ceee11f9e31fba828 + languageName: node + linkType: hard + +"structured-clone-es@npm:^1.0.0": + version: 1.0.0 + resolution: "structured-clone-es@npm:1.0.0" + checksum: 10c0/404b75c88499ab31183296bfcbcfdf703f862c19fc84e4244d831240287237439f3f7fd4c413e92cf132efbb73765b0f198d6ad1e6ecd044538800af6cfdb701 + languageName: node + linkType: hard + +"style-search@npm:^0.1.0": + version: 0.1.0 + resolution: "style-search@npm:0.1.0" + checksum: 10c0/9e5cb735e5dc4fc2f8c61bebdf211d5352f1cf01511a64da12bb726a01e8c6948c50d357eb8fd7893d44b4e3189655bdddcf8ab338f9d508fe89a8942c650b14 + languageName: node + linkType: hard + +"stylehacks@npm:^7.0.5": + version: 7.0.5 + resolution: "stylehacks@npm:7.0.5" + dependencies: + browserslist: "npm:^4.24.5" + postcss-selector-parser: "npm:^7.1.0" + peerDependencies: + postcss: ^8.4.32 + checksum: 10c0/66a15cbbac00b15ee68d01bdaf8b044c8e4e9e13fc27a6971d4ec39f09553769bf1e11245abe21393b8fead66255cf2e03d84265e3ee265bd6183eb499f8774a + languageName: node + linkType: hard + +"stylelint-config-html@npm:>=1.0.0": + version: 1.1.0 + resolution: "stylelint-config-html@npm:1.1.0" + peerDependencies: + postcss-html: ^1.0.0 + stylelint: ">=14.0.0" + checksum: 10c0/7af0875554608fd17cf04b5ede54186123f7cd2d94a41e79bb3d67796a1a643ce543f1248cec8122a5551f93d59ef0ebec44169779a06a6812b49294439ce8e0 + languageName: node + linkType: hard + +"stylelint-config-prettier@npm:^9.0.3": + version: 9.0.5 + resolution: "stylelint-config-prettier@npm:9.0.5" + peerDependencies: + stylelint: ">= 11.x < 15" + bin: + stylelint-config-prettier: bin/check.js + stylelint-config-prettier-check: bin/check.js + checksum: 10c0/4fb049b3ea00a9fff009b83583d42b7c76978d1befe8e3132ab2722deb25601931b076902a2fab4d4570ece03ec0cb8ba062cc59a9440251a32eb71d1b29803c + languageName: node + linkType: hard + +"stylelint-config-recommended-vue@npm:^1.4.0": + version: 1.6.0 + resolution: "stylelint-config-recommended-vue@npm:1.6.0" + dependencies: + semver: "npm:^7.3.5" + stylelint-config-html: "npm:>=1.0.0" + stylelint-config-recommended: "npm:>=6.0.0" + peerDependencies: + postcss-html: ^1.0.0 + stylelint: ">=14.0.0" + checksum: 10c0/638d3106b0d82ccf550c48e56dbf1c4eafd2e9e523d25f15dd75da626244c8bf22d9816aef260e5485ea6e5efe3259c0a7f30b4f2ad7443a983ae6de890e9451 + languageName: node + linkType: hard + +"stylelint-config-recommended@npm:>=6.0.0": + version: 16.0.0 + resolution: "stylelint-config-recommended@npm:16.0.0" + peerDependencies: + stylelint: ^16.16.0 + checksum: 10c0/b2b4ea2633a606a0f686521aa5e8908810c9dd21fd4525c86b34213de1e362b445fd5472b6e5ff251d46f999e2ca2c6c704f2efc1c08d5a532084427f4e1c9d8 + languageName: node + linkType: hard + +"stylelint-config-recommended@npm:^8.0.0": + version: 8.0.0 + resolution: "stylelint-config-recommended@npm:8.0.0" + peerDependencies: + stylelint: ^14.8.0 + checksum: 10c0/8b34c4d6a9b6401f363a6c78c32e63851a9f19da50c55d3bcacbf9672d827c8395a67b0cda6a0611745c3b7562576e27de958000b5fe7526b3ae5a59a6a68a8b + languageName: node + linkType: hard + +"stylelint-config-standard@npm:^26.0.0": + version: 26.0.0 + resolution: "stylelint-config-standard@npm:26.0.0" + dependencies: + stylelint-config-recommended: "npm:^8.0.0" + peerDependencies: + stylelint: ^14.9.0 + checksum: 10c0/3be795207a8051d313aa90bbfd27493b409fc25bfd76324f16ba4bea8bd290a92301bdb60adc4303ae7111ee5100f1af5d866687b64eb4b132938f8ab30fb3fb + languageName: node + linkType: hard + +"stylelint@npm:^15.10.1": + version: 15.11.0 + resolution: "stylelint@npm:15.11.0" + dependencies: + "@csstools/css-parser-algorithms": "npm:^2.3.1" + "@csstools/css-tokenizer": "npm:^2.2.0" + "@csstools/media-query-list-parser": "npm:^2.1.4" + "@csstools/selector-specificity": "npm:^3.0.0" + balanced-match: "npm:^2.0.0" + colord: "npm:^2.9.3" + cosmiconfig: "npm:^8.2.0" + css-functions-list: "npm:^3.2.1" + css-tree: "npm:^2.3.1" + debug: "npm:^4.3.4" + fast-glob: "npm:^3.3.1" + fastest-levenshtein: "npm:^1.0.16" + file-entry-cache: "npm:^7.0.0" + global-modules: "npm:^2.0.0" + globby: "npm:^11.1.0" + globjoin: "npm:^0.1.4" + html-tags: "npm:^3.3.1" + ignore: "npm:^5.2.4" + import-lazy: "npm:^4.0.0" + imurmurhash: "npm:^0.1.4" + is-plain-object: "npm:^5.0.0" + known-css-properties: "npm:^0.29.0" + mathml-tag-names: "npm:^2.1.3" + meow: "npm:^10.1.5" + micromatch: "npm:^4.0.5" + normalize-path: "npm:^3.0.0" + picocolors: "npm:^1.0.0" + postcss: "npm:^8.4.28" + postcss-resolve-nested-selector: "npm:^0.1.1" + postcss-safe-parser: "npm:^6.0.0" + postcss-selector-parser: "npm:^6.0.13" + postcss-value-parser: "npm:^4.2.0" + resolve-from: "npm:^5.0.0" + string-width: "npm:^4.2.3" + strip-ansi: "npm:^6.0.1" + style-search: "npm:^0.1.0" + supports-hyperlinks: "npm:^3.0.0" + svg-tags: "npm:^1.0.0" + table: "npm:^6.8.1" + write-file-atomic: "npm:^5.0.1" + bin: + stylelint: bin/stylelint.mjs + checksum: 10c0/2d88b7293e308b7e418c14ba4130777b1a28b214304957f03b41a6dc8e00005266caf47479f718a6ec5e572cb52e903ca34aabf3febbe3a3ae32fff6b018d9fd + languageName: node + linkType: hard + +"subscriptions-transport-ws@npm:^0.11.0": + version: 0.11.0 + resolution: "subscriptions-transport-ws@npm:0.11.0" + dependencies: + backo2: "npm:^1.0.2" + eventemitter3: "npm:^3.1.0" + iterall: "npm:^1.2.1" + symbol-observable: "npm:^1.0.4" + ws: "npm:^5.2.0 || ^6.0.0 || ^7.0.0" + peerDependencies: + graphql: ^15.7.2 || ^16.0.0 + checksum: 10c0/697441333e59b6932bff51212e29f8dcac477badb067971bd94c30c5f3f7a2e2ea72fb1a21f3c1abbf32774da01515aa24739e620be45f6d576784bd96fd10da + languageName: node + linkType: hard + +"sucrase@npm:^3.35.0": + version: 3.35.0 + resolution: "sucrase@npm:3.35.0" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.2" + commander: "npm:^4.0.0" + glob: "npm:^10.3.10" + lines-and-columns: "npm:^1.1.6" + mz: "npm:^2.7.0" + pirates: "npm:^4.0.1" + ts-interface-checker: "npm:^0.1.9" + bin: + sucrase: bin/sucrase + sucrase-node: bin/sucrase-node + checksum: 10c0/ac85f3359d2c2ecbf5febca6a24ae9bf96c931f05fde533c22a94f59c6a74895e5d5f0e871878dfd59c2697a75ebb04e4b2224ef0bfc24ca1210735c2ec191ef + languageName: node + linkType: hard + +"sumchecker@npm:^3.0.1": + version: 3.0.1 + resolution: "sumchecker@npm:3.0.1" + dependencies: + debug: "npm:^4.1.0" + checksum: 10c0/43c387be9dfe22dbeaf39dfa4ffb279847aeb37a42a8988c0b066f548bbd209aa8c65e03da29f2b29be1a66b577801bf89fff0007df4183db2f286263a9569e5 + languageName: node + linkType: hard + +"superjson@npm:^2.2.2": + version: 2.2.2 + resolution: "superjson@npm:2.2.2" + dependencies: + copy-anything: "npm:^3.0.2" + checksum: 10c0/aa49ebe6653e963020bc6a1ed416d267dfda84cfcc3cbd3beffd75b72e44eb9df7327215f3e3e77528f6e19ad8895b16a4964fdcd56d1799d14350db8c92afbc + languageName: node + linkType: hard + +"supports-color@npm:^10.0.0": + version: 10.0.0 + resolution: "supports-color@npm:10.0.0" + checksum: 10c0/0e7884dfd02a07b3c6e0b235346f58c19f0201f1e44f7807583581761b354688c8577378785b5a4e3b03110809786c4c808e0e086cd91911f7b8bc59132703a8 + languageName: node + linkType: hard + +"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 + languageName: node + linkType: hard + +"supports-color@npm:^8.1.0": + version: 8.1.1 + resolution: "supports-color@npm:8.1.1" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 + languageName: node + linkType: hard + +"supports-hyperlinks@npm:^3.0.0": + version: 3.2.0 + resolution: "supports-hyperlinks@npm:3.2.0" + dependencies: + has-flag: "npm:^4.0.0" + supports-color: "npm:^7.0.0" + checksum: 10c0/bca527f38d4c45bc95d6a24225944675746c515ddb91e2456d00ae0b5c537658e9dd8155b996b191941b0c19036195a098251304b9082bbe00cd1781f3cd838e + languageName: node + linkType: hard + +"supports-preserve-symlinks-flag@npm:^1.0.0": + version: 1.0.0 + resolution: "supports-preserve-symlinks-flag@npm:1.0.0" + checksum: 10c0/6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39 + languageName: node + linkType: hard + +"svg-tags@npm:^1.0.0": + version: 1.0.0 + resolution: "svg-tags@npm:1.0.0" + checksum: 10c0/5867e29e8f431bf7aecf5a244d1af5725f80a1086187dbc78f26d8433b5e96b8fe9361aeb10d1699ff483b9afec785a10916b9312fe9d734d1a7afd48226c954 + languageName: node + linkType: hard + +"svgo@npm:^3.3.2": + version: 3.3.2 + resolution: "svgo@npm:3.3.2" + dependencies: + "@trysound/sax": "npm:0.2.0" + commander: "npm:^7.2.0" + css-select: "npm:^5.1.0" + css-tree: "npm:^2.3.1" + css-what: "npm:^6.1.0" + csso: "npm:^5.0.5" + picocolors: "npm:^1.0.0" + bin: + svgo: ./bin/svgo + checksum: 10c0/a6badbd3d1d6dbb177f872787699ab34320b990d12e20798ecae915f0008796a0f3c69164f1485c9def399e0ce0a5683eb4a8045e51a5e1c364bb13a0d9f79e1 + languageName: node + linkType: hard + +"swap-case@npm:^2.0.2": + version: 2.0.2 + resolution: "swap-case@npm:2.0.2" + dependencies: + tslib: "npm:^2.0.3" + checksum: 10c0/6a47c1926e06395ead750905e103be388aeec8c9697f20b14bc3e1e86fcb4fc78e5033197afe6cc8bbed80f0a4ee1f184b0fa22eec7f4a767bdfd278683d52eb + languageName: node + linkType: hard + +"symbol-observable@npm:^1.0.4": + version: 1.2.0 + resolution: "symbol-observable@npm:1.2.0" + checksum: 10c0/009fee50798ef80ed4b8195048288f108b03de162db07493f2e1fd993b33fafa72d659e832b584da5a2427daa78e5a738fb2a9ab027ee9454252e0bedbcd1fdc + languageName: node + linkType: hard + +"symbol-observable@npm:^4.0.0": + version: 4.0.0 + resolution: "symbol-observable@npm:4.0.0" + checksum: 10c0/5e9a3ab08263a6be8cbee76587ad5880dcc62a47002787ed5ebea56b1eb30dc87da6f0183d67e88286806799fbe21c69077fbd677be4be2188e92318d6c6f31d + languageName: node + linkType: hard + +"sync-fetch@npm:0.6.0-2": + version: 0.6.0-2 + resolution: "sync-fetch@npm:0.6.0-2" + dependencies: + node-fetch: "npm:^3.3.2" + timeout-signal: "npm:^2.0.0" + whatwg-mimetype: "npm:^4.0.0" + checksum: 10c0/1b3e96dfe12de520d9530abb0765baa3ce5921b6fc33ff23171cf838916a58956e755eb359669fba59bfba9b0eefd7e5b6eed737db0ba03bc2cb98a93de5cdb3 + languageName: node + linkType: hard + +"synckit@npm:^0.9.1": + version: 0.9.2 + resolution: "synckit@npm:0.9.2" + dependencies: + "@pkgr/core": "npm:^0.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/e0c262817444e5b872708adb6f5ad37951ba33f6b2d1d4477d45db1f57573a784618ceed5e6614e0225db330632b1f6b95bb74d21e4d013e45ad4bde03d0cb59 + languageName: node + linkType: hard + +"system-architecture@npm:^0.1.0": + version: 0.1.0 + resolution: "system-architecture@npm:0.1.0" + checksum: 10c0/1969974ea5d31a9ac7c38f2657cfe8255b36f9e1d5ba3c58cb84c24fbeedf562778b8511f18a0abe6d70ae90148cfcaf145ecf26e37c0a53a3829076f3238cbb + languageName: node + linkType: hard + +"systemjs@npm:^6.14.1": + version: 6.15.1 + resolution: "systemjs@npm:6.15.1" + checksum: 10c0/106e5751a49dbe4acb17fa1474a43b27fd26efbee1b322c00c04c08f3e95de756adfba828d743af89bef7fa10888da8a5c5ceb55dae5c42e4909b151168ad192 + languageName: node + linkType: hard + +"table@npm:^6.8.1": + version: 6.9.0 + resolution: "table@npm:6.9.0" + dependencies: + ajv: "npm:^8.0.1" + lodash.truncate: "npm:^4.4.2" + slice-ansi: "npm:^4.0.0" + string-width: "npm:^4.2.3" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/35646185712bb65985fbae5975dda46696325844b78735f95faefae83e86df0a265277819a3e67d189de6e858c509b54e66ca3958ffd51bde56ef1118d455bf4 + languageName: node + linkType: hard + +"tailwind-config-viewer@npm:^2.0.4": + version: 2.0.4 + resolution: "tailwind-config-viewer@npm:2.0.4" + dependencies: + "@koa/router": "npm:^12.0.1" + commander: "npm:^6.0.0" + fs-extra: "npm:^9.0.1" + koa: "npm:^2.14.2" + koa-static: "npm:^5.0.0" + open: "npm:^7.0.4" + portfinder: "npm:^1.0.26" + replace-in-file: "npm:^6.1.0" + peerDependencies: + tailwindcss: 1 || 2 || 2.0.1-compat || 3 + bin: + tailwind-config-viewer: cli/index.js + tailwindcss-config-viewer: cli/index.js + checksum: 10c0/f193e9e211f134e9e064709ed2a7da668a13230b44f941bf6f5b4846afe4bf9d0166dd7f6d709f038e41f360f167fc7a58e231dba41b964813c7bc46894acd15 + languageName: node + linkType: hard + +"tailwindcss@npm:^3.4.17, tailwindcss@npm:~3.4.17": + version: 3.4.17 + resolution: "tailwindcss@npm:3.4.17" + dependencies: + "@alloc/quick-lru": "npm:^5.2.0" + arg: "npm:^5.0.2" + chokidar: "npm:^3.6.0" + didyoumean: "npm:^1.2.2" + dlv: "npm:^1.1.3" + fast-glob: "npm:^3.3.2" + glob-parent: "npm:^6.0.2" + is-glob: "npm:^4.0.3" + jiti: "npm:^1.21.6" + lilconfig: "npm:^3.1.3" + micromatch: "npm:^4.0.8" + normalize-path: "npm:^3.0.0" + object-hash: "npm:^3.0.0" + picocolors: "npm:^1.1.1" + postcss: "npm:^8.4.47" + postcss-import: "npm:^15.1.0" + postcss-js: "npm:^4.0.1" + postcss-load-config: "npm:^4.0.2" + postcss-nested: "npm:^6.2.0" + postcss-selector-parser: "npm:^6.1.2" + resolve: "npm:^1.22.8" + sucrase: "npm:^3.35.0" + bin: + tailwind: lib/cli.js + tailwindcss: lib/cli.js + checksum: 10c0/cc42c6e7fdf88a5507a0d7fea37f1b4122bec158977f8c017b2ae6828741f9e6f8cb90282c6bf2bd5951fd1220a53e0a50ca58f5c1c00eb7f5d9f8b80dc4523c + languageName: node + linkType: hard + +"tapable@npm:^2.2.0": + version: 2.2.1 + resolution: "tapable@npm:2.2.1" + checksum: 10c0/bc40e6efe1e554d075469cedaba69a30eeb373552aaf41caeaaa45bf56ffacc2674261b106245bd566b35d8f3329b52d838e851ee0a852120acae26e622925c9 + languageName: node + linkType: hard + +"tar-stream@npm:^2.2.0": + version: 2.2.0 + resolution: "tar-stream@npm:2.2.0" + dependencies: + bl: "npm:^4.0.3" + end-of-stream: "npm:^1.4.1" + fs-constants: "npm:^1.0.0" + inherits: "npm:^2.0.3" + readable-stream: "npm:^3.1.1" + checksum: 10c0/2f4c910b3ee7196502e1ff015a7ba321ec6ea837667220d7bcb8d0852d51cb04b87f7ae471008a6fb8f5b1a1b5078f62f3a82d30c706f20ada1238ac797e7692 + languageName: node + linkType: hard + +"tar-stream@npm:^3.0.0": + version: 3.1.7 + resolution: "tar-stream@npm:3.1.7" + dependencies: + b4a: "npm:^1.6.4" + fast-fifo: "npm:^1.2.0" + streamx: "npm:^2.15.0" + checksum: 10c0/a09199d21f8714bd729993ac49b6c8efcb808b544b89f23378ad6ffff6d1cb540878614ba9d4cfec11a64ef39e1a6f009a5398371491eb1fda606ffc7f70f718 + languageName: node + linkType: hard + +"tar@npm:^6.1.11": + version: 6.2.1 + resolution: "tar@npm:6.2.1" + dependencies: + chownr: "npm:^2.0.0" + fs-minipass: "npm:^2.0.0" + minipass: "npm:^5.0.0" + minizlib: "npm:^2.1.1" + mkdirp: "npm:^1.0.3" + yallist: "npm:^4.0.0" + checksum: 10c0/a5eca3eb50bc11552d453488344e6507156b9193efd7635e98e867fab275d527af53d8866e2370cd09dfe74378a18111622ace35af6a608e5223a7d27fe99537 + languageName: node + linkType: hard + +"tar@npm:^7.4.0, tar@npm:^7.4.3": + version: 7.4.3 + resolution: "tar@npm:7.4.3" + dependencies: + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.0.1" + mkdirp: "npm:^3.0.1" + yallist: "npm:^5.0.0" + checksum: 10c0/d4679609bb2a9b48eeaf84632b6d844128d2412b95b6de07d53d8ee8baf4ca0857c9331dfa510390a0727b550fd543d4d1a10995ad86cdf078423fbb8d99831d + languageName: node + linkType: hard + +"terser@npm:^5.17.4": + version: 5.39.0 + resolution: "terser@npm:5.39.0" + dependencies: + "@jridgewell/source-map": "npm:^0.3.3" + acorn: "npm:^8.8.2" + commander: "npm:^2.20.0" + source-map-support: "npm:~0.5.20" + bin: + terser: bin/terser + checksum: 10c0/83326545ea1aecd6261030568b6191ccfa4cb6aa61d9ea41746a52479f50017a78b77e4725fbbc207c5df841ffa66a773c5ac33636e95c7ab94fe7e0379ae5c7 + languageName: node + linkType: hard + +"text-decoder@npm:^1.1.0": + version: 1.2.3 + resolution: "text-decoder@npm:1.2.3" + dependencies: + b4a: "npm:^1.6.4" + checksum: 10c0/569d776b9250158681c83656ef2c3e0a5d5c660c27ca69f87eedef921749a4fbf02095e5f9a0f862a25cf35258379b06e31dee9c125c9f72e273b7ca1a6d1977 + languageName: node + linkType: hard + +"text-hex@npm:1.0.x": + version: 1.0.0 + resolution: "text-hex@npm:1.0.0" + checksum: 10c0/57d8d320d92c79d7c03ffb8339b825bb9637c2cbccf14304309f51d8950015c44464b6fd1b6820a3d4821241c68825634f09f5a2d9d501e84f7c6fd14376860d + languageName: node + linkType: hard + +"thenify-all@npm:^1.0.0": + version: 1.6.0 + resolution: "thenify-all@npm:1.6.0" + dependencies: + thenify: "npm:>= 3.1.0 < 4" + checksum: 10c0/9b896a22735e8122754fe70f1d65f7ee691c1d70b1f116fda04fea103d0f9b356e3676cb789506e3909ae0486a79a476e4914b0f92472c2e093d206aed4b7d6b + languageName: node + linkType: hard + +"thenify@npm:>= 3.1.0 < 4": + version: 3.3.1 + resolution: "thenify@npm:3.3.1" + dependencies: + any-promise: "npm:^1.0.0" + checksum: 10c0/f375aeb2b05c100a456a30bc3ed07ef03a39cbdefe02e0403fb714b8c7e57eeaad1a2f5c4ecfb9ce554ce3db9c2b024eba144843cd9e344566d9fcee73b04767 + languageName: node + linkType: hard + +"throttle-debounce@npm:^5.0.0": + version: 5.0.2 + resolution: "throttle-debounce@npm:5.0.2" + checksum: 10c0/9a10ac51400b353562770721718486847adb5d7287c94a0c0d47df5326e8d47e5d92fcb74dac53d6734efb9344a2d46d68c7f996c2d0aedfd11446522e4bb356 + languageName: node + linkType: hard + +"through@npm:^2.3.6, through@npm:^2.3.8": + version: 2.3.8 + resolution: "through@npm:2.3.8" + checksum: 10c0/4b09f3774099de0d4df26d95c5821a62faee32c7e96fb1f4ebd54a2d7c11c57fe88b0a0d49cf375de5fee5ae6bf4eb56dbbf29d07366864e2ee805349970d3cc + languageName: node + linkType: hard + +"timeout-signal@npm:^2.0.0": + version: 2.0.0 + resolution: "timeout-signal@npm:2.0.0" + checksum: 10c0/dd0a41712552fd45e075664edbdb5d1715a0791e6a206f1d00f5808b954b18046f87b71a7b9216a5030ba772516212b696bbbfb3115bf81b3277b04f62aab135 + languageName: node + linkType: hard + +"tiny-invariant@npm:^1.3.3": + version: 1.3.3 + resolution: "tiny-invariant@npm:1.3.3" + checksum: 10c0/65af4a07324b591a059b35269cd696aba21bef2107f29b9f5894d83cc143159a204b299553435b03874ebb5b94d019afa8b8eff241c8a4cfee95872c2e1c1c4a + languageName: node + linkType: hard + +"tinyexec@npm:^0.3.2": + version: 0.3.2 + resolution: "tinyexec@npm:0.3.2" + checksum: 10c0/3efbf791a911be0bf0821eab37a3445c2ba07acc1522b1fa84ae1e55f10425076f1290f680286345ed919549ad67527d07281f1c19d584df3b74326909eb1f90 + languageName: node + linkType: hard + +"tinyexec@npm:^1.0.1": + version: 1.0.1 + resolution: "tinyexec@npm:1.0.1" + checksum: 10c0/e1ec3c8194a0427ce001ba69fd933d0c957e2b8994808189ed8020d3e0c01299aea8ecf0083cc514ecbf90754695895f2b5c0eac07eb2d0c406f7d4fbb8feade + languageName: node + linkType: hard + +"tinyglobby@npm:0.2.13, tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.13": + version: 0.2.13 + resolution: "tinyglobby@npm:0.2.13" + dependencies: + fdir: "npm:^6.4.4" + picomatch: "npm:^4.0.2" + checksum: 10c0/ef07dfaa7b26936601d3f6d999f7928a4d1c6234c5eb36896bb88681947c0d459b7ebe797022400e555fe4b894db06e922b95d0ce60cb05fd827a0a66326b18c + languageName: node + linkType: hard + +"tinyrainbow@npm:^1.2.0": + version: 1.2.0 + resolution: "tinyrainbow@npm:1.2.0" + checksum: 10c0/7f78a4b997e5ba0f5ecb75e7ed786f30bab9063716e7dff24dd84013fb338802e43d176cb21ed12480561f5649a82184cf31efb296601a29d38145b1cdb4c192 + languageName: node + linkType: hard + +"tinyspy@npm:^3.0.0": + version: 3.0.2 + resolution: "tinyspy@npm:3.0.2" + checksum: 10c0/55ffad24e346622b59292e097c2ee30a63919d5acb7ceca87fc0d1c223090089890587b426e20054733f97a58f20af2c349fb7cc193697203868ab7ba00bcea0 + languageName: node + linkType: hard + +"tippy.js@npm:^6.3.7": + version: 6.3.7 + resolution: "tippy.js@npm:6.3.7" + dependencies: + "@popperjs/core": "npm:^2.9.0" + checksum: 10c0/ec3677beb8caec791ee1f715663f28f42d60e0f7250074a047d13d5e6db95fdb6d26d8a3ac16cecb4ebcaf33ae919dbc889cf97948d115e8d3c81518c911b379 + languageName: node + linkType: hard + +"title-case@npm:^3.0.3": + version: 3.0.3 + resolution: "title-case@npm:3.0.3" + dependencies: + tslib: "npm:^2.0.3" + checksum: 10c0/face56f686060f777b43a180d371407124d201eb4238c19d9e97030fd54859696ca4e2ca499cc232f8700f24f2414cc08aab9fdf6d39acff055dd825a4d86d6a + languageName: node + linkType: hard + +"tmp-promise@npm:^3.0.2": + version: 3.0.3 + resolution: "tmp-promise@npm:3.0.3" + dependencies: + tmp: "npm:^0.2.0" + checksum: 10c0/23b47dcb2e82b14bbd8f61ed7a9d9353cdb6a6f09d7716616cfd27d0087040cd40152965a518e598d7aabe1489b9569bf1eebde0c5fadeaf3ec8098adcebea4e + languageName: node + linkType: hard + +"tmp@npm:^0.0.33": + version: 0.0.33 + resolution: "tmp@npm:0.0.33" + dependencies: + os-tmpdir: "npm:~1.0.2" + checksum: 10c0/69863947b8c29cabad43fe0ce65cec5bb4b481d15d4b4b21e036b060b3edbf3bc7a5541de1bacb437bb3f7c4538f669752627fdf9b4aaf034cebd172ba373408 + languageName: node + linkType: hard + +"tmp@npm:^0.2.0": + version: 0.2.3 + resolution: "tmp@npm:0.2.3" + checksum: 10c0/3e809d9c2f46817475b452725c2aaa5d11985cf18d32a7a970ff25b568438e2c076c2e8609224feef3b7923fa9749b74428e3e634f6b8e520c534eef2fd24125 + languageName: node + linkType: hard + +"to-readable-stream@npm:^1.0.0": + version: 1.0.0 + resolution: "to-readable-stream@npm:1.0.0" + checksum: 10c0/79cb836e2fb4f2885745a8c212eab7ebc52e93758ff0737feceaed96df98e4d04b8903fe8c27f2e9f3f856a5068ac332918b235c5d801b3efe02a51a3fa0eb36 + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"toidentifier@npm:1.0.1": + version: 1.0.1 + resolution: "toidentifier@npm:1.0.1" + checksum: 10c0/93937279934bd66cc3270016dd8d0afec14fb7c94a05c72dc57321f8bd1fa97e5bea6d1f7c89e728d077ca31ea125b78320a616a6c6cd0e6b9cb94cb864381c1 + languageName: node + linkType: hard + +"toml@npm:^3.0.0": + version: 3.0.0 + resolution: "toml@npm:3.0.0" + checksum: 10c0/8d7ed3e700ca602e5419fca343e1c595eb7aa177745141f0761a5b20874b58ee5c878cd045c408da9d130cb2b611c639912210ba96ce2f78e443569aa8060c18 + languageName: node + linkType: hard + +"totalist@npm:^3.0.0": + version: 3.0.1 + resolution: "totalist@npm:3.0.1" + checksum: 10c0/4bb1fadb69c3edbef91c73ebef9d25b33bbf69afe1e37ce544d5f7d13854cda15e47132f3e0dc4cafe300ddb8578c77c50a65004d8b6e97e77934a69aa924863 + languageName: node + linkType: hard + +"tr46@npm:~0.0.3": + version: 0.0.3 + resolution: "tr46@npm:0.0.3" + checksum: 10c0/047cb209a6b60c742f05c9d3ace8fa510bff609995c129a37ace03476a9b12db4dbf975e74600830ef0796e18882b2381fb5fb1f6b4f96b832c374de3ab91a11 + languageName: node + linkType: hard + +"tree-kill@npm:^1.2.2": + version: 1.2.2 + resolution: "tree-kill@npm:1.2.2" + bin: + tree-kill: cli.js + checksum: 10c0/7b1b7c7f17608a8f8d20a162e7957ac1ef6cd1636db1aba92f4e072dc31818c2ff0efac1e3d91064ede67ed5dc57c565420531a8134090a12ac10cf792ab14d2 + languageName: node + linkType: hard + +"trim-newlines@npm:^4.0.2": + version: 4.1.1 + resolution: "trim-newlines@npm:4.1.1" + checksum: 10c0/70e60e652305efd0dda1f2bce1a5edc9bb5834a2e00d05dfde178715ec48faa8264a2bc1a7efc593b7936d03f6d42c398616329eef44b7bd5070180a02056981 + languageName: node + linkType: hard + +"triple-beam@npm:^1.3.0": + version: 1.4.1 + resolution: "triple-beam@npm:1.4.1" + checksum: 10c0/4bf1db71e14fe3ff1c3adbe3c302f1fdb553b74d7591a37323a7badb32dc8e9c290738996cbb64f8b10dc5a3833645b5d8c26221aaaaa12e50d1251c9aba2fea + languageName: node + linkType: hard + +"true-myth@npm:^8.5.0": + version: 8.6.0 + resolution: "true-myth@npm:8.6.0" + checksum: 10c0/04486d14b36a71b8b9ab1ac613796132be0f0c409c0f553ab59a58f0f8e3607fdfea1e784a4fdbb746574216c2fd7ddea6c1e4645dca3df9db27bbe6fcf29636 + languageName: node + linkType: hard + +"ts-api-utils@npm:^1.3.0": + version: 1.4.3 + resolution: "ts-api-utils@npm:1.4.3" + peerDependencies: + typescript: ">=4.2.0" + checksum: 10c0/e65dc6e7e8141140c23e1dc94984bf995d4f6801919c71d6dc27cf0cd51b100a91ffcfe5217626193e5bea9d46831e8586febdc7e172df3f1091a7384299e23a + languageName: node + linkType: hard + +"ts-api-utils@npm:^2.1.0": + version: 2.1.0 + resolution: "ts-api-utils@npm:2.1.0" + peerDependencies: + typescript: ">=4.8.4" + checksum: 10c0/9806a38adea2db0f6aa217ccc6bc9c391ddba338a9fe3080676d0d50ed806d305bb90e8cef0276e793d28c8a929f400abb184ddd7ff83a416959c0f4d2ce754f + languageName: node + linkType: hard + +"ts-essentials@npm:^9.4.0": + version: 9.4.2 + resolution: "ts-essentials@npm:9.4.2" + peerDependencies: + typescript: ">=4.1.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/125d79a0fc4fbfcfbc6f6461e05cde1f9da46035867ae3164812e615d6cc02cd0b2f470c944f619e87f89bebb00b81eb5c9558e83cf6e8e0f47be184474f855e + languageName: node + linkType: hard + +"ts-interface-checker@npm:^0.1.9": + version: 0.1.13 + resolution: "ts-interface-checker@npm:0.1.13" + checksum: 10c0/232509f1b84192d07b81d1e9b9677088e590ac1303436da1e92b296e9be8e31ea042e3e1fd3d29b1742ad2c959e95afe30f63117b8f1bc3a3850070a5142fea7 + languageName: node + linkType: hard + +"ts-invariant@npm:^0.10.3": + version: 0.10.3 + resolution: "ts-invariant@npm:0.10.3" + dependencies: + tslib: "npm:^2.1.0" + checksum: 10c0/2fbc178d5903d325ee0b87fad38827eac11888b6e86979b06754fd4bcdcf44c2a99b8bcd5d59d149c0464ede55ae810b02a2aee6835ad10efe4dd0e22efd68c0 + languageName: node + linkType: hard + +"ts-log@npm:^2.2.3": + version: 2.2.7 + resolution: "ts-log@npm:2.2.7" + checksum: 10c0/2c63a7ccdea6dad774f51ba031d9b8d7242833733a1122e20be7e2817556f8e5691bd589860940068073c3859f8cdd8b99e2f65934b95a3552e97a60066ea7f3 + languageName: node + linkType: hard + +"tslib@npm:^1.8.1": + version: 1.14.1 + resolution: "tslib@npm:1.14.1" + checksum: 10c0/69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2 + languageName: node + linkType: hard + +"tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.4.0, tslib@npm:^2.5.0, tslib@npm:^2.6.2, tslib@npm:^2.6.3, tslib@npm:^2.8.1": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 + languageName: node + linkType: hard + +"tslib@npm:~2.6.0": + version: 2.6.3 + resolution: "tslib@npm:2.6.3" + checksum: 10c0/2598aef53d9dbe711af75522464b2104724d6467b26a60f2bdac8297d2b5f1f6b86a71f61717384aa8fd897240467aaa7bcc36a0700a0faf751293d1331db39a + languageName: node + linkType: hard + +"tsscmp@npm:1.0.6": + version: 1.0.6 + resolution: "tsscmp@npm:1.0.6" + checksum: 10c0/2f79a9455e7e3e8071995f98cdf3487ccfc91b760bec21a9abb4d90519557eafaa37246e87c92fa8bf3fef8fd30cfd0cc3c4212bb929baa9fb62494bfa4d24b2 + languageName: node + linkType: hard + +"tsutils@npm:^3.21.0": + version: 3.21.0 + resolution: "tsutils@npm:3.21.0" + dependencies: + tslib: "npm:^1.8.1" + peerDependencies: + typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + checksum: 10c0/02f19e458ec78ead8fffbf711f834ad8ecd2cc6ade4ec0320790713dccc0a412b99e7fd907c4cda2a1dc602c75db6f12e0108e87a5afad4b2f9e90a24cabd5a2 + languageName: node + linkType: hard + +"tunnel@npm:^0.0.6": + version: 0.0.6 + resolution: "tunnel@npm:0.0.6" + checksum: 10c0/e27e7e896f2426c1c747325b5f54efebc1a004647d853fad892b46d64e37591ccd0b97439470795e5262b5c0748d22beb4489a04a0a448029636670bfd801b75 + languageName: node + linkType: hard + +"type-check@npm:^0.4.0, type-check@npm:~0.4.0": + version: 0.4.0 + resolution: "type-check@npm:0.4.0" + dependencies: + prelude-ls: "npm:^1.2.1" + checksum: 10c0/7b3fd0ed43891e2080bf0c5c504b418fbb3e5c7b9708d3d015037ba2e6323a28152ec163bcb65212741fa5d2022e3075ac3c76440dbd344c9035f818e8ecee58 + languageName: node + linkType: hard + +"type-fest@npm:^0.13.1": + version: 0.13.1 + resolution: "type-fest@npm:0.13.1" + checksum: 10c0/0c0fa07ae53d4e776cf4dac30d25ad799443e9eef9226f9fddbb69242db86b08584084a99885cfa5a9dfe4c063ebdc9aa7b69da348e735baede8d43f1aeae93b + languageName: node + linkType: hard + +"type-fest@npm:^0.20.2": + version: 0.20.2 + resolution: "type-fest@npm:0.20.2" + checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 + languageName: node + linkType: hard + +"type-fest@npm:^0.21.3": + version: 0.21.3 + resolution: "type-fest@npm:0.21.3" + checksum: 10c0/902bd57bfa30d51d4779b641c2bc403cdf1371fb9c91d3c058b0133694fcfdb817aef07a47f40faf79039eecbaa39ee9d3c532deff244f3a19ce68cea71a61e8 + languageName: node + linkType: hard + +"type-fest@npm:^0.6.0": + version: 0.6.0 + resolution: "type-fest@npm:0.6.0" + checksum: 10c0/0c585c26416fce9ecb5691873a1301b5aff54673c7999b6f925691ed01f5b9232db408cdbb0bd003d19f5ae284322523f44092d1f81ca0a48f11f7cf0be8cd38 + languageName: node + linkType: hard + +"type-fest@npm:^0.8.1": + version: 0.8.1 + resolution: "type-fest@npm:0.8.1" + checksum: 10c0/dffbb99329da2aa840f506d376c863bd55f5636f4741ad6e65e82f5ce47e6914108f44f340a0b74009b0cb5d09d6752ae83203e53e98b1192cf80ecee5651636 + languageName: node + linkType: hard + +"type-fest@npm:^1.0.1, type-fest@npm:^1.2.1, type-fest@npm:^1.2.2": + version: 1.4.0 + resolution: "type-fest@npm:1.4.0" + checksum: 10c0/a3c0f4ee28ff6ddf800d769eafafcdeab32efa38763c1a1b8daeae681920f6e345d7920bf277245235561d8117dab765cb5f829c76b713b4c9de0998a5397141 + languageName: node + linkType: hard + +"type-fest@npm:^2.12.2": + version: 2.19.0 + resolution: "type-fest@npm:2.19.0" + checksum: 10c0/a5a7ecf2e654251613218c215c7493574594951c08e52ab9881c9df6a6da0aeca7528c213c622bc374b4e0cb5c443aa3ab758da4e3c959783ce884c3194e12cb + languageName: node + linkType: hard + +"type-fest@npm:^3.11.1, type-fest@npm:^3.5.1": + version: 3.13.1 + resolution: "type-fest@npm:3.13.1" + checksum: 10c0/547d22186f73a8c04590b70dcf63baff390078c75ea8acd366bbd510fd0646e348bd1970e47ecf795b7cff0b41d26e9c475c1fedd6ef5c45c82075fbf916b629 + languageName: node + linkType: hard + +"type-fest@npm:^4.18.2, type-fest@npm:^4.39.1, type-fest@npm:^4.6.0": + version: 4.41.0 + resolution: "type-fest@npm:4.41.0" + checksum: 10c0/f5ca697797ed5e88d33ac8f1fec21921839871f808dc59345c9cf67345bfb958ce41bd821165dbf3ae591cedec2bf6fe8882098dfdd8dc54320b859711a2c1e4 + languageName: node + linkType: hard + +"type-is@npm:^1.6.16, type-is@npm:~1.6.18": + version: 1.6.18 + resolution: "type-is@npm:1.6.18" + dependencies: + media-typer: "npm:0.3.0" + mime-types: "npm:~2.1.24" + checksum: 10c0/a23daeb538591b7efbd61ecf06b6feb2501b683ffdc9a19c74ef5baba362b4347e42f1b4ed81f5882a8c96a3bfff7f93ce3ffaf0cbbc879b532b04c97a55db9d + languageName: node + linkType: hard + +"type-is@npm:^2.0.0, type-is@npm:^2.0.1": + version: 2.0.1 + resolution: "type-is@npm:2.0.1" + dependencies: + content-type: "npm:^1.0.5" + media-typer: "npm:^1.1.0" + mime-types: "npm:^3.0.0" + checksum: 10c0/7f7ec0a060b16880bdad36824ab37c26019454b67d73e8a465ed5a3587440fbe158bc765f0da68344498235c877e7dbbb1600beccc94628ed05599d667951b99 + languageName: node + linkType: hard + +"typescript-eslint@npm:^8.20.0": + version: 8.32.1 + resolution: "typescript-eslint@npm:8.32.1" + dependencies: + "@typescript-eslint/eslint-plugin": "npm:8.32.1" + "@typescript-eslint/parser": "npm:8.32.1" + "@typescript-eslint/utils": "npm:8.32.1" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/15602916b582b86c8b4371e99d5721c92af7ae56f9b49cd7971d2a49f11bf0bd64dd8d2c0e2b3ca87b2f3a6fd14966738121f3f8299de50c6109b9f245397f3b + languageName: node + linkType: hard + +"typescript@npm:^5.4.4, typescript@npm:^5.7.3": + version: 5.8.3 + resolution: "typescript@npm:5.8.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/5f8bb01196e542e64d44db3d16ee0e4063ce4f3e3966df6005f2588e86d91c03e1fb131c2581baf0fb65ee79669eea6e161cd448178986587e9f6844446dbb48 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A^5.4.4#optional!builtin, typescript@patch:typescript@npm%3A^5.7.3#optional!builtin": + version: 5.8.3 + resolution: "typescript@patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/39117e346ff8ebd87ae1510b3a77d5d92dae5a89bde588c747d25da5c146603a99c8ee588c7ef80faaf123d89ed46f6dbd918d534d641083177d5fac38b8a1cb + languageName: node + linkType: hard + +"ua-parser-js@npm:^1.0.35": + version: 1.0.40 + resolution: "ua-parser-js@npm:1.0.40" + bin: + ua-parser-js: script/cli.js + checksum: 10c0/2b6ac642c74323957dae142c31f72287f2420c12dced9603d989b96c132b80232779c429b296d7de4012ef8b64e0d8fadc53c639ef06633ce13d785a78b5be6c + languageName: node + linkType: hard + +"ufo@npm:^1.1.2, ufo@npm:^1.5.4, ufo@npm:^1.6.1": + version: 1.6.1 + resolution: "ufo@npm:1.6.1" + checksum: 10c0/5a9f041e5945fba7c189d5410508cbcbefef80b253ed29aa2e1f8a2b86f4bd51af44ee18d4485e6d3468c92be9bf4a42e3a2b72dcaf27ce39ce947ec994f1e6b + languageName: node + linkType: hard + +"ultrahtml@npm:^1.6.0": + version: 1.6.0 + resolution: "ultrahtml@npm:1.6.0" + checksum: 10c0/1140be819fdde198d83ad61b0186cb1fdb9d3a5d77ff416a752ae735089851a182d2100a1654f6b70dbb4f67881fcac1afba9323e261c8a95846a63f668b4c2a + languageName: node + linkType: hard + +"unc-path-regex@npm:^0.1.2": + version: 0.1.2 + resolution: "unc-path-regex@npm:0.1.2" + checksum: 10c0/bf9c781c4e2f38e6613ea17a51072e4b416840fbe6eeb244597ce9b028fac2fb6cfd3dde1f14111b02c245e665dc461aab8168ecc30b14364d02caa37f812996 + languageName: node + linkType: hard + +"uncrypto@npm:^0.1.3": + version: 0.1.3 + resolution: "uncrypto@npm:0.1.3" + checksum: 10c0/74a29afefd76d5b77bedc983559ceb33f5bbc8dada84ff33755d1e3355da55a4e03a10e7ce717918c436b4dfafde1782e799ebaf2aadd775612b49f7b5b2998e + languageName: node + linkType: hard + +"unctx@npm:^2.4.1": + version: 2.4.1 + resolution: "unctx@npm:2.4.1" + dependencies: + acorn: "npm:^8.14.0" + estree-walker: "npm:^3.0.3" + magic-string: "npm:^0.30.17" + unplugin: "npm:^2.1.0" + checksum: 10c0/08d334fbe51ad4bad4c7b7cc5efec84e61b39ca44e20cda2750a37f20b8e122ed4ce525d6a152b4c463ca1545c38fb556049d8c4ee0299afba4fdb0057d711ee + languageName: node + linkType: hard + +"undici-types@npm:~5.26.4": + version: 5.26.5 + resolution: "undici-types@npm:5.26.5" + checksum: 10c0/bb673d7876c2d411b6eb6c560e0c571eef4a01c1c19925175d16e3a30c4c428181fb8d7ae802a261f283e4166a0ac435e2f505743aa9e45d893f9a3df017b501 + languageName: node + linkType: hard + +"undici-types@npm:~6.21.0": + version: 6.21.0 + resolution: "undici-types@npm:6.21.0" + checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04 + languageName: node + linkType: hard + +"unenv@npm:^2.0.0-rc.15, unenv@npm:^2.0.0-rc.17": + version: 2.0.0-rc.17 + resolution: "unenv@npm:2.0.0-rc.17" + dependencies: + defu: "npm:^6.1.4" + exsolve: "npm:^1.0.4" + ohash: "npm:^2.0.11" + pathe: "npm:^2.0.3" + ufo: "npm:^1.6.1" + checksum: 10c0/029ae051cf2f79d3946976b32010a6aaaa87c8783a01dc088046247e34cb40962e19d96b465df5728e6ed262da89df342c1db1d05c2c28851825a74b93b90039 + languageName: node + linkType: hard + +"unhead@npm:2.0.8": + version: 2.0.8 + resolution: "unhead@npm:2.0.8" + dependencies: + hookable: "npm:^5.5.3" + checksum: 10c0/af2594267aa7f15bfed7856ef8312382503346b2025027bfe703703d6857eee82297623a94c797c2395b2259caa49c7eb8ecbb94fc7603cfc423bebe1b92b510 + languageName: node + linkType: hard + +"unicode-canonical-property-names-ecmascript@npm:^2.0.0": + version: 2.0.1 + resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.1" + checksum: 10c0/f83bc492fdbe662860795ef37a85910944df7310cac91bd778f1c19ebc911e8b9cde84e703de631e5a2fcca3905e39896f8fc5fc6a44ddaf7f4aff1cda24f381 + languageName: node + linkType: hard + +"unicode-match-property-ecmascript@npm:^2.0.0": + version: 2.0.0 + resolution: "unicode-match-property-ecmascript@npm:2.0.0" + dependencies: + unicode-canonical-property-names-ecmascript: "npm:^2.0.0" + unicode-property-aliases-ecmascript: "npm:^2.0.0" + checksum: 10c0/4d05252cecaf5c8e36d78dc5332e03b334c6242faf7cf16b3658525441386c0a03b5f603d42cbec0f09bb63b9fd25c9b3b09667aee75463cac3efadae2cd17ec + languageName: node + linkType: hard + +"unicode-match-property-value-ecmascript@npm:^2.1.0": + version: 2.2.0 + resolution: "unicode-match-property-value-ecmascript@npm:2.2.0" + checksum: 10c0/1d0a2deefd97974ddff5b7cb84f9884177f4489928dfcebb4b2b091d6124f2739df51fc6ea15958e1b5637ac2a24cff9bf21ea81e45335086ac52c0b4c717d6d + languageName: node + linkType: hard + +"unicode-property-aliases-ecmascript@npm:^2.0.0": + version: 2.1.0 + resolution: "unicode-property-aliases-ecmascript@npm:2.1.0" + checksum: 10c0/50ded3f8c963c7785e48c510a3b7c6bc4e08a579551489aa0349680a35b1ceceec122e33b2b6c1b579d0be2250f34bb163ac35f5f8695fe10bbc67fb757f0af8 + languageName: node + linkType: hard + +"unicorn-magic@npm:^0.1.0": + version: 0.1.0 + resolution: "unicorn-magic@npm:0.1.0" + checksum: 10c0/e4ed0de05b0a05e735c7d8a2930881e5efcfc3ec897204d5d33e7e6247f4c31eac92e383a15d9a6bccb7319b4271ee4bea946e211bf14951fec6ff2cbbb66a92 + languageName: node + linkType: hard + +"unicorn-magic@npm:^0.3.0": + version: 0.3.0 + resolution: "unicorn-magic@npm:0.3.0" + checksum: 10c0/0a32a997d6c15f1c2a077a15b1c4ca6f268d574cf5b8975e778bb98e6f8db4ef4e86dfcae4e158cd4c7e38fb4dd383b93b13eefddc7f178dea13d3ac8a603271 + languageName: node + linkType: hard + +"unimport@npm:^3.7.1": + version: 3.14.6 + resolution: "unimport@npm:3.14.6" + dependencies: + "@rollup/pluginutils": "npm:^5.1.4" + acorn: "npm:^8.14.0" + escape-string-regexp: "npm:^5.0.0" + estree-walker: "npm:^3.0.3" + fast-glob: "npm:^3.3.3" + local-pkg: "npm:^1.0.0" + magic-string: "npm:^0.30.17" + mlly: "npm:^1.7.4" + pathe: "npm:^2.0.1" + picomatch: "npm:^4.0.2" + pkg-types: "npm:^1.3.0" + scule: "npm:^1.3.0" + strip-literal: "npm:^2.1.1" + unplugin: "npm:^1.16.1" + checksum: 10c0/041cd6d2c85483e68e900c3ae55ddfd60f20b1a43016f6f810e970aba552db2ea5e03817f7c79c16d8648e5757d289cffc6b01f141aa579dbbb4fab6f7a3a4b3 + languageName: node + linkType: hard + +"unimport@npm:^5.0.1": + version: 5.0.1 + resolution: "unimport@npm:5.0.1" + dependencies: + acorn: "npm:^8.14.1" + escape-string-regexp: "npm:^5.0.0" + estree-walker: "npm:^3.0.3" + local-pkg: "npm:^1.1.1" + magic-string: "npm:^0.30.17" + mlly: "npm:^1.7.4" + pathe: "npm:^2.0.3" + picomatch: "npm:^4.0.2" + pkg-types: "npm:^2.1.0" + scule: "npm:^1.3.0" + strip-literal: "npm:^3.0.0" + tinyglobby: "npm:^0.2.13" + unplugin: "npm:^2.3.2" + unplugin-utils: "npm:^0.2.4" + checksum: 10c0/42a66a63faf7ce0f0650e062e3ff89bcaab4bcf6b5457be2454b20a379607af67fff2fc8db6b04649c852e89cfc83abf80df5a43cd7c9c5f074eb4eab8568d72 + languageName: node + linkType: hard + +"unique-filename@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-filename@npm:4.0.0" + dependencies: + unique-slug: "npm:^5.0.0" + checksum: 10c0/38ae681cceb1408ea0587b6b01e29b00eee3c84baee1e41fd5c16b9ed443b80fba90c40e0ba69627e30855570a34ba8b06702d4a35035d4b5e198bf5a64c9ddc + languageName: node + linkType: hard + +"unique-slug@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-slug@npm:5.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/d324c5a44887bd7e105ce800fcf7533d43f29c48757ac410afd42975de82cc38ea2035c0483f4de82d186691bf3208ef35c644f73aa2b1b20b8e651be5afd293 + languageName: node + linkType: hard + +"universalify@npm:^0.1.0": + version: 0.1.2 + resolution: "universalify@npm:0.1.2" + checksum: 10c0/e70e0339f6b36f34c9816f6bf9662372bd241714dc77508d231d08386d94f2c4aa1ba1318614f92015f40d45aae1b9075cd30bd490efbe39387b60a76ca3f045 + languageName: node + linkType: hard + +"universalify@npm:^2.0.0": + version: 2.0.1 + resolution: "universalify@npm:2.0.1" + checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a + languageName: node + linkType: hard + +"unixify@npm:^1.0.0": + version: 1.0.0 + resolution: "unixify@npm:1.0.0" + dependencies: + normalize-path: "npm:^2.1.1" + checksum: 10c0/8b89100619ebde9f0ab4024a4d402316fb7b1d4853723410fc828944e8d3d01480f210cddf94d9a1699559f8180d861eb6323da8011b7bcc1bbaf6a11a5b1f1e + languageName: node + linkType: hard + +"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": + version: 1.0.0 + resolution: "unpipe@npm:1.0.0" + checksum: 10c0/193400255bd48968e5c5383730344fbb4fa114cdedfab26e329e50dd2d81b134244bb8a72c6ac1b10ab0281a58b363d06405632c9d49ca9dfd5e90cbd7d0f32c + languageName: node + linkType: hard + +"unplugin-utils@npm:^0.2.3, unplugin-utils@npm:^0.2.4": + version: 0.2.4 + resolution: "unplugin-utils@npm:0.2.4" + dependencies: + pathe: "npm:^2.0.2" + picomatch: "npm:^4.0.2" + checksum: 10c0/b5ab2db37823f5b4c8ee8719caa4b5a50b2da33c74c8110d46deb7a2399dfa15cbcaa0cff62aa6400c76e778e42becd9195c09b6502c0c007d03610f432c875f + languageName: node + linkType: hard + +"unplugin-vue-router@npm:^0.12.0": + version: 0.12.0 + resolution: "unplugin-vue-router@npm:0.12.0" + dependencies: + "@babel/types": "npm:^7.26.8" + "@vue-macros/common": "npm:^1.16.1" + ast-walker-scope: "npm:^0.6.2" + chokidar: "npm:^4.0.3" + fast-glob: "npm:^3.3.3" + json5: "npm:^2.2.3" + local-pkg: "npm:^1.0.0" + magic-string: "npm:^0.30.17" + micromatch: "npm:^4.0.8" + mlly: "npm:^1.7.4" + pathe: "npm:^2.0.2" + scule: "npm:^1.3.0" + unplugin: "npm:^2.2.0" + unplugin-utils: "npm:^0.2.3" + yaml: "npm:^2.7.0" + peerDependencies: + vue-router: ^4.4.0 + peerDependenciesMeta: + vue-router: + optional: true + checksum: 10c0/04706444300f63308e4041ea7cfaab9812fd86945c72f35216f70414236b164749dc766b3114afda64770eea898589ac70961dacf09b4d1093557a27cbdc53ab + languageName: node + linkType: hard + +"unplugin@npm:^1.10.0, unplugin@npm:^1.16.1": + version: 1.16.1 + resolution: "unplugin@npm:1.16.1" + dependencies: + acorn: "npm:^8.14.0" + webpack-virtual-modules: "npm:^0.6.2" + checksum: 10c0/dd5f8c5727d0135847da73cf03fb199107f1acf458167034886fda3405737dab871ad3926431b4f70e1e82cdac482ac1383cea4019d782a68515c8e3e611b6cc + languageName: node + linkType: hard + +"unplugin@npm:^2.1.0, unplugin@npm:^2.2.0, unplugin@npm:^2.3.2, unplugin@npm:^2.3.3": + version: 2.3.3 + resolution: "unplugin@npm:2.3.3" + dependencies: + acorn: "npm:^8.14.1" + picomatch: "npm:^4.0.2" + webpack-virtual-modules: "npm:^0.6.2" + checksum: 10c0/111669353bc93d419e3fb5cbef946159d5b5064eb1138400faf894ea58dcad106805177a51d638a54b950c6874b07d1648a8f4282e9e1600e2d387d7e1e8c882 + languageName: node + linkType: hard + +"unstorage@npm:^1.16.0": + version: 1.16.0 + resolution: "unstorage@npm:1.16.0" + dependencies: + anymatch: "npm:^3.1.3" + chokidar: "npm:^4.0.3" + destr: "npm:^2.0.5" + h3: "npm:^1.15.2" + lru-cache: "npm:^10.4.3" + node-fetch-native: "npm:^1.6.6" + ofetch: "npm:^1.4.1" + ufo: "npm:^1.6.1" + peerDependencies: + "@azure/app-configuration": ^1.8.0 + "@azure/cosmos": ^4.2.0 + "@azure/data-tables": ^13.3.0 + "@azure/identity": ^4.6.0 + "@azure/keyvault-secrets": ^4.9.0 + "@azure/storage-blob": ^12.26.0 + "@capacitor/preferences": ^6.0.3 || ^7.0.0 + "@deno/kv": ">=0.9.0" + "@netlify/blobs": ^6.5.0 || ^7.0.0 || ^8.1.0 + "@planetscale/database": ^1.19.0 + "@upstash/redis": ^1.34.3 + "@vercel/blob": ">=0.27.1" + "@vercel/kv": ^1.0.1 + aws4fetch: ^1.0.20 + db0: ">=0.2.1" + idb-keyval: ^6.2.1 + ioredis: ^5.4.2 + uploadthing: ^7.4.4 + peerDependenciesMeta: + "@azure/app-configuration": + optional: true + "@azure/cosmos": + optional: true + "@azure/data-tables": + optional: true + "@azure/identity": + optional: true + "@azure/keyvault-secrets": + optional: true + "@azure/storage-blob": + optional: true + "@capacitor/preferences": + optional: true + "@deno/kv": + optional: true + "@netlify/blobs": + optional: true + "@planetscale/database": + optional: true + "@upstash/redis": + optional: true + "@vercel/blob": + optional: true + "@vercel/kv": + optional: true + aws4fetch: + optional: true + db0: + optional: true + idb-keyval: + optional: true + ioredis: + optional: true + uploadthing: + optional: true + checksum: 10c0/f719a6483fd71d0a6d4f2e98ec29721c352618c4f3641f96d0c703866dc13cda071e8afda5a68bac4e7d3880c8eece0edb2057e96ce0ac4fb649998611430a09 + languageName: node + linkType: hard + +"untun@npm:^0.1.3": + version: 0.1.3 + resolution: "untun@npm:0.1.3" + dependencies: + citty: "npm:^0.1.5" + consola: "npm:^3.2.3" + pathe: "npm:^1.1.1" + bin: + untun: bin/untun.mjs + checksum: 10c0/2b44a4cc84a5c21994f43b9f55348e5a8d9dd5fd0ad8fb5cd091b6f6b53d506b1cdb90e89cc238d61b46d488f7a89ab0d1a5c735bfc835581c7b22a236381295 + languageName: node + linkType: hard + +"untyped@npm:^2.0.0": + version: 2.0.0 + resolution: "untyped@npm:2.0.0" + dependencies: + citty: "npm:^0.1.6" + defu: "npm:^6.1.4" + jiti: "npm:^2.4.2" + knitwork: "npm:^1.2.0" + scule: "npm:^1.3.0" + bin: + untyped: dist/cli.mjs + checksum: 10c0/24ed5347532d05c67fa89741e7d94fab8f706ea7ab8c4c52704d25b80e3744844d89d5bfd4fa72046ee234b3ee0dee9abc4579a20a10c783e6159db92502274f + languageName: node + linkType: hard + +"unwasm@npm:^0.3.9": + version: 0.3.9 + resolution: "unwasm@npm:0.3.9" + dependencies: + knitwork: "npm:^1.0.0" + magic-string: "npm:^0.30.8" + mlly: "npm:^1.6.1" + pathe: "npm:^1.1.2" + pkg-types: "npm:^1.0.3" + unplugin: "npm:^1.10.0" + checksum: 10c0/6f5d3671ebed9641db4105ed6c4607c4dc9d9954b1e8165565f2bbbdceb488ad22d5ece3d80a1057b646f5fc4b1d421381b73ce0f516d78e0f064e9948234be5 + languageName: node + linkType: hard + +"update-browserslist-db@npm:^1.1.3": + version: 1.1.3 + resolution: "update-browserslist-db@npm:1.1.3" + dependencies: + escalade: "npm:^3.2.0" + picocolors: "npm:^1.1.1" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10c0/682e8ecbf9de474a626f6462aa85927936cdd256fe584c6df2508b0df9f7362c44c957e9970df55dfe44d3623807d26316ea2c7d26b80bb76a16c56c37233c32 + languageName: node + linkType: hard + +"upper-case-first@npm:^2.0.2": + version: 2.0.2 + resolution: "upper-case-first@npm:2.0.2" + dependencies: + tslib: "npm:^2.0.3" + checksum: 10c0/ccad6a0b143310ebfba2b5841f30bef71246297385f1329c022c902b2b5fc5aee009faf1ac9da5ab3ba7f615b88f5dc1cd80461b18a8f38cb1d4c3eb92538ea9 + languageName: node + linkType: hard + +"upper-case@npm:^2.0.2": + version: 2.0.2 + resolution: "upper-case@npm:2.0.2" + dependencies: + tslib: "npm:^2.0.3" + checksum: 10c0/5ac176c9d3757abb71400df167f9abb46d63152d5797c630d1a9f083fbabd89711fb4b3dc6de06ff0138fe8946fa5b8518b4fcdae9ca8a3e341417075beae069 + languageName: node + linkType: hard + +"uqr@npm:^0.1.2": + version: 0.1.2 + resolution: "uqr@npm:0.1.2" + checksum: 10c0/40cd81b4c13f1764d52ec28da2d58e60816e6fae54d4eb75b32fbf3137937f438eff16c766139fb0faec5d248a5314591f5a0dbd694e569d419eed6f3bd80242 + languageName: node + linkType: hard + +"uri-js@npm:^4.2.2": + version: 4.4.1 + resolution: "uri-js@npm:4.4.1" + dependencies: + punycode: "npm:^2.1.0" + checksum: 10c0/4ef57b45aa820d7ac6496e9208559986c665e49447cb072744c13b66925a362d96dd5a46c4530a6b8e203e5db5fe849369444440cb22ecfc26c679359e5dfa3c + languageName: node + linkType: hard + +"url-parse-lax@npm:^3.0.0": + version: 3.0.0 + resolution: "url-parse-lax@npm:3.0.0" + dependencies: + prepend-http: "npm:^2.0.0" + checksum: 10c0/16f918634d41a4fab9e03c5f9702968c9930f7c29aa1a8c19a6dc01f97d02d9b700ab9f47f8da0b9ace6e0c0e99c27848994de1465b494bced6940c653481e55 + languageName: node + linkType: hard + +"urlpattern-polyfill@npm:8.0.2": + version: 8.0.2 + resolution: "urlpattern-polyfill@npm:8.0.2" + checksum: 10c0/5388bbe8459dbd8861ee7cb97904be915dd863a9789c2191c528056f16adad7836ec22762ed002fed44e8995d0f98bdfb75a606466b77233e70d0f61b969aaf9 + languageName: node + linkType: hard + +"urlpattern-polyfill@npm:^10.0.0": + version: 10.1.0 + resolution: "urlpattern-polyfill@npm:10.1.0" + checksum: 10c0/5b124fd8d0ae920aa2a48b49a7a3b9ad1643b5ce7217b808fb6877826e751cabc01897fd4c85cd1989c4e729072b63aad5c3ba1c1325e4433e0d2f6329156bf1 + languageName: node + linkType: hard + +"utf-8-validate@npm:^5.0.9": + version: 5.0.10 + resolution: "utf-8-validate@npm:5.0.10" + dependencies: + node-gyp: "npm:latest" + node-gyp-build: "npm:^4.3.0" + checksum: 10c0/23cd6adc29e6901aa37ff97ce4b81be9238d0023c5e217515b34792f3c3edb01470c3bd6b264096dd73d0b01a1690b57468de3a24167dd83004ff71c51cc025f + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 + languageName: node + linkType: hard + +"utils-merge@npm:1.0.1": + version: 1.0.1 + resolution: "utils-merge@npm:1.0.1" + checksum: 10c0/02ba649de1b7ca8854bfe20a82f1dfbdda3fb57a22ab4a8972a63a34553cf7aa51bc9081cf7e001b035b88186d23689d69e71b510e610a09a4c66f68aa95b672 + languageName: node + linkType: hard + +"uuid@npm:^11.1.0": + version: 11.1.0 + resolution: "uuid@npm:11.1.0" + bin: + uuid: dist/esm/bin/uuid + checksum: 10c0/34aa51b9874ae398c2b799c88a127701408cd581ee89ec3baa53509dd8728cbb25826f2a038f9465f8b7be446f0fbf11558862965b18d21c993684297628d4d3 + languageName: node + linkType: hard + +"v3-infinite-loading@npm:^1.2.2": + version: 1.3.2 + resolution: "v3-infinite-loading@npm:1.3.2" + checksum: 10c0/e324cf0b0b69deee1287bb601f9062e49ec1a473a076904b9b1a88637b27d0984975fcd564e0a0f0edbef1e815b124fa8fd2badf4027c34afa911edeb9a41299 + languageName: node + linkType: hard + +"validate-npm-package-license@npm:^3.0.1, validate-npm-package-license@npm:^3.0.4": + version: 3.0.4 + resolution: "validate-npm-package-license@npm:3.0.4" + dependencies: + spdx-correct: "npm:^3.0.0" + spdx-expression-parse: "npm:^3.0.0" + checksum: 10c0/7b91e455a8de9a0beaa9fe961e536b677da7f48c9a493edf4d4d4a87fd80a7a10267d438723364e432c2fcd00b5650b5378275cded362383ef570276e6312f4f + languageName: node + linkType: hard + +"vary@npm:^1, vary@npm:^1.1.2, vary@npm:~1.1.2": + version: 1.1.2 + resolution: "vary@npm:1.1.2" + checksum: 10c0/f15d588d79f3675135ba783c91a4083dcd290a2a5be9fcb6514220a1634e23df116847b1cc51f66bfb0644cf9353b2abb7815ae499bab06e46dd33c1a6bf1f4f + languageName: node + linkType: hard + +"vee-validate@npm:4.7.0": + version: 4.7.0 + resolution: "vee-validate@npm:4.7.0" + dependencies: + "@vue/devtools-api": "npm:^6.1.4" + peerDependencies: + vue: ^3.0.0 + checksum: 10c0/1b85fb658be45a623d62705a31fa5934edc16c90d60ab87ffcee80354b24c31885ef76bb5ba1cbcf9c57d98116434cb30a0198ddededdcbc2e0e00abedcd55f5 + languageName: node + linkType: hard + +"vite-dev-rpc@npm:^1.0.7": + version: 1.0.7 + resolution: "vite-dev-rpc@npm:1.0.7" + dependencies: + birpc: "npm:^2.0.19" + vite-hot-client: "npm:^2.0.4" + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.1 + checksum: 10c0/e20675c17316d3a20f3b190da50e2d52cc5c15fc5b67fead41c3f914ecb6c266fab16a198e11e53ca043321425230ea4b4db1aacb6e4616fce7ff974e0b16477 + languageName: node + linkType: hard + +"vite-hot-client@npm:^2.0.4": + version: 2.0.4 + resolution: "vite-hot-client@npm:2.0.4" + peerDependencies: + vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 + checksum: 10c0/67e7a31df0be1a6122d767b31f13164790ba884730bebeb5a07537f318f6d223e14a54e8f3d7780dcd0ccceeb350ae25540522e7f39ba7a644fc55a5fa7cad1e + languageName: node + linkType: hard + +"vite-node@npm:^3.1.3": + version: 3.1.3 + resolution: "vite-node@npm:3.1.3" + dependencies: + cac: "npm:^6.7.14" + debug: "npm:^4.4.0" + es-module-lexer: "npm:^1.7.0" + pathe: "npm:^2.0.3" + vite: "npm:^5.0.0 || ^6.0.0" + bin: + vite-node: vite-node.mjs + checksum: 10c0/d69a1e52361bc0af22d1178db61674ef768cfd3c5610733794bb1e7a36af113da287dd89662a1ad57fd4f6c3360ca99678f5428ba837f239df4091d7891f2e4c + languageName: node + linkType: hard + +"vite-plugin-checker@npm:^0.9.3": + version: 0.9.3 + resolution: "vite-plugin-checker@npm:0.9.3" + dependencies: + "@babel/code-frame": "npm:^7.27.1" + chokidar: "npm:^4.0.3" + npm-run-path: "npm:^6.0.0" + picocolors: "npm:^1.1.1" + picomatch: "npm:^4.0.2" + strip-ansi: "npm:^7.1.0" + tiny-invariant: "npm:^1.3.3" + tinyglobby: "npm:^0.2.13" + vscode-uri: "npm:^3.1.0" + peerDependencies: + "@biomejs/biome": ">=1.7" + eslint: ">=7" + meow: ^13.2.0 + optionator: ^0.9.4 + stylelint: ">=16" + typescript: "*" + vite: ">=2.0.0" + vls: "*" + vti: "*" + vue-tsc: ~2.2.10 + peerDependenciesMeta: + "@biomejs/biome": + optional: true + eslint: + optional: true + meow: + optional: true + optionator: + optional: true + stylelint: + optional: true + typescript: + optional: true + vls: + optional: true + vti: + optional: true + vue-tsc: + optional: true + checksum: 10c0/e466b121c6a4d839d34d75127235c662a1567080b7d1d6acf2d3aef8405662151a348b89f2b064b6065fb7f863bf9f4aa6de839248af6c36dbc6239f9a8e765c + languageName: node + linkType: hard + +"vite-plugin-inspect@npm:^11.0.0": + version: 11.0.1 + resolution: "vite-plugin-inspect@npm:11.0.1" + dependencies: + ansis: "npm:^3.17.0" + debug: "npm:^4.4.0" + error-stack-parser-es: "npm:^1.0.5" + ohash: "npm:^2.0.11" + open: "npm:^10.1.0" + perfect-debounce: "npm:^1.0.0" + sirv: "npm:^3.0.1" + unplugin-utils: "npm:^0.2.4" + vite-dev-rpc: "npm:^1.0.7" + peerDependencies: + vite: ^6.0.0 + peerDependenciesMeta: + "@nuxt/kit": + optional: true + checksum: 10c0/b7a5d3f882864113520f17e3dfa857b751f53e54371a67cd99a860e24a98cd40beea4389a667de33c6d71cb8411a9da1d5c183689c95e5b42b2c0aea28ffd138 + languageName: node + linkType: hard + +"vite-plugin-vue-tracer@npm:^0.1.3": + version: 0.1.3 + resolution: "vite-plugin-vue-tracer@npm:0.1.3" + dependencies: + estree-walker: "npm:^3.0.3" + exsolve: "npm:^1.0.4" + magic-string: "npm:^0.30.17" + pathe: "npm:^2.0.3" + source-map-js: "npm:^1.2.1" + peerDependencies: + vite: ^6.0.0 + vue: ^3.5.0 + checksum: 10c0/f8ac10e776b7af0c3ddf90763dc959828ee4cde6a2e511998bce3447141c8c836dc651a74e3e111336f24240ed1b74fbfc6b9289d23d5487a16c5da0014aab0a + languageName: node + linkType: hard + +"vite@npm:^5.0.0 || ^6.0.0, vite@npm:^6.3.5": + version: 6.3.5 + resolution: "vite@npm:6.3.5" + dependencies: + esbuild: "npm:^0.25.0" + fdir: "npm:^6.4.4" + fsevents: "npm:~2.3.3" + picomatch: "npm:^4.0.2" + postcss: "npm:^8.5.3" + rollup: "npm:^4.34.9" + tinyglobby: "npm:^0.2.13" + peerDependencies: + "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: ">=1.21.0" + less: "*" + lightningcss: ^1.21.0 + sass: "*" + sass-embedded: "*" + stylus: "*" + sugarss: "*" + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + bin: + vite: bin/vite.js + checksum: 10c0/df70201659085133abffc6b88dcdb8a57ef35f742a01311fc56a4cfcda6a404202860729cc65a2c401a724f6e25f9ab40ce4339ed4946f550541531ced6fe41c + languageName: node + linkType: hard + +"vscode-uri@npm:^3.0.8, vscode-uri@npm:^3.1.0": + version: 3.1.0 + resolution: "vscode-uri@npm:3.1.0" + checksum: 10c0/5f6c9c10fd9b1664d71fab4e9fbbae6be93c7f75bb3a1d9d74399a88ab8649e99691223fd7cef4644376cac6e94fa2c086d802521b9a8e31c5af3e60f0f35624 + languageName: node + linkType: hard + +"vue-advanced-cropper@npm:^2.8.8": + version: 2.8.9 + resolution: "vue-advanced-cropper@npm:2.8.9" + dependencies: + classnames: "npm:^2.2.6" + debounce: "npm:^1.2.0" + easy-bem: "npm:^1.0.2" + peerDependencies: + vue: ^3.0.0 + checksum: 10c0/c5b5d769ad6c8d1d14de7a425d0774bf63d971c3f9c576c8b2d8f85d1796208ccff605cdc58fbfeff88d1c4b2fe2bf29066eff191982f3b11d9f1453df3d2ec0 + languageName: node + linkType: hard + +"vue-bundle-renderer@npm:^2.1.1": + version: 2.1.1 + resolution: "vue-bundle-renderer@npm:2.1.1" + dependencies: + ufo: "npm:^1.5.4" + checksum: 10c0/c5c241a2395ee34d8105fb6010027165f54f79f7cffebb73cb9da35b9ec006d910457b3e32026688f7f6a718e660040abffc43cd559d1e31cfea22b32fa0ba7f + languageName: node + linkType: hard + +"vue-demi@npm:*, vue-demi@npm:^0.14.10, vue-demi@npm:^0.14.6": + version: 0.14.10 + resolution: "vue-demi@npm:0.14.10" + peerDependencies: + "@vue/composition-api": ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + "@vue/composition-api": + optional: true + bin: + vue-demi-fix: bin/vue-demi-fix.js + vue-demi-switch: bin/vue-demi-switch.js + checksum: 10c0/a9ed8712fa36d01bc13c39757f95f30cebf42d557b99e94bff86d8660c81f2911b41220f7affc023d1ffcc19e13999e4a83019991e264787cca2c616e83aea48 + languageName: node + linkType: hard + +"vue-devtools-stub@npm:^0.1.0": + version: 0.1.0 + resolution: "vue-devtools-stub@npm:0.1.0" + checksum: 10c0/527af4b887eb82b000e5f56d555618d0ef5494a10d0f701899e4e8b98773a6e4af33d282c47283fb2e8f7f640d05bced7c94b31968abf4a949bc3d92075c7ce0 + languageName: node + linkType: hard + +"vue-eslint-parser@npm:^9.0.1, vue-eslint-parser@npm:^9.4.2, vue-eslint-parser@npm:^9.4.3": + version: 9.4.3 + resolution: "vue-eslint-parser@npm:9.4.3" + dependencies: + debug: "npm:^4.3.4" + eslint-scope: "npm:^7.1.1" + eslint-visitor-keys: "npm:^3.3.0" + espree: "npm:^9.3.1" + esquery: "npm:^1.4.0" + lodash: "npm:^4.17.21" + semver: "npm:^7.3.6" + peerDependencies: + eslint: ">=6.0.0" + checksum: 10c0/128be5988de025b5abd676a91c3e92af68288a5da1c20b2ff848fe90e040c04b2222a03b5d8048cf4a5e0b667a8addfb6f6e6565860d4afb5190c4cc42d05578 + languageName: node + linkType: hard + +"vue-router@npm:^4.5.1": + version: 4.5.1 + resolution: "vue-router@npm:4.5.1" + dependencies: + "@vue/devtools-api": "npm:^6.6.4" + peerDependencies: + vue: ^3.2.0 + checksum: 10c0/89fbc11e46c19a4c4d62b807596a0210726dc09bd9e6a319ded1ac0951e6933e581c56acd1b846d3891673b9bad7348564d28ecd8424126d63578b3b5d291d96 + languageName: node + linkType: hard + +"vue-tippy@npm:^6.0.0, vue-tippy@npm:^6.2.0": + version: 6.7.0 + resolution: "vue-tippy@npm:6.7.0" + dependencies: + tippy.js: "npm:^6.3.7" + peerDependencies: + vue: ^3.2.0 + checksum: 10c0/88575f14ea16ab924d853ebfe5e5b85f072e377548bb34ca3eebeb54ddf0b34cfd7d268a5241f1bc9c8a424b5bc6881b5b9c681cebcd586aa71f6af505377a23 + languageName: node + linkType: hard + +"vue-tsc@npm:^2.2.2": + version: 2.2.10 + resolution: "vue-tsc@npm:2.2.10" + dependencies: + "@volar/typescript": "npm:~2.4.11" + "@vue/language-core": "npm:2.2.10" + peerDependencies: + typescript: ">=5.0.0" + bin: + vue-tsc: ./bin/vue-tsc.js + checksum: 10c0/bb1476f1ff0e8d6ee4291abc79fb5854b4c558846f72686e953f63431fb1f0c7e5708e1563e06bc7c58e90b326496cf48f4551af3a946a053b072c8276d8047e + languageName: node + linkType: hard + +"vue@npm:^3.5.13": + version: 3.5.13 + resolution: "vue@npm:3.5.13" + dependencies: + "@vue/compiler-dom": "npm:3.5.13" + "@vue/compiler-sfc": "npm:3.5.13" + "@vue/runtime-dom": "npm:3.5.13" + "@vue/server-renderer": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + peerDependencies: + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/4bbb5caf3f04fed933b01c100804f3693ff902984a3152ea1359a972264fa3240f6551d32f0163a79c64df3715b4d6691818c9f652cdd41b2473c69e2b0a373d + languageName: node + linkType: hard + +"wcwidth@npm:^1.0.1": + version: 1.0.1 + resolution: "wcwidth@npm:1.0.1" + dependencies: + defaults: "npm:^1.0.3" + checksum: 10c0/5b61ca583a95e2dd85d7078400190efd452e05751a64accb8c06ce4db65d7e0b0cde9917d705e826a2e05cc2548f61efde115ffa374c3e436d04be45c889e5b4 + languageName: node + linkType: hard + +"web-streams-polyfill@npm:^3.0.3": + version: 3.3.3 + resolution: "web-streams-polyfill@npm:3.3.3" + checksum: 10c0/64e855c47f6c8330b5436147db1c75cb7e7474d924166800e8e2aab5eb6c76aac4981a84261dd2982b3e754490900b99791c80ae1407a9fa0dcff74f82ea3a7f + languageName: node + linkType: hard + +"webidl-conversions@npm:^3.0.0": + version: 3.0.1 + resolution: "webidl-conversions@npm:3.0.1" + checksum: 10c0/5612d5f3e54760a797052eb4927f0ddc01383550f542ccd33d5238cfd65aeed392a45ad38364970d0a0f4fea32e1f4d231b3d8dac4a3bdd385e5cf802ae097db + languageName: node + linkType: hard + +"webpack-virtual-modules@npm:^0.6.2": + version: 0.6.2 + resolution: "webpack-virtual-modules@npm:0.6.2" + checksum: 10c0/5ffbddf0e84bf1562ff86cf6fcf039c74edf09d78358a6904a09bbd4484e8bb6812dc385fe14330b715031892dcd8423f7a88278b57c9f5002c84c2860179add + languageName: node + linkType: hard + +"whatwg-mimetype@npm:^4.0.0": + version: 4.0.0 + resolution: "whatwg-mimetype@npm:4.0.0" + checksum: 10c0/a773cdc8126b514d790bdae7052e8bf242970cebd84af62fb2f35a33411e78e981f6c0ab9ed1fe6ec5071b09d5340ac9178e05b52d35a9c4bcf558ba1b1551df + languageName: node + linkType: hard + +"whatwg-url@npm:^5.0.0": + version: 5.0.0 + resolution: "whatwg-url@npm:5.0.0" + dependencies: + tr46: "npm:~0.0.3" + webidl-conversions: "npm:^3.0.0" + checksum: 10c0/1588bed84d10b72d5eec1d0faa0722ba1962f1821e7539c535558fb5398d223b0c50d8acab950b8c488b4ba69043fd833cc2697056b167d8ad46fac3995a55d5 + languageName: node + linkType: hard + +"which@npm:^1.3.1": + version: 1.3.1 + resolution: "which@npm:1.3.1" + dependencies: + isexe: "npm:^2.0.0" + bin: + which: ./bin/which + checksum: 10c0/e945a8b6bbf6821aaaef7f6e0c309d4b615ef35699576d5489b4261da9539f70393c6b2ce700ee4321c18f914ebe5644bc4631b15466ffbaad37d83151f6af59 + languageName: node + linkType: hard + +"which@npm:^2.0.1": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard + +"which@npm:^5.0.0": + version: 5.0.0 + resolution: "which@npm:5.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 10c0/e556e4cd8b7dbf5df52408c9a9dd5ac6518c8c5267c8953f5b0564073c66ed5bf9503b14d876d0e9c7844d4db9725fb0dcf45d6e911e17e26ab363dc3965ae7b + languageName: node + linkType: hard + +"wide-align@npm:^1.1.2": + version: 1.1.5 + resolution: "wide-align@npm:1.1.5" + dependencies: + string-width: "npm:^1.0.2 || 2 || 3 || 4" + checksum: 10c0/1d9c2a3e36dfb09832f38e2e699c367ef190f96b82c71f809bc0822c306f5379df87bab47bed27ea99106d86447e50eb972d3c516c2f95782807a9d082fbea95 + languageName: node + linkType: hard + +"winston-transport@npm:^4.9.0": + version: 4.9.0 + resolution: "winston-transport@npm:4.9.0" + dependencies: + logform: "npm:^2.7.0" + readable-stream: "npm:^3.6.2" + triple-beam: "npm:^1.3.0" + checksum: 10c0/e2990a172e754dbf27e7823772214a22dc8312f7ec9cfba831e5ef30a5d5528792e5ea8f083c7387ccfc5b2af20e3691f64738546c8869086110a26f98671095 + languageName: node + linkType: hard + +"winston@npm:^3.10.0": + version: 3.17.0 + resolution: "winston@npm:3.17.0" + dependencies: + "@colors/colors": "npm:^1.6.0" + "@dabh/diagnostics": "npm:^2.0.2" + async: "npm:^3.2.3" + is-stream: "npm:^2.0.0" + logform: "npm:^2.7.0" + one-time: "npm:^1.0.0" + readable-stream: "npm:^3.4.0" + safe-stable-stringify: "npm:^2.3.1" + stack-trace: "npm:0.0.x" + triple-beam: "npm:^1.3.0" + winston-transport: "npm:^4.9.0" + checksum: 10c0/ec8eaeac9a72b2598aedbff50b7dac82ce374a400ed92e7e705d7274426b48edcb25507d78cff318187c4fb27d642a0e2a39c57b6badc9af8e09d4a40636a5f7 + languageName: node + linkType: hard + +"word-wrap@npm:^1.2.5": + version: 1.2.5 + resolution: "word-wrap@npm:1.2.5" + checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20 + languageName: node + linkType: hard + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da + languageName: node + linkType: hard + +"wrap-ansi@npm:^6.0.1, wrap-ansi@npm:^6.2.0": + version: 6.2.0 + resolution: "wrap-ansi@npm:6.2.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/baad244e6e33335ea24e86e51868fe6823626e3a3c88d9a6674642afff1d34d9a154c917e74af8d845fd25d170c4ea9cf69a47133c3f3656e1252b3d462d9f6c + languageName: node + linkType: hard + +"wrap-ansi@npm:^8.1.0": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: "npm:^6.1.0" + string-width: "npm:^5.0.1" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 + languageName: node + linkType: hard + +"write-file-atomic@npm:^5.0.1": + version: 5.0.1 + resolution: "write-file-atomic@npm:5.0.1" + dependencies: + imurmurhash: "npm:^0.1.4" + signal-exit: "npm:^4.0.1" + checksum: 10c0/e8c850a8e3e74eeadadb8ad23c9d9d63e4e792bd10f4836ed74189ef6e996763959f1249c5650e232f3c77c11169d239cbfc8342fc70f3fe401407d23810505d + languageName: node + linkType: hard + +"write-file-atomic@npm:^6.0.0": + version: 6.0.0 + resolution: "write-file-atomic@npm:6.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + signal-exit: "npm:^4.0.1" + checksum: 10c0/ae2f1c27474758a9aca92037df6c1dd9cb94c4e4983451210bd686bfe341f142662f6aa5913095e572ab037df66b1bfe661ed4ce4c0369ed0e8219e28e141786 + languageName: node + linkType: hard + +"ws@npm:^5.2.0 || ^6.0.0 || ^7.0.0": + version: 7.5.10 + resolution: "ws@npm:7.5.10" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/bd7d5f4aaf04fae7960c23dcb6c6375d525e00f795dd20b9385902bd008c40a94d3db3ce97d878acc7573df852056ca546328b27b39f47609f80fb22a0a9b61d + languageName: node + linkType: hard + +"ws@npm:^8.17.1, ws@npm:^8.18.1": + version: 8.18.2 + resolution: "ws@npm:8.18.2" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/4b50f67931b8c6943c893f59c524f0e4905bbd183016cfb0f2b8653aa7f28dad4e456b9d99d285bbb67cca4fedd9ce90dfdfaa82b898a11414ebd66ee99141e4 + languageName: node + linkType: hard + +"ws@npm:~8.17.1": + version: 8.17.1 + resolution: "ws@npm:8.17.1" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/f4a49064afae4500be772abdc2211c8518f39e1c959640457dcee15d4488628620625c783902a52af2dd02f68558da2868fd06e6fd0e67ebcd09e6881b1b5bfe + languageName: node + linkType: hard + +"xml-name-validator@npm:^4.0.0": + version: 4.0.0 + resolution: "xml-name-validator@npm:4.0.0" + checksum: 10c0/c1bfa219d64e56fee265b2bd31b2fcecefc063ee802da1e73bad1f21d7afd89b943c9e2c97af2942f60b1ad46f915a4c81e00039c7d398b53cf410e29d3c30bd + languageName: node + linkType: hard + +"xmlhttprequest-ssl@npm:~2.1.1": + version: 2.1.2 + resolution: "xmlhttprequest-ssl@npm:2.1.2" + checksum: 10c0/70d60869323e823f473a238f78fd108437edbc3690ecd5859c39c83217080090a18899b272e515769c0d1f518cc64cbed6b6995b23fdd7ba13b297d530b6e631 + languageName: node + linkType: hard + +"y18n@npm:^5.0.5": + version: 5.0.8 + resolution: "y18n@npm:5.0.8" + checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249 + languageName: node + linkType: hard + +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 10c0/c66a5c46bc89af1625476f7f0f2ec3653c1a1791d2f9407cfb4c2ba812a1e1c9941416d71ba9719876530e3340a99925f697142989371b72d93b9ee628afd8c1 + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a + languageName: node + linkType: hard + +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 + languageName: node + linkType: hard + +"yaml-ast-parser@npm:^0.0.43": + version: 0.0.43 + resolution: "yaml-ast-parser@npm:0.0.43" + checksum: 10c0/4d2f1e761067b2c6abdd882279a406f879258787af470a6d4a659cb79cb2ab056b870b25f1f80f46ed556e8b499d611d247806376f53edf3412f72c0a8ea2e98 + languageName: node + linkType: hard + +"yaml@npm:^2.3.1, yaml@npm:^2.3.4, yaml@npm:^2.7.0": + version: 2.7.1 + resolution: "yaml@npm:2.7.1" + bin: + yaml: bin.mjs + checksum: 10c0/ee2126398ab7d1fdde566b4013b68e36930b9e6d8e68b6db356875c99614c10d678b6f45597a145ff6d63814961221fc305bf9242af8bf7450177f8a68537590 + languageName: node + linkType: hard + +"yargs-parser@npm:^20.2.9": + version: 20.2.9 + resolution: "yargs-parser@npm:20.2.9" + checksum: 10c0/0685a8e58bbfb57fab6aefe03c6da904a59769bd803a722bb098bd5b0f29d274a1357762c7258fb487512811b8063fb5d2824a3415a0a4540598335b3b086c72 + languageName: node + linkType: hard + +"yargs-parser@npm:^21.1.1": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 + languageName: node + linkType: hard + +"yargs@npm:^17.0.0, yargs@npm:^17.2.1, yargs@npm:^17.3.1, yargs@npm:^17.5.1": + version: 17.7.2 + resolution: "yargs@npm:17.7.2" + dependencies: + cliui: "npm:^8.0.1" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.3" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^21.1.1" + checksum: 10c0/ccd7e723e61ad5965fffbb791366db689572b80cca80e0f96aad968dfff4156cd7cd1ad18607afe1046d8241e6fb2d6c08bf7fa7bfb5eaec818735d8feac8f05 + languageName: node + linkType: hard + +"yauzl@npm:^2.10.0": + version: 2.10.0 + resolution: "yauzl@npm:2.10.0" + dependencies: + buffer-crc32: "npm:~0.2.3" + fd-slicer: "npm:~1.1.0" + checksum: 10c0/f265002af7541b9ec3589a27f5fb8f11cf348b53cc15e2751272e3c062cd73f3e715bc72d43257de71bbaecae446c3f1b14af7559e8ab0261625375541816422 + languageName: node + linkType: hard + +"ylru@npm:^1.2.0": + version: 1.4.0 + resolution: "ylru@npm:1.4.0" + checksum: 10c0/eaadc38ed6d78d4fda49abed45cfdaf149bd334df761dbeadd3cff62936d25ffa94571f84c25b64a9a4b5efd8f489ee6fee3eaaf8e7b2886418a3bcb9ec84b84 + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f + languageName: node + linkType: hard + +"yocto-queue@npm:^1.0.0": + version: 1.2.1 + resolution: "yocto-queue@npm:1.2.1" + checksum: 10c0/5762caa3d0b421f4bdb7a1926b2ae2189fc6e4a14469258f183600028eb16db3e9e0306f46e8ebf5a52ff4b81a881f22637afefbef5399d6ad440824e9b27f9f + languageName: node + linkType: hard + +"youch-core@npm:^0.3.1, youch-core@npm:^0.3.2": + version: 0.3.2 + resolution: "youch-core@npm:0.3.2" + dependencies: + "@poppinss/exception": "npm:^1.2.0" + error-stack-parser-es: "npm:^1.0.5" + checksum: 10c0/2bc8dc379a1d97c3ad1f6f494ca6e98ae91becf566f0a6ff855c625b5ffce533f2af77890920b97bf087391e2fb60ce4e2eb804e6de78ac9374d283a5cc90027 + languageName: node + linkType: hard + +"youch@npm:^4.1.0-beta.7": + version: 4.1.0-beta.7 + resolution: "youch@npm:4.1.0-beta.7" + dependencies: + "@poppinss/dumper": "npm:^0.6.3" + "@speed-highlight/core": "npm:^1.2.7" + cookie: "npm:^1.0.2" + youch-core: "npm:^0.3.1" + checksum: 10c0/d77e998f2a7e72ee48f8612d77ccdb211ec6d789a75fc8eafb2b95172bea30e67a3669f66fdce81fb6e4fdd5ffe982a79f548e0ac550f5c5765dfc9fa4eba2ee + languageName: node + linkType: hard + +"zen-observable-ts@npm:^1.2.5": + version: 1.2.5 + resolution: "zen-observable-ts@npm:1.2.5" + dependencies: + zen-observable: "npm:0.8.15" + checksum: 10c0/21d586f3d0543e1d6f05d9333a137b407dbf337907c1ee1c2fa7a7da044f7e1262e4baf4ef8902f230c6f5acb561047659eb7df73df33307233cc451efe46db1 + languageName: node + linkType: hard + +"zen-observable@npm:0.8.15": + version: 0.8.15 + resolution: "zen-observable@npm:0.8.15" + checksum: 10c0/71cc2f2bbb537300c3f569e25693d37b3bc91f225cefce251a71c30bc6bb3e7f8e9420ca0eb57f2ac9e492b085b8dfa075fd1e8195c40b83c951dd59c6e4fbf8 + languageName: node + linkType: hard + +"zip-stream@npm:^4.1.0": + version: 4.1.1 + resolution: "zip-stream@npm:4.1.1" + dependencies: + archiver-utils: "npm:^3.0.4" + compress-commons: "npm:^4.1.2" + readable-stream: "npm:^3.6.0" + checksum: 10c0/38f91ca116a38561cf184c29e035e9453b12c30eaf574e0993107a4a5331882b58c9a7f7b97f63910664028089fbde3296d0b3682d1ccb2ad96929e68f1b2b89 + languageName: node + linkType: hard + +"zip-stream@npm:^6.0.1": + version: 6.0.1 + resolution: "zip-stream@npm:6.0.1" + dependencies: + archiver-utils: "npm:^5.0.0" + compress-commons: "npm:^6.0.2" + readable-stream: "npm:^4.0.0" + checksum: 10c0/50f2fb30327fb9d09879abf7ae2493705313adf403e794b030151aaae00009162419d60d0519e807673ec04d442e140c8879ca14314df0a0192de3b233e8f28b + languageName: node + linkType: hard + +"zod-to-json-schema@npm:^3.24.1": + version: 3.24.5 + resolution: "zod-to-json-schema@npm:3.24.5" + peerDependencies: + zod: ^3.24.1 + checksum: 10c0/0745b94ba53e652d39f262641cdeb2f75d24339fb6076a38ce55bcf53d82dfaea63adf524ebc5f658681005401687f8e9551c4feca7c4c882e123e66091dfb90 + languageName: node + linkType: hard + +"zod@npm:^3.23.8, zod@npm:^3.24.2": + version: 3.24.4 + resolution: "zod@npm:3.24.4" + checksum: 10c0/ab3112f017562180a41a0f83d870b333677f7d6b77f106696c56894567051b91154714a088149d8387a4f50806a2520efcb666f108cd384a35c236a191186d91 + languageName: node + linkType: hard